@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,198 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconHelpCircle, IconPaperclip, IconPencil, IconX, } from "@tabler/icons-react";
|
|
3
|
+
import { useEffect, useId, useRef, useState, } from "react";
|
|
4
|
+
import { ActionButton, IconButton } from "../../../agentkit.js";
|
|
5
|
+
import { useAgentKitLabels } from "./context.js";
|
|
6
|
+
const SESSION_REPLAY_MASK_PROPS = { "data-an-mask": "" };
|
|
7
|
+
/** Matches the composer toolbar's controls. */
|
|
8
|
+
const QUESTION_CONTROL_CLASS = "h-6 rounded-[var(--agent-kit-radius-xs,0.25rem)] px-2 text-xs";
|
|
9
|
+
function hasAnswer(answer) {
|
|
10
|
+
return Boolean(answer &&
|
|
11
|
+
(answer.values.length > 0 ||
|
|
12
|
+
answer.other?.trim() ||
|
|
13
|
+
(answer.files?.length ?? 0) > 0));
|
|
14
|
+
}
|
|
15
|
+
function recommendedFirst(options) {
|
|
16
|
+
return [
|
|
17
|
+
...options.filter((option) => option.recommended),
|
|
18
|
+
...options.filter((option) => !option.recommended),
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
/** Asks one question at a time and sends every answer in one message. */
|
|
22
|
+
export function QuestionCard({ questions, onSubmit, onDismiss, title, description, submitLabel, skipLabel, busy = false, disabled = false, submitBlocked = false, footer, renderResponseControl, className, }) {
|
|
23
|
+
const labels = useAgentKitLabels();
|
|
24
|
+
const [step, setStep] = useState(0);
|
|
25
|
+
const [answers, setAnswers] = useState({});
|
|
26
|
+
const rootRef = useRef(null);
|
|
27
|
+
const optionRefs = useRef([]);
|
|
28
|
+
const otherRef = useRef(null);
|
|
29
|
+
const rangeRef = useRef(null);
|
|
30
|
+
const fileInputRef = useRef(null);
|
|
31
|
+
const chooseFilesRef = useRef(null);
|
|
32
|
+
const focusStepRef = useRef(false);
|
|
33
|
+
const titleId = useId();
|
|
34
|
+
const questionId = useId();
|
|
35
|
+
const total = questions.length;
|
|
36
|
+
const question = questions.at(Math.min(step, total - 1));
|
|
37
|
+
// Only when the old step had focus, so a late reply doesn't steal it.
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (!focusStepRef.current)
|
|
40
|
+
return;
|
|
41
|
+
focusStepRef.current = false;
|
|
42
|
+
const selected = optionRefs.current.find((button) => button?.getAttribute("aria-checked") === "true");
|
|
43
|
+
(selected ??
|
|
44
|
+
optionRefs.current[0] ??
|
|
45
|
+
rangeRef.current ??
|
|
46
|
+
chooseFilesRef.current ??
|
|
47
|
+
otherRef.current)?.focus();
|
|
48
|
+
}, [step]);
|
|
49
|
+
if (!question)
|
|
50
|
+
return null;
|
|
51
|
+
const options = recommendedFirst(question.options);
|
|
52
|
+
const multiSelect = question.multiSelect === true;
|
|
53
|
+
const range = question.range;
|
|
54
|
+
// A slider's shown value is its answer, even untouched.
|
|
55
|
+
const answer = answers[question.id] ?? {
|
|
56
|
+
values: range ? [String(range.initial)] : [],
|
|
57
|
+
};
|
|
58
|
+
const showOther = (options.length === 0 && !range && !question.files) ||
|
|
59
|
+
question.allowOther !== false;
|
|
60
|
+
const last = step >= total - 1;
|
|
61
|
+
const locked = busy || disabled;
|
|
62
|
+
const sendLocked = locked || submitBlocked;
|
|
63
|
+
const answered = hasAnswer(answer);
|
|
64
|
+
const setAnswer = (next) => setAnswers((current) => ({ ...current, [question.id]: next }));
|
|
65
|
+
const choose = (value, { fromArrow = false } = {}) => {
|
|
66
|
+
if (locked)
|
|
67
|
+
return;
|
|
68
|
+
if (!multiSelect) {
|
|
69
|
+
// Single choice: an option and a written answer replace each other.
|
|
70
|
+
const picked = { values: [value] };
|
|
71
|
+
setAnswer(picked);
|
|
72
|
+
// Arrows only move the choice; a click or a number key answers.
|
|
73
|
+
if (question.submitOnSelect && !fromArrow && !(last && sendLocked)) {
|
|
74
|
+
advance({ ...answers, [question.id]: picked });
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const values = answer.values.includes(value)
|
|
79
|
+
? answer.values.filter((item) => item !== value)
|
|
80
|
+
: [...answer.values, value];
|
|
81
|
+
setAnswer({ ...answer, values });
|
|
82
|
+
};
|
|
83
|
+
const write = (text) => setAnswer(multiSelect ? { ...answer, other: text } : { values: [], other: text });
|
|
84
|
+
const append = (text) => {
|
|
85
|
+
const added = text.trim();
|
|
86
|
+
if (!added || locked)
|
|
87
|
+
return;
|
|
88
|
+
const current = answer.other?.trimEnd() ?? "";
|
|
89
|
+
write(current ? `${current} ${added}` : added);
|
|
90
|
+
otherRef.current?.focus();
|
|
91
|
+
};
|
|
92
|
+
const advance = (next) => {
|
|
93
|
+
if (!last) {
|
|
94
|
+
focusStepRef.current = Boolean(rootRef.current?.contains(document.activeElement));
|
|
95
|
+
setStep(step + 1);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const given = Object.fromEntries(Object.entries(next).filter(([, value]) => hasAnswer(value)));
|
|
99
|
+
if (Object.keys(given).length === 0)
|
|
100
|
+
onDismiss();
|
|
101
|
+
else
|
|
102
|
+
onSubmit(given);
|
|
103
|
+
};
|
|
104
|
+
const next = () => {
|
|
105
|
+
if (locked || !answered || (last && sendLocked))
|
|
106
|
+
return;
|
|
107
|
+
advance({ ...answers, [question.id]: answer });
|
|
108
|
+
};
|
|
109
|
+
const addFiles = (incoming) => {
|
|
110
|
+
if (locked || incoming.length === 0)
|
|
111
|
+
return;
|
|
112
|
+
setAnswer({ ...answer, files: [...(answer.files ?? []), ...incoming] });
|
|
113
|
+
};
|
|
114
|
+
const removeFile = (index) => setAnswer({
|
|
115
|
+
...answer,
|
|
116
|
+
files: (answer.files ?? []).filter((_, item) => item !== index),
|
|
117
|
+
});
|
|
118
|
+
const skip = () => {
|
|
119
|
+
if (locked || question.required || (last && sendLocked))
|
|
120
|
+
return;
|
|
121
|
+
const rest = Object.fromEntries(Object.entries(answers).filter(([id]) => id !== question.id));
|
|
122
|
+
setAnswers(rest);
|
|
123
|
+
advance(rest);
|
|
124
|
+
};
|
|
125
|
+
const onOptionKeyDown = (event, index) => {
|
|
126
|
+
const delta = event.key === "ArrowDown" || event.key === "ArrowRight"
|
|
127
|
+
? 1
|
|
128
|
+
: event.key === "ArrowUp" || event.key === "ArrowLeft"
|
|
129
|
+
? -1
|
|
130
|
+
: 0;
|
|
131
|
+
if (delta === 0)
|
|
132
|
+
return;
|
|
133
|
+
event.preventDefault();
|
|
134
|
+
const target = (index + delta + options.length) % options.length;
|
|
135
|
+
optionRefs.current[target]?.focus();
|
|
136
|
+
// Arrows move the choice in a radio group, not only the focus.
|
|
137
|
+
const option = options.at(target);
|
|
138
|
+
if (!multiSelect && option)
|
|
139
|
+
choose(option.value, { fromArrow: true });
|
|
140
|
+
};
|
|
141
|
+
const onCardKeyDown = (event) => {
|
|
142
|
+
const target = event.target;
|
|
143
|
+
if (target instanceof HTMLInputElement ||
|
|
144
|
+
target instanceof HTMLTextAreaElement ||
|
|
145
|
+
event.altKey ||
|
|
146
|
+
event.ctrlKey ||
|
|
147
|
+
event.metaKey) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (!/^[1-9]$/.test(event.key))
|
|
151
|
+
return;
|
|
152
|
+
const index = Number(event.key) - 1;
|
|
153
|
+
const option = options.at(index);
|
|
154
|
+
if (!option)
|
|
155
|
+
return;
|
|
156
|
+
event.preventDefault();
|
|
157
|
+
choose(option.value);
|
|
158
|
+
optionRefs.current[index]?.focus();
|
|
159
|
+
};
|
|
160
|
+
const tabStop = multiSelect
|
|
161
|
+
? -1
|
|
162
|
+
: Math.max(0, options.findIndex((option) => answer.values.includes(option.value)));
|
|
163
|
+
return (_jsxs("section", { ref: rootRef, className: ["agentkit-question", className].filter(Boolean).join(" "), "aria-labelledby": titleId, "aria-busy": busy || undefined, "data-step": step + 1, "data-total": total, onKeyDown: onCardKeyDown, ...(question.files
|
|
164
|
+
? {
|
|
165
|
+
onDragOver: (event) => event.preventDefault(),
|
|
166
|
+
onDrop: (event) => {
|
|
167
|
+
event.preventDefault();
|
|
168
|
+
addFiles(Array.from(event.dataTransfer.files));
|
|
169
|
+
},
|
|
170
|
+
}
|
|
171
|
+
: {}), children: [_jsxs("header", { className: "agentkit-question-header", children: [_jsx(IconHelpCircle, { "aria-hidden": "true", className: "agentkit-icon" }), _jsxs("h2", { id: titleId, className: "agentkit-question-title", children: [title ?? labels.question, total > 1 ? (_jsx("span", { className: "agentkit-visually-hidden", children: ` ${labels.questionProgressLabel
|
|
172
|
+
.replace("{{current}}", () => String(step + 1))
|
|
173
|
+
.replace("{{total}}", () => String(total))}` })) : null] }), total > 1 ? (_jsx("span", { className: "agentkit-question-progress", "aria-hidden": "true", children: labels.questionProgress
|
|
174
|
+
.replace("{{current}}", () => String(step + 1))
|
|
175
|
+
.replace("{{total}}", () => String(total)) })) : null, _jsx(IconButton, { size: "compact", intent: "neutral", emphasis: "ghost", label: labels.questionDismiss, disabled: busy || submitBlocked, className: "agentkit-question-dismiss size-6 rounded-[var(--agent-kit-radius-xs,0.25rem)] text-muted-foreground", icon: _jsx(IconX, { "aria-hidden": "true", className: "size-3.5" }), onPress: onDismiss })] }), description ? (_jsx("p", { ...SESSION_REPLAY_MASK_PROPS, className: "agentkit-question-description", children: description })) : null, _jsx("p", { ...SESSION_REPLAY_MASK_PROPS, id: questionId, className: "agentkit-question-text", children: question.question }), question.description ? (_jsx("p", { ...SESSION_REPLAY_MASK_PROPS, className: "agentkit-question-description", children: question.description })) : null, options.length ? (_jsx("div", { ...SESSION_REPLAY_MASK_PROPS, className: "agentkit-question-options", role: multiSelect ? "group" : "radiogroup", "aria-labelledby": questionId, children: options.map((option, index) => {
|
|
176
|
+
const selected = answer.values.includes(option.value);
|
|
177
|
+
return (_jsxs("button", { ref: (element) => {
|
|
178
|
+
optionRefs.current[index] = element;
|
|
179
|
+
}, type: "button", role: multiSelect ? "checkbox" : "radio", "aria-checked": selected, "aria-disabled": locked || undefined, tabIndex: multiSelect || index === tabStop ? 0 : -1, className: "agentkit-question-option", "data-selected": selected ? "true" : "false", onClick: () => choose(option.value), onKeyDown: (event) => onOptionKeyDown(event, index), children: [_jsx("span", { className: "agentkit-question-key", "aria-hidden": "true", children: index + 1 }), option.color ? (_jsx("span", { className: "agentkit-question-swatch", "aria-hidden": "true",
|
|
180
|
+
// The agent's color is the content, so it is not a token.
|
|
181
|
+
style: { background: option.color } })) : null, _jsx("span", { className: "agentkit-question-option-label", children: option.label }), option.recommended ? (_jsx("span", { className: "agentkit-question-recommended", children: labels.questionRecommended })) : null] }, `${question.id}:${option.value}`));
|
|
182
|
+
}) })) : null, range ? (_jsxs("div", { className: "agentkit-question-range", children: [_jsx("span", { "aria-hidden": "true", children: range.min }), _jsx("input", { ref: rangeRef, type: "range", min: range.min, max: range.max, step: range.step, value: answer.values[0] ?? String(range.initial), disabled: locked, "aria-labelledby": questionId, onChange: (event) => setAnswer({ values: [event.target.value] }) }), _jsx("span", { "aria-hidden": "true", children: range.max }), _jsx("output", { className: "agentkit-question-range-value", children: answer.values[0] ?? String(range.initial) })] })) : null, question.files ? (_jsxs("div", { className: "agentkit-question-files", children: [_jsx(ActionButton, { size: "compact", intent: "neutral", emphasis: "outline", className: QUESTION_CONTROL_CLASS, elementRef: chooseFilesRef, disabled: locked, leadingIcon: _jsx(IconPaperclip, { "aria-hidden": "true", className: "size-3.5" }), onPress: () => fileInputRef.current?.click(), children: labels.questionChooseFiles }), _jsx("input", { ref: fileInputRef, type: "file", multiple: true, hidden: true, tabIndex: -1, onChange: (event) => {
|
|
183
|
+
if (event.target.files)
|
|
184
|
+
addFiles(Array.from(event.target.files));
|
|
185
|
+
event.currentTarget.value = "";
|
|
186
|
+
} }), (answer.files ?? []).map((file, index) => (_jsxs("span", { ...SESSION_REPLAY_MASK_PROPS, className: "agentkit-question-file", children: [_jsx("span", { className: "agentkit-question-file-name", children: file.name }), _jsx("button", { type: "button", className: "agentkit-question-file-remove", disabled: locked, "aria-label": labels.questionRemoveFile.replace("{{name}}", () => file.name), onClick: () => removeFile(index), children: _jsx(IconX, { "aria-hidden": "true", className: "agentkit-icon" }) })] }, `${file.name}:${index}`)))] })) : null, _jsxs("div", { className: "agentkit-question-footer", children: [showOther ? (_jsxs("label", { className: "agentkit-question-other", children: [_jsx(IconPencil, { "aria-hidden": "true", className: "agentkit-icon" }), _jsx("input", { ...SESSION_REPLAY_MASK_PROPS, ref: otherRef, type: "text", value: answer.other ?? "", disabled: locked, placeholder: options.length
|
|
187
|
+
? labels.questionOwnResponse
|
|
188
|
+
: (question.placeholder ?? labels.questionAnswer), "aria-label": options.length ? labels.questionOwnResponse : question.question, onChange: (event) => write(event.target.value), onKeyDown: (event) => {
|
|
189
|
+
if (event.key !== "Enter" || event.nativeEvent.isComposing) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
event.preventDefault();
|
|
193
|
+
next();
|
|
194
|
+
} })] })) : (_jsx("span", { className: "agentkit-question-spacer" })), _jsxs("div", { className: "agentkit-question-actions", children: [showOther && renderResponseControl
|
|
195
|
+
? renderResponseControl({ append, disabled: locked })
|
|
196
|
+
: null, _jsx(ActionButton, { size: "compact", intent: "neutral", emphasis: "outline", className: QUESTION_CONTROL_CLASS, disabled: locked || question.required === true || (last && sendLocked), onPress: skip, children: skipLabel ?? labels.questionSkip }), _jsx(ActionButton, { size: "compact", intent: "primary", emphasis: "solid", className: QUESTION_CONTROL_CLASS, disabled: locked || !answered || (last && sendLocked), pending: busy && last, onPress: next, children: last ? (submitLabel ?? labels.questionSend) : labels.questionNext })] })] }), footer] }));
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=question-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-card.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/question-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,GAIT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,yBAAyB,GAAG,EAAE,cAAc,EAAE,EAAE,EAAW,CAAC;AAClE,+CAA+C;AAC/C,MAAM,sBAAsB,GAC1B,+DAA+D,CAAC;AAiElE,SAAS,SAAS,CAAC,MAA0C;IAC3D,OAAO,OAAO,CACZ,MAAM;QACN,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE;YACpB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA0C;IAE1C,OAAO;QACL,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;QACjD,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,GAAG,KAAK,EACZ,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,KAAK,EACrB,MAAM,EACN,qBAAqB,EACrB,SAAS,GACS;IAClB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAkC,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzD,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QAClC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM,CAC5D,CAAC;QACF,CACE,QAAQ;YACR,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACrB,QAAQ,CAAC,OAAO;YAChB,cAAc,CAAC,OAAO;YACtB,QAAQ,CAAC,OAAO,CACjB,EAAE,KAAK,EAAE,CAAC;IACb,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,wDAAwD;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI;QACrC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7C,CAAC;IACF,MAAM,SAAS,GACb,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnD,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,IAAI,QAAQ,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,IAAI,aAAa,CAAC;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,CAAC,IAA4B,EAAE,EAAE,CACjD,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QAC3D,IAAI,MAAM;YAAE,OAAO;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,oEAAoE;YACpE,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,gEAAgE;YAChE,IAAI,QAAQ,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;YAChD,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9B,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7B,SAAS,CACP,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CACvE,CAAC;IACJ,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,MAAM;YAAE,OAAO;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,IAA6B,EAAE,EAAE;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,GAAG,OAAO,CAC5B,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAClD,CAAC;YACF,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,EAAE,CAAC;;YAC5C,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;YAAE,OAAO;QACxD,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;QACpC,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC5C,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,SAAS,CAAC;QACR,GAAG,MAAM;QACT,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;KAChE,CAAC,CAAC;IACL,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,MAAM,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;YAAE,OAAO;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAC7D,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CACtB,KAAuC,EACvC,KAAa,EACb,EAAE;QACF,MAAM,KAAK,GACT,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY;YACrD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;gBACpD,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC,CAAC;QACV,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACjE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACpC,+DAA+D;QAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,KAAiC,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IACE,MAAM,YAAY,gBAAgB;YAClC,MAAM,YAAY,mBAAmB;YACrC,KAAK,CAAC,MAAM;YACZ,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,OAAO,EACb,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,CAAC,EACD,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACpE,CAAC;IAEN,OAAO,CACL,mBACE,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,qBACpD,OAAO,eACb,IAAI,IAAI,SAAS,eACjB,IAAI,GAAG,CAAC,gBACP,KAAK,EACjB,SAAS,EAAE,aAAa,KACpB,CAAC,QAAQ,CAAC,KAAK;YACjB,CAAC,CAAC;gBACE,UAAU,EAAE,CAAC,KAA6B,EAAE,EAAE,CAC5C,KAAK,CAAC,cAAc,EAAE;gBACxB,MAAM,EAAE,CAAC,KAA6B,EAAE,EAAE;oBACxC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjD,CAAC;aACF;YACH,CAAC,CAAC,EAAE,CAAC,aAEP,kBAAQ,SAAS,EAAC,0BAA0B,aAC1C,KAAC,cAAc,mBAAa,MAAM,EAAC,SAAS,EAAC,eAAe,GAAG,EAC/D,cAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,yBAAyB,aACjD,KAAK,IAAI,MAAM,CAAC,QAAQ,EACxB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,0BAA0B,YACvC,IAAI,MAAM,CAAC,qBAAqB;qCAC9B,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;qCAC9C,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GACzC,CACR,CAAC,CAAC,CAAC,IAAI,IACL,EACJ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,4BAA4B,iBAAa,MAAM,YAC5D,MAAM,CAAC,gBAAgB;6BACrB,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;6BAC9C,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GACvC,CACR,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,UAAU,IACT,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,SAAS,EAChB,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,QAAQ,EAAE,IAAI,IAAI,aAAa,EAC/B,SAAS,EAAC,qGAAqG,EAC/G,IAAI,EAAE,KAAC,KAAK,mBAAa,MAAM,EAAC,SAAS,EAAC,UAAU,GAAG,EACvD,OAAO,EAAE,SAAS,GAClB,IACK,EACR,WAAW,CAAC,CAAC,CAAC,CACb,eACM,yBAAyB,EAC7B,SAAS,EAAC,+BAA+B,YAExC,WAAW,GACV,CACL,CAAC,CAAC,CAAC,IAAI,EACR,eACM,yBAAyB,EAC7B,EAAE,EAAE,UAAU,EACd,SAAS,EAAC,wBAAwB,YAEjC,QAAQ,CAAC,QAAQ,GAChB,EACH,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CACtB,eACM,yBAAyB,EAC7B,SAAS,EAAC,+BAA+B,YAExC,QAAQ,CAAC,WAAW,GACnB,CACL,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAChB,iBACM,yBAAyB,EAC7B,SAAS,EAAC,2BAA2B,EACrC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,qBACzB,UAAU,YAE1B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtD,OAAO,CACL,kBAEE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;4BACf,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;wBACtC,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,kBAC1B,QAAQ,mBACP,MAAM,IAAI,SAAS,EAClC,QAAQ,EAAE,WAAW,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,SAAS,EAAC,0BAA0B,mBACrB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,aAEnD,eAAM,SAAS,EAAC,uBAAuB,iBAAa,MAAM,YACvD,KAAK,GAAG,CAAC,GACL,EACN,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,eACE,SAAS,EAAC,0BAA0B,iBACxB,MAAM;gCAClB,0DAA0D;gCAC1D,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,GACnC,CACH,CAAC,CAAC,CAAC,IAAI,EACR,eAAM,SAAS,EAAC,gCAAgC,YAC7C,MAAM,CAAC,KAAK,GACR,EACN,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CACpB,eAAM,SAAS,EAAC,+BAA+B,YAC5C,MAAM,CAAC,mBAAmB,GACtB,CACR,CAAC,CAAC,CAAC,IAAI,KAhCH,GAAG,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,CAiC9B,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,8BAAkB,MAAM,YAAE,KAAK,CAAC,GAAG,GAAQ,EAC3C,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAChD,QAAQ,EAAE,MAAM,qBACC,UAAU,EAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAChE,EACF,8BAAkB,MAAM,YAAE,KAAK,CAAC,GAAG,GAAQ,EAC3C,iBAAQ,SAAS,EAAC,+BAA+B,YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GACnC,IACL,CACP,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,YAAY,IACX,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,SAAS,EAChB,QAAQ,EAAC,SAAS,EAClB,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,EACT,KAAC,aAAa,mBAAa,MAAM,EAAC,SAAS,EAAC,UAAU,GAAG,EAE3D,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,YAE3C,MAAM,CAAC,mBAAmB,GACd,EACf,gBACE,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,MAAM,EACX,QAAQ,QACR,MAAM,QACN,QAAQ,EAAE,CAAC,CAAC,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK;gCAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;4BACjE,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;wBACjC,CAAC,GACD,EACD,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,mBAEM,yBAAyB,EAC7B,SAAS,EAAC,wBAAwB,aAElC,eAAM,SAAS,EAAC,6BAA6B,YAAE,IAAI,CAAC,IAAI,GAAQ,EAChE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+BAA+B,EACzC,QAAQ,EAAE,MAAM,gBACJ,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAC3C,UAAU,EACV,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAChB,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAEhC,KAAC,KAAK,mBAAa,MAAM,EAAC,SAAS,EAAC,eAAe,GAAG,GAC/C,KAhBJ,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAiBvB,CACR,CAAC,IACE,CACP,CAAC,CAAC,CAAC,IAAI,EACR,eAAK,SAAS,EAAC,0BAA0B,aACtC,SAAS,CAAC,CAAC,CAAC,CACX,iBAAO,SAAS,EAAC,yBAAyB,aACxC,KAAC,UAAU,mBAAa,MAAM,EAAC,SAAS,EAAC,eAAe,GAAG,EAC3D,mBACM,yBAAyB,EAC7B,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EACT,OAAO,CAAC,MAAM;oCACZ,CAAC,CAAC,MAAM,CAAC,mBAAmB;oCAC5B,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,cAAc,CAAC,gBAGnD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAEjE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oCACnB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;wCAC3D,OAAO;oCACT,CAAC;oCACD,KAAK,CAAC,cAAc,EAAE,CAAC;oCACvB,IAAI,EAAE,CAAC;gCACT,CAAC,GACD,IACI,CACT,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,0BAA0B,GAAG,CAC9C,EACD,eAAK,SAAS,EAAC,2BAA2B,aACvC,SAAS,IAAI,qBAAqB;gCACjC,CAAC,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gCACrD,CAAC,CAAC,IAAI,EACR,KAAC,YAAY,IACX,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,SAAS,EAChB,QAAQ,EAAC,SAAS,EAClB,SAAS,EAAE,sBAAsB,EACjC,QAAQ,EACN,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,EAE9D,OAAO,EAAE,IAAI,YAEZ,SAAS,IAAI,MAAM,CAAC,YAAY,GACpB,EACf,KAAC,YAAY,IACX,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,SAAS,EAChB,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAE,sBAAsB,EACjC,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,EACrD,OAAO,EAAE,IAAI,IAAI,IAAI,EACrB,OAAO,EAAE,IAAI,YAEZ,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,GACrD,IACX,IACF,EACL,MAAM,IACC,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { type AgentKitClientOptions, type AgentKitController } from "@agent-nati
|
|
|
2
2
|
import { type AgentKitHttpTransportOptions } from "@agent-native/agentkit/http";
|
|
3
3
|
import type { AgentConnectionRequest, AgentConnectionResponse, AgentObjectReference, AgentThread, AgentTransport, ThreadId } from "@agent-native/agentkit/protocol";
|
|
4
4
|
import { type ReactNode } from "react";
|
|
5
|
-
import { type AgentKitLabels, type AgentKitBranchNavigation, type AgentKitCopyMessageHandler, type AgentKitFeedbackReportBuilder, type AgentKitRegistry, type AgentKitRenderFailure, type AgentKitRunUsageLoader, type AgentKitSlots } from "./context.js";
|
|
5
|
+
import { type AgentKitLabels, type AgentKitBranchNavigation, type AgentKitCopyMessageHandler, type AgentKitFeedbackReportBuilder, type AgentKitProviderProps, type AgentKitRegistry, type AgentKitRenderFailure, type AgentKitRunUsageLoader, type AgentKitSlots } from "./context.js";
|
|
6
6
|
import type { AgentChatDataChartLayout } from "./data-chart-layout.js";
|
|
7
7
|
import type { AgentMessageContentOrderResolver } from "./message-content-order.js";
|
|
8
8
|
import type { AgentChatWorkedForRowLayout } from "./transcript-layout.js";
|
|
@@ -45,6 +45,7 @@ export interface AgentKitRootBaseProps {
|
|
|
45
45
|
workedForRowLayout?: AgentChatWorkedForRowLayout;
|
|
46
46
|
dataChartLayout?: AgentChatDataChartLayout;
|
|
47
47
|
formatWorkedForDuration?: (durationMs: number) => string;
|
|
48
|
+
formatAgentInteractionDetail?: AgentKitProviderProps["formatAgentInteractionDetail"];
|
|
48
49
|
/** Display name for a model id in run details; the id shows without it. */
|
|
49
50
|
formatModelName?: (model: string) => string;
|
|
50
51
|
onClientEffect?: (effect: {
|
|
@@ -56,5 +57,5 @@ export interface AgentKitRootBaseProps {
|
|
|
56
57
|
onLoadError?: (error: unknown) => void;
|
|
57
58
|
}
|
|
58
59
|
export type AgentKitRootProps = AgentKitRootBaseProps & AgentKitClientSource;
|
|
59
|
-
export declare function AgentKitRoot({ controller, transport, endpoint, http, clientOptions, threadId, slots, registry, labels, onOpenObject, onThreadForked, branchNavigation, onCopyMessage, buildFeedbackReport, loadRunUsage, onConnectionRequest, onRenderError, resolveMessageContentOrder, workedForRowLayout, dataChartLayout, formatWorkedForDuration, formatModelName, onClientEffect, load, onLoadError, children, }: AgentKitRootProps): import("react").JSX.Element;
|
|
60
|
+
export declare function AgentKitRoot({ controller, transport, endpoint, http, clientOptions, threadId, slots, registry, labels, onOpenObject, onThreadForked, branchNavigation, onCopyMessage, buildFeedbackReport, loadRunUsage, onConnectionRequest, onRenderError, resolveMessageContentOrder, workedForRowLayout, dataChartLayout, formatWorkedForDuration, formatAgentInteractionDetail, formatModelName, onClientEffect, load, onLoadError, children, }: AgentKitRootProps): import("react").JSX.Element;
|
|
60
61
|
//# sourceMappingURL=root.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/root.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/root.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ function latestCallback(callback, name) {
|
|
|
11
11
|
}
|
|
12
12
|
return callback;
|
|
13
13
|
}
|
|
14
|
-
export function AgentKitRoot({ controller, transport, endpoint, http, clientOptions, threadId, slots, registry, labels, onOpenObject, onThreadForked, branchNavigation, onCopyMessage, buildFeedbackReport, loadRunUsage, onConnectionRequest, onRenderError, resolveMessageContentOrder, workedForRowLayout, dataChartLayout, formatWorkedForDuration, formatModelName, onClientEffect, load = "auto", onLoadError, children, }) {
|
|
14
|
+
export function AgentKitRoot({ controller, transport, endpoint, http, clientOptions, threadId, slots, registry, labels, onOpenObject, onThreadForked, branchNavigation, onCopyMessage, buildFeedbackReport, loadRunUsage, onConnectionRequest, onRenderError, resolveMessageContentOrder, workedForRowLayout, dataChartLayout, formatWorkedForDuration, formatAgentInteractionDetail, formatModelName, onClientEffect, load = "auto", onLoadError, children, }) {
|
|
15
15
|
const sourceCount = Number(controller !== undefined) +
|
|
16
16
|
Number(transport !== undefined) +
|
|
17
17
|
Number(endpoint !== undefined);
|
|
@@ -226,6 +226,6 @@ export function AgentKitRoot({ controller, transport, endpoint, http, clientOpti
|
|
|
226
226
|
threadId,
|
|
227
227
|
threadLoadState,
|
|
228
228
|
]);
|
|
229
|
-
return (_jsx(AgentKitProvider, { controller: resolvedController, threadLoad: threadLoad, threadId: threadId, slots: slots, registry: registry, labels: labels, onOpenObject: onOpenObject, onThreadForked: onThreadForked, branchNavigation: branchNavigation, onCopyMessage: onCopyMessage, buildFeedbackReport: buildFeedbackReport, loadRunUsage: loadRunUsage, onConnectionRequest: onConnectionRequest, onRenderError: onRenderError, resolveMessageContentOrder: resolveMessageContentOrder, workedForRowLayout: workedForRowLayout, dataChartLayout: dataChartLayout, formatWorkedForDuration: formatWorkedForDuration, formatModelName: formatModelName, onClientEffect: onClientEffect, children: children }));
|
|
229
|
+
return (_jsx(AgentKitProvider, { controller: resolvedController, threadLoad: threadLoad, threadId: threadId, slots: slots, registry: registry, labels: labels, onOpenObject: onOpenObject, onThreadForked: onThreadForked, branchNavigation: branchNavigation, onCopyMessage: onCopyMessage, buildFeedbackReport: buildFeedbackReport, loadRunUsage: loadRunUsage, onConnectionRequest: onConnectionRequest, onRenderError: onRenderError, resolveMessageContentOrder: resolveMessageContentOrder, workedForRowLayout: workedForRowLayout, dataChartLayout: dataChartLayout, formatWorkedForDuration: formatWorkedForDuration, formatAgentInteractionDetail: formatAgentInteractionDetail, formatModelName: formatModelName, onClientEffect: onClientEffect, children: children }));
|
|
230
230
|
}
|
|
231
231
|
//# sourceMappingURL=root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/root.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,oBAAoB,GAKrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,GAE5B,MAAM,6BAA6B,CAAC;AASrC,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/root.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
/** One tab stop for `container`, landing on the last-used item; arrows move. */
|
|
3
|
+
export declare function useRovingFocus(containerRef: RefObject<HTMLElement | null>, enabled?: boolean): void;
|
|
4
|
+
//# sourceMappingURL=roving-focus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roving-focus.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/roving-focus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAelD,gFAAgF;AAChF,wBAAgB,cAAc,CAC5B,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC3C,OAAO,UAAO,GACb,IAAI,CA8DN"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
const ROVING_CANDIDATES = "button, a[href]";
|
|
3
|
+
function rovingItems(container) {
|
|
4
|
+
return Array.from(container.querySelectorAll(ROVING_CANDIDATES)).filter((item) => !(item instanceof HTMLButtonElement && item.disabled) &&
|
|
5
|
+
// An inert subtree takes no focus, so it gets no tab stop either.
|
|
6
|
+
!item.closest("[inert]"));
|
|
7
|
+
}
|
|
8
|
+
/** One tab stop for `container`, landing on the last-used item; arrows move. */
|
|
9
|
+
export function useRovingFocus(containerRef, enabled = true) {
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const container = containerRef.current;
|
|
12
|
+
if (!container || !enabled)
|
|
13
|
+
return;
|
|
14
|
+
let current = null;
|
|
15
|
+
const sync = () => {
|
|
16
|
+
const items = rovingItems(container);
|
|
17
|
+
if (!current || !items.includes(current))
|
|
18
|
+
current = items[0] ?? null;
|
|
19
|
+
// Every candidate, so a newly enabled item joins at -1, not as a stop.
|
|
20
|
+
for (const item of container.querySelectorAll(ROVING_CANDIDATES))
|
|
21
|
+
item.tabIndex = item === current ? 0 : -1;
|
|
22
|
+
};
|
|
23
|
+
const onFocusIn = (event) => {
|
|
24
|
+
const target = event.target;
|
|
25
|
+
if (!(target instanceof HTMLElement))
|
|
26
|
+
return;
|
|
27
|
+
if (!rovingItems(container).includes(target))
|
|
28
|
+
return;
|
|
29
|
+
current = target;
|
|
30
|
+
sync();
|
|
31
|
+
};
|
|
32
|
+
const onKeyDown = (event) => {
|
|
33
|
+
if (event.altKey || event.ctrlKey || event.metaKey)
|
|
34
|
+
return;
|
|
35
|
+
const items = rovingItems(container);
|
|
36
|
+
const index = items.indexOf(document.activeElement);
|
|
37
|
+
if (index < 0)
|
|
38
|
+
return;
|
|
39
|
+
const rtl = getComputedStyle(container).direction === "rtl" ||
|
|
40
|
+
container.closest("[dir]")?.getAttribute("dir") === "rtl";
|
|
41
|
+
const forward = rtl ? "ArrowLeft" : "ArrowRight";
|
|
42
|
+
const backward = rtl ? "ArrowRight" : "ArrowLeft";
|
|
43
|
+
const next = event.key === forward
|
|
44
|
+
? items[(index + 1) % items.length]
|
|
45
|
+
: event.key === backward
|
|
46
|
+
? items[(index - 1 + items.length) % items.length]
|
|
47
|
+
: event.key === "Home"
|
|
48
|
+
? items[0]
|
|
49
|
+
: event.key === "End"
|
|
50
|
+
? items[items.length - 1]
|
|
51
|
+
: undefined;
|
|
52
|
+
if (!next)
|
|
53
|
+
return;
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
next.focus();
|
|
56
|
+
};
|
|
57
|
+
sync();
|
|
58
|
+
// Items and their disabled/inert state change without a re-render.
|
|
59
|
+
const observer = new MutationObserver(sync);
|
|
60
|
+
observer.observe(container, {
|
|
61
|
+
subtree: true,
|
|
62
|
+
childList: true,
|
|
63
|
+
attributes: true,
|
|
64
|
+
attributeFilter: ["disabled", "inert"],
|
|
65
|
+
});
|
|
66
|
+
container.addEventListener("focusin", onFocusIn);
|
|
67
|
+
container.addEventListener("keydown", onKeyDown);
|
|
68
|
+
return () => {
|
|
69
|
+
observer.disconnect();
|
|
70
|
+
container.removeEventListener("focusin", onFocusIn);
|
|
71
|
+
container.removeEventListener("keydown", onKeyDown);
|
|
72
|
+
};
|
|
73
|
+
}, [containerRef, enabled]);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=roving-focus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roving-focus.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/roving-focus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type TraceCollapsibleOpenProps } from "./trace.js";
|
|
2
|
+
export interface StackFrame {
|
|
3
|
+
text: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
/** Without the line and column. */
|
|
6
|
+
file?: string;
|
|
7
|
+
line?: number;
|
|
8
|
+
column?: number;
|
|
9
|
+
/** Runtime, dependency, or standard library code rather than the caller's. */
|
|
10
|
+
internal: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ParsedStackTrace {
|
|
13
|
+
error: string;
|
|
14
|
+
frames: StackFrame[];
|
|
15
|
+
/** The trace exactly as printed, for copying. */
|
|
16
|
+
text: string;
|
|
17
|
+
/** Whether the text holds nothing but the trace. */
|
|
18
|
+
whole: boolean;
|
|
19
|
+
}
|
|
20
|
+
/** The first V8 or Python trace in `text`, without the output around it. */
|
|
21
|
+
export declare function parseStackTrace(text: string): ParsedStackTrace | undefined;
|
|
22
|
+
/** Copy sits beside the trigger: a button cannot nest in the trigger. */
|
|
23
|
+
export declare function StackTrace({ trace, defaultOpen, onFilePathClick, className, ...openProps }: TraceCollapsibleOpenProps & {
|
|
24
|
+
trace: string | ParsedStackTrace;
|
|
25
|
+
defaultOpen?: boolean;
|
|
26
|
+
/** Makes the caller's frames links to their file and line. */
|
|
27
|
+
onFilePathClick?: (frame: StackFrame) => void;
|
|
28
|
+
className?: string;
|
|
29
|
+
}): import("react").JSX.Element | null;
|
|
30
|
+
export declare function StackTraceFrames({ frames, onFilePathClick, }: {
|
|
31
|
+
frames: StackFrame[];
|
|
32
|
+
onFilePathClick?: ((frame: StackFrame) => void) | undefined;
|
|
33
|
+
}): import("react").JSX.Element;
|
|
34
|
+
//# sourceMappingURL=stack-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-trace.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/stack-trace.tsx"],"names":[],"mappings":"AAIA,OAAO,EAQL,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAC;CAChB;AAQD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAG1E;AAgFD,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,eAAe,EACf,SAAS,EACT,GAAG,SAAS,EACb,EAAE,yBAAyB,GAAG;IAC7B,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sCA6CA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7D,+BA+CA"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconAlertTriangle } from "@tabler/icons-react";
|
|
3
|
+
import { CodeBlockCopyButton } from "./code-block.js";
|
|
4
|
+
import { useAgentKitLabels } from "./context.js";
|
|
5
|
+
import { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceIcon, TraceLine, TraceTitle, } from "./trace.js";
|
|
6
|
+
const V8_FRAME = /^\s+at\s+(.+)$/;
|
|
7
|
+
const PYTHON_HEADER = /^Traceback \(most recent call last\):\s*$/;
|
|
8
|
+
const PYTHON_FRAME = /^\s+File "([^"]+)", line (\d+)(?:, in (.+))?$/;
|
|
9
|
+
const INTERNAL_FILE = /(?:^|[/\\])node_modules[/\\]|^node:|^internal[/\\]|[/\\]site-packages[/\\]|[/\\]lib[/\\]python\d|^<frozen /;
|
|
10
|
+
/** The first V8 or Python trace in `text`, without the output around it. */
|
|
11
|
+
export function parseStackTrace(text) {
|
|
12
|
+
const lines = text.split("\n");
|
|
13
|
+
return parseV8(lines) ?? parsePython(lines);
|
|
14
|
+
}
|
|
15
|
+
function parseV8(lines) {
|
|
16
|
+
const first = lines.findIndex((line) => V8_FRAME.test(line));
|
|
17
|
+
const error = lines[first - 1]?.trim();
|
|
18
|
+
if (first < 1 || !error)
|
|
19
|
+
return undefined;
|
|
20
|
+
const frames = [];
|
|
21
|
+
for (const line of lines.slice(first)) {
|
|
22
|
+
const body = V8_FRAME.exec(line)?.[1];
|
|
23
|
+
if (body === undefined)
|
|
24
|
+
break;
|
|
25
|
+
frames.push(v8Frame(body.trim()));
|
|
26
|
+
}
|
|
27
|
+
return result(lines, first - 1, first + frames.length, error, frames);
|
|
28
|
+
}
|
|
29
|
+
function v8Frame(body) {
|
|
30
|
+
const named = /^(.*?) \((.+)\)$/.exec(body);
|
|
31
|
+
const name = group(named, 1)?.replace(/^async /, "") || undefined;
|
|
32
|
+
const location = group(named, 2) ?? body.replace(/^async /, "");
|
|
33
|
+
const position = /^(.*?):(\d+):(\d+)$/.exec(location);
|
|
34
|
+
const file = group(position, 1) ?? location;
|
|
35
|
+
const line = group(position, 2);
|
|
36
|
+
const column = group(position, 3);
|
|
37
|
+
return {
|
|
38
|
+
text: `at ${body}`,
|
|
39
|
+
...(name ? { name } : {}),
|
|
40
|
+
file,
|
|
41
|
+
...(line && column ? { line: Number(line), column: Number(column) } : {}),
|
|
42
|
+
internal: INTERNAL_FILE.test(file),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function group(match, index) {
|
|
46
|
+
return match?.[index];
|
|
47
|
+
}
|
|
48
|
+
function parsePython(lines) {
|
|
49
|
+
const start = lines.findIndex((line) => PYTHON_HEADER.test(line));
|
|
50
|
+
if (start < 0)
|
|
51
|
+
return undefined;
|
|
52
|
+
const frames = [];
|
|
53
|
+
let index = start + 1;
|
|
54
|
+
for (const line of lines.slice(start + 1)) {
|
|
55
|
+
const [, file, number, name] = PYTHON_FRAME.exec(line) ?? [];
|
|
56
|
+
if (file && number) {
|
|
57
|
+
frames.push({
|
|
58
|
+
text: line.trim(),
|
|
59
|
+
...(name ? { name } : {}),
|
|
60
|
+
file,
|
|
61
|
+
line: Number(number),
|
|
62
|
+
internal: INTERNAL_FILE.test(file),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
else if (!/^\s/.test(line)) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
index++;
|
|
69
|
+
}
|
|
70
|
+
const error = lines[index]?.trim();
|
|
71
|
+
if (!error || !frames.length)
|
|
72
|
+
return undefined;
|
|
73
|
+
return result(lines, start, index + 1, error, frames);
|
|
74
|
+
}
|
|
75
|
+
function result(lines, start, end, error, frames) {
|
|
76
|
+
const outside = [...lines.slice(0, start), ...lines.slice(end)];
|
|
77
|
+
return {
|
|
78
|
+
error,
|
|
79
|
+
frames,
|
|
80
|
+
text: lines.slice(start, end).join("\n"),
|
|
81
|
+
whole: outside.every((line) => !line.trim()),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** Copy sits beside the trigger: a button cannot nest in the trigger. */
|
|
85
|
+
export function StackTrace({ trace, defaultOpen, onFilePathClick, className, ...openProps }) {
|
|
86
|
+
const labels = useAgentKitLabels();
|
|
87
|
+
const parsed = typeof trace === "string" ? parseStackTrace(trace) : trace;
|
|
88
|
+
if (!parsed)
|
|
89
|
+
return null;
|
|
90
|
+
return (_jsx(Trace, { "data-slot": "stack-trace", className: className ? `agentkit-stack-trace ${className}` : "agentkit-stack-trace", children: _jsxs(TraceCollapsible, { ...openProps, defaultOpen: defaultOpen, children: [_jsxs("div", { className: "agentkit-stack-trace-row", children: [_jsx(TraceCollapsibleTrigger, { children: _jsxs(TraceLine, { status: "error", children: [_jsx(TraceIcon, { children: _jsx(IconAlertTriangle, { "aria-hidden": "true", className: "agentkit-icon" }) }), _jsx(TraceTitle, { children: parsed.error })] }) }), _jsx("span", { className: "agentkit-stack-trace-actions", children: _jsx(CodeBlockCopyButton, { value: parsed.text, label: labels.workStepCopyStackTrace }) })] }), _jsxs(TraceCollapsibleContent, { keepMounted: true, className: "agentkit-stack-trace-body", children: [_jsx("p", { className: "agentkit-stack-trace-error", children: parsed.error }), _jsx(StackTraceFrames, { frames: parsed.frames, onFilePathClick: onFilePathClick })] })] }) }));
|
|
91
|
+
}
|
|
92
|
+
export function StackTraceFrames({ frames, onFilePathClick, }) {
|
|
93
|
+
const labels = useAgentKitLabels();
|
|
94
|
+
const runs = [];
|
|
95
|
+
frames.forEach((frame, index) => {
|
|
96
|
+
const last = runs.at(-1);
|
|
97
|
+
if (last?.internal && frame.internal)
|
|
98
|
+
last.frames.push(frame);
|
|
99
|
+
else
|
|
100
|
+
runs.push({ start: index, internal: frame.internal, frames: [frame] });
|
|
101
|
+
});
|
|
102
|
+
const items = runs.map(({ start, frames: run }) => {
|
|
103
|
+
if (run.length < 2) {
|
|
104
|
+
return run.map((frame) => (_jsx(StackTraceFrame, { frame: frame, onFilePathClick: onFilePathClick }, start)));
|
|
105
|
+
}
|
|
106
|
+
return (_jsx("li", { className: "agentkit-stack-frames-folded", children: _jsxs(TraceCollapsible, { children: [_jsx(TraceCollapsibleTrigger, { children: _jsx(TraceLine, { children: _jsx("span", { className: "agentkit-disclosure-label", children: labels.workStepFrameworkFrames.replace("{{count}}", () => `${run.length}`) }) }) }), _jsx(TraceCollapsibleContent, { keepMounted: true, children: _jsx("ol", { className: "agentkit-stack-frames", children: run.map((frame, offset) => (_jsx(StackTraceFrame, { frame: frame }, start + offset))) }) })] }) }, start));
|
|
107
|
+
});
|
|
108
|
+
return _jsx("ol", { className: "agentkit-stack-frames", children: items });
|
|
109
|
+
}
|
|
110
|
+
function StackTraceFrame({ frame, onFilePathClick, }) {
|
|
111
|
+
const position = frame.line !== undefined
|
|
112
|
+
? `:${frame.line}${frame.column !== undefined ? `:${frame.column}` : ""}`
|
|
113
|
+
: "";
|
|
114
|
+
// The file name only, so a long path never hides the line number.
|
|
115
|
+
const location = frame.file
|
|
116
|
+
? `${frame.file.split(/[/\\]/).at(-1) || frame.file}${position}`
|
|
117
|
+
: frame.text;
|
|
118
|
+
const fullLocation = frame.file ? `${frame.file}${position}` : frame.text;
|
|
119
|
+
return (_jsxs("li", { className: "agentkit-stack-frame", "data-internal": frame.internal ? "true" : undefined, children: [frame.name ? (_jsx("span", { className: "agentkit-stack-frame-name", children: frame.name })) : null, onFilePathClick && frame.file && !frame.internal ? (_jsx("button", { type: "button", className: "agentkit-stack-frame-location", title: fullLocation, onClick: () => onFilePathClick(frame), children: location })) : (_jsx("span", { className: "agentkit-stack-frame-location", title: fullLocation, children: location }))] }));
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=stack-trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-trace.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/stack-trace.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-button.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/stop-button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stop-button.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/stop-button.tsx"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,2CA+EA"}
|