@botiverse/raft-sdk 0.9.0 → 0.10.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
@@ -332,11 +332,28 @@ interface AgentApiToolAnnotations {
332
332
  */
333
333
  type AgentApiRetryPolicy = "retry" | "retry_when_keyed" | "single_attempt";
334
334
  //#endregion
335
+ //#region ../shared/src/agentOps/hint.d.ts
336
+ /** How hints are rendered: `cli` (default) as `raft …` commands, `tool` as operation tool calls. */
337
+ type RaftHintStyle = "cli" | "tool";
338
+ /** The operation a next step maps to: manifest name and arguments in manifest shape. */
339
+ interface RaftNextOperation {
340
+ /** Manifest name (`RAFT_OPERATIONS`), for example `messages.read`. */
341
+ name: string;
342
+ args: Record<string, unknown>;
343
+ /** Some required arguments are left for the caller (for example a message's `content`). */
344
+ partial?: true;
345
+ }
346
+ /** `tasks.updateStatus` → `tasks_update_status`: the manifest's tool name for an operation name. */
347
+ export declare function raftToolNameFor(name: string): string;
348
+ //#endregion
335
349
  //#region ../shared/src/agentOps/outcome.d.ts
336
350
  interface RaftNextStep {
337
351
  /** Stable step kind, for example `read_target`, `run_inbox_check`, `retry_after_review`. */
338
352
  kind: string;
339
- /** The exact CLI command an agent would run for this step, when one exists. */
353
+ /**
354
+ * The exact CLI command an agent would run for this step, when one exists;
355
+ * with `createRaft({ hints: "tool" })`, the tool call instead.
356
+ */
340
357
  command?: string;
341
358
  /**
342
359
  * Structured arguments for the step: plain, serialisable data (never a
@@ -345,6 +362,12 @@ interface RaftNextStep {
345
362
  * (An interrupted call's resume is `interrupt.resume`, not `args`.)
346
363
  */
347
364
  args?: Record<string, unknown>;
365
+ /**
366
+ * The manifest operation that takes this step, with its arguments in
367
+ * manifest shape (valid for that operation's schema). `partial: true` when
368
+ * some required arguments are the caller's to supply (a send's `content`).
369
+ */
370
+ operation?: RaftNextOperation;
348
371
  /** One sentence explaining why this is the next step. */
349
372
  why: string;
350
373
  }
@@ -424,9 +447,9 @@ interface RaftMessage {
424
447
  */
425
448
  export declare function hasAgentMessageIdentity(envelope: AgentApiMessageEnvelope): boolean;
426
449
  /** Project one envelope; `null` when it has no conversation identity (skip it rather than render `#undefined`). */
427
- export declare function projectRaftMessage(envelope: AgentApiMessageEnvelope): RaftMessage | null;
450
+ export declare function projectRaftMessage(envelope: AgentApiMessageEnvelope, style?: RaftHintStyle): RaftMessage | null;
428
451
  /** Project a list, skipping envelopes without a conversation identity. */
429
- export declare function projectRaftMessages(envelopes: readonly AgentApiMessageEnvelope[]): RaftMessage[];
452
+ export declare function projectRaftMessages(envelopes: readonly AgentApiMessageEnvelope[], style?: RaftHintStyle): RaftMessage[];
430
453
  //#endregion
431
454
  //#region ../shared/src/agentOps/interrupt.d.ts
432
455
  /** Why the call stopped. */
@@ -666,7 +689,7 @@ interface RaftInboxConversation {
666
689
  activitySeq: number;
667
690
  latestSenderName: string | null;
668
691
  latestAt: string | null;
669
- /** The exact command that opens this conversation from the agent's read position. */
692
+ /** The exact command that opens this conversation from the agent's read position (the tool call with `hints: "tool"`). */
670
693
  openCommand: string;
671
694
  }
672
695
  interface RaftInboxListing {
@@ -1103,6 +1126,8 @@ interface ServerInfoRequest {
1103
1126
  limit?: number;
1104
1127
  /** Channels only: restrict to joined channels. */
1105
1128
  joined?: boolean;
1129
+ /** Sections only: keep rows whose visible text contains this (case-insensitive), like the CLI's `--query`. */
1130
+ query?: string;
1106
1131
  }
1107
1132
  export declare const serverInfoRequestSchema: z.ZodObject<{
1108
1133
  view: z.ZodOptional<z.ZodEnum<{
@@ -1115,6 +1140,7 @@ export declare const serverInfoRequestSchema: z.ZodObject<{
1115
1140
  offset: z.ZodOptional<z.ZodNumber>;
1116
1141
  limit: z.ZodOptional<z.ZodNumber>;
1117
1142
  joined: z.ZodOptional<z.ZodBoolean>;
1143
+ query: z.ZodOptional<z.ZodString>;
1118
1144
  }, z.core.$strip>;
1119
1145
  export declare const showProfileRequestSchema: z.ZodObject<{
1120
1146
  target: z.ZodOptional<z.ZodString>;
@@ -1168,6 +1194,9 @@ export declare const attachmentCommentsRequestSchema: z.ZodObject<{
1168
1194
  attachmentId: z.ZodString;
1169
1195
  limit: z.ZodOptional<z.ZodNumber>;
1170
1196
  }, z.core.$strip>;
1197
+ export declare const downloadAttachmentUrlRequestSchema: z.ZodObject<{
1198
+ attachmentId: z.ZodString;
1199
+ }, z.core.$strip>;
1171
1200
  /** Explicit type wins; otherwise sniff the bytes, then the filename extension, then octet-stream. */
1172
1201
  export declare function inferAttachmentMimeType(filename: string, bytes: Uint8Array, explicit?: string | null): string;
1173
1202
  interface UploadAttachmentRequest {
@@ -1186,6 +1215,8 @@ interface RaftAttachmentBytes {
1186
1215
  attachmentId: string;
1187
1216
  bytes: Uint8Array;
1188
1217
  }
1218
+ /** A short-lived download URL: what a runtime fetches the bytes from itself (`attachments.downloadUrl`). */
1219
+ type RaftAttachmentDownloadUrl = Pick<AgentApiAttachmentDownloadUrlResponse, "url" | "expiresAt" | "filename" | "mimeType">;
1189
1220
  //#endregion
1190
1221
  //#region ../shared/src/agentOps/search.d.ts
1191
1222
  interface SearchMessagesRequest {
@@ -1995,6 +2026,18 @@ declare const agentApiChannelLifecycleBodySchema: z.ZodObject<{
1995
2026
  declare const agentApiAttachmentDownloadParamsSchema: z.ZodObject<{
1996
2027
  attachmentId: z.ZodString;
1997
2028
  }, z.core.$loose>;
2029
+ /**
2030
+ * Short-lived download URL for an attachment visible to the bound agent
2031
+ * credential (`GET /attachments/:attachmentId/url`). For runtimes that cannot
2032
+ * take binary tool results: the agent fetches the bytes itself from `url`
2033
+ * before `expiresAt`. The URL is a bearer capability; never log it.
2034
+ */
2035
+ declare const agentApiAttachmentDownloadUrlResponseSchema: z.ZodObject<{
2036
+ url: z.ZodString;
2037
+ expiresAt: z.ZodString;
2038
+ filename: z.ZodString;
2039
+ mimeType: z.ZodString;
2040
+ }, z.core.$loose>;
1998
2041
  declare const agentApiAttachmentCommentsParamsSchema: z.ZodObject<{
1999
2042
  attachmentId: z.ZodString;
2000
2043
  }, z.core.$loose>;
@@ -8265,6 +8308,32 @@ declare const agentApiContract: {
8265
8308
  } & {
8266
8309
  fullPath: string;
8267
8310
  };
8311
+ readonly attachmentDownloadUrl: {
8312
+ readonly key: "attachmentDownloadUrl";
8313
+ readonly method: "GET";
8314
+ readonly path: "/attachments/:attachmentId/url";
8315
+ readonly client: {
8316
+ readonly resource: "attachments";
8317
+ readonly method: "downloadUrl";
8318
+ };
8319
+ readonly capability: "read";
8320
+ readonly description: "Mint a short-lived (5 minute) download URL for an attachment visible to the bound agent credential, with its filename and MIME type. 409 download_url_unavailable when this Server's storage cannot presign; use the binary download instead.";
8321
+ readonly request: {
8322
+ readonly params: z.ZodObject<{
8323
+ attachmentId: z.ZodString;
8324
+ }, z.core.$loose>;
8325
+ };
8326
+ readonly response: {
8327
+ readonly body: z.ZodObject<{
8328
+ url: z.ZodString;
8329
+ expiresAt: z.ZodString;
8330
+ filename: z.ZodString;
8331
+ mimeType: z.ZodString;
8332
+ }, z.core.$loose>;
8333
+ };
8334
+ } & {
8335
+ fullPath: string;
8336
+ };
8268
8337
  readonly attachmentCommentsList: {
8269
8338
  readonly key: "attachmentCommentsList";
8270
8339
  readonly method: "GET";
@@ -8517,6 +8586,7 @@ type AgentApiAttachmentUploadSessionCreateResponse = z.infer<typeof createAttach
8517
8586
  type AgentApiAttachmentUploadSessionCompleteResponse = z.infer<typeof completeAttachmentUploadSessionResponseSchema>;
8518
8587
  type AgentApiAttachmentUploadSessionResponse = z.infer<typeof attachmentUploadSessionSchema>;
8519
8588
  type AgentApiAttachmentDownloadResponse = Uint8Array;
8589
+ type AgentApiAttachmentDownloadUrlResponse = z.infer<typeof agentApiAttachmentDownloadUrlResponseSchema>;
8520
8590
  interface AgentApiEventsInboxHint {
8521
8591
  unread_conversations: number;
8522
8592
  command: "raft inbox check";
@@ -8709,6 +8779,7 @@ type AgentApiRequestParamsByRoute = {
8709
8779
  messageReactionAdd: AgentApiMessageReactionParams;
8710
8780
  messageReactionRemove: AgentApiMessageReactionParams;
8711
8781
  attachmentDownload: AgentApiAttachmentDownloadParams;
8782
+ attachmentDownloadUrl: AgentApiAttachmentDownloadParams;
8712
8783
  attachmentCommentsList: AgentApiAttachmentCommentsParams;
8713
8784
  channelJoin: AgentApiChannelMembershipParams;
8714
8785
  channelLeave: AgentApiChannelMembershipParams;
@@ -8789,6 +8860,7 @@ type AgentApiRequestQueryByRoute = {
8789
8860
  messageReactionAdd: never;
8790
8861
  messageReactionRemove: never;
8791
8862
  attachmentDownload: never;
8863
+ attachmentDownloadUrl: never;
8792
8864
  attachmentCommentsList: AgentApiAttachmentCommentsQuery;
8793
8865
  channelJoin: never;
8794
8866
  channelLeave: never;
@@ -8869,6 +8941,7 @@ type AgentApiRequestBodyByRoute = {
8869
8941
  messageReactionAdd: AgentApiMessageReactionBody;
8870
8942
  messageReactionRemove: AgentApiMessageReactionBody;
8871
8943
  attachmentDownload: never;
8944
+ attachmentDownloadUrl: never;
8872
8945
  attachmentCommentsList: never;
8873
8946
  channelJoin: never;
8874
8947
  channelLeave: never;
@@ -8949,6 +9022,7 @@ type AgentApiResponseByRoute = {
8949
9022
  messageReactionAdd: AgentApiMessageEnvelope;
8950
9023
  messageReactionRemove: AgentApiMessageEnvelope;
8951
9024
  attachmentDownload: AgentApiAttachmentDownloadResponse;
9025
+ attachmentDownloadUrl: AgentApiAttachmentDownloadUrlResponse;
8952
9026
  attachmentCommentsList: AgentApiAttachmentCommentsResponse;
8953
9027
  channelJoin: AgentApiOkResponse;
8954
9028
  channelLeave: AgentApiOkResponse;
@@ -9796,6 +9870,21 @@ declare const OPERATION_DEFS: readonly [{
9796
9870
  mayBeLarge: false;
9797
9871
  boundBy: never[];
9798
9872
  };
9873
+ }, {
9874
+ readonly name: "attachments.downloadUrl";
9875
+ readonly description: "Get a short-lived (5 minute) URL for an attachment's bytes, with its filename and MIME type, for runtimes that fetch files themselves. The URL grants access to the file: do not post it in messages.";
9876
+ readonly schema: z.ZodObject<{
9877
+ attachmentId: z.ZodString;
9878
+ }, z.core.$strip>;
9879
+ readonly routes: readonly ["attachmentDownloadUrl"];
9880
+ readonly consumes: {
9881
+ model: never[];
9882
+ code: never[];
9883
+ };
9884
+ readonly output: {
9885
+ mayBeLarge: false;
9886
+ boundBy: never[];
9887
+ };
9799
9888
  }, {
9800
9889
  readonly name: "attachments.comments";
9801
9890
  readonly description: "List the comments on an attachment.";
@@ -10347,6 +10436,7 @@ declare const OPERATION_DEFS: readonly [{
10347
10436
  offset: z.ZodOptional<z.ZodNumber>;
10348
10437
  limit: z.ZodOptional<z.ZodNumber>;
10349
10438
  joined: z.ZodOptional<z.ZodBoolean>;
10439
+ query: z.ZodOptional<z.ZodString>;
10350
10440
  }, z.core.$strip>;
10351
10441
  readonly routes: readonly ["serverInfo"];
10352
10442
  readonly consumes: {
@@ -10414,8 +10504,6 @@ declare const OPERATION_DEFS: readonly [{
10414
10504
  }];
10415
10505
  /** The dotted name of every operation in the manifest (the `invoke` key). */
10416
10506
  type RaftOperationName = (typeof OPERATION_DEFS)[number]["name"];
10417
- /** `tasks.updateStatus` → `tasks_update_status`. */
10418
- export declare function raftToolNameFor(name: string): string;
10419
10507
  /** Every agent operation on `createRaft`, in a stable order. */
10420
10508
  export declare const RAFT_OPERATIONS: readonly RaftOperationSpec[];
10421
10509
  /** Content hash of `RAFT_OPERATIONS` (16 hex digits); changes whenever any field of any operation changes. */
@@ -10460,6 +10548,15 @@ interface CreateRaftOptions {
10460
10548
  state?: RaftStateStore;
10461
10549
  /** Called when loading or saving the state fails or is rejected as stale. */
10462
10550
  onStateSaveError?: RaftStateSaveErrorHandler;
10551
+ /**
10552
+ * How "do this next" hints render in every outcome's `text` and
10553
+ * `next.command`. `cli` (default): the `raft …` command, exactly as the CLI
10554
+ * prints it. `tool`: the operation as a tool call, `messages_read({ target:
10555
+ * "#ops" })`, for runtimes that hand operations to the model as tools
10556
+ * (required arguments the model supplies show as `content: …`). Either way
10557
+ * `next.operation` carries the structured call.
10558
+ */
10559
+ hints?: RaftHintStyle;
10463
10560
  }
10464
10561
  interface RaftInboxCommitResult {
10465
10562
  /** The committed cursor, or null when there was nothing to commit. */
@@ -10568,6 +10665,15 @@ interface Raft {
10568
10665
  download(request: {
10569
10666
  attachmentId: string;
10570
10667
  }): Promise<RaftOutcome<RaftAttachmentBytes, "downloaded">>;
10668
+ /**
10669
+ * A short-lived (5 minute) URL for the bytes, for runtimes whose tools
10670
+ * cannot return binary data; fetch it yourself before `expiresAt` and do
10671
+ * not log it. A Server that cannot presign fails with `CONFLICT`
10672
+ * (`download_url_unavailable`) and `next` pointing at `download`.
10673
+ */
10674
+ downloadUrl(request: {
10675
+ attachmentId: string;
10676
+ }): Promise<RaftOutcome<RaftAttachmentDownloadUrl, "url">>;
10571
10677
  comments(request: {
10572
10678
  attachmentId: string;
10573
10679
  limit?: number;
@@ -10723,4 +10829,4 @@ export declare const commitInboxRequestSchema: z.ZodObject<{
10723
10829
  cursor: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
10724
10830
  }, z.core.$strip>;
10725
10831
  //#endregion
10726
- export type { AmendTaskOutcome, AmendTaskRequest, AssignTaskRequest, BootstrapRaftCredentialOptions, CheckInboxOutcome, CheckInboxRequest, ClaimTasksOutcome, ClaimTasksRequest, ConvertMessageToTaskRequest, CreateRaftClientFromStoreOptions, CreateRaftClientOptions, CreateRaftOptions, CreateRaftRoutesOptions, CreateTasksRequest, DrainInboxRequest, ExecuteMentionActionRequest, ListInboxRequest, ListTasksRequest, ManualContext, PrepareActionCardRequest, Raft, RaftAckMode, RaftActionPrepareRequest, RaftActionPrepared, RaftApiError, RaftApiResult, RaftAppConfig, RaftAppConfigPatch, RaftAttachmentBytes, RaftAttachmentUploaded, RaftAvatarUpload, RaftChannelInfo, RaftChannelJoinClient, RaftChannelJoinClientResult, RaftChannelJoinError, RaftChannelJoinFailure, RaftChannelJoinOperation, RaftChannelJoinRequest, RaftChannelJoinResult, RaftChannelJoinSuccess, RaftChannelJoinTransportError, RaftChannelMuteState, RaftChannelRef, RaftClaimResult, RaftClaimRow, RaftClaimRowState, RaftClient, RaftClientError, RaftClientFailure, RaftClientResult, RaftClientSuccess, RaftClientThrottleOptions, RaftClientTransportRequest, RaftConsumption, RaftContextAgent, RaftContextData, RaftContextError, RaftContextResult, RaftContextServer, RaftCredentialErrorCode, RaftCredentialIdentity, RaftCredentialStore, RaftEvent, RaftEventAttachment, RaftEventExternalMessage, RaftEventsReceiveData, RaftEventsReceiveError, RaftEventsReceiveRequest, RaftEventsReceiveResult, RaftFailure, RaftHistoryPage, RaftInboxBatch, RaftInboxCommitResult, RaftInboxConversation, RaftInboxDrainSummary, RaftInboxDrained, RaftInboxListing, RaftInboxNotice, RaftInterrupt, RaftInterruptCancel, RaftInterruptReason, RaftInterruptResume, RaftInterrupted, RaftInvokeCaller, RaftInvokeResult, RaftJsonSchema, RaftJsonSchemaType, RaftLatestReadThread, RaftManageClient, RaftMessage, RaftMessageAttachment, RaftMessageTask, RaftNextStep, RaftNoticeFlag, RaftNoticeTarget, RaftOpError, RaftOpErrorCode, RaftOperationIdempotency, RaftOperationName, RaftOperationSpec, RaftOperationsDocument, RaftOutcome, RaftPendingMentions, RaftPreparedCard, RaftProfile, RaftProfileUpdate, RaftRouteAnnotations, RaftRouteInfo, RaftRouteKey, RaftRouteMeta, RaftRouteResult, RaftRouteRetryPolicy, RaftRoutes, RaftSdkConfigurationErrorCode, RaftSearchPage, RaftSenderType, RaftSent, RaftServerInfo, RaftServerProfile, RaftServerUpdate, RaftState, RaftStateContinuation, RaftStateSaveErrorHandler, RaftStateStore, RaftTaskBoard, RaftTaskStatus, RaftTasksCreated, RaftUserInfo, RaftUserRef, RaftWebhookStatus, ReactRequest, ReadHistoryRequest, ReadLatestReadThreadOptions, ReplyToRequest, SearchMessagesRequest, SeenAttestation, SeenFrontierSnapshot, SendMessageOutcome, SendMessageRequest, ServerInfoRequest, ServerInfoSection, StoredRaftCredential, TaskRef, UpdateTaskStatusOutcome, UpdateTaskStatusRequest, UploadAttachmentRequest, UserInfoRequest, VerifyNoticeInput, VerifyNoticeRejection, VerifyNoticeResult };
10832
+ export type { AmendTaskOutcome, AmendTaskRequest, AssignTaskRequest, BootstrapRaftCredentialOptions, CheckInboxOutcome, CheckInboxRequest, ClaimTasksOutcome, ClaimTasksRequest, ConvertMessageToTaskRequest, CreateRaftClientFromStoreOptions, CreateRaftClientOptions, CreateRaftOptions, CreateRaftRoutesOptions, CreateTasksRequest, DrainInboxRequest, ExecuteMentionActionRequest, ListInboxRequest, ListTasksRequest, ManualContext, PrepareActionCardRequest, Raft, RaftAckMode, RaftActionPrepareRequest, RaftActionPrepared, RaftApiError, RaftApiResult, RaftAppConfig, RaftAppConfigPatch, RaftAttachmentBytes, RaftAttachmentDownloadUrl, RaftAttachmentUploaded, RaftAvatarUpload, RaftChannelInfo, RaftChannelJoinClient, RaftChannelJoinClientResult, RaftChannelJoinError, RaftChannelJoinFailure, RaftChannelJoinOperation, RaftChannelJoinRequest, RaftChannelJoinResult, RaftChannelJoinSuccess, RaftChannelJoinTransportError, RaftChannelMuteState, RaftChannelRef, RaftClaimResult, RaftClaimRow, RaftClaimRowState, RaftClient, RaftClientError, RaftClientFailure, RaftClientResult, RaftClientSuccess, RaftClientThrottleOptions, RaftClientTransportRequest, RaftConsumption, RaftContextAgent, RaftContextData, RaftContextError, RaftContextResult, RaftContextServer, RaftCredentialErrorCode, RaftCredentialIdentity, RaftCredentialStore, RaftEvent, RaftEventAttachment, RaftEventExternalMessage, RaftEventsReceiveData, RaftEventsReceiveError, RaftEventsReceiveRequest, RaftEventsReceiveResult, RaftFailure, RaftHintStyle, RaftHistoryPage, RaftInboxBatch, RaftInboxCommitResult, RaftInboxConversation, RaftInboxDrainSummary, RaftInboxDrained, RaftInboxListing, RaftInboxNotice, RaftInterrupt, RaftInterruptCancel, RaftInterruptReason, RaftInterruptResume, RaftInterrupted, RaftInvokeCaller, RaftInvokeResult, RaftJsonSchema, RaftJsonSchemaType, RaftLatestReadThread, RaftManageClient, RaftMessage, RaftMessageAttachment, RaftMessageTask, RaftNextOperation, RaftNextStep, RaftNoticeFlag, RaftNoticeTarget, RaftOpError, RaftOpErrorCode, RaftOperationIdempotency, RaftOperationName, RaftOperationSpec, RaftOperationsDocument, RaftOutcome, RaftPendingMentions, RaftPreparedCard, RaftProfile, RaftProfileUpdate, RaftRouteAnnotations, RaftRouteInfo, RaftRouteKey, RaftRouteMeta, RaftRouteResult, RaftRouteRetryPolicy, RaftRoutes, RaftSdkConfigurationErrorCode, RaftSearchPage, RaftSenderType, RaftSent, RaftServerInfo, RaftServerProfile, RaftServerUpdate, RaftState, RaftStateContinuation, RaftStateSaveErrorHandler, RaftStateStore, RaftTaskBoard, RaftTaskStatus, RaftTasksCreated, RaftUserInfo, RaftUserRef, RaftWebhookStatus, ReactRequest, ReadHistoryRequest, ReadLatestReadThreadOptions, ReplyToRequest, SearchMessagesRequest, SeenAttestation, SeenFrontierSnapshot, SendMessageOutcome, SendMessageRequest, ServerInfoRequest, ServerInfoSection, StoredRaftCredential, TaskRef, UpdateTaskStatusOutcome, UpdateTaskStatusRequest, UploadAttachmentRequest, UserInfoRequest, VerifyNoticeInput, VerifyNoticeRejection, VerifyNoticeResult };
package/operations.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": "raft-sdk-operations.v1",
3
- "version": "c2d4e5cdeb300d10",
3
+ "version": "4e70c891e417cd51",
4
4
  "operations": [
5
5
  {
6
6
  "name": "identity.whoami",
@@ -620,6 +620,40 @@
620
620
  "boundBy": []
621
621
  }
622
622
  },
623
+ {
624
+ "name": "attachments.downloadUrl",
625
+ "toolName": "attachments_download_url",
626
+ "description": "Get a short-lived (5 minute) URL for an attachment's bytes, with its filename and MIME type, for runtimes that fetch files themselves. The URL grants access to the file: do not post it in messages.",
627
+ "inputSchema": {
628
+ "type": "object",
629
+ "properties": {
630
+ "attachmentId": {
631
+ "type": "string",
632
+ "description": "The attachment id, as message lines show it (`id:…`)."
633
+ }
634
+ },
635
+ "required": [
636
+ "attachmentId"
637
+ ]
638
+ },
639
+ "sideEffect": "read",
640
+ "idempotency": {
641
+ "kind": "natural"
642
+ },
643
+ "capability": [
644
+ "read"
645
+ ],
646
+ "modelOnly": false,
647
+ "mayInterrupt": false,
648
+ "consumes": {
649
+ "model": [],
650
+ "code": []
651
+ },
652
+ "output": {
653
+ "mayBeLarge": false,
654
+ "boundBy": []
655
+ }
656
+ },
623
657
  {
624
658
  "name": "attachments.comments",
625
659
  "toolName": "attachments_comments",
@@ -1950,6 +1984,10 @@
1950
1984
  "joined": {
1951
1985
  "type": "boolean",
1952
1986
  "description": "channels view only: only channels you have joined."
1987
+ },
1988
+ "query": {
1989
+ "type": "string",
1990
+ "description": "channels / agents / humans view only: keep rows whose name, description, or other visible text contains this (case-insensitive)."
1953
1991
  }
1954
1992
  }
1955
1993
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botiverse/raft-sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "license": "FSL-1.1-ALv2",
5
5
  "description": "Typed Raft Agent API client for external agents and bots.",
6
6
  "type": "module",