@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
|
@@ -43,6 +43,14 @@ When you open the app, click **+ New page** in the sidebar, give it a title, and
|
|
|
43
43
|
|
|
44
44
|
Select text and hit Cmd+I to focus the agent with that selection pre-loaded — "make this punchier" then operates on exactly what you highlighted.
|
|
45
45
|
|
|
46
|
+
## Why it's interesting
|
|
47
|
+
|
|
48
|
+
Three things make Content a good showcase of the framework:
|
|
49
|
+
|
|
50
|
+
1. **Agent and editor share one Yjs document.** The same CRDT that prevents conflicts between two simultaneous human typists is what the agent writes through via `edit-document`. There is no separate AI path — the diff appears live in every open browser tab.
|
|
51
|
+
2. **Notion sync as a two-way bridge.** Rather than replacing Notion, the template treats it as a peer: pull, push, bidirectional comment sync, conflict detection, and content-hash deduplication are all first-class. It demonstrates how agent-native apps can round-trip with external systems without losing their SQL-backed canonical form.
|
|
52
|
+
3. **Inline databases alongside prose.** The `content_databases` / `content_database_items` / `document_property_definitions` stack shows how structured tabular data can live inside an agent-native document without needing a separate app or a custom Airtable integration.
|
|
53
|
+
|
|
46
54
|
## For developers
|
|
47
55
|
|
|
48
56
|
The rest of this doc is for anyone forking the Content template or extending it.
|
|
@@ -80,7 +88,7 @@ Interactive surfaces include:
|
|
|
80
88
|
|
|
81
89
|
### Collaborative editing
|
|
82
90
|
|
|
83
|
-
Content is edited through Yjs CRDT so multiple users and the agent can type into the same document at once without clobbering each other. The agent's `edit-document` action writes through the same pipeline as a human keystroke, so changes appear live in every open editor. See
|
|
91
|
+
Content is edited through Yjs CRDT so multiple users and the agent can type into the same document at once without clobbering each other. The agent's `edit-document` action writes through the same pipeline as a human keystroke, so changes appear live in every open editor. See [Real-time collaboration](/docs/real-time-collaboration) for the sync model.
|
|
84
92
|
|
|
85
93
|
### Search
|
|
86
94
|
|
|
@@ -132,14 +140,26 @@ For small edits, the agent uses `edit-document --find ... --replace ...` so only
|
|
|
132
140
|
|
|
133
141
|
If you select text and press Cmd+I (or focus the agent panel), the selection travels with your next message as context, so "make this punchier" operates on exactly what you highlighted.
|
|
134
142
|
|
|
143
|
+
### Databases and properties
|
|
144
|
+
|
|
145
|
+
Documents can host inline databases — Notion-style tables where each row is itself a document. The agent can create databases, add items, configure column definitions, and set property values through actions: `create-content-database`, `add-database-item`, `set-document-property`. Property definitions (type, visibility, options, position) live in `document_property_definitions`; per-row values live in `document_property_values`.
|
|
146
|
+
|
|
147
|
+
### Additional actions
|
|
148
|
+
|
|
149
|
+
Beyond the CRUD surface in the data model, the template ships `export-document` for converting a page to Markdown or HTML, `transcribe-media` for attaching a transcript to a page, and `restore-document-version` for rolling back to an earlier snapshot.
|
|
150
|
+
|
|
135
151
|
### Data model
|
|
136
152
|
|
|
137
|
-
|
|
153
|
+
Nine tables, all defined in `server/db/schema.ts`:
|
|
138
154
|
|
|
139
155
|
- **`documents`** — the page tree. Columns: `id`, `parent_id`, `title`, `content` (markdown), `icon`, `position`, `is_favorite`, `visibility`, `owner_email`, `org_id`, `created_at`, `updated_at`.
|
|
140
|
-
- **`document_versions`** — full snapshots of title and content for version history.
|
|
156
|
+
- **`document_versions`** — full snapshots of title and content for version history. Roll back with `restore-document-version`.
|
|
141
157
|
- **`document_comments`** — threaded comments with `thread_id`, `parent_id`, `quoted_text`, `resolved`, and an optional `notion_comment_id` for bidirectional Notion sync.
|
|
142
|
-
- **`document_sync_links`** — one row per Notion-linked document tracking remote page ID, last sync times, conflict state, and errors.
|
|
158
|
+
- **`document_sync_links`** — one row per Notion-linked document tracking remote page ID, last sync times, conflict state, content hash, and errors.
|
|
159
|
+
- **`document_property_definitions`** — column definitions for inline databases: name, type, visibility, options, and position.
|
|
160
|
+
- **`content_databases`** — inline database objects attached to a `document_id` with a title and view config JSON.
|
|
161
|
+
- **`content_database_items`** — rows in an inline database, each linking a `database_id` to a `document_id`.
|
|
162
|
+
- **`document_property_values`** — per-document property values (`property_id` → `value_json`).
|
|
143
163
|
- **`document_shares`** — per-user and per-org grants created via `createSharesTable`.
|
|
144
164
|
|
|
145
165
|
Content is stored as markdown. The editor converts to and from the Tiptap JSON model in memory; the SQL row is always markdown so actions, search, and Notion sync can operate on a single canonical format.
|
|
@@ -11,7 +11,18 @@ Use it when you want a polished landing page concept, product UI direction, bran
|
|
|
11
11
|
|
|
12
12
|

|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## What you can do with it
|
|
15
|
+
|
|
16
|
+
- **Generate complete prototypes.** Describe the screen or page you need and the agent creates a working HTML document with Tailwind styling and Alpine interactions.
|
|
17
|
+
- **Compare variants.** Start with multiple directions, pick the strongest one, then continue refining.
|
|
18
|
+
- **Tweak visually.** Use the built-in tweak controls for common changes, or ask the agent for copy, layout, color, spacing, and interaction updates.
|
|
19
|
+
- **Apply design systems.** Save and reuse design-system preferences so generated work stays closer to your brand.
|
|
20
|
+
- **Import references.** Bring in existing HTML or reference material as context for a new design pass.
|
|
21
|
+
- **Export real files.** Export HTML, ZIP, or PDF from the generated prototype.
|
|
22
|
+
|
|
23
|
+
## Getting started
|
|
24
|
+
|
|
25
|
+
Live demo: [design.agent-native.com](https://design.agent-native.com).
|
|
15
26
|
|
|
16
27
|
1. **Describe the artifact.** Ask for the screen, flow, landing page, or visual
|
|
17
28
|
direction you want. Include audience, tone, and any product constraints.
|
|
@@ -22,7 +33,7 @@ Use it when you want a polished landing page concept, product UI direction, bran
|
|
|
22
33
|
4. **Export when it is useful.** Download HTML, ZIP, or PDF once the prototype
|
|
23
34
|
is ready to hand to another tool or teammate.
|
|
24
35
|
|
|
25
|
-
|
|
36
|
+
### Useful prompts
|
|
26
37
|
|
|
27
38
|
- "Create three landing-page directions for a technical analytics product."
|
|
28
39
|
- "Make this dashboard denser and easier to scan for an operations team."
|
|
@@ -30,22 +41,13 @@ Use it when you want a polished landing page concept, product UI direction, bran
|
|
|
30
41
|
- "Export this prototype as a ZIP once the final variant is selected."
|
|
31
42
|
- "Turn this HTML into a stronger pricing page without changing the brand colors."
|
|
32
43
|
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
- **Generate complete prototypes.** Describe the screen or page you need and the agent creates a working HTML document with Tailwind styling and Alpine interactions.
|
|
36
|
-
- **Compare variants.** Start with multiple directions, pick the strongest one, then continue refining.
|
|
37
|
-
- **Tweak visually.** Use the built-in tweak controls for common changes, or ask the agent for copy, layout, color, spacing, and interaction updates.
|
|
38
|
-
- **Apply design systems.** Save and reuse design-system preferences so generated work stays closer to your brand.
|
|
39
|
-
- **Import references.** Bring in existing HTML or reference material as context for a new design pass.
|
|
40
|
-
- **Export real files.** Export HTML, ZIP, or PDF from the generated prototype.
|
|
41
|
-
|
|
42
|
-
## Why It's Interesting
|
|
44
|
+
## Why it's interesting
|
|
43
45
|
|
|
44
46
|
Design is useful because the agent edits an artifact that is already close to shippable web UI. There is no separate "AI mockup" format to translate later: the preview, the editable source, and the exported artifact all come from the same HTML.
|
|
45
47
|
|
|
46
48
|
The template is also a good example of agent-native ownership. The app stores designs in SQL, exposes template operations as actions, and lets you fork the whole workflow when your team needs a different renderer, exporter, or design-system model.
|
|
47
49
|
|
|
48
|
-
## For
|
|
50
|
+
## For developers
|
|
49
51
|
|
|
50
52
|
The rest of this doc is for anyone forking the Design template or extending it.
|
|
51
53
|
|
|
@@ -55,7 +57,7 @@ The rest of this doc is for anyone forking the Design template or extending it.
|
|
|
55
57
|
npx @agent-native/core create my-design --standalone --template design
|
|
56
58
|
```
|
|
57
59
|
|
|
58
|
-
### Data
|
|
60
|
+
### Data model
|
|
59
61
|
|
|
60
62
|
All data lives in SQL via Drizzle ORM. Schema: `templates/design/server/db/schema.ts`. Designs and design systems carry the standard `ownableColumns` and a matching framework shares table, so they slot into the per-user / per-org sharing model.
|
|
61
63
|
|
|
@@ -71,7 +73,7 @@ A design project is a shell until it has content: `create-design` makes an empty
|
|
|
71
73
|
|
|
72
74
|
Routes in the UI live under `templates/design/app/routes/`: `_index.tsx` (list), `design.$id.tsx` (editor), `present.$id.tsx` (presentation), `design-systems.tsx` and `design-systems_.setup.tsx`, `templates.tsx`, `examples.tsx`, plus `settings.tsx` and `team.tsx`.
|
|
73
75
|
|
|
74
|
-
### Key
|
|
76
|
+
### Key actions
|
|
75
77
|
|
|
76
78
|
Every agent-callable operation is a TypeScript file in `templates/design/actions/`, auto-mounted at `POST /_agent-native/actions/:name` and runnable from the CLI as `pnpm action <name>`. The groupings:
|
|
77
79
|
|
|
@@ -82,7 +84,7 @@ Every agent-callable operation is a TypeScript file in `templates/design/actions
|
|
|
82
84
|
- **Export & handoff** — `export-html`, `export-pdf`, `export-svg`, `export-zip`, and `export-coding-handoff` to turn a design into a coding-tool handoff.
|
|
83
85
|
- **Context & navigation** — `view-screen` (current design, open file, view, pending question or variant grid), `get-design-snapshot` (current state for an external agent to continue from), and `navigate`.
|
|
84
86
|
|
|
85
|
-
### Customizing
|
|
87
|
+
### Customizing it
|
|
86
88
|
|
|
87
89
|
Design is a complete, cloneable template. Some practical extension ideas:
|
|
88
90
|
|
|
@@ -94,7 +96,7 @@ Design is a complete, cloneable template. Some practical extension ideas:
|
|
|
94
96
|
|
|
95
97
|
The agent edits routes, components, actions, and SQL-backed models as needed. See [Templates](/docs/cloneable-saas) for the full clone, customize, deploy flow, and [Getting Started](/docs/getting-started) if this is your first agent-native template.
|
|
96
98
|
|
|
97
|
-
## What's
|
|
99
|
+
## What's next
|
|
98
100
|
|
|
99
101
|
- [**Templates**](/docs/cloneable-saas) — the clone-and-own model
|
|
100
102
|
- [**Context Awareness**](/docs/context-awareness) — how the agent knows what the user is viewing
|
|
@@ -46,6 +46,8 @@ Use Dispatch when:
|
|
|
46
46
|
|
|
47
47
|
Skip it for a single-app scaffold — use the [Starter template](/docs/template-starter) or any of the domain templates directly.
|
|
48
48
|
|
|
49
|
+
Live demo: [dispatch.agent-native.com](https://dispatch.agent-native.com).
|
|
50
|
+
|
|
49
51
|
## What you'll do with it {#what-youll-do}
|
|
50
52
|
|
|
51
53
|
Day-to-day, Dispatch is the place admins and ops folks open to keep the workspace running:
|
|
@@ -30,6 +30,8 @@ When you open the app, you see your forms, the current editor, and a live previe
|
|
|
30
30
|
|
|
31
31
|
## Getting started
|
|
32
32
|
|
|
33
|
+
Live demo: [forms.agent-native.com](https://forms.agent-native.com).
|
|
34
|
+
|
|
33
35
|
1. **Create a form from a prompt.** Ask for the form you want, including the
|
|
34
36
|
audience and what should happen after submission.
|
|
35
37
|
2. **Refine in the editor.** Adjust labels, validation, choices, and order in
|
|
@@ -49,7 +51,11 @@ When you open the app, you see your forms, the current editor, and a live previe
|
|
|
49
51
|
|
|
50
52
|
## Why it's interesting
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
Three things make Forms a good showcase of the framework:
|
|
55
|
+
|
|
56
|
+
1. **Single SQL record, two editors.** The form's `fields` JSON column is the source of truth for both the visual builder and the agent. Ask the agent to add a field and the builder re-renders — no sync step, no separate "AI draft" state.
|
|
57
|
+
2. **Public and private surfaces from one schema.** The same form row serves authenticated editors (full field + settings access) and anonymous respondents (public fill page with secrets stripped). `toPublicFormSettings` handles the split at the action layer.
|
|
58
|
+
3. **Integrations as settings, not infrastructure.** Slack, Discord, Google Sheets, and webhook destinations are stored as JSON in the form's settings column and executed server-side at submission time — adding a new integration type is an action-layer change, not a schema migration.
|
|
53
59
|
|
|
54
60
|
See [What is agent-native?](/docs/what-is-agent-native) for the broader framework model.
|
|
55
61
|
|
|
@@ -81,6 +87,27 @@ All data lives in SQL via Drizzle ORM. Schema: `templates/forms/server/db/schema
|
|
|
81
87
|
|
|
82
88
|
The `fields` and `settings` JSON shapes are defined in `templates/forms/shared/types.ts` (`FormField`, `FormSettings`). Owner-private settings such as integration webhook URLs and allowed origins are stripped before any data reaches the public fill page via `toPublicFormSettings`.
|
|
83
89
|
|
|
90
|
+
### Key features (technical) {#key-features}
|
|
91
|
+
|
|
92
|
+
Forms are defined as JSON field arrays (`FormField[]`) and stored in a single `fields` column — no separate table per field type. This makes the schema additive and the agent's edits surgical: changing a field label is a JSON-patch on one column, not a row update across a join table. All field types (text, email, number, long text, select, multi-select, checkbox, radio, date, rating, scale) are handled by the renderer and editor without schema changes.
|
|
93
|
+
|
|
94
|
+
The public fill page is fully unauthenticated. `toPublicFormSettings` strips integration URLs and other owner-private settings before the form data reaches the browser, so secrets never leak to respondents.
|
|
95
|
+
|
|
96
|
+
Integrations (Slack, Discord, Google Sheets, webhooks) are stored as settings inside the form's `settings` JSON column and executed server-side at submission time.
|
|
97
|
+
|
|
98
|
+
### Key actions
|
|
99
|
+
|
|
100
|
+
Every operation is a TypeScript file in `templates/forms/actions/`, auto-mounted at `POST /_agent-native/actions/:name`:
|
|
101
|
+
|
|
102
|
+
- `create-form` — create a new form (title, description, fields, settings)
|
|
103
|
+
- `update-form` — update fields, settings, or status
|
|
104
|
+
- `get-form` — retrieve a form by id or slug
|
|
105
|
+
- `list-forms` — list accessible forms
|
|
106
|
+
- `delete-form` — soft-delete (sets `deleted_at`)
|
|
107
|
+
- `restore-form` — restore a soft-deleted form
|
|
108
|
+
- `list-responses` — list submissions for a form with optional filters
|
|
109
|
+
- `export-responses` — export responses as CSV or JSON
|
|
110
|
+
|
|
84
111
|
### Customizing it
|
|
85
112
|
|
|
86
113
|
Ask the agent for shipped behavior first:
|
|
@@ -82,6 +82,14 @@ If you select text and hit Cmd+I, that selection travels with your next message
|
|
|
82
82
|
| `G A` | Go to Archive |
|
|
83
83
|
| `Esc` | Close thread / clear search |
|
|
84
84
|
|
|
85
|
+
## Why it's interesting
|
|
86
|
+
|
|
87
|
+
Three things make Mail a good showcase of the framework:
|
|
88
|
+
|
|
89
|
+
1. **Gmail as a view, not a copy.** Email lives in Gmail; the app is a fast keyboard-first view on top. Actions like `list-emails` and `search-emails` query the Gmail API live rather than maintaining a local sync — demonstrating how agent-native apps can wrap external services without duplicating state.
|
|
90
|
+
2. **Shared compose state between the agent and the UI.** Each draft tab is an `application_state` entry at `compose-{id}`. The agent can create, edit, or close drafts via `manage-draft`; the UI reads the same entry and renders it live. No separate draft format, no polling — same row.
|
|
91
|
+
3. **Queued-draft review.** Teammates or Slack users can ask the agent to prepare an email on behalf of an org member. The draft sits in the `queued_email_drafts` SQL table until the owner reviews and explicitly sends — demonstrating how agent-native apps can keep humans in the loop for consequential, irreversible actions.
|
|
92
|
+
|
|
85
93
|
## For developers
|
|
86
94
|
|
|
87
95
|
The rest of this doc is for anyone forking the Mail template or extending it.
|
|
@@ -103,6 +111,15 @@ Or add Mail to an existing agent-native workspace:
|
|
|
103
111
|
npx @agent-native/core add-app
|
|
104
112
|
```
|
|
105
113
|
|
|
114
|
+
To connect Gmail in dev, you need a Google OAuth client:
|
|
115
|
+
|
|
116
|
+
1. Open [Google Cloud Console](https://console.cloud.google.com/) and create a project.
|
|
117
|
+
2. Enable the **Gmail API** under APIs & Services → Library.
|
|
118
|
+
3. Create OAuth 2.0 credentials (type: Web application). Add `http://localhost:8085/_agent-native/google/callback` as an authorized redirect URI.
|
|
119
|
+
4. Copy the Client ID and Client Secret into the Settings page of the running app, then click **Connect Google account**.
|
|
120
|
+
|
|
121
|
+
Tokens are stored in the `oauth_tokens` SQL table and refresh automatically. You can connect multiple Gmail accounts once the first is set up.
|
|
122
|
+
|
|
106
123
|
### Key features (technical)
|
|
107
124
|
|
|
108
125
|
**Gmail sync (multi-account).** Connect one or many Google accounts via OAuth. List and search actions query all connected inboxes by default; results carry an `accountEmail` field so you can tell which inbox each thread came from. Scope to a single account with `--account=user@example.com`. OAuth tokens are stored via `@agent-native/core/oauth-tokens` under the `"google"` provider.
|
|
@@ -236,7 +236,7 @@ available.
|
|
|
236
236
|
The rest of this doc is for anyone forking or self-hosting the Plans template.
|
|
237
237
|
Most users should install the skill with the CLI instead of scaffolding the app.
|
|
238
238
|
|
|
239
|
-
###
|
|
239
|
+
### Quick start
|
|
240
240
|
|
|
241
241
|
```bash
|
|
242
242
|
npx @agent-native/core create my-plans --standalone --template plan
|
|
@@ -250,21 +250,188 @@ The hosted app-backed skill uses:
|
|
|
250
250
|
- App: `https://plan.agent-native.com`
|
|
251
251
|
- MCP: `https://plan.agent-native.com/_agent-native/mcp`
|
|
252
252
|
|
|
253
|
-
The local template is useful when you are developing Plans itself, testing local
|
|
254
|
-
persistence, or running a fully self-hosted review surface.
|
|
253
|
+
The local template is useful when you are developing Plans itself, testing local persistence, or running a fully self-hosted review surface.
|
|
255
254
|
|
|
256
|
-
###
|
|
255
|
+
### Data model
|
|
257
256
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
257
|
+
Schema lives in `templates/plan/server/db/schema.ts`. Core tables:
|
|
258
|
+
|
|
259
|
+
| Table | What it holds |
|
|
260
|
+
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
261
|
+
| `plans` | Each plan or recap — `title`, `brief`, `kind` (plan/recap), `status`, `source`, `html`/`markdown`/`content`, `hosted_plan_id/url`, usage stats, `source_url` |
|
|
262
|
+
| `plan_sections` | Ordered sections within a plan — `type`, `title`, `body`, `html`, `sort_order`, `created_by` |
|
|
263
|
+
| `plan_comments` | Threaded comments — `kind`, `status`, `anchor`, `message`, `resolution_target`, `mentions_json`, `resolved_by` |
|
|
264
|
+
| `plan_events` | Audit log of agent/human events on a plan |
|
|
265
|
+
| `plan_versions` | Point-in-time snapshots for version history |
|
|
266
|
+
| `plan_shares` | Per-principal share grants (viewer / editor / admin) |
|
|
267
|
+
| `plan_guest_mints` | Rate-limit records for guest session issuance |
|
|
268
|
+
| `plan_assets` | Inline image assets stored as base64 (fallback when no upload provider) |
|
|
269
|
+
|
|
270
|
+
### Key actions
|
|
271
|
+
|
|
272
|
+
Actions in `templates/plan/actions/`:
|
|
273
|
+
|
|
274
|
+
- **Creation** — `create-visual-plan`, `create-visual-recap`, `create-ui-plan`, `create-prototype-plan`, `create-plan-design`, `create-visual-questions`
|
|
275
|
+
- **Reading & editing** — `get-visual-plan`, `update-visual-plan`, `list-visual-plans`, `import-visual-plan-source`, `patch-visual-plan-source`, `read-visual-plan-source`, `export-visual-plan`
|
|
276
|
+
- **Publishing & sharing** — `publish-visual-plan`
|
|
277
|
+
- **Versions** — `list-plan-versions`, `get-plan-version`, `restore-plan-version`
|
|
278
|
+
- **Comments & feedback** — `get-plan-feedback`, `reply-to-plan-comment`, `resolve-plan-comment`, `consume-plan-feedback`
|
|
279
|
+
- **Prototype** — `convert-visual-plan-to-prototype`, `create-prototype-plan`
|
|
280
|
+
- **Context & navigation** — `view-screen`, `navigate`
|
|
281
|
+
|
|
282
|
+
### Route map
|
|
283
|
+
|
|
284
|
+
- `app/routes/plans.$id.tsx` — plan editor / review surface
|
|
285
|
+
- `app/routes/plans._index.tsx` — plan list
|
|
286
|
+
- `app/routes/share.$token.tsx` — public / shared plan view
|
|
287
|
+
- `app/routes/local-plans.$slug.tsx` — local-files mode preview
|
|
288
|
+
|
|
289
|
+
### Local mode (advanced, offline) {#local-mode}
|
|
290
|
+
|
|
291
|
+
For fully offline, no-account use, you can run the Plans app locally and point it at local MDX folders. For the stricter no-DB path, use [local-files privacy mode](#local-files), which reads from MDX folders instead of creating local SQL rows. Local mode is a separate, advanced path — not the default hosted flow.
|
|
292
|
+
|
|
293
|
+
## Events and notifications {#events}
|
|
294
|
+
|
|
295
|
+
The Plan template emits four events on the framework event bus. Any automation
|
|
296
|
+
can subscribe to them — no custom integration code needed.
|
|
297
|
+
|
|
298
|
+
### Event reference {#event-reference}
|
|
299
|
+
|
|
300
|
+
#### `plan.created`
|
|
301
|
+
|
|
302
|
+
Fires when a new visual plan or recap is created.
|
|
303
|
+
|
|
304
|
+
| Field | Type | Description |
|
|
305
|
+
| ----------- | --------------------- | ---------------------------------------- |
|
|
306
|
+
| `planId` | string | Unique plan identifier |
|
|
307
|
+
| `title` | string | Plan title |
|
|
308
|
+
| `kind` | `"plan"` \| `"recap"` | Whether this is a plan or a recap |
|
|
309
|
+
| `status` | string | Initial status (e.g. `"review"`) |
|
|
310
|
+
| `path` | string | App-relative path (e.g. `/plans/plan-…`) |
|
|
311
|
+
| `createdBy` | string | Always `"agent"` for plan creation |
|
|
312
|
+
|
|
313
|
+
#### `plan.commented`
|
|
314
|
+
|
|
315
|
+
Fires when one or more comments are added to a plan.
|
|
316
|
+
|
|
317
|
+
| Field | Type | Description |
|
|
318
|
+
| ------------------ | -------------------------------- | ----------------------------------------------------------- |
|
|
319
|
+
| `planId` | string | Plan identifier |
|
|
320
|
+
| `title` | string | Plan title |
|
|
321
|
+
| `kind` | `"plan"` \| `"recap"` | Plan or recap |
|
|
322
|
+
| `commentIds` | string[] | IDs of the new comments |
|
|
323
|
+
| `commentCount` | number | Number of new comments in this batch |
|
|
324
|
+
| `resolutionTarget` | `"agent"` \| `"human"` \| `null` | Dominant target — `"agent"` if any comment targets an agent |
|
|
325
|
+
| `excerpt` | string | First 200 characters of the first comment |
|
|
326
|
+
| `author` | string \| null | Email of the commenter, if known |
|
|
327
|
+
| `path` | string | App-relative path |
|
|
328
|
+
|
|
329
|
+
#### `plan.published`
|
|
330
|
+
|
|
331
|
+
Fires when a local plan is published (or re-published) to a hosted shareable URL.
|
|
332
|
+
|
|
333
|
+
| Field | Type | Description |
|
|
334
|
+
| --------------------- | --------------------- | ---------------------------------- |
|
|
335
|
+
| `planId` | string | Local plan identifier |
|
|
336
|
+
| `title` | string | Plan title |
|
|
337
|
+
| `kind` | `"plan"` \| `"recap"` | Plan or recap |
|
|
338
|
+
| `hostedPlanId` | string | Hosted plan identifier |
|
|
339
|
+
| `url` | string | Full public URL of the hosted plan |
|
|
340
|
+
| `requestedVisibility` | string | `"public"`, `"private"`, etc. |
|
|
341
|
+
|
|
342
|
+
#### `plan.status.changed`
|
|
343
|
+
|
|
344
|
+
Fires when a plan's status changes (e.g. `review` → `approved`).
|
|
345
|
+
|
|
346
|
+
| Field | Type | Description |
|
|
347
|
+
| ----------- | --------------------- | ---------------------------------- |
|
|
348
|
+
| `planId` | string | Plan identifier |
|
|
349
|
+
| `title` | string | Plan title |
|
|
350
|
+
| `kind` | `"plan"` \| `"recap"` | Plan or recap |
|
|
351
|
+
| `oldStatus` | string \| null | Previous status |
|
|
352
|
+
| `newStatus` | string | New status |
|
|
353
|
+
| `changedBy` | string \| null | Email of the person who changed it |
|
|
354
|
+
| `path` | string | App-relative path |
|
|
355
|
+
|
|
356
|
+
### Automation recipes {#automation-recipes}
|
|
357
|
+
|
|
358
|
+
These automations are created by asking the plan agent — no code changes needed.
|
|
359
|
+
The agent calls `manage-automations` with `action=define`, writes a
|
|
360
|
+
`jobs/<name>.md` resource, and the event subscription starts immediately.
|
|
361
|
+
|
|
362
|
+
#### Notify via webhook when someone comments on a plan
|
|
363
|
+
|
|
364
|
+
Ask the plan agent:
|
|
365
|
+
|
|
366
|
+
> "When someone adds a human comment on a plan, POST a message to my webhook."
|
|
367
|
+
|
|
368
|
+
The agent creates an automation like this:
|
|
369
|
+
|
|
370
|
+
```yaml
|
|
371
|
+
---
|
|
372
|
+
triggerType: event
|
|
373
|
+
event: plan.commented
|
|
374
|
+
condition: "resolutionTarget is human or resolutionTarget is null"
|
|
375
|
+
mode: agentic
|
|
376
|
+
domain: plan
|
|
377
|
+
enabled: true
|
|
378
|
+
---
|
|
379
|
+
Send a POST request to ${keys.NOTIFY_WEBHOOK} with a JSON body containing:
|
|
380
|
+
- "title": the plan title from the event payload
|
|
381
|
+
- "excerpt": the comment excerpt from the event payload
|
|
382
|
+
- "url": the base app URL concatenated with the path field from the event payload
|
|
383
|
+
- "author": the author field from the event payload (may be null)
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Before the automation can fire you need to add the webhook URL as an ad-hoc key:
|
|
387
|
+
|
|
388
|
+
1. Go to **Settings → Keys** and add a key named `NOTIFY_WEBHOOK` with your
|
|
389
|
+
webhook URL (e.g. a Slack incoming webhook, a generic HTTP endpoint, or any
|
|
390
|
+
notification service URL).
|
|
391
|
+
2. Optionally set a URL allowlist on the key to restrict which origins it can
|
|
392
|
+
POST to.
|
|
393
|
+
|
|
394
|
+
The `web-request` tool resolves `${keys.NOTIFY_WEBHOOK}` server-side before
|
|
395
|
+
sending — the raw URL never appears in the agent's context.
|
|
396
|
+
|
|
397
|
+
**To target Slack specifically:** set `NOTIFY_WEBHOOK` to your Slack incoming
|
|
398
|
+
webhook URL
|
|
399
|
+
(`https://hooks.slack.com/services/…`). The automation body above already
|
|
400
|
+
produces a payload Slack's incoming webhook accepts via the `text` or `blocks`
|
|
401
|
+
fields — ask the agent to format the body as a Slack message if you want richer
|
|
402
|
+
formatting.
|
|
403
|
+
|
|
404
|
+
#### Wake the coding agent when feedback targets it
|
|
405
|
+
|
|
406
|
+
For feedback directed at the coding agent (`resolutionTarget === "agent"`), ask:
|
|
407
|
+
|
|
408
|
+
> "When a plan comment targets the agent, run my coding agent with the plan
|
|
409
|
+
> excerpt as context."
|
|
410
|
+
|
|
411
|
+
```yaml
|
|
412
|
+
---
|
|
413
|
+
triggerType: event
|
|
414
|
+
event: plan.commented
|
|
415
|
+
condition: "resolutionTarget is agent"
|
|
416
|
+
mode: agentic
|
|
417
|
+
domain: plan
|
|
418
|
+
enabled: true
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
Use the manage-notifications action or web-request tool to alert the coding agent
|
|
422
|
+
that new agent-targeted feedback has arrived on plan ${planId}: "${excerpt}".
|
|
423
|
+
Include the plan path so the agent can navigate directly to it.
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Because the automation runs a full agent loop (`mode: agentic`), it can call
|
|
427
|
+
`web-request`, send notifications, or invoke any action the agent has access to.
|
|
428
|
+
The exact delivery mechanism depends on what notification channels you have
|
|
429
|
+
configured — the agent picks the best available one.
|
|
264
430
|
|
|
265
431
|
## What's next
|
|
266
432
|
|
|
267
433
|
- [**PR Visual Recap**](/docs/pr-visual-recap) — run `/visual-recap` automatically on every pull request
|
|
434
|
+
- [**Automations**](/docs/automations) — event-triggered and scheduled automations
|
|
268
435
|
- [**Plan plugin & marketplace**](/docs/plan-plugin) — install the Plan skills as a Claude Code or Codex plugin
|
|
269
436
|
- [**Skills**](/docs/skills-guide) — how Agent-Native installs skills
|
|
270
437
|
- [**MCP Clients**](/docs/mcp-clients) — configuring hosted MCP connectors
|
|
@@ -28,6 +28,9 @@ When you open a deck, you get a slide editor in the middle, a sidebar of slides
|
|
|
28
28
|
- **Present full-screen** with keyboard navigation, auto-hiding controls, and speaker notes.
|
|
29
29
|
- **Comment, collaborate, and share.** Multiple people can edit the same deck in real time. Generate a public read-only URL or share with specific teammates.
|
|
30
30
|
- **Import from PDF.** Turn a PDF into a starter deck — the agent parses it and lays out the content.
|
|
31
|
+
- **Import from other formats.** Import PPTX, DOCX, Google Docs, GitHub repos, or any URL as a starting point. Export to PPTX, Google Slides, or HTML.
|
|
32
|
+
- **Apply design systems.** Brand tokens, custom instructions, and default palettes are saved as design systems and applied to new decks.
|
|
33
|
+
- **Restore earlier versions.** Each deck change is snapshotted; list or restore any prior version.
|
|
31
34
|
|
|
32
35
|
## Getting started
|
|
33
36
|
|
|
@@ -51,6 +54,14 @@ When you open the app:
|
|
|
51
54
|
|
|
52
55
|
Select text on a slide and hit Cmd+I to focus the agent with that selection — it'll act only on what you selected.
|
|
53
56
|
|
|
57
|
+
## Why it's interesting
|
|
58
|
+
|
|
59
|
+
Three things make Slides a good showcase of the framework:
|
|
60
|
+
|
|
61
|
+
1. **Streamed, parallel generation.** The agent fires parallel `add-slide` calls so you see the deck assemble in real time — one slide at a time — rather than waiting for a full batch. That pattern works for any content type that benefits from progressive rendering.
|
|
62
|
+
2. **Agent and editor share one document.** The same Yjs CRDT that lets two humans type concurrently is what the agent writes through via `update-slide --find/--replace`. There is no separate "AI-only" edit path.
|
|
63
|
+
3. **Multi-modal source ingestion.** PPTX, DOCX, Google Docs, PDFs, URLs, and GitHub repos all feed through the same `import-*` action surface. Adding a new source format is a single action file; the agent picks it up immediately.
|
|
64
|
+
|
|
54
65
|
## For developers
|
|
55
66
|
|
|
56
67
|
The rest of this doc is for anyone forking the Slides template or extending it.
|
|
@@ -68,7 +79,19 @@ pnpm dev
|
|
|
68
79
|
|
|
69
80
|
### Key features (technical) {#key-features}
|
|
70
81
|
|
|
71
|
-
|
|
82
|
+
#### Import and export
|
|
83
|
+
|
|
84
|
+
The template can pull content in from PPTX (`import-pptx`), DOCX (`import-docx`), Google Docs (`import-google-doc`), arbitrary URLs (`import-from-url`), and GitHub repos (`import-github`). Export paths cover PPTX (`export-pptx`), Google Slides (`export-google-slides`), and HTML (`export-html`). Importing uses the same action surface as the rest of the template — no separate pipeline.
|
|
85
|
+
|
|
86
|
+
#### Design systems
|
|
87
|
+
|
|
88
|
+
Reusable brand tokens are stored in the `design_systems` table (colors, typography, spacing, assets, custom instructions, and an `is_default` flag). Sharing is managed via `design_system_shares`. Actions: `create-design-system`, `update-design-system`, `get-design-system`, `list-design-systems`, `set-default-design-system`, `apply-design-system`, and `analyze-brand-assets` (collects brand data before analysis). See the `design-systems` and `image-generation-via-a2a` skills for the full pattern.
|
|
89
|
+
|
|
90
|
+
#### Deck versions
|
|
91
|
+
|
|
92
|
+
Every significant deck change is snapshotted in the `deck_versions` table (stores a full copy of title and deck data with an optional `changeLabel`). Actions: `list-deck-versions`, `restore-deck-version`, `get-deck-version`.
|
|
93
|
+
|
|
94
|
+
#### Prompt-to-deck generation
|
|
72
95
|
|
|
73
96
|
Ask the agent for a deck and it builds one slide at a time. Slides stream into the editor live as each one is generated — the agent fires parallel `add-slide` calls so you see the deck assemble in seconds.
|
|
74
97
|
|
|
@@ -150,7 +173,7 @@ The agent can embed a live slide preview directly in a chat reply using the fram
|
|
|
150
173
|
|
|
151
174
|
All deck data lives in SQL via Drizzle ORM. Schema: `templates/slides/server/db/schema.ts`.
|
|
152
175
|
|
|
153
|
-
|
|
176
|
+
#### decks
|
|
154
177
|
|
|
155
178
|
| Column | Type | Notes |
|
|
156
179
|
| ------------ | ---- | --------------------------------------------------------- |
|
|
@@ -162,7 +185,7 @@ All deck data lives in SQL via Drizzle ORM. Schema: `templates/slides/server/db/
|
|
|
162
185
|
|
|
163
186
|
Each deck also carries the standard `ownableColumns` (owner, visibility, share token) so it slots into the framework's sharing model.
|
|
164
187
|
|
|
165
|
-
|
|
188
|
+
#### slide_comments
|
|
166
189
|
|
|
167
190
|
| Column | Notes |
|
|
168
191
|
| ----------------------------- | -------------------------------------- |
|
|
@@ -174,11 +197,27 @@ Each deck also carries the standard `ownableColumns` (owner, visibility, share t
|
|
|
174
197
|
| `author_email`, `author_name` | Author |
|
|
175
198
|
| `resolved` | Boolean flag |
|
|
176
199
|
|
|
177
|
-
|
|
200
|
+
#### deck_shares
|
|
178
201
|
|
|
179
202
|
Framework-provided shares table (created via `createSharesTable`) that maps principals (users or orgs) to roles (viewer, editor, admin) per deck.
|
|
180
203
|
|
|
181
|
-
|
|
204
|
+
#### deck_versions
|
|
205
|
+
|
|
206
|
+
Point-in-time snapshots of a deck — `deck_id`, `title`, `data` (full deck JSON), and an optional `change_label`. Used by `list-deck-versions` / `restore-deck-version`.
|
|
207
|
+
|
|
208
|
+
#### design_systems
|
|
209
|
+
|
|
210
|
+
Reusable brand tokens — `data` (colors/typography/spacing), `assets`, `custom_instructions`, and an `is_default` flag. Uses `ownableColumns` so design systems can be shared per-user or per-org.
|
|
211
|
+
|
|
212
|
+
#### design_system_shares
|
|
213
|
+
|
|
214
|
+
Framework shares table for design systems, mapping principals to roles (viewer, editor, admin).
|
|
215
|
+
|
|
216
|
+
#### deck_share_links
|
|
217
|
+
|
|
218
|
+
Persisted public share-link snapshots keyed by `token`. Each row stores a `title`, a JSON `slides` array snapshot, an optional `aspect_ratio`, and `created_at`. Persisting share links here means they survive server restarts and work across serverless instances.
|
|
219
|
+
|
|
220
|
+
#### Slide structure
|
|
182
221
|
|
|
183
222
|
Each slide inside `decks.data` is:
|
|
184
223
|
|
|
@@ -192,11 +231,11 @@ Each slide inside `decks.data` is:
|
|
|
192
231
|
|
|
193
232
|
`content` is raw HTML — the renderer (`app/components/deck/SlideRenderer.tsx`) provides the black background and fixed aspect ratio, and the HTML provides everything inside. Rich embedding is supported too: Excalidraw diagrams via `ExcalidrawSlide.tsx` and Mermaid charts via `MermaidRenderer.tsx`.
|
|
194
233
|
|
|
195
|
-
### Customizing it
|
|
234
|
+
### Customizing it {#customizing}
|
|
196
235
|
|
|
197
236
|
The Slides template is fully forkable. Key places to look when extending it:
|
|
198
237
|
|
|
199
|
-
|
|
238
|
+
#### Actions — `templates/slides/actions/`
|
|
200
239
|
|
|
201
240
|
Every agent-callable operation lives here as a TypeScript file. A few you'll touch often:
|
|
202
241
|
|
|
@@ -209,7 +248,7 @@ Every agent-callable operation lives here as a TypeScript file. A few you'll tou
|
|
|
209
248
|
|
|
210
249
|
Every action is auto-mounted at `POST /_agent-native/actions/:name` and callable from the CLI as `pnpm action <name>`. Add a new file here to give the agent a new capability.
|
|
211
250
|
|
|
212
|
-
|
|
251
|
+
#### Routes — `templates/slides/app/routes/`
|
|
213
252
|
|
|
214
253
|
- `_index.tsx` — deck list.
|
|
215
254
|
- `deck.$id.tsx` — the editor.
|
|
@@ -219,11 +258,11 @@ Every action is auto-mounted at `POST /_agent-native/actions/:name` and callable
|
|
|
219
258
|
- `settings.tsx` — template settings.
|
|
220
259
|
- `team.tsx` — org and team management.
|
|
221
260
|
|
|
222
|
-
|
|
261
|
+
#### Editor components — `templates/slides/app/components/editor/`
|
|
223
262
|
|
|
224
263
|
Most UI customization happens here: `SlideEditor.tsx`, `EditorToolbar.tsx`, `EditorSidebar.tsx`, bubble menus, slash menu, and the panels for image generation, search, and history.
|
|
225
264
|
|
|
226
|
-
|
|
265
|
+
#### Skills — `templates/slides/.agents/skills/`
|
|
227
266
|
|
|
228
267
|
Agent skills that explain patterns when the agent needs to modify code:
|
|
229
268
|
|
|
@@ -232,10 +271,10 @@ Agent skills that explain patterns when the agent needs to modify code:
|
|
|
232
271
|
- `deck-management/` — how decks are stored and accessed.
|
|
233
272
|
- `slide-images/` — image generation and search workflow.
|
|
234
273
|
|
|
235
|
-
|
|
274
|
+
#### AGENTS.md
|
|
236
275
|
|
|
237
276
|
`templates/slides/AGENTS.md` is the short router the agent reads on every conversation. It points at the skills under `.agents/skills/` and lays out the core rules, application-state contract, and skill index. The exact slide HTML templates for every layout live in `.agents/skills/create-deck/SKILL.md` — update that skill whenever you add or change a slide layout pattern.
|
|
238
277
|
|
|
239
|
-
|
|
278
|
+
#### API routes
|
|
240
279
|
|
|
241
280
|
For cases where actions aren't the right fit (file uploads, streaming), the template exposes a small set of REST endpoints: `GET/POST /api/decks`, `GET/PUT/DELETE /api/decks/:id`. See `templates/slides/server/routes/api/`.
|
|
@@ -52,6 +52,14 @@ When you open the studio:
|
|
|
52
52
|
|
|
53
53
|
If you select a track in the timeline and hit Cmd+I, the agent picks up that selection — "make this one snappier" just works.
|
|
54
54
|
|
|
55
|
+
## Why it's interesting
|
|
56
|
+
|
|
57
|
+
Three things make the Video template a good showcase of the framework:
|
|
58
|
+
|
|
59
|
+
1. **Code as the authoring format.** Each composition is a React component, so the agent can write entirely new animation types — not just adjust parameters. The template demonstrates that an agent-native app can treat source code as a first-class editable artifact rather than a fixed runtime.
|
|
60
|
+
2. **Track-based animation as structured data.** Animations are `AnimationTrack` rows (start, end, easing, animated props) rather than hardcoded frame checks. This makes AI edits ("shift this track 10 frames later") reliable and composable without touching render logic.
|
|
61
|
+
3. **SQL + localStorage fusion.** User-created compositions persist in SQL; per-session tweaks (easing experiments, parameter knobs) persist in localStorage and deep-merge on load. This two-layer approach shows how to keep the agent's durable state separate from ephemeral in-session exploration.
|
|
62
|
+
|
|
55
63
|
## For developers
|
|
56
64
|
|
|
57
65
|
The rest of this doc is for anyone forking the Video template or extending it. This template is more code-forward than the others — every composition is a React component and every animation is data on a track.
|
|
@@ -137,6 +145,15 @@ Server-side schema is in `templates/videos/server/db/schema.ts`:
|
|
|
137
145
|
|
|
138
146
|
- `compositions` — id, title, type, `data` (full composition JSON blob), ownership columns, timestamps.
|
|
139
147
|
- `composition_shares` — standard share grants produced by `createSharesTable()`.
|
|
148
|
+
- `design_systems` — reusable brand tokens (colors, typography, spacing, assets, custom instructions, `is_default` flag) with `ownableColumns`.
|
|
149
|
+
- `design_system_shares` — share grants for design systems.
|
|
150
|
+
- `folders` — nestable folders for library organization, with `ownableColumns`.
|
|
151
|
+
- `folder_shares` — share grants for folders.
|
|
152
|
+
- `folder_memberships` — many-to-many join between a `folder_id` and a `composition_id`.
|
|
153
|
+
|
|
154
|
+
### Folders and design systems
|
|
155
|
+
|
|
156
|
+
Compositions can be organized into folders and styled with design systems. Actions: `create-folder`, `rename-folder`, `delete-folder`, `move-composition-to-folder`. Design system actions: `create-design-system`, `update-design-system`, `get-design-system`, `list-design-systems`, `set-default-design-system`, `apply-design-system`, `analyze-brand-assets`. Import actions: `import-github`, `import-from-url`, `import-document` (DOCX/PPTX/PDF).
|
|
140
157
|
|
|
141
158
|
The registry in `app/remotion/registry.ts` is the in-code source of truth for what ships with the template. The SQL table stores user-created compositions and overrides. Studio state (per-composition track edits, prop overrides, composition settings) is mirrored to `localStorage` under `videos-tracks:<id>`, `videos-props:<id>`, and `videos-comp-settings:<id>`, and deep-merged back onto the registry defaults on load.
|
|
142
159
|
|