Skip to content

Commit abfd256

Browse files
vladlenonopkovonopko
andauthored
Add Agents & Assistants models (#371)
* add assistant methods * add SlackAssistantThreadStartedEvent * add SlackAssistantThreadContextChangedEvent model * cleanup * update tier * make field optional * update names * adjust channel fields --------- Co-authored-by: vonopko <vonopko@hubspot.com>
1 parent 1c735f0 commit abfd256

12 files changed

Lines changed: 241 additions & 0 deletions

File tree

slack-base/src/main/java/com/hubspot/slack/client/methods/SlackMethods.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,22 @@ public enum SlackMethods implements SlackMethod {
1717
JsonStatus.FORM_ENCODING_ONLY
1818
),
1919

20+
assistant_threads_setStatus(
21+
MethodWriteMode.WRITE,
22+
RateLimitingTiers.TIER_2,
23+
JsonStatus.ACCEPTS_JSON
24+
),
25+
assistant_threads_setSuggestedPrompts(
26+
MethodWriteMode.WRITE,
27+
RateLimitingTiers.TIER_4,
28+
JsonStatus.ACCEPTS_JSON
29+
),
30+
assistant_threads_setTitle(
31+
MethodWriteMode.WRITE,
32+
RateLimitingTiers.TIER_4,
33+
JsonStatus.ACCEPTS_JSON
34+
),
35+
2036
auth_revoke(
2137
MethodWriteMode.WRITE,
2238
RateLimitingTiers.TIER_3,
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.hubspot.slack.client.methods.params.assistant;
2+
3+
import com.hubspot.immutables.style.HubSpotStyle;
4+
import org.immutables.value.Value;
5+
6+
@Value.Immutable
7+
@HubSpotStyle
8+
public interface PromptIF {
9+
String getTitle();
10+
11+
String getMessage();
12+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.hubspot.slack.client.methods.params.assistant;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
5+
import com.hubspot.immutables.style.HubSpotStyle;
6+
import com.hubspot.slack.client.methods.interceptor.HasChannel;
7+
import java.util.List;
8+
import java.util.Optional;
9+
import org.immutables.value.Value;
10+
11+
@Value.Immutable
12+
@HubSpotStyle
13+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
14+
public interface SetSuggestedPromptsParamsIF extends HasChannel {
15+
@Value.Derived
16+
default String getChannel() {
17+
return getChannelId();
18+
}
19+
20+
String getThreadTs();
21+
22+
Optional<String> getTitle();
23+
24+
List<Prompt> getPrompts();
25+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.hubspot.slack.client.methods.params.assistant;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
5+
import com.hubspot.immutables.style.HubSpotStyle;
6+
import com.hubspot.slack.client.methods.interceptor.HasChannel;
7+
import org.immutables.value.Value;
8+
9+
@Value.Immutable
10+
@HubSpotStyle
11+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
12+
public interface SetThreadStatusParamsIF extends HasChannel {
13+
@Value.Derived
14+
default String getChannel() {
15+
return getChannelId();
16+
}
17+
18+
String getStatus();
19+
20+
String getThreadTs();
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.hubspot.slack.client.methods.params.assistant;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
5+
import com.hubspot.immutables.style.HubSpotStyle;
6+
import com.hubspot.slack.client.methods.interceptor.HasChannel;
7+
import org.immutables.value.Value;
8+
9+
@Value.Immutable
10+
@HubSpotStyle
11+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
12+
public interface SetTitleParamsIF extends HasChannel {
13+
@Value.Derived
14+
default String getChannel() {
15+
return getChannelId();
16+
}
17+
18+
String getThreadTs();
19+
20+
String getTitle();
21+
}

slack-base/src/main/java/com/hubspot/slack/client/models/events/SlackEventType.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import com.hubspot.slack.client.enums.EnumIndex;
66
import com.hubspot.slack.client.models.events.app.SlackAppUninstalledEvent;
77
import com.hubspot.slack.client.models.events.app.SlackTokensRevokedEvent;
8+
import com.hubspot.slack.client.models.events.assistant.SlackAssistantThreadContextChangedEvent;
9+
import com.hubspot.slack.client.models.events.assistant.SlackAssistantThreadStartedEvent;
810
import com.hubspot.slack.client.models.events.bot.SlackAppHomeOpenedEvent;
911
import com.hubspot.slack.client.models.events.channel.SlackChannelArchiveEvent;
1012
import com.hubspot.slack.client.models.events.channel.SlackChannelCreatedEvent;
@@ -26,6 +28,8 @@ public enum SlackEventType {
2628
APP_HOME_OPENED(SlackAppHomeOpenedEvent.class),
2729
APP_MENTION(SlackEventMessage.class),
2830
APP_UNINSTALLED(SlackAppUninstalledEvent.class),
31+
ASSISTANT_THREAD_STARTED(SlackAssistantThreadStartedEvent.class),
32+
ASSISTANT_THREAD_CONTEXT_CHANGED(SlackAssistantThreadContextChangedEvent.class),
2933
CHANNEL_ARCHIVE(SlackChannelArchiveEvent.class),
3034
CHANNEL_CREATED(SlackChannelCreatedEvent.class),
3135
CHANNEL_DELETED(SlackChannelDeletedEvent.class),
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.hubspot.slack.client.models.events.assistant;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
6+
import com.hubspot.immutables.style.HubSpotStyle;
7+
import com.hubspot.slack.client.models.events.SlackEvent;
8+
import com.hubspot.slack.client.models.response.assistant.AssistantThread;
9+
import org.immutables.value.Value;
10+
11+
@Value.Immutable
12+
@HubSpotStyle
13+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
14+
@JsonDeserialize(as = SlackAssistantThreadContextChangedEvent.class)
15+
public interface SlackAssistantThreadContextChangedEventIF extends SlackEvent {
16+
AssistantThread getAssistantThread();
17+
18+
String getEventTs();
19+
20+
@Override
21+
default String getTs() {
22+
return null;
23+
}
24+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.hubspot.slack.client.models.events.assistant;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
6+
import com.hubspot.immutables.style.HubSpotStyle;
7+
import com.hubspot.slack.client.models.events.SlackEvent;
8+
import com.hubspot.slack.client.models.response.assistant.AssistantThread;
9+
import org.immutables.value.Value;
10+
11+
@Value.Immutable
12+
@HubSpotStyle
13+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
14+
@JsonDeserialize(as = SlackAssistantThreadStartedEvent.class)
15+
public interface SlackAssistantThreadStartedEventIF extends SlackEvent {
16+
AssistantThread getAssistantThread();
17+
18+
String getEventTs();
19+
20+
@Override
21+
default String getTs() {
22+
return null;
23+
}
24+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.hubspot.slack.client.models.response.assistant;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
6+
import com.hubspot.immutables.style.HubSpotStyle;
7+
import java.util.Optional;
8+
import org.immutables.value.Value;
9+
10+
@Value.Immutable
11+
@HubSpotStyle
12+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
13+
public interface AssistantThreadContextIF {
14+
Optional<String> getChannelId();
15+
16+
Optional<String> getTeamId();
17+
18+
Optional<String> getEnterpriseId();
19+
20+
Optional<String> getThreadEntryPoint();
21+
22+
@JsonProperty("force_search")
23+
Optional<Boolean> isForceSearch();
24+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.hubspot.slack.client.models.response.assistant;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
5+
import com.hubspot.immutables.style.HubSpotStyle;
6+
import org.immutables.value.Value;
7+
8+
@Value.Immutable
9+
@HubSpotStyle
10+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
11+
public interface AssistantThreadIF {
12+
String getUserId();
13+
14+
AssistantThreadContext getContext();
15+
16+
String getChannelId();
17+
18+
String getThreadTs();
19+
}

0 commit comments

Comments
 (0)