@agent-native/toolkit 0.228.0-nightly-20261111212500 → 0.228.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-native.eject.json +2 -0
- package/dist/app/agentkit/react/approval-card.d.ts.map +1 -1
- package/dist/app/agentkit/react/approval-card.js +5 -3
- package/dist/app/agentkit/react/approval-card.js.map +1 -1
- package/dist/app/agentkit/react/code-block.d.ts +32 -0
- package/dist/app/agentkit/react/code-block.d.ts.map +1 -0
- package/dist/app/agentkit/react/code-block.js +125 -0
- package/dist/app/agentkit/react/code-block.js.map +1 -0
- package/dist/app/agentkit/react/components.d.ts +33 -14
- package/dist/app/agentkit/react/components.d.ts.map +1 -1
- package/dist/app/agentkit/react/components.js +843 -168
- package/dist/app/agentkit/react/components.js.map +1 -1
- package/dist/app/agentkit/react/context-usage.d.ts +45 -0
- package/dist/app/agentkit/react/context-usage.d.ts.map +1 -0
- package/dist/app/agentkit/react/context-usage.js +93 -0
- package/dist/app/agentkit/react/context-usage.js.map +1 -0
- package/dist/app/agentkit/react/context.d.ts +42 -3
- package/dist/app/agentkit/react/context.d.ts.map +1 -1
- package/dist/app/agentkit/react/context.js +46 -1
- package/dist/app/agentkit/react/context.js.map +1 -1
- package/dist/app/agentkit/react/disclosure-content.d.ts +12 -0
- package/dist/app/agentkit/react/disclosure-content.d.ts.map +1 -0
- package/dist/app/agentkit/react/disclosure-content.js +33 -0
- package/dist/app/agentkit/react/disclosure-content.js.map +1 -0
- package/dist/app/agentkit/react/duration.d.ts +6 -0
- package/dist/app/agentkit/react/duration.d.ts.map +1 -0
- package/dist/app/agentkit/react/duration.js +21 -0
- package/dist/app/agentkit/react/duration.js.map +1 -0
- package/dist/app/agentkit/react/file-change.d.ts +33 -0
- package/dist/app/agentkit/react/file-change.d.ts.map +1 -0
- package/dist/app/agentkit/react/file-change.js +83 -0
- package/dist/app/agentkit/react/file-change.js.map +1 -0
- package/dist/app/agentkit/react/file-diff.d.ts +17 -0
- package/dist/app/agentkit/react/file-diff.d.ts.map +1 -0
- package/dist/app/agentkit/react/file-diff.js +94 -0
- package/dist/app/agentkit/react/file-diff.js.map +1 -0
- package/dist/app/agentkit/react/index.d.ts +7 -0
- package/dist/app/agentkit/react/index.d.ts.map +1 -1
- package/dist/app/agentkit/react/index.js +7 -0
- package/dist/app/agentkit/react/index.js.map +1 -1
- package/dist/app/agentkit/react/question-card.d.ts +67 -0
- package/dist/app/agentkit/react/question-card.d.ts.map +1 -0
- package/dist/app/agentkit/react/question-card.js +198 -0
- package/dist/app/agentkit/react/question-card.js.map +1 -0
- package/dist/app/agentkit/react/root.d.ts +3 -2
- package/dist/app/agentkit/react/root.d.ts.map +1 -1
- package/dist/app/agentkit/react/root.js +2 -2
- package/dist/app/agentkit/react/root.js.map +1 -1
- package/dist/app/agentkit/react/roving-focus.d.ts +4 -0
- package/dist/app/agentkit/react/roving-focus.d.ts.map +1 -0
- package/dist/app/agentkit/react/roving-focus.js +75 -0
- package/dist/app/agentkit/react/roving-focus.js.map +1 -0
- package/dist/app/agentkit/react/stack-trace.d.ts +34 -0
- package/dist/app/agentkit/react/stack-trace.d.ts.map +1 -0
- package/dist/app/agentkit/react/stack-trace.js +121 -0
- package/dist/app/agentkit/react/stack-trace.js.map +1 -0
- package/dist/app/agentkit/react/stop-button.d.ts.map +1 -1
- package/dist/app/agentkit/react/stop-button.js +22 -6
- package/dist/app/agentkit/react/stop-button.js.map +1 -1
- package/dist/app/agentkit/react/styles.css +1306 -395
- package/dist/app/agentkit/react/terminal.d.ts +28 -0
- package/dist/app/agentkit/react/terminal.d.ts.map +1 -0
- package/dist/app/agentkit/react/terminal.js +84 -0
- package/dist/app/agentkit/react/terminal.js.map +1 -0
- package/dist/app/agentkit/react/trace.d.ts +31 -0
- package/dist/app/agentkit/react/trace.d.ts.map +1 -0
- package/dist/app/agentkit/react/trace.js +73 -0
- package/dist/app/agentkit/react/trace.js.map +1 -0
- package/dist/app/blocks/library/HighlightedCode.d.ts +2 -1
- package/dist/app/blocks/library/HighlightedCode.d.ts.map +1 -1
- package/dist/app/blocks/library/HighlightedCode.js +8 -111
- package/dist/app/blocks/library/HighlightedCode.js.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.js +23 -245
- package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
- package/dist/app/chat/agentkit-chat/guided-questions.d.ts +15 -1
- package/dist/app/chat/agentkit-chat/guided-questions.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/guided-questions.js +142 -2
- package/dist/app/chat/agentkit-chat/guided-questions.js.map +1 -1
- package/dist/app/chat/agentkit-chat/history.js +1 -1
- package/dist/app/chat/agentkit-chat/history.js.map +1 -1
- package/dist/app/chat/agentkit-chat/index.d.ts +1 -1
- package/dist/app/chat/agentkit-chat/index.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/index.js +1 -1
- package/dist/app/chat/agentkit-chat/index.js.map +1 -1
- package/dist/app/chat/agentkit-chat/labels.d.ts +5 -0
- package/dist/app/chat/agentkit-chat/labels.d.ts.map +1 -0
- package/dist/app/chat/agentkit-chat/labels.js +245 -0
- package/dist/app/chat/agentkit-chat/labels.js.map +1 -0
- package/dist/app/chat/agentkit-chat/questions.d.ts +1 -1
- package/dist/app/chat/agentkit-chat/questions.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/questions.js +1 -1
- package/dist/app/chat/agentkit-chat/questions.js.map +1 -1
- package/dist/app/chat/agentkit-chat/root.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/root.js +5 -64
- package/dist/app/chat/agentkit-chat/root.js.map +1 -1
- package/dist/app/chat/agentkit-chat/work-step-labels.d.ts +2 -0
- package/dist/app/chat/agentkit-chat/work-step-labels.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/work-step-labels.js +31 -0
- package/dist/app/chat/agentkit-chat/work-step-labels.js.map +1 -1
- package/dist/app/chat/chat/markdown-renderer.d.ts +2 -12
- package/dist/app/chat/chat/markdown-renderer.d.ts.map +1 -1
- package/dist/app/chat/chat/markdown-renderer.js +2 -41
- package/dist/app/chat/chat/markdown-renderer.js.map +1 -1
- package/dist/app/chat/chat/tool-call-display.d.ts.map +1 -1
- package/dist/app/chat/chat/tool-call-display.js +2 -2
- package/dist/app/chat/chat/tool-call-display.js.map +1 -1
- package/dist/app/chat/conversation/AgentConversation.d.ts.map +1 -1
- package/dist/app/chat/conversation/AgentConversation.js +2 -37
- package/dist/app/chat/conversation/AgentConversation.js.map +1 -1
- package/dist/app/chat/tool-cells/BashCell.d.ts +3 -1
- package/dist/app/chat/tool-cells/BashCell.d.ts.map +1 -1
- package/dist/app/chat/tool-cells/BashCell.js +4 -40
- package/dist/app/chat/tool-cells/BashCell.js.map +1 -1
- package/dist/app/chat/tool-cells/EditCell.d.ts.map +1 -1
- package/dist/app/chat/tool-cells/EditCell.js +5 -108
- package/dist/app/chat/tool-cells/EditCell.js.map +1 -1
- package/dist/app/chat/tool-cells/FilesChangedSummary.d.ts.map +1 -1
- package/dist/app/chat/tool-cells/FilesChangedSummary.js +23 -81
- package/dist/app/chat/tool-cells/FilesChangedSummary.js.map +1 -1
- package/dist/app/chat/tool-cells/WriteCell.d.ts.map +1 -1
- package/dist/app/chat/tool-cells/WriteCell.js +5 -24
- package/dist/app/chat/tool-cells/WriteCell.js.map +1 -1
- package/dist/app/code-highlighter.d.ts +11 -0
- package/dist/app/code-highlighter.d.ts.map +1 -0
- package/dist/app/code-highlighter.js +122 -0
- package/dist/app/code-highlighter.js.map +1 -0
- package/dist/app/context-xray/ThreadContextRing.js +3 -3
- package/dist/app/context-xray/ThreadContextRing.js.map +1 -1
- package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ar-SA.js +22 -0
- package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.js +22 -0
- package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
- package/dist/app/i18n/catalogs/en-US.d.ts +22 -0
- package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/en-US.js +22 -0
- package/dist/app/i18n/catalogs/en-US.js.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.js +22 -0
- package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.js +22 -0
- package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.js +22 -0
- package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.js +22 -0
- package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.js +22 -0
- package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.js +22 -0
- package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.js +22 -0
- package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.js +22 -0
- package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
- package/dist/app/onboarding/first-run-first-paint.d.ts +10 -0
- package/dist/app/onboarding/first-run-first-paint.d.ts.map +1 -0
- package/dist/app/onboarding/first-run-first-paint.js +22 -0
- package/dist/app/onboarding/first-run-first-paint.js.map +1 -0
- package/dist/app/onboarding/first-run-startup-gate.d.ts +3 -1
- package/dist/app/onboarding/first-run-startup-gate.d.ts.map +1 -1
- package/dist/app/onboarding/first-run-startup-gate.js +30 -6
- package/dist/app/onboarding/first-run-startup-gate.js.map +1 -1
- package/dist/app/providers/AppProviders.d.ts.map +1 -1
- package/dist/app/providers/AppProviders.js +9 -2
- package/dist/app/providers/AppProviders.js.map +1 -1
- package/dist/app/providers/BuilderSignupActivation.d.ts +2 -1
- package/dist/app/providers/BuilderSignupActivation.d.ts.map +1 -1
- package/dist/app/providers/BuilderSignupActivation.js +6 -3
- package/dist/app/providers/BuilderSignupActivation.js.map +1 -1
- package/dist/app/shared/AppShellSkeleton.d.ts.map +1 -1
- package/dist/app/shared/AppShellSkeleton.js +11 -1
- package/dist/app/shared/AppShellSkeleton.js.map +1 -1
- package/dist/app/styles/agent-native.css +2 -2
- package/dist/app/styles/tokens/agent-kit.css +20 -3
- package/dist/composer/AgentSuggestionBar.d.ts.map +1 -1
- package/dist/composer/AgentSuggestionBar.js +2 -2
- package/dist/composer/AgentSuggestionBar.js.map +1 -1
- package/dist/composer/ComposerContextMenu.js +4 -4
- package/dist/composer/ComposerContextMenu.js.map +1 -1
- package/dist/composer/ComposerContextPicker.d.ts.map +1 -1
- package/dist/composer/ComposerContextPicker.js +2 -2
- package/dist/composer/ComposerContextPicker.js.map +1 -1
- package/dist/composer/ComposerContextPickerDialog.d.ts.map +1 -1
- package/dist/composer/ComposerContextPickerDialog.js +2 -2
- package/dist/composer/ComposerContextPickerDialog.js.map +1 -1
- package/dist/composer/ComposerModePicker.d.ts.map +1 -1
- package/dist/composer/ComposerModePicker.js +2 -1
- package/dist/composer/ComposerModePicker.js.map +1 -1
- package/dist/composer/ComposerPlusMenu.js +1 -1
- package/dist/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/composer/MentionChip.js +1 -1
- package/dist/composer/MentionChip.js.map +1 -1
- package/dist/composer/MentionPopover.d.ts +3 -0
- package/dist/composer/MentionPopover.d.ts.map +1 -1
- package/dist/composer/MentionPopover.js +34 -15
- package/dist/composer/MentionPopover.js.map +1 -1
- package/dist/composer/MessageQueueDrawer.d.ts.map +1 -1
- package/dist/composer/MessageQueueDrawer.js +14 -9
- package/dist/composer/MessageQueueDrawer.js.map +1 -1
- package/dist/composer/PastedTextChip.d.ts.map +1 -1
- package/dist/composer/PastedTextChip.js +14 -18
- package/dist/composer/PastedTextChip.js.map +1 -1
- package/dist/composer/PromptBar.js +1 -1
- package/dist/composer/PromptBar.js.map +1 -1
- package/dist/composer/PromptComposer.d.ts.map +1 -1
- package/dist/composer/PromptComposer.js +11 -9
- package/dist/composer/PromptComposer.js.map +1 -1
- package/dist/composer/RealtimeVoiceMode.js +2 -2
- package/dist/composer/RealtimeVoiceMode.js.map +1 -1
- package/dist/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/composer/TiptapComposer.js +52 -89
- package/dist/composer/TiptapComposer.js.map +1 -1
- package/dist/composer/VoiceButton.d.ts +3 -1
- package/dist/composer/VoiceButton.d.ts.map +1 -1
- package/dist/composer/VoiceButton.js +10 -8
- package/dist/composer/VoiceButton.js.map +1 -1
- package/dist/composer/composer-notice.js +3 -3
- package/dist/composer/composer-notice.js.map +1 -1
- package/dist/composer/extensions/FileReference.js +1 -1
- package/dist/composer/extensions/FileReference.js.map +1 -1
- package/dist/composer/extensions/SkillReference.js +1 -1
- package/dist/composer/extensions/SkillReference.js.map +1 -1
- package/dist/composer/popover-surface.d.ts +1 -1
- package/dist/composer/popover-surface.d.ts.map +1 -1
- package/dist/composer/popover-surface.js +1 -1
- package/dist/composer/popover-surface.js.map +1 -1
- package/dist/context-ui/ContextUsageRing.d.ts +1 -45
- package/dist/context-ui/ContextUsageRing.d.ts.map +1 -1
- package/dist/context-ui/ContextUsageRing.js +2 -87
- package/dist/context-ui/ContextUsageRing.js.map +1 -1
- package/dist/context-ui/index.d.ts +2 -2
- package/dist/context-ui/index.d.ts.map +1 -1
- package/dist/context-ui/index.js +2 -2
- package/dist/context-ui/index.js.map +1 -1
- package/package.json +4 -4
- package/src/app/agentkit/react/approval-card.tsx +14 -2
- package/src/app/agentkit/react/code-block.spec.tsx +154 -0
- package/src/app/agentkit/react/code-block.tsx +317 -0
- package/src/app/agentkit/react/components.interaction.spec.tsx +7 -0
- package/src/app/agentkit/react/components.papercuts.spec.tsx +143 -2
- package/src/app/agentkit/react/components.spec.tsx +40 -47
- package/src/app/agentkit/react/components.tsx +1533 -413
- package/src/app/agentkit/react/composer-context.spec.tsx +35 -0
- package/src/app/agentkit/react/context-usage.tsx +353 -0
- package/src/app/agentkit/react/context.tsx +93 -1
- package/src/app/agentkit/react/disclosure-content.ts +42 -0
- package/src/app/agentkit/react/disclosures.spec.tsx +62 -4
- package/src/app/agentkit/react/duration.ts +22 -0
- package/src/app/agentkit/react/file-change.spec.tsx +124 -0
- package/src/app/agentkit/react/file-change.tsx +228 -0
- package/src/app/agentkit/react/file-diff.ts +110 -0
- package/src/app/agentkit/react/index.ts +7 -0
- package/src/app/agentkit/react/lifecycle.spec.tsx +565 -20
- package/src/app/agentkit/react/markdown.spec.tsx +18 -8
- package/src/app/agentkit/react/message-actions.spec.tsx +55 -1
- package/src/app/agentkit/react/notices.spec.tsx +4 -4
- package/src/app/agentkit/react/optimistic-send.spec.tsx +43 -0
- package/src/app/agentkit/react/question-card.spec.tsx +276 -0
- package/src/app/agentkit/react/question-card.tsx +533 -0
- package/src/app/agentkit/react/root.tsx +4 -0
- package/src/app/agentkit/react/roving-focus.spec.tsx +114 -0
- package/src/app/agentkit/react/roving-focus.ts +82 -0
- package/src/app/agentkit/react/stack-trace.spec.tsx +177 -0
- package/src/app/agentkit/react/stack-trace.tsx +281 -0
- package/src/app/agentkit/react/stop-button.spec.tsx +40 -0
- package/src/app/agentkit/react/stop-button.tsx +22 -5
- package/src/app/agentkit/react/styles.css +1306 -395
- package/src/app/agentkit/react/subagent-step.spec.tsx +554 -0
- package/src/app/agentkit/react/terminal.spec.tsx +228 -0
- package/src/app/agentkit/react/terminal.tsx +228 -0
- package/src/app/agentkit/react/trace.spec.tsx +120 -0
- package/src/app/agentkit/react/trace.tsx +239 -0
- package/src/app/blocks/library/HighlightedCode.tsx +14 -126
- package/src/app/chat/AgentKitAssistantChat.spec.tsx +28 -12
- package/src/app/chat/AgentKitAssistantChat.tsx +27 -253
- package/src/app/chat/agentkit-chat/approval-card.spec.tsx +1 -0
- package/src/app/chat/agentkit-chat/guided-questions.flow.spec.tsx +381 -0
- package/src/app/chat/agentkit-chat/guided-questions.tsx +236 -3
- package/src/app/chat/agentkit-chat/history.tsx +1 -1
- package/src/app/chat/agentkit-chat/index.ts +2 -0
- package/src/app/chat/agentkit-chat/labels.ts +259 -0
- package/src/app/chat/agentkit-chat/questions.ts +2 -0
- package/src/app/chat/agentkit-chat/root.spec.tsx +18 -0
- package/src/app/chat/agentkit-chat/root.tsx +5 -64
- package/src/app/chat/agentkit-chat/work-step-labels.ts +42 -0
- package/src/app/chat/chat/markdown-renderer.tsx +2 -59
- package/src/app/chat/chat/tool-call-display.spec.tsx +26 -14
- package/src/app/chat/chat/tool-call-display.tsx +2 -1
- package/src/app/chat/conversation/AgentConversation.tsx +2 -50
- package/src/app/chat/tool-cells/BashCell.tsx +14 -136
- package/src/app/chat/tool-cells/EditCell.tsx +11 -248
- package/src/app/chat/tool-cells/FilesChangedSummary.spec.tsx +62 -5
- package/src/app/chat/tool-cells/FilesChangedSummary.tsx +31 -162
- package/src/app/chat/tool-cells/WriteCell.tsx +11 -121
- package/src/app/code-highlighter.ts +131 -0
- package/src/app/context-xray/ThreadContextRing.tsx +7 -7
- package/src/app/i18n/catalogs/ar-SA.ts +22 -0
- package/src/app/i18n/catalogs/de-DE.ts +22 -0
- package/src/app/i18n/catalogs/en-US.ts +22 -0
- package/src/app/i18n/catalogs/es-ES.ts +22 -0
- package/src/app/i18n/catalogs/fr-FR.ts +22 -0
- package/src/app/i18n/catalogs/hi-IN.ts +22 -0
- package/src/app/i18n/catalogs/ja-JP.ts +22 -0
- package/src/app/i18n/catalogs/ko-KR.ts +22 -0
- package/src/app/i18n/catalogs/pt-BR.ts +22 -0
- package/src/app/i18n/catalogs/zh-CN.ts +22 -0
- package/src/app/i18n/catalogs/zh-TW.ts +22 -0
- package/src/app/onboarding/first-run-first-paint.spec.ts +39 -0
- package/src/app/onboarding/first-run-first-paint.ts +24 -0
- package/src/app/onboarding/first-run-startup-gate.spec.tsx +125 -13
- package/src/app/onboarding/first-run-startup-gate.tsx +48 -5
- package/src/app/providers/AppProviders.tsx +18 -0
- package/src/app/providers/BuilderSignupActivation.tsx +8 -2
- package/src/app/shared/AppShellSkeleton.spec.tsx +60 -1
- package/src/app/shared/AppShellSkeleton.tsx +31 -1
- package/src/app/styles/agent-native.css +2 -2
- package/src/app/styles/agent-native.spec.ts +2 -2
- package/src/app/styles/tokens/agent-kit.css +20 -3
- package/src/composer/AgentSuggestionBar.spec.tsx +3 -1
- package/src/composer/AgentSuggestionBar.tsx +5 -2
- package/src/composer/ComposerContextMenu.tsx +4 -4
- package/src/composer/ComposerContextPicker.tsx +8 -2
- package/src/composer/ComposerContextPickerDialog.tsx +5 -2
- package/src/composer/ComposerModePicker.tsx +2 -1
- package/src/composer/ComposerPlusMenu.tsx +1 -1
- package/src/composer/MentionChip.tsx +1 -1
- package/src/composer/MentionPopover.spec.tsx +108 -2
- package/src/composer/MentionPopover.tsx +93 -17
- package/src/composer/MessageQueueDrawer.spec.tsx +5 -5
- package/src/composer/MessageQueueDrawer.tsx +19 -12
- package/src/composer/PastedTextChip.spec.tsx +36 -0
- package/src/composer/PastedTextChip.tsx +52 -58
- package/src/composer/PromptBar.tsx +1 -1
- package/src/composer/PromptComposer.context.spec.tsx +2 -2
- package/src/composer/PromptComposer.submission.spec.tsx +27 -0
- package/src/composer/PromptComposer.tsx +17 -9
- package/src/composer/RealtimeVoiceMode.tsx +2 -2
- package/src/composer/TiptapComposer.model-picker.spec.tsx +23 -82
- package/src/composer/TiptapComposer.tsx +68 -145
- package/src/composer/VoiceButton.tsx +12 -7
- package/src/composer/composer-notice.tsx +3 -3
- package/src/composer/extensions/FileReference.tsx +1 -1
- package/src/composer/extensions/SkillReference.tsx +1 -1
- package/src/composer/popover-surface.ts +1 -1
- package/src/context-ui/ContextUsageRing.spec.tsx +33 -8
- package/src/context-ui/ContextUsageRing.tsx +13 -348
- package/src/context-ui/index.ts +7 -1
- package/dist/composer/ModelPickerParts.d.ts +0 -20
- package/dist/composer/ModelPickerParts.d.ts.map +0 -1
- package/dist/composer/ModelPickerParts.js +0 -77
- package/dist/composer/ModelPickerParts.js.map +0 -1
- package/src/composer/ModelPickerParts.tsx +0 -188
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { IconChevronRight } from "@tabler/icons-react";
|
|
2
|
+
import {
|
|
3
|
+
createContext,
|
|
4
|
+
useCallback,
|
|
5
|
+
useContext,
|
|
6
|
+
useId,
|
|
7
|
+
useLayoutEffect,
|
|
8
|
+
useMemo,
|
|
9
|
+
useState,
|
|
10
|
+
type ComponentProps,
|
|
11
|
+
} from "react";
|
|
12
|
+
|
|
13
|
+
import { useUntilFoundContent } from "./disclosure-content.js";
|
|
14
|
+
|
|
15
|
+
/** Omitted status is finished work. */
|
|
16
|
+
export type TraceStatus = "running" | "error" | "pending";
|
|
17
|
+
|
|
18
|
+
function classes(...names: Array<string | false | null | undefined>): string {
|
|
19
|
+
return names.filter(Boolean).join(" ");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function Trace({ className, ...props }: ComponentProps<"div">) {
|
|
23
|
+
return (
|
|
24
|
+
<div
|
|
25
|
+
data-slot="trace"
|
|
26
|
+
className={classes("agentkit-trace", className)}
|
|
27
|
+
{...props}
|
|
28
|
+
/>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Status shows only as color and motion; the title must say it too. */
|
|
33
|
+
export function TraceLine({
|
|
34
|
+
className,
|
|
35
|
+
status,
|
|
36
|
+
...props
|
|
37
|
+
}: ComponentProps<"span"> & { status?: TraceStatus | undefined }) {
|
|
38
|
+
return (
|
|
39
|
+
<span
|
|
40
|
+
data-slot="trace-line"
|
|
41
|
+
// Not data-status: rows already carry the protocol status there.
|
|
42
|
+
data-trace-status={status}
|
|
43
|
+
className={classes("agentkit-trace-line", className)}
|
|
44
|
+
{...props}
|
|
45
|
+
/>
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** A fixed 1rem column, so titles align down the trace. */
|
|
50
|
+
export function TraceIcon({ className, ...props }: ComponentProps<"span">) {
|
|
51
|
+
return (
|
|
52
|
+
<span
|
|
53
|
+
data-slot="trace-icon"
|
|
54
|
+
aria-hidden="true"
|
|
55
|
+
className={classes("agentkit-disclosure-icon-slot", className)}
|
|
56
|
+
{...props}
|
|
57
|
+
/>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** The accessible name of the step. Truncates; shimmers while running. */
|
|
62
|
+
export function TraceTitle({ className, ...props }: ComponentProps<"span">) {
|
|
63
|
+
return (
|
|
64
|
+
<span
|
|
65
|
+
data-slot="trace-title"
|
|
66
|
+
className={classes("agentkit-trace-title", className)}
|
|
67
|
+
{...props}
|
|
68
|
+
/>
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** A duration or diff stat; never truncates. */
|
|
73
|
+
export function TraceDescription({
|
|
74
|
+
className,
|
|
75
|
+
...props
|
|
76
|
+
}: ComponentProps<"span">) {
|
|
77
|
+
return (
|
|
78
|
+
<span
|
|
79
|
+
data-slot="trace-description"
|
|
80
|
+
className={classes("agentkit-trace-description", className)}
|
|
81
|
+
{...props}
|
|
82
|
+
/>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
interface TraceCollapsibleState {
|
|
87
|
+
open: boolean;
|
|
88
|
+
setOpen: (open: boolean) => void;
|
|
89
|
+
contentId: string;
|
|
90
|
+
contentRendered: boolean;
|
|
91
|
+
setContentRendered: (rendered: boolean) => void;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const TraceCollapsibleContext = createContext<TraceCollapsibleState | null>(
|
|
95
|
+
null,
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
function useTraceCollapsibleState(part: string): TraceCollapsibleState {
|
|
99
|
+
const state = useContext(TraceCollapsibleContext);
|
|
100
|
+
if (!state) throw new Error(`${part} must be inside TraceCollapsible.`);
|
|
101
|
+
return state;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export type TraceCollapsibleOpenProps =
|
|
105
|
+
| { open?: undefined; onOpenChange?: (open: boolean) => void }
|
|
106
|
+
| { open: boolean; onOpenChange: (open: boolean) => void };
|
|
107
|
+
|
|
108
|
+
export function TraceCollapsible({
|
|
109
|
+
open: controlledOpen,
|
|
110
|
+
defaultOpen = false,
|
|
111
|
+
onOpenChange,
|
|
112
|
+
className,
|
|
113
|
+
...props
|
|
114
|
+
}: Omit<ComponentProps<"div">, "onToggle"> &
|
|
115
|
+
TraceCollapsibleOpenProps & { defaultOpen?: boolean | undefined }) {
|
|
116
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
117
|
+
const open = controlledOpen ?? uncontrolledOpen;
|
|
118
|
+
const [contentRendered, setContentRendered] = useState(false);
|
|
119
|
+
const contentId = useId();
|
|
120
|
+
const setOpen = useCallback(
|
|
121
|
+
(next: boolean) => {
|
|
122
|
+
if (controlledOpen === undefined) setUncontrolledOpen(next);
|
|
123
|
+
onOpenChange?.(next);
|
|
124
|
+
},
|
|
125
|
+
[controlledOpen, onOpenChange],
|
|
126
|
+
);
|
|
127
|
+
const state = useMemo(
|
|
128
|
+
() => ({ open, setOpen, contentId, contentRendered, setContentRendered }),
|
|
129
|
+
[open, setOpen, contentId, contentRendered],
|
|
130
|
+
);
|
|
131
|
+
return (
|
|
132
|
+
<TraceCollapsibleContext.Provider value={state}>
|
|
133
|
+
<div
|
|
134
|
+
data-slot="trace-collapsible"
|
|
135
|
+
data-state={open ? "open" : "closed"}
|
|
136
|
+
className={classes("agentkit-trace-collapsible", className)}
|
|
137
|
+
{...props}
|
|
138
|
+
/>
|
|
139
|
+
</TraceCollapsibleContext.Provider>
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/** Wrap a `TraceLine`; adds the chevron. */
|
|
144
|
+
export function TraceCollapsibleTrigger({
|
|
145
|
+
className,
|
|
146
|
+
children,
|
|
147
|
+
onClick,
|
|
148
|
+
...props
|
|
149
|
+
}: Omit<ComponentProps<"button">, "type">) {
|
|
150
|
+
const { open, setOpen, contentId, contentRendered } =
|
|
151
|
+
useTraceCollapsibleState("TraceCollapsibleTrigger");
|
|
152
|
+
return (
|
|
153
|
+
<button
|
|
154
|
+
type="button"
|
|
155
|
+
data-slot="trace-collapsible-trigger"
|
|
156
|
+
data-expandable="true"
|
|
157
|
+
aria-expanded={open}
|
|
158
|
+
aria-controls={contentRendered ? contentId : undefined}
|
|
159
|
+
className={classes("agentkit-disclosure-summary", className)}
|
|
160
|
+
onClick={(event) => {
|
|
161
|
+
onClick?.(event);
|
|
162
|
+
if (!event.defaultPrevented) setOpen(!open);
|
|
163
|
+
}}
|
|
164
|
+
{...props}
|
|
165
|
+
>
|
|
166
|
+
{children}
|
|
167
|
+
<IconChevronRight
|
|
168
|
+
aria-hidden="true"
|
|
169
|
+
className="agentkit-icon agentkit-disclosure-chevron"
|
|
170
|
+
data-open={open ? "true" : "false"}
|
|
171
|
+
/>
|
|
172
|
+
</button>
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/** `keepMounted` hides closed content until found, so find-in-page opens it. */
|
|
177
|
+
export function TraceCollapsibleContent({
|
|
178
|
+
keepMounted = false,
|
|
179
|
+
className,
|
|
180
|
+
children,
|
|
181
|
+
...props
|
|
182
|
+
}: Omit<ComponentProps<"div">, "id" | "hidden"> & { keepMounted?: boolean }) {
|
|
183
|
+
const { open, setOpen, contentId, setContentRendered } =
|
|
184
|
+
useTraceCollapsibleState("TraceCollapsibleContent");
|
|
185
|
+
const rendered = open || keepMounted;
|
|
186
|
+
useLayoutEffect(() => {
|
|
187
|
+
setContentRendered(rendered);
|
|
188
|
+
return () => setContentRendered(false);
|
|
189
|
+
}, [rendered, setContentRendered]);
|
|
190
|
+
if (keepMounted) {
|
|
191
|
+
return (
|
|
192
|
+
<KeptTraceContent
|
|
193
|
+
open={open}
|
|
194
|
+
onReveal={() => setOpen(true)}
|
|
195
|
+
id={contentId}
|
|
196
|
+
className={className}
|
|
197
|
+
{...props}
|
|
198
|
+
>
|
|
199
|
+
{children}
|
|
200
|
+
</KeptTraceContent>
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
return open ? (
|
|
204
|
+
<div
|
|
205
|
+
id={contentId}
|
|
206
|
+
data-slot="trace-collapsible-content"
|
|
207
|
+
data-state="open"
|
|
208
|
+
className={classes("agentkit-trace-content", className)}
|
|
209
|
+
{...props}
|
|
210
|
+
>
|
|
211
|
+
{children}
|
|
212
|
+
</div>
|
|
213
|
+
) : null;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
function KeptTraceContent({
|
|
217
|
+
open,
|
|
218
|
+
onReveal,
|
|
219
|
+
className,
|
|
220
|
+
children,
|
|
221
|
+
...props
|
|
222
|
+
}: Omit<ComponentProps<"div">, "hidden"> & {
|
|
223
|
+
open: boolean;
|
|
224
|
+
onReveal: () => void;
|
|
225
|
+
}) {
|
|
226
|
+
const { ref, mounted } = useUntilFoundContent(open, onReveal);
|
|
227
|
+
return (
|
|
228
|
+
<div
|
|
229
|
+
ref={ref}
|
|
230
|
+
data-slot="trace-collapsible-content"
|
|
231
|
+
data-state={open ? "open" : "closed"}
|
|
232
|
+
hidden={!open}
|
|
233
|
+
className={classes("agentkit-trace-content", className)}
|
|
234
|
+
{...props}
|
|
235
|
+
>
|
|
236
|
+
{mounted ? children : null}
|
|
237
|
+
</div>
|
|
238
|
+
);
|
|
239
|
+
}
|
|
@@ -1,120 +1,15 @@
|
|
|
1
1
|
import { cn } from "@agent-native/toolkit/utils";
|
|
2
2
|
import { useEffect, useMemo, useState, type CSSProperties } from "react";
|
|
3
3
|
|
|
4
|
+
import {
|
|
5
|
+
CODE_THEMES,
|
|
6
|
+
loadCodeHighlighter,
|
|
7
|
+
prettyLanguageName,
|
|
8
|
+
resolveCodeLanguage,
|
|
9
|
+
} from "../../code-highlighter.js";
|
|
4
10
|
import { ltrCodeBlockProps } from "../code-block-direction.js";
|
|
5
11
|
|
|
6
|
-
|
|
7
|
-
codeToHtml: (
|
|
8
|
-
code: string,
|
|
9
|
-
options: {
|
|
10
|
-
lang: string;
|
|
11
|
-
themes: { light: string; dark: string };
|
|
12
|
-
defaultColor?: false | "light" | "dark";
|
|
13
|
-
},
|
|
14
|
-
) => string | Promise<string>;
|
|
15
|
-
getLoadedLanguages: () => string[];
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
let highlighterLoader: Promise<ShikiHighlighter> | null = null;
|
|
19
|
-
function loadHighlighter(): Promise<ShikiHighlighter> {
|
|
20
|
-
if (!highlighterLoader) {
|
|
21
|
-
highlighterLoader = (async () => {
|
|
22
|
-
const [{ createHighlighterCore }, { createJavaScriptRegexEngine }] =
|
|
23
|
-
await Promise.all([
|
|
24
|
-
import("shiki/core"),
|
|
25
|
-
import("shiki/engine/javascript"),
|
|
26
|
-
]);
|
|
27
|
-
return createHighlighterCore({
|
|
28
|
-
themes: [
|
|
29
|
-
import("shiki/themes/github-light-default.mjs"),
|
|
30
|
-
import("shiki/themes/github-dark-default.mjs"),
|
|
31
|
-
],
|
|
32
|
-
langs: [
|
|
33
|
-
import("shiki/langs/javascript.mjs"),
|
|
34
|
-
import("shiki/langs/typescript.mjs"),
|
|
35
|
-
import("shiki/langs/jsx.mjs"),
|
|
36
|
-
import("shiki/langs/tsx.mjs"),
|
|
37
|
-
import("shiki/langs/json.mjs"),
|
|
38
|
-
import("shiki/langs/css.mjs"),
|
|
39
|
-
import("shiki/langs/html.mjs"),
|
|
40
|
-
import("shiki/langs/markdown.mjs"),
|
|
41
|
-
import("shiki/langs/bash.mjs"),
|
|
42
|
-
import("shiki/langs/shellscript.mjs"),
|
|
43
|
-
import("shiki/langs/python.mjs"),
|
|
44
|
-
import("shiki/langs/yaml.mjs"),
|
|
45
|
-
import("shiki/langs/sql.mjs"),
|
|
46
|
-
],
|
|
47
|
-
engine: createJavaScriptRegexEngine({ forgiving: true }),
|
|
48
|
-
}) as unknown as Promise<ShikiHighlighter>;
|
|
49
|
-
})().catch((error) => {
|
|
50
|
-
highlighterLoader = null;
|
|
51
|
-
throw error;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
return highlighterLoader;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const LANG_ALIASES: Record<string, string> = {
|
|
58
|
-
js: "javascript",
|
|
59
|
-
ts: "typescript",
|
|
60
|
-
sh: "bash",
|
|
61
|
-
shell: "bash",
|
|
62
|
-
zsh: "bash",
|
|
63
|
-
py: "python",
|
|
64
|
-
yml: "yaml",
|
|
65
|
-
md: "markdown",
|
|
66
|
-
bq: "sql",
|
|
67
|
-
bigquery: "sql",
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
const LANGUAGE_LABELS: Record<string, string> = {
|
|
71
|
-
typescript: "TypeScript",
|
|
72
|
-
ts: "TypeScript",
|
|
73
|
-
tsx: "TSX",
|
|
74
|
-
javascript: "JavaScript",
|
|
75
|
-
js: "JavaScript",
|
|
76
|
-
jsx: "JSX",
|
|
77
|
-
json: "JSON",
|
|
78
|
-
html: "HTML",
|
|
79
|
-
css: "CSS",
|
|
80
|
-
scss: "SCSS",
|
|
81
|
-
bash: "Bash",
|
|
82
|
-
sh: "Bash",
|
|
83
|
-
shell: "Shell",
|
|
84
|
-
zsh: "Bash",
|
|
85
|
-
python: "Python",
|
|
86
|
-
py: "Python",
|
|
87
|
-
sql: "SQL",
|
|
88
|
-
yaml: "YAML",
|
|
89
|
-
yml: "YAML",
|
|
90
|
-
markdown: "Markdown",
|
|
91
|
-
md: "Markdown",
|
|
92
|
-
graphql: "GraphQL",
|
|
93
|
-
go: "Go",
|
|
94
|
-
rust: "Rust",
|
|
95
|
-
ruby: "Ruby",
|
|
96
|
-
java: "Java",
|
|
97
|
-
c: "C",
|
|
98
|
-
cpp: "C++",
|
|
99
|
-
csharp: "C#",
|
|
100
|
-
php: "PHP",
|
|
101
|
-
swift: "Swift",
|
|
102
|
-
kotlin: "Kotlin",
|
|
103
|
-
diff: "Diff",
|
|
104
|
-
dockerfile: "Dockerfile",
|
|
105
|
-
xml: "XML",
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
export function prettyLanguageName(language?: string | null): string | null {
|
|
109
|
-
const raw = language
|
|
110
|
-
?.trim()
|
|
111
|
-
.toLowerCase()
|
|
112
|
-
.replace(/^language-/, "");
|
|
113
|
-
if (!raw || raw === "text" || raw === "plaintext" || raw === "plain") {
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
return LANGUAGE_LABELS[raw] ?? raw;
|
|
117
|
-
}
|
|
12
|
+
export { prettyLanguageName };
|
|
118
13
|
|
|
119
14
|
export function HighlightedCode({
|
|
120
15
|
code,
|
|
@@ -127,21 +22,14 @@ export function HighlightedCode({
|
|
|
127
22
|
|
|
128
23
|
useEffect(() => {
|
|
129
24
|
let cancelled = false;
|
|
130
|
-
|
|
131
|
-
.then((highlighter) =>
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const lang = loaded.includes(resolved) ? resolved : "text";
|
|
136
|
-
return highlighter.codeToHtml(code, {
|
|
137
|
-
lang,
|
|
138
|
-
themes: {
|
|
139
|
-
light: "github-light-default",
|
|
140
|
-
dark: "github-dark-default",
|
|
141
|
-
},
|
|
25
|
+
loadCodeHighlighter()
|
|
26
|
+
.then((highlighter) =>
|
|
27
|
+
highlighter.codeToHtml(code, {
|
|
28
|
+
lang: resolveCodeLanguage(highlighter, language) ?? "text",
|
|
29
|
+
themes: CODE_THEMES,
|
|
142
30
|
defaultColor: false,
|
|
143
|
-
})
|
|
144
|
-
|
|
31
|
+
}),
|
|
32
|
+
)
|
|
145
33
|
.then((out) => {
|
|
146
34
|
if (!cancelled) setHtml(out as string);
|
|
147
35
|
})
|
|
@@ -32,7 +32,10 @@ import {
|
|
|
32
32
|
} from "vitest";
|
|
33
33
|
|
|
34
34
|
import { AgentSuggestionBar } from "../../composer/AgentSuggestionBar.js";
|
|
35
|
-
import {
|
|
35
|
+
import {
|
|
36
|
+
AgentCollaborationFeed,
|
|
37
|
+
AgentInteractionItem,
|
|
38
|
+
} from "../agentkit/react/components.js";
|
|
36
39
|
import { AgentKitProvider } from "../agentkit/react/context.js";
|
|
37
40
|
import {
|
|
38
41
|
clearToolRenderersForTests,
|
|
@@ -657,7 +660,7 @@ vi.mock("./agentkit-chat/index.js", async () => {
|
|
|
657
660
|
),
|
|
658
661
|
);
|
|
659
662
|
},
|
|
660
|
-
|
|
663
|
+
GuidedQuestionCard: (props: unknown) => {
|
|
661
664
|
chatMocks.guidedFlowProps = props;
|
|
662
665
|
return null;
|
|
663
666
|
},
|
|
@@ -678,6 +681,7 @@ vi.mock("./agentkit-chat/index.js", async () => {
|
|
|
678
681
|
chatMocks.guidedOptions = options;
|
|
679
682
|
return { questions: chatMocks.guidedQuestions };
|
|
680
683
|
},
|
|
684
|
+
useRefetchGuidedQuestionsWhenAsked: () => undefined,
|
|
681
685
|
};
|
|
682
686
|
});
|
|
683
687
|
|
|
@@ -7643,22 +7647,34 @@ describe("AgentKitAssistantChat host behavior", () => {
|
|
|
7643
7647
|
).completed;
|
|
7644
7648
|
await mount(baseProps());
|
|
7645
7649
|
|
|
7646
|
-
const {
|
|
7650
|
+
const { formatAgentInteractionDetail, labels } = chatMocks.rootProps;
|
|
7647
7651
|
const [started, failed] = client.getThread("thread-delegated")
|
|
7648
7652
|
.agentInteractions as AgentInteraction[];
|
|
7649
|
-
const row = (value: AgentInteraction) =>
|
|
7650
|
-
|
|
7651
|
-
registry.agentInteractions[value.kind] ?? AgentInteractionItem;
|
|
7652
|
-
return renderToStaticMarkup(
|
|
7653
|
+
const row = (value: AgentInteraction) =>
|
|
7654
|
+
renderToStaticMarkup(
|
|
7653
7655
|
<AgentKitProvider
|
|
7654
7656
|
controller={client}
|
|
7655
7657
|
threadId="thread-delegated"
|
|
7656
7658
|
labels={labels}
|
|
7659
|
+
formatAgentInteractionDetail={formatAgentInteractionDetail}
|
|
7657
7660
|
>
|
|
7658
|
-
<
|
|
7661
|
+
<AgentInteractionItem value={value} threadId="thread-delegated" />
|
|
7659
7662
|
</AgentKitProvider>,
|
|
7660
7663
|
);
|
|
7661
|
-
|
|
7664
|
+
const step = renderToStaticMarkup(
|
|
7665
|
+
<AgentKitProvider
|
|
7666
|
+
controller={client}
|
|
7667
|
+
threadId="thread-delegated"
|
|
7668
|
+
labels={labels}
|
|
7669
|
+
formatAgentInteractionDetail={formatAgentInteractionDetail}
|
|
7670
|
+
>
|
|
7671
|
+
<AgentCollaborationFeed runId="run-delegated" />
|
|
7672
|
+
</AgentKitProvider>,
|
|
7673
|
+
);
|
|
7674
|
+
expect(step.match(/Brain/g)).toHaveLength(1);
|
|
7675
|
+
expect(step).toMatch(
|
|
7676
|
+
/class="agentkit-activity-error"[^>]*>agentChat\.agent\.failureReason\.setup</,
|
|
7677
|
+
);
|
|
7662
7678
|
|
|
7663
7679
|
const failedRow = row(failed!);
|
|
7664
7680
|
expect(failedRow.match(/Brain/g)).toHaveLength(1);
|
|
@@ -7730,15 +7746,15 @@ describe("AgentKitAssistantChat host behavior", () => {
|
|
|
7730
7746
|
await (
|
|
7731
7747
|
await client.sendMessage({ threadId: "thread-delegated", text: "Ask" })
|
|
7732
7748
|
).completed;
|
|
7733
|
-
const {
|
|
7734
|
-
const Renderer = registry.agentInteractions.failed;
|
|
7749
|
+
const { formatAgentInteractionDetail, labels } = chatMocks.rootProps;
|
|
7735
7750
|
return renderToStaticMarkup(
|
|
7736
7751
|
<AgentKitProvider
|
|
7737
7752
|
controller={client}
|
|
7738
7753
|
threadId="thread-delegated"
|
|
7739
7754
|
labels={labels}
|
|
7755
|
+
formatAgentInteractionDetail={formatAgentInteractionDetail}
|
|
7740
7756
|
>
|
|
7741
|
-
<
|
|
7757
|
+
<AgentInteractionItem
|
|
7742
7758
|
threadId="thread-delegated"
|
|
7743
7759
|
value={
|
|
7744
7760
|
client.getThread("thread-delegated")
|