@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
package/dist/cli/skills.js
CHANGED
|
@@ -20,7 +20,7 @@ Usage:
|
|
|
20
20
|
agent-native skills status [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|all] [--scope user|project] [--json]
|
|
21
21
|
agent-native skills update [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|all] [--scope user|project] [--dry-run] [--json]
|
|
22
22
|
agent-native skills add assets|design-exploration|visual-plan|visual-recap|context-xray [--client codex|claude-code|claude-code-cli|cowork|all] [--scope user|project] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
|
|
23
|
-
agent-native skills add <manifest-or-app-dir> [--client ...] [--yes]
|
|
23
|
+
agent-native skills add <manifest-or-app-dir|skill-repo> [--skill <name>] [--client ...] [--yes]
|
|
24
24
|
|
|
25
25
|
Examples:
|
|
26
26
|
agent-native skills add assets
|
|
@@ -34,6 +34,8 @@ Examples:
|
|
|
34
34
|
agent-native skills add assets --client claude-code
|
|
35
35
|
agent-native skills add assets --mcp-url https://my-app.ngrok-free.dev
|
|
36
36
|
agent-native skills add ./dist/assets-skill --client codex
|
|
37
|
+
agent-native skills add BuilderIO/skills --client codex --scope project
|
|
38
|
+
agent-native skills add BuilderIO/skills --with-github-action
|
|
37
39
|
|
|
38
40
|
The add command installs the SKILL.md instructions, registers the app-backed
|
|
39
41
|
MCP connector, and then authenticates it in one step so you do not hit an OAuth
|
|
@@ -43,8 +45,8 @@ prompt, while Codex / Cowork run the browser device-code flow. In a
|
|
|
43
45
|
non-interactive shell or CI the auth step is skipped and the exact
|
|
44
46
|
"agent-native connect <url>" command is printed instead.
|
|
45
47
|
|
|
46
|
-
Running "npx skills add ..." directly installs instructions only;
|
|
47
|
-
Native CLI path when you want MCP setup and auth too. Pass --no-connect to
|
|
48
|
+
Running "npx @agent-native/skills add ..." directly installs instructions only;
|
|
49
|
+
use this Agent Native CLI path when you want MCP setup and auth too. Pass --no-connect to
|
|
48
50
|
register the connector without authenticating (leave auth to the host or run
|
|
49
51
|
"agent-native connect" later). Pass --mcp-url to register that connector against
|
|
50
52
|
a custom origin (an ngrok tunnel, a local dev server, or a self-hosted
|
|
@@ -210,11 +212,11 @@ iteration, or a human-in-the-loop choice among design directions.
|
|
|
210
212
|
and token values. Never paste bearer tokens into chat or logs.
|
|
211
213
|
`;
|
|
212
214
|
/**
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
215
|
+
* Setup/auth block for the `/visual-plan` skill. Interpolated into
|
|
216
|
+
* `VISUAL_PLANS_SKILL_MD` below so the install + one-step authenticate
|
|
217
|
+
* instructions are single-sourced. The materialized SKILL.md copies under
|
|
218
|
+
* `templates/plan/.agents/skills/*`, top-level `skills/*`, and
|
|
219
|
+
* `.agents/skills/*` are guarded byte-identical by `skills.sync.spec.ts`.
|
|
218
220
|
*/
|
|
219
221
|
const PLAN_SETUP_AUTH_MD = `## Setup & Authentication
|
|
220
222
|
|
|
@@ -230,11 +232,10 @@ agent-native skills add visual-plan
|
|
|
230
232
|
\`\`\`
|
|
231
233
|
|
|
232
234
|
After that, \`/visual-plan\` and \`/visual-recap\` are the two installed slash
|
|
233
|
-
commands.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
without authenticating, then run
|
|
235
|
+
commands. The other planning modes (\`create-ui-plan\`, \`create-prototype-plan\`,
|
|
236
|
+
\`create-plan-design\`, \`create-visual-questions\`) are MCP tools reachable from
|
|
237
|
+
\`/visual-plan\`, not separate slash commands. Pass \`--no-connect\` to register
|
|
238
|
+
the connector without authenticating, then run
|
|
238
239
|
\`agent-native connect https://plan.agent-native.com\` whenever you are ready.
|
|
239
240
|
|
|
240
241
|
**Browser (people you share with).** Open the Plans editor and create & edit
|
|
@@ -276,8 +277,8 @@ const WIREFRAME_QUALITY_CORE = `<!-- SHARED-CORE:wireframe-quality START -->
|
|
|
276
277
|
content.** Set \`data.html\` to a self-contained, semantic HTML fragment of the
|
|
277
278
|
screen and set \`data.surface\`. The renderer owns the surface footprint/aspect,
|
|
278
279
|
the dark/light theme, the hand-drawn font, and the rough.js sketch overlay — you
|
|
279
|
-
never write \`<html>\`/\`<body>\`/\`<script>\`/\`<style>\` tags
|
|
280
|
-
|
|
280
|
+
never write \`<html>\`/\`<body>\`/\`<script>\`/\`<style>\` tags or any
|
|
281
|
+
width/height/coordinates. You write real HTML layout and real product
|
|
281
282
|
content; the renderer styles and roughens it.
|
|
282
283
|
|
|
283
284
|
**A wireframe block's data is an HTML screen plus a surface:**
|
|
@@ -370,7 +371,7 @@ skeleton register automatically. Never escape to a \`custom-html\` document bloc
|
|
|
370
371
|
to fake a loader.
|
|
371
372
|
|
|
372
373
|
**Editing an existing mockup.** To change one element, text, or color in an
|
|
373
|
-
existing html mockup,
|
|
374
|
+
existing html mockup, call \`update-visual-plan\`
|
|
374
375
|
with \`contentPatches: [{ op: "patch-wireframe-html", blockId, edits: [{ find,
|
|
375
376
|
replace }] }]\`. Each \`find\` is a unique snippet of the current html (read it
|
|
376
377
|
first with \`get-visual-plan\`); set \`all: true\` on an edit to replace every
|
|
@@ -428,15 +429,18 @@ the same frame size, scale, outer padding, border radius, and visual density on
|
|
|
428
429
|
both sides unless the change itself alters those properties, and let the frame
|
|
429
430
|
height fit the content rather than leaving a tall empty lower half.
|
|
430
431
|
|
|
431
|
-
**Name the states with the column header, never inside the frame.**
|
|
432
|
+
**Name the states with the column header, never inside the frame.** For
|
|
433
|
+
document-body wireframes (recaps), put the two
|
|
432
434
|
states in a \`columns\` block and set each column's \`label\` to \`Before\` and
|
|
433
435
|
\`After\` — the renderer draws that label as an \`h4\` heading above each frame. Do
|
|
434
436
|
NOT bake a \`Before\`/\`After\` pill, title, or heading into the wireframe \`html\`: a
|
|
435
437
|
label placed inside reads as part of the product UI, lands in a random corner,
|
|
436
438
|
and clutters the comparison. The column header is the one and only place the
|
|
437
|
-
state name belongs.
|
|
439
|
+
state name belongs. On a canvas, place the two state artboards as neighbors with
|
|
440
|
+
frame labels — never encode Before/After inside the html.
|
|
438
441
|
|
|
439
|
-
**Let the surface choose side-by-side vs. stacked.**
|
|
442
|
+
**Let the surface choose side-by-side vs. stacked.** For document-body
|
|
443
|
+
wireframes (recaps), the \`columns\` renderer lays
|
|
440
444
|
narrow surfaces (\`mobile\`, \`popover\`, \`panel\`) out side by side, and
|
|
441
445
|
automatically stacks wide surfaces (\`desktop\`, \`browser\`) vertically at full
|
|
442
446
|
document width so a large frame is never crushed into a half-width column and
|
|
@@ -521,11 +525,10 @@ and \`/visual-recap\`. Do not author wireframes from memory.`;
|
|
|
521
525
|
// (visual-recap renders standalone wireframes, not a canvas).
|
|
522
526
|
const CANVAS_SURFACE_CORE = `<!-- SHARED-CORE:canvas-surface START -->
|
|
523
527
|
|
|
524
|
-
**
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
handle simple one-row boards.
|
|
528
|
-
\`x\`/\`y\` is allowed and expected when it creates clear lanes.
|
|
528
|
+
**The coordinate rule.** The \`surface\` locks each artboard's footprint and
|
|
529
|
+
aspect — never set artboard width/height and never use coordinates inside the
|
|
530
|
+
wireframe HTML; board-level artboard \`x\`/\`y\` IS allowed when it creates clear
|
|
531
|
+
lanes. Let canvas auto-placement handle simple one-row boards.
|
|
529
532
|
|
|
530
533
|
**Lay out mixed canvases in lanes.** When a canvas contains broad browser /
|
|
531
534
|
desktop frames plus compact \`mobile\`, \`popover\`, or \`panel\` surfaces, do not put
|
|
@@ -586,9 +589,9 @@ prototype. When the user asks for a mockup, UI state, loading state, layout,
|
|
|
586
589
|
screen, or visual comparison, make the canvas the primary home for that static
|
|
587
590
|
visual. When the user asks for a prototype or the plan contains a sequence the
|
|
588
591
|
reviewer must feel, keep the canvas artboards and add \`content.prototype\` so the
|
|
589
|
-
top surface shows Wireframes / Prototype tabs. Architecture/code diagrams
|
|
590
|
-
|
|
591
|
-
|
|
592
|
+
top surface shows Wireframes / Prototype tabs. Architecture/code diagrams stay
|
|
593
|
+
inline in the document (the SKILL.md Visual Surface Choice section owns that
|
|
594
|
+
rule) unless the user explicitly asks for a spatial board. Document blocks
|
|
592
595
|
can explain, compare, or map implementation, but they should not host the
|
|
593
596
|
primary UI mockup or prototype just because \`custom-html\`, screenshots, or prose
|
|
594
597
|
are easier to produce. If the canvas/prototype surface cannot represent the
|
|
@@ -601,11 +604,9 @@ nodes instead of \`html\`; the renderer still accepts and displays it, but new
|
|
|
601
604
|
plans emit \`html\`. Do not author fresh kit-tree screens - write the HTML mockup
|
|
602
605
|
instead. Likewise, old or imported plans may carry coordinate-based regions or
|
|
603
606
|
free-float x/y on notes; those are legacy escape hatches the renderer still
|
|
604
|
-
shows but you must never produce. The
|
|
605
|
-
|
|
606
|
-
new-plan
|
|
607
|
-
multi-lane mixed-surface canvases; never supply artboard width/height, note
|
|
608
|
-
coordinates, or wireframe-internal coordinates.
|
|
607
|
+
shows but you must never produce. The gutter parks notes by \`targetId\` +
|
|
608
|
+
\`placement\`, and the coordinate rule at the top of this file governs all
|
|
609
|
+
new-plan placement.
|
|
609
610
|
|
|
610
611
|
<!-- SHARED-CORE:canvas-surface END -->`;
|
|
611
612
|
const DOCUMENT_QUALITY_CORE = `<!-- SHARED-CORE:document-quality START -->
|
|
@@ -626,25 +627,14 @@ static inspection, plus prototype tabs when the flow should be functional. The
|
|
|
626
627
|
document carries the technical depth the visuals cannot show — concrete
|
|
627
628
|
file/symbol maps, API and data contracts, code snippets, migration or
|
|
628
629
|
implementation phases, risks, and validation. For architecture/code reviews,
|
|
629
|
-
invert that: the document is the visual surface, and each recommendation
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
applies the viewer's sketch/clean style. Leave room for the sketch font: keep
|
|
638
|
-
labels short, give nodes generous width, and place boundary/annotation labels in
|
|
639
|
-
unused space instead of over nodes. For small text/SVG changes to an existing
|
|
640
|
-
HTML diagram, use \`patch-diagram-html\` with a unique \`find\`/\`replace\` snippet
|
|
641
|
-
instead of resending the whole \`data.html\` string. Legacy \`nodes\` / \`edges\` are
|
|
642
|
-
only for tiny previews or genuinely linear step flows. Repeat a wireframe in the document only
|
|
643
|
-
for a genuinely new detail view or comparison. Skip the visual surface entirely
|
|
644
|
-
for non-visual work and write a clean rich document. For a simple binary UI
|
|
645
|
-
visual choice, show the two directions in the canvas only; do not repeat the
|
|
646
|
-
same options as body wireframes or prose. Put the actual
|
|
647
|
-
choice in the bottom "Open Questions" form.
|
|
630
|
+
invert that: the document is the visual surface, and each recommendation
|
|
631
|
+
carries its own nearby inline \`diagram\` / \`data-model\` block plus file
|
|
632
|
+
evidence (the \`diagram\` bullet below owns how to author those diagrams).
|
|
633
|
+
Repeat a wireframe in the document only for a genuinely new detail view or
|
|
634
|
+
comparison. Skip the visual surface entirely for non-visual work and write a
|
|
635
|
+
clean rich document. For a simple binary UI visual choice, show the two
|
|
636
|
+
directions in the canvas only; do not repeat the same options as body
|
|
637
|
+
wireframes or prose. Put the actual choice in the bottom "Open Questions" form.
|
|
648
638
|
|
|
649
639
|
**Use the right block, and make it carry substance.** For the authoritative,
|
|
650
640
|
machine-checked list of block types and their data schemas, call \`get-plan-blocks\`
|
|
@@ -678,7 +668,11 @@ so you never emit a block the editor cannot render or round-trip:
|
|
|
678
668
|
each side needs real nested blocks; label the columns clearly and avoid
|
|
679
669
|
stacking comparison blocks vertically when parallel reading is the point.
|
|
680
670
|
- \`diagram\` for two-dimensional architecture, dependency, data-flow, or state
|
|
681
|
-
relationships, only when it clarifies something real.
|
|
671
|
+
relationships, only when it clarifies something real. Prefer standard
|
|
672
|
+
two-dimensional layouts — paired before/after panels, layered diagrams,
|
|
673
|
+
swimlanes, dependency maps, matrices, or grouped regions; do not default to
|
|
674
|
+
left-to-right chains, and use a line only when the relationship is truly a
|
|
675
|
+
sequence. For architecture/code
|
|
682
676
|
diagrams, prefer \`data.html\` / \`data.css\` with semantic HTML and inline SVG so
|
|
683
677
|
the diagram can use panels, layers, matrices, arrows, annotations, and
|
|
684
678
|
responsive layout directly. Author diagram HTML with renderer-owned primitives
|
|
@@ -688,12 +682,16 @@ so you never emit a block the editor cannot render or round-trip:
|
|
|
688
682
|
\`--wf-paper\`, \`--wf-card\`, \`--wf-accent\`, \`--wf-accent-soft\`, \`--wf-warn\`, and
|
|
689
683
|
\`--wf-ok\`, and switch to Excalifont plus rough.js outlines in sketchy mode. Do not
|
|
690
684
|
set \`font-family\` and do not hard-code hex, rgb, or hsl colors in diagram HTML
|
|
691
|
-
or CSS.
|
|
685
|
+
or CSS. Leave room for the sketch font: keep labels short, give nodes generous
|
|
686
|
+
width, and place boundary/annotation labels in unused space instead of over
|
|
687
|
+
nodes; labels must not overlap nodes, connectors, or each other. For small
|
|
688
|
+
text/SVG changes to an existing HTML diagram, use \`patch-diagram-html\` with a
|
|
689
|
+
unique \`find\`/\`replace\` snippet instead of resending the whole \`data.html\`
|
|
690
|
+
string. Use legacy \`nodes\` / \`edges\` only for small previews or truly
|
|
692
691
|
sequential flows. In architecture/code plans, prefer a repeated section rhythm:
|
|
693
692
|
recommendation title, confidence and category badges, code-path evidence, a
|
|
694
693
|
local before/after or current/target spatial diagram, then concise
|
|
695
|
-
Problem/Solution/Why text.
|
|
696
|
-
other.
|
|
694
|
+
Problem/Solution/Why text.
|
|
697
695
|
- \`tabs\` for multiple states, directions, or comparisons. A tab that reveals
|
|
698
696
|
only prose usually means the plan is under-specified — include a relevant
|
|
699
697
|
visual unless the tab is intentionally document-only.
|
|
@@ -812,8 +810,8 @@ ${EXEMPLAR_CORE}
|
|
|
812
810
|
// cores in the SKILL.md body. Authoring detail lives in the sibling reference
|
|
813
811
|
// files so the SKILL.md stays lean (progressive disclosure); the agent loads the
|
|
814
812
|
// detail on demand.
|
|
815
|
-
const CANVAS_REFERENCE_POINTER = `The canvas is the single source of truth for static UI mockups:
|
|
816
|
-
|
|
813
|
+
const CANVAS_REFERENCE_POINTER = `The canvas is the single source of truth for static UI mockups: the \`surface\`
|
|
814
|
+
locks each artboard's footprint, mixed surfaces lay out
|
|
817
815
|
in lanes, annotations are plain-text designer notes anchored by
|
|
818
816
|
\`targetId\`/\`placement\`, and edits are surgical \`contentPatches\`. Before
|
|
819
817
|
authoring or editing ANY canvas, artboard, or annotation, READ
|
|
@@ -831,9 +829,10 @@ directory before authoring a plan.`;
|
|
|
831
829
|
export const VISUAL_PLANS_SKILL_MD = `---
|
|
832
830
|
name: visual-plan
|
|
833
831
|
description: >-
|
|
834
|
-
Use Agent-Native Plans when coding-agent work needs
|
|
835
|
-
|
|
836
|
-
wireframes or prototypes,
|
|
832
|
+
Use Agent-Native Plans when coding-agent work needs a reviewable plan
|
|
833
|
+
published as an interactive document — inline diagrams, annotated code
|
|
834
|
+
walkthroughs, file trees, optional UI wireframes or prototypes, open-question
|
|
835
|
+
forms, and comments — before implementation starts.
|
|
837
836
|
metadata:
|
|
838
837
|
visibility: exported
|
|
839
838
|
---
|
|
@@ -844,10 +843,9 @@ Agent-Native Plans is structured visual planning mode for coding agents. Build
|
|
|
844
843
|
the plan you would normally write in Markdown, but as a scannable document with
|
|
845
844
|
editable blocks mixed in: inline diagrams, code snippets,
|
|
846
845
|
open questions, and an optional top visual review area (wireframe canvas, live
|
|
847
|
-
prototype, or both in tabs). Architecture
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
are what the user needs to review.
|
|
846
|
+
prototype, or both in tabs). Architecture and backend plans stay document-only;
|
|
847
|
+
UI and product plans start with the top canvas/prototype (the Visual Surface
|
|
848
|
+
Choice section owns that rule).
|
|
851
849
|
|
|
852
850
|
\`/visual-plan\` is the packaged command and main entry point. Choose the review
|
|
853
851
|
mode from the task: UI-first when the work is primarily product UI and review
|
|
@@ -898,9 +896,9 @@ plan needs a richer review surface.
|
|
|
898
896
|
ambiguity would change the design and you cannot resolve it from the code; use
|
|
899
897
|
the host agent's normal ask-user-question flow and batch 2-4 high-leverage
|
|
900
898
|
questions before finalizing. Do not call \`create-visual-questions\` from
|
|
901
|
-
\`/visual-plan
|
|
902
|
-
bottom \`question-form\` Open
|
|
903
|
-
|
|
899
|
+
\`/visual-plan\`. Otherwise state the assumption explicitly and proceed, and
|
|
900
|
+
keep anything unresolved in the plan's single bottom \`question-form\` Open
|
|
901
|
+
Questions block.
|
|
904
902
|
- **The plan is the approval gate.** After surfacing it, ask the user to review
|
|
905
903
|
and approve before you write code, and name which files/areas the work touches.
|
|
906
904
|
Presenting the plan and requesting sign-off is the approval step — do not ask a
|
|
@@ -909,36 +907,19 @@ plan needs a richer review surface.
|
|
|
909
907
|
update the plan with \`update-visual-plan\` rather than only changing course in
|
|
910
908
|
chat, and re-read the approved plan before major steps.
|
|
911
909
|
|
|
912
|
-
##
|
|
913
|
-
|
|
914
|
-
Use local-files privacy mode when the user explicitly asks for no DB writes,
|
|
915
|
-
no hosted Plan app, no Plan MCP publish, fully local files, offline/private
|
|
916
|
-
planning, or when \`AGENT_NATIVE_PLANS_MODE=local-files\` is set. In this mode the
|
|
917
|
-
plan data must never be sent to the Plan MCP server or Plan app action surface.
|
|
918
|
-
|
|
919
|
-
The local-files contract is:
|
|
920
|
-
|
|
921
|
-
- Read source context from local files and shell commands only.
|
|
922
|
-
- Write the plan as a local MDX folder under \`plans/<slug>/\`: \`plan.mdx\`,
|
|
923
|
-
optional \`canvas.mdx\`, optional \`prototype.mdx\`, and optional
|
|
924
|
-
\`.plan-state.json\`.
|
|
925
|
-
- Run \`agent-native plan local preview --dir plans/<slug> --kind plan\` after
|
|
926
|
-
writing or updating the folder. Report the returned local URL or the
|
|
927
|
-
\`/local-plans/<slug>\` route if the local Plan app is running with the same
|
|
928
|
-
\`PLAN_LOCAL_DIR\`.
|
|
929
|
-
- Do **not** call \`create-visual-plan\`, \`create-ui-plan\`,
|
|
930
|
-
\`create-prototype-plan\`, \`create-plan-design\`, \`import-visual-plan-source\`,
|
|
931
|
-
\`update-visual-plan\`, \`patch-visual-plan-source\`, \`get-plan-feedback\`,
|
|
932
|
-
\`export-visual-plan\`, or any hosted Plan tool for that plan.
|
|
933
|
-
- Treat feedback as file or chat feedback: update the MDX files directly, rerun
|
|
934
|
-
the local preview command, and summarize the new local URL/path. Hosted
|
|
935
|
-
comments, sharing, history, and publish/export receipts are unavailable until
|
|
936
|
-
the user explicitly opts into publishing.
|
|
910
|
+
## Always Publish As An Agent-Native Plan — Never Inline
|
|
937
911
|
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
912
|
+
The deliverable is ALWAYS a published Agent-Native Plan created via the Plan
|
|
913
|
+
MCP connector (\`plan\` server, or legacy \`agent-native-plans\`). NEVER hand the
|
|
914
|
+
plan over as inline chat content — no Markdown prose, ASCII sketch, table, or
|
|
915
|
+
fenced wireframe. If the connector's tools are missing, do NOT fall back to
|
|
916
|
+
inline output: the usual cause is a connector that did not finish connecting
|
|
917
|
+
this session (it registers zero tools), not auth. Stop and give the user the
|
|
918
|
+
exact restore step — reconnect via \`/mcp\` (or restart the session); only if
|
|
919
|
+
genuinely unauthenticated, run
|
|
920
|
+
\`agent-native connect https://plan.agent-native.com\`. Publish once the tool is
|
|
921
|
+
reachable. Local-files privacy mode (after Tool Guidance) is the only
|
|
922
|
+
exception.
|
|
942
923
|
|
|
943
924
|
## Core Workflow
|
|
944
925
|
|
|
@@ -947,26 +928,29 @@ otherwise approved by the user.
|
|
|
947
928
|
clarifying questions as needed before generating the plan. If a source plan
|
|
948
929
|
already exists, gather its exact text from the user's paste, a referenced
|
|
949
930
|
file, or recent visible agent context; do not invent source text.
|
|
950
|
-
2.
|
|
951
|
-
|
|
952
|
-
\`
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
\`
|
|
962
|
-
|
|
963
|
-
|
|
931
|
+
2. Call \`get-plan-blocks\` for the authoritative block catalog — do not author
|
|
932
|
+
from memorized tags. Then call the mode-matched create tool:
|
|
933
|
+
\`create-visual-plan\` for document-first plans (architecture, backend, data,
|
|
934
|
+
refactor, API), \`create-ui-plan\` for UI-first plans, \`create-prototype-plan\`
|
|
935
|
+
for prototype-first plans, \`create-plan-design\` for design-first plans,
|
|
936
|
+
\`create-visual-questions\` only when the user explicitly asks for a visual
|
|
937
|
+
intake questionnaire. When a source plan already exists,
|
|
938
|
+
pass it as \`planText\` and preserve the original plan's intent while adding
|
|
939
|
+
structured review content.
|
|
940
|
+
3. Compose or enrich any top UI/product visual surface and write the document
|
|
941
|
+
with native blocks (see \`references/canvas.md\` and
|
|
942
|
+
\`references/document-quality.md\`). Keep the document close to the Markdown
|
|
943
|
+
plan the agent would normally output, or to the existing plan when one was
|
|
944
|
+
provided. For non-visual plans, skip the top visual surface (Visual Surface
|
|
945
|
+
Choice below owns the rule) and put \`diagram\`, \`data-model\`,
|
|
946
|
+
\`api-endpoint\`, \`diff\`, \`file-tree\`, \`code\`, and \`annotated-code\` blocks
|
|
947
|
+
directly next to the relevant prose.
|
|
964
948
|
4. Surface the returned Plans link or inline MCP App and ask the user to review.
|
|
965
949
|
Always include the actual URL in chat so the next step is a click in CLI or
|
|
966
950
|
other text-only hosts. When the host exposes an embedded browser/preview panel
|
|
967
951
|
and a tool can open arbitrary URLs there, open the returned plan URL
|
|
968
|
-
automatically for convenient review
|
|
969
|
-
|
|
952
|
+
automatically for convenient review — a convenience and smoke test, never the
|
|
953
|
+
only handoff or the access
|
|
970
954
|
model. Plans should load out of the box for the local agent and local browser
|
|
971
955
|
session; if a signed-in embedded browser cannot read a local plan that an
|
|
972
956
|
anonymous/tool check can read, fix the app/action ownership or access path
|
|
@@ -1073,8 +1057,8 @@ ${EXEMPLAR_REFERENCE_POINTER}
|
|
|
1073
1057
|
into a prototype plan.
|
|
1074
1058
|
- \`create-visual-questions\`: use only when the user explicitly asks for a visual
|
|
1075
1059
|
intake questionnaire, not as \`/visual-plan\` preflight.
|
|
1076
|
-
- \`update-visual-plan\`: revise content, status, or comments
|
|
1077
|
-
\`contentPatches\`
|
|
1060
|
+
- \`update-visual-plan\`: revise content, status, or comments with targeted
|
|
1061
|
+
\`contentPatches\` (see Core Workflow step 6).
|
|
1078
1062
|
- \`read-visual-plan-source\`: read the normalized plan as \`plan.mdx\`,
|
|
1079
1063
|
optional \`canvas.mdx\`, optional \`.plan-state.json\`, and JSON.
|
|
1080
1064
|
- \`patch-visual-plan-source\`: apply granular MDX AST patches by stable block,
|
|
@@ -1094,54 +1078,75 @@ ${EXEMPLAR_REFERENCE_POINTER}
|
|
|
1094
1078
|
When the user critiques a plan's look or structure, fix the renderer or this
|
|
1095
1079
|
skill — never hand-edit one stored plan. Turn feedback into better guidance.
|
|
1096
1080
|
|
|
1097
|
-
##
|
|
1098
|
-
|
|
1099
|
-
Use \`set-resource-visibility\` to change who can see a plan (e.g. public, login,
|
|
1100
|
-
or org-scoped). Use \`share-resource\` to grant specific users or roles access
|
|
1101
|
-
by email or role. Gate visibility before sharing any plan that covers
|
|
1102
|
-
unreleased or private work — default to the narrowest scope that meets the
|
|
1103
|
-
review need.
|
|
1104
|
-
|
|
1105
|
-
## Setup & Authentication
|
|
1106
|
-
|
|
1107
|
-
There are two ways into Plans.
|
|
1081
|
+
## Local-Files Privacy Mode
|
|
1108
1082
|
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1083
|
+
Use local-files privacy mode when the user explicitly asks for no DB writes,
|
|
1084
|
+
no hosted Plan app, no Plan MCP publish, fully local files, offline/private
|
|
1085
|
+
planning, or when \`AGENT_NATIVE_PLANS_MODE=local-files\` is set. In this mode the
|
|
1086
|
+
plan data must never be sent to the Plan MCP server or Plan app action surface.
|
|
1113
1087
|
|
|
1114
|
-
|
|
1115
|
-
agent-native skills add visual-plan
|
|
1116
|
-
\`\`\`
|
|
1088
|
+
The local-files contract is:
|
|
1117
1089
|
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1090
|
+
- Read source context from local files and shell commands only.
|
|
1091
|
+
- Write the plan as a local MDX folder under \`plans/<slug>/\`: \`plan.mdx\`,
|
|
1092
|
+
optional \`canvas.mdx\`, optional \`prototype.mdx\`, and optional
|
|
1093
|
+
\`.plan-state.json\`.
|
|
1094
|
+
- Run \`agent-native plan local preview --dir plans/<slug> --kind plan\` after
|
|
1095
|
+
writing or updating the folder. Report the returned local URL or the
|
|
1096
|
+
\`/local-plans/<slug>\` route if the local Plan app is running with the same
|
|
1097
|
+
\`PLAN_LOCAL_DIR\`.
|
|
1098
|
+
- Do **not** call \`create-visual-plan\`, \`create-ui-plan\`,
|
|
1099
|
+
\`create-prototype-plan\`, \`create-plan-design\`, \`import-visual-plan-source\`,
|
|
1100
|
+
\`update-visual-plan\`, \`patch-visual-plan-source\`, \`get-plan-feedback\`,
|
|
1101
|
+
\`export-visual-plan\`, or any hosted Plan tool for that plan.
|
|
1102
|
+
- Treat feedback as file or chat feedback: update the MDX files directly, rerun
|
|
1103
|
+
the local preview command, and summarize the new local URL/path. Hosted
|
|
1104
|
+
comments, sharing, history, and publish/export receipts are unavailable until
|
|
1105
|
+
the user explicitly opts into publishing.
|
|
1125
1106
|
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1107
|
+
Local-files mode prevents plan content from going to the Agent-Native Plan
|
|
1108
|
+
database. It does not by itself make the coding agent's language model local;
|
|
1109
|
+
for that stronger privacy boundary, the host agent/model must also be local or
|
|
1110
|
+
otherwise approved by the user.
|
|
1129
1111
|
|
|
1130
|
-
|
|
1131
|
-
|
|
1112
|
+
## Interpreting comment anchors
|
|
1113
|
+
|
|
1114
|
+
\`get-plan-feedback\` returns rich anchors — read them before acting on any comment.
|
|
1115
|
+
|
|
1116
|
+
- **Coordinate frames.** \`targetX\`/\`targetY\` are percentages *within* the
|
|
1117
|
+
element named by \`targetSelector\`/\`targetKind\`. Bare \`x\`/\`y\` are percentages
|
|
1118
|
+
of the whole plan document. \`canvasX\`/\`canvasY\` are raw board-world pixels on
|
|
1119
|
+
the design canvas (board size given when available).
|
|
1120
|
+
- **Wireframe pins.** Anchors on wireframes include \`targetNodeId\` and
|
|
1121
|
+
\`targetNodePath\` (e.g. \`card > list > listItem "Acme Inc"\`) identifying the
|
|
1122
|
+
exact kit node. Use \`targetNodeId\` directly with wireframe node patch ops;
|
|
1123
|
+
use \`data-design-id\` values from design artboards with
|
|
1124
|
+
\`update-design-element-style\`. Prefer the node id/path over raw coordinates;
|
|
1125
|
+
fall back to coordinates plus the focused screenshot (red ring marks the exact
|
|
1126
|
+
point) only when no node id is present.
|
|
1127
|
+
- **Text quotes.** Resolve \`textQuote\` against current prose using
|
|
1128
|
+
\`contextBefore\`/\`contextAfter\` for disambiguation. If \`ambiguous: true\`, ask
|
|
1129
|
+
the user — do not guess which occurrence is meant.
|
|
1130
|
+
- **Detached comments.** \`get-plan-feedback\` flags threads whose quoted text no
|
|
1131
|
+
longer exists as \`detached\` (in \`detachedThreads\`). Reconcile these against
|
|
1132
|
+
rewritten content — never silently drop them.
|
|
1133
|
+
- **Routing.** \`resolutionTarget\` is the only routing signal: act on \`agent\`,
|
|
1134
|
+
treat \`human\` as context only. \`@mentions\` are people to notify, never a
|
|
1135
|
+
routing signal.
|
|
1136
|
+
- **Two-axis state.** Mark every ingested comment as consumed
|
|
1137
|
+
(\`consumedCommentIds\` on \`update-visual-plan\`). Set \`status=resolved\` only on
|
|
1138
|
+
agent-targeted comments you actually addressed; leave human-targeted comments
|
|
1139
|
+
open.
|
|
1132
1140
|
|
|
1133
|
-
|
|
1134
|
-
your repo as MDX. This local mode is a separate advanced path, not the default
|
|
1135
|
-
hosted flow.
|
|
1141
|
+
## Visibility & Sharing
|
|
1136
1142
|
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1143
|
+
Use \`set-resource-visibility\` to change who can see a plan (e.g. public, login,
|
|
1144
|
+
or org-scoped). Use \`share-resource\` to grant specific users or roles access
|
|
1145
|
+
by email or role. Gate visibility before sharing any plan that covers
|
|
1146
|
+
unreleased or private work — default to the narrowest scope that meets the
|
|
1147
|
+
review need.
|
|
1142
1148
|
|
|
1143
|
-
|
|
1144
|
-
not put shared secrets in skill files.
|
|
1149
|
+
${PLAN_SETUP_AUTH_MD}
|
|
1145
1150
|
`;
|
|
1146
1151
|
export const VISUAL_RECAP_SKILL_MD = `---
|
|
1147
1152
|
name: visual-recap
|
|
@@ -1258,7 +1263,8 @@ Do not add boilerplate intro, disclaimer, provenance, or summary prose blocks to
|
|
|
1258
1263
|
the generated plan body. In particular, do not create a \`rich-text\` block just to
|
|
1259
1264
|
say the recap is an aid, that the reviewer should still review the diff, how many
|
|
1260
1265
|
files changed, or which ref/working tree generated the recap. The plan title,
|
|
1261
|
-
brief, \`file-tree
|
|
1266
|
+
brief, and \`file-tree\` (which carries the per-file change stats) already carry
|
|
1267
|
+
that context.
|
|
1262
1268
|
|
|
1263
1269
|
Only add prose blocks when they tell the reviewer something specific about the
|
|
1264
1270
|
change that the structured blocks do not: the objective, a real compatibility
|
|
@@ -1290,6 +1296,34 @@ Skip the diff appendix only for a genuinely tiny change that reviews faster as
|
|
|
1290
1296
|
plain diff (see "When To Use"); for any change worth recapping, the file-tree and
|
|
1291
1297
|
key-change diffs belong in the plan.
|
|
1292
1298
|
|
|
1299
|
+
## Canonical Shape And Budgets
|
|
1300
|
+
|
|
1301
|
+
A strong recap follows one skeleton, top to bottom:
|
|
1302
|
+
|
|
1303
|
+
1. UI-impact headline — wireframes first, when the diff changed rendered UI.
|
|
1304
|
+
2. Short outcome narrative (\`rich-text\`): what changed and why, 1-3 paragraphs.
|
|
1305
|
+
3. \`data-model\` / \`api-endpoint\` blocks for schema and contract changes.
|
|
1306
|
+
4. \`file-tree\` of the changed files with \`change\` flags.
|
|
1307
|
+
5. \`## Key changes\` — one horizontal \`tabs\` block of \`diff\` / \`annotated-code\`.
|
|
1308
|
+
|
|
1309
|
+
Budgets that keep the recap reviewable:
|
|
1310
|
+
|
|
1311
|
+
- 3-8 key-change tabs. Fewer than 3 on a large change under-serves the
|
|
1312
|
+
reviewer; more than 8 stops being a summary.
|
|
1313
|
+
- Keep each diff/annotated-code excerpt focused — prefer under ~150 lines per
|
|
1314
|
+
tab; summarize or link the rest of a long file instead of dumping it.
|
|
1315
|
+
- Title at most ~70 characters; brief 1-3 sentences.
|
|
1316
|
+
|
|
1317
|
+
**GOOD.** A 25-file auth change: Before/After wireframes of the login surface,
|
|
1318
|
+
a two-paragraph narrative, a diff-aware \`data-model\` of the sessions table, an
|
|
1319
|
+
\`api-endpoint\` for the new refresh route, a \`file-tree\` with change flags, and
|
|
1320
|
+
\`## Key changes\` with five focused tabs, each with a one-line \`summary\` and a
|
|
1321
|
+
few annotations on the load-bearing hunks.
|
|
1322
|
+
|
|
1323
|
+
**BAD.** One giant unsegmented diff dump with no summaries or annotations; or a
|
|
1324
|
+
sparse three-block recap of a 40-file change (one wireframe, one sentence, one
|
|
1325
|
+
file list) that forces the reviewer back into the raw diff anyway.
|
|
1326
|
+
|
|
1293
1327
|
## UI Impact Needs Wireframes
|
|
1294
1328
|
|
|
1295
1329
|
When the diff changes rendered UI, layout, density, visual state, interaction
|
|
@@ -1320,8 +1354,8 @@ Choose the smallest visual surface that makes the review clear:
|
|
|
1320
1354
|
|
|
1321
1355
|
- Use a \`Before\` / \`After\` wireframe pair when the reviewer benefits from direct
|
|
1322
1356
|
comparison, such as a removed or added control, a changed state, layout
|
|
1323
|
-
density, ordering, navigation, or a visible component replacement.
|
|
1324
|
-
|
|
1357
|
+
density, ordering, navigation, or a visible component replacement.
|
|
1358
|
+
\`references/wireframe.md\` owns how to lay that pair out (columns vs.
|
|
1325
1359
|
vertical stack by geometry).
|
|
1326
1360
|
- Use an after-only wireframe when the change is purely additive or the "before"
|
|
1327
1361
|
state would only show absence without adding review value.
|
|
@@ -1357,10 +1391,12 @@ wireframes, keep \`renderMode\` unset or \`wireframe\` unless a design-only edit
|
|
|
1357
1391
|
mockup is explicitly required, because \`renderMode="design"\` disables the
|
|
1358
1392
|
sketchy rough overlay.
|
|
1359
1393
|
|
|
1360
|
-
|
|
1361
|
-
the current theme. If any label,
|
|
1362
|
-
overlaps another element, fix the MDX
|
|
1363
|
-
text-match screenshot is not enough;
|
|
1394
|
+
When a browser tool is available, render a UI-impact recap in the Plan viewer
|
|
1395
|
+
and visually inspect it at the current theme before sharing. If any label,
|
|
1396
|
+
annotation, toolbar, or wireframe content overlaps another element, fix the MDX
|
|
1397
|
+
and re-import before reporting the link. A text-match screenshot is not enough;
|
|
1398
|
+
visually inspect the captured image. When no browser is available (for example
|
|
1399
|
+
a headless CI agent), state that in the recap handoff instead.
|
|
1364
1400
|
|
|
1365
1401
|
## Open And Report The Recap
|
|
1366
1402
|
|
|
@@ -1490,14 +1526,10 @@ tags — resolve every conceptual name to its exact tag + prop schema with the
|
|
|
1490
1526
|
quick graph. Use two-dimensional layouts; do not reduce a structural change to
|
|
1491
1527
|
a left-to-right chain. Do not use \`diagram\` as a stand-in for rendered UI
|
|
1492
1528
|
controls; UI changes need \`wireframe\` blocks.
|
|
1493
|
-
|
|
1494
|
-
\`.diagram-panel\`, \`.diagram-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
\`--wf-paper\`, \`--wf-card\`, \`--wf-accent\`, \`--wf-accent-soft\`, \`--wf-warn\`, and
|
|
1498
|
-
\`--wf-ok\`, and switch to Excalifont plus rough.js outlines in sketchy mode. Do not
|
|
1499
|
-
set \`font-family\` and do not emit hex, rgb/hsl literals, or one-off dark/light
|
|
1500
|
-
palettes in diagram CSS.
|
|
1529
|
+
Author diagram HTML/CSS with the renderer-owned \`.diagram-*\` primitives
|
|
1530
|
+
(\`.diagram-panel\`, \`.diagram-node\`, \`.diagram-pill\`, \`[data-rough]\`, …) and
|
|
1531
|
+
the same \`--wf-*\` theme tokens \`references/wireframe.md\` defines — never
|
|
1532
|
+
\`font-family\`, hex, rgb/hsl literals, or one-off dark/light palettes.
|
|
1501
1533
|
- **Outcome-first narrative** → \`rich-text\` for the "what changed and why" prose:
|
|
1502
1534
|
the objective the diff served, the key decisions visible in it, and the risks a
|
|
1503
1535
|
reviewer should weigh. This is the only place the model writes freely.
|
|
@@ -1547,8 +1579,8 @@ A few recap-specific authoring rules the registry table cannot encode:
|
|
|
1547
1579
|
JSON \`tabs={[…]}\` prop — there is NO nested \`<Tab>\` element.
|
|
1548
1580
|
- \`WireframeBlock\`: its body is a single \`<Screen surface ... html=… />\` subtree
|
|
1549
1581
|
(nested MDX, not a flat prop); \`html\` must be a single-quoted string or static
|
|
1550
|
-
template literal, never a dynamic \`html={someVar}\` expression. See
|
|
1551
|
-
|
|
1582
|
+
template literal, never a dynamic \`html={someVar}\` expression. See
|
|
1583
|
+
\`references/wireframe.md\` for the HTML rules.
|
|
1552
1584
|
- \`Diagram\`: the whole payload is one \`data={{ html?, css?, nodes?, edges?, … }}\`
|
|
1553
1585
|
attribute and requires either \`html\` or at least one node; \`Mermaid\` is its
|
|
1554
1586
|
own separate block (\`source\` text), not a \`Diagram\` prop.
|
|
@@ -1576,7 +1608,7 @@ sequence when that better matches the change. The visual headline must show
|
|
|
1576
1608
|
exact placement, realistic chrome, and adequate padding before any abstract
|
|
1577
1609
|
explanation. Do not stop at the first visible affordance when the diff adds a
|
|
1578
1610
|
flow; show the entry point, the opened surface, and the resulting state or page
|
|
1579
|
-
so the reviewer can trace the actual user path.
|
|
1611
|
+
so the reviewer can trace the actual user path. \`references/wireframe.md\` owns
|
|
1580
1612
|
the before/after layout choice —
|
|
1581
1613
|
the \`columns\` renderer keeps narrow surfaces side by side and auto-stacks wide
|
|
1582
1614
|
\`desktop\`/\`browser\` frames vertically; never hand-build a side-by-side
|
|
@@ -1630,6 +1662,10 @@ auto-re-run is the remaining fast-follow.
|
|
|
1630
1662
|
- **visual-plan** — the canonical command and the source of the shared Wireframe
|
|
1631
1663
|
& Canvas and Document Quality cores; a recap follows the same block discipline
|
|
1632
1664
|
in reverse.
|
|
1665
|
+
- **comment anchors** — recap comments use the same anchor rules as forward
|
|
1666
|
+
plans; see "Interpreting comment anchors" in the visual-plan skill for
|
|
1667
|
+
coordinate frames, wireframe node ids, text-quote resolution, detached
|
|
1668
|
+
threads, routing via \`resolutionTarget\`, and two-axis consumed/resolved state.
|
|
1633
1669
|
- **security** — data scoping, secret handling, and the hardcoded-secret rule the
|
|
1634
1670
|
recap's redaction and visibility gating mirror.
|
|
1635
1671
|
- **sharing** — org/login-gated visibility for the plan that holds the recap.
|
|
@@ -1743,7 +1779,7 @@ export const BUILT_IN_APP_SKILLS = {
|
|
|
1743
1779
|
schemaVersion: 1,
|
|
1744
1780
|
id: "visual-plans",
|
|
1745
1781
|
displayName: "Agent-Native Plan",
|
|
1746
|
-
description: "Generate and review coding-agent plans as structured documents with inline diagrams,
|
|
1782
|
+
description: "Generate and review coding-agent plans as structured documents with inline diagrams, annotated code walkthroughs, file trees, annotations, feedback, and HTML export.",
|
|
1747
1783
|
hosted: {
|
|
1748
1784
|
url: "https://plan.agent-native.com",
|
|
1749
1785
|
mcpUrl: "https://plan.agent-native.com/_agent-native/mcp",
|
|
@@ -2326,6 +2362,12 @@ export function parseSkillsArgs(argv) {
|
|
|
2326
2362
|
out.client = value;
|
|
2327
2363
|
out.clientExplicit = true;
|
|
2328
2364
|
}
|
|
2365
|
+
else if ((value = eat("--skill")) !== undefined) {
|
|
2366
|
+
out.plainSkillNames = [...(out.plainSkillNames ?? []), value];
|
|
2367
|
+
}
|
|
2368
|
+
else if ((value = eat("-s")) !== undefined) {
|
|
2369
|
+
out.plainSkillNames = [...(out.plainSkillNames ?? []), value];
|
|
2370
|
+
}
|
|
2329
2371
|
else if ((value = eat("--scope")) !== undefined) {
|
|
2330
2372
|
out.scope = value;
|
|
2331
2373
|
out.scopeExplicit = true;
|
|
@@ -2346,6 +2388,12 @@ export function parseSkillsArgs(argv) {
|
|
|
2346
2388
|
out.connect = false;
|
|
2347
2389
|
else if (arg === "--with-github-action" || arg === "--with-github-actions")
|
|
2348
2390
|
out.withGithubAction = true;
|
|
2391
|
+
else if (arg === "--update-instructions")
|
|
2392
|
+
out.updateInstructions = true;
|
|
2393
|
+
else if (arg === "--no-update-instructions")
|
|
2394
|
+
out.updateInstructions = false;
|
|
2395
|
+
else if (arg === "--force")
|
|
2396
|
+
out.force = true;
|
|
2349
2397
|
else if (arg.startsWith("-"))
|
|
2350
2398
|
throw new Error(`Unknown option: ${arg}`);
|
|
2351
2399
|
else if (!out.target)
|
|
@@ -2475,6 +2523,10 @@ function dryRunInstallCommand(parsed, target) {
|
|
|
2475
2523
|
args.push("--no-connect");
|
|
2476
2524
|
if (parsed.withGithubAction)
|
|
2477
2525
|
args.push("--with-github-action");
|
|
2526
|
+
if (parsed.updateInstructions === true)
|
|
2527
|
+
args.push("--update-instructions");
|
|
2528
|
+
if (parsed.updateInstructions === false)
|
|
2529
|
+
args.push("--no-update-instructions");
|
|
2478
2530
|
if (parsed.yes || isKnownSkill(target))
|
|
2479
2531
|
args.push("--yes");
|
|
2480
2532
|
return commandString("agent-native", args);
|
|
@@ -2548,6 +2600,97 @@ function withMcpUrlOverride(target, input) {
|
|
|
2548
2600
|
},
|
|
2549
2601
|
};
|
|
2550
2602
|
}
|
|
2603
|
+
function isPlainSkillRepoPath(target) {
|
|
2604
|
+
const resolved = path.resolve(target);
|
|
2605
|
+
if (!fs.existsSync(resolved))
|
|
2606
|
+
return false;
|
|
2607
|
+
const stat = fs.statSync(resolved);
|
|
2608
|
+
if (!stat.isDirectory())
|
|
2609
|
+
return false;
|
|
2610
|
+
const hasDirectSkill = fs.existsSync(path.join(resolved, "SKILL.md"));
|
|
2611
|
+
const skillsDir = path.join(resolved, "skills");
|
|
2612
|
+
const hasSkillsDir = fs.existsSync(skillsDir) &&
|
|
2613
|
+
fs
|
|
2614
|
+
.readdirSync(skillsDir, { withFileTypes: true })
|
|
2615
|
+
.some((entry) => entry.isDirectory() &&
|
|
2616
|
+
fs.existsSync(path.join(skillsDir, entry.name, "SKILL.md")));
|
|
2617
|
+
const hasAppSkillManifest = fs.existsSync(path.join(resolved, "agent-native.app-skill.json"));
|
|
2618
|
+
return !hasAppSkillManifest && (hasDirectSkill || hasSkillsDir);
|
|
2619
|
+
}
|
|
2620
|
+
function isGithubSkillRepoTarget(target) {
|
|
2621
|
+
if (/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#.+)?$/.test(target)) {
|
|
2622
|
+
return true;
|
|
2623
|
+
}
|
|
2624
|
+
try {
|
|
2625
|
+
const url = new URL(target);
|
|
2626
|
+
return url.hostname === "github.com";
|
|
2627
|
+
}
|
|
2628
|
+
catch {
|
|
2629
|
+
return false;
|
|
2630
|
+
}
|
|
2631
|
+
}
|
|
2632
|
+
function isPlainSkillRepoTarget(target) {
|
|
2633
|
+
return isPlainSkillRepoPath(target) || isGithubSkillRepoTarget(target);
|
|
2634
|
+
}
|
|
2635
|
+
function agentNativeSkillsInstallArgs(parsed, target, clients) {
|
|
2636
|
+
const args = [
|
|
2637
|
+
"--yes",
|
|
2638
|
+
"@agent-native/skills@latest",
|
|
2639
|
+
"add",
|
|
2640
|
+
target,
|
|
2641
|
+
"--client",
|
|
2642
|
+
clientArgForClients(clients),
|
|
2643
|
+
"--scope",
|
|
2644
|
+
parsed.scope,
|
|
2645
|
+
];
|
|
2646
|
+
if (parsed.withGithubAction)
|
|
2647
|
+
args.push("--with-github-action");
|
|
2648
|
+
if (parsed.force)
|
|
2649
|
+
args.push("--force");
|
|
2650
|
+
for (const skill of parsed.plainSkillNames ?? []) {
|
|
2651
|
+
args.push("--skill", skill);
|
|
2652
|
+
}
|
|
2653
|
+
if (parsed.updateInstructions === true)
|
|
2654
|
+
args.push("--update-instructions");
|
|
2655
|
+
if (parsed.updateInstructions === false)
|
|
2656
|
+
args.push("--no-update-instructions");
|
|
2657
|
+
if (parsed.yes)
|
|
2658
|
+
args.push("--yes");
|
|
2659
|
+
return args;
|
|
2660
|
+
}
|
|
2661
|
+
async function addPlainSkillRepo(parsed, options) {
|
|
2662
|
+
const target = parsed.target;
|
|
2663
|
+
if (!parsed.instructions && parsed.mcp) {
|
|
2664
|
+
throw new Error("Plain skill repositories only install skill instructions. Run without --mcp-only.");
|
|
2665
|
+
}
|
|
2666
|
+
if (parsed.mcpUrl) {
|
|
2667
|
+
throw new Error("--mcp-url only applies to app-backed Agent Native skills.");
|
|
2668
|
+
}
|
|
2669
|
+
const clients = parsed.clients ?? resolveClients(parsed.client);
|
|
2670
|
+
const skillsAgents = skillsAgentsForClients(clients);
|
|
2671
|
+
if (skillsAgents.length === 0) {
|
|
2672
|
+
throw new Error("Plain skill repositories can only install instructions for Codex or Claude Code clients.");
|
|
2673
|
+
}
|
|
2674
|
+
const args = agentNativeSkillsInstallArgs(parsed, target, clients);
|
|
2675
|
+
if (!parsed.dryRun) {
|
|
2676
|
+
const code = await (options.runCommand ?? runCommand)("npx", args, {
|
|
2677
|
+
stdio: parsed.yes ? "silent" : "inherit",
|
|
2678
|
+
});
|
|
2679
|
+
if (code !== 0)
|
|
2680
|
+
throw new Error(`npx @agent-native/skills add exited with ${code}.`);
|
|
2681
|
+
}
|
|
2682
|
+
return {
|
|
2683
|
+
id: target,
|
|
2684
|
+
displayName: target,
|
|
2685
|
+
skillNames: [],
|
|
2686
|
+
skillsAgents,
|
|
2687
|
+
mcpUrl: "",
|
|
2688
|
+
mcpClients: [],
|
|
2689
|
+
dryRun: parsed.dryRun,
|
|
2690
|
+
commands: [commandString("npx", args)],
|
|
2691
|
+
local: true,
|
|
2692
|
+
};
|
|
2693
|
+
}
|
|
2551
2694
|
/**
|
|
2552
2695
|
* Whether we can run the interactive browser/device auth flow. CI and
|
|
2553
2696
|
* non-TTY shells must not block on a browser approval, so we skip the inline
|
|
@@ -2617,6 +2760,9 @@ async function connectAfterEnsure(installTarget, clients, parsed, options) {
|
|
|
2617
2760
|
export async function addAgentNativeSkill(parsed, options = {}) {
|
|
2618
2761
|
const target = parsed.target ?? "assets";
|
|
2619
2762
|
const knownTarget = normalizeKnownSkillTarget(target);
|
|
2763
|
+
if (!knownTarget && isPlainSkillRepoTarget(target)) {
|
|
2764
|
+
return addPlainSkillRepo({ ...parsed, target }, options);
|
|
2765
|
+
}
|
|
2620
2766
|
if (!knownTarget && !fs.existsSync(path.resolve(target))) {
|
|
2621
2767
|
throw new Error(`Unknown skill or manifest path: ${target}. Run "agent-native skills list".`);
|
|
2622
2768
|
}
|
|
@@ -2715,7 +2861,7 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2715
2861
|
instructionSource = installTarget.materializeInstructions(tmpRoot);
|
|
2716
2862
|
const args = [
|
|
2717
2863
|
"--yes",
|
|
2718
|
-
"skills@latest",
|
|
2864
|
+
"@agent-native/skills@latest",
|
|
2719
2865
|
"add",
|
|
2720
2866
|
instructionSource,
|
|
2721
2867
|
"--copy",
|
|
@@ -2730,7 +2876,7 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2730
2876
|
stdio: "silent",
|
|
2731
2877
|
});
|
|
2732
2878
|
if (code !== 0)
|
|
2733
|
-
throw new Error(`npx skills add exited with ${code}.`);
|
|
2879
|
+
throw new Error(`npx @agent-native/skills add exited with ${code}.`);
|
|
2734
2880
|
}
|
|
2735
2881
|
}
|
|
2736
2882
|
}
|
|
@@ -2785,10 +2931,16 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2785
2931
|
options.log?.("--with-github-action only applies to the visual-plan skill; skipping the workflow.");
|
|
2786
2932
|
}
|
|
2787
2933
|
else {
|
|
2788
|
-
const
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2934
|
+
const writeResult = writePrVisualRecapWorkflow(baseDir, {
|
|
2935
|
+
force: Boolean(parsed.force),
|
|
2936
|
+
});
|
|
2937
|
+
if (writeResult.status === "refused") {
|
|
2938
|
+
throw new Error(`recap workflow: ${writeResult.message}`);
|
|
2939
|
+
}
|
|
2940
|
+
githubActionPath = writeResult.path;
|
|
2941
|
+
githubActionExisted =
|
|
2942
|
+
writeResult.status === "written" ? writeResult.existed : false;
|
|
2943
|
+
commands.push(`write ${writeResult.path}`);
|
|
2792
2944
|
}
|
|
2793
2945
|
}
|
|
2794
2946
|
return {
|