@agent-native/core 0.37.3 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -6
- package/dist/action.d.ts +60 -2
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +6 -2
- package/dist/action.js.map +1 -1
- package/dist/agent/production-agent.d.ts +12 -6
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +161 -11
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/types.d.ts +2 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/catalog.json +2 -2
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +15 -0
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +8 -1
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +10 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plan-publish-store.d.ts +52 -0
- package/dist/cli/plan-publish-store.d.ts.map +1 -0
- package/dist/cli/plan-publish-store.js +103 -0
- package/dist/cli/plan-publish-store.js.map +1 -0
- package/dist/cli/skills.d.ts +30 -4
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +1240 -339
- package/dist/cli/skills.js.map +1 -1
- package/dist/cli/templates-meta.js +12 -12
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +3 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +65 -15
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +20 -2
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +12 -0
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-engine-key.d.ts +24 -0
- package/dist/client/agent-engine-key.d.ts.map +1 -0
- package/dist/client/agent-engine-key.js +49 -0
- package/dist/client/agent-engine-key.js.map +1 -0
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +34 -0
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/blocks/BlockView.d.ts +35 -0
- package/dist/client/blocks/BlockView.d.ts.map +1 -0
- package/dist/client/blocks/BlockView.js +45 -0
- package/dist/client/blocks/BlockView.js.map +1 -0
- package/dist/client/blocks/SchemaBlockEditor.d.ts +25 -0
- package/dist/client/blocks/SchemaBlockEditor.d.ts.map +1 -0
- package/dist/client/blocks/SchemaBlockEditor.js +165 -0
- package/dist/client/blocks/SchemaBlockEditor.js.map +1 -0
- package/dist/client/blocks/agent.d.ts +30 -0
- package/dist/client/blocks/agent.d.ts.map +1 -0
- package/dist/client/blocks/agent.js +61 -0
- package/dist/client/blocks/agent.js.map +1 -0
- package/dist/client/blocks/index.d.ts +51 -0
- package/dist/client/blocks/index.d.ts.map +1 -0
- package/dist/client/blocks/index.js +67 -0
- package/dist/client/blocks/index.js.map +1 -0
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts +6 -0
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/AnnotatedCodeBlock.js +135 -0
- package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -0
- package/dist/client/blocks/library/ApiEndpointBlock.d.ts +20 -0
- package/dist/client/blocks/library/ApiEndpointBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/ApiEndpointBlock.js +131 -0
- package/dist/client/blocks/library/ApiEndpointBlock.js.map +1 -0
- package/dist/client/blocks/library/DataModelBlock.d.ts +28 -0
- package/dist/client/blocks/library/DataModelBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/DataModelBlock.js +222 -0
- package/dist/client/blocks/library/DataModelBlock.js.map +1 -0
- package/dist/client/blocks/library/DiffBlock.d.ts +6 -0
- package/dist/client/blocks/library/DiffBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/DiffBlock.js +293 -0
- package/dist/client/blocks/library/DiffBlock.js.map +1 -0
- package/dist/client/blocks/library/FileTreeBlock.d.ts +23 -0
- package/dist/client/blocks/library/FileTreeBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/FileTreeBlock.js +225 -0
- package/dist/client/blocks/library/FileTreeBlock.js.map +1 -0
- package/dist/client/blocks/library/JsonExplorerBlock.d.ts +19 -0
- package/dist/client/blocks/library/JsonExplorerBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/JsonExplorerBlock.js +171 -0
- package/dist/client/blocks/library/JsonExplorerBlock.js.map +1 -0
- package/dist/client/blocks/library/MermaidBlock.d.ts +17 -0
- package/dist/client/blocks/library/MermaidBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/MermaidBlock.js +131 -0
- package/dist/client/blocks/library/MermaidBlock.js.map +1 -0
- package/dist/client/blocks/library/OpenApiSpecBlock.d.ts +19 -0
- package/dist/client/blocks/library/OpenApiSpecBlock.d.ts.map +1 -0
- package/dist/client/blocks/library/OpenApiSpecBlock.js +494 -0
- package/dist/client/blocks/library/OpenApiSpecBlock.js.map +1 -0
- package/dist/client/blocks/library/annotated-code.config.d.ts +58 -0
- package/dist/client/blocks/library/annotated-code.config.d.ts.map +1 -0
- package/dist/client/blocks/library/annotated-code.config.js +53 -0
- package/dist/client/blocks/library/annotated-code.config.js.map +1 -0
- package/dist/client/blocks/library/api-endpoint.config.d.ts +71 -0
- package/dist/client/blocks/library/api-endpoint.config.d.ts.map +1 -0
- package/dist/client/blocks/library/api-endpoint.config.js +91 -0
- package/dist/client/blocks/library/api-endpoint.config.js.map +1 -0
- package/dist/client/blocks/library/checklist.config.d.ts +36 -0
- package/dist/client/blocks/library/checklist.config.d.ts.map +1 -0
- package/dist/client/blocks/library/checklist.config.js +25 -0
- package/dist/client/blocks/library/checklist.config.js.map +1 -0
- package/dist/client/blocks/library/checklist.d.ts +26 -0
- package/dist/client/blocks/library/checklist.d.ts.map +1 -0
- package/dist/client/blocks/library/checklist.js +78 -0
- package/dist/client/blocks/library/checklist.js.map +1 -0
- package/dist/client/blocks/library/code-tabs.config.d.ts +36 -0
- package/dist/client/blocks/library/code-tabs.config.d.ts.map +1 -0
- package/dist/client/blocks/library/code-tabs.config.js +30 -0
- package/dist/client/blocks/library/code-tabs.config.js.map +1 -0
- package/dist/client/blocks/library/code-tabs.d.ts +3 -0
- package/dist/client/blocks/library/code-tabs.d.ts.map +1 -0
- package/dist/client/blocks/library/code-tabs.js +165 -0
- package/dist/client/blocks/library/code-tabs.js.map +1 -0
- package/dist/client/blocks/library/data-model.config.d.ts +72 -0
- package/dist/client/blocks/library/data-model.config.d.ts.map +1 -0
- package/dist/client/blocks/library/data-model.config.js +59 -0
- package/dist/client/blocks/library/data-model.config.js.map +1 -0
- package/dist/client/blocks/library/dev-doc-ui.d.ts +49 -0
- package/dist/client/blocks/library/dev-doc-ui.d.ts.map +1 -0
- package/dist/client/blocks/library/dev-doc-ui.js +50 -0
- package/dist/client/blocks/library/dev-doc-ui.js.map +1 -0
- package/dist/client/blocks/library/diff.config.d.ts +41 -0
- package/dist/client/blocks/library/diff.config.d.ts.map +1 -0
- package/dist/client/blocks/library/diff.config.js +34 -0
- package/dist/client/blocks/library/diff.config.js.map +1 -0
- package/dist/client/blocks/library/file-tree.config.d.ts +59 -0
- package/dist/client/blocks/library/file-tree.config.d.ts.map +1 -0
- package/dist/client/blocks/library/file-tree.config.js +45 -0
- package/dist/client/blocks/library/file-tree.config.js.map +1 -0
- package/dist/client/blocks/library/html.config.d.ts +37 -0
- package/dist/client/blocks/library/html.config.d.ts.map +1 -0
- package/dist/client/blocks/library/html.config.js +46 -0
- package/dist/client/blocks/library/html.config.js.map +1 -0
- package/dist/client/blocks/library/html.d.ts +21 -0
- package/dist/client/blocks/library/html.d.ts.map +1 -0
- package/dist/client/blocks/library/html.js +72 -0
- package/dist/client/blocks/library/html.js.map +1 -0
- package/dist/client/blocks/library/json-explorer.config.d.ts +46 -0
- package/dist/client/blocks/library/json-explorer.config.d.ts.map +1 -0
- package/dist/client/blocks/library/json-explorer.config.js +28 -0
- package/dist/client/blocks/library/json-explorer.config.js.map +1 -0
- package/dist/client/blocks/library/mermaid.config.d.ts +32 -0
- package/dist/client/blocks/library/mermaid.config.d.ts.map +1 -0
- package/dist/client/blocks/library/mermaid.config.js +24 -0
- package/dist/client/blocks/library/mermaid.config.js.map +1 -0
- package/dist/client/blocks/library/openapi-spec.config.d.ts +49 -0
- package/dist/client/blocks/library/openapi-spec.config.d.ts.map +1 -0
- package/dist/client/blocks/library/openapi-spec.config.js +24 -0
- package/dist/client/blocks/library/openapi-spec.config.js.map +1 -0
- package/dist/client/blocks/library/server-specs.d.ts +35 -0
- package/dist/client/blocks/library/server-specs.d.ts.map +1 -0
- package/dist/client/blocks/library/server-specs.js +171 -0
- package/dist/client/blocks/library/server-specs.js.map +1 -0
- package/dist/client/blocks/library/specs.d.ts +29 -0
- package/dist/client/blocks/library/specs.d.ts.map +1 -0
- package/dist/client/blocks/library/specs.js +229 -0
- package/dist/client/blocks/library/specs.js.map +1 -0
- package/dist/client/blocks/library/table.config.d.ts +30 -0
- package/dist/client/blocks/library/table.config.d.ts.map +1 -0
- package/dist/client/blocks/library/table.config.js +22 -0
- package/dist/client/blocks/library/table.config.js.map +1 -0
- package/dist/client/blocks/library/table.d.ts +8 -0
- package/dist/client/blocks/library/table.d.ts.map +1 -0
- package/dist/client/blocks/library/table.js +109 -0
- package/dist/client/blocks/library/table.js.map +1 -0
- package/dist/client/blocks/library/tabs.config.d.ts +56 -0
- package/dist/client/blocks/library/tabs.config.d.ts.map +1 -0
- package/dist/client/blocks/library/tabs.config.js +36 -0
- package/dist/client/blocks/library/tabs.config.js.map +1 -0
- package/dist/client/blocks/library/tabs.d.ts +20 -0
- package/dist/client/blocks/library/tabs.d.ts.map +1 -0
- package/dist/client/blocks/library/tabs.js +123 -0
- package/dist/client/blocks/library/tabs.js.map +1 -0
- package/dist/client/blocks/mdx.d.ts +74 -0
- package/dist/client/blocks/mdx.d.ts.map +1 -0
- package/dist/client/blocks/mdx.js +205 -0
- package/dist/client/blocks/mdx.js.map +1 -0
- package/dist/client/blocks/provider.d.ts +25 -0
- package/dist/client/blocks/provider.d.ts.map +1 -0
- package/dist/client/blocks/provider.js +19 -0
- package/dist/client/blocks/provider.js.map +1 -0
- package/dist/client/blocks/registry.d.ts +32 -0
- package/dist/client/blocks/registry.d.ts.map +1 -0
- package/dist/client/blocks/registry.js +65 -0
- package/dist/client/blocks/registry.js.map +1 -0
- package/dist/client/blocks/schema-form/introspect.d.ts +31 -0
- package/dist/client/blocks/schema-form/introspect.d.ts.map +1 -0
- package/dist/client/blocks/schema-form/introspect.js +164 -0
- package/dist/client/blocks/schema-form/introspect.js.map +1 -0
- package/dist/client/blocks/server.d.ts +31 -0
- package/dist/client/blocks/server.d.ts.map +1 -0
- package/dist/client/blocks/server.js +41 -0
- package/dist/client/blocks/server.js.map +1 -0
- package/dist/client/blocks/types.d.ts +252 -0
- package/dist/client/blocks/types.d.ts.map +1 -0
- package/dist/client/blocks/types.js +5 -0
- package/dist/client/blocks/types.js.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.js +10 -1
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/client/guided-questions.d.ts +68 -0
- package/dist/client/guided-questions.d.ts.map +1 -1
- package/dist/client/guided-questions.js +158 -3
- package/dist/client/guided-questions.js.map +1 -1
- package/dist/client/index.d.ts +6 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +24 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts +37 -0
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/BubbleToolbar.js +161 -0
- package/dist/client/rich-markdown-editor/BubbleToolbar.js.map +1 -0
- package/dist/client/rich-markdown-editor/DragHandle.d.ts +52 -0
- package/dist/client/rich-markdown-editor/DragHandle.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/DragHandle.js +403 -0
- package/dist/client/rich-markdown-editor/DragHandle.js.map +1 -0
- package/dist/client/rich-markdown-editor/ImageExtension.d.ts +63 -0
- package/dist/client/rich-markdown-editor/ImageExtension.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/ImageExtension.js +242 -0
- package/dist/client/rich-markdown-editor/ImageExtension.js.map +1 -0
- package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts +97 -0
- package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js +214 -0
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts +51 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.js +37 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.js.map +1 -0
- package/dist/client/rich-markdown-editor/RunId.d.ts +28 -0
- package/dist/client/rich-markdown-editor/RunId.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/RunId.js +60 -0
- package/dist/client/rich-markdown-editor/RunId.js.map +1 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts +85 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.js +130 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +1 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts +36 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.js +193 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.js.map +1 -0
- package/dist/client/rich-markdown-editor/extensions.d.ts +166 -0
- package/dist/client/rich-markdown-editor/extensions.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/extensions.js +222 -0
- package/dist/client/rich-markdown-editor/extensions.js.map +1 -0
- package/dist/client/rich-markdown-editor/gfmDoc.d.ts +24 -0
- package/dist/client/rich-markdown-editor/gfmDoc.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/gfmDoc.js +83 -0
- package/dist/client/rich-markdown-editor/gfmDoc.js.map +1 -0
- package/dist/client/rich-markdown-editor/index.d.ts +14 -0
- package/dist/client/rich-markdown-editor/index.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/index.js +14 -0
- package/dist/client/rich-markdown-editor/index.js.map +1 -0
- package/dist/client/rich-markdown-editor/registrySlashCommands.d.ts +46 -0
- package/dist/client/rich-markdown-editor/registrySlashCommands.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/registrySlashCommands.js +13 -0
- package/dist/client/rich-markdown-editor/registrySlashCommands.js.map +1 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.d.ts +18 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.js +57 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.js.map +1 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts +91 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.js +375 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.js.map +1 -0
- package/dist/client/track.d.ts +25 -0
- package/dist/client/track.d.ts.map +1 -0
- package/dist/client/track.js +53 -0
- package/dist/client/track.js.map +1 -0
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +6 -0
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/use-session.d.ts +3 -2
- package/dist/client/use-session.d.ts.map +1 -1
- package/dist/client/use-session.js +3 -2
- package/dist/client/use-session.js.map +1 -1
- package/dist/deploy/build.d.ts +5 -0
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +67 -1
- package/dist/deploy/build.js.map +1 -1
- package/dist/extensions/schema.d.ts +1 -1
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +9 -2
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +35 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/provider-api/index.d.ts +1 -1
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/scripts/docs/search.d.ts.map +1 -1
- package/dist/scripts/docs/search.js +5 -2
- package/dist/scripts/docs/search.js.map +1 -1
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +16 -3
- package/dist/scripts/runner.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +2 -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 +30 -4
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +65 -19
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +8 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/agents-bundle.d.ts +27 -1
- package/dist/server/agents-bundle.d.ts.map +1 -1
- package/dist/server/agents-bundle.js +41 -3
- package/dist/server/agents-bundle.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +76 -3
- package/dist/server/auth.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +60 -0
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +160 -22
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/sentry.d.ts.map +1 -1
- package/dist/server/sentry.js +6 -0
- package/dist/server/sentry.js.map +1 -1
- package/dist/server/social-og-image.d.ts +2 -1
- package/dist/server/social-og-image.d.ts.map +1 -1
- package/dist/server/social-og-image.js +24 -4
- package/dist/server/social-og-image.js.map +1 -1
- package/dist/sharing/schema.d.ts +1 -1
- package/dist/styles/agent-native.css +1 -0
- package/dist/styles/rich-markdown-editor.css +439 -0
- package/dist/templates/default/.agents/skills/actions/SKILL.md +4 -1
- package/dist/templates/default/.agents/skills/security/SKILL.md +13 -4
- package/dist/templates/default/.agents/skills/storing-data/SKILL.md +15 -3
- package/dist/templates/default/AGENTS.md +1 -0
- package/dist/templates/default/DEVELOPING.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +10 -3
- package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +98 -10
- package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +45 -3
- package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +37 -4
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +9 -4
- package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/client-methods/SKILL.md +106 -0
- package/dist/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +53 -0
- package/dist/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +62 -61
- package/dist/templates/workspace-core/.agents/skills/context-xray/SKILL.md +47 -0
- package/dist/templates/workspace-core/.agents/skills/create-skill/SKILL.md +28 -0
- package/dist/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +52 -1
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +95 -433
- package/dist/templates/workspace-core/.agents/skills/extensions/references/api.md +285 -0
- package/dist/templates/workspace-core/.agents/skills/extensions/references/examples.md +259 -0
- package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +398 -0
- package/dist/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +157 -0
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +17 -0
- package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +13 -2
- package/dist/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +51 -0
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +14 -4
- package/dist/templates/workspace-core/.agents/skills/onboarding/SKILL.md +13 -1
- package/dist/templates/workspace-core/.agents/skills/portability/SKILL.md +27 -5
- package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +24 -8
- package/dist/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +53 -7
- package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +43 -10
- package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +43 -14
- package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +50 -1
- package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -2
- package/dist/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +11 -1
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +15 -0
- package/dist/templates/workspace-core/.agents/skills/sharing/SKILL.md +5 -1
- package/dist/templates/workspace-core/.agents/skills/storing-data/SKILL.md +48 -19
- package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +7 -3
- package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +13 -6
- package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +236 -0
- package/dist/templates/workspace-core/AGENTS.md +5 -1
- package/dist/templates/workspace-root/AGENTS.md +5 -2
- package/dist/tracking/route.d.ts +43 -0
- package/dist/tracking/route.d.ts.map +1 -0
- package/dist/tracking/route.js +85 -0
- package/dist/tracking/route.js.map +1 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +15 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/a2a-protocol.md +18 -4
- package/docs/content/actions.md +87 -0
- package/docs/content/agent-mentions.md +2 -1
- package/docs/content/authentication.md +2 -1
- package/docs/content/client.md +64 -13
- package/docs/content/cloneable-saas.md +1 -1
- package/docs/content/code-agents-ui.md +17 -11
- package/docs/content/context-awareness.md +23 -28
- package/docs/content/creating-templates.md +1 -1
- package/docs/content/drop-in-agent.md +2 -0
- package/docs/content/getting-started.md +2 -2
- package/docs/content/key-concepts.md +2 -2
- package/docs/content/messaging.md +57 -15
- package/docs/content/migration-workbench.md +1 -1
- package/docs/content/multi-app-workspace.md +1 -1
- package/docs/content/multi-tenancy.md +17 -15
- package/docs/content/real-time-collaboration.md +1 -1
- package/docs/content/recurring-jobs.md +1 -1
- package/docs/content/security.md +2 -2
- package/docs/content/server.md +4 -4
- package/docs/content/skills-guide.md +30 -0
- package/docs/content/template-analytics.md +2 -2
- package/docs/content/template-assets.md +17 -1
- package/docs/content/template-brain.md +2 -2
- package/docs/content/template-calendar.md +1 -1
- package/docs/content/template-clips.md +3 -3
- package/docs/content/template-content.md +2 -2
- package/docs/content/template-design.md +2 -2
- package/docs/content/template-dispatch.md +3 -3
- package/docs/content/template-forms.md +14 -2
- package/docs/content/template-mail.md +1 -3
- package/docs/content/template-plan.md +133 -0
- package/docs/content/template-slides.md +5 -4
- package/docs/content/template-starter.md +4 -4
- package/docs/content/template-videos.md +6 -11
- package/docs/content/tracking.md +21 -1
- package/docs/content/visual-plans.md +74 -0
- package/docs/content/workspace.md +9 -9
- package/package.json +26 -11
- package/src/templates/default/.agents/skills/actions/SKILL.md +4 -1
- package/src/templates/default/.agents/skills/security/SKILL.md +13 -4
- package/src/templates/default/.agents/skills/storing-data/SKILL.md +15 -3
- package/src/templates/default/AGENTS.md +1 -0
- package/src/templates/default/DEVELOPING.md +2 -0
- package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +10 -3
- package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +98 -10
- package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +45 -3
- package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +37 -4
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +9 -4
- package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/client-methods/SKILL.md +106 -0
- package/src/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +53 -0
- package/src/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +62 -61
- package/src/templates/workspace-core/.agents/skills/context-xray/SKILL.md +47 -0
- package/src/templates/workspace-core/.agents/skills/create-skill/SKILL.md +28 -0
- package/src/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +52 -1
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +95 -433
- package/src/templates/workspace-core/.agents/skills/extensions/references/api.md +285 -0
- package/src/templates/workspace-core/.agents/skills/extensions/references/examples.md +259 -0
- package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +398 -0
- package/src/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +157 -0
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +17 -0
- package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +13 -2
- package/src/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +51 -0
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +14 -4
- package/src/templates/workspace-core/.agents/skills/onboarding/SKILL.md +13 -1
- package/src/templates/workspace-core/.agents/skills/portability/SKILL.md +27 -5
- package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +24 -8
- package/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +53 -7
- package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +43 -10
- package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +43 -14
- package/src/templates/workspace-core/.agents/skills/security/SKILL.md +50 -1
- package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -2
- package/src/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +11 -1
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +15 -0
- package/src/templates/workspace-core/.agents/skills/sharing/SKILL.md +5 -1
- package/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +48 -19
- package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +7 -3
- package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +13 -6
- package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +236 -0
- package/src/templates/workspace-core/AGENTS.md +5 -1
- package/src/templates/workspace-root/AGENTS.md +5 -2
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
.an-rich-md-wrapper {
|
|
2
|
+
min-height: 100%;
|
|
3
|
+
position: relative;
|
|
4
|
+
cursor: text;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.an-rich-md-wrapper--readonly {
|
|
8
|
+
cursor: default;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.an-rich-md-loading {
|
|
12
|
+
min-height: 7rem;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.an-rich-md-prose {
|
|
16
|
+
outline: none;
|
|
17
|
+
color: hsl(var(--foreground));
|
|
18
|
+
line-height: 1.65;
|
|
19
|
+
font-size: 0.95rem;
|
|
20
|
+
min-height: 1.65em;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.an-rich-md-prose > *:first-child {
|
|
24
|
+
margin-top: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.an-rich-md-prose h1 {
|
|
28
|
+
font-size: 1.85em;
|
|
29
|
+
font-weight: 700;
|
|
30
|
+
margin: 1em 0 0.3em;
|
|
31
|
+
line-height: 1.18;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.an-rich-md-prose h2 {
|
|
35
|
+
font-size: 1.45em;
|
|
36
|
+
font-weight: 650;
|
|
37
|
+
margin: 0.9em 0 0.25em;
|
|
38
|
+
line-height: 1.25;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.an-rich-md-prose h3 {
|
|
42
|
+
font-size: 1.18em;
|
|
43
|
+
font-weight: 650;
|
|
44
|
+
margin: 0.75em 0 0.2em;
|
|
45
|
+
line-height: 1.32;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.an-rich-md-prose h4 {
|
|
49
|
+
font-size: 1em;
|
|
50
|
+
font-weight: 650;
|
|
51
|
+
margin: 0.65em 0 0.15em;
|
|
52
|
+
line-height: 1.35;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.an-rich-md-prose p {
|
|
56
|
+
margin: 0.45em 0;
|
|
57
|
+
min-height: 1.65em;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.an-rich-md-prose ul:not(.an-rich-md-task-list),
|
|
61
|
+
.an-rich-md-prose ol {
|
|
62
|
+
padding-left: 1.45em;
|
|
63
|
+
margin: 0.35em 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.an-rich-md-prose ul:not(.an-rich-md-task-list) {
|
|
67
|
+
list-style-type: disc;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.an-rich-md-prose ol {
|
|
71
|
+
list-style-type: decimal;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.an-rich-md-prose li {
|
|
75
|
+
margin: 0.12em 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.an-rich-md-prose li p {
|
|
79
|
+
margin: 0;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.an-rich-md-task-list {
|
|
83
|
+
list-style: none;
|
|
84
|
+
margin: 0.35em 0;
|
|
85
|
+
padding-left: 0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.an-rich-md-task-list li {
|
|
89
|
+
display: flex;
|
|
90
|
+
align-items: flex-start;
|
|
91
|
+
gap: 0.45em;
|
|
92
|
+
margin: 0.18em 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.an-rich-md-task-list li label {
|
|
96
|
+
display: inline-flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
height: 1.65em;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.an-rich-md-task-list li input[type="checkbox"] {
|
|
102
|
+
width: 0.95em;
|
|
103
|
+
height: 0.95em;
|
|
104
|
+
accent-color: hsl(var(--primary));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.an-rich-md-task-list li > div {
|
|
108
|
+
flex: 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.an-rich-md-prose blockquote {
|
|
112
|
+
border-left: 2px solid hsl(var(--border));
|
|
113
|
+
padding-left: 0.9em;
|
|
114
|
+
margin: 0.45em 0;
|
|
115
|
+
color: hsl(var(--muted-foreground));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.an-rich-md-prose code {
|
|
119
|
+
font-family:
|
|
120
|
+
ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
121
|
+
font-size: 0.88em;
|
|
122
|
+
background: hsl(var(--muted));
|
|
123
|
+
padding: 0.12em 0.32em;
|
|
124
|
+
border-radius: 4px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.an-rich-md-prose pre {
|
|
128
|
+
font-family:
|
|
129
|
+
ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
130
|
+
font-size: 0.86em;
|
|
131
|
+
/* Fixed dark code surface (theme-independent) so the github-dark token palette
|
|
132
|
+
below stays legible — matches the read-side Shiki convention. */
|
|
133
|
+
background: hsl(220 13% 11%);
|
|
134
|
+
color: hsl(220 14% 90%);
|
|
135
|
+
border-radius: 6px;
|
|
136
|
+
padding: 0.8em 1em;
|
|
137
|
+
margin: 0.55em 0;
|
|
138
|
+
overflow-x: auto;
|
|
139
|
+
line-height: 1.5;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.an-rich-md-prose pre code {
|
|
143
|
+
background: none;
|
|
144
|
+
border: none;
|
|
145
|
+
padding: 0;
|
|
146
|
+
font-size: inherit;
|
|
147
|
+
color: inherit;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* highlight.js (lowlight) token palette — github-dark. Scoped to block code so
|
|
151
|
+
inline `code` keeps its own background. No highlight.js base theme is imported;
|
|
152
|
+
these rules are the entire theme, so the dark `pre` surface above is safe. */
|
|
153
|
+
.an-rich-md-prose pre code .hljs-comment,
|
|
154
|
+
.an-rich-md-prose pre code .hljs-quote {
|
|
155
|
+
color: #8b949e;
|
|
156
|
+
font-style: italic;
|
|
157
|
+
}
|
|
158
|
+
.an-rich-md-prose pre code .hljs-keyword,
|
|
159
|
+
.an-rich-md-prose pre code .hljs-selector-tag,
|
|
160
|
+
.an-rich-md-prose pre code .hljs-literal,
|
|
161
|
+
.an-rich-md-prose pre code .hljs-doctag,
|
|
162
|
+
.an-rich-md-prose pre code .hljs-deletion {
|
|
163
|
+
color: #ff7b72;
|
|
164
|
+
}
|
|
165
|
+
.an-rich-md-prose pre code .hljs-string,
|
|
166
|
+
.an-rich-md-prose pre code .hljs-regexp,
|
|
167
|
+
.an-rich-md-prose pre code .hljs-addition {
|
|
168
|
+
color: #a5d6ff;
|
|
169
|
+
}
|
|
170
|
+
.an-rich-md-prose pre code .hljs-number,
|
|
171
|
+
.an-rich-md-prose pre code .hljs-symbol,
|
|
172
|
+
.an-rich-md-prose pre code .hljs-meta {
|
|
173
|
+
color: #79c0ff;
|
|
174
|
+
}
|
|
175
|
+
.an-rich-md-prose pre code .hljs-title,
|
|
176
|
+
.an-rich-md-prose pre code .hljs-title.function_,
|
|
177
|
+
.an-rich-md-prose pre code .hljs-section {
|
|
178
|
+
color: #d2a8ff;
|
|
179
|
+
}
|
|
180
|
+
.an-rich-md-prose pre code .hljs-built_in,
|
|
181
|
+
.an-rich-md-prose pre code .hljs-type,
|
|
182
|
+
.an-rich-md-prose pre code .hljs-title.class_,
|
|
183
|
+
.an-rich-md-prose pre code .hljs-variable.language_ {
|
|
184
|
+
color: #ffa657;
|
|
185
|
+
}
|
|
186
|
+
.an-rich-md-prose pre code .hljs-attr,
|
|
187
|
+
.an-rich-md-prose pre code .hljs-attribute,
|
|
188
|
+
.an-rich-md-prose pre code .hljs-property,
|
|
189
|
+
.an-rich-md-prose pre code .hljs-params {
|
|
190
|
+
color: #79c0ff;
|
|
191
|
+
}
|
|
192
|
+
.an-rich-md-prose pre code .hljs-name,
|
|
193
|
+
.an-rich-md-prose pre code .hljs-tag,
|
|
194
|
+
.an-rich-md-prose pre code .hljs-selector-id,
|
|
195
|
+
.an-rich-md-prose pre code .hljs-selector-class {
|
|
196
|
+
color: #7ee787;
|
|
197
|
+
}
|
|
198
|
+
.an-rich-md-prose pre code .hljs-emphasis {
|
|
199
|
+
font-style: italic;
|
|
200
|
+
}
|
|
201
|
+
.an-rich-md-prose pre code .hljs-strong {
|
|
202
|
+
font-weight: 600;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.an-rich-md-prose hr {
|
|
206
|
+
border: none;
|
|
207
|
+
border-top: 1px solid hsl(var(--border));
|
|
208
|
+
margin: 1.1em 0;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.an-rich-md-table {
|
|
212
|
+
width: 100%;
|
|
213
|
+
border-collapse: collapse;
|
|
214
|
+
margin: 0.7em 0;
|
|
215
|
+
table-layout: fixed;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.an-rich-md-table td,
|
|
219
|
+
.an-rich-md-table th {
|
|
220
|
+
border: 1px solid hsl(var(--border));
|
|
221
|
+
padding: 0.45em 0.55em;
|
|
222
|
+
vertical-align: top;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.an-rich-md-table th {
|
|
226
|
+
background: hsl(var(--muted) / 0.6);
|
|
227
|
+
font-weight: 650;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.an-rich-md-table p {
|
|
231
|
+
margin: 0;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.an-rich-md-prose strong {
|
|
235
|
+
font-weight: 650;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.an-rich-md-prose em {
|
|
239
|
+
font-style: italic;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.an-rich-md-prose s {
|
|
243
|
+
text-decoration: line-through;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.an-rich-md-link {
|
|
247
|
+
color: hsl(var(--foreground));
|
|
248
|
+
text-decoration: underline;
|
|
249
|
+
text-underline-offset: 2px;
|
|
250
|
+
text-decoration-color: hsl(var(--muted-foreground));
|
|
251
|
+
cursor: pointer;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.an-rich-md-link:hover {
|
|
255
|
+
text-decoration-color: hsl(var(--foreground));
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.an-rich-md-prose p.is-editor-empty:first-child::before,
|
|
259
|
+
.an-rich-md-prose p.is-empty::before,
|
|
260
|
+
.an-rich-md-prose h1.is-empty::before,
|
|
261
|
+
.an-rich-md-prose h2.is-empty::before,
|
|
262
|
+
.an-rich-md-prose h3.is-empty::before,
|
|
263
|
+
.an-rich-md-prose h4.is-empty::before {
|
|
264
|
+
content: attr(data-placeholder);
|
|
265
|
+
float: left;
|
|
266
|
+
color: hsl(var(--muted-foreground));
|
|
267
|
+
opacity: 0.55;
|
|
268
|
+
pointer-events: none;
|
|
269
|
+
height: 0;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.an-rich-md-prose ::selection {
|
|
273
|
+
background: hsl(var(--ring) / 0.22);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.an-rich-md-bubble-toolbar {
|
|
277
|
+
z-index: 9999;
|
|
278
|
+
display: flex;
|
|
279
|
+
align-items: center;
|
|
280
|
+
border-radius: 6px;
|
|
281
|
+
background: hsl(0 0% 15%);
|
|
282
|
+
padding: 3px;
|
|
283
|
+
box-shadow:
|
|
284
|
+
0 4px 16px rgb(0 0 0 / 0.25),
|
|
285
|
+
0 0 0 1px rgb(255 255 255 / 0.06);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.an-rich-md-bubble-items,
|
|
289
|
+
.an-rich-md-link-editor {
|
|
290
|
+
display: flex;
|
|
291
|
+
align-items: center;
|
|
292
|
+
gap: 2px;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.an-rich-md-bubble-button {
|
|
296
|
+
padding: 3px 6px;
|
|
297
|
+
border-radius: 4px;
|
|
298
|
+
font-size: 12px;
|
|
299
|
+
color: rgb(255 255 255 / 0.76);
|
|
300
|
+
background: none;
|
|
301
|
+
border: none;
|
|
302
|
+
cursor: pointer;
|
|
303
|
+
line-height: 1;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.an-rich-md-bubble-button:hover {
|
|
307
|
+
background: rgb(255 255 255 / 0.12);
|
|
308
|
+
color: white;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.an-rich-md-bubble-button--active {
|
|
312
|
+
background: rgb(255 255 255 / 0.18);
|
|
313
|
+
color: white;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.an-rich-md-bubble-divider {
|
|
317
|
+
width: 1px;
|
|
318
|
+
height: 16px;
|
|
319
|
+
margin: 0 2px;
|
|
320
|
+
background: rgb(255 255 255 / 0.2);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.an-rich-md-link-editor {
|
|
324
|
+
padding: 4px;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.an-rich-md-link-editor input {
|
|
328
|
+
width: 10rem;
|
|
329
|
+
border: none;
|
|
330
|
+
outline: none;
|
|
331
|
+
background: transparent;
|
|
332
|
+
color: white;
|
|
333
|
+
font-size: 12px;
|
|
334
|
+
padding: 2px 4px;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.an-rich-md-link-editor button {
|
|
338
|
+
border: none;
|
|
339
|
+
background: none;
|
|
340
|
+
color: #60a5fa;
|
|
341
|
+
cursor: pointer;
|
|
342
|
+
font-size: 11px;
|
|
343
|
+
font-weight: 500;
|
|
344
|
+
padding: 2px 6px;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
.an-rich-md-slash-menu {
|
|
348
|
+
z-index: 9999;
|
|
349
|
+
min-width: 230px;
|
|
350
|
+
max-height: 320px;
|
|
351
|
+
overflow-y: auto;
|
|
352
|
+
color: hsl(var(--foreground));
|
|
353
|
+
background: hsl(var(--popover));
|
|
354
|
+
border: 1px solid hsl(var(--border));
|
|
355
|
+
border-radius: 7px;
|
|
356
|
+
box-shadow:
|
|
357
|
+
0 4px 20px rgb(0 0 0 / 0.12),
|
|
358
|
+
0 0 0 1px rgb(0 0 0 / 0.04);
|
|
359
|
+
padding: 4px 0;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.an-rich-md-slash-heading {
|
|
363
|
+
padding: 4px 10px;
|
|
364
|
+
font-size: 10px;
|
|
365
|
+
font-weight: 650;
|
|
366
|
+
text-transform: uppercase;
|
|
367
|
+
letter-spacing: 0.06em;
|
|
368
|
+
color: hsl(var(--muted-foreground));
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.an-rich-md-slash-item {
|
|
372
|
+
width: 100%;
|
|
373
|
+
display: flex;
|
|
374
|
+
align-items: center;
|
|
375
|
+
gap: 8px;
|
|
376
|
+
padding: 6px 10px;
|
|
377
|
+
text-align: left;
|
|
378
|
+
background: none;
|
|
379
|
+
border: none;
|
|
380
|
+
cursor: pointer;
|
|
381
|
+
color: hsl(var(--foreground));
|
|
382
|
+
font-size: 13px;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.an-rich-md-slash-item:hover,
|
|
386
|
+
.an-rich-md-slash-item--active {
|
|
387
|
+
background: hsl(var(--accent));
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.an-rich-md-slash-icon {
|
|
391
|
+
display: flex;
|
|
392
|
+
align-items: center;
|
|
393
|
+
justify-content: center;
|
|
394
|
+
width: 28px;
|
|
395
|
+
height: 28px;
|
|
396
|
+
border-radius: 4px;
|
|
397
|
+
border: 1px solid hsl(var(--border));
|
|
398
|
+
background: hsl(var(--background));
|
|
399
|
+
font-size: 11px;
|
|
400
|
+
font-weight: 650;
|
|
401
|
+
color: hsl(var(--muted-foreground));
|
|
402
|
+
flex-shrink: 0;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.an-rich-md-slash-title {
|
|
406
|
+
display: block;
|
|
407
|
+
font-weight: 500;
|
|
408
|
+
font-size: 13px;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.an-rich-md-slash-description {
|
|
412
|
+
display: block;
|
|
413
|
+
font-size: 11px;
|
|
414
|
+
color: hsl(var(--muted-foreground));
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/* Shared block-level image node (the editor's `.an-rich-md-image` and the
|
|
418
|
+
read-only markdown renderer's <img>). Constrained to the prose width and
|
|
419
|
+
responsive; a still-uploading placeholder (empty src) shows a subtle frame. */
|
|
420
|
+
.an-rich-md-prose img,
|
|
421
|
+
.an-rich-md-image {
|
|
422
|
+
display: block;
|
|
423
|
+
max-width: 100%;
|
|
424
|
+
height: auto;
|
|
425
|
+
margin: 12px 0;
|
|
426
|
+
border-radius: 8px;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.an-rich-md-image[src=""],
|
|
430
|
+
.an-rich-md-image:not([src]) {
|
|
431
|
+
min-height: 64px;
|
|
432
|
+
background: hsl(var(--muted));
|
|
433
|
+
border: 1px dashed hsl(var(--border));
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
.ProseMirror-selectednode.an-rich-md-image {
|
|
437
|
+
outline: 2px solid hsl(var(--ring));
|
|
438
|
+
outline-offset: 2px;
|
|
439
|
+
}
|
|
@@ -171,6 +171,7 @@ Older actions use a bare async function export with `parseArgs`:
|
|
|
171
171
|
import { parseArgs, loadEnv, fail } from "@agent-native/core";
|
|
172
172
|
|
|
173
173
|
export default async function myAction(args: string[]) {
|
|
174
|
+
// Only for deploy-level runtime config. User/org credentials use secrets/OAuth.
|
|
174
175
|
loadEnv();
|
|
175
176
|
const parsed = parseArgs(args);
|
|
176
177
|
// ...
|
|
@@ -185,7 +186,9 @@ This still works but is not auto-exposed as HTTP. Prefer `defineAction` for all
|
|
|
185
186
|
- **Return structured data.** Return objects/arrays, not `JSON.stringify()`.
|
|
186
187
|
- **Use `http: { method: "GET" }`** for read-only actions. Default is POST.
|
|
187
188
|
- **Use `http: false`** for agent-only actions (`navigate`, `view-screen`).
|
|
188
|
-
- **Use `loadEnv()`**
|
|
189
|
+
- **Use `loadEnv()`** only for deploy-level configuration. User/org/workspace
|
|
190
|
+
credentials belong in the encrypted secrets/credential/OAuth stores, never as
|
|
191
|
+
hardcoded literals, shared env fallbacks, logs, or action responses.
|
|
189
192
|
- **Use `fail()`** for user-friendly error messages (exits with message, no stack trace).
|
|
190
193
|
- **Import from `@agent-native/core`** — Don't redefine `parseArgs()` or other utilities locally.
|
|
191
194
|
|
|
@@ -82,9 +82,16 @@ new Function(userInput); // NEVER
|
|
|
82
82
|
|
|
83
83
|
## Secrets Management
|
|
84
84
|
|
|
85
|
+
Never hardcode credential values or real private data. Source, docs, tests,
|
|
86
|
+
fixtures, prompts, screenshots, seed data, application state, action responses,
|
|
87
|
+
and generated app/extension content may name credential keys, but must never
|
|
88
|
+
contain API key values, tokens, webhook URLs, signing secrets, private
|
|
89
|
+
Builder/internal data, or customer data.
|
|
90
|
+
|
|
85
91
|
| Secret type | Where to store | Why |
|
|
86
|
-
|
|
87
|
-
| API keys
|
|
92
|
+
|-------------|----------------|-----|
|
|
93
|
+
| User/org/workspace API keys, service tokens, webhook secrets | Secrets registry / `app_secrets` vault or `saveCredential` / `resolveCredential` | Encrypted, scoped, never sent to the client |
|
|
94
|
+
| Deploy-only infrastructure secrets | Deployment env vars (`.env` only for local dev) | Server-side runtime configuration |
|
|
88
95
|
| OAuth tokens (Google, GitHub) | `oauth_tokens` store | Per-user, per-provider, server-side |
|
|
89
96
|
| App configuration | `settings` store | OK for non-secret config (themes, preferences) |
|
|
90
97
|
| Session tokens | Framework handles | Automatic via Better Auth |
|
|
@@ -94,6 +101,8 @@ new Function(userInput); // NEVER
|
|
|
94
101
|
- Never return secrets in action responses — they may appear in agent chat or client UI
|
|
95
102
|
- Never log secrets (tokens, keys, passwords)
|
|
96
103
|
- Never commit `.env` files — they're gitignored by default
|
|
104
|
+
- Use env vars only for deploy-level secrets. User/org/workspace credentials
|
|
105
|
+
must use the encrypted secrets/credential/OAuth stores.
|
|
97
106
|
- Access env vars via `process.env` in actions/server code, never send them to the client
|
|
98
107
|
|
|
99
108
|
## Auth Patterns
|
|
@@ -193,7 +202,7 @@ A2A_SECRET=your-shared-secret-at-least-32-chars
|
|
|
193
202
|
```
|
|
194
203
|
|
|
195
204
|
**How it works:**
|
|
196
|
-
1. App A signs a JWT with `A2A_SECRET` containing `sub: "
|
|
205
|
+
1. App A signs a JWT with `A2A_SECRET` containing `sub: "user@example.com"`
|
|
197
206
|
2. App B receives the call, verifies the JWT signature
|
|
198
207
|
3. App B sets `AGENT_USER_EMAIL` from the verified `sub` claim
|
|
199
208
|
4. Data scoping applies — App B only shows steve's data
|
|
@@ -206,7 +215,7 @@ Without `A2A_SECRET`, A2A calls are unauthenticated (fine for local dev, not pro
|
|
|
206
215
|
2. **Always use `defineAction` with a Zod `schema:`** for input validation on user-facing actions.
|
|
207
216
|
3. **Never concatenate user input into SQL** — use parameterized queries or Drizzle ORM.
|
|
208
217
|
4. **Never use `dangerouslySetInnerHTML`** or `innerHTML` with user-controlled content.
|
|
209
|
-
5. **Never
|
|
218
|
+
5. **Never hardcode or expose secrets** — no settings, application state, source code, fixtures, logs, or responses. Use the secrets registry / vault, scoped credentials, OAuth stores, or deploy-level env vars as appropriate.
|
|
210
219
|
6. **Never bypass scoping** — don't raw-query tables without going through `db-query`/`db-exec`.
|
|
211
220
|
7. **Never create unprotected routes that modify data** — use `defineAction` or check `getSession()`.
|
|
212
221
|
8. **Don't hardcode emails** — use `AGENT_USER_EMAIL` environment variable.
|
|
@@ -16,7 +16,7 @@ There are three storage layers, each for a different kind of data:
|
|
|
16
16
|
|
|
17
17
|
### 1. Settings — app configuration
|
|
18
18
|
|
|
19
|
-
Key-value store for persistent config that the user or agent can change. Theme, preferences, integration
|
|
19
|
+
Key-value store for persistent non-secret config that the user or agent can change. Theme, preferences, integration settings, availability schedules.
|
|
20
20
|
|
|
21
21
|
```ts
|
|
22
22
|
import { getSetting, putSetting } from "@agent-native/core/settings";
|
|
@@ -88,6 +88,15 @@ const tokens = await getOAuthTokens("google", "user@gmail.com");
|
|
|
88
88
|
const accounts = await listOAuthAccounts("google");
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
+
### 5. Secrets / Credentials — encrypted values
|
|
92
|
+
|
|
93
|
+
For API keys, service tokens, webhook secrets, and user/org/workspace
|
|
94
|
+
credentials. Register user-facing secrets with the secrets registry and read
|
|
95
|
+
them server-side with `readAppSecret`, or use `saveCredential` /
|
|
96
|
+
`resolveCredential` for scoped credential lookup. Never store these values in
|
|
97
|
+
settings, application state, source code, docs, examples, logs, or action
|
|
98
|
+
responses.
|
|
99
|
+
|
|
91
100
|
## Which Layer to Use
|
|
92
101
|
|
|
93
102
|
| Data | Layer | Why |
|
|
@@ -96,6 +105,7 @@ const accounts = await listOAuthAccounts("google");
|
|
|
96
105
|
| What the user sees on screen | Application State | Ephemeral, real-time sync, agent ↔ UI bridge |
|
|
97
106
|
| Compose drafts, wizard steps | Application State | Temporary, deleted when done |
|
|
98
107
|
| Domain records (forms, bookings) | Drizzle table | Needs schema, queries, relationships |
|
|
108
|
+
| API keys, service tokens, webhook secrets | Secrets / credentials | Encrypted and scoped; never client-readable |
|
|
99
109
|
| OAuth refresh tokens | OAuth Tokens | Secure, per-provider, per-account |
|
|
100
110
|
|
|
101
111
|
## Environment Variables
|
|
@@ -107,10 +117,12 @@ Infrastructure config stays in `.env` — these differ per deployment:
|
|
|
107
117
|
- `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` — OAuth app credentials
|
|
108
118
|
- `ACCESS_TOKEN` — production auth token
|
|
109
119
|
|
|
110
|
-
Everything else (user settings,
|
|
120
|
+
Everything else (user settings, app state, domain data) goes in SQL through the
|
|
121
|
+
appropriate store. User/org/workspace credential values go in the encrypted
|
|
122
|
+
secrets/credential stores, not plain settings rows.
|
|
111
123
|
|
|
112
124
|
## Security Rules
|
|
113
125
|
|
|
114
|
-
- **Never store API keys or secrets in Settings or Application State** — use
|
|
126
|
+
- **Never store API keys or secrets in Settings or Application State** — use the secrets registry / vault or `saveCredential` / `resolveCredential` for API keys and service tokens, deploy env vars only for deploy-level secrets, and `oauth_tokens` for OAuth credentials. Settings and application state are readable by the client.
|
|
115
127
|
- **Every Drizzle table with user data must have `owner_email`** — the framework auto-scopes queries in production so users only see their own data. Run `pnpm action db-check-scoping` to verify. See the `security` skill for the full model.
|
|
116
128
|
- **Never return secrets in action responses** — action responses may be visible in the agent chat or sent to the client. Keep credentials server-side only.
|
|
@@ -11,6 +11,7 @@ This is an **@agent-native/core** application -- the AI agent and UI share state
|
|
|
11
11
|
3. **Actions for app operations** -- `pnpm action <name>` dispatches to callable action files in `actions/`; `defineAction` also auto-exposes those operations at `/_agent-native/actions/:name` for the UI. Do not create custom REST routes that re-export actions.
|
|
12
12
|
4. **Live sync keeps the UI current** -- Database writes stream over `/_agent-native/events` first, with `/_agent-native/poll` as the fallback. **When you (the agent) write data, the UI must reflect the change without a manual refresh.** This is non-negotiable. Use `useActionQuery` / `useActionMutation` for action-backed data (preferred). If you use raw `useQuery`, fold `useChangeVersions([<source>, "action"])` into the key for targeted refreshes. See the `real-time-sync` and `adding-a-feature` skills.
|
|
13
13
|
5. **Agent can update code** -- The agent can modify this app's source code directly.
|
|
14
|
+
6. **No hardcoded secrets or private data** -- Never put API keys, tokens, webhook URLs, signing secrets, private Builder/internal data, customer data, or credential-looking literals in source, docs, tests, fixtures, prompts, screenshots, application state, action responses, or generated content. Use secrets/OAuth/runtime configuration and obvious placeholders in examples.
|
|
14
15
|
|
|
15
16
|
### Database Code
|
|
16
17
|
|
|
@@ -120,6 +120,8 @@ agentChat.submit("Generate something");
|
|
|
120
120
|
|
|
121
121
|
Local development defaults to a SQLite file at `data/app.db`. That local file is for development; containers, previews, and serverless deploys can reset their filesystem. For production/cloud deployment, set `DATABASE_URL` to point to a persistent SQL database. Turso is optional, not required; common choices include Neon, Supabase, Turso/libSQL, plain Postgres, durable SQLite, D1 bindings, and Builder.io-managed environments when available.
|
|
122
122
|
|
|
123
|
+
Real credential values belong only in local `.env` files, deployment configuration, or registered secrets/settings UI. Never commit, document, log, return, paste, or include real keys, tokens, webhook URLs, signing secrets, or private data in examples; use empty values or obvious placeholders.
|
|
124
|
+
|
|
123
125
|
When adding app data, define tables with `@agent-native/core/db/schema` helpers and use Drizzle's query builder for reads/writes. Do not import dialect-specific schema helpers from `drizzle-orm/sqlite-core` or `drizzle-orm/pg-core`, and do not write raw SQL in normal actions or handlers when Drizzle can express the query. Raw SQL belongs in additive migrations, health checks, or carefully scoped maintenance.
|
|
124
126
|
|
|
125
127
|
| Variable | Required | Description |
|
|
@@ -4,6 +4,8 @@ description: >-
|
|
|
4
4
|
How agents call other agents via the A2A (agent-to-agent) JSON-RPC protocol.
|
|
5
5
|
Use when enabling inter-agent communication, exposing agent skills to other
|
|
6
6
|
agents, or calling external agents from scripts.
|
|
7
|
+
metadata:
|
|
8
|
+
internal: true
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
# A2A Protocol (Agent-to-Agent)
|
|
@@ -175,10 +177,15 @@ submitted → working → completed
|
|
|
175
177
|
|
|
176
178
|
A2A uses bearer token auth. The server reads the token from the environment variable specified by `apiKeyEnv`:
|
|
177
179
|
|
|
178
|
-
- Set `A2A_API_KEY
|
|
179
|
-
- Callers pass it as `Authorization: Bearer
|
|
180
|
+
- Set `A2A_API_KEY=<A2A_API_KEY_VALUE>` in the server's deployment environment
|
|
181
|
+
- Callers pass it as `Authorization: Bearer <A2A_API_KEY_VALUE>`
|
|
180
182
|
- The agent card endpoint (`/.well-known/agent-card.json`) is public — no auth needed for discovery
|
|
181
183
|
|
|
184
|
+
Never hardcode the bearer token in source, docs, prompts, app state, action
|
|
185
|
+
descriptions, client bundles, or examples. A2A tokens are deploy-level secrets
|
|
186
|
+
unless a specific app designs a scoped credential flow; read them from secure
|
|
187
|
+
runtime configuration and never log or return them.
|
|
188
|
+
|
|
182
189
|
## Message Parts
|
|
183
190
|
|
|
184
191
|
Messages contain typed parts:
|
|
@@ -247,5 +254,5 @@ import type {
|
|
|
247
254
|
## Related Skills
|
|
248
255
|
|
|
249
256
|
- **delegate-to-agent** — For work the local agent handles. Use A2A when the work goes to a different agent.
|
|
250
|
-
- **
|
|
257
|
+
- **actions** — A2A calls typically happen inside actions
|
|
251
258
|
- **storing-data** — Results from A2A calls are stored in SQL like any other data
|