@blade-hq/agent-react 2610.0.0-beta.5 → 2610.0.0-beta.51

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 (49) hide show
  1. package/README.md +102 -3
  2. package/dist/chunk-G3PMV62Z.js +36 -0
  3. package/dist/{chunk-ZXXLY4RM.js → chunk-MAAMCOAU.js} +8 -32
  4. package/dist/{chunk-ZXXLY4RM.js.map → chunk-MAAMCOAU.js.map} +1 -1
  5. package/dist/components/AgentChat.d.ts +3 -0
  6. package/dist/components/AgentLoopBlock.d.ts +1 -4
  7. package/dist/components/AskUserQuestionBlock.d.ts +9 -0
  8. package/dist/components/AssistantTurnBlock.d.ts +20 -6
  9. package/dist/components/ChatInput.d.ts +5 -1
  10. package/dist/components/ChatSurface.d.ts +13 -2
  11. package/dist/components/ConnectionBanner.d.ts +1 -1
  12. package/dist/components/ContextCard.d.ts +20 -0
  13. package/dist/components/MarkdownContent.d.ts +2 -0
  14. package/dist/components/McpAppCard.d.ts +14 -0
  15. package/dist/components/MessageList.d.ts +8 -1
  16. package/dist/components/PlanUpdateBlock.d.ts +31 -0
  17. package/dist/components/SessionMemoryToggle.d.ts +19 -0
  18. package/dist/components/SessionPluginConfigDialog.d.ts +10 -0
  19. package/dist/components/SessionPluginConfigForm.d.ts +14 -0
  20. package/dist/components/SessionPluginIcon.d.ts +19 -0
  21. package/dist/components/SessionPluginSelector.d.ts +10 -0
  22. package/dist/components/ToolCallBlock.d.ts +4 -2
  23. package/dist/components/ToolUiCardView.d.ts +9 -0
  24. package/dist/components/UserMessageBubble.d.ts +1 -1
  25. package/dist/components/WhatIfUserBubble.d.ts +7 -0
  26. package/dist/components/display-utils.d.ts +10 -0
  27. package/dist/components/plugin-config-schema.d.ts +51 -0
  28. package/dist/context.d.ts +1 -0
  29. package/dist/embed/entry.d.ts +37 -0
  30. package/dist/{highlighted-body-B3W2YXNL-YD7FAP6V.js → highlighted-body-B3W2YXNL-IASCZDV2.js} +3 -2
  31. package/dist/{highlighted-body-B3W2YXNL-YD7FAP6V.js.map → highlighted-body-B3W2YXNL-IASCZDV2.js.map} +1 -1
  32. package/dist/hooks/use-agent-session.d.ts +5 -0
  33. package/dist/hooks/use-message-pin.d.ts +28 -0
  34. package/dist/index.d.ts +27 -0
  35. package/dist/index.js +28906 -958
  36. package/dist/index.js.map +1 -1
  37. package/dist/lib/agent-computer-command.d.ts +34 -0
  38. package/dist/lib/utils.d.ts +3 -1
  39. package/dist/lib/whatif-prompt.d.ts +18 -0
  40. package/dist/mermaid-3ZIDBTTL-BPVVWTVV.js +9 -0
  41. package/dist/mermaid-3ZIDBTTL-BPVVWTVV.js.map +1 -0
  42. package/dist/style.css +91 -1
  43. package/dist/style.full.css +92 -2
  44. package/dist/webapi-W3IB5DO4.js +2481 -0
  45. package/dist/webapi-W3IB5DO4.js.map +1 -0
  46. package/package.json +2 -2
  47. package/public-api.md +890 -10
  48. package/dist/mermaid-3ZIDBTTL-N7YKJ3SM.js +0 -8
  49. /package/dist/{mermaid-3ZIDBTTL-N7YKJ3SM.js.map → chunk-G3PMV62Z.js.map} +0 -0
package/public-api.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > 本文件由 `scripts/public-api-report.mjs` 生成,请勿手改。
4
4
  > 公共面变更时重新生成本报告,并同步更新 README 对应章节——CI 会校验两者。
5
5
 
6
- 170 个公开声明。
6
+ 281 个公开声明。
7
7
 
8
8
  ## `acceptedPostChatFollowupCompletesLatestRun` (function)
9
9
 
@@ -11,6 +11,12 @@
11
11
  acceptedPostChatFollowupCompletesLatestRun: (events: RawEvent[], updates: ProjectionUpdate[]) => boolean
12
12
  ```
13
13
 
14
+ ## `acknowledgeTurnEvents` (function)
15
+
16
+ ```ts
17
+ acknowledgeTurnEvents: (acknowledge?: () => void) => void
18
+ ```
19
+
14
20
  ## `ActiveCompactionState` (interface)
15
21
 
16
22
  ```ts
@@ -48,10 +54,17 @@ onSessionReady: ((session: AgentSession) => void) | undefined
48
54
  placeholder: string | undefined
49
55
  renderers: ChatViewRenderers | undefined
50
56
  sessionId: string | undefined
57
+ sessionPluginControls: ((sessionId: string) => ReactNode) | undefined
51
58
  slots: ChatViewSlots | undefined
52
59
  theme: "light" | "dark" | undefined
53
60
  ```
54
61
 
62
+ ## `AgentComputerLaunchOutcome` (type)
63
+
64
+ ```ts
65
+ export type AgentComputerLaunchOutcome = "pending" | "succeeded" | "failed" | "unknown"
66
+ ```
67
+
55
68
  ## `AgentLoopInfo` (interface)
56
69
 
57
70
  ```ts
@@ -66,18 +79,23 @@ toolCallId: string
66
79
  append: (text: string) => void
67
80
  attach: (label: string, data: unknown) => void
68
81
  attachApp: (options: AttachAppOptions) => Promise<AppCliAttachment | null>
82
+ cancelQueued: (id: number) => Promise<boolean>
69
83
  compact: () => Promise<Record<string, unknown>>
70
84
  countFiles: (dirPath?: string) => Promise<number>
71
85
  dispose: () => void
72
86
  downloadFile: (filePath: string, downloadName?: string) => Promise<void>
73
87
  exitReplay: () => Promise<void>
74
88
  getState: () => SessionState
89
+ hasOlderHistory: boolean
75
90
  insertText: (text: string) => void
76
91
  isDisposed: boolean
77
92
  listDir: (dirPath?: string) => Promise<FileEntry[]>
93
+ listQueue: () => Promise<Array<{ id: number; message: string; }>>
94
+ loadOlderHistory: (options?: { beforeCommit?: () => void; }) => Promise<void>
78
95
  off: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => void
79
96
  on: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => () => void
80
97
  onCommand: (action: string, handler: CommandHandler) => () => void
98
+ queue: (content: string) => Promise<boolean>
81
99
  send: (content: MessageContent, options?: SendOptions) => Promise<boolean>
82
100
  sessionId: string
83
101
  setReplaySpeed: (speed: ReplaySpeed) => Promise<void>
@@ -110,8 +128,8 @@ sandboxOom: { toolCallId: string; }
110
128
  sessionUpdated: { intent?: string; status?: SessionStatus; model?: string | null; boundSkillId?: string | null; replayState?: Record<string, unknown> | null; }
111
129
  taskListUpdated: { tasks: unknown[]; }
112
130
  toolCall: { toolCall: ToolCallInfo; turn: TurnProjection; }
113
- toolPreview: { toolCallId: string; type: "resource-html" | "resource-uri"; content: string; title: string; }
114
- toolResult: { toolCall: ToolCallInfo; turn: TurnProjection; }
131
+ toolPreview: { toolCallId: string; type: "resource-html" | "resource-uri"; content: string; title: string; mcpApp?: McpAppData; }
132
+ toolResult: { toolCall: ToolCallInfo; turn: TurnProjection; source: "live" | "bootstrap_replay" | "reconnect_replay"; }
115
133
  workspaceChanged: { filePath?: string; }
116
134
  ```
117
135
 
@@ -155,6 +173,7 @@ tool_name: string | null | undefined
155
173
 
156
174
  ```ts
157
175
  custom: Record<number, string>
176
+ note: string | undefined
158
177
  selections: Record<number, number[]>
159
178
  ```
160
179
 
@@ -174,6 +193,20 @@ cli: AppCliDefinition | undefined
174
193
  getContext: () => Record<string, unknown> | Promise<Record<string, unknown>>
175
194
  ```
176
195
 
196
+ ## `AuthBusyReconnect` (class)
197
+
198
+ ```ts
199
+ cancel: () => void
200
+ pending: boolean
201
+ schedule: (error: unknown, reconnect: () => void) => boolean
202
+ ```
203
+
204
+ ## `authBusyRetryDelayMs` (function)
205
+
206
+ ```ts
207
+ authBusyRetryDelayMs: (error: unknown) => number | null
208
+ ```
209
+
177
210
  ## `AuthResource` (class)
178
211
 
179
212
  ```ts
@@ -239,6 +272,8 @@ statusText: string
239
272
  auth: AuthResource
240
273
  blob: (method: HttpMethod, path: string) => Promise<Blob>
241
274
  buildAuthedUrl: (path: string) => string
275
+ chatProjects: ChatProjectsResource
276
+ computers: ComputersResource
242
277
  fetch: (method: HttpMethod, path: string, init?: BladeFetchInit, isRetry?: boolean) => Promise<Response>
243
278
  formData: (method: HttpMethod, path: string, form: FormData, options?: { expectOk?: boolean; onUploadProgress?: (progress: UploadProgress) => void; }) => Promise<Response>
244
279
  hasToken: () => boolean
@@ -268,7 +303,6 @@ baseUrl: string
268
303
  fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
269
304
  onRefreshSuccess: (() => void | Promise<void>) | undefined
270
305
  socketToken: string | (() => string | null | undefined) | undefined
271
- streamTokens: boolean | undefined
272
306
  token: string | (() => string | null | undefined) | undefined
273
307
  tokenStorage: TokenStorageMode | undefined
274
308
  ```
@@ -292,6 +326,18 @@ client: BladeClient
292
326
  buildMessageContent: (text: string, attachments: Array<{ kind: "file"; name: string; uploadedPath?: string; textContent?: string | null; mimeType?: string; }>) => MessageContent
293
327
  ```
294
328
 
329
+ ## `buildToolUiCardKey` (function)
330
+
331
+ ```ts
332
+ buildToolUiCardKey: (toolCallId: string, type: ToolUiCardContentType, content: string) => string
333
+ ```
334
+
335
+ ## `canToggleComputer` (function)
336
+
337
+ ```ts
338
+ canToggleComputer: (computer: SessionComputer) => boolean
339
+ ```
340
+
295
341
  ## `ChatCompletionTool` (interface)
296
342
 
297
343
  ```ts
@@ -299,12 +345,19 @@ function: { name: string; description?: string; parameters?: Record<string, unkn
299
345
  type: "function"
300
346
  ```
301
347
 
348
+ ## `chatErrorForDisplay` (function)
349
+
350
+ ```ts
351
+ chatErrorForDisplay: (message: string, developer?: boolean) => string
352
+ ```
353
+
302
354
  ## `ChatMessage` (interface)
303
355
 
304
356
  ```ts
305
357
  blocks: ContentBlock[] | undefined
306
358
  compaction: CompactionInfo | undefined
307
359
  content: MessageContent
360
+ context: ContextProjectionData | undefined
308
361
  duration_ms: number | undefined
309
362
  entry_id: string | undefined
310
363
  kind: string | undefined
@@ -312,12 +365,33 @@ loop_name: string | undefined
312
365
  memory_refs: MemoryRefInfo[] | undefined
313
366
  parent_id: string | null | undefined
314
367
  reasoning: string | undefined
368
+ render_id: string | undefined
315
369
  role: "error" | "user" | "assistant" | "tool"
316
370
  status: "streaming" | "completed" | "paused" | "failed" | "interrupted" | undefined
317
371
  timestamp: string | undefined
318
372
  tool_calls: ToolCallInfo[] | undefined
319
373
  ```
320
374
 
375
+ ## `ChatProject` (interface)
376
+
377
+ ```ts
378
+ created_at: string
379
+ id: string
380
+ instructions: string
381
+ name: string
382
+ session_count: number
383
+ updated_at: string
384
+ ```
385
+
386
+ ## `ChatProjectsResource` (class)
387
+
388
+ ```ts
389
+ create: (payload: { name: string; instructions?: string; }) => Promise<ChatProject>
390
+ delete: (projectId: string) => Promise<{ deleted: boolean; deleted_sessions: number; }>
391
+ list: () => Promise<ChatProject[]>
392
+ update: (projectId: string, payload: { name?: string; instructions?: string; }) => Promise<ChatProject>
393
+ ```
394
+
321
395
  ## `ChatView` (function)
322
396
 
323
397
  ```ts
@@ -348,6 +422,7 @@ onSessionReady: ((session: AgentSession) => void) | undefined
348
422
  placeholder: string | undefined
349
423
  renderers: ChatViewRenderers | undefined
350
424
  sessionId: string | undefined
425
+ sessionPluginControls: ((sessionId: string) => ReactNode) | undefined
351
426
  slots: ChatViewSlots | undefined
352
427
  theme: "light" | "dark" | undefined
353
428
  ```
@@ -366,6 +441,12 @@ footer: ReactNode
366
441
  header: ReactNode
367
442
  ```
368
443
 
444
+ ## `classifyAgentComputerLaunchOutcome` (function)
445
+
446
+ ```ts
447
+ classifyAgentComputerLaunchOutcome: (toolCall: { status?: string; result?: unknown; }) => AgentComputerLaunchOutcome
448
+ ```
449
+
369
450
  ## `ClientProjectionBuilder` (class)
370
451
 
371
452
  ```ts
@@ -375,6 +456,24 @@ reset: () => void
375
456
  seedSequence: (maxSeq: number) => void
376
457
  ```
377
458
 
459
+ ## `collectInlineToolUiCards` (function)
460
+
461
+ ```ts
462
+ collectInlineToolUiCards: (messages: ChatMessage[]) => InlineToolUiCardEntry[]
463
+ ```
464
+
465
+ ## `collectMemoryRefs` (function)
466
+
467
+ ```ts
468
+ collectMemoryRefs: (messages: ChatMessage[]) => MemoryRefInfo[]
469
+ ```
470
+
471
+ ## `collectPreviewToolUiCards` (function)
472
+
473
+ ```ts
474
+ collectPreviewToolUiCards: (messages: ChatMessage[]) => PreviewToolUiCardEntry[]
475
+ ```
476
+
378
477
  ## `CommandEnvelope` (interface)
379
478
 
380
479
  ```ts
@@ -407,6 +506,49 @@ tokens_before: number | null | undefined
407
506
  trigger: "auto" | "manual" | "forced_retry" | null | undefined
408
507
  ```
409
508
 
509
+ ## `computerDaemonVersion` (function)
510
+
511
+ ```ts
512
+ computerDaemonVersion: (computer: SessionComputer) => string
513
+ ```
514
+
515
+ ## `computerOS` (function)
516
+
517
+ ```ts
518
+ computerOS: (computer: SessionComputer) => ComputerOS
519
+ ```
520
+
521
+ ## `ComputerOS` (type)
522
+
523
+ ```ts
524
+ export type ComputerOS = "macos" | "windows" | "linux" | "unknown"
525
+ ```
526
+
527
+ ## `computerPlatformLabel` (function)
528
+
529
+ ```ts
530
+ computerPlatformLabel: (computer: SessionComputer) => string
531
+ ```
532
+
533
+ ## `ComputersResource` (class)
534
+
535
+ ```ts
536
+ list: (sessionId: string) => Promise<SessionComputerList>
537
+ setEnabled: (sessionId: string, computer: string, enabled: boolean) => Promise<SessionComputer>
538
+ ```
539
+
540
+ ## `computerState` (function)
541
+
542
+ ```ts
543
+ computerState: (computer: SessionComputer) => ComputerState
544
+ ```
545
+
546
+ ## `ComputerState` (type)
547
+
548
+ ```ts
549
+ export type ComputerState = "primary" | "enabled" | "offline" | "idle"
550
+ ```
551
+
410
552
  ## `connectEmbedded` (function)
411
553
 
412
554
  ```ts
@@ -423,6 +565,7 @@ export type ConnectionStatus = "connecting" | "connected" | "reconnecting" | "di
423
565
 
424
566
  ```ts
425
567
  content: unknown
568
+ delivery_id: string | null | undefined
426
569
  display_name: string | null | undefined
427
570
  tool_call_id: string | null | undefined
428
571
  tool_name: string | null | undefined
@@ -435,6 +578,95 @@ type: "text" | "thinking" | "tool_use" | "tool_result" | "tool_ui" | "tool_bridg
435
578
  contentPreview: (content: MessageContent, maxLen?: number) => string
436
579
  ```
437
580
 
581
+ ## `ContextAction` (type)
582
+
583
+ ```ts
584
+ export type ContextAction = "published" | "retained" | "removed"
585
+ ```
586
+
587
+ ## `ContextCard` (function)
588
+
589
+ ```ts
590
+ ContextCard: ({ context, className }: ContextCardProps) => JSX.Element
591
+ ```
592
+
593
+ ## `ContextCardProps` (interface)
594
+
595
+ ```ts
596
+ className: string | undefined
597
+ context: ContextProjectionData
598
+ ```
599
+
600
+ ## `ContextDisplayState` (interface)
601
+
602
+ ```ts
603
+ detail: string
604
+ isRemoved: boolean
605
+ summary: string
606
+ title: string
607
+ ```
608
+
609
+ ## `ContextGroupCard` (function)
610
+
611
+ ```ts
612
+ ContextGroupCard: ({ contexts, className }: ContextGroupCardProps) => JSX.Element | null
613
+ ```
614
+
615
+ ## `ContextGroupCardProps` (interface)
616
+
617
+ ```ts
618
+ className: string | undefined
619
+ contexts: readonly ContextProjectionData[]
620
+ ```
621
+
622
+ ## `ContextGroupDisplayState` (interface)
623
+
624
+ ```ts
625
+ count: number
626
+ summary: string
627
+ title: string
628
+ ```
629
+
630
+ ## `contextProjectionData` (function)
631
+
632
+ ```ts
633
+ contextProjectionData: (fields: ContextProjectionFields) => ContextProjectionData | null
634
+ ```
635
+
636
+ ## `ContextProjectionData` (interface)
637
+
638
+ ```ts
639
+ context_action: ContextAction
640
+ context_key: string
641
+ context_kind: string
642
+ context_name: string
643
+ context_order: number
644
+ context_revision: string
645
+ display_summary: string | null | undefined
646
+ display_title: string | null | undefined
647
+ sources: ContextSourceInfo[]
648
+ ```
649
+
650
+ ## `ContextProjectionFields` (interface)
651
+
652
+ ```ts
653
+ context_action: ContextAction | null | undefined
654
+ context_key: string | null | undefined
655
+ context_kind: string | null | undefined
656
+ context_name: string | null | undefined
657
+ context_order: number | null | undefined
658
+ context_revision: string | null | undefined
659
+ display_summary: string | null | undefined
660
+ display_title: string | null | undefined
661
+ sources: ContextSourceInfo[] | null | undefined
662
+ ```
663
+
664
+ ## `ContextSourceInfo` (type)
665
+
666
+ ```ts
667
+ export type ContextSourceInfo = Record<string, unknown>
668
+ ```
669
+
438
670
  ## `createInitialSessionState` (function)
439
671
 
440
672
  ```ts
@@ -444,7 +676,9 @@ createInitialSessionState: (sessionId: string) => SessionState
444
676
  ## `CreateSessionRequest` (interface)
445
677
 
446
678
  ```ts
679
+ agent_runtime_id: string | null | undefined
447
680
  biz_role_id: string | null | undefined
681
+ chat_project_id: string | null | undefined
448
682
  compaction_ratio: number | null | undefined
449
683
  daemon_id: string | null | undefined
450
684
  disable_tools: string[] | null | undefined
@@ -454,7 +688,7 @@ intent: string | undefined
454
688
  memory_enabled: boolean | null | undefined
455
689
  model: string | null | undefined
456
690
  primary_skill_id: string | null | undefined
457
- runtime_type: "sandbox" | "daemon" | null | undefined
691
+ runtime_type: "sandbox" | "daemon" | "native" | null | undefined
458
692
  session_solution_asset_id: string | null | undefined
459
693
  solution_id: string | undefined
460
694
  solution_ref: PublishedSolutionRef | undefined
@@ -476,6 +710,12 @@ path: string | undefined
476
710
  token: string | (() => string | null | undefined) | undefined
477
711
  ```
478
712
 
713
+ ## `CurrentPlanPanel` (function)
714
+
715
+ ```ts
716
+ CurrentPlanPanel: ({ messages, running, revealRevision, sessionId, className, }: { messages: ChatMessage[]; running?: boolean; revealRevision?: number; sessionId?: string; className?: string; }) => JSX.Element | null
717
+ ```
718
+
479
719
  ## `DEFAULT_REPLAY_SPEED` (const)
480
720
 
481
721
  ```ts
@@ -499,6 +739,12 @@ allowedOrigins: string[]
499
739
  iframe: HTMLIFrameElement | undefined
500
740
  ```
501
741
 
742
+ ## `EMPTY_PLATFORM_ENDPOINTS` (const)
743
+
744
+ ```ts
745
+ EMPTY_PLATFORM_ENDPOINTS: PlatformEndpoints
746
+ ```
747
+
502
748
  ## `ExchangeCodeParams` (interface)
503
749
 
504
750
  ```ts
@@ -600,6 +846,18 @@ export type FollowupInteractionEvent =
600
846
  artifactKind: "file"
601
847
  ```
602
848
 
849
+ ## `getContextDisplayState` (function)
850
+
851
+ ```ts
852
+ getContextDisplayState: (context: ContextProjectionData) => ContextDisplayState
853
+ ```
854
+
855
+ ## `getContextGroupDisplayState` (function)
856
+
857
+ ```ts
858
+ getContextGroupDisplayState: (contexts: readonly ContextProjectionData[]) => ContextGroupDisplayState
859
+ ```
860
+
603
861
  ## `getFileParts` (function)
604
862
 
605
863
  ```ts
@@ -612,6 +870,12 @@ getFileParts: (content: MessageContent) => FileContentPart[]
612
870
  getImageParts: (content: MessageContent) => ImageUrlContentPart[]
613
871
  ```
614
872
 
873
+ ## `getPlanUpdateDisplayState` (function)
874
+
875
+ ```ts
876
+ getPlanUpdateDisplayState: (messages: ChatMessage[]) => PlanUpdateDisplayState
877
+ ```
878
+
615
879
  ## `getTextContent` (function)
616
880
 
617
881
  ```ts
@@ -654,12 +918,24 @@ export type GlobalSearchResultItem =
654
918
  | GlobalSearchFileResult
655
919
  ```
656
920
 
921
+ ## `groupAdjacentContextRuns` (function)
922
+
923
+ ```ts
924
+ groupAdjacentContextRuns: (kinds: readonly (string | null)[]) => readonly (readonly number[])[]
925
+ ```
926
+
657
927
  ## `groupMessagesByLoop` (function)
658
928
 
659
929
  ```ts
660
930
  groupMessagesByLoop: (messages: ChatMessage[]) => MessageGroup[]
661
931
  ```
662
932
 
933
+ ## `hasChatRunEvent` (function)
934
+
935
+ ```ts
936
+ hasChatRunEvent: (events: RawEvent[]) => boolean
937
+ ```
938
+
663
939
  ## `HeadlessResource` (class)
664
940
 
665
941
  ```ts
@@ -668,6 +944,15 @@ runInSession: { <T = unknown>(sessionId: string, prompt: string, options: Headle
668
944
  runWithSession: { <T = unknown>(prompt: string, options: HeadlessRunOptions & { schema: JsonSchemaObject; }): Promise<HeadlessRunInSessionResult<T>>; (prompt: string, options?: HeadlessRunOptions): Promise<HeadlessRunInSessionResult<string>>; }
669
945
  ```
670
946
 
947
+ ## `HistoricalCommand` (interface)
948
+
949
+ ```ts
950
+ action: string
951
+ deliveryId: string
952
+ payload: unknown
953
+ toolCallId: string | undefined
954
+ ```
955
+
671
956
  ## `ImageUrlContentPart` (interface)
672
957
 
673
958
  ```ts
@@ -696,6 +981,32 @@ direction: "host-to-agent"
696
981
  payload: unknown
697
982
  ```
698
983
 
984
+ ## `InlineToolUiCardEntry` (interface)
985
+
986
+ ```ts
987
+ card: ToolUiCard
988
+ key: string
989
+ toolCallId: string
990
+ ```
991
+
992
+ ## `isAgentComputerCommand` (function)
993
+
994
+ ```ts
995
+ isAgentComputerCommand: (command: string) => boolean
996
+ ```
997
+
998
+ ## `isAgentComputerToolCall` (function)
999
+
1000
+ ```ts
1001
+ isAgentComputerToolCall: (argumentsJson: string | null | undefined) => boolean
1002
+ ```
1003
+
1004
+ ## `isAppDevToolUiCard` (function)
1005
+
1006
+ ```ts
1007
+ isAppDevToolUiCard: (card: ToolUiCard, isAppDev: boolean) => boolean
1008
+ ```
1009
+
699
1010
  ## `isCommandEnvelope` (function)
700
1011
 
701
1012
  ```ts
@@ -705,7 +1016,7 @@ isCommandEnvelope: (value: unknown) => value is CommandEnvelope
705
1016
  ## `isHiddenInternalMessage` (function)
706
1017
 
707
1018
  ```ts
708
- isHiddenInternalMessage: (message: Pick<ChatMessage, "role" | "content">) => boolean
1019
+ isHiddenInternalMessage: (message: Pick<ChatMessage, "role" | "content">, options?: { includeLegacyForkContext?: boolean; }) => boolean
709
1020
  ```
710
1021
 
711
1022
  ## `isInboundEnvelope` (function)
@@ -714,6 +1025,30 @@ isHiddenInternalMessage: (message: Pick<ChatMessage, "role" | "content">) => boo
714
1025
  isInboundEnvelope: (value: unknown) => value is InboundEnvelope
715
1026
  ```
716
1027
 
1028
+ ## `isInternalStatusToolUiCard` (function)
1029
+
1030
+ ```ts
1031
+ isInternalStatusToolUiCard: (card: { title?: string | null; } | null) => boolean
1032
+ ```
1033
+
1034
+ ## `isMcpAppData` (function)
1035
+
1036
+ ```ts
1037
+ isMcpAppData: (value: unknown) => value is McpAppData
1038
+ ```
1039
+
1040
+ ## `isPlanUpdateTool` (function)
1041
+
1042
+ ```ts
1043
+ isPlanUpdateTool: (toolCall: Pick<ToolCallInfo, "name">) => boolean
1044
+ ```
1045
+
1046
+ ## `isToolUiCard` (function)
1047
+
1048
+ ```ts
1049
+ isToolUiCard: (value: unknown) => value is ToolUiCard
1050
+ ```
1051
+
717
1052
  ## `latestPostChatFollowup` (function)
718
1053
 
719
1054
  ```ts
@@ -736,6 +1071,13 @@ export enum LayoutType {
736
1071
  }
737
1072
  ```
738
1073
 
1074
+ ## `LiveRevisionState` (interface)
1075
+
1076
+ ```ts
1077
+ byTurnId: ReadonlyMap<string, number>
1078
+ current: number
1079
+ ```
1080
+
739
1081
  ## `LlmAdvancedSettings` (interface)
740
1082
 
741
1083
  ```ts
@@ -818,6 +1160,20 @@ id: string
818
1160
  name: string
819
1161
  ```
820
1162
 
1163
+ ## `loadPlatformEndpoints` (function)
1164
+
1165
+ ```ts
1166
+ loadPlatformEndpoints: (options?: LoadPlatformEndpointsOptions) => Promise<PlatformEndpoints>
1167
+ ```
1168
+
1169
+ ## `LoadPlatformEndpointsOptions` (interface)
1170
+
1171
+ ```ts
1172
+ baseUrl: string | undefined
1173
+ fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
1174
+ timeoutMs: number | undefined
1175
+ ```
1176
+
821
1177
  ## `LoginOptions` (interface)
822
1178
 
823
1179
  ```ts
@@ -848,6 +1204,64 @@ mode: "streaming" | "static" | undefined
848
1204
  sessionId: string | undefined
849
1205
  ```
850
1206
 
1207
+ ## `McpAppArchive` (interface)
1208
+
1209
+ ```ts
1210
+ html: string
1211
+ mimeType: string
1212
+ plugin: string
1213
+ previousToolInput: Record<string, unknown> | undefined
1214
+ previousToolResult: Record<string, unknown> | undefined
1215
+ resourceMeta: Record<string, unknown>
1216
+ resourceUri: string
1217
+ sourceId: string
1218
+ toolInput: Record<string, unknown>
1219
+ toolResult: Record<string, unknown>
1220
+ ```
1221
+
1222
+ ## `McpAppCard` (function)
1223
+
1224
+ ```ts
1225
+ McpAppCard: ({ sessionId, sourceId, client: suppliedClient, onMessage: suppliedOnMessage }: { sessionId: string; sourceId: string; client?: BladeClient; onMessage?: (message: McpAppMessage) => void; }) => JSX.Element
1226
+ ```
1227
+
1228
+ ## `McpAppContextState` (interface)
1229
+
1230
+ ```ts
1231
+ content: string
1232
+ plugin: string | null
1233
+ revision: string
1234
+ server_alias: string | null
1235
+ ```
1236
+
1237
+ ## `McpAppContextUpdate` (interface)
1238
+
1239
+ ```ts
1240
+ content: string
1241
+ expected_revision: string | null
1242
+ request_id: string
1243
+ ```
1244
+
1245
+ ## `McpAppData` (interface)
1246
+
1247
+ ```ts
1248
+ mimeType: string
1249
+ resourceMeta: Record<string, unknown>
1250
+ resourceUri: string
1251
+ sourceId: string
1252
+ toolInput: Record<string, unknown>
1253
+ toolResult: Record<string, unknown>
1254
+ ```
1255
+
1256
+ ## `McpAppMessage` (interface)
1257
+
1258
+ ```ts
1259
+ content: string
1260
+ label: string
1261
+ sessionId: string
1262
+ sourceId: string
1263
+ ```
1264
+
851
1265
  ## `MemoryRef` (interface)
852
1266
 
853
1267
  ```ts
@@ -864,6 +1278,12 @@ id: number
864
1278
  skill_name: string | null | undefined
865
1279
  ```
866
1280
 
1281
+ ## `MemoryRefsHint` (function)
1282
+
1283
+ ```ts
1284
+ MemoryRefsHint: ({ refs }: { refs: MemoryRefInfo[]; }) => JSX.Element
1285
+ ```
1286
+
867
1287
  ## `MessageContent` (type)
868
1288
 
869
1289
  ```ts
@@ -889,6 +1309,8 @@ baseUrl: string | undefined
889
1309
  default: string
890
1310
  defaultServiceModel: string | undefined
891
1311
  models: ModelOption[]
1312
+ unavailableModelIds: string[] | undefined
1313
+ unavailableProviderIds: string[] | undefined
892
1314
  ```
893
1315
 
894
1316
  ## `ModelOption` (interface)
@@ -905,6 +1327,12 @@ serviceModelId: string | undefined
905
1327
  list: () => Promise<ModelCatalog>
906
1328
  ```
907
1329
 
1330
+ ## `normalizeAdjacentUrlFormatting` (function)
1331
+
1332
+ ```ts
1333
+ normalizeAdjacentUrlFormatting: (value: string) => string
1334
+ ```
1335
+
908
1336
  ## `normalizeMessageContent` (function)
909
1337
 
910
1338
  ```ts
@@ -935,6 +1363,26 @@ content: string
935
1363
  label: string
936
1364
  ```
937
1365
 
1366
+ ## `ParsedWhatIfPrompt` (interface)
1367
+
1368
+ ```ts
1369
+ fromStep: number | null
1370
+ quotes: WhatIfQuote[]
1371
+ userText: string
1372
+ ```
1373
+
1374
+ ## `parsePlanUpdate` (function)
1375
+
1376
+ ```ts
1377
+ parsePlanUpdate: (argumentsJson: string) => PlanUpdateData | null
1378
+ ```
1379
+
1380
+ ## `parseWhatIfPrompt` (function)
1381
+
1382
+ ```ts
1383
+ parseWhatIfPrompt: (text: string) => ParsedWhatIfPrompt | null
1384
+ ```
1385
+
938
1386
  ## `PatchEnvelope` (interface)
939
1387
 
940
1388
  ```ts
@@ -945,6 +1393,63 @@ sequence: number
945
1393
  turn_id: string
946
1394
  ```
947
1395
 
1396
+ ## `pickCurrentPlanStep` (function)
1397
+
1398
+ ```ts
1399
+ pickCurrentPlanStep: (plan: PlanUpdateData["plan"]) => PlanUpdateData["plan"][number] | null
1400
+ ```
1401
+
1402
+ ## `PLAN_AUTO_COLLAPSE_MS` (const)
1403
+
1404
+ ```ts
1405
+ PLAN_AUTO_COLLAPSE_MS: 5000
1406
+ ```
1407
+
1408
+ ## `PlanStepStatus` (type)
1409
+
1410
+ ```ts
1411
+ export type PlanStepStatus = "pending" | "in_progress" | "completed"
1412
+ ```
1413
+
1414
+ ## `PlanUpdateBlock` (function)
1415
+
1416
+ ```ts
1417
+ PlanUpdateBlock: ({ toolCall, running, autoReveal, }: { toolCall: ToolCallInfo; running?: boolean; autoReveal?: boolean; }) => JSX.Element | null
1418
+ ```
1419
+
1420
+ ## `PlanUpdateData` (interface)
1421
+
1422
+ ```ts
1423
+ plan: { step: string; status: PlanStepStatus; }[]
1424
+ ```
1425
+
1426
+ ## `PlanUpdateDisplayState` (interface)
1427
+
1428
+ ```ts
1429
+ current: ToolCallInfo | null
1430
+ updating: boolean
1431
+ ```
1432
+
1433
+ ## `PlatformEndpoints` (interface)
1434
+
1435
+ ```ts
1436
+ services: Partial<Record<"agent" | "os" | "hub" | "oauth" | "llmGateway" | "gitea" | "tile", string>>
1437
+ ```
1438
+
1439
+ ## `PlatformServiceName` (type)
1440
+
1441
+ ```ts
1442
+ export type PlatformServiceName = (typeof PLATFORM_SERVICE_NAMES)[number]
1443
+ ```
1444
+
1445
+ ## `PollingBackoff` (class)
1446
+
1447
+ ```ts
1448
+ failed: (error: unknown) => void
1449
+ reset: () => void
1450
+ waitMs: () => number | false
1451
+ ```
1452
+
948
1453
  ## `PostChatFollowup` (interface)
949
1454
 
950
1455
  ```ts
@@ -975,6 +1480,21 @@ bizRoleId: string | undefined
975
1480
  kind: "prepared"
976
1481
  ```
977
1482
 
1483
+ ## `prependOlder` (function)
1484
+
1485
+ ```ts
1486
+ prependOlder: (current: TurnProjection[], page: TurnProjection[]) => TurnProjection[]
1487
+ ```
1488
+
1489
+ ## `PreviewToolUiCardEntry` (interface)
1490
+
1491
+ ```ts
1492
+ blocks: ContentBlock[]
1493
+ card: ToolUiCard
1494
+ key: string
1495
+ toolCall: ToolCallInfo
1496
+ ```
1497
+
978
1498
  ## `PrimarySkillParallelMode` (interface)
979
1499
 
980
1500
  ```ts
@@ -1017,6 +1537,24 @@ payload: Record<string, unknown>
1017
1537
  type: string
1018
1538
  ```
1019
1539
 
1540
+ ## `reconcileHistoricalUserTurns` (function)
1541
+
1542
+ ```ts
1543
+ reconcileHistoricalUserTurns: (currentTurns: TurnProjection[], incomingTurns: TurnProjection[]) => TurnProjection[]
1544
+ ```
1545
+
1546
+ ## `reconcileOptimisticUserTurns` (function)
1547
+
1548
+ ```ts
1549
+ reconcileOptimisticUserTurns: (currentTurns: TurnProjection[], incomingTurns: TurnProjection[]) => TurnProjection[]
1550
+ ```
1551
+
1552
+ ## `replaceWindow` (function)
1553
+
1554
+ ```ts
1555
+ replaceWindow: (current: TurnProjection[], page: TurnProjection[], liveRevisionAtStart: number, liveRevisions: LiveRevisionState) => TurnProjection[]
1556
+ ```
1557
+
1020
1558
  ## `ReplayBar` (function)
1021
1559
 
1022
1560
  ```ts
@@ -1089,6 +1627,18 @@ speed: ReplaySpeed | undefined
1089
1627
  status: "replay" | "autonomous" | undefined
1090
1628
  ```
1091
1629
 
1630
+ ## `resolveServiceUrl` (function)
1631
+
1632
+ ```ts
1633
+ resolveServiceUrl: (endpoints: PlatformEndpoints, name: PlatformServiceName, path?: string) => string | null
1634
+ ```
1635
+
1636
+ ## `resolveToolUiCardContent` (function)
1637
+
1638
+ ```ts
1639
+ resolveToolUiCardContent: (card: ToolUiCard) => { type: ToolUiCardContentType; content: string; } | null
1640
+ ```
1641
+
1092
1642
  ## `ResultFeedback` (interface)
1093
1643
 
1094
1644
  ```ts
@@ -1160,6 +1710,7 @@ SDK_VERSION: string
1160
1710
 
1161
1711
  ```ts
1162
1712
  askUserAnswer: Record<string, unknown> | undefined
1713
+ kbIds: number[] | undefined
1163
1714
  mode: string | undefined
1164
1715
  model: string | undefined
1165
1716
  replayDecision: "keep_replay" | "continue_replay" | undefined
@@ -1167,6 +1718,33 @@ thinkingOverride: boolean | undefined
1167
1718
  whatif: { from_step: number; quotes: Array<Record<string, unknown>>; deprecate_entry_ids: string[]; } | undefined
1168
1719
  ```
1169
1720
 
1721
+ ## `SessionComputer` (interface)
1722
+
1723
+ ```ts
1724
+ agent_runtimes: unknown[] | undefined
1725
+ allowed_paths: string[] | undefined
1726
+ arch: string | null | undefined
1727
+ blade_home: string | null | undefined
1728
+ created_at: string
1729
+ daemon_version: string | null | undefined
1730
+ enabled: boolean
1731
+ home: string | null | undefined
1732
+ hostname: string | null | undefined
1733
+ id: string
1734
+ is_primary: boolean
1735
+ label: string
1736
+ last_seen_at: string | null | undefined
1737
+ online: boolean
1738
+ os: string | null | undefined
1739
+ workspace: string | null | undefined
1740
+ ```
1741
+
1742
+ ## `SessionComputerList` (interface)
1743
+
1744
+ ```ts
1745
+ computers: SessionComputer[]
1746
+ ```
1747
+
1170
1748
  ## `SessionConfig` (interface)
1171
1749
 
1172
1750
  ```ts
@@ -1178,6 +1756,12 @@ memoryEnabled: boolean | undefined
1178
1756
  model: string | undefined
1179
1757
  ```
1180
1758
 
1759
+ ## `SessionConnectOptions` (interface)
1760
+
1761
+ ```ts
1762
+ setup: ((session: AgentSession) => void) | undefined
1763
+ ```
1764
+
1181
1765
  ## `SessionContextStats` (interface)
1182
1766
 
1183
1767
  ```ts
@@ -1198,8 +1782,11 @@ solution: SolutionDefinition | undefined
1198
1782
  ## `SessionDetail` (interface)
1199
1783
 
1200
1784
  ```ts
1785
+ agent_runtime_id: string | null | undefined
1786
+ ba_version: string | null | undefined
1201
1787
  biz_role_id: string | null | undefined
1202
1788
  bound_skill_id: string | null | undefined
1789
+ chat_project_id: string | null | undefined
1203
1790
  created_at: string
1204
1791
  daemon_id: string | null | undefined
1205
1792
  disable_tools: (string[] & string[]) | undefined
@@ -1222,6 +1809,7 @@ primary_skill_id: string | null | undefined
1222
1809
  primary_skill_snapshot: PrimarySkillSnapshot | null | undefined
1223
1810
  replay_state: ReplayState | null | undefined
1224
1811
  runtime_type: string | null | undefined
1812
+ sandbox_version: string | null | undefined
1225
1813
  shared: boolean | undefined
1226
1814
  solution: Solution | null | undefined
1227
1815
  solution_id: string | null | undefined
@@ -1247,7 +1835,7 @@ tools_tokens: number | null | undefined
1247
1835
  ## `SessionHub` (class)
1248
1836
 
1249
1837
  ```ts
1250
- connect: (sessionId: string) => Promise<AgentSession>
1838
+ connect: (sessionId: string, options?: SessionConnectOptions) => Promise<AgentSession>
1251
1839
  disconnect: () => void
1252
1840
  disposeAll: () => void
1253
1841
  getConnection: () => ConnectionStatus
@@ -1290,11 +1878,188 @@ SessionInfo = type({
1290
1878
  "disable_tools?": "string[]",
1291
1879
  "runtime_type?": "string | null",
1292
1880
  "daemon_id?": "string | null",
1881
+ "agent_runtime_id?": "string | null",
1293
1882
  "workspace_path?": "string | null",
1883
+ "ba_version?": "string | null",
1884
+ "sandbox_version?": "string | null",
1885
+ "chat_project_id?": "string | null",
1294
1886
  "match?": "unknown",
1295
1887
  })
1296
1888
  ```
1297
1889
 
1890
+ ## `SessionMemoryToggle` (function)
1891
+
1892
+ ```ts
1893
+ SessionMemoryToggle: ({ sessionId, enabled, client: clientProp, disabled, label, className, labelClassName, inputClassName, onSaved, onError, }: SessionMemoryToggleProps) => JSX.Element
1894
+ ```
1895
+
1896
+ ## `SessionMemoryToggleProps` (interface)
1897
+
1898
+ ```ts
1899
+ className: string | undefined
1900
+ client: BladeClient | undefined
1901
+ disabled: boolean | undefined
1902
+ enabled: boolean
1903
+ inputClassName: string | undefined
1904
+ label: string | undefined
1905
+ labelClassName: string | undefined
1906
+ onError: ((error: unknown) => void) | undefined
1907
+ onSaved: ((sessionId: string, enabled: boolean) => void) | undefined
1908
+ sessionId: string
1909
+ ```
1910
+
1911
+ ## `SessionPlugin` (interface)
1912
+
1913
+ ```ts
1914
+ active: boolean
1915
+ config: SessionPluginConfigSummary | undefined
1916
+ display_name: string | null | undefined
1917
+ icon: string | null | undefined
1918
+ installed: boolean | null
1919
+ name: string
1920
+ projected: boolean
1921
+ projection_source: string | null | undefined
1922
+ reason: string | null | undefined
1923
+ status: string
1924
+ ```
1925
+
1926
+ ## `SessionPluginActivation` (type)
1927
+
1928
+ ```ts
1929
+ export type SessionPluginActivation = Pick<SessionPlugin, "name" | "active" | "status" | "reason">
1930
+ ```
1931
+
1932
+ ## `SessionPluginConfigDialog` (function)
1933
+
1934
+ ```ts
1935
+ SessionPluginConfigDialog: ({ client, sessionId, plugin, ...props }: SessionPluginConfigDialogProps) => JSX.Element
1936
+ ```
1937
+
1938
+ ## `SessionPluginConfigDialogProps` (interface)
1939
+
1940
+ ```ts
1941
+ client: BladeClient
1942
+ onClose: () => void
1943
+ onSaved: ((state: SessionPluginConfigState) => void) | undefined
1944
+ plugin: Pick<SessionPlugin, "name" | "display_name" | "icon">
1945
+ sessionId: string
1946
+ ```
1947
+
1948
+ ## `SessionPluginConfigDraft` (interface)
1949
+
1950
+ ```ts
1951
+ remove: string[]
1952
+ set: SessionPluginConfigSet[]
1953
+ ```
1954
+
1955
+ ## `SessionPluginConfigError` (interface)
1956
+
1957
+ ```ts
1958
+ message: string
1959
+ path: string
1960
+ ```
1961
+
1962
+ ## `SessionPluginConfigForm` (function)
1963
+
1964
+ ```ts
1965
+ SessionPluginConfigForm: ({ config, submitting, errors, failure, onSubmit, onCancel, }: SessionPluginConfigFormProps) => JSX.Element
1966
+ ```
1967
+
1968
+ ## `SessionPluginConfigFormProps` (interface)
1969
+
1970
+ ```ts
1971
+ config: SessionPluginConfigState
1972
+ errors: SessionPluginConfigError[]
1973
+ failure: string | null
1974
+ onCancel: () => void
1975
+ onSubmit: (draft: SessionPluginConfigDraft) => void
1976
+ submitting: boolean
1977
+ ```
1978
+
1979
+ ## `SessionPluginConfigSet` (interface)
1980
+
1981
+ ```ts
1982
+ path: string
1983
+ value: unknown
1984
+ ```
1985
+
1986
+ ## `SessionPluginConfigState` (interface)
1987
+
1988
+ ```ts
1989
+ errors: SessionPluginConfigError[]
1990
+ reason: string | null
1991
+ revision: string | null
1992
+ schema: Record<string, unknown> | null
1993
+ state: SessionPluginConfigStateName
1994
+ values: Record<string, unknown>
1995
+ write_only: string[]
1996
+ ```
1997
+
1998
+ ## `SessionPluginConfigStateName` (type)
1999
+
2000
+ ```ts
2001
+ export type SessionPluginConfigStateName = "not_required" | "required" | "configured" | "error"
2002
+ ```
2003
+
2004
+ ## `SessionPluginConfigSummary` (type)
2005
+
2006
+ ```ts
2007
+ export type SessionPluginConfigSummary =
2008
+ | SessionPluginConfigStateName
2009
+ | "unchecked"
2010
+ ```
2011
+
2012
+ ## `SessionPluginConfigUpdate` (interface)
2013
+
2014
+ ```ts
2015
+ expected_revision: string | null | undefined
2016
+ remove: string[] | undefined
2017
+ set: SessionPluginConfigSet[] | undefined
2018
+ ```
2019
+
2020
+ ## `SessionPluginIcon` (function)
2021
+
2022
+ ```ts
2023
+ SessionPluginIcon: ({ client, sessionId, plugin, className }: SessionPluginIconProps) => JSX.Element
2024
+ ```
2025
+
2026
+ ## `SessionPluginIconProps` (interface)
2027
+
2028
+ ```ts
2029
+ className: string | undefined
2030
+ client: BladeClient
2031
+ plugin: Pick<SessionPlugin, "name" | "icon">
2032
+ sessionId: string
2033
+ ```
2034
+
2035
+ ## `sessionPluginLabel` (function)
2036
+
2037
+ ```ts
2038
+ sessionPluginLabel: (plugin: Pick<SessionPlugin, "name" | "display_name">) => string
2039
+ ```
2040
+
2041
+ ## `SessionPluginLabelProps` (interface)
2042
+
2043
+ ```ts
2044
+ plugin: Pick<SessionPlugin, "name" | "display_name">
2045
+ ```
2046
+
2047
+ ## `SessionPluginSelector` (function)
2048
+
2049
+ ```ts
2050
+ SessionPluginSelector: (props: SessionPluginSelectorProps) => JSX.Element
2051
+ ```
2052
+
2053
+ ## `SessionPluginSelectorProps` (interface)
2054
+
2055
+ ```ts
2056
+ className: string | undefined
2057
+ client: BladeClient
2058
+ onChange: ((plugin: SessionPluginActivation) => void) | undefined
2059
+ sessionId: string
2060
+ side: "top" | "bottom" | undefined
2061
+ ```
2062
+
1298
2063
  ## `SessionPortMapping` (interface)
1299
2064
 
1300
2065
  ```ts
@@ -1335,6 +2100,7 @@ export type SessionSetupStage = "solution" | "session" | "skill" | "connection"
1335
2100
 
1336
2101
  ```ts
1337
2102
  attachAppCli: (sessionId: string, definition: AppCliDefinition) => Promise<AppCliAttachment>
2103
+ callMcpApp: (sessionId: string, sourceId: string, request: { request_id: string; name: string; arguments: Record<string, unknown>; }, init?: RequestInit) => Promise<{ response: Record<string, unknown>; replayed: boolean; }>
1338
2104
  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; }>
1339
2105
  connect: (sessionId: string) => Promise<AgentSession>
1340
2106
  copyFile: (sessionId: string, filePath: string) => Promise<{ path: string; }>
@@ -1348,23 +2114,31 @@ deleteFile: (sessionId: string, filePath: string) => Promise<void>
1348
2114
  deleteSession: (sessionId: string, options?: { deleteWorkspace?: boolean; }) => Promise<{ deleted: boolean; workspace_deleted?: boolean; }>
1349
2115
  downloadFile: (sessionId: string, filePath: string, downloadName?: string) => Promise<void>
1350
2116
  exportSession: (sessionId: string) => Promise<void>
2117
+ fetchSessionPluginIcon: (sessionId: string, name: string) => Promise<Blob>
1351
2118
  getBackgroundTask: (sessionId: string, taskId: string, tail?: number, init?: RequestInit) => Promise<BackgroundTask>
1352
2119
  getDownloadDirUrl: (sessionId: string, dirPath: string) => string
2120
+ getMcpApp: (sessionId: string, sourceId: string, init?: RequestInit) => Promise<McpAppArchive>
2121
+ getMcpAppContext: (sessionId: string, sourceId: string, init?: RequestInit) => Promise<McpAppContextState>
1353
2122
  getReplayPreview: (sessionId: string) => Promise<ReplayPreview>
1354
2123
  getSession: (sessionId: string, init?: RequestInit) => Promise<SessionDetail>
1355
2124
  getSessionCheckpoints: (sessionId: string, init?: RequestInit) => Promise<{ nodes: CheckpointNode[]; leaf_id: string | null; }>
1356
2125
  getSessionContextStats: (sessionId: string, init?: RequestInit) => Promise<SessionContextStats>
1357
2126
  getSessionHistory: (sessionId: string, init?: RequestInit) => Promise<SessionHistory>
2127
+ getSessionPluginConfig: (sessionId: string, name: string, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
1358
2128
  getSessionTasks: (sessionId: string) => Promise<Task[]>
2129
+ getSessionTurnCommands: (sessionId: string) => Promise<HistoricalCommand[]>
1359
2130
  getSessionTurns: (sessionId: string) => Promise<TurnProjection[]>
2131
+ getSessionTurnsPage: (sessionId: string, options?: { limit?: number; before?: string; }) => Promise<SessionTurnsPage>
1360
2132
  getSharedSession: (token: string) => Promise<TurnProjection[]>
1361
2133
  importSession: (file: File, name?: string, solutionOverride?: string | null | ImportSessionOptions) => Promise<{ session_id: string; }>
1362
2134
  listBackgroundTasks: (sessionId: string, init?: RequestInit) => Promise<BackgroundTask[]>
1363
2135
  listDir: (sessionId: string, dirPath: string) => Promise<FileEntry[]>
1364
2136
  listResultFeedback: (sessionId: string) => Promise<ResultFeedback[]>
2137
+ listSessionPlugins: (sessionId: string, init?: RequestInit) => Promise<{ plugins: SessionPlugin[]; sync_version: number; sync_pending: boolean; }>
1365
2138
  listSessions: (template_id_prefix?: string, solution_id?: string) => Promise<SessionInfo[]>
1366
- listSessionsPaginated: (params: { limit: number; offset: number; template_id_prefix?: string; solution_id?: string; solution_registry_id?: string; q?: string; }) => Promise<PaginatedSessionsResult>
2139
+ listSessionsPaginated: (params: { limit: number; offset: number; template_id_prefix?: string; solution_id?: string; solution_registry_id?: string; q?: string; chat_project_id?: string; }) => Promise<PaginatedSessionsResult>
1367
2140
  listSessionsWithSkillData: () => Promise<SkillDevSession[]>
2141
+ onMcpAppChanged: (sessionId: string, sourceId: string, listener: () => void) => () => void
1368
2142
  pinSession: (sessionId: string, pinned: boolean) => Promise<SessionInfo>
1369
2143
  previewImport: (file: File) => Promise<ImportPreview>
1370
2144
  probeSessionUrl: (sessionId: string, url: string) => Promise<{ reachable: boolean; requires_proxy: boolean; }>
@@ -1373,16 +2147,20 @@ renameFile: (sessionId: string, filePath: string, newName: string) => Promise<{
1373
2147
  revokeShare: (sessionId: string, token: string) => Promise<{ revoked: boolean; }>
1374
2148
  rewindSession: (sessionId: string, checkpointId: string) => Promise<{ id: string; content: string; }>
1375
2149
  searchOwnedContent: (params: { q: string; limit?: number; }) => Promise<GlobalSearchResult>
2150
+ sessionPluginIconUrl: (sessionId: string, name: string) => string
1376
2151
  setSessionEnv: (sessionId: string, env: Record<string, string>) => Promise<SessionDetail>
2152
+ setSessionPluginActivation: (sessionId: string, name: string, active: boolean, init?: RequestInit) => Promise<{ plugin: SessionPluginActivation; sync_version: number; }>
1377
2153
  shareFile: (sessionId: string, sourcePath: string, linkName?: string, shareFolder?: string) => Promise<{ path: string; target: string; }>
1378
2154
  startReplaySession: (sourceSessionId: string, speed?: ReplaySpeed) => Promise<{ session_id: string; }>
1379
2155
  stopBackgroundTask: (sessionId: string, taskId: string) => Promise<BackgroundTaskStopResult>
1380
2156
  switchBranch: (sessionId: string, checkpointId: string) => Promise<{ id: string; leaf_id: string; }>
1381
2157
  tokenizeMessages: (messages: Array<Record<string, unknown>>, options?: { model?: string; add_generation_prompt?: boolean; enable_thinking?: boolean | null; tools?: Array<Record<string, unknown>>; }) => Promise<TokenizeResult>
1382
2158
  tokenizePrompt: (prompt: string, model?: string) => Promise<TokenizeResult>
2159
+ updateMcpAppContext: (sessionId: string, sourceId: string, body: McpAppContextUpdate, init?: RequestInit) => Promise<{ status: "accepted"; revision: string; }>
1383
2160
  updateReplaySession: (sessionId: string, payload: { speed?: ReplaySpeed; status?: "autonomous"; }) => Promise<{ replay_state: SessionInfo["replay_state"]; }>
1384
- updateSession: (sessionId: string, payload: { intent?: string; }) => Promise<SessionDetail>
2161
+ updateSession: (sessionId: string, payload: { intent?: string; chat_project_id?: string | null; }) => Promise<SessionDetail>
1385
2162
  updateSessionMemory: (sessionId: string, memoryEnabled: boolean) => Promise<{ memory_enabled: boolean; }>
2163
+ updateSessionPluginConfig: (sessionId: string, name: string, update: SessionPluginConfigUpdate, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
1386
2164
  updateSharing: (sessionId: string, shared: boolean) => Promise<{ shared: boolean; }>
1387
2165
  uploadFiles: (sessionId: string, dirPath: string, files: FileList | File[] | UploadFileEntry[], options?: UploadFilesOptions) => Promise<{ uploaded: string[]; failed: string[]; }>
1388
2166
  writeFile: (sessionId: string, filePath: string, content: string) => Promise<{ success: boolean; }>
@@ -1397,8 +2175,10 @@ askAnswers: Record<string, AskUserAnswerData>
1397
2175
  connection: ConnectionStatus
1398
2176
  errorMessage: string | null
1399
2177
  isStreaming: boolean
2178
+ loadingOlder: boolean
1400
2179
  messages: ChatMessage[]
1401
2180
  mode: "planning" | "executing" | null
2181
+ nextBefore: string | null
1402
2182
  replay: ReplaySnapshot | null
1403
2183
  sessionId: string
1404
2184
  status: "completed" | "failed" | "interrupted" | "running" | "created" | "waiting_for_input" | null
@@ -1414,6 +2194,14 @@ SessionStatus = type(
1414
2194
  )
1415
2195
  ```
1416
2196
 
2197
+ ## `SessionTurnsPage` (interface)
2198
+
2199
+ ```ts
2200
+ currentMode: "planning" | "executing"
2201
+ nextBefore: string | null
2202
+ turns: TurnProjection[]
2203
+ ```
2204
+
1417
2205
  ## `ShareLinkResult` (interface)
1418
2206
 
1419
2207
  ```ts
@@ -1506,6 +2294,12 @@ export type SolutionDefinition =
1506
2294
  export type SolutionRef = ExistingSolutionRef | PreparedSolutionAsset
1507
2295
  ```
1508
2296
 
2297
+ ## `sortComputers` (function)
2298
+
2299
+ ```ts
2300
+ sortComputers: (computers: SessionComputer[]) => SessionComputer[]
2301
+ ```
2302
+
1509
2303
  ## `Task` (type)
1510
2304
 
1511
2305
  ```ts
@@ -1585,6 +2379,31 @@ status: "done" | "error" | "cancelled" | "awaiting_answer" | "pending" | undefin
1585
2379
  export type ToolCallRenderer = (info: ToolCallInfo) => ReactNode | null
1586
2380
  ```
1587
2381
 
2382
+ ## `ToolUiCard` (interface)
2383
+
2384
+ ```ts
2385
+ archived: boolean | undefined
2386
+ height: number
2387
+ mcpApp: McpAppData | undefined
2388
+ resourceHTML: string | undefined
2389
+ resourceUri: string | undefined
2390
+ resourceURI: string | undefined
2391
+ target: "inline" | "preview"
2392
+ title: string | undefined
2393
+ ```
2394
+
2395
+ ## `ToolUiCardContentType` (type)
2396
+
2397
+ ```ts
2398
+ export type ToolUiCardContentType = "resource-html" | "resource-uri"
2399
+ ```
2400
+
2401
+ ## `ToolUiCardView` (function)
2402
+
2403
+ ```ts
2404
+ ToolUiCardView: ({ card, sessionId }: { card: ToolUiCard; sessionId?: string; }) => JSX.Element | null
2405
+ ```
2406
+
1588
2407
  ## `toReplaySnapshot` (function)
1589
2408
 
1590
2409
  ```ts
@@ -1604,13 +2423,26 @@ archived_count: number | null | undefined
1604
2423
  archived_files: ArchivedFileInfo[] | null | undefined
1605
2424
  archived_tool_calls: ArchivedToolCallInfo[] | null | undefined
1606
2425
  blocks: ContentBlock[]
2426
+ client_render_id: string | null | undefined
2427
+ client_request_id: string | null | undefined
1607
2428
  compaction_id: string | null | undefined
2429
+ context_action: ContextAction | null | undefined
2430
+ context_content: unknown
2431
+ context_key: string | null | undefined
2432
+ context_kind: string | null | undefined
2433
+ context_name: string | null | undefined
2434
+ context_order: number | null | undefined
2435
+ context_revision: string | null | undefined
1608
2436
  context_window: number | undefined
2437
+ display_summary: string | null | undefined
2438
+ display_title: string | null | undefined
1609
2439
  duration_ms: number | undefined
1610
2440
  failure_reason: string | null | undefined
1611
2441
  fallback_applied: boolean | null | undefined
2442
+ first_token_delivery_ms: number | null | undefined
2443
+ first_token_ms: number | null | undefined
1612
2444
  id: string
1613
- kind: "message" | "compaction" | undefined
2445
+ kind: "message" | "context" | "compaction" | undefined
1614
2446
  loop_id: string
1615
2447
  memory_refs: MemoryRef[] | null | undefined
1616
2448
  model: string | null | undefined
@@ -1619,8 +2451,10 @@ post_chat_followup: PostChatFollowup | null | undefined
1619
2451
  role: "user" | "assistant" | "system"
1620
2452
  saved_ratio: number | null | undefined
1621
2453
  sequence: number
2454
+ sources: ContextSourceInfo[] | null | undefined
1622
2455
  started_at: string | null | undefined
1623
2456
  status: "streaming" | "completed" | "paused" | "failed" | "interrupted"
2457
+ stream_duration_ms: number | null | undefined
1624
2458
  summary_full: string | null | undefined
1625
2459
  summary_preview: string | null | undefined
1626
2460
  tokens_after: number | null | undefined
@@ -1667,6 +2501,7 @@ useAgentSession: (sessionId?: string, options?: UseAgentSessionOptions) => UseAg
1667
2501
 
1668
2502
  ```ts
1669
2503
  createOptions: CreateSessionRequest | undefined
2504
+ onSessionConnected: ((session: AgentSession) => () => void) | undefined
1670
2505
  onSessionCreated: ((sessionId: string) => void) | undefined
1671
2506
  ```
1672
2507
 
@@ -1701,6 +2536,30 @@ send: (text: string) => Promise<boolean>
1701
2536
  stop: () => void
1702
2537
  ```
1703
2538
 
2539
+ ## `useMessagePin` (function)
2540
+
2541
+ ```ts
2542
+ useMessagePin: ({ targetKey, pinTarget, isStreaming, layoutKey, getScrollElement, getContentElement, getTargetElement, getTargetScrollTop, getSpacerHeight, setSpacerHeight, stopAutoScroll, scrollToBottom, margin, }: UseMessagePinOptions) => { release: () => void; isActive: () => boolean; }
2543
+ ```
2544
+
2545
+ ## `UseMessagePinOptions` (interface)
2546
+
2547
+ ```ts
2548
+ getContentElement: (() => HTMLElement | null) | undefined
2549
+ getScrollElement: () => HTMLElement | null
2550
+ getSpacerHeight: () => number
2551
+ getTargetElement: () => HTMLElement | null
2552
+ getTargetScrollTop: ((scroll: HTMLElement) => number | null) | undefined
2553
+ isStreaming: boolean | undefined
2554
+ layoutKey: string | undefined
2555
+ margin: number | undefined
2556
+ pinTarget: boolean
2557
+ scrollToBottom: () => void
2558
+ setSpacerHeight: (height: number) => void
2559
+ stopAutoScroll: () => void
2560
+ targetKey: string | null
2561
+ ```
2562
+
1704
2563
  ## `useReplay` (function)
1705
2564
 
1706
2565
  ```ts
@@ -1735,3 +2594,24 @@ token: string
1735
2594
  username: string
1736
2595
  ```
1737
2596
 
2597
+ ## `WhatIfQuote` (interface)
2598
+
2599
+ ```ts
2600
+ label: string
2601
+ snapshot: string
2602
+ stepNumber: number | null
2603
+ ```
2604
+
2605
+ ## `WhatIfUserBubble` (function)
2606
+
2607
+ ```ts
2608
+ WhatIfUserBubble: ({ parsed, onQuoteClick }: WhatIfUserBubbleProps) => JSX.Element
2609
+ ```
2610
+
2611
+ ## `WhatIfUserBubbleProps` (interface)
2612
+
2613
+ ```ts
2614
+ onQuoteClick: ((stepNumber: number) => void) | undefined
2615
+ parsed: ParsedWhatIfPrompt
2616
+ ```
2617
+