@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,28 @@
|
|
|
1
|
+
import { type TraceCollapsibleOpenProps } from "./trace.js";
|
|
2
|
+
/** Copy sits beside the trigger: a button cannot nest in the trigger. */
|
|
3
|
+
export declare function Terminal({ command, output, running, exitCode, durationMs, timedOut, failed: failedOverride, defaultOpen, maxLines, className, ...openProps }: TraceCollapsibleOpenProps & {
|
|
4
|
+
command: string;
|
|
5
|
+
/** May hold ANSI color codes. */
|
|
6
|
+
output?: string | undefined;
|
|
7
|
+
running?: boolean;
|
|
8
|
+
exitCode?: number | null | undefined;
|
|
9
|
+
durationMs?: number | undefined;
|
|
10
|
+
timedOut?: boolean | undefined;
|
|
11
|
+
/** A failure the exit code does not show, such as a rejected command. */
|
|
12
|
+
failed?: boolean | undefined;
|
|
13
|
+
defaultOpen?: boolean;
|
|
14
|
+
/** How many of the newest lines show before "Show earlier lines". */
|
|
15
|
+
maxLines?: number;
|
|
16
|
+
className?: string;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
export declare function TerminalOutput({ output, maxLines, masked, showAll: controlledShowAll, onShowAll, }: {
|
|
19
|
+
output: string;
|
|
20
|
+
maxLines?: number;
|
|
21
|
+
/** Hides the output from session replays. */
|
|
22
|
+
masked?: boolean;
|
|
23
|
+
/** Shows every line. Pass with `onShowAll` to control it. */
|
|
24
|
+
showAll?: boolean;
|
|
25
|
+
/** Called when the user reveals the earlier lines. */
|
|
26
|
+
onShowAll?: () => void;
|
|
27
|
+
}): import("react").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=terminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/terminal.tsx"],"names":[],"mappings":"AAUA,OAAO,EASL,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAC;AAUpB,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,MAAM,EACN,OAAe,EACf,QAAQ,EACR,UAAU,EACV,QAAgB,EAChB,MAAM,EAAE,cAAc,EACtB,WAAmB,EACnB,QAA4B,EAC5B,SAAS,EACT,GAAG,SAAS,EACb,EAAE,yBAAyB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAkGA;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAA4B,EAC5B,MAAc,EACd,OAAO,EAAE,iBAAiB,EAC1B,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,+BAuDA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconAlertTriangle, IconTerminal2 } from "@tabler/icons-react";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
import { CodeBlock, CodeBlockContent, CodeBlockCopyButton, CodeBlockHeader, } from "./code-block.js";
|
|
5
|
+
import { useAgentKitDurationFormat, useAgentKitLabels } from "./context.js";
|
|
6
|
+
import { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, } from "./trace.js";
|
|
7
|
+
// A global regex's `test` keeps state between calls, so `HAS_ANSI` is separate.
|
|
8
|
+
const ANSI_SEQUENCE = /\u001b\[[0-9;]*m/g;
|
|
9
|
+
const HAS_ANSI = /\u001b\[[0-9;]*m/;
|
|
10
|
+
const DEFAULT_MAX_LINES = 500;
|
|
11
|
+
const SESSION_REPLAY_MASK_PROPS = { "data-an-mask": "" };
|
|
12
|
+
const FOLLOW_SLACK_PX = 24;
|
|
13
|
+
/** Copy sits beside the trigger: a button cannot nest in the trigger. */
|
|
14
|
+
export function Terminal({ command, output, running = false, exitCode, durationMs, timedOut = false, failed: failedOverride, defaultOpen = false, maxLines = DEFAULT_MAX_LINES, className, ...openProps }) {
|
|
15
|
+
const labels = useAgentKitLabels();
|
|
16
|
+
const formatDuration = useAgentKitDurationFormat();
|
|
17
|
+
const failed = !running &&
|
|
18
|
+
(failedOverride === true ||
|
|
19
|
+
timedOut ||
|
|
20
|
+
(exitCode !== undefined && exitCode !== null && exitCode !== 0));
|
|
21
|
+
const hasOutput = Boolean(output?.trim());
|
|
22
|
+
// Opens once when running output starts; never closes on its own.
|
|
23
|
+
const [autoOpen, setAutoOpen] = useState(false);
|
|
24
|
+
// Outlives the body, which remounts on each toggle.
|
|
25
|
+
const [showAllOutput, setShowAllOutput] = useState(false);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (running && hasOutput)
|
|
28
|
+
setAutoOpen(true);
|
|
29
|
+
}, [running, hasOutput]);
|
|
30
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
31
|
+
const open = openProps.open ?? (uncontrolledOpen || autoOpen);
|
|
32
|
+
const setOpen = (next) => {
|
|
33
|
+
if (openProps.open === undefined) {
|
|
34
|
+
setUncontrolledOpen(next);
|
|
35
|
+
setAutoOpen(false);
|
|
36
|
+
}
|
|
37
|
+
openProps.onOpenChange?.(next);
|
|
38
|
+
};
|
|
39
|
+
const meta = [
|
|
40
|
+
!running && durationMs !== undefined && durationMs >= 1_000
|
|
41
|
+
? formatDuration(durationMs)
|
|
42
|
+
: undefined,
|
|
43
|
+
failed && exitCode !== undefined && exitCode !== null && exitCode !== 0
|
|
44
|
+
? labels.workStepTerminalExitCode.replace("{{code}}", () => `${exitCode}`)
|
|
45
|
+
: undefined,
|
|
46
|
+
timedOut ? labels.workStepTerminalTimedOut : undefined,
|
|
47
|
+
].filter((part) => Boolean(part));
|
|
48
|
+
const line = (_jsxs(TraceLine, { status: running ? "running" : failed ? "error" : undefined, children: [_jsx(TraceIcon, { children: failed ? (_jsx(IconAlertTriangle, { "aria-hidden": "true", className: "agentkit-icon" })) : (_jsx(IconTerminal2, { "aria-hidden": "true", className: "agentkit-icon" })) }), _jsx(TraceTitle, { className: "agentkit-terminal-command", children: command }), running || failed ? (_jsx("span", { className: "agentkit-visually-hidden", children: running ? labels.taskStatusRunning : labels.taskStatusFailed })) : null, meta.length ? (_jsx(TraceDescription, { children: meta.join(" · ") })) : null] }));
|
|
49
|
+
return (_jsx(Trace, { "data-slot": "terminal", "data-status": running ? "running" : failed ? "failed" : "completed", className: className ? `agentkit-terminal ${className}` : "agentkit-terminal", children: hasOutput ? (_jsxs(TraceCollapsible, { open: open, onOpenChange: setOpen, children: [_jsxs("div", { className: "agentkit-terminal-row", children: [_jsx(TraceCollapsibleTrigger, { children: line }), _jsx("span", { className: "agentkit-terminal-actions", children: _jsx(CodeBlockCopyButton, { value: (output ?? "").replace(ANSI_SEQUENCE, ""), label: labels.workStepCopyOutput }) })] }), _jsx(TraceCollapsibleContent
|
|
50
|
+
// A fresh node on each toggle: masking a node replay already
|
|
51
|
+
// recorded would not hide its text.
|
|
52
|
+
, { keepMounted: true, className: "agentkit-terminal-body", children: _jsx(TerminalOutput, { output: output ?? "", maxLines: maxLines, masked: failed || !open, showAll: showAllOutput, onShowAll: () => setShowAllOutput(true) }) }, open ? "open" : "closed")] })) : (_jsx("span", { className: "agentkit-disclosure-summary", "data-expandable": "false", children: line })) }));
|
|
53
|
+
}
|
|
54
|
+
export function TerminalOutput({ output, maxLines = DEFAULT_MAX_LINES, masked = false, showAll: controlledShowAll, onShowAll, }) {
|
|
55
|
+
const labels = useAgentKitLabels();
|
|
56
|
+
const [revealed, setRevealed] = useState(false);
|
|
57
|
+
// With both props the host owns it; with one, a press still reveals.
|
|
58
|
+
const showAll = onShowAll && controlledShowAll !== undefined
|
|
59
|
+
? controlledShowAll
|
|
60
|
+
: controlledShowAll === true || revealed;
|
|
61
|
+
const setShowAll = () => {
|
|
62
|
+
setRevealed(true);
|
|
63
|
+
onShowAll?.();
|
|
64
|
+
};
|
|
65
|
+
const content = useRef(null);
|
|
66
|
+
const lines = output.replace(/\n$/, "").split("\n");
|
|
67
|
+
const hidden = showAll ? 0 : Math.max(0, lines.length - maxLines);
|
|
68
|
+
const visible = hidden ? lines.slice(hidden).join("\n") : output;
|
|
69
|
+
// Follow only if the reader was at the bottom before the output grew;
|
|
70
|
+
// measured here, not tracked from scroll events.
|
|
71
|
+
const lastHeight = useRef(0);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
const element = content.current;
|
|
74
|
+
if (!element)
|
|
75
|
+
return;
|
|
76
|
+
const wasAtBottom = lastHeight.current - element.scrollTop - element.clientHeight <=
|
|
77
|
+
FOLLOW_SLACK_PX;
|
|
78
|
+
if (wasAtBottom)
|
|
79
|
+
element.scrollTop = element.scrollHeight;
|
|
80
|
+
lastHeight.current = element.scrollHeight;
|
|
81
|
+
}, [visible]);
|
|
82
|
+
return (_jsxs(CodeBlock, { size: "sm", children: [hidden ? (_jsx(CodeBlockHeader, { children: _jsx("button", { type: "button", className: "agentkit-terminal-earlier", onClick: setShowAll, children: labels.workStepTerminalEarlierLines.replace("{{count}}", () => `${hidden}`) }) })) : null, _jsx(CodeBlockContent, { ref: content, wrap: true, language: HAS_ANSI.test(visible) ? "ansi" : undefined, className: "agentkit-terminal-output", ...(masked ? SESSION_REPLAY_MASK_PROPS : {}), children: visible })] }));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/terminal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
|
+
/** Omitted status is finished work. */
|
|
3
|
+
export type TraceStatus = "running" | "error" | "pending";
|
|
4
|
+
export declare function Trace({ className, ...props }: ComponentProps<"div">): import("react").JSX.Element;
|
|
5
|
+
/** Status shows only as color and motion; the title must say it too. */
|
|
6
|
+
export declare function TraceLine({ className, status, ...props }: ComponentProps<"span"> & {
|
|
7
|
+
status?: TraceStatus | undefined;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
9
|
+
/** A fixed 1rem column, so titles align down the trace. */
|
|
10
|
+
export declare function TraceIcon({ className, ...props }: ComponentProps<"span">): import("react").JSX.Element;
|
|
11
|
+
/** The accessible name of the step. Truncates; shimmers while running. */
|
|
12
|
+
export declare function TraceTitle({ className, ...props }: ComponentProps<"span">): import("react").JSX.Element;
|
|
13
|
+
/** A duration or diff stat; never truncates. */
|
|
14
|
+
export declare function TraceDescription({ className, ...props }: ComponentProps<"span">): import("react").JSX.Element;
|
|
15
|
+
export type TraceCollapsibleOpenProps = {
|
|
16
|
+
open?: undefined;
|
|
17
|
+
onOpenChange?: (open: boolean) => void;
|
|
18
|
+
} | {
|
|
19
|
+
open: boolean;
|
|
20
|
+
onOpenChange: (open: boolean) => void;
|
|
21
|
+
};
|
|
22
|
+
export declare function TraceCollapsible({ open: controlledOpen, defaultOpen, onOpenChange, className, ...props }: Omit<ComponentProps<"div">, "onToggle"> & TraceCollapsibleOpenProps & {
|
|
23
|
+
defaultOpen?: boolean | undefined;
|
|
24
|
+
}): import("react").JSX.Element;
|
|
25
|
+
/** Wrap a `TraceLine`; adds the chevron. */
|
|
26
|
+
export declare function TraceCollapsibleTrigger({ className, children, onClick, ...props }: Omit<ComponentProps<"button">, "type">): import("react").JSX.Element;
|
|
27
|
+
/** `keepMounted` hides closed content until found, so find-in-page opens it. */
|
|
28
|
+
export declare function TraceCollapsibleContent({ keepMounted, className, children, ...props }: Omit<ComponentProps<"div">, "id" | "hidden"> & {
|
|
29
|
+
keepMounted?: boolean;
|
|
30
|
+
}): import("react").JSX.Element | null;
|
|
31
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/trace.tsx"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,uCAAuC;AACvC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAM1D,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC,+BAQnE;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,MAAM,EACN,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,+BAU/D;AAED,2DAA2D;AAC3D,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,+BASxE;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,+BAQzE;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,MAAM,CAAC,+BAQxB;AAoBD,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EAAE,cAAc,EACpB,WAAmB,EACnB,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GACxC,yBAAyB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,+BA0BlE;AAED,4CAA4C;AAC5C,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,+BAyBxC;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,EACtC,WAAmB,EACnB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,sCAgC1E"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconChevronRight } from "@tabler/icons-react";
|
|
3
|
+
import { createContext, useCallback, useContext, useId, useLayoutEffect, useMemo, useState, } from "react";
|
|
4
|
+
import { useUntilFoundContent } from "./disclosure-content.js";
|
|
5
|
+
function classes(...names) {
|
|
6
|
+
return names.filter(Boolean).join(" ");
|
|
7
|
+
}
|
|
8
|
+
export function Trace({ className, ...props }) {
|
|
9
|
+
return (_jsx("div", { "data-slot": "trace", className: classes("agentkit-trace", className), ...props }));
|
|
10
|
+
}
|
|
11
|
+
/** Status shows only as color and motion; the title must say it too. */
|
|
12
|
+
export function TraceLine({ className, status, ...props }) {
|
|
13
|
+
return (_jsx("span", { "data-slot": "trace-line", "data-trace-status": status, className: classes("agentkit-trace-line", className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
/** A fixed 1rem column, so titles align down the trace. */
|
|
16
|
+
export function TraceIcon({ className, ...props }) {
|
|
17
|
+
return (_jsx("span", { "data-slot": "trace-icon", "aria-hidden": "true", className: classes("agentkit-disclosure-icon-slot", className), ...props }));
|
|
18
|
+
}
|
|
19
|
+
/** The accessible name of the step. Truncates; shimmers while running. */
|
|
20
|
+
export function TraceTitle({ className, ...props }) {
|
|
21
|
+
return (_jsx("span", { "data-slot": "trace-title", className: classes("agentkit-trace-title", className), ...props }));
|
|
22
|
+
}
|
|
23
|
+
/** A duration or diff stat; never truncates. */
|
|
24
|
+
export function TraceDescription({ className, ...props }) {
|
|
25
|
+
return (_jsx("span", { "data-slot": "trace-description", className: classes("agentkit-trace-description", className), ...props }));
|
|
26
|
+
}
|
|
27
|
+
const TraceCollapsibleContext = createContext(null);
|
|
28
|
+
function useTraceCollapsibleState(part) {
|
|
29
|
+
const state = useContext(TraceCollapsibleContext);
|
|
30
|
+
if (!state)
|
|
31
|
+
throw new Error(`${part} must be inside TraceCollapsible.`);
|
|
32
|
+
return state;
|
|
33
|
+
}
|
|
34
|
+
export function TraceCollapsible({ open: controlledOpen, defaultOpen = false, onOpenChange, className, ...props }) {
|
|
35
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
36
|
+
const open = controlledOpen ?? uncontrolledOpen;
|
|
37
|
+
const [contentRendered, setContentRendered] = useState(false);
|
|
38
|
+
const contentId = useId();
|
|
39
|
+
const setOpen = useCallback((next) => {
|
|
40
|
+
if (controlledOpen === undefined)
|
|
41
|
+
setUncontrolledOpen(next);
|
|
42
|
+
onOpenChange?.(next);
|
|
43
|
+
}, [controlledOpen, onOpenChange]);
|
|
44
|
+
const state = useMemo(() => ({ open, setOpen, contentId, contentRendered, setContentRendered }), [open, setOpen, contentId, contentRendered]);
|
|
45
|
+
return (_jsx(TraceCollapsibleContext.Provider, { value: state, children: _jsx("div", { "data-slot": "trace-collapsible", "data-state": open ? "open" : "closed", className: classes("agentkit-trace-collapsible", className), ...props }) }));
|
|
46
|
+
}
|
|
47
|
+
/** Wrap a `TraceLine`; adds the chevron. */
|
|
48
|
+
export function TraceCollapsibleTrigger({ className, children, onClick, ...props }) {
|
|
49
|
+
const { open, setOpen, contentId, contentRendered } = useTraceCollapsibleState("TraceCollapsibleTrigger");
|
|
50
|
+
return (_jsxs("button", { type: "button", "data-slot": "trace-collapsible-trigger", "data-expandable": "true", "aria-expanded": open, "aria-controls": contentRendered ? contentId : undefined, className: classes("agentkit-disclosure-summary", className), onClick: (event) => {
|
|
51
|
+
onClick?.(event);
|
|
52
|
+
if (!event.defaultPrevented)
|
|
53
|
+
setOpen(!open);
|
|
54
|
+
}, ...props, children: [children, _jsx(IconChevronRight, { "aria-hidden": "true", className: "agentkit-icon agentkit-disclosure-chevron", "data-open": open ? "true" : "false" })] }));
|
|
55
|
+
}
|
|
56
|
+
/** `keepMounted` hides closed content until found, so find-in-page opens it. */
|
|
57
|
+
export function TraceCollapsibleContent({ keepMounted = false, className, children, ...props }) {
|
|
58
|
+
const { open, setOpen, contentId, setContentRendered } = useTraceCollapsibleState("TraceCollapsibleContent");
|
|
59
|
+
const rendered = open || keepMounted;
|
|
60
|
+
useLayoutEffect(() => {
|
|
61
|
+
setContentRendered(rendered);
|
|
62
|
+
return () => setContentRendered(false);
|
|
63
|
+
}, [rendered, setContentRendered]);
|
|
64
|
+
if (keepMounted) {
|
|
65
|
+
return (_jsx(KeptTraceContent, { open: open, onReveal: () => setOpen(true), id: contentId, className: className, ...props, children: children }));
|
|
66
|
+
}
|
|
67
|
+
return open ? (_jsx("div", { id: contentId, "data-slot": "trace-collapsible-content", "data-state": "open", className: classes("agentkit-trace-content", className), ...props, children: children })) : null;
|
|
68
|
+
}
|
|
69
|
+
function KeptTraceContent({ open, onReveal, className, children, ...props }) {
|
|
70
|
+
const { ref, mounted } = useUntilFoundContent(open, onReveal);
|
|
71
|
+
return (_jsx("div", { ref: ref, "data-slot": "trace-collapsible-content", "data-state": open ? "open" : "closed", hidden: !open, className: classes("agentkit-trace-content", className), ...props, children: mounted ? children : null }));
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/trace.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { prettyLanguageName } from "../../code-highlighter.js";
|
|
2
|
+
export { prettyLanguageName };
|
|
2
3
|
export declare function HighlightedCode({ code, language, }: {
|
|
3
4
|
code: string;
|
|
4
5
|
language?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HighlightedCode.d.ts","sourceRoot":"","sources":["../../../../src/app/blocks/library/HighlightedCode.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HighlightedCode.d.ts","sourceRoot":"","sources":["../../../../src/app/blocks/library/HighlightedCode.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,kBAAkB,EAEnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,+BAoCA;AAED,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,QAAQ,EACR,QAAiC,EACjC,iBAAwB,EACxB,SAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAmDA"}
|
|
@@ -1,122 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "@agent-native/toolkit/utils";
|
|
3
3
|
import { useEffect, useMemo, useState } from "react";
|
|
4
|
+
import { CODE_THEMES, loadCodeHighlighter, prettyLanguageName, resolveCodeLanguage, } from "../../code-highlighter.js";
|
|
4
5
|
import { ltrCodeBlockProps } from "../code-block-direction.js";
|
|
5
|
-
|
|
6
|
-
function loadHighlighter() {
|
|
7
|
-
if (!highlighterLoader) {
|
|
8
|
-
highlighterLoader = (async () => {
|
|
9
|
-
const [{ createHighlighterCore }, { createJavaScriptRegexEngine }] = await Promise.all([
|
|
10
|
-
import("shiki/core"),
|
|
11
|
-
import("shiki/engine/javascript"),
|
|
12
|
-
]);
|
|
13
|
-
return createHighlighterCore({
|
|
14
|
-
themes: [
|
|
15
|
-
import("shiki/themes/github-light-default.mjs"),
|
|
16
|
-
import("shiki/themes/github-dark-default.mjs"),
|
|
17
|
-
],
|
|
18
|
-
langs: [
|
|
19
|
-
import("shiki/langs/javascript.mjs"),
|
|
20
|
-
import("shiki/langs/typescript.mjs"),
|
|
21
|
-
import("shiki/langs/jsx.mjs"),
|
|
22
|
-
import("shiki/langs/tsx.mjs"),
|
|
23
|
-
import("shiki/langs/json.mjs"),
|
|
24
|
-
import("shiki/langs/css.mjs"),
|
|
25
|
-
import("shiki/langs/html.mjs"),
|
|
26
|
-
import("shiki/langs/markdown.mjs"),
|
|
27
|
-
import("shiki/langs/bash.mjs"),
|
|
28
|
-
import("shiki/langs/shellscript.mjs"),
|
|
29
|
-
import("shiki/langs/python.mjs"),
|
|
30
|
-
import("shiki/langs/yaml.mjs"),
|
|
31
|
-
import("shiki/langs/sql.mjs"),
|
|
32
|
-
],
|
|
33
|
-
engine: createJavaScriptRegexEngine({ forgiving: true }),
|
|
34
|
-
});
|
|
35
|
-
})().catch((error) => {
|
|
36
|
-
highlighterLoader = null;
|
|
37
|
-
throw error;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
return highlighterLoader;
|
|
41
|
-
}
|
|
42
|
-
const LANG_ALIASES = {
|
|
43
|
-
js: "javascript",
|
|
44
|
-
ts: "typescript",
|
|
45
|
-
sh: "bash",
|
|
46
|
-
shell: "bash",
|
|
47
|
-
zsh: "bash",
|
|
48
|
-
py: "python",
|
|
49
|
-
yml: "yaml",
|
|
50
|
-
md: "markdown",
|
|
51
|
-
bq: "sql",
|
|
52
|
-
bigquery: "sql",
|
|
53
|
-
};
|
|
54
|
-
const LANGUAGE_LABELS = {
|
|
55
|
-
typescript: "TypeScript",
|
|
56
|
-
ts: "TypeScript",
|
|
57
|
-
tsx: "TSX",
|
|
58
|
-
javascript: "JavaScript",
|
|
59
|
-
js: "JavaScript",
|
|
60
|
-
jsx: "JSX",
|
|
61
|
-
json: "JSON",
|
|
62
|
-
html: "HTML",
|
|
63
|
-
css: "CSS",
|
|
64
|
-
scss: "SCSS",
|
|
65
|
-
bash: "Bash",
|
|
66
|
-
sh: "Bash",
|
|
67
|
-
shell: "Shell",
|
|
68
|
-
zsh: "Bash",
|
|
69
|
-
python: "Python",
|
|
70
|
-
py: "Python",
|
|
71
|
-
sql: "SQL",
|
|
72
|
-
yaml: "YAML",
|
|
73
|
-
yml: "YAML",
|
|
74
|
-
markdown: "Markdown",
|
|
75
|
-
md: "Markdown",
|
|
76
|
-
graphql: "GraphQL",
|
|
77
|
-
go: "Go",
|
|
78
|
-
rust: "Rust",
|
|
79
|
-
ruby: "Ruby",
|
|
80
|
-
java: "Java",
|
|
81
|
-
c: "C",
|
|
82
|
-
cpp: "C++",
|
|
83
|
-
csharp: "C#",
|
|
84
|
-
php: "PHP",
|
|
85
|
-
swift: "Swift",
|
|
86
|
-
kotlin: "Kotlin",
|
|
87
|
-
diff: "Diff",
|
|
88
|
-
dockerfile: "Dockerfile",
|
|
89
|
-
xml: "XML",
|
|
90
|
-
};
|
|
91
|
-
export function prettyLanguageName(language) {
|
|
92
|
-
const raw = language
|
|
93
|
-
?.trim()
|
|
94
|
-
.toLowerCase()
|
|
95
|
-
.replace(/^language-/, "");
|
|
96
|
-
if (!raw || raw === "text" || raw === "plaintext" || raw === "plain") {
|
|
97
|
-
return null;
|
|
98
|
-
}
|
|
99
|
-
return LANGUAGE_LABELS[raw] ?? raw;
|
|
100
|
-
}
|
|
6
|
+
export { prettyLanguageName };
|
|
101
7
|
export function HighlightedCode({ code, language, }) {
|
|
102
8
|
const [html, setHtml] = useState(null);
|
|
103
9
|
useEffect(() => {
|
|
104
10
|
let cancelled = false;
|
|
105
|
-
|
|
106
|
-
.then((highlighter) => {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
return highlighter.codeToHtml(code, {
|
|
112
|
-
lang,
|
|
113
|
-
themes: {
|
|
114
|
-
light: "github-light-default",
|
|
115
|
-
dark: "github-dark-default",
|
|
116
|
-
},
|
|
117
|
-
defaultColor: false,
|
|
118
|
-
});
|
|
119
|
-
})
|
|
11
|
+
loadCodeHighlighter()
|
|
12
|
+
.then((highlighter) => highlighter.codeToHtml(code, {
|
|
13
|
+
lang: resolveCodeLanguage(highlighter, language) ?? "text",
|
|
14
|
+
themes: CODE_THEMES,
|
|
15
|
+
defaultColor: false,
|
|
16
|
+
}))
|
|
120
17
|
.then((out) => {
|
|
121
18
|
if (!cancelled)
|
|
122
19
|
setHtml(out);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HighlightedCode.js","sourceRoot":"","sources":["../../../../src/app/blocks/library/HighlightedCode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAEzE,OAAO,
|
|
1
|
+
{"version":3,"file":"HighlightedCode.js","sourceRoot":"","sources":["../../../../src/app/blocks/library/HighlightedCode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentKitAssistantChat.d.ts","sourceRoot":"","sources":["../../../src/app/chat/AgentKitAssistantChat.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAMV,YAAY,EAEZ,sBAAsB,EAMtB,QAAQ,EACT,MAAM,iCAAiC,CAAC;AAsEzC,OAAO,EAKL,KAAK,2BAA2B,EAChC,KAAK,SAAS,EACd,KAAK,oBAAoB,EAK1B,MAAM,gCAAgC,CAAC;AAqBxC,OAAO,KASN,MAAM,OAAO,CAAC;AAQf,OAAO,
|
|
1
|
+
{"version":3,"file":"AgentKitAssistantChat.d.ts","sourceRoot":"","sources":["../../../src/app/chat/AgentKitAssistantChat.tsx"],"names":[],"mappings":"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"}
|