@agent-native/core 0.47.1 → 0.48.1
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/bin/agent-native.js +41 -0
- package/dist/a2a/handlers.js +2 -2
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/server.js +2 -2
- package/dist/a2a/server.js.map +1 -1
- package/dist/action.d.ts +43 -2
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js.map +1 -1
- package/dist/agent/context-xray/actions/context-evict.d.ts +7 -1
- package/dist/agent/context-xray/actions/context-evict.d.ts.map +1 -1
- package/dist/agent/context-xray/actions/context-manifest-get.d.ts +4 -1
- package/dist/agent/context-xray/actions/context-manifest-get.d.ts.map +1 -1
- package/dist/agent/context-xray/actions/context-pin.d.ts +7 -1
- package/dist/agent/context-xray/actions/context-pin.d.ts.map +1 -1
- package/dist/agent/context-xray/actions/context-report.d.ts +12 -1
- package/dist/agent/context-xray/actions/context-report.d.ts.map +1 -1
- package/dist/agent/context-xray/actions/context-restore.d.ts +7 -1
- package/dist/agent/context-xray/actions/context-restore.d.ts.map +1 -1
- package/dist/agent/context-xray/apply-directives.d.ts.map +1 -1
- package/dist/agent/context-xray/apply-directives.js.map +1 -1
- package/dist/agent/context-xray/schema.d.ts +10 -10
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +26 -3
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts +1 -1
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +47 -8
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/engine/builtin.js +1 -1
- package/dist/agent/engine/builtin.js.map +1 -1
- package/dist/agent/engine/output-tokens.d.ts +1 -1
- package/dist/agent/engine/output-tokens.d.ts.map +1 -1
- package/dist/agent/engine/output-tokens.js +6 -2
- package/dist/agent/engine/output-tokens.js.map +1 -1
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +7 -4
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/engine/types.d.ts +19 -0
- package/dist/agent/engine/types.d.ts.map +1 -1
- package/dist/agent/engine/types.js +6 -0
- package/dist/agent/engine/types.js.map +1 -1
- package/dist/agent/model-config.d.ts +22 -14
- package/dist/agent/model-config.d.ts.map +1 -1
- package/dist/agent/model-config.js +113 -8
- package/dist/agent/model-config.js.map +1 -1
- package/dist/agent/production-agent.d.ts +19 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +253 -39
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
- package/dist/agent/run-loop-with-resume.js +10 -0
- package/dist/agent/run-loop-with-resume.js.map +1 -1
- package/dist/agent/run-manager.d.ts +1 -0
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +36 -9
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +47 -4
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +154 -4
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +57 -2
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/agent/types.d.ts +3 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/agent-web/generator.d.ts +3 -3
- package/dist/appearance/actions/change-appearance.d.ts +6 -1
- package/dist/appearance/actions/change-appearance.d.ts.map +1 -1
- package/dist/application-state/handlers.d.ts +2 -2
- package/dist/application-state/handlers.d.ts.map +1 -1
- package/dist/application-state/store.d.ts.map +1 -1
- package/dist/application-state/store.js +17 -0
- package/dist/application-state/store.js.map +1 -1
- package/dist/catalog.json +2 -1
- package/dist/cli/code-agent-commands.d.ts.map +1 -1
- package/dist/cli/code-agent-commands.js +2 -0
- package/dist/cli/code-agent-commands.js.map +1 -1
- package/dist/cli/code-agent-connector.js +7 -13
- package/dist/cli/code-agent-connector.js.map +1 -1
- package/dist/cli/code-agent-executor.d.ts +54 -2
- package/dist/cli/code-agent-executor.d.ts.map +1 -1
- package/dist/cli/code-agent-executor.js +504 -48
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/code-agent-runs.d.ts +13 -0
- package/dist/cli/code-agent-runs.d.ts.map +1 -1
- package/dist/cli/code-agent-runs.js +36 -0
- package/dist/cli/code-agent-runs.js.map +1 -1
- package/dist/cli/code.js +59 -5
- package/dist/cli/code.js.map +1 -1
- package/dist/cli/connect.js +141 -3
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/cli/pr-visual-recap-workflow.js +1 -1
- package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
- package/dist/cli/recap.js +476 -46
- package/dist/cli/recap.js.map +1 -1
- package/dist/cli/skills.js +298 -179
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +29 -2
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AgentTaskCard.d.ts.map +1 -1
- package/dist/client/AgentTaskCard.js +17 -2
- package/dist/client/AgentTaskCard.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +310 -1732
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/CommandMenu.d.ts +1 -1
- package/dist/client/CommandMenu.d.ts.map +1 -1
- package/dist/client/CommandMenu.js +1 -1
- package/dist/client/CommandMenu.js.map +1 -1
- package/dist/client/HighlightedCodeBlock.d.ts +40 -0
- package/dist/client/HighlightedCodeBlock.d.ts.map +1 -0
- package/dist/client/HighlightedCodeBlock.js +110 -0
- package/dist/client/HighlightedCodeBlock.js.map +1 -0
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +8 -1
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/PoweredByBadge.d.ts +2 -2
- package/dist/client/PoweredByBadge.d.ts.map +1 -1
- package/dist/client/RunStuckBanner.d.ts +1 -1
- package/dist/client/RunStuckBanner.d.ts.map +1 -1
- package/dist/client/StarfieldBackground.d.ts.map +1 -1
- package/dist/client/StarfieldBackground.js +10 -5
- package/dist/client/StarfieldBackground.js.map +1 -1
- package/dist/client/Turnstile.d.ts +1 -1
- package/dist/client/Turnstile.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts +3 -2
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +13 -9
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/app-providers.d.ts +99 -0
- package/dist/client/app-providers.d.ts.map +1 -0
- package/dist/client/app-providers.js +19 -0
- package/dist/client/app-providers.js.map +1 -0
- package/dist/client/assistant-ui-recovery.d.ts +1 -1
- package/dist/client/auth-redirect-url.d.ts +1 -1
- package/dist/client/auth-redirect-url.d.ts.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts +0 -19
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.js +141 -55
- package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -1
- package/dist/client/blocks/library/DiffBlock.js +1 -1
- package/dist/client/blocks/library/DiffBlock.js.map +1 -1
- package/dist/client/blocks/library/FileTreeBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/FileTreeBlock.js +1 -1
- package/dist/client/blocks/library/FileTreeBlock.js.map +1 -1
- package/dist/client/blocks/library/HighlightedCode.d.ts.map +1 -1
- package/dist/client/blocks/library/HighlightedCode.js +5 -3
- package/dist/client/blocks/library/HighlightedCode.js.map +1 -1
- package/dist/client/blocks/library/annotation-rail.d.ts +5 -4
- package/dist/client/blocks/library/annotation-rail.d.ts.map +1 -1
- package/dist/client/blocks/library/annotation-rail.js +22 -3
- package/dist/client/blocks/library/annotation-rail.js.map +1 -1
- package/dist/client/blocks/library/diagram.js +1 -1
- package/dist/client/blocks/library/diagram.js.map +1 -1
- package/dist/client/blocks/library/diff.config.d.ts +3 -2
- package/dist/client/blocks/library/diff.config.d.ts.map +1 -1
- package/dist/client/blocks/library/diff.config.js +4 -3
- package/dist/client/blocks/library/diff.config.js.map +1 -1
- package/dist/client/blocks/library/question-form.d.ts.map +1 -1
- package/dist/client/blocks/library/question-form.js +2 -1
- package/dist/client/blocks/library/question-form.js.map +1 -1
- package/dist/client/blocks/library/wireframe-kit.d.ts +1 -1
- package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -1
- package/dist/client/blocks/library/wireframe.js +1 -1
- package/dist/client/blocks/library/wireframe.js.map +1 -1
- package/dist/client/chat/attachment-adapters.d.ts +58 -0
- package/dist/client/chat/attachment-adapters.d.ts.map +1 -0
- package/dist/client/chat/attachment-adapters.js +331 -0
- package/dist/client/chat/attachment-adapters.js.map +1 -0
- package/dist/client/chat/index.d.ts +13 -0
- package/dist/client/chat/index.d.ts.map +1 -0
- package/dist/client/chat/index.js +13 -0
- package/dist/client/chat/index.js.map +1 -0
- package/dist/client/chat/markdown-renderer.d.ts +49 -0
- package/dist/client/chat/markdown-renderer.d.ts.map +1 -0
- package/dist/client/chat/markdown-renderer.js +391 -0
- package/dist/client/chat/markdown-renderer.js.map +1 -0
- package/dist/client/chat/message-components.d.ts +35 -0
- package/dist/client/chat/message-components.d.ts.map +1 -0
- package/dist/client/chat/message-components.js +452 -0
- package/dist/client/chat/message-components.js.map +1 -0
- package/dist/client/chat/repo-helpers.d.ts +41 -0
- package/dist/client/chat/repo-helpers.d.ts.map +1 -0
- package/dist/client/chat/repo-helpers.js +61 -0
- package/dist/client/chat/repo-helpers.js.map +1 -0
- package/dist/client/chat/run-recovery.d.ts +41 -0
- package/dist/client/chat/run-recovery.d.ts.map +1 -0
- package/dist/client/chat/run-recovery.js +348 -0
- package/dist/client/chat/run-recovery.js.map +1 -0
- package/dist/client/chat/tool-call-display.d.ts +34 -0
- package/dist/client/chat/tool-call-display.d.ts.map +1 -0
- package/dist/client/chat/tool-call-display.js +284 -0
- package/dist/client/chat/tool-call-display.js.map +1 -0
- package/dist/client/code-agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/code-agent-chat-adapter.js +20 -0
- package/dist/client/code-agent-chat-adapter.js.map +1 -1
- package/dist/client/collab/index.d.ts +10 -0
- package/dist/client/collab/index.d.ts.map +1 -0
- package/dist/client/collab/index.js +10 -0
- package/dist/client/collab/index.js.map +1 -0
- package/dist/client/components/AgentPresenceChip.d.ts +1 -1
- package/dist/client/components/AgentPresenceChip.d.ts.map +1 -1
- package/dist/client/components/ApiKeySettings.d.ts +1 -1
- package/dist/client/components/ApiKeySettings.d.ts.map +1 -1
- package/dist/client/components/CodeAgentIndicator.d.ts +1 -1
- package/dist/client/components/CodeAgentIndicator.d.ts.map +1 -1
- package/dist/client/components/CodeRequiredDialog.d.ts +1 -1
- package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
- package/dist/client/components/LiveCursorOverlay.d.ts.map +1 -1
- package/dist/client/components/LiveCursorOverlay.js.map +1 -1
- package/dist/client/components/PresenceBar.d.ts +1 -1
- package/dist/client/components/PresenceBar.d.ts.map +1 -1
- package/dist/client/composer/PromptComposer.d.ts.map +1 -1
- package/dist/client/composer/PromptComposer.js +6 -26
- package/dist/client/composer/PromptComposer.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts +8 -2
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +21 -9
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/VoiceButton.d.ts +2 -2
- package/dist/client/composer/VoiceButton.d.ts.map +1 -1
- package/dist/client/composer/index.d.ts +1 -1
- package/dist/client/composer/index.d.ts.map +1 -1
- package/dist/client/composer/index.js +1 -1
- package/dist/client/composer/index.js.map +1 -1
- package/dist/client/composer/use-skills.d.ts +1 -1
- package/dist/client/context-xray/ContextMeter.d.ts +1 -1
- package/dist/client/context-xray/ContextMeter.d.ts.map +1 -1
- package/dist/client/context-xray/ContextMeter.js +3 -3
- package/dist/client/context-xray/ContextMeter.js.map +1 -1
- package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
- package/dist/client/context-xray/ContextXRayPanel.js +4 -3
- package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
- package/dist/client/context-xray/format.d.ts +11 -0
- package/dist/client/context-xray/format.d.ts.map +1 -1
- package/dist/client/context-xray/format.js +16 -0
- package/dist/client/context-xray/format.js.map +1 -1
- package/dist/client/conversation/AgentConversation.d.ts.map +1 -1
- package/dist/client/conversation/AgentConversation.js +8 -53
- package/dist/client/conversation/AgentConversation.js.map +1 -1
- package/dist/client/conversation/use-near-bottom-autoscroll.d.ts +1 -1
- package/dist/client/conversation/use-near-bottom-autoscroll.d.ts.map +1 -1
- package/dist/client/conversation/use-near-bottom-autoscroll.js +14 -1
- package/dist/client/conversation/use-near-bottom-autoscroll.js.map +1 -1
- package/dist/client/create-query-client.d.ts +28 -0
- package/dist/client/create-query-client.d.ts.map +1 -0
- package/dist/client/create-query-client.js +78 -0
- package/dist/client/create-query-client.js.map +1 -0
- package/dist/client/db-admin/DevDatabaseLink.d.ts +1 -1
- package/dist/client/db-admin/DevDatabaseLink.d.ts.map +1 -1
- package/dist/client/db-admin/RowSidePanel.d.ts +1 -1
- package/dist/client/db-admin/RowSidePanel.d.ts.map +1 -1
- package/dist/client/db-admin/RowSidePanel.js +2 -2
- package/dist/client/db-admin/RowSidePanel.js.map +1 -1
- package/dist/client/db-admin/TableEditor.d.ts +1 -1
- package/dist/client/db-admin/TableEditor.d.ts.map +1 -1
- package/dist/client/db-admin/TableEditor.js +1 -1
- package/dist/client/db-admin/TableEditor.js.map +1 -1
- package/dist/client/db-admin/cell-format.d.ts +1 -1
- package/dist/client/db-admin/cell-format.d.ts.map +1 -1
- package/dist/client/dev-overlay/DevOverlay.d.ts +1 -1
- package/dist/client/dev-overlay/DevOverlay.d.ts.map +1 -1
- package/dist/client/editor/index.d.ts +2 -0
- package/dist/client/editor/index.d.ts.map +1 -0
- package/dist/client/editor/index.js +2 -0
- package/dist/client/editor/index.js.map +1 -0
- package/dist/client/error-format.d.ts.map +1 -1
- package/dist/client/error-format.js +4 -0
- package/dist/client/error-format.js.map +1 -1
- package/dist/client/extensions/AgentNativeExtensionFrame.d.ts +1 -1
- package/dist/client/extensions/AgentNativeExtensionFrame.d.ts.map +1 -1
- package/dist/client/extensions/EmbeddedExtension.d.ts +1 -1
- package/dist/client/extensions/EmbeddedExtension.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionSlot.d.ts +1 -1
- package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewerPage.d.ts +1 -1
- package/dist/client/extensions/ExtensionViewerPage.d.ts.map +1 -1
- package/dist/client/guided-questions.d.ts +6 -6
- package/dist/client/host-bridge.d.ts.map +1 -1
- package/dist/client/host-bridge.js +2 -0
- package/dist/client/host-bridge.js.map +1 -1
- package/dist/client/index.d.ts +7 -6
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +5 -3
- package/dist/client/index.js.map +1 -1
- package/dist/client/onboarding/OnboardingBanner.d.ts +1 -1
- package/dist/client/onboarding/OnboardingBanner.d.ts.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.d.ts +1 -1
- package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
- package/dist/client/onboarding/SetupButton.d.ts +1 -1
- package/dist/client/onboarding/SetupButton.d.ts.map +1 -1
- package/dist/client/org/InvitationBanner.d.ts +1 -1
- package/dist/client/org/InvitationBanner.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts +1 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
- package/dist/client/org/hooks.d.ts +3 -3
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.d.ts +2 -2
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +34 -9
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
- package/dist/client/resources/ResourceEditor.js +1 -1
- package/dist/client/resources/ResourceEditor.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +2 -0
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts +1 -1
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/CodeBlockNode.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/CodeBlockNode.js +2 -1
- package/dist/client/rich-markdown-editor/CodeBlockNode.js.map +1 -1
- package/dist/client/rich-markdown-editor/ImageExtension.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/ImageExtension.js +2 -1
- package/dist/client/rich-markdown-editor/ImageExtension.js.map +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -1
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.js +2 -3
- package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +1 -1
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts +1 -1
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts.map +1 -1
- package/dist/client/route-state.d.ts +12 -2
- package/dist/client/route-state.d.ts.map +1 -1
- package/dist/client/route-state.js +1 -1
- package/dist/client/route-state.js.map +1 -1
- package/dist/client/route-warmup.d.ts +1 -1
- package/dist/client/route-warmup.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +2 -2
- package/dist/client/sharing/ShareDialog.d.ts +1 -1
- package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
- package/dist/client/sse-event-processor.d.ts +8 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +33 -10
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/terminal/AgentTerminal.d.ts +1 -1
- package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
- package/dist/client/terminal/AgentTerminal.js +4 -2
- package/dist/client/terminal/AgentTerminal.js.map +1 -1
- package/dist/client/tool-cells/BashCell.d.ts +25 -0
- package/dist/client/tool-cells/BashCell.d.ts.map +1 -0
- package/dist/client/tool-cells/BashCell.js +49 -0
- package/dist/client/tool-cells/BashCell.js.map +1 -0
- package/dist/client/tool-cells/EditCell.d.ts +24 -0
- package/dist/client/tool-cells/EditCell.d.ts.map +1 -0
- package/dist/client/tool-cells/EditCell.js +126 -0
- package/dist/client/tool-cells/EditCell.js.map +1 -0
- package/dist/client/tool-cells/FilesChangedSummary.d.ts +13 -0
- package/dist/client/tool-cells/FilesChangedSummary.d.ts.map +1 -0
- package/dist/client/tool-cells/FilesChangedSummary.js +98 -0
- package/dist/client/tool-cells/FilesChangedSummary.js.map +1 -0
- package/dist/client/tool-cells/WriteCell.d.ts +17 -0
- package/dist/client/tool-cells/WriteCell.d.ts.map +1 -0
- package/dist/client/tool-cells/WriteCell.js +26 -0
- package/dist/client/tool-cells/WriteCell.js.map +1 -0
- package/dist/client/tool-cells/index.d.ts +8 -0
- package/dist/client/tool-cells/index.d.ts.map +1 -0
- package/dist/client/tool-cells/index.js +5 -0
- package/dist/client/tool-cells/index.js.map +1 -0
- package/dist/client/transcription/BuilderTranscriptionCta.d.ts +1 -1
- package/dist/client/transcription/BuilderTranscriptionCta.d.ts.map +1 -1
- package/dist/client/use-chat-threads.d.ts +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +11 -8
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/client/use-db-sync.d.ts +2 -0
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +329 -302
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/code-agents/transcript-normalizer.d.ts +15 -1
- package/dist/code-agents/transcript-normalizer.d.ts.map +1 -1
- package/dist/code-agents/transcript-normalizer.js +47 -0
- package/dist/code-agents/transcript-normalizer.js.map +1 -1
- package/dist/coding-tools/index.d.ts +75 -0
- package/dist/coding-tools/index.d.ts.map +1 -1
- package/dist/coding-tools/index.js +137 -10
- package/dist/coding-tools/index.js.map +1 -1
- package/dist/collab/client.d.ts.map +1 -1
- package/dist/collab/client.js +15 -9
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/ydoc-manager.d.ts +1 -1
- package/dist/collab/ydoc-manager.d.ts.map +1 -1
- package/dist/collab/ydoc-manager.js +1 -1
- package/dist/collab/ydoc-manager.js.map +1 -1
- package/dist/db/client.d.ts +9 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +204 -48
- package/dist/db/client.js.map +1 -1
- package/dist/db/create-get-db.d.ts +38 -0
- package/dist/db/create-get-db.d.ts.map +1 -1
- package/dist/db/create-get-db.js +204 -4
- package/dist/db/create-get-db.js.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +159 -67
- package/dist/db/migrations.js.map +1 -1
- package/dist/demo/actions/toggle-demo-mode.d.ts +6 -1
- package/dist/demo/actions/toggle-demo-mode.d.ts.map +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +80 -39
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.js +20 -10
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/extensions/schema.d.ts +51 -51
- package/dist/extensions/slots/schema.d.ts +13 -13
- package/dist/file-upload/actions/upload-image.d.ts +26 -1
- package/dist/file-upload/actions/upload-image.d.ts.map +1 -1
- package/dist/file-upload/index.d.ts +1 -1
- package/dist/file-upload/index.d.ts.map +1 -1
- package/dist/file-upload/index.js +1 -1
- package/dist/file-upload/index.js.map +1 -1
- package/dist/file-upload/pre-upload-attachments.d.ts +37 -0
- package/dist/file-upload/pre-upload-attachments.d.ts.map +1 -1
- package/dist/file-upload/pre-upload-attachments.js +79 -19
- package/dist/file-upload/pre-upload-attachments.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/adapters/slack.js +1 -1
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/plugin.js +1 -1
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/jobs/scheduler.js +70 -21
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/mcp/actions/create-org-service-token.d.ts +14 -0
- package/dist/mcp/actions/create-org-service-token.d.ts.map +1 -0
- package/dist/mcp/actions/create-org-service-token.js +74 -0
- package/dist/mcp/actions/create-org-service-token.js.map +1 -0
- package/dist/mcp/actions/list-org-service-tokens.d.ts +17 -0
- package/dist/mcp/actions/list-org-service-tokens.d.ts.map +1 -0
- package/dist/mcp/actions/list-org-service-tokens.js +42 -0
- package/dist/mcp/actions/list-org-service-tokens.js.map +1 -0
- package/dist/mcp/actions/revoke-org-service-token.d.ts +7 -0
- package/dist/mcp/actions/revoke-org-service-token.d.ts.map +1 -0
- package/dist/mcp/actions/revoke-org-service-token.js +28 -0
- package/dist/mcp/actions/revoke-org-service-token.js.map +1 -0
- package/dist/mcp/actions/service-token-access.d.ts +24 -0
- package/dist/mcp/actions/service-token-access.d.ts.map +1 -0
- package/dist/mcp/actions/service-token-access.js +63 -0
- package/dist/mcp/actions/service-token-access.js.map +1 -0
- package/dist/mcp/build-server.d.ts +42 -11
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +53 -3
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/mcp/connect-route.d.ts +35 -0
- package/dist/mcp/connect-route.d.ts.map +1 -1
- package/dist/mcp/connect-route.js +57 -2
- package/dist/mcp/connect-route.js.map +1 -1
- package/dist/mcp/connect-store.d.ts +43 -0
- package/dist/mcp/connect-store.d.ts.map +1 -1
- package/dist/mcp/connect-store.js +129 -12
- package/dist/mcp/connect-store.js.map +1 -1
- package/dist/mcp/oauth-token.d.ts +10 -0
- package/dist/mcp/oauth-token.d.ts.map +1 -1
- package/dist/mcp/oauth-token.js +2 -0
- package/dist/mcp/oauth-token.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +3 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp-client/routes.js +1 -1
- package/dist/mcp-client/routes.js.map +1 -1
- package/dist/org/context.d.ts +4 -0
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +10 -0
- package/dist/org/context.js.map +1 -1
- package/dist/org/handlers.d.ts +11 -7
- package/dist/org/handlers.d.ts.map +1 -1
- package/dist/org/handlers.js +0 -8
- package/dist/org/handlers.js.map +1 -1
- package/dist/org/migrations.d.ts.map +1 -1
- package/dist/org/migrations.js +8 -0
- package/dist/org/migrations.js.map +1 -1
- package/dist/org/schema.d.ts +15 -15
- package/dist/progress/actions.d.ts.map +1 -1
- package/dist/progress/actions.js +13 -5
- package/dist/progress/actions.js.map +1 -1
- package/dist/provider-api/actions/delete-staged-dataset.d.ts +9 -0
- package/dist/provider-api/actions/delete-staged-dataset.d.ts.map +1 -0
- package/dist/provider-api/actions/delete-staged-dataset.js +35 -0
- package/dist/provider-api/actions/delete-staged-dataset.js.map +1 -0
- package/dist/provider-api/actions/list-staged-datasets.d.ts +15 -0
- package/dist/provider-api/actions/list-staged-datasets.d.ts.map +1 -0
- package/dist/provider-api/actions/list-staged-datasets.js +41 -0
- package/dist/provider-api/actions/list-staged-datasets.js.map +1 -0
- package/dist/provider-api/actions/query-staged-dataset.d.ts +29 -0
- package/dist/provider-api/actions/query-staged-dataset.d.ts.map +1 -0
- package/dist/provider-api/actions/query-staged-dataset.js +116 -0
- package/dist/provider-api/actions/query-staged-dataset.js.map +1 -0
- package/dist/provider-api/custom-registry.d.ts.map +1 -1
- package/dist/provider-api/custom-registry.js.map +1 -1
- package/dist/provider-api/index.d.ts +10 -10
- package/dist/provider-api/index.js +0 -5
- package/dist/provider-api/index.js.map +1 -1
- package/dist/provider-api/staged-datasets-aggregate.d.ts +46 -0
- package/dist/provider-api/staged-datasets-aggregate.d.ts.map +1 -0
- package/dist/provider-api/staged-datasets-aggregate.js +209 -0
- package/dist/provider-api/staged-datasets-aggregate.js.map +1 -0
- package/dist/provider-api/staged-datasets-store.d.ts +76 -0
- package/dist/provider-api/staged-datasets-store.d.ts.map +1 -0
- package/dist/provider-api/staged-datasets-store.js +319 -0
- package/dist/provider-api/staged-datasets-store.js.map +1 -0
- package/dist/provider-api/staging.d.ts +100 -0
- package/dist/provider-api/staging.d.ts.map +1 -0
- package/dist/provider-api/staging.js +281 -0
- package/dist/provider-api/staging.js.map +1 -0
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +13 -1
- package/dist/resources/handlers.js.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +1 -2
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/scripts/resources/migrate-learnings.d.ts +1 -1
- package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
- package/dist/scripts/resources/migrate-learnings.js +1 -1
- package/dist/scripts/resources/migrate-learnings.js.map +1 -1
- package/dist/secrets/schema.d.ts +7 -7
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +14 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.d.ts.map +1 -1
- package/dist/server/action-routes.js +3 -2
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +33 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +251 -180
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-discovery.d.ts.map +1 -1
- package/dist/server/agent-discovery.js +13 -16
- package/dist/server/agent-discovery.js.map +1 -1
- package/dist/server/agent-teams-run-queue.d.ts +31 -8
- package/dist/server/agent-teams-run-queue.d.ts.map +1 -1
- package/dist/server/agent-teams-run-queue.js +61 -18
- package/dist/server/agent-teams-run-queue.js.map +1 -1
- package/dist/server/agent-teams.d.ts +27 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +214 -14
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/app-base-path.d.ts +20 -0
- package/dist/server/app-base-path.d.ts.map +1 -1
- package/dist/server/app-base-path.js +36 -0
- package/dist/server/app-base-path.js.map +1 -1
- package/dist/server/attachment-actions.d.ts +43 -0
- package/dist/server/attachment-actions.d.ts.map +1 -0
- package/dist/server/attachment-actions.js +214 -0
- package/dist/server/attachment-actions.js.map +1 -0
- package/dist/server/auth.js +1 -1
- package/dist/server/auth.js.map +1 -1
- package/dist/server/complete-text.d.ts +56 -0
- package/dist/server/complete-text.d.ts.map +1 -0
- package/dist/server/complete-text.js +147 -0
- package/dist/server/complete-text.js.map +1 -0
- package/dist/server/core-routes-plugin.d.ts +1 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +37 -27
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/cors-origins.d.ts.map +1 -1
- package/dist/server/cors-origins.js +6 -1
- package/dist/server/cors-origins.js.map +1 -1
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/create-server.js +2 -1
- package/dist/server/create-server.js.map +1 -1
- package/dist/server/csrf.d.ts +1 -1
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/email-actions.d.ts +19 -0
- package/dist/server/email-actions.d.ts.map +1 -0
- package/dist/server/email-actions.js +191 -0
- package/dist/server/email-actions.js.map +1 -0
- package/dist/server/embed-route.js +1 -1
- package/dist/server/embed-route.js.map +1 -1
- package/dist/server/embed-session.d.ts.map +1 -1
- package/dist/server/embed-session.js +5 -1
- package/dist/server/embed-session.js.map +1 -1
- package/dist/server/entry-server.d.ts +24 -0
- package/dist/server/entry-server.d.ts.map +1 -0
- package/dist/server/entry-server.js +54 -0
- package/dist/server/entry-server.js.map +1 -0
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +2 -10
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +2 -9
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/google-realtime-session.d.ts.map +1 -1
- package/dist/server/google-realtime-session.js +6 -4
- package/dist/server/google-realtime-session.js.map +1 -1
- package/dist/server/h3-helpers.d.ts +39 -0
- package/dist/server/h3-helpers.d.ts.map +1 -1
- package/dist/server/h3-helpers.js +104 -1
- package/dist/server/h3-helpers.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +1 -8
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/open-route.d.ts.map +1 -1
- package/dist/server/open-route.js +1 -0
- package/dist/server/open-route.js.map +1 -1
- package/dist/server/prompts/framework-core-compact.d.ts +19 -0
- package/dist/server/prompts/framework-core-compact.d.ts.map +1 -0
- package/dist/server/prompts/framework-core-compact.js +69 -0
- package/dist/server/prompts/framework-core-compact.js.map +1 -0
- package/dist/server/prompts/framework-core.d.ts +26 -0
- package/dist/server/prompts/framework-core.d.ts.map +1 -0
- package/dist/server/prompts/framework-core.js +130 -0
- package/dist/server/prompts/framework-core.js.map +1 -0
- package/dist/server/prompts/index.d.ts +9 -0
- package/dist/server/prompts/index.d.ts.map +1 -0
- package/dist/server/prompts/index.js +9 -0
- package/dist/server/prompts/index.js.map +1 -0
- package/dist/server/prompts/model-overlays.d.ts +18 -0
- package/dist/server/prompts/model-overlays.d.ts.map +1 -0
- package/dist/server/prompts/model-overlays.js +46 -0
- package/dist/server/prompts/model-overlays.js.map +1 -0
- package/dist/server/prompts/shared-rules.d.ts +29 -0
- package/dist/server/prompts/shared-rules.d.ts.map +1 -0
- package/dist/server/prompts/shared-rules.js +54 -0
- package/dist/server/prompts/shared-rules.js.map +1 -0
- package/dist/server/security-headers.d.ts +7 -1
- package/dist/server/security-headers.d.ts.map +1 -1
- package/dist/server/security-headers.js +11 -0
- package/dist/server/security-headers.js.map +1 -1
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +135 -46
- package/dist/server/ssr-handler.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts.map +1 -1
- package/dist/server/transcribe-voice.js +7 -4
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/settings/store.d.ts.map +1 -1
- package/dist/settings/store.js +9 -0
- package/dist/settings/store.js.map +1 -1
- package/dist/shared/markdown-block-split.d.ts +39 -0
- package/dist/shared/markdown-block-split.d.ts.map +1 -0
- package/dist/shared/markdown-block-split.js +97 -0
- package/dist/shared/markdown-block-split.js.map +1 -0
- package/dist/shared/reasoning-effort.js +13 -1
- package/dist/shared/reasoning-effort.js.map +1 -1
- package/dist/shared/streaming-text-smoothing.d.ts +18 -0
- package/dist/shared/streaming-text-smoothing.d.ts.map +1 -1
- package/dist/shared/streaming-text-smoothing.js +70 -4
- package/dist/shared/streaming-text-smoothing.js.map +1 -1
- package/dist/sharing/actions/list-resource-shares.d.ts +24 -1
- package/dist/sharing/actions/list-resource-shares.d.ts.map +1 -1
- package/dist/sharing/actions/set-resource-visibility.d.ts +8 -1
- package/dist/sharing/actions/set-resource-visibility.d.ts.map +1 -1
- package/dist/sharing/actions/share-resource.d.ts +12 -1
- package/dist/sharing/actions/share-resource.d.ts.map +1 -1
- package/dist/sharing/actions/unshare-resource.d.ts +8 -1
- package/dist/sharing/actions/unshare-resource.d.ts.map +1 -1
- package/dist/sharing/schema.d.ts +10 -10
- package/dist/styles/agent-conversation.css +239 -0
- package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +50 -2
- package/dist/templates/default/AGENTS.md +1 -1
- package/dist/templates/default/DEVELOPING.md +19 -0
- package/dist/templates/default/app/entry.client.tsx +4 -1
- package/dist/templates/default/app/entry.server.tsx +4 -56
- package/dist/templates/default/app/global.css +3 -2
- package/dist/templates/default/app/root.tsx +8 -24
- package/dist/templates/default/app/routes/_index.tsx +0 -13
- package/dist/templates/default/package.json +6 -5
- package/dist/templates/default/tsconfig.json +2 -1
- package/dist/templates/starter-shell-sync.spec.ts +118 -0
- package/dist/templates/ui-primitives-sync.spec.ts +399 -0
- package/dist/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +50 -2
- package/dist/terminal/pty-server.js +1 -1
- package/dist/terminal/pty-server.js.map +1 -1
- package/dist/triggers/dispatcher.js +1 -1
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/usage/store.d.ts.map +1 -1
- package/dist/usage/store.js +60 -7
- package/dist/usage/store.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +44 -12
- package/dist/vite/client.js.map +1 -1
- package/dist/workspace-files/schema.d.ts +8 -8
- package/dist/workspace-files/tool.d.ts.map +1 -1
- package/dist/workspace-files/tool.js +0 -1
- package/dist/workspace-files/tool.js.map +1 -1
- package/docs/content/a2a-protocol.md +18 -12
- package/docs/content/actions.md +42 -10
- package/docs/content/agent-mentions.md +7 -8
- package/docs/content/agent-teams.md +23 -37
- package/docs/content/agent-web-surfaces.md +18 -9
- package/docs/content/authentication.md +6 -17
- package/docs/content/automations.md +43 -15
- package/docs/content/cli-adapters.md +25 -24
- package/docs/content/client.md +66 -17
- package/docs/content/cloneable-saas.md +19 -23
- package/docs/content/code-agents-ui.md +3 -31
- package/docs/content/components.md +308 -0
- package/docs/content/context-awareness.md +4 -0
- package/docs/content/creating-templates.md +4 -2
- package/docs/content/cross-app-sso.md +45 -19
- package/docs/content/database.md +26 -1
- package/docs/content/deployment.md +3 -1
- package/docs/content/dispatch.md +9 -37
- package/docs/content/drop-in-agent.md +123 -2
- package/docs/content/embedding-sdk.md +35 -0
- package/docs/content/extensions.md +2 -2
- package/docs/content/external-agents.md +86 -171
- package/docs/content/faq.md +6 -27
- package/docs/content/frames.md +9 -12
- package/docs/content/getting-started.md +80 -77
- package/docs/content/key-concepts.md +29 -19
- package/docs/content/mcp-apps.md +103 -0
- package/docs/content/mcp-clients.md +2 -2
- package/docs/content/mcp-protocol.md +40 -17
- package/docs/content/messaging.md +11 -4
- package/docs/content/migration-workbench.md +4 -47
- package/docs/content/multi-app-workspace.md +48 -17
- package/docs/content/multi-tenancy.md +1 -1
- package/docs/content/notifications.md +8 -6
- package/docs/content/observability.md +26 -15
- package/docs/content/onboarding.md +7 -1
- package/docs/content/pr-visual-recap.md +203 -23
- package/docs/content/progress.md +5 -5
- package/docs/content/pure-agent-apps.md +3 -1
- package/docs/content/real-time-collaboration.md +106 -0
- package/docs/content/recurring-jobs.md +17 -1
- package/docs/content/security.md +17 -3
- package/docs/content/server.md +39 -3
- package/docs/content/sharing.md +20 -1
- package/docs/content/skills-guide.md +151 -125
- package/docs/content/template-analytics.md +8 -0
- package/docs/content/template-assets.md +2 -0
- package/docs/content/template-brain.md +59 -3
- package/docs/content/template-calendar.md +8 -0
- package/docs/content/template-clips.md +11 -2
- package/docs/content/template-content.md +24 -4
- package/docs/content/template-design.md +19 -17
- package/docs/content/template-dispatch.md +2 -0
- package/docs/content/template-forms.md +28 -1
- package/docs/content/template-mail.md +17 -0
- package/docs/content/template-plan.md +177 -10
- package/docs/content/template-slides.md +51 -12
- package/docs/content/template-videos.md +17 -0
- package/docs/content/tracking.md +17 -13
- package/docs/content/using-your-agent.md +15 -5
- package/docs/content/voice-input.md +1 -1
- package/docs/content/what-is-agent-native.md +5 -6
- package/docs/content/workspace-connections.md +138 -424
- package/docs/content/workspace-management.md +12 -128
- package/docs/content/workspace.md +125 -199
- package/docs/content/writing-agent-instructions.md +17 -1
- package/package.json +25 -6
- package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +50 -2
- package/src/templates/default/AGENTS.md +1 -1
- package/src/templates/default/DEVELOPING.md +19 -0
- package/src/templates/default/app/entry.client.tsx +4 -1
- package/src/templates/default/app/entry.server.tsx +4 -56
- package/src/templates/default/app/global.css +3 -2
- package/src/templates/default/app/root.tsx +8 -24
- package/src/templates/default/app/routes/_index.tsx +0 -13
- package/src/templates/default/package.json +6 -5
- package/src/templates/default/tsconfig.json +2 -1
- package/src/templates/starter-shell-sync.spec.ts +118 -0
- package/src/templates/ui-primitives-sync.spec.ts +399 -0
- package/src/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +50 -2
- package/tsconfig.base.json +2 -10
- package/dist/cli/app-skill.d.ts +0 -157
- package/dist/cli/app-skill.d.ts.map +0 -1
- package/dist/cli/audit-agent-web.d.ts +0 -2
- package/dist/cli/audit-agent-web.d.ts.map +0 -1
- package/dist/cli/code-agent-connector.d.ts +0 -17
- package/dist/cli/code-agent-connector.d.ts.map +0 -1
- package/dist/cli/code.d.ts +0 -66
- package/dist/cli/code.d.ts.map +0 -1
- package/dist/cli/connect.d.ts +0 -140
- package/dist/cli/connect.d.ts.map +0 -1
- package/dist/cli/context-xray-local.d.ts +0 -16
- package/dist/cli/context-xray-local.d.ts.map +0 -1
- package/dist/cli/create-workspace.d.ts +0 -8
- package/dist/cli/create-workspace.d.ts.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/info.d.ts +0 -2
- package/dist/cli/info.d.ts.map +0 -1
- package/dist/cli/mcp-config-writers.d.ts +0 -82
- package/dist/cli/mcp-config-writers.d.ts.map +0 -1
- package/dist/cli/mcp.d.ts +0 -16
- package/dist/cli/mcp.d.ts.map +0 -1
- package/dist/cli/migrate.d.ts +0 -38
- package/dist/cli/migrate.d.ts.map +0 -1
- package/dist/cli/plan-local.d.ts +0 -43
- package/dist/cli/plan-local.d.ts.map +0 -1
- package/dist/cli/plan-publish-store.d.ts +0 -62
- package/dist/cli/plan-publish-store.d.ts.map +0 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts +0 -11
- package/dist/cli/pr-visual-recap-workflow.d.ts.map +0 -1
- package/dist/cli/recap.d.ts +0 -297
- package/dist/cli/recap.d.ts.map +0 -1
- package/dist/cli/skills.d.ts +0 -162
- package/dist/cli/skills.d.ts.map +0 -1
- package/dist/cli/workspace-dev.d.ts +0 -96
- package/dist/cli/workspace-dev.d.ts.map +0 -1
|
@@ -228,38 +228,39 @@ Actions can use CLI adapters directly for structured access:
|
|
|
228
228
|
|
|
229
229
|
```ts
|
|
230
230
|
// actions/list-prs.ts
|
|
231
|
+
import { defineAction } from "@agent-native/core/server";
|
|
231
232
|
import { ShellCliAdapter } from "@agent-native/core/adapters/cli";
|
|
233
|
+
import { z } from "zod";
|
|
232
234
|
|
|
233
235
|
const gh = new ShellCliAdapter({
|
|
234
236
|
command: "gh",
|
|
235
237
|
description: "GitHub CLI",
|
|
236
238
|
});
|
|
237
239
|
|
|
238
|
-
export default
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
240
|
+
export default defineAction({
|
|
241
|
+
description: "List open pull requests via the GitHub CLI.",
|
|
242
|
+
schema: z.object({}),
|
|
243
|
+
async run() {
|
|
244
|
+
if (!(await gh.isAvailable())) {
|
|
245
|
+
throw new Error("GitHub CLI not installed. Run: brew install gh");
|
|
246
|
+
}
|
|
243
247
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}
|
|
248
|
+
const result = await gh.execute([
|
|
249
|
+
"pr",
|
|
250
|
+
"list",
|
|
251
|
+
"--json",
|
|
252
|
+
"title,url,state",
|
|
253
|
+
"--limit",
|
|
254
|
+
"10",
|
|
255
|
+
]);
|
|
256
|
+
|
|
257
|
+
if (result.exitCode !== 0) {
|
|
258
|
+
throw new Error(result.stderr || "gh pr list failed");
|
|
259
|
+
}
|
|
257
260
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
return prs;
|
|
262
|
-
}
|
|
261
|
+
return JSON.parse(result.stdout);
|
|
262
|
+
},
|
|
263
|
+
});
|
|
263
264
|
```
|
|
264
265
|
|
|
265
|
-
Or
|
|
266
|
+
Or use CLI adapters directly in a script under `scripts/` — adapters are useful when you want discovery, availability checks, and consistent error handling, but `defineAction` is required when the code runs inside the server action surface. Never call `process.exit` in an action; throw an error instead.
|
package/docs/content/client.md
CHANGED
|
@@ -11,19 +11,43 @@ These client/React APIs are exported from both `@agent-native/core` and `@agent-
|
|
|
11
11
|
|
|
12
12
|
## File-Based Routing {#file-based-routing}
|
|
13
13
|
|
|
14
|
-
Agent-native apps use **React Router v7** with file-based routing
|
|
14
|
+
Agent-native apps use **React Router v7** with file-based routing via `flatRoutes()` from `@react-router/fs-routes`. Every file in `app/routes/` becomes a URL. Templates use the dot-notation convention — dots separate URL segments inside a single filename.
|
|
15
15
|
|
|
16
16
|
### File → URL mapping
|
|
17
17
|
|
|
18
|
-
| File
|
|
19
|
-
|
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
18
|
+
| File | URL | Notes |
|
|
19
|
+
| --------------------- | ------------------ | -------------------------------------- |
|
|
20
|
+
| `_index.tsx` | `/` | Index route |
|
|
21
|
+
| `settings.tsx` | `/settings` | Simple page |
|
|
22
|
+
| `inbox.$threadId.tsx` | `/inbox/:threadId` | Dot = `/`, `$` = dynamic param |
|
|
23
|
+
| `_app.tsx` | (no URL segment) | Pathless layout — prefix with `_` |
|
|
24
|
+
| `inbox/route.tsx` | `/inbox` | Folder form — `route.tsx` is the index |
|
|
25
25
|
|
|
26
|
-
Prefix a segment with `$` for dynamic
|
|
26
|
+
Prefix a segment with `$` for a dynamic param. Prefix with `_` to make it a pathless layout route (no URL segment). Templates use `flatRoutes()` — the dot-notation file above is primary; the nested-folder form `inbox/route.tsx` also works.
|
|
27
|
+
|
|
28
|
+
## Fetching and Mutating Data {#fetching-mutating}
|
|
29
|
+
|
|
30
|
+
The primary way to read and write app data from the browser is through the action hooks. Never hand-write `fetch` calls to `/_agent-native/*` routes — use the named helpers instead (see [Actions](/docs/actions)).
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
import {
|
|
34
|
+
useActionQuery,
|
|
35
|
+
useActionMutation,
|
|
36
|
+
callAction,
|
|
37
|
+
} from "@agent-native/core/client";
|
|
38
|
+
|
|
39
|
+
// Read: auto-cached, auto-invalidated on mutations
|
|
40
|
+
const { data, isLoading } = useActionQuery("get-lead", { leadId });
|
|
41
|
+
|
|
42
|
+
// Mutate: emits a change event so query caches refetch
|
|
43
|
+
const { mutate, isPending } = useActionMutation("create-lead");
|
|
44
|
+
mutate({ name: "Alice", company: "Acme" });
|
|
45
|
+
|
|
46
|
+
// Imperative: for one-off calls outside a component
|
|
47
|
+
await callAction("archive-lead", { leadId });
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
27
51
|
|
|
28
52
|
### Adding a new page
|
|
29
53
|
|
|
@@ -106,6 +130,28 @@ sendToAgentChat({
|
|
|
106
130
|
});
|
|
107
131
|
```
|
|
108
132
|
|
|
133
|
+
### Silent background sends {#background-send}
|
|
134
|
+
|
|
135
|
+
Use `background: true` when a UI action should kick off real agent work without
|
|
136
|
+
opening or focusing the sidebar. This still creates a normal chat thread/run,
|
|
137
|
+
uses the agent's tools/actions/context, and keeps the work observable through
|
|
138
|
+
the runs tray; it is not a raw one-shot model call.
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
const tabId = sendToAgentChat({
|
|
142
|
+
message: "Analyze this import and create any missing records",
|
|
143
|
+
context: `Import batch id: ${batchId}`,
|
|
144
|
+
submit: true,
|
|
145
|
+
newTab: true,
|
|
146
|
+
background: true,
|
|
147
|
+
openSidebar: false,
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
`background` is intended to be paired with `newTab` so the hidden work does not
|
|
152
|
+
overwrite the user's active conversation. Use the returned `tabId` if the UI
|
|
153
|
+
needs to correlate follow-up status or deep-link into the run later.
|
|
154
|
+
|
|
109
155
|
### AgentChatMessage {#agentchatmessage}
|
|
110
156
|
|
|
111
157
|
| Option | Type | Description |
|
|
@@ -326,14 +372,17 @@ function App() {
|
|
|
326
372
|
|
|
327
373
|
### Options {#usedbsync-options}
|
|
328
374
|
|
|
329
|
-
| Option
|
|
330
|
-
|
|
|
331
|
-
| `queryClient`
|
|
332
|
-
| `queryKeys`
|
|
333
|
-
| `pollUrl`
|
|
334
|
-
| `sseUrl`
|
|
335
|
-
| `
|
|
336
|
-
| `
|
|
375
|
+
| Option | Type | Description |
|
|
376
|
+
| ------------------ | ------------------ | -------------------------------------------------------------------------------------- |
|
|
377
|
+
| `queryClient` | `QueryClient?` | React-query client for cache invalidation |
|
|
378
|
+
| `queryKeys` | `string[]?` | Deprecated and ignored; kept for old call sites |
|
|
379
|
+
| `pollUrl` | `string?` | Poll endpoint URL. Default: `"/_agent-native/poll"` |
|
|
380
|
+
| `sseUrl` | `string \| false?` | SSE endpoint URL. Default: `"/_agent-native/events"`; pass `false` to use polling only |
|
|
381
|
+
| `interval` | `number?` | Polling interval in ms. Default: `2000` |
|
|
382
|
+
| `fallbackInterval` | `number?` | Fallback polling interval when SSE is unavailable. Default: `15000` |
|
|
383
|
+
| `pauseWhenHidden` | `boolean?` | Pause polling when the browser tab is hidden. Default: `true` |
|
|
384
|
+
| `ignoreSource` | `string?` | Per-tab request source to ignore so a tab does not refetch from its own writes |
|
|
385
|
+
| `onEvent` | `(data) => void` | Optional callback when SSE/polling receives a change event |
|
|
337
386
|
|
|
338
387
|
For normal CRUD, prefer `useActionQuery` and `useActionMutation`; mutating actions emit `source: "action"` and those hooks refetch automatically.
|
|
339
388
|
|
|
@@ -13,21 +13,23 @@ Most "templates" give you a blank scaffold and a long TODO list. Agent-native fl
|
|
|
13
13
|
|
|
14
14
|
Each one is a real app you could use today, and the launching pad for your own version of it.
|
|
15
15
|
|
|
16
|
-
| Template
|
|
17
|
-
|
|
|
18
|
-
| **Mail**
|
|
19
|
-
| **Calendar**
|
|
20
|
-
| **Content**
|
|
21
|
-
| **Brain**
|
|
22
|
-
| **Assets**
|
|
23
|
-
| **Slides**
|
|
24
|
-
| **Video**
|
|
25
|
-
| **Analytics** | An agent-native Amplitude/Mixpanel. Connect data sources, prompt for charts, pin to dashboards. |
|
|
26
|
-
| **Clips**
|
|
27
|
-
| **Design**
|
|
28
|
-
| **Forms**
|
|
29
|
-
| **
|
|
30
|
-
| **
|
|
16
|
+
| Template | What it is |
|
|
17
|
+
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
18
|
+
| [**Mail**](/docs/template-mail) | An agent-native Superhuman. Inbox, labels, AI triage, keyboard-first, drafts and sends through the agent. |
|
|
19
|
+
| [**Calendar**](/docs/template-calendar) | An agent-native Google Calendar. Events, sync, public booking links, agent-driven scheduling. |
|
|
20
|
+
| [**Content**](/docs/template-content) | An agent-native Notion / Google Docs. Markdown + Tiptap editor, Notion sync, real-time multi-user collab. |
|
|
21
|
+
| [**Brain**](/docs/template-brain) | Clean company chat backed by cited institutional memory, approved sources, review gates, and citations. |
|
|
22
|
+
| [**Assets**](/docs/template-assets) | Digital asset manager for brand libraries, uploads, references, and on-brand image/video generation. |
|
|
23
|
+
| [**Slides**](/docs/template-slides) | An agent-native Google Slides. React-based decks the agent generates and edits directly. |
|
|
24
|
+
| [**Video**](/docs/template-videos) | Programmatic motion graphics and product-demo videos on Remotion. |
|
|
25
|
+
| [**Analytics**](/docs/template-analytics) | An agent-native Amplitude/Mixpanel. Connect data sources, prompt for charts, pin to dashboards. |
|
|
26
|
+
| [**Clips**](/docs/template-clips) | Async screen + camera recording with transcription, chapters, and AI summaries. |
|
|
27
|
+
| [**Design**](/docs/template-design) | Agent-native HTML prototyping studio for interactive Alpine/Tailwind designs. |
|
|
28
|
+
| [**Forms**](/docs/template-forms) | An agent-native Typeform. Build, share, collect, and route submissions to Slack, Sheets, webhooks, or Discord. |
|
|
29
|
+
| [**Plan**](/docs/template-plan) | Visual plans and PR recaps with diagrams, wireframes, and annotations. |
|
|
30
|
+
| [**Dispatch**](/docs/template-dispatch) | The workspace control plane: shared secrets, reusable integrations, Slack/Telegram, scheduled jobs. |
|
|
31
|
+
|
|
32
|
+
Don't want a domain template? See [Pure-Agent Apps / Starter](/docs/pure-agent-apps) for the minimal scaffold.
|
|
31
33
|
|
|
32
34
|
See the full catalog under [Templates](/templates), or jump straight to one — for example, [Dispatch](/docs/template-dispatch) is a great place to start if you want a workspace-style app.
|
|
33
35
|
|
|
@@ -70,13 +72,7 @@ You don't have to. Every template is also available as a hosted app on `agent-na
|
|
|
70
72
|
|
|
71
73
|
## Try it with a skill {#try-with-a-skill}
|
|
72
74
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
npx @agent-native/core@latest skills add visual-plan
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
That one command installs the skill instructions, registers the hosted MCP connector, and signs you in — no marketplace browsing, no manual OAuth. Then run `/visual-plan` in your agent. See the [Skills Guide](/docs/skills-guide#app-backed-skills) for more skills, local/offline installs, and how app-backed skills work.
|
|
75
|
+
Not ready to scaffold? You can add agent-native superpowers to a coding agent you already use with a single command — no app needed. See [Try it with a skill](/docs/getting-started#try-with-a-skill) in Getting Started.
|
|
80
76
|
|
|
81
77
|
## Building on this
|
|
82
78
|
|
|
@@ -91,7 +87,7 @@ That one command installs the skill instructions, registers the hosted MCP conne
|
|
|
91
87
|
If you're scaffolding now, the CLI command is:
|
|
92
88
|
|
|
93
89
|
```bash
|
|
94
|
-
|
|
90
|
+
npx @agent-native/core create my-platform
|
|
95
91
|
```
|
|
96
92
|
|
|
97
93
|
You'll get a multi-select picker. Pick one app (standalone) or several (workspace — apps share auth, brand, agent config, and database). Each picked template is scaffolded into `apps/<name>/` with every file you need.
|
|
@@ -13,13 +13,7 @@ There are three layers:
|
|
|
13
13
|
- **Desktop**: the left-sidebar Code tab adds native terminal launch, app webviews, and desktop deep links while using the same run model.
|
|
14
14
|
- **Shared UI**: `@agent-native/code-agents-ui` renders the reusable React surface.
|
|
15
15
|
|
|
16
|
-
The current split is intentionally converging: the standard agent sidebar and
|
|
17
|
-
Agent Teams run on the core `run-manager` lifecycle, while Agent-Native Code
|
|
18
|
-
uses local long-running sessions backed by the file-based Code run store and the
|
|
19
|
-
shared background-run controller vocabulary. New surfaces should build on the
|
|
20
|
-
shared background-run adapter/foundation instead of inventing another
|
|
21
|
-
lifecycle, so CLI, Desktop, background sessions, and sub-agents keep moving
|
|
22
|
-
toward one run model.
|
|
16
|
+
The current split is intentionally converging: the standard agent sidebar and Agent Teams run on the core `run-manager` lifecycle, while Agent-Native Code uses local long-running sessions backed by the file-based Code run store and the shared background-run controller vocabulary.
|
|
23
17
|
|
|
24
18
|
The shared UI is host-driven. It does not know whether it is running in Electron, a browser template, or a future hosted shell. Hosts provide a `CodeAgentsHost` implementation.
|
|
25
19
|
|
|
@@ -106,10 +100,6 @@ agent-native "fix the failing auth tests"
|
|
|
106
100
|
agent-native code
|
|
107
101
|
```
|
|
108
102
|
|
|
109
|
-
Inside the framework checkout, use `pnpm dev:cli ...` to exercise the source
|
|
110
|
-
CLI before a build, for example `pnpm dev:cli --help` or
|
|
111
|
-
`pnpm dev:cli code goals`.
|
|
112
|
-
|
|
113
103
|
Use `agent-native code` when you want the explicit namespace. Built-in slash
|
|
114
104
|
goals and project commands can run inside the interactive workspace or directly
|
|
115
105
|
from the shell:
|
|
@@ -221,7 +211,8 @@ Browser hosts should return a graceful `openTerminal` error instead of trying to
|
|
|
221
211
|
## Shared Composer
|
|
222
212
|
|
|
223
213
|
Agent-Native Code uses the same `AgentComposerFrame` + `PromptComposer` /
|
|
224
|
-
`TiptapComposer` stack
|
|
214
|
+
`TiptapComposer` stack exported from `@agent-native/core/client/composer` as the
|
|
215
|
+
framework agent sidebar. Do not fork a separate
|
|
225
216
|
textarea, coding-tool picker, upload picker, voice button, model picker, or Enter-to-submit
|
|
226
217
|
implementation for Code-like surfaces. If a host needs one extra control, pass
|
|
227
218
|
it through the shared composer extension points so the sidebar, Code UI, and
|
|
@@ -300,11 +291,6 @@ Do not add a parallel background-agent runner just because a new surface needs a
|
|
|
300
291
|
different layout. Build a host adapter or UI slot on top of the shared
|
|
301
292
|
run-manager foundation instead.
|
|
302
293
|
|
|
303
|
-
Regression rule for new prompt or background surfaces: Code, Brain, and the
|
|
304
|
-
standard sidebar must keep using `PromptComposer` through the shared composer
|
|
305
|
-
stack, and background work must use the Code run store, the background-run
|
|
306
|
-
adapter, `run-manager`, or `agent-teams` rather than a bespoke queue/runner.
|
|
307
|
-
|
|
308
294
|
## Follow-Ups
|
|
309
295
|
|
|
310
296
|
Follow-ups on active runs support two delivery modes:
|
|
@@ -365,20 +351,6 @@ Telegram uses the same relay through Dispatch. Supported commands are:
|
|
|
365
351
|
/code stop <run>
|
|
366
352
|
```
|
|
367
353
|
|
|
368
|
-
### Smoke checklist
|
|
369
|
-
|
|
370
|
-
Before shipping a remote-control change, run the automated relay route smoke in
|
|
371
|
-
`remote-plugin.spec.ts`, then do one real-device pass:
|
|
372
|
-
|
|
373
|
-
1. Pair Desktop from Settings and confirm the host appears in mobile Sessions.
|
|
374
|
-
2. Start a session from mobile and confirm Desktop claims it.
|
|
375
|
-
3. Send `/code <prompt>` from Telegram and confirm it queues to the same host.
|
|
376
|
-
4. Verify transcript mirroring, follow-up, approve or deny, and stop.
|
|
377
|
-
5. Revoke the host from mobile and confirm new commands stay queued/offline
|
|
378
|
-
instead of being sent to the revoked device.
|
|
379
|
-
6. Enable mobile push alerts and confirm command completion creates a push
|
|
380
|
-
outbox row.
|
|
381
|
-
|
|
382
354
|
## Styling
|
|
383
355
|
|
|
384
356
|
Import the package stylesheet:
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Component API"
|
|
3
|
+
description: "Public React building blocks for custom agent UI, chat fields, conversation rendering, realtime presence, sharing, progress, and rich editors."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Component API
|
|
7
|
+
|
|
8
|
+
Agent-Native ships a full sidebar, but the sidebar is not the contract. The
|
|
9
|
+
contract is the runtime: chat streaming, thread state, actions, context,
|
|
10
|
+
attachments, model selection, runs, and SQL-backed sync. Use the stock
|
|
11
|
+
components when you can, and drop down a layer when you need custom product UI.
|
|
12
|
+
|
|
13
|
+
Import browser UI from focused client subpaths:
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { AgentSidebar } from "@agent-native/core/client";
|
|
17
|
+
import { PromptComposer } from "@agent-native/core/client/composer";
|
|
18
|
+
import { AgentConversation } from "@agent-native/core/client/conversation";
|
|
19
|
+
import { usePresence } from "@agent-native/core/client/collab";
|
|
20
|
+
import { SharedRichEditor } from "@agent-native/core/client/editor";
|
|
21
|
+
import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Avoid importing UI components from the bare `@agent-native/core` package. Use
|
|
25
|
+
`@agent-native/core/client` or a focused `@agent-native/core/client/*` subpath
|
|
26
|
+
so bundlers choose the browser-safe entry.
|
|
27
|
+
|
|
28
|
+
## Agent And Chat UI {#agent-chat-ui}
|
|
29
|
+
|
|
30
|
+
| API | Import path | Use when |
|
|
31
|
+
| -------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
32
|
+
| `<AgentSidebar>` | `@agent-native/core/client` or `/client/chat` | You want the complete sidebar around your app. |
|
|
33
|
+
| `<AgentToggleButton>` | `@agent-native/core/client` or `/client/chat` | You render your own header button for the sidebar. |
|
|
34
|
+
| `<AgentPanel>` | `@agent-native/core/client` or `/client/chat` | You want the full panel in your own layout, route, dialog, or side column. |
|
|
35
|
+
| `<AgentChatSurface>` | `@agent-native/core/client` or `/client/chat` | You want chat in panel or page mode without the sidebar wrapper. |
|
|
36
|
+
| `<AssistantChat>` | `@agent-native/core/client` or `/client/chat` | You want to own surrounding chrome while keeping the standard conversation and composer runtime. |
|
|
37
|
+
| `<MultiTabAssistantChat>` | `@agent-native/core/client` or `/client/chat` | You want the framework's thread tabs without `AgentPanel` chrome. |
|
|
38
|
+
| `createAgentChatAdapter()` | `@agent-native/core/client` or `/client/chat` | You are building a custom assistant-ui runtime and need the Agent-Native chat transport. |
|
|
39
|
+
| `useChatThreads()` | `@agent-native/core/client` or `/client/chat` | You need a custom thread list, history picker, or scoped chat UI. |
|
|
40
|
+
| `sendToAgentChat()` | `@agent-native/core/client` or `/client/chat` | A product action should hand work to the agent chat. |
|
|
41
|
+
|
|
42
|
+
The shortest custom route is still a pre-wired surface:
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { AgentChatSurface } from "@agent-native/core/client/chat";
|
|
46
|
+
|
|
47
|
+
export default function ChatRoute() {
|
|
48
|
+
return <AgentChatSurface mode="page" className="h-screen" />;
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
For custom chrome around the standard runtime:
|
|
53
|
+
|
|
54
|
+
```tsx
|
|
55
|
+
import { AssistantChat, useChatThreads } from "@agent-native/core/client/chat";
|
|
56
|
+
|
|
57
|
+
function CustomChat({ projectSlug }: { projectSlug: string }) {
|
|
58
|
+
const threads = useChatThreads(undefined, projectSlug);
|
|
59
|
+
const threadId = threads.activeThreadId ?? undefined;
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<section className="grid h-full grid-cols-[260px_1fr]">
|
|
63
|
+
<ThreadList
|
|
64
|
+
threads={threads.threads}
|
|
65
|
+
activeThreadId={threadId}
|
|
66
|
+
onSelect={threads.switchThread}
|
|
67
|
+
/>
|
|
68
|
+
<AssistantChat threadId={threadId} />
|
|
69
|
+
</section>
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Chat Field And Composer {#composer}
|
|
75
|
+
|
|
76
|
+
Use `@agent-native/core/client/composer` when you need to place the same chat
|
|
77
|
+
field used by the sidebar inside custom UI.
|
|
78
|
+
|
|
79
|
+
| API | Use when |
|
|
80
|
+
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
81
|
+
| `<PromptComposer>` | You need a ready-to-submit chat field with attachments, slash commands, references, pasted-text handling, draft persistence, voice input, and submission semantics. |
|
|
82
|
+
| `<AgentComposerFrame>` | You want the standard visual shell around a custom composer body. |
|
|
83
|
+
| `<TiptapComposer>` | You need the lowest-level rich chat field. It must be rendered inside an assistant-ui `ThreadPrimitive.Root` / composer runtime. |
|
|
84
|
+
| `buildPromptComposerSubmission()` | You need the same attachment and pasted-text normalization before calling your own submit handler. |
|
|
85
|
+
| `formatPromptWithAttachments()` | You need to render hidden attachment metadata into a prompt string. |
|
|
86
|
+
|
|
87
|
+
Most custom UIs should start with `PromptComposer`:
|
|
88
|
+
|
|
89
|
+
```tsx
|
|
90
|
+
import { PromptComposer } from "@agent-native/core/client/composer";
|
|
91
|
+
|
|
92
|
+
<PromptComposer
|
|
93
|
+
placeholder="Ask the agent..."
|
|
94
|
+
onSubmit={async (text, files, references, options) => {
|
|
95
|
+
await sendMessageToYourRuntime({ text, files, references, options });
|
|
96
|
+
}}
|
|
97
|
+
/>;
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Use `TiptapComposer` only if you are already wiring assistant-ui primitives
|
|
101
|
+
yourself. It is the field, not the whole chat runtime.
|
|
102
|
+
|
|
103
|
+
## Conversation Rendering {#conversation}
|
|
104
|
+
|
|
105
|
+
Use `@agent-native/core/client/conversation` for transcript-style rendering
|
|
106
|
+
outside the full agent runtime.
|
|
107
|
+
|
|
108
|
+
| API | Use when |
|
|
109
|
+
| ----------------------------------------------- | ---------------------------------------------------------------- |
|
|
110
|
+
| `<AgentConversation>` | Render a list of normalized agent messages. |
|
|
111
|
+
| `<AgentConversationMessageView>` | Render one normalized message. |
|
|
112
|
+
| `normalizeCodeAgentTranscriptForConversation()` | Convert code-agent transcript events into conversation messages. |
|
|
113
|
+
| `useNearBottomAutoscroll()` | Keep a custom transcript pinned to the bottom while streaming. |
|
|
114
|
+
|
|
115
|
+
This layer is intentionally data-first: you own where messages come from, and
|
|
116
|
+
the renderer owns consistent markdown, attachments, notices, artifacts, and
|
|
117
|
+
tool-call display.
|
|
118
|
+
|
|
119
|
+
## Realtime Collab And Presence {#collab-presence}
|
|
120
|
+
|
|
121
|
+
Use `@agent-native/core/client/collab` for Liveblocks-style presence and
|
|
122
|
+
collaborative document hooks.
|
|
123
|
+
|
|
124
|
+
| API | Use when |
|
|
125
|
+
| --------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
126
|
+
| `useCollaborativeDoc()` | Bind a rich text editor or custom Yjs surface to `/_agent-native/collab`. |
|
|
127
|
+
| `usePresence()` | Publish and render arbitrary awareness fields: cursors, selections, viewport, mode. |
|
|
128
|
+
| `<PresenceBar>` | Show active human and agent collaborators. |
|
|
129
|
+
| `<LiveCursorOverlay>` | Render remote cursor labels over a positioned container. |
|
|
130
|
+
| `<RemoteSelectionRings>` | Render remote selection outlines over DOM elements. |
|
|
131
|
+
| `useFollowUser()` | Follow another participant's viewport or selection. |
|
|
132
|
+
| `useCollaborativeMap()` / `useCollaborativeArray()` | Experiment with structured Y.Map/Y.Array state when rich-text body collab is the wrong fit. |
|
|
133
|
+
| `dedupeCollabUsersByEmail()` | Build a custom avatar stack without duplicate tabs for the same user. |
|
|
134
|
+
|
|
135
|
+
Server-side agent actions that want to appear as a live participant use the
|
|
136
|
+
lower-level `@agent-native/core/collab` agent presence helpers:
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
import {
|
|
140
|
+
agentEnterDocument,
|
|
141
|
+
agentLeaveDocument,
|
|
142
|
+
agentUpdateSelection,
|
|
143
|
+
} from "@agent-native/core/collab";
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Rich Editor {#rich-editor}
|
|
147
|
+
|
|
148
|
+
Use `@agent-native/core/client/editor` when you need the shared markdown editor
|
|
149
|
+
surface used by plans, content, resources, and collaborative document
|
|
150
|
+
experiences.
|
|
151
|
+
|
|
152
|
+
| API | Use when |
|
|
153
|
+
| -------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
154
|
+
| `<SharedRichEditor>` | You need the current, configurable editor with markdown serialization, optional Yjs, and app extras. |
|
|
155
|
+
| `<RichMarkdownEditor>` | You need the backwards-compatible alias for the shared rich editor. |
|
|
156
|
+
| `createSharedEditorExtensions()` | You are building your own Tiptap editor but want the framework schema and markdown dialects. |
|
|
157
|
+
| `<SlashCommandMenu>` | You need the shared slash-command UI for a custom Tiptap surface. |
|
|
158
|
+
| `<BubbleToolbar>` | You need the shared selection toolbar for marks, links, and custom inline actions. |
|
|
159
|
+
| `createRegistryBlockNode()` | You need registry-backed block nodes inside a rich editor. |
|
|
160
|
+
| `uploadEditorImage()` | You want the framework upload-image action behind the editor's shared image block. |
|
|
161
|
+
| `useCollabReconcile()` | You are binding a custom editor surface to a Yjs doc while preserving markdown as saved state. |
|
|
162
|
+
|
|
163
|
+
The basic controlled editor is just markdown in and markdown out:
|
|
164
|
+
|
|
165
|
+
```tsx
|
|
166
|
+
import { SharedRichEditor } from "@agent-native/core/client/editor";
|
|
167
|
+
|
|
168
|
+
<SharedRichEditor
|
|
169
|
+
value={markdown}
|
|
170
|
+
onChange={setMarkdown}
|
|
171
|
+
placeholder="Write notes..."
|
|
172
|
+
features={{ tables: true, tasks: true, link: true }}
|
|
173
|
+
/>;
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
For realtime editing, pair it with the collab subpath:
|
|
177
|
+
|
|
178
|
+
```tsx
|
|
179
|
+
import {
|
|
180
|
+
emailToColor,
|
|
181
|
+
useCollaborativeDoc,
|
|
182
|
+
} from "@agent-native/core/client/collab";
|
|
183
|
+
import { SharedRichEditor } from "@agent-native/core/client/editor";
|
|
184
|
+
|
|
185
|
+
const editorUser = {
|
|
186
|
+
name: user.name,
|
|
187
|
+
email: user.email,
|
|
188
|
+
color: emailToColor(user.email),
|
|
189
|
+
};
|
|
190
|
+
const collab = useCollaborativeDoc({
|
|
191
|
+
docId,
|
|
192
|
+
user: editorUser,
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
<SharedRichEditor
|
|
196
|
+
value={markdown}
|
|
197
|
+
onChange={setMarkdown}
|
|
198
|
+
ydoc={collab.ydoc}
|
|
199
|
+
awareness={collab.awareness}
|
|
200
|
+
user={editorUser}
|
|
201
|
+
/>;
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Workspace Resources {#resources}
|
|
205
|
+
|
|
206
|
+
Use `@agent-native/core/client/resources` when you want to expose the same
|
|
207
|
+
workspace resource model that powers the agent panel's Workspace tab.
|
|
208
|
+
|
|
209
|
+
| API | Use when |
|
|
210
|
+
| --------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
211
|
+
| `<ResourcesPanel>` | You want the complete Workspace tab as a page, drawer, or custom panel. |
|
|
212
|
+
| `<ResourceTree>` | You want to render your own resource browser around framework data. |
|
|
213
|
+
| `<ResourceEditor>` | You want the framework editor for a selected resource. |
|
|
214
|
+
| `useResourceTree()` | You need a scoped tree for personal, shared, or workspace resources. |
|
|
215
|
+
| `useResource()` | You need the content and metadata for one selected resource. |
|
|
216
|
+
| `useCreateResource()` / `useUpdateResource()` / `useDeleteResource()` | You need custom controls around the resource lifecycle. |
|
|
217
|
+
| `useUploadResource()` | You need file upload into the framework resource store. |
|
|
218
|
+
|
|
219
|
+
The complete panel needs no props:
|
|
220
|
+
|
|
221
|
+
```tsx
|
|
222
|
+
import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
223
|
+
|
|
224
|
+
<ResourcesPanel />;
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
For custom resource chrome, keep the hooks and primitives together:
|
|
228
|
+
|
|
229
|
+
```tsx
|
|
230
|
+
import { useState } from "react";
|
|
231
|
+
import {
|
|
232
|
+
ResourceEditor,
|
|
233
|
+
ResourceTree,
|
|
234
|
+
useResource,
|
|
235
|
+
useResourceTree,
|
|
236
|
+
useUpdateResource,
|
|
237
|
+
} from "@agent-native/core/client/resources";
|
|
238
|
+
|
|
239
|
+
function WorkspaceResources() {
|
|
240
|
+
const tree = useResourceTree("workspace");
|
|
241
|
+
const updateResource = useUpdateResource();
|
|
242
|
+
const [selectedId, setSelectedId] = useState<string | null>(null);
|
|
243
|
+
const resource = useResource(selectedId);
|
|
244
|
+
|
|
245
|
+
return (
|
|
246
|
+
<div className="grid h-full grid-cols-[260px_1fr]">
|
|
247
|
+
<ResourceTree
|
|
248
|
+
tree={tree.data ?? []}
|
|
249
|
+
selectedId={selectedId}
|
|
250
|
+
onSelect={(item) => setSelectedId(item.id)}
|
|
251
|
+
onCreateFile={() => {}}
|
|
252
|
+
onCreateFolder={() => {}}
|
|
253
|
+
onDelete={() => {}}
|
|
254
|
+
onRename={() => {}}
|
|
255
|
+
onDrop={() => {}}
|
|
256
|
+
/>
|
|
257
|
+
{resource.data ? (
|
|
258
|
+
<ResourceEditor
|
|
259
|
+
resource={resource.data}
|
|
260
|
+
onSave={(content) =>
|
|
261
|
+
updateResource.mutate({ id: resource.data.id, content })
|
|
262
|
+
}
|
|
263
|
+
/>
|
|
264
|
+
) : null}
|
|
265
|
+
</div>
|
|
266
|
+
);
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Other Public UI {#other-ui}
|
|
271
|
+
|
|
272
|
+
| Area | APIs | Import path |
|
|
273
|
+
| ------------- | ------------------------------------------------------ | ----------------------------------------- |
|
|
274
|
+
| Sharing | `<ShareButton>`, `<ShareDialog>`, `<VisibilityBadge>` | `@agent-native/core/client/sharing` |
|
|
275
|
+
| Notifications | `<NotificationsBell>` | `@agent-native/core/client/notifications` |
|
|
276
|
+
| Progress | `<RunsTray>`, progress hooks and types | `@agent-native/core/client/progress` |
|
|
277
|
+
| Onboarding | `useOnboarding()`, onboarding panel hooks | `@agent-native/core/client/onboarding` |
|
|
278
|
+
| Observability | `<ObservabilityDashboard>`, `<ThumbsFeedback>` | `@agent-native/core/client/observability` |
|
|
279
|
+
| Resources | `<ResourcesPanel>`, `<ResourceTree>`, resource hooks | `@agent-native/core/client/resources` |
|
|
280
|
+
| Rich editor | `<SharedRichEditor>`, slash commands, block node hooks | `@agent-native/core/client/editor` |
|
|
281
|
+
|
|
282
|
+
## One-Off Text Completion {#one-off-text-completion}
|
|
283
|
+
|
|
284
|
+
If you truly need raw text-in/text-out, keep it server-side and use
|
|
285
|
+
`completeText()` from `@agent-native/core/server`. Wrap user-facing usage in an
|
|
286
|
+
action so the UI and agent share the same capability.
|
|
287
|
+
|
|
288
|
+
```ts
|
|
289
|
+
import { defineAction } from "@agent-native/core";
|
|
290
|
+
import { completeText } from "@agent-native/core/server";
|
|
291
|
+
|
|
292
|
+
export default defineAction({
|
|
293
|
+
description: "Classify a short message",
|
|
294
|
+
run: async ({ body }: { body: string }) => {
|
|
295
|
+
const result = await completeText({
|
|
296
|
+
systemPrompt: "Return exactly one label.",
|
|
297
|
+
input: body,
|
|
298
|
+
maxOutputTokens: 12,
|
|
299
|
+
temperature: 0,
|
|
300
|
+
});
|
|
301
|
+
return { label: result.text.trim() };
|
|
302
|
+
},
|
|
303
|
+
});
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Use `sendToAgentChat({ background: true, openSidebar: false })` instead when
|
|
307
|
+
the work needs tools, state, auditability, user steering, or multi-step
|
|
308
|
+
reasoning.
|
|
@@ -5,12 +5,16 @@ description: "How the agent knows what the user is looking at: navigation state,
|
|
|
5
5
|
|
|
6
6
|
# Context Awareness
|
|
7
7
|
|
|
8
|
+
> **Developer page.** This page is for developers wiring the app's context layer. For the end-user experience — how the agent uses that context in conversation — see [Using Your Agent](/docs/using-your-agent).
|
|
9
|
+
|
|
8
10
|
How the agent knows what the user is looking at -- and how the agent can control what the user sees.
|
|
9
11
|
|
|
10
12
|
## Overview {#overview}
|
|
11
13
|
|
|
12
14
|
Without context awareness, the agent is blind. It asks "which email?" when the user is staring at one. It cannot act on the current selection, cannot provide relevant suggestions, and cannot modify what the user sees. With context awareness, the user can click a row, highlight a paragraph, select a slide element, or press Cmd+I, then say "summarize this" and the agent already knows what "this" means.
|
|
13
15
|
|
|
16
|
+
Six patterns solve this. To understand what to put in which surface (AGENTS.md vs. skills vs. application_state), see [Writing Agent Instructions — The four surfaces the agent sees](/docs/writing-agent-instructions#four-surfaces).
|
|
17
|
+
|
|
14
18
|
Six patterns solve this:
|
|
15
19
|
|
|
16
20
|
1. **Navigation state** -- the UI writes a `navigation` key to application-state on every route change
|