@agent-native/core 0.46.0 → 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 +47 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +267 -46
- 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 +331 -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/coding-tools/run-code.d.ts +40 -0
- package/dist/coding-tools/run-code.d.ts.map +1 -0
- package/dist/coding-tools/run-code.js +511 -0
- package/dist/coding-tools/run-code.js.map +1 -0
- 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/fetch-tool.d.ts.map +1 -1
- package/dist/extensions/fetch-tool.js +62 -7
- package/dist/extensions/fetch-tool.js.map +1 -1
- package/dist/extensions/schema.d.ts +51 -51
- package/dist/extensions/slots/schema.d.ts +13 -13
- package/dist/extensions/web-search-tool.d.ts +41 -0
- package/dist/extensions/web-search-tool.d.ts.map +1 -0
- package/dist/extensions/web-search-tool.js +200 -0
- package/dist/extensions/web-search-tool.js.map +1 -0
- 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 +92 -0
- package/dist/provider-api/custom-registry.d.ts.map +1 -0
- package/dist/provider-api/custom-registry.js +289 -0
- package/dist/provider-api/custom-registry.js.map +1 -0
- package/dist/provider-api/index.d.ts +88 -52
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +569 -23
- 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/register-framework-secrets.d.ts.map +1 -1
- package/dist/secrets/register-framework-secrets.js +36 -3
- package/dist/secrets/register-framework-secrets.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 +69 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +369 -179
- 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/index.d.ts +4 -0
- package/dist/workspace-files/index.d.ts.map +1 -0
- package/dist/workspace-files/index.js +4 -0
- package/dist/workspace-files/index.js.map +1 -0
- package/dist/workspace-files/schema.d.ts +195 -0
- package/dist/workspace-files/schema.d.ts.map +1 -0
- package/dist/workspace-files/schema.js +48 -0
- package/dist/workspace-files/schema.js.map +1 -0
- package/dist/workspace-files/store.d.ts +89 -0
- package/dist/workspace-files/store.d.ts.map +1 -0
- package/dist/workspace-files/store.js +298 -0
- package/dist/workspace-files/store.js.map +1 -0
- package/dist/workspace-files/tool.d.ts +15 -0
- package/dist/workspace-files/tool.d.ts.map +1 -0
- package/dist/workspace-files/tool.js +225 -0
- package/dist/workspace-files/tool.js.map +1 -0
- 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 +26 -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
|
@@ -7,6 +7,8 @@ description: "Cron-scheduled prompts the agent runs on its own — daily digests
|
|
|
7
7
|
|
|
8
8
|
A **recurring job** is a prompt that runs on a cron schedule. It's how the agent does things on its own: "every morning at 7 summarize my overnight emails," "every Monday post last week's signup numbers to Slack," "every hour sweep for stale drafts and delete them."
|
|
9
9
|
|
|
10
|
+
Recurring jobs fire on a clock. To react to _events_ (a booking created, an email received) — same `jobs/` file format plus conditions — see [Automations](/docs/automations).
|
|
11
|
+
|
|
10
12
|
Jobs live in the [workspace](/docs/workspace) at `jobs/<name>.md` — just a Markdown file with YAML frontmatter. No registration, no wiring. Drop the file in and the framework picks it up.
|
|
11
13
|
|
|
12
14
|
## A job file {#job-file}
|
|
@@ -99,7 +101,7 @@ The scheduler is a framework plugin (the internal `processRecurringJobs()` routi
|
|
|
99
101
|
4. The agent runs its loop — calling actions, writing to SQL, sending A2A messages, emailing, whatever the prompt asks for.
|
|
100
102
|
5. On completion, writes `lastRun`, `lastStatus`, `lastError`, and recomputes `nextRun` from the cron.
|
|
101
103
|
|
|
102
|
-
|
|
104
|
+
The scheduler runs in-process: a `setInterval` fires every 60 seconds (with a 10-second startup delay) inside the agent chat plugin, wherever the server is running. On scale-to-zero serverless hosts, jobs only fire while an instance is warm — if reliable scheduling matters, keep an instance warm with keep-alive pings or use an always-on host (Fly, Render, a VPS).
|
|
103
105
|
|
|
104
106
|
## Debugging a job {#debugging}
|
|
105
107
|
|
|
@@ -107,6 +109,19 @@ If the runtime is serverless/edge, trigger the tick from an external cron (Cloud
|
|
|
107
109
|
- **Test it without waiting:** there's no force-fire tool. To exercise the same work on demand, either paste the job's prompt into the agent chat and let it run there, or temporarily set the schedule to the next minute so the scheduler picks it up on the next tick (then restore the real cron).
|
|
108
110
|
- **Pause it:** flip `enabled: false`. The file stays put, just stops running.
|
|
109
111
|
|
|
112
|
+
## Agent tool {#agent-tool}
|
|
113
|
+
|
|
114
|
+
A single `manage-jobs` tool is registered in every template. The `action` parameter selects the operation:
|
|
115
|
+
|
|
116
|
+
| Action | Parameters | Purpose |
|
|
117
|
+
| -------- | ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
118
|
+
| `create` | `name`, `schedule`, `instructions` (required); `scope`, `runAs` | Create a new recurring job |
|
|
119
|
+
| `list` | `scope` (`personal`, `shared`, or all) | List all jobs with status (schedule, enabled, last/next run) |
|
|
120
|
+
| `update` | `name` (required); `schedule`, `instructions`, `enabled`, `runAs` | Edit an existing job |
|
|
121
|
+
| `delete` | `name` (required) | Delete a job — always confirm with the user first |
|
|
122
|
+
|
|
123
|
+
**Personal vs shared scope.** Each job lives in either personal scope (runs as and is visible only to the creator) or shared/org scope (runs on behalf of the creator but is visible to org members). The `scope` and `runAs` parameters control this at create time. Org admins can update or delete any shared job; non-admin members can only manage their own.
|
|
124
|
+
|
|
110
125
|
## Different from the scheduling package {#vs-scheduling-package}
|
|
111
126
|
|
|
112
127
|
Don't confuse recurring jobs with `@agent-native/scheduling`:
|
|
@@ -118,6 +133,7 @@ Recurring jobs are "how do I make the agent act on its own?" The scheduling pack
|
|
|
118
133
|
|
|
119
134
|
## What's next
|
|
120
135
|
|
|
136
|
+
- [**Automations**](/docs/automations) — add event triggers and conditions to the same `jobs/` format
|
|
121
137
|
- [**Workspace**](/docs/workspace) — where jobs live alongside skills, memory, and custom agents
|
|
122
138
|
- [**Actions**](/docs/actions) — the tools a job calls
|
|
123
139
|
- [**Agent Teams**](/docs/agent-teams) — jobs often spawn sub-agents to do parallel work
|
package/docs/content/security.md
CHANGED
|
@@ -96,16 +96,30 @@ The signed-in session carries `email` and (when an org is active) `orgId`. The f
|
|
|
96
96
|
|
|
97
97
|
### Per-User Scoping (`owner_email`)
|
|
98
98
|
|
|
99
|
-
Every table with user-specific data **must** have an `owner_email` text column
|
|
99
|
+
Every table with user-specific data **must** have an `owner_email` text column. Use the camelCase Drizzle property name — `accessFilter` reads `resourceTable.ownerEmail`:
|
|
100
100
|
|
|
101
101
|
```typescript
|
|
102
|
-
import {
|
|
102
|
+
import {
|
|
103
|
+
table,
|
|
104
|
+
text,
|
|
105
|
+
integer,
|
|
106
|
+
ownableColumns,
|
|
107
|
+
} from "@agent-native/core/db/schema";
|
|
108
|
+
|
|
109
|
+
// Minimal: just the owner column
|
|
110
|
+
export const notes = table("notes", {
|
|
111
|
+
id: text("id").primaryKey(),
|
|
112
|
+
title: text("title").notNull(),
|
|
113
|
+
content: text("content"),
|
|
114
|
+
ownerEmail: text("owner_email").notNull(), // REQUIRED — camelCase property
|
|
115
|
+
});
|
|
103
116
|
|
|
117
|
+
// Or use ownableColumns() to add owner_email + org_id + visibility in one call
|
|
104
118
|
export const notes = table("notes", {
|
|
105
119
|
id: text("id").primaryKey(),
|
|
106
120
|
title: text("title").notNull(),
|
|
107
121
|
content: text("content"),
|
|
108
|
-
|
|
122
|
+
...ownableColumns(),
|
|
109
123
|
});
|
|
110
124
|
```
|
|
111
125
|
|
package/docs/content/server.md
CHANGED
|
@@ -56,12 +56,48 @@ If the UI and agent both need to do something, define an action instead of a cus
|
|
|
56
56
|
|
|
57
57
|
Use custom `/api/*` routes only when you need a route-shaped protocol or binary/streaming behavior. See [Actions](/docs/actions).
|
|
58
58
|
|
|
59
|
+
## One-Shot Text Completion {#complete-text}
|
|
60
|
+
|
|
61
|
+
Most AI work should go through the agent chat so users can see, steer, and audit
|
|
62
|
+
what happened. For narrow server-side transforms that intentionally do not need
|
|
63
|
+
tools, chat history, or run state, use `completeText()` as an explicit escape
|
|
64
|
+
hatch.
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
// actions/classify-message.ts
|
|
68
|
+
import { defineAction } from "@agent-native/core";
|
|
69
|
+
import { completeText } from "@agent-native/core/server";
|
|
70
|
+
import { z } from "zod";
|
|
71
|
+
|
|
72
|
+
export default defineAction({
|
|
73
|
+
description: "Classify a short message",
|
|
74
|
+
schema: z.object({ body: z.string() }),
|
|
75
|
+
run: async ({ body }) => {
|
|
76
|
+
const result = await completeText({
|
|
77
|
+
systemPrompt:
|
|
78
|
+
"Return exactly one label: urgent, follow-up, waiting, or archive.",
|
|
79
|
+
input: body,
|
|
80
|
+
maxOutputTokens: 16,
|
|
81
|
+
temperature: 0,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
return { label: result.text.trim() };
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`completeText()` runs through the same configured engine layer as the agent
|
|
90
|
+
chat, including Builder, Anthropic, AI SDK providers, user/app model defaults,
|
|
91
|
+
request-scoped secrets, and engine-normalized errors. It is server-only; do not
|
|
92
|
+
call model providers from client code. If the operation is user-facing, wrap it
|
|
93
|
+
in an action so the UI and agent share the same capability.
|
|
94
|
+
|
|
59
95
|
## Request Context And Access {#request-context}
|
|
60
96
|
|
|
61
97
|
Actions mounted by the framework automatically run with request context. Custom routes do not. If a custom route reads or writes ownable resources, load the session and wrap the work:
|
|
62
98
|
|
|
63
99
|
```ts
|
|
64
|
-
import { defineEventHandler } from "h3";
|
|
100
|
+
import { defineEventHandler, createError } from "h3";
|
|
65
101
|
import { getSession, runWithRequestContext } from "@agent-native/core/server";
|
|
66
102
|
import { getDb } from "../../db/index.js";
|
|
67
103
|
import { accessFilter } from "@agent-native/core/sharing";
|
|
@@ -70,7 +106,7 @@ import * as schema from "../../db/schema";
|
|
|
70
106
|
export default defineEventHandler(async (event) => {
|
|
71
107
|
const session = await getSession(event);
|
|
72
108
|
if (!session?.email) {
|
|
73
|
-
throw
|
|
109
|
+
throw createError({ statusCode: 401, statusMessage: "Unauthorized" });
|
|
74
110
|
}
|
|
75
111
|
|
|
76
112
|
return runWithRequestContext(
|
|
@@ -86,7 +122,7 @@ export default defineEventHandler(async (event) => {
|
|
|
86
122
|
});
|
|
87
123
|
```
|
|
88
124
|
|
|
89
|
-
`getDb` is created per app via `createGetDb(schema)` in `server/db/index.ts`, so custom routes import it from the template (`../../db/index.js`), not from `@agent-native/core/db
|
|
125
|
+
`getDb` is created per app via `createGetDb(schema)` in `server/db/index.ts`, so custom routes import it from the template (`../../db/index.js`), not from `@agent-native/core/db`; see [Database — Where the DB Client Lives](/docs/database#db-client). Do not run unscoped `db.select().from(ownableTable)` in custom routes.
|
|
90
126
|
|
|
91
127
|
## Server Plugins {#server-plugins}
|
|
92
128
|
|
package/docs/content/sharing.md
CHANGED
|
@@ -136,7 +136,26 @@ registerShareableResource({
|
|
|
136
136
|
});
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
-
After that, list/read queries pass through `accessFilter()` and write actions use `assertAccess()` to enforce roles.
|
|
139
|
+
After that, list/read queries pass through `accessFilter()` and write actions use `assertAccess()` to enforce roles.
|
|
140
|
+
|
|
141
|
+
### Optional hardening flags {#hardening-flags}
|
|
142
|
+
|
|
143
|
+
`registerShareableResource` accepts two security flags for resources that execute code or carry elevated trust:
|
|
144
|
+
|
|
145
|
+
```ts
|
|
146
|
+
registerShareableResource({
|
|
147
|
+
type: "extension",
|
|
148
|
+
resourceTable: schema.extensions,
|
|
149
|
+
sharesTable: schema.extensionShares,
|
|
150
|
+
// ...
|
|
151
|
+
allowPublic: false, // Reject set-resource-visibility → "public"
|
|
152
|
+
requireOrgMemberForUserShares: true, // Reject user grants to non-org emails
|
|
153
|
+
});
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`allowPublic: false` prevents any caller — agent or UI — from setting the resource's visibility to `public`. `requireOrgMemberForUserShares: true` rejects individual user grants to email addresses outside the resource owner's org. Extensions set both: an extension's HTML runs inside an iframe that calls actions and DB as the _viewer_, so public access would be arbitrary code with the viewer's credentials.
|
|
157
|
+
|
|
158
|
+
`getResourcePath` gives notification emails a direct fallback link when a share is created by the agent or another non-UI caller. The full pattern (including create-action ownership stamping and the migration recipe for existing tables) lives in the `sharing` agent skill — the agent reads it on demand when building a sharing-aware feature.
|
|
140
159
|
|
|
141
160
|
## Security guarantees {#security}
|
|
142
161
|
|
|
@@ -11,39 +11,169 @@ Skills are Markdown files that give the agent deep knowledge about specific patt
|
|
|
11
11
|
|
|
12
12
|
Skills live at `.agents/skills/<name>/SKILL.md` and contain detailed guidance for the agent. Each skill focuses on one concern — how to store data, how to sync state, how to delegate work to the agent chat.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Every skill's frontmatter `name` and `description` are always injected into the system prompt's skills block so the agent knows what skills exist. The full skill body is loaded on demand when the agent decides a skill is relevant to the task (it is also surfaced via `docs-search`). This is why keeping descriptions short and trigger-specific matters: the description is the only thing the agent reads before deciding whether to load the rest.
|
|
15
15
|
|
|
16
16
|
## Framework skills {#framework-skills}
|
|
17
17
|
|
|
18
|
-
These skills ship with the
|
|
19
|
-
|
|
20
|
-
| Skill | When to use
|
|
21
|
-
| --------------------- |
|
|
22
|
-
| `storing-data` | Adding data models, reading/writing config or state
|
|
23
|
-
| `real-time-sync` | Wiring polling sync, debugging UI not updating
|
|
24
|
-
| `delegate-to-agent` | Delegating AI work from UI or actions to the agent
|
|
25
|
-
| `actions` | Creating or running agent actions
|
|
26
|
-
| `self-modifying-code` | Editing app source, components, or styles
|
|
27
|
-
| `create-skill` | Adding new skills for the agent
|
|
28
|
-
| `capture-learnings` | Recording corrections and patterns
|
|
29
|
-
| `frontend-design` | Building or styling any web UI, components, or pages
|
|
30
|
-
| `adding-a-feature` | The four-area checklist: UI,
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
18
|
+
These skills ship with the default template and are available in every new agent-native app:
|
|
19
|
+
|
|
20
|
+
| Skill | When to use |
|
|
21
|
+
| --------------------- | ------------------------------------------------------- |
|
|
22
|
+
| `storing-data` | Adding data models, reading/writing config or state |
|
|
23
|
+
| `real-time-sync` | Wiring polling sync, debugging UI not updating |
|
|
24
|
+
| `delegate-to-agent` | Delegating AI work from UI or actions to the agent |
|
|
25
|
+
| `actions` | Creating or running agent actions |
|
|
26
|
+
| `self-modifying-code` | Editing app source, components, or styles |
|
|
27
|
+
| `create-skill` | Adding new skills for the agent |
|
|
28
|
+
| `capture-learnings` | Recording corrections and patterns |
|
|
29
|
+
| `frontend-design` | Building or styling any web UI, components, or pages |
|
|
30
|
+
| `adding-a-feature` | The four-area checklist: UI, actions, skills, app-state |
|
|
31
|
+
| `shadcn-ui` | Using shadcn/ui primitives and components |
|
|
32
|
+
| `security` | Auth, access control, and secret handling |
|
|
33
|
+
| `real-time-collab` | Multi-user collaborative editing |
|
|
34
|
+
| `agent-engines` | Swapping or configuring the underlying agent engine |
|
|
35
|
+
| `notifications` | In-app and push notification patterns |
|
|
36
|
+
| `progress` | Tracking and surfacing background task progress |
|
|
37
|
+
| `inline-embeds` | Embedding apps or iframes inside the agent chat |
|
|
38
|
+
|
|
39
|
+
`context-awareness` and `a2a-protocol` are framework-level skills available in the `.agents/skills/` directory at the repo root — see each template's own `.agents/skills/` for what it inherits.
|
|
33
40
|
|
|
34
41
|
## Domain skills {#domain-skills}
|
|
35
42
|
|
|
36
|
-
Templates include skills specific to their domain. These live in the same `.agents/skills/` directory but cover template-specific patterns:
|
|
43
|
+
Templates include skills specific to their domain. These live in the same `.agents/skills/` directory but cover template-specific patterns. See each template's `.agents/skills/` directory for the full list; a representative sample:
|
|
37
44
|
|
|
38
|
-
- **Mail template** — email-drafts
|
|
39
|
-
- **Forms template** — form-building
|
|
40
|
-
- **Analytics template** —
|
|
41
|
-
- **Slides template** — deck-management
|
|
45
|
+
- **Mail template** — `email-drafts`, `draft-queue`
|
|
46
|
+
- **Forms template** — `form-building`, `form-publishing`, `form-responses`
|
|
47
|
+
- **Analytics template** — `adhoc-analysis`, `bigquery`, `cross-source-analysis`, `dashboard-management`, `data-querying`, `provider-api`, `gong`, `hubspot`, `prometheus`
|
|
48
|
+
- **Slides template** — `create-deck`, `deck-management`, `design-systems`, `slide-editing`, `slide-images`
|
|
42
49
|
|
|
43
50
|
Domain skills follow the same format as framework skills. They encode patterns specific to the template that the agent needs to follow.
|
|
44
51
|
|
|
45
52
|
## App-backed skills {#app-backed-skills}
|
|
46
53
|
|
|
54
|
+
App-backed skills package an agent-native app as a skill marketplace artifact. The bundle can include agent instructions, exported skills, MCP connector metadata, hosted/local launch instructions, and UI surfaces such as MCP Apps.
|
|
55
|
+
|
|
56
|
+
> **Full details below:** the mechanics of app-backed skills (manifest format, CLI commands, marketplace adapters, auto-update hashing) are covered in [App-backed skills — full details](#app-backed-skills-full).
|
|
57
|
+
|
|
58
|
+
## Creating custom skills {#creating-skills}
|
|
59
|
+
|
|
60
|
+
Create a skill when:
|
|
61
|
+
|
|
62
|
+
- There's a pattern the agent should follow repeatedly
|
|
63
|
+
- A workflow needs step-by-step guidance
|
|
64
|
+
- You want to scaffold files from a template
|
|
65
|
+
|
|
66
|
+
Don't create a skill when:
|
|
67
|
+
|
|
68
|
+
- The guidance already exists in another skill — extend it instead
|
|
69
|
+
- The guidance is a one-off — put it in `AGENTS.md` or workspace memory instead
|
|
70
|
+
|
|
71
|
+
## Skill format {#skill-format}
|
|
72
|
+
|
|
73
|
+
Each skill is a Markdown file with YAML frontmatter:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
---
|
|
77
|
+
name: project-imports
|
|
78
|
+
description: >-
|
|
79
|
+
How to import projects from the legacy CSV export. Use when the user uploads
|
|
80
|
+
a project CSV or asks to migrate projects from the old system.
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
# Project Imports
|
|
84
|
+
|
|
85
|
+
## Rule
|
|
86
|
+
|
|
87
|
+
Always validate the CSV header row before writing any rows. Reject unknown
|
|
88
|
+
columns rather than silently dropping them.
|
|
89
|
+
|
|
90
|
+
## Why
|
|
91
|
+
|
|
92
|
+
The legacy export has three known formats. Silently skipping columns causes data
|
|
93
|
+
loss that is hard to notice until the migration is audited.
|
|
94
|
+
|
|
95
|
+
## How
|
|
96
|
+
|
|
97
|
+
1. Call `get-import-schema` to fetch the expected columns for the target project type.
|
|
98
|
+
2. Parse the first CSV row and diff against the schema.
|
|
99
|
+
3. If any required columns are missing, return an error listing them — do not proceed.
|
|
100
|
+
4. Stream remaining rows through `create-project-item` in batches of 50.
|
|
101
|
+
5. Return a summary: rows processed, rows skipped, and any errors.
|
|
102
|
+
|
|
103
|
+
## Do
|
|
104
|
+
|
|
105
|
+
- Run `view-screen` before importing so you know the user's current project context.
|
|
106
|
+
- Use the `sharing` skill after import if the project should be shared with collaborators.
|
|
107
|
+
|
|
108
|
+
## Don't
|
|
109
|
+
|
|
110
|
+
- Don't hold all rows in memory — stream them.
|
|
111
|
+
- Don't create duplicate projects; check for an existing project with the same name first.
|
|
112
|
+
|
|
113
|
+
## Related Skills
|
|
114
|
+
|
|
115
|
+
- **storing-data** — SQL schema and write patterns for new project rows
|
|
116
|
+
- **sharing** — Exposing a project to other users after import
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The frontmatter `name` and `description` are used by the agent's tool system for skill discovery. The description should state when the skill triggers — be specific about the situations.
|
|
120
|
+
|
|
121
|
+
Save the file at `.agents/skills/my-skill/SKILL.md`. The directory name should match the `name` in frontmatter.
|
|
122
|
+
|
|
123
|
+
> **See also:** [Writing Agent Instructions](/docs/writing-agent-instructions) for how to word skill descriptions, apply progressive disclosure, and keep `AGENTS.md` lean. Both pages use the `project-imports` skill as a running example.
|
|
124
|
+
|
|
125
|
+
## Skill scope: runtime vs dev {#skill-scope}
|
|
126
|
+
|
|
127
|
+
An optional `scope` frontmatter field controls which agent a skill is for:
|
|
128
|
+
|
|
129
|
+
| `scope` | Loaded by the runtime agent? | Use for |
|
|
130
|
+
| --------- | ---------------------------- | ------------------------------------------------------------------------------- |
|
|
131
|
+
| `both` | Yes (default) | Skills useful to the in-app agent. This is the default when `scope` is omitted. |
|
|
132
|
+
| `runtime` | Yes | Skills meant only for the in-app runtime agent. |
|
|
133
|
+
| `dev` | No | Skills meant only for the human's coding agent (e.g. Claude Code). |
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
---
|
|
137
|
+
name: release-checklist
|
|
138
|
+
description: >-
|
|
139
|
+
Steps for cutting a release. Use when preparing or publishing a new version.
|
|
140
|
+
scope: dev
|
|
141
|
+
---
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
When `scope` is absent (or set to an unrecognized value) it defaults to `both`, so every existing skill keeps loading at runtime — this field is fully backward compatible. A `scope: dev` skill is invisible to the runtime agent everywhere: it is excluded from the skills block injected into the system prompt and from `docs-search` results.
|
|
145
|
+
|
|
146
|
+
### Exposing a dev-only skill to your coding agent {#dev-only-skills}
|
|
147
|
+
|
|
148
|
+
The agent-native runtime reads skills from `.agents/skills/`. Claude Code reads skills from `.claude/skills/` independently. To make a skill available to your coding agent but hidden from the runtime agent:
|
|
149
|
+
|
|
150
|
+
- Mark it `scope: dev` in `.agents/skills/<name>/SKILL.md` so the runtime agent never loads it, and/or
|
|
151
|
+
- Place or mirror the skill under `.claude/skills/<name>/SKILL.md` so Claude Code picks it up.
|
|
152
|
+
|
|
153
|
+
This replaces the old hack of relying on Claude Code only reading `.claude/skills` — `scope: dev` makes the dev-vs-runtime split a first-class, explicit choice.
|
|
154
|
+
|
|
155
|
+
> **See also:** [Writing Agent Instructions](/docs/writing-agent-instructions) for how to word skill descriptions, apply progressive disclosure, and keep `AGENTS.md` lean.
|
|
156
|
+
|
|
157
|
+
## Skills vs AGENTS.md {#skills-vs-agents-md}
|
|
158
|
+
|
|
159
|
+
> **AGENTS.md** — The overview. Lists all scripts, describes the data model, explains the app architecture. The agent reads this first to understand the app.
|
|
160
|
+
>
|
|
161
|
+
> **Skills** — Deep dives. Each skill focuses on one pattern with detailed rules, code examples, and do/don't lists. The agent reads these when it needs to follow a specific pattern.
|
|
162
|
+
|
|
163
|
+
`AGENTS.md` tells the agent _what_ the app does. Skills tell the agent _how_ to do specific things correctly. Both are needed — `AGENTS.md` for orientation, skills for execution.
|
|
164
|
+
|
|
165
|
+
## Skills vs memory {#skills-vs-memory}
|
|
166
|
+
|
|
167
|
+
> **Skills** — Authored, reusable how-to guides. Apply to every user, invoked on demand when the task matches.
|
|
168
|
+
>
|
|
169
|
+
> **Memory (`LEARNINGS.md` / `memory/MEMORY.md`)** — Shared project learnings and personal structured memory loaded every turn.
|
|
170
|
+
|
|
171
|
+
If the knowledge applies to _everyone_ working in the app ("always prefer CTEs over subqueries"), it's a skill or shared `LEARNINGS.md`. If it's about _this particular user_ ("Steve likes concise answers"), it belongs in `memory/MEMORY.md`. See [Workspace Memory](/docs/workspace#memory) for the full treatment.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## App-backed skills — full details {#app-backed-skills-full}
|
|
176
|
+
|
|
47
177
|
App-backed skills package an agent-native app as a skill marketplace artifact.
|
|
48
178
|
The bundle can include agent instructions, exported skills, MCP connector
|
|
49
179
|
metadata, hosted/local launch instructions, and UI surfaces such as MCP Apps.
|
|
@@ -144,107 +274,3 @@ npx @agent-native/core@latest skills update visual-plan
|
|
|
144
274
|
the copied folder hash to the latest bundled skill, and rewrites stale folders in
|
|
145
275
|
place. Newly copied Agent Native skills include an `agent-native-skill.json`
|
|
146
276
|
marker so future status output can identify the source and hash.
|
|
147
|
-
|
|
148
|
-
## Creating custom skills {#creating-skills}
|
|
149
|
-
|
|
150
|
-
Create a skill when:
|
|
151
|
-
|
|
152
|
-
- There's a pattern the agent should follow repeatedly
|
|
153
|
-
- A workflow needs step-by-step guidance
|
|
154
|
-
- You want to scaffold files from a template
|
|
155
|
-
|
|
156
|
-
Don't create a skill when:
|
|
157
|
-
|
|
158
|
-
- The guidance already exists in another skill — extend it instead
|
|
159
|
-
- The guidance is a one-off — put it in `AGENTS.md` or workspace memory instead
|
|
160
|
-
|
|
161
|
-
## Skill format {#skill-format}
|
|
162
|
-
|
|
163
|
-
Each skill is a Markdown file with YAML frontmatter:
|
|
164
|
-
|
|
165
|
-
```markdown
|
|
166
|
-
---
|
|
167
|
-
name: my-skill
|
|
168
|
-
description: >-
|
|
169
|
-
One-line description of what this skill covers and when
|
|
170
|
-
the agent should use it.
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
# Skill Title
|
|
174
|
-
|
|
175
|
-
## Rule
|
|
176
|
-
|
|
177
|
-
The core invariant — what must always be true.
|
|
178
|
-
|
|
179
|
-
## Why
|
|
180
|
-
|
|
181
|
-
Why this rule exists. Motivates the agent to follow it.
|
|
182
|
-
|
|
183
|
-
## How
|
|
184
|
-
|
|
185
|
-
Step-by-step instructions with code examples.
|
|
186
|
-
|
|
187
|
-
## Do
|
|
188
|
-
|
|
189
|
-
- Concrete actions the agent should take
|
|
190
|
-
|
|
191
|
-
## Don't
|
|
192
|
-
|
|
193
|
-
- Anti-patterns to avoid
|
|
194
|
-
|
|
195
|
-
## Related Skills
|
|
196
|
-
|
|
197
|
-
- **other-skill** — How it relates
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
The frontmatter `name` and `description` are used by the agent's tool system for skill discovery. The description should state when the skill triggers — be specific about the situations.
|
|
201
|
-
|
|
202
|
-
Save the file at `.agents/skills/my-skill/SKILL.md`. The directory name should match the `name` in frontmatter.
|
|
203
|
-
|
|
204
|
-
## Skill scope: runtime vs dev {#skill-scope}
|
|
205
|
-
|
|
206
|
-
An optional `scope` frontmatter field controls which agent a skill is for:
|
|
207
|
-
|
|
208
|
-
| `scope` | Loaded by the runtime agent? | Use for |
|
|
209
|
-
| --------- | ---------------------------- | ------------------------------------------------------------------------------- |
|
|
210
|
-
| `both` | Yes (default) | Skills useful to the in-app agent. This is the default when `scope` is omitted. |
|
|
211
|
-
| `runtime` | Yes | Skills meant only for the in-app runtime agent. |
|
|
212
|
-
| `dev` | No | Skills meant only for the human's coding agent (e.g. Claude Code). |
|
|
213
|
-
|
|
214
|
-
```markdown
|
|
215
|
-
---
|
|
216
|
-
name: release-checklist
|
|
217
|
-
description: >-
|
|
218
|
-
Steps for cutting a release. Use when preparing or publishing a new version.
|
|
219
|
-
scope: dev
|
|
220
|
-
---
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
When `scope` is absent (or set to an unrecognized value) it defaults to `both`, so every existing skill keeps loading at runtime — this field is fully backward compatible. A `scope: dev` skill is invisible to the runtime agent everywhere: it is excluded from the skills block injected into the system prompt and from `docs-search` results.
|
|
224
|
-
|
|
225
|
-
### Exposing a dev-only skill to your coding agent {#dev-only-skills}
|
|
226
|
-
|
|
227
|
-
The agent-native runtime reads skills from `.agents/skills/`. Claude Code reads skills from `.claude/skills/` independently. To make a skill available to your coding agent but hidden from the runtime agent:
|
|
228
|
-
|
|
229
|
-
- Mark it `scope: dev` in `.agents/skills/<name>/SKILL.md` so the runtime agent never loads it, and/or
|
|
230
|
-
- Place or mirror the skill under `.claude/skills/<name>/SKILL.md` so Claude Code picks it up.
|
|
231
|
-
|
|
232
|
-
This replaces the old hack of relying on Claude Code only reading `.claude/skills` — `scope: dev` makes the dev-vs-runtime split a first-class, explicit choice.
|
|
233
|
-
|
|
234
|
-
> **See also:** [Writing Agent Instructions](/docs/writing-agent-instructions) for how to word skill descriptions, apply progressive disclosure, and keep `AGENTS.md` lean.
|
|
235
|
-
|
|
236
|
-
## Skills vs AGENTS.md {#skills-vs-agents-md}
|
|
237
|
-
|
|
238
|
-
> **AGENTS.md** — The overview. Lists all scripts, describes the data model, explains the app architecture. The agent reads this first to understand the app.
|
|
239
|
-
>
|
|
240
|
-
> **Skills** — Deep dives. Each skill focuses on one pattern with detailed rules, code examples, and do/don't lists. The agent reads these when it needs to follow a specific pattern.
|
|
241
|
-
|
|
242
|
-
`AGENTS.md` tells the agent _what_ the app does. Skills tell the agent _how_ to do specific things correctly. Both are needed — `AGENTS.md` for orientation, skills for execution.
|
|
243
|
-
|
|
244
|
-
## Skills vs memory {#skills-vs-memory}
|
|
245
|
-
|
|
246
|
-
> **Skills** — Authored, reusable how-to guides. Apply to every user, invoked on demand when the task matches.
|
|
247
|
-
>
|
|
248
|
-
> **Memory (`LEARNINGS.md` / `memory/MEMORY.md`)** — Shared project learnings and personal structured memory loaded every turn.
|
|
249
|
-
|
|
250
|
-
If the knowledge applies to _everyone_ working in the app ("always prefer CTEs over subqueries"), it's a skill or shared `LEARNINGS.md`. If it's about _this particular user_ ("Steve likes concise answers"), it belongs in `memory/MEMORY.md`. See [Workspace Memory](/docs/workspace#memory) for the full treatment.
|
|
@@ -67,6 +67,14 @@ The app has three primary surfaces you'll spend time in:
|
|
|
67
67
|
|
|
68
68
|
The dictionary is seeded by asking the agent: "import our dbt definitions" or "pull the metrics from our Notion handbook" and it does the work.
|
|
69
69
|
|
|
70
|
+
## Why it's interesting
|
|
71
|
+
|
|
72
|
+
Three things make Analytics a good showcase of the framework:
|
|
73
|
+
|
|
74
|
+
1. **The data dictionary keeps SQL grounded.** The agent consults the dictionary before writing any query, so it uses real warehouse column names and honors documented caveats. The dictionary is itself an agent-native resource — seeded and edited through the same chat interface that runs the queries.
|
|
75
|
+
2. **Multi-source, single action surface.** BigQuery, GA4, Mixpanel, Amplitude, HubSpot, Jira, and a dozen other sources are each a single action file. Adding a new connector is adding a file; the agent picks it up automatically with no registration step.
|
|
76
|
+
3. **Reusable workspace integrations.** When a workspace already has a provider connected (e.g. HubSpot), Analytics requests a grant instead of requiring a second copy of the same credentials. The Data Sources page shows workspace-level readiness alongside local-credential status.
|
|
77
|
+
|
|
70
78
|
## For developers
|
|
71
79
|
|
|
72
80
|
The rest of this doc is for anyone forking the Analytics template or extending it.
|
|
@@ -13,6 +13,8 @@ Use it when your team needs reusable visual direction and searchable source asse
|
|
|
13
13
|
|
|
14
14
|
## Getting started
|
|
15
15
|
|
|
16
|
+
Live demo: [assets.agent-native.com](https://assets.agent-native.com).
|
|
17
|
+
|
|
16
18
|
1. **Create a library.** Add the brand, campaign, product, or content stream you
|
|
17
19
|
want to manage.
|
|
18
20
|
2. **Upload references.** Add approved logos, product shots, style examples, or
|
|
@@ -61,6 +61,8 @@ or issue.
|
|
|
61
61
|
|
|
62
62
|
## Getting started
|
|
63
63
|
|
|
64
|
+
Live demo: [brain.agent-native.com](https://brain.agent-native.com).
|
|
65
|
+
|
|
64
66
|
1. **Try the demo.** Open Ask and choose **Start demo**. Brain seeds a small
|
|
65
67
|
product-decision corpus, runs the trust checks, and asks a cited question so
|
|
66
68
|
you can see answers, citations, review, and not-found behavior before adding
|
|
@@ -77,14 +79,68 @@ For a public demo, the seeded corpus demonstrates product-decision recall,
|
|
|
77
79
|
citation links, supersede behavior, review gating, redaction, personal-content
|
|
78
80
|
exclusion, and honest not-found behavior without connecting a real workspace.
|
|
79
81
|
|
|
80
|
-
|
|
82
|
+
## Why it's interesting
|
|
83
|
+
|
|
84
|
+
Three things make Brain a good showcase of the framework:
|
|
85
|
+
|
|
86
|
+
1. **No vector database required.** Brain uses SQL text search with agentic query expansion, so it stays portable across SQLite, Postgres, Neon, D1, and Turso without an additional service dependency. This demonstrates that semantic-enough retrieval can be built without embedding infrastructure.
|
|
87
|
+
2. **Human-in-the-loop distillation.** Raw captures don't become company knowledge automatically. High-confidence entries can auto-publish; sensitive or low-confidence ones queue as proposals for human review. The Review surface is a first-class part of the product, not a settings screen.
|
|
88
|
+
3. **Shared workspace integrations.** Brain sources resolve credentials from workspace grants first, not duplicated env vars. It's a live example of the grant pattern — one Slack token at workspace level, per-app access requests.
|
|
89
|
+
|
|
90
|
+
## For developers
|
|
91
|
+
|
|
92
|
+
The rest of this section is for anyone forking or extending the Brain template.
|
|
93
|
+
|
|
94
|
+
### Quick start
|
|
81
95
|
|
|
82
96
|
```bash
|
|
83
97
|
npx @agent-native/core create my-brain --standalone --template brain
|
|
98
|
+
cd my-brain
|
|
99
|
+
pnpm install
|
|
100
|
+
pnpm dev
|
|
84
101
|
```
|
|
85
102
|
|
|
86
|
-
|
|
87
|
-
|
|
103
|
+
Open the app and choose **Start demo** to see cited memory without connecting a real workspace.
|
|
104
|
+
|
|
105
|
+
### Data model
|
|
106
|
+
|
|
107
|
+
Brain's schema lives in `templates/brain/server/db/schema.ts`. Eight tables:
|
|
108
|
+
|
|
109
|
+
| Table | What it holds |
|
|
110
|
+
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
111
|
+
| `brain_sources` | Connector config — provider, allow-listed channels/repos, sync cursors, review posture, `ingest_token_hash`, `status`, `last_synced_at` |
|
|
112
|
+
| `brain_source_shares` | Per-source share grants (viewer / editor / admin) |
|
|
113
|
+
| `brain_raw_captures` | Transcripts, channel exports, notes, and webhook imports with `external_id` dedupe key, `content_hash`, kind, and distillation status |
|
|
114
|
+
| `brain_knowledge` | Distilled atomic entries — kind (decision / fact / process / …), topic, entities, evidence quotes, confidence, `publish_tier`, supersede links |
|
|
115
|
+
| `brain_knowledge_shares` | Per-knowledge share grants |
|
|
116
|
+
| `brain_proposals` | Pending review items — proposed create/update/archive with evidence and reviewer notes |
|
|
117
|
+
| `brain_proposal_shares` | Per-proposal share grants |
|
|
118
|
+
| `brain_sync_runs` | Sync audit log — provider, status, stats JSON, error, start/end timestamps |
|
|
119
|
+
| `brain_ingest_queue` | Background distillation queue — operation, status, priority, retry count, `run_after` |
|
|
120
|
+
|
|
121
|
+
### Key actions
|
|
122
|
+
|
|
123
|
+
Grouped by area (`templates/brain/actions/`):
|
|
124
|
+
|
|
125
|
+
- **Source management** — `create-source`, `update-source`, `delete-source`, `get-source`, `list-sources`, `sync-source`, `sync-due-sources`, `run-slack-pilot`, `test-slack-connection`
|
|
126
|
+
- **Capture ingestion** — `import-capture`, `import-transcript`, `list-captures`, `get-capture`, `mark-capture-distilled`, `resanitize-captures`
|
|
127
|
+
- **Distillation** — `enqueue-distillation`, `enqueue-captures-distillation`, `claim-distillation`, `retry-distillation`, `list-distillation-queue`
|
|
128
|
+
- **Knowledge & review** — `write-knowledge`, `get-knowledge`, `list-knowledge`, `set-knowledge-canonical`, `preview-canonical-resource`, `list-proposals`, `review-proposal`, `approve-proposal`, `reject-proposal`, `update-proposal`
|
|
129
|
+
- **Search & retrieval** — `ask-brain`, `search-knowledge`, `search-everything`
|
|
130
|
+
- **Settings** — `get-brain-settings`, `update-brain-settings`, `set-settings`, `get-settings`
|
|
131
|
+
- **Evaluation & demo** — `seed-demo-data`, `run-demo-eval`, `run-retrieval-eval`
|
|
132
|
+
- **Context & navigation** — `view-screen`, `navigate`
|
|
133
|
+
- **Provider APIs** — `provider-api-catalog`, `provider-api-docs`, `provider-api-request`
|
|
134
|
+
|
|
135
|
+
### Customizing it
|
|
136
|
+
|
|
137
|
+
Key places to look when extending Brain:
|
|
138
|
+
|
|
139
|
+
- `templates/brain/actions/` — every agent-callable operation. Add a new file with `defineAction` to expose a new capability.
|
|
140
|
+
- `templates/brain/app/routes/` — the UI surface: Ask, Sources, Review, Knowledge, Settings, and Team routes.
|
|
141
|
+
- `templates/brain/.agents/skills/` — Brain-specific guidance for distillation and retrieval.
|
|
142
|
+
- `templates/brain/AGENTS.md` — top-level agent guide. Update when you add major features.
|
|
143
|
+
- `templates/brain/server/db/schema.ts` — data model. Additive migrations only.
|
|
88
144
|
|
|
89
145
|
## Connecting sources
|
|
90
146
|
|
|
@@ -61,6 +61,14 @@ Or just ask the agent: "Create a 15-minute intro booking link with a name field.
|
|
|
61
61
|
|
|
62
62
|
The agent will query Google Calendar live for any schedule question — it never guesses.
|
|
63
63
|
|
|
64
|
+
## Why it's interesting
|
|
65
|
+
|
|
66
|
+
Three things make Calendar a good showcase of the framework:
|
|
67
|
+
|
|
68
|
+
1. **Live API queries, no local sync.** Events live in Google Calendar; the app queries the API on demand rather than maintaining a local mirror. This avoids stale data and webhook infrastructure while still giving the agent full read/write access through actions.
|
|
69
|
+
2. **Booking links as a Calendly replacement.** The public booking page (`/book/{slug}`) is stateless to visitors — it queries availability live and creates a booking on submit. The `booking_link_shares` table wires into the framework sharing primitive so teammates can manage links collaboratively.
|
|
70
|
+
3. **Multi-account overlay.** Connecting a second Google account is an action call; the UI overlays events from all connected calendars in the same view. This pattern — one row per account in `oauth_tokens`, list action that fans out — is reusable for any multi-account integration.
|
|
71
|
+
|
|
64
72
|
## For developers
|
|
65
73
|
|
|
66
74
|
The rest of this doc is for anyone forking the Calendar template or extending it.
|
|
@@ -30,7 +30,9 @@ Think along the lines of Loom + Granola + Wispr Flow rolled into one app — but
|
|
|
30
30
|
- **Smart library views.** Group by project, filter by speaker, auto-tag based on content.
|
|
31
31
|
- **Edit the transcript through chat.** "Fix the mis-transcribed word at 1:42." "Pull three quotes for a blog post." The agent edits the transcript and the UI updates live.
|
|
32
32
|
|
|
33
|
-
##
|
|
33
|
+
## Getting started
|
|
34
|
+
|
|
35
|
+
Live demo: [clips.agent-native.com](https://clips.agent-native.com).
|
|
34
36
|
|
|
35
37
|
1. **Open Library.** Browse screen recordings, meeting recordings, dictations,
|
|
36
38
|
folders, and spaces from one place.
|
|
@@ -65,9 +67,16 @@ The rest of this doc is for anyone forking the Clips template or extending it.
|
|
|
65
67
|
|
|
66
68
|
```bash
|
|
67
69
|
npx @agent-native/core create my-clips --standalone --template clips
|
|
70
|
+
cd my-clips
|
|
71
|
+
pnpm install
|
|
72
|
+
pnpm dev
|
|
68
73
|
```
|
|
69
74
|
|
|
70
|
-
Clips is a larger template with a native recorder (it ships a desktop companion for local capture).
|
|
75
|
+
Clips is a larger template with a native recorder (it ships a desktop companion for local capture). Three setup steps are needed before recordings can upload:
|
|
76
|
+
|
|
77
|
+
1. **Video storage (required).** Connect a storage backend through the onboarding wizard. The easiest path is Builder.io (free during beta, one-click). For self-hosted storage, set `S3_ENDPOINT`, `S3_BUCKET`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, and optionally `S3_REGION` and `S3_PUBLIC_BASE_URL`. Cloudflare R2 and DigitalOcean Spaces use the same env vars with the `R2_*` prefix.
|
|
78
|
+
2. **Google Calendar (optional).** To sync upcoming meetings, connect a Google Calendar account from Settings. The OAuth callback URL in dev is `http://localhost:8094/_agent-native/google/callback`. Set up a Google OAuth client in [Google Cloud Console](https://console.cloud.google.com/) with the Gmail and Google Calendar APIs enabled.
|
|
79
|
+
3. **Screen-capture permissions.** On macOS, grant Screen Recording permission to the browser (or the desktop companion app) in System Settings → Privacy & Security → Screen Recording.
|
|
71
80
|
|
|
72
81
|
### Data model
|
|
73
82
|
|