@proteos/sdk 0.38.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -54,6 +54,8 @@ interface Agent extends AuditFields {
54
54
  tools: string[];
55
55
  subagents: string[];
56
56
  mcp_servers: string[];
57
+ /** Toolset keys (platform or custom) attached as whole tool groups. */
58
+ toolsets: string[];
57
59
  /** Marks the single agent surfaced by default for the org (at most one). */
58
60
  is_org_default: boolean;
59
61
  version: number;
@@ -69,6 +71,7 @@ interface CreateAgentRequest {
69
71
  tools?: string[];
70
72
  subagents?: string[];
71
73
  mcp_servers?: string[];
74
+ toolsets?: string[];
72
75
  is_org_default?: boolean;
73
76
  }
74
77
  interface UpdateAgentRequest {
@@ -81,6 +84,7 @@ interface UpdateAgentRequest {
81
84
  tools?: string[];
82
85
  subagents?: string[];
83
86
  mcp_servers?: string[];
87
+ toolsets?: string[];
84
88
  is_org_default?: boolean;
85
89
  }
86
90
  type ListAgentsOptions = AgentResourceListOptions;
@@ -176,8 +180,12 @@ type ListSkillsOptions = AgentResourceListOptions;
176
180
  * - `action` binds to a function-service Action.
177
181
  * - `mcp` binds to one tool on a registered {@link McpServer}.
178
182
  * - `client` is a host-provided builtin and carries no binding.
183
+ * - `platform` binds to one tool of the platform MCP server (mcp-service),
184
+ * executed server-side as the acting user.
185
+ * - `query` stores a SQL query with declared params, executed server-side
186
+ * against data-service as the acting user.
179
187
  */
180
- type ToolKind = 'action' | 'mcp' | 'client';
188
+ type ToolKind = 'action' | 'mcp' | 'client' | 'platform' | 'query';
181
189
  /** Binds to a function-service Action by its key (kind=action). */
182
190
  interface ActionBinding {
183
191
  action_key: string;
@@ -187,8 +195,26 @@ interface McpBinding {
187
195
  server_key: string;
188
196
  tool_name: string;
189
197
  }
198
+ /**
199
+ * Binds to one tool of the platform MCP server (kind=platform). `toolset` pins
200
+ * the server mount the tool lives in.
201
+ */
202
+ interface PlatformBinding {
203
+ toolset: string;
204
+ tool_name: string;
205
+ }
206
+ /**
207
+ * Stores a SELECT-only SQL query (data-service dialect) whose `{{param}}`
208
+ * placeholders are filled from the declared `params` at execution time
209
+ * (kind=query). Params are scalar attribute definitions (string, number,
210
+ * integer, boolean, datetime, enum); they generate the tool's input schema.
211
+ */
212
+ interface QueryBinding {
213
+ sql: string;
214
+ params?: Attribute[];
215
+ }
190
216
  /** Kind-discriminated binding payload. `kind=client` carries no binding. */
191
- type ToolBinding = ActionBinding | McpBinding;
217
+ type ToolBinding = ActionBinding | McpBinding | PlatformBinding | QueryBinding;
192
218
  /**
193
219
  * A thin registry entry over one of three binding sources. `key` is the wire
194
220
  * name the model calls (`tool_use.name`) and what `Agent.tools` lists.
@@ -229,6 +255,55 @@ interface ListToolsOptions extends AgentResourceListOptions {
229
255
  /** Filter by binding source. */
230
256
  kind?: ToolKind;
231
257
  }
258
+ /**
259
+ * Toolset origin: `platform` toolsets are the hardcoded groups of the platform
260
+ * MCP server (read-only, one per server mount); `custom` toolsets are
261
+ * org-authored groups of the org's own {@link Tool} rows.
262
+ */
263
+ type ToolsetKind = 'platform' | 'custom';
264
+ /**
265
+ * A named group of tools an agent attaches as one unit (`Agent.toolsets`).
266
+ * Platform and custom toolsets share one key namespace (platform keys are
267
+ * reserved). For platform toolsets `tools` is empty — the members live in
268
+ * mcp-service and are listed via `toolsets.listTools`; for custom toolsets it
269
+ * carries the member Tool keys. Keyed by (org_id, key).
270
+ */
271
+ interface Toolset extends AuditFields {
272
+ org_id: string;
273
+ key: string;
274
+ name: string;
275
+ module_slug: string;
276
+ description: string;
277
+ kind: ToolsetKind;
278
+ tools: string[];
279
+ version: number;
280
+ }
281
+ /** Creates a CUSTOM toolset — platform toolsets are hardcoded and read-only. */
282
+ interface CreateToolsetRequest {
283
+ key: string;
284
+ name: string;
285
+ module_slug?: string;
286
+ description?: string;
287
+ /** Member Tool keys; existence is validated on write. */
288
+ tools?: string[];
289
+ }
290
+ /** Fully replaces the custom toolset's definition (membership is a set). */
291
+ interface UpdateToolsetRequest {
292
+ name: string;
293
+ module_slug?: string;
294
+ description?: string;
295
+ tools?: string[];
296
+ }
297
+ interface ListToolsetsOptions extends AgentResourceListOptions {
298
+ /** Filter the merged listing by origin. */
299
+ kind?: ToolsetKind;
300
+ }
301
+ /** One tool inside a toolset, for pickers: the wire name + display metadata. */
302
+ interface ToolsetToolSummary {
303
+ name: string;
304
+ title?: string;
305
+ description?: string;
306
+ }
232
307
  /**
233
308
  * Auth config for reaching an MCP server. When `is_secret` is set, the bearer
234
309
  * `token` is secret-managed and redacted to `''` on read. For `type: 'oauth'` the
@@ -576,8 +651,15 @@ interface StopReason {
576
651
  type: string;
577
652
  }
578
653
  /**
579
- * Emitted when a turn ends. `event_ids` carries the tool_use event ids awaiting a
580
- * client response when `stop_reason.type` is `user_action_required`.
654
+ * Ends a turn published once per turn by the server, not an echo of the upstream
655
+ * provider's session status (which flips idle/running once per server-side tool
656
+ * round, mid-turn).
657
+ *
658
+ * `event_ids` is set only with `stop_reason.type: 'user_action_required'`, and lists
659
+ * the tool_use events still OUTSTANDING — the ones a client must answer. Tools the
660
+ * server executes itself are resolved before this event exists, so seeing this event
661
+ * at all means the turn cannot continue without you: answer each id with a
662
+ * `user.tool_result`.
581
663
  */
582
664
  interface SessionIdlePayload {
583
665
  stop_reason: StopReason;
@@ -893,6 +975,34 @@ interface ToolService {
893
975
  syncDependents(key: string): Promise<DependentSyncResult[]>;
894
976
  }
895
977
 
978
+ /**
979
+ * Service for managing Toolsets — the hardcoded platform toolsets (read-only)
980
+ * merged with the org's custom groups of its own tools. Writes apply to custom
981
+ * toolsets only; a platform key is rejected with `toolset_read_only`.
982
+ */
983
+ interface ToolsetService {
984
+ /** Lists toolsets (platform + custom merged), auto-paginating. Filterable by `kind`. */
985
+ list(options?: ListToolsetsOptions): PageIterator<Toolset, ListToolsetsOptions>;
986
+ /** Fetches a single page of toolsets with pagination metadata. */
987
+ listPage(options?: ListToolsetsOptions): Promise<ListResult<Toolset>>;
988
+ /** Gets a single toolset by key (platform or custom). @throws {ProteosError} 404. */
989
+ get(key: string): Promise<Toolset>;
990
+ /**
991
+ * Lists the tools inside a toolset — platform members proxied from the
992
+ * platform MCP server, custom members summarized from the org's Tool rows.
993
+ * @throws {ProteosError} 404.
994
+ */
995
+ listTools(key: string): Promise<ToolsetToolSummary[]>;
996
+ /** Creates a custom toolset. @throws {ProteosError} 400/409. */
997
+ create(request: CreateToolsetRequest): Promise<Toolset>;
998
+ /** Fully replaces a custom toolset's definition. @throws {ProteosError} 404/400. */
999
+ update(key: string, request: UpdateToolsetRequest): Promise<Toolset>;
1000
+ /** Creates or fully replaces a custom toolset (idempotent deploy entry point). */
1001
+ upsert(key: string, request: CreateToolsetRequest): Promise<Toolset>;
1002
+ /** Deletes a custom toolset. @throws {ProteosError} 404/400. */
1003
+ delete(key: string): Promise<void>;
1004
+ }
1005
+
896
1006
  /**
897
1007
  * Client for the Proteos Agent Service API.
898
1008
  *
@@ -920,6 +1030,8 @@ declare class AgentClient {
920
1030
  readonly skills: SkillService;
921
1031
  /** Service for managing tools. */
922
1032
  readonly tools: ToolService;
1033
+ /** Service for managing toolsets (platform + custom tool groups). */
1034
+ readonly toolsets: ToolsetService;
923
1035
  /** Service for managing MCP server registrations. */
924
1036
  readonly mcpServers: McpServerService;
925
1037
  /** Service for managing chat sessions (conversations + event log + stream). */
@@ -2373,6 +2485,13 @@ interface AgentListenerAcknowledgementConfig {
2373
2485
  /** Message type: the acknowledgement text. */
2374
2486
  text?: string;
2375
2487
  }
2488
+ /**
2489
+ * Where the dispatcher takes its acting user from: 'defined' (the listener's
2490
+ * stored acting_user — the default) or 'inferred' (the triggering message
2491
+ * sender's resolved platform user, with acting_user as OPTIONAL fallback — no
2492
+ * platform user and no fallback means the dispatch is skipped).
2493
+ */
2494
+ type AgentListenerActingUserMode = 'defined' | 'inferred';
2376
2495
  interface AgentListener {
2377
2496
  id: string;
2378
2497
  org_id: string;
@@ -2402,7 +2521,12 @@ interface AgentListener {
2402
2521
  */
2403
2522
  acknowledgement_type: AgentListenerAcknowledgementType;
2404
2523
  acknowledgement_config?: AgentListenerAcknowledgementConfig;
2405
- /** The user the dispatcher acts as when driving the agent. */
2524
+ acting_user_mode: AgentListenerActingUserMode;
2525
+ /**
2526
+ * The user the dispatcher acts as (mode 'defined'), or the optional fallback
2527
+ * when the sender has no platform user (mode 'inferred'; an empty ref means
2528
+ * no fallback).
2529
+ */
2406
2530
  acting_user: UserRef;
2407
2531
  is_enabled: boolean;
2408
2532
  /**
@@ -2513,8 +2637,14 @@ interface CreateAgentListenerRequest {
2513
2637
  */
2514
2638
  acknowledgement_type?: AgentListenerAcknowledgementType;
2515
2639
  acknowledgement_config?: AgentListenerAcknowledgementConfig;
2516
- /** A bare user id; the service wraps it into a person UserRef. */
2517
- acting_user_id: string;
2640
+ /** Omit to default to 'defined'. */
2641
+ acting_user_mode?: AgentListenerActingUserMode;
2642
+ /**
2643
+ * A bare user id; the service wraps it into a person UserRef. Required in
2644
+ * 'defined' mode (the default); optional in 'inferred' mode, where it is the
2645
+ * fallback when the sender has no platform user.
2646
+ */
2647
+ acting_user_id?: string;
2518
2648
  /** Omit to default to enabled. */
2519
2649
  is_enabled?: boolean;
2520
2650
  /**
@@ -2544,6 +2674,9 @@ interface UpdateAgentListenerRequest {
2544
2674
  */
2545
2675
  acknowledgement_type?: AgentListenerAcknowledgementType;
2546
2676
  acknowledgement_config?: AgentListenerAcknowledgementConfig;
2677
+ /** Switching to 'defined' requires an effective acting user (stored or in this request). */
2678
+ acting_user_mode?: AgentListenerActingUserMode;
2679
+ /** Pass "" to clear the user — only valid when the effective mode is 'inferred'. */
2547
2680
  acting_user_id?: string;
2548
2681
  is_enabled?: boolean;
2549
2682
  /** Toggle whether the platform auto-forwards the agent's text reply. */
@@ -2647,6 +2780,16 @@ interface ListConnectionsQuery extends PaginationQuery {
2647
2780
  scope?: string;
2648
2781
  status?: string;
2649
2782
  }
2783
+ /**
2784
+ * The delete's escape hatch. A connection delete makes the connector release
2785
+ * its provider-side registration first and refuses with a 502
2786
+ * `connector_uninstall_failed` when that fails — the row is the only handle on
2787
+ * that state. `is_forced` drops the row anyway, leaving the provider-side
2788
+ * leftovers as a manual cleanup.
2789
+ */
2790
+ interface DeleteConnectionQuery {
2791
+ is_forced?: boolean;
2792
+ }
2650
2793
  interface ListConversationsQuery extends PaginationQuery {
2651
2794
  channel?: string;
2652
2795
  status?: string;
@@ -2696,14 +2839,26 @@ interface ListAgentListenersQuery extends PaginationQuery {
2696
2839
  is_enabled?: boolean;
2697
2840
  }
2698
2841
  /**
2699
- * Conversation filters: ingest-time rules that drop matching inbound messages
2700
- * BEFORE persistence (no message, no contact — only a content-free audit
2701
- * event). Scope-first evaluation: connection-scoped rules are final when one
2702
- * matches; global rules apply otherwise. Specificity within a scope:
2703
- * address > domain > role_based > automated > internal_conversations > all,
2704
- * allow beats block within a class.
2705
- */
2706
- type ConversationFilterType = 'address' | 'domain' | 'role_based' | 'automated' | 'internal_conversations' | 'all';
2842
+ * Conversation filters: rules that drop matching inbound messages BEFORE
2843
+ * persistence (no message, no contact — only a content-free audit event) and,
2844
+ * on meeting calendar connections, gate whether the meeting bot is scheduled
2845
+ * at all (pre-join enforcement of the same rules — earliest possible point).
2846
+ * Scope-first evaluation: connection-scoped rules are final when one matches;
2847
+ * global rules apply otherwise. Specificity within a scope:
2848
+ * address > domain > title_keyword > role_based > automated >
2849
+ * self_originated > internal_participant > internal_conversations > all,
2850
+ * allow beats block within a class; an allow match is a final keep, which is
2851
+ * the auto-join composition mechanism (e.g. "organized by me" = a
2852
+ * connection-scoped all-block plus a self_originated allow).
2853
+ *
2854
+ * Channel matrix: address/self_originated/all act on every channel;
2855
+ * domain/title_keyword/internal_participant/internal_conversations act on
2856
+ * email + meeting connections; role_based/automated are email-only. A
2857
+ * connection-scoped rule of a type inert on that connection's channel is
2858
+ * rejected (invalid_filter_config); global rules are unrestricted and stay
2859
+ * inert where their facts are missing.
2860
+ */
2861
+ type ConversationFilterType = 'address' | 'domain' | 'title_keyword' | 'role_based' | 'automated' | 'self_originated' | 'internal_participant' | 'internal_conversations' | 'all';
2707
2862
  type ConversationFilterAction = 'block' | 'allow';
2708
2863
  /** Which side of the message address/domain rules test (default: sender). */
2709
2864
  type FilterMatchOn = 'sender' | 'any_participant';
@@ -2728,13 +2883,23 @@ interface RoleBasedFilterConfig {
2728
2883
  interface AutomatedFilterConfig {
2729
2884
  signals?: AutomatedSignal[];
2730
2885
  }
2886
+ /** Title/subject contains any keyword (case-insensitive substring; stored lowercased). */
2887
+ interface TitleKeywordFilterConfig {
2888
+ keywords: string[];
2889
+ }
2890
+ /** Conversation originates from the connection owner (meeting organizer / self sender). Empty config. */
2891
+ type SelfOriginatedFilterConfig = Record<string, never>;
2892
+ /** ≥1 participant OTHER than the connection self is on one of these domains (any-internal). */
2893
+ interface InternalParticipantFilterConfig {
2894
+ domains: string[];
2895
+ }
2731
2896
  /** Drops only when sender AND every recipient are on these domains. Always block. */
2732
2897
  interface InternalConversationsFilterConfig {
2733
2898
  domains: string[];
2734
2899
  }
2735
2900
  /** Matches every message (empty config) — the scope-control primitive. */
2736
2901
  type AllFilterConfig = Record<string, never>;
2737
- type ConversationFilterConfig = AddressFilterConfig | DomainFilterConfig | RoleBasedFilterConfig | AutomatedFilterConfig | InternalConversationsFilterConfig | AllFilterConfig;
2902
+ type ConversationFilterConfig = AddressFilterConfig | DomainFilterConfig | TitleKeywordFilterConfig | RoleBasedFilterConfig | AutomatedFilterConfig | SelfOriginatedFilterConfig | InternalParticipantFilterConfig | InternalConversationsFilterConfig | AllFilterConfig;
2738
2903
  interface ConversationFilter {
2739
2904
  id: string;
2740
2905
  org_id: string;
@@ -3240,7 +3405,14 @@ interface ConnectionService {
3240
3405
  get(id: string): Promise<Connection>;
3241
3406
  create(request: CreateConnectionRequest): Promise<Connection>;
3242
3407
  update(id: string, request: UpdateConnectionRequest): Promise<Connection>;
3243
- delete(id: string): Promise<void>;
3408
+ /**
3409
+ * Delete a connection. The connector first releases its provider-side
3410
+ * registration (a Recall calendar and the OAuth grant behind it); when that
3411
+ * fails the delete is refused with a `connector_uninstall_failed` 502 rather
3412
+ * than orphaning it. Pass `{ is_forced: true }` to drop the row anyway and
3413
+ * clean up at the provider by hand.
3414
+ */
3415
+ delete(id: string, query?: DeleteConnectionQuery): Promise<void>;
3244
3416
  /** Begin the connector's install flow; open the returned URL in a popup. */
3245
3417
  install(id: string): Promise<InstallConnectionResponse>;
3246
3418
  /**
@@ -3282,6 +3454,11 @@ interface ConversationService {
3282
3454
  /** Patch the user-editable surface (subject, summary, status, metadata). */
3283
3455
  update(id: string, request: UpdateConversationRequest): Promise<Conversation>;
3284
3456
  end(id: string): Promise<Conversation>;
3457
+ /**
3458
+ * Hard-delete the conversation, its thread children, and every dependent
3459
+ * row (messages, attachments, read markers, transcriptions). Irreversible.
3460
+ */
3461
+ delete(id: string): Promise<void>;
3285
3462
  /** Upsert the requesting user's read marker to now (open a conversation). */
3286
3463
  markRead(id: string): Promise<void>;
3287
3464
  /** Remove the marker — the conversation reads as unread again. */
@@ -6127,4 +6304,4 @@ declare class WorkflowClient {
6127
6304
  constructor(client: ProteosClient);
6128
6305
  }
6129
6306
 
6130
- export { type AcceptMistranscribedTermRequest, AccountClient, type Action, type ActionBinding, ActionSchema, type ActionScope, ActionScopeSchema, type ActionService, type AddressFilterConfig, type Agent, type AgentActionParams, type AgentArtifactsPayload, AgentClient, type AgentListener, type AgentListenerAcknowledgementConfig, type AgentListenerAcknowledgementType, type AgentListenerService, type AgentListenerTriggerType, type AgentMessagePayload, type AgentResourceListOptions, type AgentService, type AllFilterConfig, type ApiErrorResponse, type AppendEventRequest, type AssignPermissionRequest, type AssignRoleRequest, type AttachContactAddressRequest, type Attachment, Attribute, AuditFields, type AuthListOptions, type AutomatedFilterConfig, type AutomatedSignal, type BatchTransactionError, BatchTransactionErrorSchema, type BatchTransactionStatus, type BatchUpsertRecordsResponse, BatchUpsertRecordsResponseSchema, type BatchUpsertTransaction, type BatchUpsertTransactionResult, BatchUpsertTransactionResultSchema, BatchUpsertTransactionSchema, type BinaryRef, type BlockContactRequest, type Channel, type ClientEventType, type ClientToolSchema, type Connection, type ConnectionCredentials, type ConnectionEndpoint, type ConnectionScope, type ConnectionService, type ConnectionStatus, type ConnectionSyncRange, type ConnectionSyncStatus, type Connector, ConnectorClient, type ConnectorConnection, type ConnectionScope$1 as ConnectorConnectionScope, type ConnectionStatus$1 as ConnectorConnectionStatus, type ConnectionTokenResponse as ConnectorConnectionTokenResponse, type CredentialKind as ConnectorCredentialKind, type ConnectorKey, type ConnectorMethod, type ConnectorProvider, type ConsentStatus, type ConsumerGroup, type Contact, type ContactAddress, type ContactAddressKind, type ContactAddressSource, type ContactErasureRequest, type ContactMergeProposal, type ContactRef, type ContactService, type ContactSource, type ContactStatus, type ContentBlock$1 as ContentBlock, type ContentMatch, type ContentResponse, type ContextCompactedPayload, type Conversation, ConversationClient, type ConversationFilter, type ConversationFilterAction, type ConversationFilterConfig, type ConversationFilterEvent, type ConversationFilterService, type ConversationFilterType, type ConversationParticipant, type ConversationService, type ConversationStatus, type ConversationSummaryStatus, type ConversationType, type ConversationTypeConfig, type ConversationTypeService, type CreateAgentListenerRequest, type CreateAgentRequest, type CreateConnectionRequest, type CreateConnectorConnectionRequest, type CreateConversationFilterRequest, type CreateConversationTypeRequest, type CreateFileMetadata, type CreateGlossaryTermRequest, type CreateLabelRequest, type CreateLinkRequest, type CreateMcpServerRequest, type CreateNodeRequest, type CreateOrganizationRequest, type CreatePromptRequest, type CreateRecordLinkRequest, type CreateRoleRequest, type CreateSessionRequest, type CreateToolRequest, type CreateUserRequest, type CreateWorkflowRequest, type CredentialSpec, type CronTriggerParams, DEFAULT_PORT, DataClient, type DependentAgent, type DependentSyncResult, type DispatchMeetingBotRequest, type DisplayOptions, type DomainFilterConfig, ERROR_PORT, type EditContentRequest, type EditContentResponse, type EmptyPayload, type ErasureRequestStatus, ErrorCode, type ErrorCodeType, type ErrorPayload, type EventTriggerParams, type EventType, type EventVerb, EventsClient, type ExecutionError, type ExecutionStatus, type ExecutionTriggerContext, type FileBlock, FileRef, type FileService, type FileVersionContent, type FilterMatchOn, FunctionsClient, type GetExecutionDetailResponse, type GetGraphOptions, type GetNodeExecutionItemsOptions, type GetNodeExecutionItemsResponse, type GetNodeTypesResponse, type GlossaryTerm, type GlossaryTermService, type GraphService, type InlineLinkRequest, type InstallConnectionResponse, type InstallConnectorConnectionResponse, type InternalConversationsFilterConfig, type InvokeActionResponse, type InvokeNodeMethodRequest, type InvokeNodeMethodResponse, type Item, type KickoffSource, type KickoffType, KnowledgeClient, type KnowledgeGraph, type KnowledgeGraphLink, type KnowledgeGraphNode, type KnowledgeLabel, KnowledgeLabelSchema, type KnowledgeLink, KnowledgeLinkSchema, type KnowledgeNode, type KnowledgeNodeLabel, KnowledgeNodeLabelSchema, type KnowledgeNodeMetadata, KnowledgeNodeMetadataSchema, KnowledgeNodeSchema, type KnowledgeNodeSearchResult, KnowledgeNodeSearchResultSchema, type KnowledgeRecordLink, KnowledgeRecordLinkSchema, type LabelService, type LinkService, type LinkType, type ListActionsOptions, type ListAgentListenersQuery, type ListAgentsOptions, type ListConnectionsQuery, type ListConnectorConnectionsQuery, type ListConnectorsQuery, type ListContactAddressesQuery, type ListContactMergeProposalsQuery, type ListContactsQuery, type ListConversationFilterEventsQuery, type ListConversationFiltersQuery, type ListConversationTypesQuery, type ListConversationsQuery, type ListEventsOptions, type ListExecutionsOptions, type ListGlossaryTermsQuery, type ListLabelsOptions, type ListLinksOptions, type ListMcpServersOptions, type ListMessagesQuery, type ListMistranscribedTermsQuery, type ListNodesOptions, ListOptions, type ListOrganizationsOptions, type ListPromptsOptions, type ListRecordLinksOptions, type ListRecordsOptions, type ListResponse, ListResult, type ListRolePermissionsOptions, type ListRolesOptions, type ListRoomsQuery, type ListSessionsOptions, type ListSkillsOptions, type ListToolsOptions, type ListUserRoleAssignmentsOptions, type ListUsersOptions, type ListWorkflowsOptions, type ManualTriggerParams, type MatchMode, type McpBinding, type McpConnectionState, type McpConnectionStatus, type McpServer, type McpServerAuth, type McpServerOAuth, type McpServerService, type McpToolSummary, type MeService, type MeetingService, type MergeContactsRequest, type MergeProposalStatus, type Message, type ContentBlock as MessageContentBlock, type MessageDirection, type MessagePreview, type MessageRecipient, type MessageService, type MessageStatus, type MessageTriggerParams, type MistranscribedTerm, type MistranscribedTermService, type MistranscribedTermStatus, type MistranscriptionSuggestionSource, type ModelCallParams, type ModelConfig, type ModelRequestEndPayload, type ModelRequestStartPayload, type ModelUsage, type NeighborDirection, type NeighborEdge, type NeighborNode, type NeighborsOptions, type NodeContentMatches, type NodeDescriptor, type NodeExecution, type NodeGroup, type NodeMethodOption, type NodeNeighborhood, NodeNeighborhoodSchema, type NodeOutline, type NodePosition, type NodeProperty, type NodeRetryPolicy, type NodeRuntime, type NodeService, type NodeStatus, type NodeType, type NodeTypeKey, type NodeTypeService, type NodeTypeStatus, type OnErrorPolicy, type Organization, OrganizationSchema, type OrganizationService, type OutlineHeading, type OutlineRequest, type OutlineResponse, PLATFORM_ENTITIES, PLATFORM_ENTITY_SLUGS, PageIterator, type PairedItem, type ParseStatus, type Permission, type PermissionEventSource, type PermissionEventType, type PlatformEntity, type PlatformEvent, type PortSpec, type Prompt, type PromptService, type PromptVersion, type PropertyOption, type PropertyType, ProteosClient, ProteosError, PublicAccessOperation, type PublishEventRequest, type QueryExecuteMeta, type QueryExecuteResponse, type QueryObject, type QueryRow, type QueryService, type QueryValidateMeta, type QueryValidateResponse, type QueryValue, type Reaction, type ReactionCapability, type ReactionOption, type ReactionSetKind, type ReasoningPayload, type RecipientKind, type RecipientRole, type RecordData, type RecordLinkService, type RecordPermissionEventRequest, type RecordService, type RedriveResult, type ResultBlock, type Role, type RoleBasedFilterConfig, type RoleEntityPermission, RoleEntityPermissionSchema, RoleSchema, type RoleService, type Room, type RunWorkflowRequest, type SearchContentRequest, type SearchContentResponse, type SearchNodesRequest, type SendMessageRequest, type SendRecipient, type Session, type SessionEvent, type SessionEventEnvelope, type SessionEventsOptions, type SessionIdlePayload, type SessionService, type SessionStatus, type SessionStreamOptions, type SessionUpdatedPayload, type Skill, type SkillBundle, type SkillService, type SkillVersion, type StartMcpOAuthResponse, type StopReason, StorageClient, type StorageFile, type StorageFileVersion, type SyncConnectionRequest, type SystemSource, type TailOptions, type TestNodeCandidate, type TestNodeInputSource, type TestNodeRequest, type TestNodeResponse, type TextBlock, type Tool, type ToolBinding, type ToolConfirmationPayload, type ToolKind, type ToolResultPayload, type ToolService, type ToolUsePayload, type Topic, type TopicKind, type TopicService, type TranscribeStreamOptions, type TranscriptResult, type TranscriptTurn, type Transcription, type TranscriptionReviewStatus, type TranscriptionStatus, type TriggerKind, type Turn, type UnreadCounts, type UpdateAgentListenerRequest, type UpdateAgentRequest, type UpdateConnectionRequest, type UpdateConnectorConnectionRequest, type UpdateContactRequest, type UpdateConversationFilterRequest, type UpdateConversationTypeRequest, type UpdateDraftRequest, type UpdateFileMetadata, type UpdateGlossaryTermRequest, type UpdateLabelRequest, type UpdateLinkRequest, type UpdateMcpServerRequest, type UpdateNodeRequest, type UpdateOrganizationRequest, type UpdatePromptRequest, type UpdateRoleRequest, type UpdateToolRequest, type UpdateUserRequest, type UpdateWorkflowRequest, type User, type UserMessagePayload, UserRef$2 as UserRef, type UserRoleAssignment, UserRoleAssignmentSchema, UserSchema, type UserService, type VoiceService, type VoiceTranscriptionStream, type WebhookTriggerParams, type Workflow, WorkflowClient, type WorkflowConnection, type WorkflowExecution, type WorkflowGraph, type WorkflowNode, type WorkflowNodeType, type WorkflowStatus, type WorkflowVersion, type WorkflowVersionAuthor, type WorkflowVersionSummary, type WriteContentResponse, type WriteCredentialsRequest, buildUrl, getDefaultErrorCode, isBadRequest, isConflict, isForbidden, isNotFound, isPlatformEntity, isProteosError, isUnauthorized, parseErrorResponse, toQueryParams, toQueryString };
6307
+ export { type AcceptMistranscribedTermRequest, AccountClient, type Action, type ActionBinding, ActionSchema, type ActionScope, ActionScopeSchema, type ActionService, type AddressFilterConfig, type Agent, type AgentActionParams, type AgentArtifactsPayload, AgentClient, type AgentListener, type AgentListenerAcknowledgementConfig, type AgentListenerAcknowledgementType, type AgentListenerActingUserMode, type AgentListenerService, type AgentListenerTriggerType, type AgentMessagePayload, type AgentResourceListOptions, type AgentService, type AllFilterConfig, type ApiErrorResponse, type AppendEventRequest, type AssignPermissionRequest, type AssignRoleRequest, type AttachContactAddressRequest, type Attachment, Attribute, AuditFields, type AuthListOptions, type AutomatedFilterConfig, type AutomatedSignal, type BatchTransactionError, BatchTransactionErrorSchema, type BatchTransactionStatus, type BatchUpsertRecordsResponse, BatchUpsertRecordsResponseSchema, type BatchUpsertTransaction, type BatchUpsertTransactionResult, BatchUpsertTransactionResultSchema, BatchUpsertTransactionSchema, type BinaryRef, type BlockContactRequest, type Channel, type ClientEventType, type ClientToolSchema, type Connection, type ConnectionCredentials, type ConnectionEndpoint, type ConnectionScope, type ConnectionService, type ConnectionStatus, type ConnectionSyncRange, type ConnectionSyncStatus, type Connector, ConnectorClient, type ConnectorConnection, type ConnectionScope$1 as ConnectorConnectionScope, type ConnectionStatus$1 as ConnectorConnectionStatus, type ConnectionTokenResponse as ConnectorConnectionTokenResponse, type CredentialKind as ConnectorCredentialKind, type ConnectorKey, type ConnectorMethod, type ConnectorProvider, type ConsentStatus, type ConsumerGroup, type Contact, type ContactAddress, type ContactAddressKind, type ContactAddressSource, type ContactErasureRequest, type ContactMergeProposal, type ContactRef, type ContactService, type ContactSource, type ContactStatus, type ContentBlock$1 as ContentBlock, type ContentMatch, type ContentResponse, type ContextCompactedPayload, type Conversation, ConversationClient, type ConversationFilter, type ConversationFilterAction, type ConversationFilterConfig, type ConversationFilterEvent, type ConversationFilterService, type ConversationFilterType, type ConversationParticipant, type ConversationService, type ConversationStatus, type ConversationSummaryStatus, type ConversationType, type ConversationTypeConfig, type ConversationTypeService, type CreateAgentListenerRequest, type CreateAgentRequest, type CreateConnectionRequest, type CreateConnectorConnectionRequest, type CreateConversationFilterRequest, type CreateConversationTypeRequest, type CreateFileMetadata, type CreateGlossaryTermRequest, type CreateLabelRequest, type CreateLinkRequest, type CreateMcpServerRequest, type CreateNodeRequest, type CreateOrganizationRequest, type CreatePromptRequest, type CreateRecordLinkRequest, type CreateRoleRequest, type CreateSessionRequest, type CreateToolRequest, type CreateToolsetRequest, type CreateUserRequest, type CreateWorkflowRequest, type CredentialSpec, type CronTriggerParams, DEFAULT_PORT, DataClient, type DependentAgent, type DependentSyncResult, type DispatchMeetingBotRequest, type DisplayOptions, type DomainFilterConfig, ERROR_PORT, type EditContentRequest, type EditContentResponse, type EmptyPayload, type ErasureRequestStatus, ErrorCode, type ErrorCodeType, type ErrorPayload, type EventTriggerParams, type EventType, type EventVerb, EventsClient, type ExecutionError, type ExecutionStatus, type ExecutionTriggerContext, type FileBlock, FileRef, type FileService, type FileVersionContent, type FilterMatchOn, FunctionsClient, type GetExecutionDetailResponse, type GetGraphOptions, type GetNodeExecutionItemsOptions, type GetNodeExecutionItemsResponse, type GetNodeTypesResponse, type GlossaryTerm, type GlossaryTermService, type GraphService, type InlineLinkRequest, type InstallConnectionResponse, type InstallConnectorConnectionResponse, type InternalConversationsFilterConfig, type InvokeActionResponse, type InvokeNodeMethodRequest, type InvokeNodeMethodResponse, type Item, type KickoffSource, type KickoffType, KnowledgeClient, type KnowledgeGraph, type KnowledgeGraphLink, type KnowledgeGraphNode, type KnowledgeLabel, KnowledgeLabelSchema, type KnowledgeLink, KnowledgeLinkSchema, type KnowledgeNode, type KnowledgeNodeLabel, KnowledgeNodeLabelSchema, type KnowledgeNodeMetadata, KnowledgeNodeMetadataSchema, KnowledgeNodeSchema, type KnowledgeNodeSearchResult, KnowledgeNodeSearchResultSchema, type KnowledgeRecordLink, KnowledgeRecordLinkSchema, type LabelService, type LinkService, type LinkType, type ListActionsOptions, type ListAgentListenersQuery, type ListAgentsOptions, type ListConnectionsQuery, type ListConnectorConnectionsQuery, type ListConnectorsQuery, type ListContactAddressesQuery, type ListContactMergeProposalsQuery, type ListContactsQuery, type ListConversationFilterEventsQuery, type ListConversationFiltersQuery, type ListConversationTypesQuery, type ListConversationsQuery, type ListEventsOptions, type ListExecutionsOptions, type ListGlossaryTermsQuery, type ListLabelsOptions, type ListLinksOptions, type ListMcpServersOptions, type ListMessagesQuery, type ListMistranscribedTermsQuery, type ListNodesOptions, ListOptions, type ListOrganizationsOptions, type ListPromptsOptions, type ListRecordLinksOptions, type ListRecordsOptions, type ListResponse, ListResult, type ListRolePermissionsOptions, type ListRolesOptions, type ListRoomsQuery, type ListSessionsOptions, type ListSkillsOptions, type ListToolsOptions, type ListToolsetsOptions, type ListUserRoleAssignmentsOptions, type ListUsersOptions, type ListWorkflowsOptions, type ManualTriggerParams, type MatchMode, type McpBinding, type McpConnectionState, type McpConnectionStatus, type McpServer, type McpServerAuth, type McpServerOAuth, type McpServerService, type McpToolSummary, type MeService, type MeetingService, type MergeContactsRequest, type MergeProposalStatus, type Message, type ContentBlock as MessageContentBlock, type MessageDirection, type MessagePreview, type MessageRecipient, type MessageService, type MessageStatus, type MessageTriggerParams, type MistranscribedTerm, type MistranscribedTermService, type MistranscribedTermStatus, type MistranscriptionSuggestionSource, type ModelCallParams, type ModelConfig, type ModelRequestEndPayload, type ModelRequestStartPayload, type ModelUsage, type NeighborDirection, type NeighborEdge, type NeighborNode, type NeighborsOptions, type NodeContentMatches, type NodeDescriptor, type NodeExecution, type NodeGroup, type NodeMethodOption, type NodeNeighborhood, NodeNeighborhoodSchema, type NodeOutline, type NodePosition, type NodeProperty, type NodeRetryPolicy, type NodeRuntime, type NodeService, type NodeStatus, type NodeType, type NodeTypeKey, type NodeTypeService, type NodeTypeStatus, type OnErrorPolicy, type Organization, OrganizationSchema, type OrganizationService, type OutlineHeading, type OutlineRequest, type OutlineResponse, PLATFORM_ENTITIES, PLATFORM_ENTITY_SLUGS, PageIterator, type PairedItem, type ParseStatus, type Permission, type PermissionEventSource, type PermissionEventType, type PlatformBinding, type PlatformEntity, type PlatformEvent, type PortSpec, type Prompt, type PromptService, type PromptVersion, type PropertyOption, type PropertyType, ProteosClient, ProteosError, PublicAccessOperation, type PublishEventRequest, type QueryBinding, type QueryExecuteMeta, type QueryExecuteResponse, type QueryObject, type QueryRow, type QueryService, type QueryValidateMeta, type QueryValidateResponse, type QueryValue, type Reaction, type ReactionCapability, type ReactionOption, type ReactionSetKind, type ReasoningPayload, type RecipientKind, type RecipientRole, type RecordData, type RecordLinkService, type RecordPermissionEventRequest, type RecordService, type RedriveResult, type ResultBlock, type Role, type RoleBasedFilterConfig, type RoleEntityPermission, RoleEntityPermissionSchema, RoleSchema, type RoleService, type Room, type RunWorkflowRequest, type SearchContentRequest, type SearchContentResponse, type SearchNodesRequest, type SendMessageRequest, type SendRecipient, type Session, type SessionEvent, type SessionEventEnvelope, type SessionEventsOptions, type SessionIdlePayload, type SessionService, type SessionStatus, type SessionStreamOptions, type SessionUpdatedPayload, type Skill, type SkillBundle, type SkillService, type SkillVersion, type StartMcpOAuthResponse, type StopReason, StorageClient, type StorageFile, type StorageFileVersion, type SyncConnectionRequest, type SystemSource, type TailOptions, type TestNodeCandidate, type TestNodeInputSource, type TestNodeRequest, type TestNodeResponse, type TextBlock, type Tool, type ToolBinding, type ToolConfirmationPayload, type ToolKind, type ToolResultPayload, type ToolService, type ToolUsePayload, type Toolset, type ToolsetKind, type ToolsetService, type ToolsetToolSummary, type Topic, type TopicKind, type TopicService, type TranscribeStreamOptions, type TranscriptResult, type TranscriptTurn, type Transcription, type TranscriptionReviewStatus, type TranscriptionStatus, type TriggerKind, type Turn, type UnreadCounts, type UpdateAgentListenerRequest, type UpdateAgentRequest, type UpdateConnectionRequest, type UpdateConnectorConnectionRequest, type UpdateContactRequest, type UpdateConversationFilterRequest, type UpdateConversationTypeRequest, type UpdateDraftRequest, type UpdateFileMetadata, type UpdateGlossaryTermRequest, type UpdateLabelRequest, type UpdateLinkRequest, type UpdateMcpServerRequest, type UpdateNodeRequest, type UpdateOrganizationRequest, type UpdatePromptRequest, type UpdateRoleRequest, type UpdateToolRequest, type UpdateToolsetRequest, type UpdateUserRequest, type UpdateWorkflowRequest, type User, type UserMessagePayload, UserRef$2 as UserRef, type UserRoleAssignment, UserRoleAssignmentSchema, UserSchema, type UserService, type VoiceService, type VoiceTranscriptionStream, type WebhookTriggerParams, type Workflow, WorkflowClient, type WorkflowConnection, type WorkflowExecution, type WorkflowGraph, type WorkflowNode, type WorkflowNodeType, type WorkflowStatus, type WorkflowVersion, type WorkflowVersionAuthor, type WorkflowVersionSummary, type WriteContentResponse, type WriteCredentialsRequest, buildUrl, getDefaultErrorCode, isBadRequest, isConflict, isForbidden, isNotFound, isPlatformEntity, isProteosError, isUnauthorized, parseErrorResponse, toQueryParams, toQueryString };
package/dist/index.js CHANGED
@@ -340,6 +340,43 @@ var ToolServiceImpl = class {
340
340
  }
341
341
  };
342
342
 
343
+ // src/agent/toolsets.ts
344
+ var TOOLSETS_BASE_PATH = "/agents/v1/toolsets";
345
+ var ToolsetServiceImpl = class {
346
+ constructor(client) {
347
+ this.client = client;
348
+ }
349
+ client;
350
+ list(options = {}) {
351
+ return new PageIterator((opts) => this.listPage(opts), options);
352
+ }
353
+ async listPage(options = {}) {
354
+ return this.client.requestWithQuery("GET", TOOLSETS_BASE_PATH, options);
355
+ }
356
+ async get(key) {
357
+ return this.client.request("GET", `${TOOLSETS_BASE_PATH}/${key}`);
358
+ }
359
+ async listTools(key) {
360
+ const response = await this.client.request(
361
+ "GET",
362
+ `${TOOLSETS_BASE_PATH}/${key}/tools`
363
+ );
364
+ return response.data;
365
+ }
366
+ async create(request) {
367
+ return this.client.request("POST", TOOLSETS_BASE_PATH, request);
368
+ }
369
+ async update(key, request) {
370
+ return this.client.request("PATCH", `${TOOLSETS_BASE_PATH}/${key}`, request);
371
+ }
372
+ async upsert(key, request) {
373
+ return this.client.request("PUT", `${TOOLSETS_BASE_PATH}/${key}`, request);
374
+ }
375
+ async delete(key) {
376
+ await this.client.request("DELETE", `${TOOLSETS_BASE_PATH}/${key}`);
377
+ }
378
+ };
379
+
343
380
  // src/agent/index.ts
344
381
  var AgentClient = class {
345
382
  /** Service for managing agents. */
@@ -350,6 +387,8 @@ var AgentClient = class {
350
387
  skills;
351
388
  /** Service for managing tools. */
352
389
  tools;
390
+ /** Service for managing toolsets (platform + custom tool groups). */
391
+ toolsets;
353
392
  /** Service for managing MCP server registrations. */
354
393
  mcpServers;
355
394
  /** Service for managing chat sessions (conversations + event log + stream). */
@@ -364,6 +403,7 @@ var AgentClient = class {
364
403
  this.prompts = new PromptServiceImpl(client);
365
404
  this.skills = new SkillServiceImpl(client);
366
405
  this.tools = new ToolServiceImpl(client);
406
+ this.toolsets = new ToolsetServiceImpl(client);
367
407
  this.mcpServers = new McpServerServiceImpl(client);
368
408
  this.sessions = new SessionServiceImpl(client);
369
409
  }
@@ -571,6 +611,7 @@ var PLATFORM_ENTITIES = [
571
611
  { slug: "prompts", name: "Prompts" },
572
612
  { slug: "skills", name: "Skills" },
573
613
  { slug: "tools", name: "Tools" },
614
+ { slug: "toolsets", name: "Toolsets" },
574
615
  { slug: "mcp-servers", name: "MCP Servers" },
575
616
  { slug: "agent-sessions", name: "Agent Sessions" },
576
617
  // Messaging bus (event-service)
@@ -1340,10 +1381,11 @@ var ConnectionServiceImpl = class {
1340
1381
  request
1341
1382
  );
1342
1383
  }
1343
- async delete(id) {
1344
- await this.client.request(
1384
+ async delete(id, query = {}) {
1385
+ await this.client.requestWithQuery(
1345
1386
  "DELETE",
1346
- `${CONVERSATION_BASE_PATH}/connections/${encodeURIComponent(id)}`
1387
+ `${CONVERSATION_BASE_PATH}/connections/${encodeURIComponent(id)}`,
1388
+ query
1347
1389
  );
1348
1390
  }
1349
1391
  install(id) {
@@ -1495,6 +1537,12 @@ var ConversationServiceImpl = class {
1495
1537
  `${CONVERSATION_BASE_PATH}/conversations/${encodeURIComponent(id)}/end`
1496
1538
  );
1497
1539
  }
1540
+ delete(id) {
1541
+ return this.client.request(
1542
+ "DELETE",
1543
+ `${CONVERSATION_BASE_PATH}/conversations/${encodeURIComponent(id)}`
1544
+ );
1545
+ }
1498
1546
  markRead(id) {
1499
1547
  return this.client.request(
1500
1548
  "POST",