@blade-hq/agent-react 2610.0.0-beta.70 → 2610.0.0-beta.72

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 (30) hide show
  1. package/README.md +160 -5
  2. package/dist/{chunk-MAAMCOAU.js → chunk-IA6J2NTB.js} +4 -3
  3. package/dist/components/AgentLoopBlock.d.ts +2 -1
  4. package/dist/components/AskUserQuestionBlock.d.ts +3 -1
  5. package/dist/components/AssistantTurnBlock.d.ts +8 -4
  6. package/dist/components/ChatInput.d.ts +7 -1
  7. package/dist/components/ChatSurface.d.ts +105 -1
  8. package/dist/components/ChatView.d.ts +1 -1
  9. package/dist/components/MessageList.d.ts +13 -4
  10. package/dist/components/PlanUpdateBlock.d.ts +2 -1
  11. package/dist/components/PostChatFollowupBlock.d.ts +5 -1
  12. package/dist/components/ToolCallBlock.d.ts +6 -2
  13. package/dist/components/TurnNavRail.d.ts +23 -0
  14. package/dist/components/UserMessageBubble.d.ts +6 -2
  15. package/dist/embed/blade-chat-element.d.ts +4 -3
  16. package/dist/embed/entry.d.ts +2 -0
  17. package/dist/{highlighted-body-B3W2YXNL-IASCZDV2.js → highlighted-body-B3W2YXNL-YF4GVJGP.js} +2 -2
  18. package/dist/hooks/use-turn-navigation.d.ts +117 -0
  19. package/dist/index.d.ts +6 -1
  20. package/dist/index.js +1911 -1176
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/utils.d.ts +15 -2
  23. package/dist/{mermaid-3ZIDBTTL-BPVVWTVV.js → mermaid-3ZIDBTTL-QL4YGD6I.js} +2 -2
  24. package/dist/style.css +488 -494
  25. package/dist/style.full.css +499 -498
  26. package/package.json +2 -2
  27. package/public-api.md +329 -4
  28. /package/dist/{chunk-MAAMCOAU.js.map → chunk-IA6J2NTB.js.map} +0 -0
  29. /package/dist/{highlighted-body-B3W2YXNL-IASCZDV2.js.map → highlighted-body-B3W2YXNL-YF4GVJGP.js.map} +0 -0
  30. /package/dist/{mermaid-3ZIDBTTL-BPVVWTVV.js.map → mermaid-3ZIDBTTL-QL4YGD6I.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blade-hq/agent-react",
3
- "version": "2610.0.0-beta.70",
3
+ "version": "2610.0.0-beta.72",
4
4
  "description": "Blade Agent React 绑定:BladeProvider、useAgentSession、开箱即用的 ChatView 聊天界面。",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "dependencies": {
34
- "@blade-hq/agent-client": "2610.0.0-beta.70"
34
+ "@blade-hq/agent-client": "2610.0.0-beta.72"
35
35
  },
36
36
  "bundledDependencies": [],
37
37
  "peerDependencies": {
package/public-api.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > 本文件由 `scripts/public-api-report.mjs` 生成,请勿手改。
4
4
  > 公共面变更时重新生成本报告,并同步更新 README 对应章节——CI 会校验两者。
5
5
 
6
- 324 个公开声明。
6
+ 359 个公开声明。
7
7
 
8
8
  ## `acceptedPostChatFollowupCompletesLatestRun` (function)
9
9
 
@@ -100,6 +100,7 @@ toolCallId: string
100
100
  ```ts
101
101
  attach: (label: string, data: unknown) => void
102
102
  attachApp: (options: AttachAppOptions) => Promise<AppCliAttachment | null>
103
+ cancelPendingLocate: () => void
103
104
  cancelQueuedMessage: (itemId: string, expectedVersion?: number) => Promise<QueueOperationResult>
104
105
  compact: () => Promise<Record<string, unknown>>
105
106
  countFiles: (dirPath?: string) => Promise<number>
@@ -111,8 +112,11 @@ getState: () => SessionState
111
112
  hasOlderHistory: boolean
112
113
  insertText: (text: string) => void
113
114
  isDisposed: boolean
115
+ isStatic: boolean
114
116
  listDir: (dirPath?: string) => Promise<FileEntry[]>
115
117
  loadOlderHistory: (options?: { beforeCommit?: () => void; }) => Promise<void>
118
+ loadTurnIndex: () => Promise<SessionTurnIndexItem[]>
119
+ locateEntry: (entryId: string) => Promise<boolean>
116
120
  off: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => void
117
121
  on: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => () => void
118
122
  onCommand: (action: string, handler: CommandHandler) => () => void
@@ -202,6 +206,24 @@ note: string | undefined
202
206
  selections: Record<number, number[]>
203
207
  ```
204
208
 
209
+ ## `AskUserQuestionData` (interface)
210
+
211
+ ```ts
212
+ questions: QuestionItem[]
213
+ source_loop: SourceLoopInfo | null | undefined
214
+ ```
215
+
216
+ ## `AskUserQuestionRendererProps` (interface)
217
+
218
+ ```ts
219
+ answerData: AskUserAnswerData | undefined
220
+ answered: boolean
221
+ data: AskUserQuestionData
222
+ onAnswer: ((answer: string, toolCallId: string, answerData: AskUserAnswerData) => void) | undefined
223
+ sessionStatus: string
224
+ toolCallId: string
225
+ ```
226
+
205
227
  ## `AsrAudioPayload` (type)
206
228
 
207
229
  ```ts
@@ -211,6 +233,15 @@ export type AsrAudioPayload =
211
233
  | { pcm: ArrayBuffer | Uint8Array; request_id?: string }
212
234
  ```
213
235
 
236
+ ## `AssistantTextRendererProps` (interface)
237
+
238
+ ```ts
239
+ compact: boolean
240
+ message: ChatMessage
241
+ sessionId: string | undefined
242
+ streaming: boolean
243
+ ```
244
+
214
245
  ## `AttachAppOptions` (interface)
215
246
 
216
247
  ```ts
@@ -396,6 +427,13 @@ function: { name: string; description?: string; parameters?: Record<string, unkn
396
427
  type: "function"
397
428
  ```
398
429
 
430
+ ## `ChatEnd` (interface)
431
+
432
+ ```ts
433
+ duration_ms: number
434
+ status: string
435
+ ```
436
+
399
437
  ## `chatErrorForDisplay` (function)
400
438
 
401
439
  ```ts
@@ -452,10 +490,34 @@ ChatView: (props: ChatViewProps) => JSX.Element
452
490
  ## `ChatViewClassNames` (interface)
453
491
 
454
492
  ```ts
493
+ agentLoop: string | undefined
494
+ askCard: string | undefined
495
+ askOption: string | undefined
496
+ assistantText: string | undefined
497
+ assistantTurn: string | undefined
455
498
  banner: string | undefined
456
499
  chatInput: string | undefined
500
+ empty: string | undefined
501
+ errorBar: string | undefined
502
+ errorMessage: string | undefined
503
+ fileCard: string | undefined
504
+ followup: string | undefined
505
+ followupAction: string | undefined
506
+ inputInner: string | undefined
507
+ inputToolbar: string | undefined
508
+ memoryRefs: string | undefined
457
509
  messageList: string | undefined
510
+ messagesContent: string | undefined
511
+ messagesScroll: string | undefined
512
+ planPanel: string | undefined
513
+ queuePanel: string | undefined
458
514
  root: string | undefined
515
+ scrollToBottom: string | undefined
516
+ textarea: string | undefined
517
+ thinking: string | undefined
518
+ toolRow: string | undefined
519
+ userBubble: string | undefined
520
+ userMessage: string | undefined
459
521
  ```
460
522
 
461
523
  ## `ChatViewProps` (interface)
@@ -481,7 +543,11 @@ theme: "light" | "dark" | undefined
481
543
  ## `ChatViewRenderers` (interface)
482
544
 
483
545
  ```ts
546
+ askUserQuestion: ((props: AskUserQuestionRendererProps) => ReactNode | null) | undefined
547
+ assistantText: ((props: AssistantTextRendererProps) => ReactNode | null) | undefined
548
+ planUpdate: ((props: PlanUpdateRendererProps) => ReactNode | null) | undefined
484
549
  toolCall: ToolCallRenderer | undefined
550
+ userMessage: ((props: UserMessageRendererProps) => ReactNode | null) | undefined
485
551
  ```
486
552
 
487
553
  ## `ChatViewSlots` (interface)
@@ -653,6 +719,13 @@ tool_name: string | null | undefined
653
719
  type: "text" | "thinking" | "tool_use" | "tool_result" | "tool_ui" | "tool_bridge" | "system_notification" | "mode_change" | "plan_status" | "ask_user_answer"
654
720
  ```
655
721
 
722
+ ## `ContentDelta` (interface)
723
+
724
+ ```ts
725
+ content: string
726
+ loop_name: string | undefined
727
+ ```
728
+
656
729
  ## `contentPreview` (function)
657
730
 
658
731
  ```ts
@@ -1074,6 +1147,12 @@ direction: "host-to-agent"
1074
1147
  payload: unknown
1075
1148
  ```
1076
1149
 
1150
+ ## `inferToolStatus` (function)
1151
+
1152
+ ```ts
1153
+ inferToolStatus: (resultStr: string) => "done" | "error" | "cancelled"
1154
+ ```
1155
+
1077
1156
  ## `InlineToolUiCardEntry` (interface)
1078
1157
 
1079
1158
  ```ts
@@ -1106,6 +1185,12 @@ isAppDevToolUiCard: (card: ToolUiCard, isAppDev: boolean) => boolean
1106
1185
  isCommandEnvelope: (value: unknown) => value is CommandEnvelope
1107
1186
  ```
1108
1187
 
1188
+ ## `isEntryGoneError` (function)
1189
+
1190
+ ```ts
1191
+ isEntryGoneError: (error: unknown) => boolean
1192
+ ```
1193
+
1109
1194
  ## `isHiddenInternalMessage` (function)
1110
1195
 
1111
1196
  ```ts
@@ -1160,6 +1245,12 @@ isToolUiCard: (value: unknown) => value is ToolUiCard
1160
1245
  latestPostChatFollowup: (turns: TurnProjection[]) => PostChatFollowup | null
1161
1246
  ```
1162
1247
 
1248
+ ## `latestUserSpeechEntryId` (function)
1249
+
1250
+ ```ts
1251
+ latestUserSpeechEntryId: (turns: TurnProjection[]) => string | null
1252
+ ```
1253
+
1163
1254
  ## `LayoutType` (enum)
1164
1255
 
1165
1256
  ```ts
@@ -1257,6 +1348,16 @@ baseURL: string | undefined
1257
1348
  model: string | undefined
1258
1349
  ```
1259
1350
 
1351
+ ## `LlmResponseDone` (interface)
1352
+
1353
+ ```ts
1354
+ content: string | null | undefined
1355
+ loop_name: string | undefined
1356
+ reasoning: string | null | undefined
1357
+ role: string
1358
+ tool_calls: { id: string; function: { name: string; arguments: string; }; }[] | undefined
1359
+ ```
1360
+
1260
1361
  ## `LlmToolCall` (interface)
1261
1362
 
1262
1363
  ```ts
@@ -1386,7 +1487,7 @@ skill_name: string | null | undefined
1386
1487
  ## `MemoryRefsHint` (function)
1387
1488
 
1388
1489
  ```ts
1389
- MemoryRefsHint: ({ refs }: { refs: MemoryRefInfo[]; }) => JSX.Element
1490
+ MemoryRefsHint: ({ refs, className }: { refs: MemoryRefInfo[]; className?: string; }) => JSX.Element
1390
1491
  ```
1391
1492
 
1392
1493
  ## `mergeConnectorItems` (function)
@@ -1510,6 +1611,14 @@ sequence: number
1510
1611
  turn_id: string
1511
1612
  ```
1512
1613
 
1614
+ ## `PendingQuestionRef` (interface)
1615
+
1616
+ ```ts
1617
+ child_loop_name: string
1618
+ child_tool_call_id: string
1619
+ description: string | null | undefined
1620
+ ```
1621
+
1513
1622
  ## `pickCurrentPlanStep` (function)
1514
1623
 
1515
1624
  ```ts
@@ -1531,7 +1640,7 @@ export type PlanStepStatus = "pending" | "in_progress" | "completed"
1531
1640
  ## `PlanUpdateBlock` (function)
1532
1641
 
1533
1642
  ```ts
1534
- PlanUpdateBlock: ({ toolCall, running, autoReveal, }: { toolCall: ToolCallInfo; running?: boolean; autoReveal?: boolean; }) => JSX.Element | null
1643
+ PlanUpdateBlock: ({ toolCall, running, autoReveal, className, }: { toolCall: ToolCallInfo; running?: boolean; autoReveal?: boolean; className?: string; }) => JSX.Element | null
1535
1644
  ```
1536
1645
 
1537
1646
  ## `PlanUpdateData` (interface)
@@ -1547,6 +1656,14 @@ current: ToolCallInfo | null
1547
1656
  updating: boolean
1548
1657
  ```
1549
1658
 
1659
+ ## `PlanUpdateRendererProps` (interface)
1660
+
1661
+ ```ts
1662
+ plan: PlanUpdateData
1663
+ running: boolean
1664
+ sessionId: string | undefined
1665
+ ```
1666
+
1550
1667
  ## `PlatformEndpoints` (interface)
1551
1668
 
1552
1669
  ```ts
@@ -1715,6 +1832,21 @@ title: string
1715
1832
  version: number
1716
1833
  ```
1717
1834
 
1835
+ ## `PrimarySkillStageSpec` (interface)
1836
+
1837
+ ```ts
1838
+ id: string
1839
+ name: string
1840
+ steps: PrimarySkillStepSpec[]
1841
+ ```
1842
+
1843
+ ## `PrimarySkillStepSpec` (interface)
1844
+
1845
+ ```ts
1846
+ label: string
1847
+ n: number
1848
+ ```
1849
+
1718
1850
  ## `ProvidersResponse` (interface)
1719
1851
 
1720
1852
  ```ts
@@ -1939,6 +2071,17 @@ result: unknown
1939
2071
  sessionId: string
1940
2072
  ```
1941
2073
 
2074
+ ## `RunTiming` (interface)
2075
+
2076
+ ```ts
2077
+ duration_ms: number | null | undefined
2078
+ loop_id: string
2079
+ run_id: string
2080
+ scope: "chat" | "subagent"
2081
+ started_at: string | null | undefined
2082
+ status: "completed" | "paused" | "failed" | "cancelled" | "incomplete"
2083
+ ```
2084
+
1942
2085
  ## `RunTrace` (interface)
1943
2086
 
1944
2087
  ```ts
@@ -2378,6 +2521,13 @@ revision: number
2378
2521
  session_id: string
2379
2522
  ```
2380
2523
 
2524
+ ## `SessionSearchMatch` (interface)
2525
+
2526
+ ```ts
2527
+ field: "title" | "content"
2528
+ snippet: { role: string; text: string; } | null
2529
+ ```
2530
+
2381
2531
  ## `SessionSetupError` (class)
2382
2532
 
2383
2533
  ```ts
@@ -2426,8 +2576,9 @@ getSessionHistory: (sessionId: string, init?: RequestInit) => Promise<SessionHis
2426
2576
  getSessionPluginConfig: (sessionId: string, name: string, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
2427
2577
  getSessionTasks: (sessionId: string) => Promise<Task[]>
2428
2578
  getSessionTurnCommands: (sessionId: string) => Promise<HistoricalCommand[]>
2579
+ getSessionTurnIndex: (sessionId: string) => Promise<SessionTurnIndex>
2429
2580
  getSessionTurns: (sessionId: string) => Promise<TurnProjection[]>
2430
- getSessionTurnsPage: (sessionId: string, options?: { limit?: number; before?: string; }) => Promise<SessionTurnsPage>
2581
+ getSessionTurnsPage: (sessionId: string, options?: SessionTurnsQuery, init?: RequestInit) => Promise<SessionTurnsPage>
2431
2582
  getSharedSession: (token: string) => Promise<TurnProjection[]>
2432
2583
  importSession: (file: File, name?: string, solutionOverride?: string | null | ImportSessionOptions) => Promise<{ session_id: string; }>
2433
2584
  listBackgroundTasks: (sessionId: string, init?: RequestInit) => Promise<BackgroundTask[]>
@@ -2495,6 +2646,28 @@ SessionStatus = type(
2495
2646
  )
2496
2647
  ```
2497
2648
 
2649
+ ## `SessionStatusEvent` (interface)
2650
+
2651
+ ```ts
2652
+ session_id: string
2653
+ status: string
2654
+ ```
2655
+
2656
+ ## `SessionTurnIndex` (interface)
2657
+
2658
+ ```ts
2659
+ items: SessionTurnIndexItem[]
2660
+ sessionId: string
2661
+ ```
2662
+
2663
+ ## `SessionTurnIndexItem` (interface)
2664
+
2665
+ ```ts
2666
+ createdAt: string | null
2667
+ entryId: string
2668
+ preview: string
2669
+ ```
2670
+
2498
2671
  ## `SessionTurnsPage` (interface)
2499
2672
 
2500
2673
  ```ts
@@ -2503,6 +2676,14 @@ nextBefore: string | null
2503
2676
  turns: TurnProjection[]
2504
2677
  ```
2505
2678
 
2679
+ ## `SessionTurnsQuery` (interface)
2680
+
2681
+ ```ts
2682
+ before: string | undefined
2683
+ fromEntryId: string | undefined
2684
+ limit: number | undefined
2685
+ ```
2686
+
2506
2687
  ## `ShareLinkResult` (interface)
2507
2688
 
2508
2689
  ```ts
@@ -2542,6 +2723,12 @@ files: TextFile[]
2542
2723
  name: string
2543
2724
  ```
2544
2725
 
2726
+ ## `SkillEditorTemplateId` (type)
2727
+
2728
+ ```ts
2729
+ export type SkillEditorTemplateId = "skill_editor"
2730
+ ```
2731
+
2545
2732
  ## `SkillMentionAvailability` (interface)
2546
2733
 
2547
2734
  ```ts
@@ -2625,6 +2812,12 @@ export type SolutionRef = ExistingSolutionRef | PreparedSolutionAsset
2625
2812
  sortComputers: (computers: SessionComputer[]) => SessionComputer[]
2626
2813
  ```
2627
2814
 
2815
+ ## `SystemError` (interface)
2816
+
2817
+ ```ts
2818
+ message: string
2819
+ ```
2820
+
2628
2821
  ## `Task` (type)
2629
2822
 
2630
2823
  ```ts
@@ -2685,6 +2878,25 @@ action: string
2685
2878
  payload: unknown
2686
2879
  ```
2687
2880
 
2881
+ ## `ToolCallArgumentsDelta` (interface)
2882
+
2883
+ ```ts
2884
+ arguments_delta: string
2885
+ function: { name: string; }
2886
+ id: string
2887
+ index: number
2888
+ loop_name: string | undefined
2889
+ ```
2890
+
2891
+ ## `ToolCallCreated` (interface)
2892
+
2893
+ ```ts
2894
+ function: { name: string; arguments: string; }
2895
+ id: string
2896
+ index: number
2897
+ loop_name: string | undefined
2898
+ ```
2899
+
2688
2900
  ## `ToolCallInfo` (interface)
2689
2901
 
2690
2902
  ```ts
@@ -2698,12 +2910,46 @@ result: unknown
2698
2910
  status: "done" | "error" | "cancelled" | "awaiting_answer" | "pending" | undefined
2699
2911
  ```
2700
2912
 
2913
+ ## `ToolCallProjection` (interface)
2914
+
2915
+ ```ts
2916
+ arguments: string
2917
+ display_name: string
2918
+ duration_ms: number | null | undefined
2919
+ id: string
2920
+ pending_question_ref: PendingQuestionRef | null | undefined
2921
+ ran_in_parallel: boolean | undefined
2922
+ result: unknown
2923
+ started_at: string | null | undefined
2924
+ status: string
2925
+ subagent_runs: RunTiming[] | undefined
2926
+ tool_name: string
2927
+ ```
2928
+
2701
2929
  ## `ToolCallRenderer` (type)
2702
2930
 
2703
2931
  ```ts
2704
2932
  export type ToolCallRenderer = (info: ToolCallInfo) => ReactNode | null
2705
2933
  ```
2706
2934
 
2935
+ ## `ToolResultDelta` (interface)
2936
+
2937
+ ```ts
2938
+ content: string
2939
+ loop_name: string | undefined
2940
+ stream: "stdout" | "stderr" | undefined
2941
+ tool_call_id: string
2942
+ ```
2943
+
2944
+ ## `ToolResultDone` (interface)
2945
+
2946
+ ```ts
2947
+ content: string
2948
+ function: { name: string; }
2949
+ loop_name: string | undefined
2950
+ tool_call_id: string
2951
+ ```
2952
+
2707
2953
  ## `ToolUiCard` (interface)
2708
2954
 
2709
2955
  ```ts
@@ -2761,6 +3007,73 @@ total: number
2761
3007
  visible: Pick<PluginConnectorSelection, "name" | "iconSource" | "icon" | "displayName">[]
2762
3008
  ```
2763
3009
 
3010
+ ## `TURN_NAV_HIGHLIGHT_CLASS` (const)
3011
+
3012
+ ```ts
3013
+ TURN_NAV_HIGHLIGHT_CLASS: "blade-turn-nav-flash"
3014
+ ```
3015
+
3016
+ ## `TurnNavigationOptions` (interface)
3017
+
3018
+ ```ts
3019
+ beforeSeek: ((entryId: string) => void) | undefined
3020
+ cancelPendingLocate: (() => void) | undefined
3021
+ fallbackItems: TurnNavItem[] | undefined
3022
+ getLoadedEntryElement: (entryId: string) => HTMLElement | null
3023
+ isEntryLoaded: ((entryId: string) => boolean) | undefined
3024
+ loadTurnIndex: (() => Promise<SessionTurnIndexItem[]>) | undefined
3025
+ locateEntry: (entryId: string) => Promise<boolean>
3026
+ reloadKey: string | number | null | undefined
3027
+ revealEntry: ((entryId: string) => void) | undefined
3028
+ rewriteKey: string | number | null | undefined
3029
+ sessionId: string | null | undefined
3030
+ ```
3031
+
3032
+ ## `TurnNavigationResult` (interface)
3033
+
3034
+ ```ts
3035
+ activeEntryId: string | null
3036
+ error: string | null
3037
+ failedEntryId: string | null
3038
+ items: TurnNavItem[]
3039
+ loadingEntryId: string | null
3040
+ selectEntry: (entryId: string) => void
3041
+ ```
3042
+
3043
+ ## `TurnNavigationSource` (interface)
3044
+
3045
+ ```ts
3046
+ cancelPendingLocate: (() => void) | undefined
3047
+ fallbackItems: TurnNavItem[] | undefined
3048
+ loadTurnIndex: (() => Promise<SessionTurnIndexItem[]>) | undefined
3049
+ locateEntry: (entryId: string) => Promise<boolean>
3050
+ reloadKey: string | number | null | undefined
3051
+ rewriteKey: string | number | null | undefined
3052
+ ```
3053
+
3054
+ ## `turnNavItemsFromMessages` (function)
3055
+
3056
+ ```ts
3057
+ turnNavItemsFromMessages: (messages: ChatMessage[]) => TurnNavItem[]
3058
+ ```
3059
+
3060
+ ## `TurnNavRail` (function)
3061
+
3062
+ ```ts
3063
+ TurnNavRail: ({ items, activeTurnId, loadingTurnId, error, failedTurnId, onSelectTurn, }: TurnNavRailProps) => JSX.Element | null
3064
+ ```
3065
+
3066
+ ## `TurnNavRailProps` (interface)
3067
+
3068
+ ```ts
3069
+ activeTurnId: string | null
3070
+ error: string | null | undefined
3071
+ failedTurnId: string | null | undefined
3072
+ items: TurnNavItem[]
3073
+ loadingTurnId: string | null | undefined
3074
+ onSelectTurn: (entryId: string) => void
3075
+ ```
3076
+
2764
3077
  ## `TurnProjection` (interface)
2765
3078
 
2766
3079
  ```ts
@@ -2940,6 +3253,12 @@ token: string
2940
3253
  username: string
2941
3254
  ```
2942
3255
 
3256
+ ## `UserMessageRendererProps` (interface)
3257
+
3258
+ ```ts
3259
+ message: ChatMessage
3260
+ ```
3261
+
2943
3262
  ## `useSessionPluginActivation` (function)
2944
3263
 
2945
3264
  ```ts
@@ -2964,6 +3283,12 @@ retry: (item: PluginConnectorItem) => void
2964
3283
  toggle: (item: PluginConnectorItem, next: boolean) => void
2965
3284
  ```
2966
3285
 
3286
+ ## `useTurnNavigation` (function)
3287
+
3288
+ ```ts
3289
+ useTurnNavigation: ({ sessionId, getLoadedEntryElement, isEntryLoaded, locateEntry, cancelPendingLocate, loadTurnIndex, fallbackItems, revealEntry, beforeSeek, reloadKey, rewriteKey, }: TurnNavigationOptions) => TurnNavigationResult
3290
+ ```
3291
+
2967
3292
  ## `useTypewriterReveal` (function)
2968
3293
 
2969
3294
  ```ts