@blade-hq/agent-client 2612.0.0-beta.2 → 2612.0.0-beta.21

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.
Files changed (92) hide show
  1. package/README.md +203 -19
  2. package/dist/blade-client.d.ts +13 -1
  3. package/dist/{chunk-PWJJJATA.js → chunk-J3XXTHHK.js} +1723 -701
  4. package/dist/chunk-J3XXTHHK.js.map +1 -0
  5. package/dist/index.d.ts +12 -3
  6. package/dist/index.js +9 -1
  7. package/dist/internal.d.ts +9 -3
  8. package/dist/internal.js +13 -1
  9. package/dist/internal.js.map +1 -1
  10. package/dist/resources/auth.d.ts +3 -1
  11. package/dist/resources/chat-groups.d.ts +92 -0
  12. package/dist/resources/headless.d.ts +5 -0
  13. package/dist/resources/models.d.ts +6 -1
  14. package/dist/resources/plugins.d.ts +1 -0
  15. package/dist/resources/sessions.d.ts +96 -11
  16. package/dist/schemas/context-attachments.d.ts +16 -0
  17. package/dist/schemas/event.d.ts +2 -0
  18. package/dist/schemas/message-utils.d.ts +3 -9
  19. package/dist/schemas/message.d.ts +18 -1
  20. package/dist/schemas/plugin-refs.d.ts +15 -0
  21. package/dist/schemas/projection.d.ts +31 -0
  22. package/dist/schemas/session.d.ts +2 -42
  23. package/dist/schemas/topic-assets.d.ts +7 -0
  24. package/dist/server-clock.d.ts +2 -0
  25. package/dist/session/agent-session.d.ts +51 -7
  26. package/dist/session/background.d.ts +14 -0
  27. package/dist/session/events.d.ts +0 -1
  28. package/dist/session/hub.d.ts +3 -0
  29. package/dist/session/log-cursor.d.ts +14 -0
  30. package/dist/session/state.d.ts +2 -1
  31. package/dist/session/workflow.d.ts +10 -3
  32. package/dist/shared/projection/builder.d.ts +5 -0
  33. package/dist/shared/projection/helpers.d.ts +2 -0
  34. package/dist/shared/projection/index.d.ts +1 -0
  35. package/dist/shared/projection/workflow.d.ts +24 -0
  36. package/dist/tool-provider.d.ts +51 -0
  37. package/dist/types/socket-events.d.ts +179 -6
  38. package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +2 -3
  39. package/node_modules/engine.io-client/build/cjs/index.d.ts +3 -3
  40. package/node_modules/engine.io-client/build/cjs/index.js +1 -4
  41. package/node_modules/engine.io-client/build/cjs/socket.d.ts +39 -82
  42. package/node_modules/engine.io-client/build/cjs/socket.js +151 -218
  43. package/node_modules/engine.io-client/build/cjs/transport.d.ts +1 -1
  44. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +4 -4
  45. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +2 -2
  46. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +17 -7
  47. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +17 -7
  48. package/node_modules/engine.io-client/build/esm/globals.node.d.ts +2 -3
  49. package/node_modules/engine.io-client/build/esm/index.d.ts +3 -3
  50. package/node_modules/engine.io-client/build/esm/index.js +1 -2
  51. package/node_modules/engine.io-client/build/esm/socket.d.ts +39 -82
  52. package/node_modules/engine.io-client/build/esm/socket.js +141 -206
  53. package/node_modules/engine.io-client/build/esm/transport.d.ts +1 -1
  54. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +4 -4
  55. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +2 -2
  56. package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +2 -3
  57. package/node_modules/engine.io-client/build/esm-debug/index.d.ts +3 -3
  58. package/node_modules/engine.io-client/build/esm-debug/index.js +1 -2
  59. package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +39 -82
  60. package/node_modules/engine.io-client/build/esm-debug/socket.js +150 -215
  61. package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +1 -1
  62. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +4 -4
  63. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +2 -2
  64. package/node_modules/engine.io-client/dist/engine.io.esm.min.js +3 -3
  65. package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +1 -1
  66. package/node_modules/engine.io-client/dist/engine.io.js +164 -239
  67. package/node_modules/engine.io-client/dist/engine.io.js.map +1 -1
  68. package/node_modules/engine.io-client/dist/engine.io.min.js +3 -3
  69. package/node_modules/engine.io-client/dist/engine.io.min.js.map +1 -1
  70. package/node_modules/engine.io-client/package.json +2 -2
  71. package/node_modules/socket.io-parser/build/cjs/binary.js +4 -1
  72. package/node_modules/socket.io-parser/build/cjs/index.d.ts +14 -4
  73. package/node_modules/socket.io-parser/build/cjs/index.js +18 -11
  74. package/node_modules/socket.io-parser/build/esm/binary.js +4 -1
  75. package/node_modules/socket.io-parser/build/esm/index.d.ts +14 -4
  76. package/node_modules/socket.io-parser/build/esm/index.js +14 -10
  77. package/node_modules/socket.io-parser/build/esm-debug/binary.js +4 -1
  78. package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +14 -4
  79. package/node_modules/socket.io-parser/build/esm-debug/index.js +14 -10
  80. package/node_modules/socket.io-parser/package.json +1 -1
  81. package/node_modules/ws/index.js +15 -6
  82. package/node_modules/ws/lib/constants.js +1 -0
  83. package/node_modules/ws/lib/permessage-deflate.js +9 -7
  84. package/node_modules/ws/lib/receiver.js +37 -0
  85. package/node_modules/ws/lib/sender.js +6 -1
  86. package/node_modules/ws/lib/websocket-server.js +18 -6
  87. package/node_modules/ws/lib/websocket.js +50 -17
  88. package/node_modules/ws/package.json +8 -3
  89. package/node_modules/ws/wrapper.mjs +14 -1
  90. package/package.json +4 -4
  91. package/public-api.md +335 -28
  92. package/dist/chunk-PWJJJATA.js.map +0 -1
package/public-api.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > 本文件由 `scripts/public-api-report.mjs` 生成,请勿手改。
4
4
  > 公共面变更时重新生成本报告,并同步更新 README 对应章节——CI 会校验两者。
5
5
 
6
- 共 89 个公开声明。
6
+ 共 117 个公开声明。
7
7
 
8
8
  ## `AccountComputer` (interface)
9
9
 
@@ -62,6 +62,7 @@ deliverQueuedMessage: (itemId: string, expectedVersion: number) => Promise<Queue
62
62
  dispose: () => void
63
63
  downloadFile: (filePath: string, downloadName?: string) => Promise<void>
64
64
  exitReplay: () => Promise<void>
65
+ getDelivery: (requestId: string) => Promise<DeliveryReceipt>
65
66
  getState: () => SessionState
66
67
  hasOlderHistory: boolean
67
68
  insertText: (text: string) => void
@@ -74,6 +75,7 @@ locateEntry: (entryId: string) => Promise<boolean>
74
75
  off: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => void
75
76
  on: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => () => void
76
77
  onCommand: (action: string, handler: CommandHandler) => () => void
78
+ prepareSend: (content: string, options?: PreparedSendOptions) => PreparedSend
77
79
  queueMessage: (content: string) => Promise<QueueOperationResult>
78
80
  refreshQueue: () => Promise<QueueOperationResult>
79
81
  refreshRunningState: () => Promise<void>
@@ -81,6 +83,7 @@ reloadHistory: () => Promise<boolean>
81
83
  reorderQueuedMessages: (expectedRevision: number, orderedIds: string[]) => Promise<QueueOperationResult>
82
84
  resumeQueue: () => Promise<QueueOperationResult>
83
85
  send: (content: MessageContent, options?: SendOptions) => Promise<boolean>
86
+ sendPrepared: (request: PreparedSend) => Promise<DeliveryReceipt>
84
87
  sessionId: string
85
88
  setReplaySpeed: (speed: ReplaySpeed) => Promise<void>
86
89
  stop: () => Promise<Record<string, unknown>>
@@ -120,7 +123,7 @@ notification: { type: string; title: string; detail?: string; status: "info" | "
120
123
  replayMismatch: { actualMessage?: string; expectedMessage?: string; respond: (decision: "keep_replay" | "continue_replay") => void; }
121
124
  rewind: { checkpointId: string; }
122
125
  sandboxOom: { toolCallId: string; }
123
- sessionUpdated: { workspacePath?: string; chatGroupId?: string | null; intent?: string; status?: SessionStatus; model?: string | null; boundSkillId?: string | null; replayState?: Record<string, unknown> | null; }
126
+ sessionUpdated: { workspacePath?: string; chatGroupId?: string | null; intent?: string; status?: SessionStatus; model?: string | null; replayState?: Record<string, unknown> | null; }
124
127
  taskListUpdated: { tasks: unknown[]; }
125
128
  toolCall: { toolCall: ToolCallInfo; turn: TurnProjection; }
126
129
  toolPreview: { sourcePath?: string; toolCallId: string; type: "resource-html" | "resource-uri" | "resource-file"; content: string; title: string; mcpApp?: McpAppData; }
@@ -165,7 +168,7 @@ getContext: () => Record<string, unknown> | Promise<Record<string, unknown>>
165
168
 
166
169
  ```ts
167
170
  exchangeCode: (params: ExchangeCodeParams) => Promise<ExchangeCodeResult>
168
- getMe: () => Promise<UserInfo>
171
+ getMe: (options?: { signal?: AbortSignal; }) => Promise<UserInfo>
169
172
  getProviders: () => Promise<ProvidersResponse>
170
173
  login: (options?: LoginOptions) => Promise<LoginResult>
171
174
  logout: () => Promise<{ logout_url: string; }>
@@ -200,7 +203,9 @@ blob: (method: HttpMethod, path: string) => Promise<Blob>
200
203
  buildAuthedUrl: (path: string) => string
201
204
  chatGroups: ChatGroupsResource
202
205
  computers: ComputersResource
206
+ connectToolProvider: (options: ToolProviderOptions) => ToolProvider
203
207
  fetch: (method: HttpMethod, path: string, init?: BladeFetchInit, isRetry?: boolean) => Promise<Response>
208
+ forAnonymousSession: (sessionId: string) => BladeClient
204
209
  formData: (method: HttpMethod, path: string, form: FormData, options?: { expectOk?: boolean; onUploadProgress?: (progress: UploadProgress) => void; }) => Promise<Response>
205
210
  hasToken: () => boolean
206
211
  headless: HeadlessResource
@@ -228,9 +233,10 @@ token: string | null
228
233
  ## `BladeClientOptions` (interface)
229
234
 
230
235
  ```ts
236
+ anonymousSessionId: string | undefined
231
237
  baseUrl: string
232
- commandTransport: ((event: string, payload: Record<string, unknown>, send: () => Promise<Record<string, unknown>>) => Promise<Record<string, unknown>>) | undefined
233
- fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
238
+ commandTransport: ((event: string, payload: Record<string, unknown>, send: () => Promise<Record<string, unknown>>, scope?: { anonymousSessionId: string; }) => Promise<Record<string, unknown>>) | undefined
239
+ fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
234
240
  onRefreshSuccess: (() => void | Promise<void>) | undefined
235
241
  socketToken: string | (() => string | null | undefined) | undefined
236
242
  token: string | (() => string | null | undefined) | undefined
@@ -243,13 +249,89 @@ tokenStorage: TokenStorageMode | undefined
243
249
  chatErrorForDisplay: (message: string, developer?: boolean) => string
244
250
  ```
245
251
 
252
+ ## `ChatGroup` (interface)
253
+
254
+ ```ts
255
+ created_at: string
256
+ id: string
257
+ initiator: "ui" | "sdk" | null
258
+ instructions: string
259
+ member_count: number
260
+ name: string
261
+ role: ChatGroupRole
262
+ session_count: number
263
+ updated_at: string
264
+ workspace_path: string
265
+ ```
266
+
267
+ ## `ChatGroupAsset` (interface)
268
+
269
+ ```ts
270
+ is_dir: boolean
271
+ message: string
272
+ path: string
273
+ session_id: string | null
274
+ sha256: string
275
+ size: number
276
+ submitted_by: string
277
+ submitted_by_name: string
278
+ updated_at: string
279
+ ```
280
+
281
+ ## `ChatGroupAssetList` (interface)
282
+
283
+ ```ts
284
+ group_id: string
285
+ items: ChatGroupAsset[]
286
+ ```
287
+
288
+ ## `ChatGroupMember` (interface)
289
+
290
+ ```ts
291
+ added_at: string
292
+ added_by: string
293
+ display_name: string | null
294
+ role: ChatGroupRole
295
+ user_id: string
296
+ username: string
297
+ ```
298
+
299
+ ## `ChatGroupRole` (type)
300
+
301
+ ```ts
302
+ export type ChatGroupRole = "owner" | "editor" | "viewer"
303
+ ```
304
+
305
+ ## `ChatGroupTask` (interface)
306
+
307
+ ```ts
308
+ agent_started: boolean
309
+ can_open_session: boolean
310
+ created_at: string
311
+ created_by: string
312
+ description: string
313
+ due_date: string | null
314
+ group_id: string
315
+ id: string
316
+ number: number
317
+ owner_display_name: string
318
+ owner_left: boolean
319
+ owner_user_id: string
320
+ session_id: string | null
321
+ status: "done" | "todo" | "doing"
322
+ title: string
323
+ updated_at: string
324
+ ```
325
+
246
326
  ## `ChatMessage` (interface)
247
327
 
248
328
  ```ts
249
329
  blocks: ContentBlock[] | undefined
330
+ client_request_id: string | undefined
250
331
  compaction: CompactionInfo | undefined
251
332
  content: MessageContent
252
333
  context: ContextProjectionData | undefined
334
+ context_attachments: ContextAttachment[] | undefined
253
335
  duration_ms: number | undefined
254
336
  entry_id: string | undefined
255
337
  kind: string | undefined
@@ -257,11 +339,13 @@ loop_name: string | undefined
257
339
  memory_refs: MemoryRefInfo[] | undefined
258
340
  parent_id: string | null | undefined
259
341
  reasoning: string | undefined
342
+ refs: MessageRef[] | undefined
260
343
  render_id: string | undefined
261
344
  role: "error" | "user" | "assistant" | "tool"
262
345
  status: "streaming" | "completed" | "paused" | "failed" | "interrupted" | undefined
263
346
  timestamp: string | undefined
264
347
  tool_calls: ToolCallInfo[] | undefined
348
+ topic_asset_refs: TopicAssetRef[] | undefined
265
349
  ```
266
350
 
267
351
  ## `CommandHandler` (type)
@@ -290,10 +374,31 @@ export type ConnectionStatus = "connecting" | "connected" | "reconnecting" | "di
290
374
  contentPreview: (content: MessageContent, maxLen?: number) => string
291
375
  ```
292
376
 
377
+ ## `ContextAttachment` (interface)
378
+
379
+ ```ts
380
+ content: string
381
+ data: Record<string, unknown> | null | undefined
382
+ files: { name: string; session_id?: string; path?: string; }[] | undefined
383
+ id: string
384
+ label: string
385
+ ```
386
+
387
+ ## `CreateChatGroupTask` (interface)
388
+
389
+ ```ts
390
+ description: string | undefined
391
+ due_date: string | null | undefined
392
+ owner_user_id: string
393
+ start_agent: boolean | undefined
394
+ title: string
395
+ ```
396
+
293
397
  ## `CreateSessionRequest` (interface)
294
398
 
295
399
  ```ts
296
400
  agent_runtime_id: string | null | undefined
401
+ anonymous: boolean | undefined
297
402
  biz_role_id: string | null | undefined
298
403
  chat_group_id: string | null | undefined
299
404
  compaction_ratio: number | null | undefined
@@ -301,16 +406,17 @@ daemon_id: string | null | undefined
301
406
  disable_tools: string[] | null | undefined
302
407
  enable_thinking: boolean | null | undefined
303
408
  env: Record<string, string> | undefined
409
+ initiator: "ui" | "sdk" | undefined
304
410
  intent: string | undefined
411
+ mcp_sources: McpSourceConfig[] | undefined
305
412
  memory_enabled: boolean | null | undefined
306
413
  model: string | null | undefined
307
- primary_skill_id: string | null | undefined
308
414
  runtime_type: "sandbox" | "daemon" | "native" | null | undefined
309
415
  session_solution_asset_id: string | null | undefined
416
+ skip_confirmations: boolean | undefined
310
417
  solution_id: string | undefined
311
418
  solution_ref: PublishedSolutionRef | undefined
312
419
  solution_snapshot_session_id: string | undefined
313
- template_id: TemplateId | undefined
314
420
  ```
315
421
 
316
422
  ## `DEFAULT_REPLAY_SPEED` (const)
@@ -319,6 +425,17 @@ template_id: TemplateId | undefined
319
425
  DEFAULT_REPLAY_SPEED: ReplaySpeed
320
426
  ```
321
427
 
428
+ ## `DeliveryReceipt` (interface)
429
+
430
+ ```ts
431
+ executionId: string | null | undefined
432
+ itemId: string | undefined
433
+ message: string | undefined
434
+ queueStatus: string | undefined
435
+ requestId: string
436
+ status: "unknown" | "accepted" | "not_found" | "rejected"
437
+ ```
438
+
322
439
  ## `ExchangeCodeParams` (interface)
323
440
 
324
441
  ```ts
@@ -407,6 +524,18 @@ token: string
407
524
  user: { id?: string; username?: string; display_name?: string; } | undefined
408
525
  ```
409
526
 
527
+ ## `McpSourceConfig` (interface)
528
+
529
+ ```ts
530
+ bearer_token: string | null | undefined
531
+ description: string | undefined
532
+ eager_tools: string[] | undefined
533
+ exposure: "lazy" | "eager" | undefined
534
+ id: string
535
+ include_tools: string[] | null | undefined
536
+ url: string
537
+ ```
538
+
410
539
  ## `MemoryRefInfo` (interface)
411
540
 
412
541
  ```ts
@@ -427,6 +556,12 @@ export type MessageContent = string | MessageContentPart[]
427
556
  export type MessageContentPart = TextContentPart | ImageUrlContentPart | FileContentPart
428
557
  ```
429
558
 
559
+ ## `MessageRef` (type)
560
+
561
+ ```ts
562
+ export type MessageRef = PluginRef | SkillRef
563
+ ```
564
+
430
565
  ## `ModelCatalog` (interface)
431
566
 
432
567
  ```ts
@@ -441,15 +576,18 @@ unavailableProviderIds: string[] | undefined
441
576
  ## `ModelOption` (interface)
442
577
 
443
578
  ```ts
579
+ defaultReasoningLevel: string | undefined
444
580
  id: string
445
581
  label: string
582
+ reasoningLevels: string[] | undefined
446
583
  serviceModelId: string | undefined
584
+ thinkingAvailable: boolean | undefined
447
585
  ```
448
586
 
449
587
  ## `ModelsResource` (class)
450
588
 
451
589
  ```ts
452
- list: () => Promise<ModelCatalog>
590
+ list: (options?: { signal?: AbortSignal; }) => Promise<ModelCatalog>
453
591
  ```
454
592
 
455
593
  ## `MountHandle` (interface)
@@ -478,6 +616,24 @@ mount: (target: HTMLElement, data: T) => MountResult<T>
478
616
  export type MountResult<T> = undefined | (() => void) | MountHandle<T>
479
617
  ```
480
618
 
619
+ ## `normalizeMessageRefs` (function)
620
+
621
+ ```ts
622
+ normalizeMessageRefs: (value: unknown) => MessageRef[]
623
+ ```
624
+
625
+ ## `normalizePluginRefs` (function)
626
+
627
+ ```ts
628
+ normalizePluginRefs: (value: unknown) => PluginRef[]
629
+ ```
630
+
631
+ ## `normalizeTopicAssetRefs` (function)
632
+
633
+ ```ts
634
+ normalizeTopicAssetRefs: (value: unknown) => TopicAssetRef[]
635
+ ```
636
+
481
637
  ## `PaginatedSessionsResult` (interface)
482
638
 
483
639
  ```ts
@@ -488,6 +644,35 @@ offset: number
488
644
  total: number
489
645
  ```
490
646
 
647
+ ## `PluginRef` (interface)
648
+
649
+ ```ts
650
+ id: string
651
+ label: string
652
+ plugin: string
653
+ provider: "plugin"
654
+ server: string
655
+ ```
656
+
657
+ ## `PreparedSend` (interface)
658
+
659
+ ```ts
660
+ content: string
661
+ options: PreparedSendOptions
662
+ requestId: string
663
+ sessionId: string
664
+ ```
665
+
666
+ ## `PreparedSendOptions` (interface)
667
+
668
+ ```ts
669
+ contextAttachments: ContextAttachment[] | undefined
670
+ mode: "planning" | "executing" | undefined
671
+ model: string | undefined
672
+ reasoningLevel: "max" | "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined
673
+ thinkingOverride: boolean | undefined
674
+ ```
675
+
491
676
  ## `ProvidersResponse` (interface)
492
677
 
493
678
  ```ts
@@ -495,6 +680,23 @@ password_enabled: boolean
495
680
  providers: { name: string; authorize_url: string; }[]
496
681
  ```
497
682
 
683
+ ## `ProviderTool` (interface)
684
+
685
+ ```ts
686
+ description: string | undefined
687
+ handler: (arguments_: Record<string, unknown>, context: { sessionId: string; signal: AbortSignal; }) => Promise<ProviderToolResult>
688
+ inputSchema: Record<string, unknown>
689
+ name: string
690
+ ```
691
+
692
+ ## `ProviderToolResult` (interface)
693
+
694
+ ```ts
695
+ content: { type: "text"; text: string; }[]
696
+ isError: boolean | undefined
697
+ structuredContent: Record<string, unknown> | undefined
698
+ ```
699
+
498
700
  ## `QueuedMessage` (interface)
499
701
 
500
702
  ```ts
@@ -596,13 +798,15 @@ SDK_VERSION: string
596
798
 
597
799
  ```ts
598
800
  askUserAnswer: Record<string, unknown> | undefined
599
- kbIds: number[] | undefined
801
+ contextAttachments: ContextAttachment[] | undefined
600
802
  mode: string | undefined
601
803
  model: string | undefined
602
804
  queueWhenRunning: boolean | undefined
603
805
  reasoningLevel: string | undefined
806
+ refs: MessageRef[] | undefined
604
807
  replayDecision: "keep_replay" | "continue_replay" | undefined
605
808
  thinkingOverride: boolean | undefined
809
+ topicAssetRefs: TopicAssetRef[] | undefined
606
810
  whatif: { from_step: number; quotes: Array<Record<string, unknown>>; deprecate_entry_ids: string[]; } | undefined
607
811
  ```
608
812
 
@@ -638,6 +842,15 @@ memoryEnabled: boolean | undefined
638
842
  model: string | undefined
639
843
  ```
640
844
 
845
+ ## `SessionConfiguration` (interface)
846
+
847
+ ```ts
848
+ configuration: { solution_identity: Record<string, unknown> | null; solution_version: string | null; biz_role_id: string | null; biz_role_version: string | null; model: string | null; enable_thinking: boolean | null; memory_enabled: boolean; env: Record<string, string>; disable_tools: string[]; mcp_sources: Omit<McpSourceConfig, "bearer_token">[]; skip_confirmations: boolean; compaction_ratio: number | null; }
849
+ revision: number
850
+ session_id: string
851
+ version: string | null
852
+ ```
853
+
641
854
  ## `SessionDefinition` (interface)
642
855
 
643
856
  ```ts
@@ -651,9 +864,9 @@ solution: SolutionDefinition | undefined
651
864
 
652
865
  ```ts
653
866
  agent_runtime_id: string | null | undefined
867
+ anonymous: boolean | undefined
654
868
  ba_version: string | null | undefined
655
869
  biz_role_id: string | null | undefined
656
- bound_skill_id: string | null | undefined
657
870
  chat_group_id: string | null | undefined
658
871
  created_at: string
659
872
  daemon_id: string | null | undefined
@@ -674,8 +887,6 @@ pinned_at: string | null | undefined
674
887
  plan_summary: string | null | undefined
675
888
  ports: SessionPortMapping[] | undefined
676
889
  preview_url: string | null | undefined
677
- primary_skill_id: string | null | undefined
678
- primary_skill_snapshot: PrimarySkillSnapshot | null | undefined
679
890
  replay_state: ReplayState | null | undefined
680
891
  runtime_type: string | null | undefined
681
892
  sandbox_version: string | null | undefined
@@ -684,7 +895,6 @@ solution: Solution | null | undefined
684
895
  solution_id: string | null | undefined
685
896
  solution_ref: PublishedSolutionRef | null | undefined
686
897
  status: "completed" | "failed" | "interrupted" | "running" | "created" | "waiting_for_input"
687
- template_id: TemplateId | null | undefined
688
898
  updated_at: string
689
899
  viewer_role: "owner" | "viewer" | undefined
690
900
  workspace_path: string | null | undefined
@@ -700,12 +910,12 @@ SessionInfo = type({
700
910
  created_at: "string",
701
911
  updated_at: "string",
702
912
  "shared?": "boolean",
913
+ "anonymous?": "boolean",
703
914
  "memory_enabled?": "boolean",
704
915
  "is_persistent?": "boolean",
705
916
  "initiator?": "'ui' | 'sdk' | 'unknown' | null",
706
917
  "is_headless?": "boolean",
707
918
  "viewer_role?": "'owner' | 'viewer'",
708
- "template_id?": "string | null",
709
919
  "model?": "string | null",
710
920
  "enable_thinking?": "boolean | null",
711
921
  "solution_id?": "string | null",
@@ -713,10 +923,6 @@ SessionInfo = type({
713
923
  "biz_role_id?": "string | null",
714
924
  "solution?": "unknown",
715
925
  "plan_summary?": "string | null",
716
- "primary_skill_id?": "string | null",
717
- // ship-attack v2:后端 engine.set_bound_skill 写入的"绑定 skill id"。
718
- // 未绑定 / 非 ship-attack session 为 null。
719
- "bound_skill_id?": "string | null",
720
926
  "replay_state?": "unknown",
721
927
  "is_pinned?": "boolean",
722
928
  "pinned_at?": "string | null",
@@ -766,15 +972,16 @@ export type SessionSetupStage = "solution" | "session" | "skill" | "connection"
766
972
  ```ts
767
973
  attachAppCli: (sessionId: string, definition: AppCliDefinition) => Promise<AppCliAttachment>
768
974
  callMcpApp: (sessionId: string, sourceId: string, request: { request_id: string; name: string; arguments: Record<string, unknown>; }, init?: RequestInit) => Promise<{ response: Record<string, unknown>; replayed: boolean; }>
769
- checkoutSession: (sessionId: string, checkpointId: string, position: "before" | "turn_end", mode?: "both" | "conversation" | "code", linear?: boolean) => Promise<{ id: string; content: string; position: string; mode?: string; files_restored?: boolean; linear?: boolean; }>
975
+ checkoutSession: (sessionId: string, checkpointId: string, position: "before" | "turn_end", mode?: "both" | "conversation" | "code", linear?: boolean) => Promise<{ id: string; content: string; position: string; mode?: string; files_restored?: boolean; linear?: boolean; history_committed?: boolean; file_checkpoint_cleanup_failed?: boolean; warning?: string; }>
770
976
  connect: (sessionId: string) => Promise<AgentSession>
771
977
  copyFile: (sessionId: string, filePath: string) => Promise<{ path: string; }>
772
978
  countFiles: (sessionId: string, dirPath?: string) => Promise<number>
773
979
  create: (request?: CreateSessionRequest | SessionDefinition) => Promise<AgentSession>
774
- createSession: (intent?: string, template_id?: TemplateId, primary_skill_id?: string | null) => Promise<{ session_id: string; }>
980
+ createSession: (intent?: string) => Promise<{ session_id: string; }>
775
981
  createSessionWithRequest: (request: CreateSessionRequest) => Promise<{ session_id: string; }>
776
982
  createShare: (sessionId: string) => Promise<ShareLinkResult>
777
983
  createWithProfile: (params: { intent: string; profile: SessionProfile; }) => Promise<{ session_id: string; }>
984
+ deleteAnonymousSession: (sessionId: string) => Promise<{ deleted: boolean; }>
778
985
  deleteFile: (sessionId: string, filePath: string) => Promise<void>
779
986
  deleteSession: (sessionId: string, options?: { deleteWorkspace?: boolean; }) => Promise<{ deleted: boolean; workspace_deleted?: boolean; }>
780
987
  downloadFile: (sessionId: string, filePath: string, downloadName?: string) => Promise<void>
@@ -789,9 +996,10 @@ getMcpAppContext: (sessionId: string, sourceId: string, init?: RequestInit) => P
789
996
  getReplayPreview: (sessionId: string) => Promise<ReplayPreview>
790
997
  getSession: (sessionId: string, init?: RequestInit) => Promise<SessionDetail>
791
998
  getSessionCheckpoints: (sessionId: string, init?: RequestInit) => Promise<{ nodes: CheckpointNode[]; leaf_id: string | null; }>
999
+ getSessionConfiguration: (sessionId: string, init?: RequestInit) => Promise<SessionConfiguration>
792
1000
  getSessionContextStats: (sessionId: string, init?: RequestInit) => Promise<SessionContextStats>
793
1001
  getSessionHistory: (sessionId: string, init?: RequestInit) => Promise<SessionHistory>
794
- getSessionPluginConfig: (sessionId: string, name: string, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
1002
+ getSessionPluginConfig: (sessionId: string, name: string, init?: RequestInit, scope?: "personal" | "global") => Promise<{ plugin: string; config: SessionPluginConfigState; can_configure_global?: boolean; host?: SessionPluginHostState | null; }>
795
1003
  getSessionTasks: (sessionId: string) => Promise<Task[]>
796
1004
  getSessionTurnCommands: (sessionId: string) => Promise<HistoricalCommand[]>
797
1005
  getSessionTurnIndex: (sessionId: string) => Promise<SessionTurnIndex>
@@ -799,12 +1007,13 @@ getSessionTurns: (sessionId: string) => Promise<TurnProjection[]>
799
1007
  getSessionTurnsPage: (sessionId: string, options?: SessionTurnsQuery, init?: RequestInit) => Promise<SessionTurnsPage>
800
1008
  getSharedSession: (token: string) => Promise<TurnProjection[]>
801
1009
  importSession: (file: File, name?: string, solutionOverride?: string | null | ImportSessionOptions) => Promise<{ session_id: string; }>
1010
+ listAnonymousSessions: () => Promise<Array<{ id: string; intent: string; created_at: string; status: string; }>>
802
1011
  listBackgroundTasks: (sessionId: string, init?: RequestInit) => Promise<BackgroundTask[]>
803
1012
  listDir: (sessionId: string, dirPath: string, showHidden?: boolean) => Promise<FileEntry[]>
804
1013
  listResultFeedback: (sessionId: string) => Promise<ResultFeedback[]>
805
1014
  listSessionPlugins: (sessionId: string, init?: RequestInit) => Promise<{ plugins: SessionPlugin[]; sync_version: number; sync_pending: boolean; }>
806
- listSessions: (template_id_prefix?: string, solution_id?: string) => Promise<SessionInfo[]>
807
- listSessionsPaginated: (params: { limit: number; offset: number; template_id_prefix?: string; solution_id?: string; solution_registry_id?: string; q?: string; chat_group_id?: string; }) => Promise<PaginatedSessionsResult>
1015
+ listSessions: (solution_id?: string) => Promise<SessionInfo[]>
1016
+ listSessionsPaginated: (params: { limit: number; offset: number; solution_id?: string; solution_registry_id?: string; q?: string; chat_group_id?: string; }) => Promise<PaginatedSessionsResult>
808
1017
  listSessionsWithSkillData: () => Promise<SkillDevSession[]>
809
1018
  onMcpAppChanged: (sessionId: string, sourceId: string, listener: () => void) => () => void
810
1019
  pinSession: (sessionId: string, pinned: boolean) => Promise<SessionInfo>
@@ -813,8 +1022,9 @@ previewImport: (file: File) => Promise<ImportPreview>
813
1022
  probeSessionUrl: (sessionId: string, url: string) => Promise<{ reachable: boolean; requires_proxy: boolean; }>
814
1023
  putResultFeedback: (sessionId: string, assistantEntryId: string, feedback: { helpful: boolean; reason?: ResultFeedbackReason | null; }) => Promise<ResultFeedback>
815
1024
  renameFile: (sessionId: string, filePath: string, newName: string) => Promise<{ path: string; }>
1025
+ restartSessionPluginHost: (sessionId: string, name: string) => Promise<{ host: SessionPluginHostState | null; }>
816
1026
  revokeShare: (sessionId: string, token: string) => Promise<{ revoked: boolean; }>
817
- rewindSession: (sessionId: string, checkpointId: string) => Promise<{ id: string; content: string; }>
1027
+ rewindSession: (sessionId: string, checkpointId: string) => Promise<{ id: string; content: string; history_committed?: boolean; file_checkpoint_cleanup_failed?: boolean; warning?: string; }>
818
1028
  searchOwnedContent: (params: { q: string; limit?: number; }) => Promise<GlobalSearchResult>
819
1029
  sessionPluginIconUrl: (sessionId: string, name: string) => string
820
1030
  setSessionEnv: (sessionId: string, env: Record<string, string>) => Promise<SessionDetail>
@@ -828,8 +1038,9 @@ tokenizePrompt: (prompt: string, model?: string) => Promise<TokenizeResult>
828
1038
  updateMcpAppContext: (sessionId: string, sourceId: string, body: McpAppContextUpdate, init?: RequestInit) => Promise<{ status: "accepted"; revision: string; }>
829
1039
  updateReplaySession: (sessionId: string, payload: { speed?: ReplaySpeed; status?: "autonomous"; }) => Promise<{ replay_state: SessionInfo["replay_state"]; }>
830
1040
  updateSession: (sessionId: string, payload: { intent?: string; chat_group_id?: string | null; }) => Promise<SessionDetail>
1041
+ updateSessionConfiguration: (sessionId: string, request: UpdateSessionConfigurationRequest) => Promise<SessionConfiguration>
831
1042
  updateSessionMemory: (sessionId: string, memoryEnabled: boolean) => Promise<{ memory_enabled: boolean; }>
832
- updateSessionPluginConfig: (sessionId: string, name: string, update: SessionPluginConfigUpdate, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
1043
+ updateSessionPluginConfig: (sessionId: string, name: string, update: SessionPluginConfigUpdate, init?: RequestInit, scope?: "personal" | "global") => Promise<{ plugin: string; config: SessionPluginConfigState; }>
833
1044
  updateSharing: (sessionId: string, shared: boolean) => Promise<{ shared: boolean; }>
834
1045
  uploadFiles: (sessionId: string, dirPath: string, files: FileList | File[] | UploadFileEntry[], options?: UploadFilesOptions) => Promise<{ uploaded: string[]; failed: string[]; results: Array<{ index: number; path?: string; error?: string; }>; }>
835
1046
  writeFile: (sessionId: string, filePath: string, content: string) => Promise<{ success: boolean; }>
@@ -908,6 +1119,14 @@ installed: boolean | undefined
908
1119
  local: boolean | undefined
909
1120
  ```
910
1121
 
1122
+ ## `SkillRef` (interface)
1123
+
1124
+ ```ts
1125
+ id: string
1126
+ label: string
1127
+ provider: "skill"
1128
+ ```
1129
+
911
1130
  ## `SolutionDefinition` (type)
912
1131
 
913
1132
  ```ts
@@ -945,17 +1164,91 @@ export type TokenStorageMode = "local" | "memory"
945
1164
  arguments: string
946
1165
  display_name: string | null | undefined
947
1166
  duration_ms: number | null | undefined
1167
+ evidence: ToolEvidence[] | undefined
948
1168
  id: string
949
1169
  name: string
950
1170
  pending_question_ref: PendingQuestionRef | null | undefined
951
1171
  result: unknown
952
1172
  status: "done" | "error" | "cancelled" | "awaiting_answer" | "pending" | undefined
1173
+ workflow_steps: WorkflowStepInfo[] | null | undefined
1174
+ ```
1175
+
1176
+ ## `ToolEvidence` (interface)
1177
+
1178
+ ```ts
1179
+ branch: string
1180
+ digest: string
1181
+ id: string
1182
+ loop: string
1183
+ n: number
1184
+ parent_tool_call_id: string | undefined
1185
+ plugin: string
1186
+ server: string
1187
+ source: string
1188
+ text: string
1189
+ title: string
1190
+ tool_call_id: string
1191
+ url: string | undefined
1192
+ ```
1193
+
1194
+ ## `ToolProvider` (class)
1195
+
1196
+ ```ts
1197
+ dispose: () => void
1198
+ ready: () => Promise<void>
1199
+ reconnect: () => void
1200
+ url: string
1201
+ ```
1202
+
1203
+ ## `ToolProviderOptions` (interface)
1204
+
1205
+ ```ts
1206
+ capability: string
1207
+ onError: ((error: Error) => void) | undefined
1208
+ providerId: string
1209
+ tools: ProviderTool[]
1210
+ ```
1211
+
1212
+ ## `TopicAssetRef` (interface)
1213
+
1214
+ ```ts
1215
+ path: string
1216
+ topic_id: string
953
1217
  ```
954
1218
 
955
1219
  ## `transformSlashCommand` (function)
956
1220
 
957
1221
  ```ts
958
- transformSlashCommand: (skillName: string, rawInput: string, { local, installed }?: SkillMentionAvailability) => string
1222
+ transformSlashCommand: (skillName: string, rawInput: string, _availability?: SkillMentionAvailability) => string
1223
+ ```
1224
+
1225
+ ## `UpdateChatGroupTask` (interface)
1226
+
1227
+ ```ts
1228
+ description: string | undefined
1229
+ due_date: string | null | undefined
1230
+ owner_user_id: string | undefined
1231
+ status: "done" | "todo" | "doing" | undefined
1232
+ title: string | undefined
1233
+ ```
1234
+
1235
+ ## `UpdateSessionConfigurationRequest` (interface)
1236
+
1237
+ ```ts
1238
+ biz_role_id: string | undefined
1239
+ compaction_ratio: number | null | undefined
1240
+ disable_tools: string[] | undefined
1241
+ enable_thinking: boolean | null | undefined
1242
+ env: Record<string, string> | undefined
1243
+ expected_revision: number | undefined
1244
+ mcp_sources: McpSourceConfig[] | undefined
1245
+ memory_enabled: boolean | undefined
1246
+ model: string | undefined
1247
+ session_solution_asset_id: string | undefined
1248
+ skip_confirmations: boolean | undefined
1249
+ solution_id: string | undefined
1250
+ solution_ref: PublishedSolutionRef | undefined
1251
+ version: string
959
1252
  ```
960
1253
 
961
1254
  ## `UploadFileEntry` (type)
@@ -1000,8 +1293,10 @@ username: string
1000
1293
 
1001
1294
  ```ts
1002
1295
  export type WorkflowRunEntry =
1003
- | { kind: "step"; stepId: string; desc: string; stepKind: string }
1004
- | { kind: "log"; text: string }
1296
+ /** status:步骤终态(done / error / cancelled);落史与直播的终态更新都会带上。 */
1297
+ | { kind: "step"; stepId: string; desc: string; stepKind: string; status?: string }
1298
+ /** stepId:这行属于哪一步。并行分支的输出不按宣告顺序到达,不能按位置归到上一步。 */
1299
+ | { kind: "log"; text: string; stepId?: string }
1005
1300
  ```
1006
1301
 
1007
1302
  ## `WorkflowRunState` (interface)
@@ -1013,3 +1308,15 @@ status: "running" | "done" | "error" | "cancelled"
1013
1308
  toolCallId: string
1014
1309
  ```
1015
1310
 
1311
+ ## `WorkflowStepInfo` (interface)
1312
+
1313
+ ```ts
1314
+ desc: string | undefined
1315
+ log_seq: number | undefined
1316
+ output: string | undefined
1317
+ seq: number | undefined
1318
+ status: string | undefined
1319
+ step_id: string
1320
+ step_kind: string | undefined
1321
+ ```
1322
+