@agent-native/core 0.6.1 → 0.7.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/README.md +43 -3
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +154 -4
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/types.d.ts +1 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/cli/create-workspace.d.ts +8 -0
- package/dist/cli/create-workspace.d.ts.map +1 -0
- package/dist/cli/create-workspace.js +18 -0
- package/dist/cli/create-workspace.js.map +1 -0
- package/dist/cli/create.d.ts +35 -7
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +444 -251
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +59 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/workspacify.d.ts +18 -0
- package/dist/cli/workspacify.d.ts.map +1 -0
- package/dist/cli/workspacify.js +74 -0
- package/dist/cli/workspacify.js.map +1 -0
- package/dist/client/AgentPanel.d.ts +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +63 -225
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
- package/dist/client/components/CodeRequiredDialog.js +86 -5
- package/dist/client/components/CodeRequiredDialog.js.map +1 -1
- package/dist/client/composer/MentionPopover.d.ts.map +1 -1
- package/dist/client/composer/MentionPopover.js +15 -2
- package/dist/client/composer/MentionPopover.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +3 -1
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/types.d.ts +1 -1
- package/dist/client/composer/types.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.js +22 -9
- package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
- package/dist/client/onboarding/OnboardingBanner.d.ts +13 -0
- package/dist/client/onboarding/OnboardingBanner.d.ts.map +1 -0
- package/dist/client/onboarding/OnboardingBanner.js +36 -0
- package/dist/client/onboarding/OnboardingBanner.js.map +1 -0
- package/dist/client/onboarding/OnboardingPanel.d.ts +16 -0
- package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -0
- package/dist/client/onboarding/OnboardingPanel.js +360 -0
- package/dist/client/onboarding/OnboardingPanel.js.map +1 -0
- package/dist/client/onboarding/SetupButton.d.ts +10 -0
- package/dist/client/onboarding/SetupButton.d.ts.map +1 -0
- package/dist/client/onboarding/SetupButton.js +26 -0
- package/dist/client/onboarding/SetupButton.js.map +1 -0
- package/dist/client/onboarding/index.d.ts +12 -0
- package/dist/client/onboarding/index.d.ts.map +1 -0
- package/dist/client/onboarding/index.js +11 -0
- package/dist/client/onboarding/index.js.map +1 -0
- package/dist/client/onboarding/use-onboarding.d.ts +34 -0
- package/dist/client/onboarding/use-onboarding.d.ts.map +1 -0
- package/dist/client/onboarding/use-onboarding.js +101 -0
- package/dist/client/onboarding/use-onboarding.js.map +1 -0
- package/dist/client/org/TeamPage.d.ts +6 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +85 -14
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
- package/dist/client/resources/ResourceEditor.js +48 -77
- package/dist/client/resources/ResourceEditor.js.map +1 -1
- package/dist/client/resources/ResourceTree.d.ts.map +1 -1
- package/dist/client/resources/ResourceTree.js +16 -3
- package/dist/client/resources/ResourceTree.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +135 -9
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/resources/use-resources.d.ts +5 -0
- package/dist/client/resources/use-resources.d.ts.map +1 -1
- package/dist/client/resources/use-resources.js.map +1 -1
- package/dist/client/settings/AgentsSection.d.ts +2 -0
- package/dist/client/settings/AgentsSection.d.ts.map +1 -0
- package/dist/client/settings/AgentsSection.js +198 -0
- package/dist/client/settings/AgentsSection.js.map +1 -0
- package/dist/client/settings/BackgroundAgentSection.d.ts +2 -0
- package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -0
- package/dist/client/settings/BackgroundAgentSection.js +46 -0
- package/dist/client/settings/BackgroundAgentSection.js.map +1 -0
- package/dist/client/settings/BrowserSection.d.ts +2 -0
- package/dist/client/settings/BrowserSection.d.ts.map +1 -0
- package/dist/client/settings/BrowserSection.js +10 -0
- package/dist/client/settings/BrowserSection.js.map +1 -0
- package/dist/client/settings/ComingSoonSection.d.ts +13 -0
- package/dist/client/settings/ComingSoonSection.d.ts.map +1 -0
- package/dist/client/settings/ComingSoonSection.js +9 -0
- package/dist/client/settings/ComingSoonSection.js.map +1 -0
- package/dist/client/settings/LLMSection.d.ts +2 -0
- package/dist/client/settings/LLMSection.d.ts.map +1 -0
- package/dist/client/settings/LLMSection.js +64 -0
- package/dist/client/settings/LLMSection.js.map +1 -0
- package/dist/client/settings/SettingsPanel.d.ts +8 -0
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -0
- package/dist/client/settings/SettingsPanel.js +118 -0
- package/dist/client/settings/SettingsPanel.js.map +1 -0
- package/dist/client/settings/SettingsSection.d.ts +19 -0
- package/dist/client/settings/SettingsSection.d.ts.map +1 -0
- package/dist/client/settings/SettingsSection.js +10 -0
- package/dist/client/settings/SettingsSection.js.map +1 -0
- package/dist/client/settings/index.d.ts +3 -0
- package/dist/client/settings/index.d.ts.map +1 -0
- package/dist/client/settings/index.js +3 -0
- package/dist/client/settings/index.js.map +1 -0
- package/dist/client/settings/useBuilderStatus.d.ts +22 -0
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -0
- package/dist/client/settings/useBuilderStatus.js +41 -0
- package/dist/client/settings/useBuilderStatus.js.map +1 -0
- package/dist/deploy/build.js +198 -54
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/route-discovery.d.ts +5 -0
- package/dist/deploy/route-discovery.d.ts.map +1 -1
- package/dist/deploy/route-discovery.js +38 -7
- package/dist/deploy/route-discovery.js.map +1 -1
- package/dist/deploy/workspace-core.d.ts +28 -0
- package/dist/deploy/workspace-core.d.ts.map +1 -0
- package/dist/deploy/workspace-core.js +223 -0
- package/dist/deploy/workspace-core.js.map +1 -0
- package/dist/deploy/workspace-deploy.d.ts +11 -0
- package/dist/deploy/workspace-deploy.d.ts.map +1 -0
- package/dist/deploy/workspace-deploy.js +148 -0
- package/dist/deploy/workspace-deploy.js.map +1 -0
- package/dist/file-upload/builder.d.ts +11 -0
- package/dist/file-upload/builder.d.ts.map +1 -0
- package/dist/file-upload/builder.js +53 -0
- package/dist/file-upload/builder.js.map +1 -0
- package/dist/file-upload/index.d.ts +4 -0
- package/dist/file-upload/index.d.ts.map +1 -0
- package/dist/file-upload/index.js +3 -0
- package/dist/file-upload/index.js.map +1 -0
- package/dist/file-upload/registry.d.ts +23 -0
- package/dist/file-upload/registry.d.ts.map +1 -0
- package/dist/file-upload/registry.js +52 -0
- package/dist/file-upload/registry.js.map +1 -0
- package/dist/file-upload/types.d.ts +37 -0
- package/dist/file-upload/types.d.ts.map +1 -0
- package/dist/file-upload/types.js +10 -0
- package/dist/file-upload/types.js.map +1 -0
- package/dist/integrations/adapters/google-docs.d.ts +89 -0
- package/dist/integrations/adapters/google-docs.d.ts.map +1 -0
- package/dist/integrations/adapters/google-docs.js +261 -0
- package/dist/integrations/adapters/google-docs.js.map +1 -0
- package/dist/integrations/adapters/slack.d.ts.map +1 -1
- package/dist/integrations/adapters/slack.js +34 -0
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/adapters/telegram.d.ts.map +1 -1
- package/dist/integrations/adapters/telegram.js +32 -0
- package/dist/integrations/adapters/telegram.js.map +1 -1
- package/dist/integrations/google-docs-poller.d.ts +54 -0
- package/dist/integrations/google-docs-poller.d.ts.map +1 -0
- package/dist/integrations/google-docs-poller.js +442 -0
- package/dist/integrations/google-docs-poller.js.map +1 -0
- package/dist/integrations/index.d.ts +2 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +3 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +49 -2
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/types.d.ts +33 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.d.ts +10 -1
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +13 -3
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/scheduler.d.ts +3 -0
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +81 -60
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +20 -3
- package/dist/jobs/tools.js.map +1 -1
- package/dist/mcp-client/config.d.ts +46 -0
- package/dist/mcp-client/config.d.ts.map +1 -0
- package/dist/mcp-client/config.js +152 -0
- package/dist/mcp-client/config.js.map +1 -0
- package/dist/mcp-client/index.d.ts +17 -0
- package/dist/mcp-client/index.d.ts.map +1 -0
- package/dist/mcp-client/index.js +53 -0
- package/dist/mcp-client/index.js.map +1 -0
- package/dist/mcp-client/manager.d.ts +76 -0
- package/dist/mcp-client/manager.d.ts.map +1 -0
- package/dist/mcp-client/manager.js +212 -0
- package/dist/mcp-client/manager.js.map +1 -0
- package/dist/oauth-tokens/store.d.ts.map +1 -1
- package/dist/oauth-tokens/store.js +3 -1
- package/dist/oauth-tokens/store.js.map +1 -1
- package/dist/onboarding/default-steps.d.ts +10 -0
- package/dist/onboarding/default-steps.d.ts.map +1 -0
- package/dist/onboarding/default-steps.js +164 -0
- package/dist/onboarding/default-steps.js.map +1 -0
- package/dist/onboarding/index.d.ts +12 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/index.js +11 -0
- package/dist/onboarding/index.js.map +1 -0
- package/dist/onboarding/plugin.d.ts +19 -0
- package/dist/onboarding/plugin.d.ts.map +1 -0
- package/dist/onboarding/plugin.js +147 -0
- package/dist/onboarding/plugin.js.map +1 -0
- package/dist/onboarding/registry.d.ts +24 -0
- package/dist/onboarding/registry.d.ts.map +1 -0
- package/dist/onboarding/registry.js +40 -0
- package/dist/onboarding/registry.js.map +1 -0
- package/dist/onboarding/types.d.ts +71 -0
- package/dist/onboarding/types.d.ts.map +1 -0
- package/dist/onboarding/types.js +10 -0
- package/dist/onboarding/types.js.map +1 -0
- package/dist/resources/agents.d.ts +4 -0
- package/dist/resources/agents.d.ts.map +1 -0
- package/dist/resources/agents.js +44 -0
- package/dist/resources/agents.js.map +1 -0
- package/dist/resources/handlers.d.ts +17 -0
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +49 -12
- package/dist/resources/handlers.js.map +1 -1
- package/dist/resources/metadata.d.ts +48 -0
- package/dist/resources/metadata.d.ts.map +1 -0
- package/dist/resources/metadata.js +150 -0
- package/dist/resources/metadata.js.map +1 -0
- package/dist/resources/script-helpers.d.ts.map +1 -1
- package/dist/resources/script-helpers.js +3 -2
- package/dist/resources/script-helpers.js.map +1 -1
- package/dist/resources/store.d.ts.map +1 -1
- package/dist/resources/store.js +32 -17
- package/dist/resources/store.js.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +3 -2
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/scripts/chat/search-chats.d.ts.map +1 -1
- package/dist/scripts/chat/search-chats.js +2 -1
- package/dist/scripts/chat/search-chats.js.map +1 -1
- package/dist/scripts/core-scripts.d.ts.map +1 -1
- package/dist/scripts/core-scripts.js +2 -0
- package/dist/scripts/core-scripts.js.map +1 -1
- package/dist/scripts/db/scoping.d.ts.map +1 -1
- package/dist/scripts/db/scoping.js +3 -2
- package/dist/scripts/db/scoping.js.map +1 -1
- package/dist/scripts/docs/index.d.ts +2 -0
- package/dist/scripts/docs/index.d.ts.map +1 -0
- package/dist/scripts/docs/index.js +4 -0
- package/dist/scripts/docs/index.js.map +1 -0
- package/dist/scripts/docs/search.d.ts +13 -0
- package/dist/scripts/docs/search.d.ts.map +1 -0
- package/dist/scripts/docs/search.js +130 -0
- package/dist/scripts/docs/search.js.map +1 -0
- package/dist/scripts/resources/delete-memory.d.ts +7 -0
- package/dist/scripts/resources/delete-memory.d.ts.map +1 -0
- package/dist/scripts/resources/delete-memory.js +49 -0
- package/dist/scripts/resources/delete-memory.js.map +1 -0
- package/dist/scripts/resources/delete.d.ts.map +1 -1
- package/dist/scripts/resources/delete.js +2 -1
- package/dist/scripts/resources/delete.js.map +1 -1
- package/dist/scripts/resources/index.d.ts.map +1 -1
- package/dist/scripts/resources/index.js +2 -0
- package/dist/scripts/resources/index.js.map +1 -1
- package/dist/scripts/resources/list.d.ts.map +1 -1
- package/dist/scripts/resources/list.js +2 -1
- package/dist/scripts/resources/list.js.map +1 -1
- package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
- package/dist/scripts/resources/migrate-learnings.js +2 -1
- package/dist/scripts/resources/migrate-learnings.js.map +1 -1
- package/dist/scripts/resources/read.d.ts.map +1 -1
- package/dist/scripts/resources/read.js +2 -1
- package/dist/scripts/resources/read.js.map +1 -1
- package/dist/scripts/resources/save-memory.d.ts +9 -0
- package/dist/scripts/resources/save-memory.d.ts.map +1 -0
- package/dist/scripts/resources/save-memory.js +78 -0
- package/dist/scripts/resources/save-memory.js.map +1 -0
- package/dist/scripts/resources/write.d.ts.map +1 -1
- package/dist/scripts/resources/write.js +2 -1
- package/dist/scripts/resources/write.js.map +1 -1
- package/dist/scripts/utils.d.ts +10 -1
- package/dist/scripts/utils.d.ts.map +1 -1
- package/dist/scripts/utils.js +45 -2
- package/dist/scripts/utils.js.map +1 -1
- package/dist/server/action-discovery.d.ts +5 -0
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +51 -20
- 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 +63 -57
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +3 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +363 -48
- 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 +11 -23
- package/dist/server/agent-discovery.js.map +1 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +2 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/agents-bundle.d.ts +33 -5
- package/dist/server/agents-bundle.d.ts.map +1 -1
- package/dist/server/agents-bundle.js +108 -64
- package/dist/server/agents-bundle.js.map +1 -1
- package/dist/server/auth.d.ts +1 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +172 -60
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +202 -6
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/builder-browser.d.ts +40 -0
- package/dist/server/builder-browser.d.ts.map +1 -0
- package/dist/server/builder-browser.js +166 -0
- package/dist/server/builder-browser.js.map +1 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +152 -6
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +37 -0
- package/dist/server/credential-provider.d.ts.map +1 -0
- package/dist/server/credential-provider.js +49 -0
- package/dist/server/credential-provider.js.map +1 -0
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +42 -3
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-auth-plugin.js +1 -1
- package/dist/server/google-oauth.d.ts +1 -1
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +15 -10
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/oauth-helpers.d.ts +1 -0
- package/dist/server/oauth-helpers.d.ts.map +1 -1
- package/dist/server/oauth-helpers.js +5 -4
- package/dist/server/oauth-helpers.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +94 -3
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/request-context.d.ts +20 -0
- package/dist/server/request-context.d.ts.map +1 -0
- package/dist/server/request-context.js +41 -0
- package/dist/server/request-context.js.map +1 -0
- package/dist/templates/default/.agents/skills/actions/SKILL.md +2 -1
- package/dist/templates/default/.agents/skills/security/SKILL.md +145 -40
- package/dist/templates/default/.agents/skills/storing-data/SKILL.md +7 -1
- package/dist/templates/default/_gitignore +1 -0
- package/dist/templates/default/app/root.tsx +4 -1
- package/dist/templates/workspace-core/AGENTS.md +62 -0
- package/dist/templates/workspace-core/actions/company-directory.ts +38 -0
- package/dist/templates/workspace-core/package.json +39 -0
- package/dist/templates/workspace-core/skills/company-policies/SKILL.md +42 -0
- package/dist/templates/workspace-core/src/client/AuthenticatedLayout.tsx +37 -0
- package/dist/templates/workspace-core/src/client/index.ts +26 -0
- package/dist/templates/workspace-core/src/credentials.ts +29 -0
- package/dist/templates/workspace-core/src/index.ts +21 -0
- package/dist/templates/workspace-core/src/server/agent-chat-plugin.ts +30 -0
- package/dist/templates/workspace-core/src/server/auth-plugin.ts +35 -0
- package/dist/templates/workspace-core/src/server/index.ts +22 -0
- package/dist/templates/workspace-core/tailwind.preset.ts +34 -0
- package/dist/templates/workspace-core/tsconfig.json +9 -0
- package/dist/templates/workspace-root/.env.example +37 -0
- package/dist/templates/workspace-root/README.md +62 -0
- package/dist/templates/workspace-root/_gitignore +23 -0
- package/dist/templates/workspace-root/package.json +18 -0
- package/dist/templates/workspace-root/pnpm-workspace.yaml +3 -0
- package/dist/templates/workspace-root/tsconfig.base.json +21 -0
- package/dist/vite/agents-bundle-plugin.d.ts.map +1 -1
- package/dist/vite/agents-bundle-plugin.js +65 -15
- package/dist/vite/agents-bundle-plugin.js.map +1 -1
- package/dist/vite/client.d.ts +16 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +75 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/a2a-protocol.md +223 -0
- package/docs/content/actions.md +129 -0
- package/docs/content/agent-mentions.md +171 -0
- package/docs/content/authentication.md +155 -0
- package/docs/content/cli-adapters.md +244 -0
- package/docs/content/client.md +175 -0
- package/docs/content/context-awareness.md +168 -0
- package/docs/content/creating-templates.md +311 -0
- package/docs/content/database.md +82 -0
- package/docs/content/deployment.md +180 -0
- package/docs/content/enterprise-workspace.md +235 -0
- package/docs/content/faq.md +101 -0
- package/docs/content/file-uploads.md +102 -0
- package/docs/content/frames.md +47 -0
- package/docs/content/getting-started.md +104 -0
- package/docs/content/integrations.md +198 -0
- package/docs/content/key-concepts.md +246 -0
- package/docs/content/mcp-clients.md +110 -0
- package/docs/content/mcp-protocol.md +168 -0
- package/docs/content/onboarding.md +107 -0
- package/docs/content/real-time-collaboration.md +185 -0
- package/docs/content/resources.md +277 -0
- package/docs/content/security.md +158 -0
- package/docs/content/server.md +200 -0
- package/docs/content/skills-guide.md +107 -0
- package/docs/content/what-is-agent-native.md +100 -0
- package/docs/content/workspace-management.md +224 -0
- package/package.json +12 -2
- package/src/templates/default/.agents/skills/actions/SKILL.md +2 -1
- package/src/templates/default/.agents/skills/security/SKILL.md +145 -40
- package/src/templates/default/.agents/skills/storing-data/SKILL.md +7 -1
- package/src/templates/default/_gitignore +1 -0
- package/src/templates/default/app/root.tsx +4 -1
- package/src/templates/workspace-core/AGENTS.md +62 -0
- package/src/templates/workspace-core/actions/company-directory.ts +38 -0
- package/src/templates/workspace-core/package.json +39 -0
- package/src/templates/workspace-core/skills/company-policies/SKILL.md +42 -0
- package/src/templates/workspace-core/src/client/AuthenticatedLayout.tsx +37 -0
- package/src/templates/workspace-core/src/client/index.ts +26 -0
- package/src/templates/workspace-core/src/credentials.ts +29 -0
- package/src/templates/workspace-core/src/index.ts +21 -0
- package/src/templates/workspace-core/src/server/agent-chat-plugin.ts +30 -0
- package/src/templates/workspace-core/src/server/auth-plugin.ts +35 -0
- package/src/templates/workspace-core/src/server/index.ts +22 -0
- package/src/templates/workspace-core/tailwind.preset.ts +34 -0
- package/src/templates/workspace-core/tsconfig.json +9 -0
- package/src/templates/workspace-root/.env.example +37 -0
- package/src/templates/workspace-root/README.md +62 -0
- package/src/templates/workspace-root/_gitignore +23 -0
- package/src/templates/workspace-root/package.json +18 -0
- package/src/templates/workspace-root/pnpm-workspace.yaml +3 -0
- package/src/templates/workspace-root/tsconfig.base.json +21 -0
- package/dist/templates/templates/default/.agents/skills/actions/SKILL.md +0 -142
- package/dist/templates/templates/default/.agents/skills/agent-engines/SKILL.md +0 -127
- package/dist/templates/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -50
- package/dist/templates/templates/default/.agents/skills/create-skill/SKILL.md +0 -167
- package/dist/templates/templates/default/.agents/skills/delegate-to-agent/SKILL.md +0 -90
- package/dist/templates/templates/default/.agents/skills/frontend-design/SKILL.md +0 -69
- package/dist/templates/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -183
- package/dist/templates/templates/default/.agents/skills/real-time-sync/SKILL.md +0 -112
- package/dist/templates/templates/default/.agents/skills/security/SKILL.md +0 -108
- package/dist/templates/templates/default/.agents/skills/self-modifying-code/SKILL.md +0 -79
- package/dist/templates/templates/default/.agents/skills/storing-data/SKILL.md +0 -110
- package/dist/templates/templates/default/.claude/settings.json +0 -100
- package/dist/templates/templates/default/.env.example +0 -5
- package/dist/templates/templates/default/.ignore +0 -0
- package/dist/templates/templates/default/.prettierrc +0 -5
- package/dist/templates/templates/default/AGENTS.md +0 -110
- package/dist/templates/templates/default/DEVELOPING.md +0 -117
- package/dist/templates/templates/default/_gitignore +0 -37
- package/dist/templates/templates/default/actions/hello.ts +0 -20
- package/dist/templates/templates/default/actions/navigate.ts +0 -53
- package/dist/templates/templates/default/actions/run.ts +0 -2
- package/dist/templates/templates/default/actions/view-screen.ts +0 -39
- package/dist/templates/templates/default/app/entry.client.tsx +0 -4
- package/dist/templates/templates/default/app/entry.server.tsx +0 -56
- package/dist/templates/templates/default/app/global.css +0 -95
- package/dist/templates/templates/default/app/lib/utils.ts +0 -1
- package/dist/templates/templates/default/app/root.tsx +0 -107
- package/dist/templates/templates/default/app/routes/_index.tsx +0 -62
- package/dist/templates/templates/default/app/routes.ts +0 -4
- package/dist/templates/templates/default/app/vite-env.d.ts +0 -6
- package/dist/templates/templates/default/components.json +0 -20
- package/dist/templates/templates/default/data/.gitkeep +0 -0
- package/dist/templates/templates/default/data/sync-config.json +0 -1
- package/dist/templates/templates/default/learnings.defaults.md +0 -5
- package/dist/templates/templates/default/learnings.md +0 -0
- package/dist/templates/templates/default/package.json +0 -46
- package/dist/templates/templates/default/postcss.config.js +0 -6
- package/dist/templates/templates/default/public/icon-180.svg +0 -4
- package/dist/templates/templates/default/public/icon-192.svg +0 -4
- package/dist/templates/templates/default/public/icon-512.svg +0 -4
- package/dist/templates/templates/default/public/manifest.json +0 -13
- package/dist/templates/templates/default/react-router.config.ts +0 -6
- package/dist/templates/templates/default/server/middleware/auth.ts +0 -15
- package/dist/templates/templates/default/server/plugins/.gitkeep +0 -0
- package/dist/templates/templates/default/server/routes/[...page].get.ts +0 -5
- package/dist/templates/templates/default/server/routes/api/hello.get.ts +0 -5
- package/dist/templates/templates/default/shared/api.ts +0 -6
- package/dist/templates/templates/default/ssr-entry.ts +0 -20
- package/dist/templates/templates/default/tailwind.config.ts +0 -7
- package/dist/templates/templates/default/tsconfig.json +0 -11
- package/dist/templates/templates/default/vite.config.ts +0 -6
|
@@ -13,16 +13,35 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import path from "path";
|
|
15
15
|
import fs from "fs";
|
|
16
|
-
import { readAgentsBundleFromFs } from "../server/agents-bundle.js";
|
|
16
|
+
import { readAgentsBundleFromFs, } from "../server/agents-bundle.js";
|
|
17
|
+
import { getWorkspaceCoreExports } from "../deploy/workspace-core.js";
|
|
17
18
|
const VIRTUAL_ID = "virtual:agents-bundle";
|
|
18
19
|
const RESOLVED_ID = "\0" + VIRTUAL_ID;
|
|
19
|
-
function emitBundleModule(projectRoot) {
|
|
20
|
-
|
|
20
|
+
async function emitBundleModule(projectRoot) {
|
|
21
|
+
// If the project is inside an enterprise monorepo with a workspace core,
|
|
22
|
+
// merge in its AGENTS.md + skills. Template skills override workspace
|
|
23
|
+
// core skills on name collision.
|
|
24
|
+
let workspaceSource = null;
|
|
25
|
+
try {
|
|
26
|
+
const ws = await getWorkspaceCoreExports(projectRoot);
|
|
27
|
+
if (ws) {
|
|
28
|
+
workspaceSource = {
|
|
29
|
+
skillsDir: ws.skillsDir,
|
|
30
|
+
agentsMdPath: ws.agentsMdPath,
|
|
31
|
+
rootDir: ws.packageDir,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// fall back to template-only
|
|
37
|
+
}
|
|
38
|
+
const bundle = readAgentsBundleFromFs(projectRoot, workspaceSource);
|
|
21
39
|
// Serialize as JSON and wrap in `export default` — this produces a valid
|
|
22
40
|
// ES module that any bundler (Rollup, esbuild, Rolldown) can statically
|
|
23
41
|
// analyze and tree-shake if nothing imports it.
|
|
24
42
|
return `// AUTO-GENERATED by @agent-native/core/vite/agents-bundle-plugin
|
|
25
|
-
// Contains the inlined AGENTS.md + .agents/skills/ content from the template
|
|
43
|
+
// Contains the inlined AGENTS.md + .agents/skills/ content from the template,
|
|
44
|
+
// merged with any workspace-core AGENTS.md + skills/ when present.
|
|
26
45
|
const bundle = ${JSON.stringify(bundle)};
|
|
27
46
|
export default bundle;
|
|
28
47
|
`;
|
|
@@ -39,26 +58,51 @@ export function agentsBundlePlugin() {
|
|
|
39
58
|
return RESOLVED_ID;
|
|
40
59
|
return null;
|
|
41
60
|
},
|
|
42
|
-
load(id) {
|
|
61
|
+
async load(id) {
|
|
43
62
|
if (id !== RESOLVED_ID)
|
|
44
63
|
return null;
|
|
45
64
|
if (!projectRoot)
|
|
46
65
|
projectRoot = process.cwd();
|
|
47
|
-
return emitBundleModule(projectRoot);
|
|
66
|
+
return await emitBundleModule(projectRoot);
|
|
48
67
|
},
|
|
49
|
-
configureServer(server) {
|
|
68
|
+
async configureServer(server) {
|
|
50
69
|
// Watch AGENTS.md + any SKILL.md changes and invalidate the virtual
|
|
51
|
-
// module so the next request picks up fresh content.
|
|
70
|
+
// module so the next request picks up fresh content. Also watches
|
|
71
|
+
// the workspace core's AGENTS.md + skills/ directory (if present)
|
|
72
|
+
// so edits to the enterprise mid-layer propagate to every app.
|
|
52
73
|
const watcher = server.watcher;
|
|
74
|
+
// Resolve the workspace core up front so we can tell which files
|
|
75
|
+
// outside projectRoot should trigger invalidation.
|
|
76
|
+
let workspaceAgentsMdPath = null;
|
|
77
|
+
let workspaceSkillsDir = null;
|
|
78
|
+
try {
|
|
79
|
+
const ws = await getWorkspaceCoreExports(projectRoot);
|
|
80
|
+
if (ws) {
|
|
81
|
+
workspaceAgentsMdPath = ws.agentsMdPath;
|
|
82
|
+
workspaceSkillsDir = ws.skillsDir;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// ignore
|
|
87
|
+
}
|
|
53
88
|
const shouldInvalidate = (file) => {
|
|
54
89
|
const rel = path.relative(projectRoot, file);
|
|
55
|
-
if (rel.startsWith(".."))
|
|
56
|
-
|
|
57
|
-
|
|
90
|
+
if (!rel.startsWith("..")) {
|
|
91
|
+
if (rel === "AGENTS.md")
|
|
92
|
+
return true;
|
|
93
|
+
if (rel.startsWith(".agents" + path.sep + "skills") &&
|
|
94
|
+
rel.endsWith("SKILL.md"))
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
// Workspace-core files
|
|
98
|
+
if (workspaceAgentsMdPath && file === workspaceAgentsMdPath) {
|
|
58
99
|
return true;
|
|
59
|
-
|
|
60
|
-
|
|
100
|
+
}
|
|
101
|
+
if (workspaceSkillsDir &&
|
|
102
|
+
file.startsWith(workspaceSkillsDir + path.sep) &&
|
|
103
|
+
file.endsWith("SKILL.md")) {
|
|
61
104
|
return true;
|
|
105
|
+
}
|
|
62
106
|
return false;
|
|
63
107
|
};
|
|
64
108
|
const invalidate = (file) => {
|
|
@@ -70,14 +114,20 @@ export function agentsBundlePlugin() {
|
|
|
70
114
|
server.ws.send({ type: "full-reload" });
|
|
71
115
|
}
|
|
72
116
|
};
|
|
73
|
-
//
|
|
74
|
-
//
|
|
117
|
+
// Explicitly add template + workspace-core paths to the watcher so
|
|
118
|
+
// edits outside the normal Vite watch set still trigger invalidation.
|
|
75
119
|
const agentsMdPath = path.join(projectRoot, "AGENTS.md");
|
|
76
120
|
const skillsDir = path.join(projectRoot, ".agents", "skills");
|
|
77
121
|
if (fs.existsSync(agentsMdPath))
|
|
78
122
|
watcher.add(agentsMdPath);
|
|
79
123
|
if (fs.existsSync(skillsDir))
|
|
80
124
|
watcher.add(skillsDir);
|
|
125
|
+
if (workspaceAgentsMdPath && fs.existsSync(workspaceAgentsMdPath)) {
|
|
126
|
+
watcher.add(workspaceAgentsMdPath);
|
|
127
|
+
}
|
|
128
|
+
if (workspaceSkillsDir && fs.existsSync(workspaceSkillsDir)) {
|
|
129
|
+
watcher.add(workspaceSkillsDir);
|
|
130
|
+
}
|
|
81
131
|
watcher.on("change", invalidate);
|
|
82
132
|
watcher.on("add", invalidate);
|
|
83
133
|
watcher.on("unlink", invalidate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-bundle-plugin.js","sourceRoot":"","sources":["../../src/vite/agents-bundle-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,
|
|
1
|
+
{"version":3,"file":"agents-bundle-plugin.js","sourceRoot":"","sources":["../../src/vite/agents-bundle-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/client.d.ts
CHANGED
|
@@ -29,6 +29,22 @@ export interface ClientConfigOptions {
|
|
|
29
29
|
include?: string[];
|
|
30
30
|
exclude?: string[];
|
|
31
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Package names to stub in the SSR bundle with an empty proxy object.
|
|
34
|
+
*
|
|
35
|
+
* Use this for dependencies that only run in the browser (canvas / diagram
|
|
36
|
+
* libraries, editors, WebGL) but would otherwise get pulled into the
|
|
37
|
+
* server bundle via SSR's noExternal policy — pushing the CF Pages
|
|
38
|
+
* Functions bundle over the 25 MiB limit.
|
|
39
|
+
*
|
|
40
|
+
* Only add packages that are provably never called during SSR. If the
|
|
41
|
+
* server imports one, it will receive a Proxy that throws on any real
|
|
42
|
+
* use (which is better than bundling a 10 MiB dep the worker never calls).
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ssrStubs: ["mermaid", "@excalidraw/excalidraw"]
|
|
46
|
+
*/
|
|
47
|
+
ssrStubs?: string[];
|
|
32
48
|
/**
|
|
33
49
|
* @deprecated Pass `reactRouter()` directly in the `plugins` array instead.
|
|
34
50
|
* Previously used to auto-load the React Router Vite plugin via require(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAqG/C,MAAM,WAAW,YAAY;IAC3B,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC1D;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AAgSD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAqI1E"}
|
package/dist/vite/client.js
CHANGED
|
@@ -4,6 +4,7 @@ import { createRequire } from "module";
|
|
|
4
4
|
import { nitro as nitroVitePlugin } from "nitro/vite";
|
|
5
5
|
import { actionTypesPlugin } from "./action-types-plugin.js";
|
|
6
6
|
import { agentsBundlePlugin } from "./agents-bundle-plugin.js";
|
|
7
|
+
import { findWorkspaceRoot } from "../scripts/utils.js";
|
|
7
8
|
import { fileURLToPath } from "url";
|
|
8
9
|
const require = createRequire(import.meta.url);
|
|
9
10
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -294,6 +295,50 @@ function rolldownInputFix() {
|
|
|
294
295
|
* in-process scripts (which use localFetch → http://localhost:${PORT}/api/...)
|
|
295
296
|
* hit the right address even when Vite auto-increments the port.
|
|
296
297
|
*/
|
|
298
|
+
/**
|
|
299
|
+
* Replace caller-specified packages with an empty proxy stub during SSR
|
|
300
|
+
* builds. For apps whose heavy browser-only deps would otherwise bloat the
|
|
301
|
+
* edge worker past CF Pages' 25 MiB Functions limit.
|
|
302
|
+
*
|
|
303
|
+
* The template lists the packages in its `defineConfig({ ssrStubs })` call —
|
|
304
|
+
* the framework never hardcodes package names.
|
|
305
|
+
*/
|
|
306
|
+
function ssrStubPlugin(packages) {
|
|
307
|
+
if (!packages.length)
|
|
308
|
+
return null;
|
|
309
|
+
const stubbed = new Set(packages);
|
|
310
|
+
const STUB_ID = "\0agent-native-ssr-stub";
|
|
311
|
+
return {
|
|
312
|
+
name: "agent-native-ssr-stub-heavy-libs",
|
|
313
|
+
enforce: "pre",
|
|
314
|
+
resolveId(id, _importer, opts) {
|
|
315
|
+
if (!opts?.ssr)
|
|
316
|
+
return null;
|
|
317
|
+
// Match the bare package name or any subpath
|
|
318
|
+
const pkg = id
|
|
319
|
+
.split("/")
|
|
320
|
+
.slice(0, id.startsWith("@") ? 2 : 1)
|
|
321
|
+
.join("/");
|
|
322
|
+
if (stubbed.has(pkg))
|
|
323
|
+
return STUB_ID;
|
|
324
|
+
return null;
|
|
325
|
+
},
|
|
326
|
+
load(id) {
|
|
327
|
+
if (id !== STUB_ID)
|
|
328
|
+
return null;
|
|
329
|
+
// Proxy that answers any property access with itself — lets dead
|
|
330
|
+
// import/re-export chains parse without blowing up, and still throws
|
|
331
|
+
// if code actually tries to call any of it on the server.
|
|
332
|
+
return ("const handler = { get(_, p) { " +
|
|
333
|
+
"if (p === Symbol.toPrimitive) return () => ''; " +
|
|
334
|
+
"if (p === 'then') return undefined; " +
|
|
335
|
+
"return new Proxy(() => {}, handler); " +
|
|
336
|
+
"} };" +
|
|
337
|
+
"const stub = new Proxy(() => {}, handler);" +
|
|
338
|
+
"export default stub;");
|
|
339
|
+
},
|
|
340
|
+
};
|
|
341
|
+
}
|
|
297
342
|
function portExposer() {
|
|
298
343
|
return {
|
|
299
344
|
name: "agent-native-port-exposer",
|
|
@@ -333,9 +378,32 @@ export function defineConfig(options = {}) {
|
|
|
333
378
|
}
|
|
334
379
|
}
|
|
335
380
|
const cwd = process.cwd();
|
|
381
|
+
// Workspace env fallback. If this app is inside a workspace, tell Vite to
|
|
382
|
+
// also look for .env files at the workspace root. Per-app .env still wins
|
|
383
|
+
// (Vite's loadEnv merges in precedence order — app dir is loaded after).
|
|
384
|
+
const workspaceRoot = findWorkspaceRoot(cwd);
|
|
385
|
+
const envDir = workspaceRoot && workspaceRoot !== cwd ? workspaceRoot : cwd;
|
|
386
|
+
// Preload workspace-root .env into process.env so Nitro server code sees
|
|
387
|
+
// shared keys during dev (Nitro reads process.env, not vite's envDir).
|
|
388
|
+
if (workspaceRoot && workspaceRoot !== cwd) {
|
|
389
|
+
try {
|
|
390
|
+
const dotenv = require("dotenv");
|
|
391
|
+
dotenv.config({
|
|
392
|
+
path: path.join(workspaceRoot, ".env"),
|
|
393
|
+
override: false,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
catch { }
|
|
397
|
+
}
|
|
336
398
|
// Build the React transform plugin (only for legacy SPA mode)
|
|
337
399
|
const reactPluginInstance = reactTransformPlugin?.();
|
|
400
|
+
// APP_BASE_PATH lets this app be mounted under a prefix (e.g. "/mail") as
|
|
401
|
+
// part of a unified workspace deploy. Defaults to "/" for standalone apps.
|
|
402
|
+
const appBasePath = process.env.VITE_APP_BASE_PATH || process.env.APP_BASE_PATH || "/";
|
|
403
|
+
const base = appBasePath.endsWith("/") ? appBasePath : `${appBasePath}/`;
|
|
338
404
|
return {
|
|
405
|
+
envDir,
|
|
406
|
+
base,
|
|
339
407
|
server: {
|
|
340
408
|
host: "::",
|
|
341
409
|
port: options.port ?? 8080,
|
|
@@ -362,6 +430,13 @@ export function defineConfig(options = {}) {
|
|
|
362
430
|
noExternal: /^(?!node:)/,
|
|
363
431
|
},
|
|
364
432
|
plugins: [
|
|
433
|
+
// Stub packages from `options.ssrStubs` in the SSR bundle so they
|
|
434
|
+
// don't bloat the edge worker. Opt-in per template — the framework
|
|
435
|
+
// hardcodes nothing.
|
|
436
|
+
...(() => {
|
|
437
|
+
const p = ssrStubPlugin(options.ssrStubs ?? []);
|
|
438
|
+
return p ? [p] : [];
|
|
439
|
+
})(),
|
|
365
440
|
actionTypesPlugin(),
|
|
366
441
|
agentsBundlePlugin(),
|
|
367
442
|
autoReloadOnOptimizeDep(),
|
package/dist/vite/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "A2A Protocol"
|
|
3
|
+
description: "Agent-to-agent communication via JSON-RPC: discovery, messaging, streaming, and task management."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# A2A Protocol
|
|
7
|
+
|
|
8
|
+
Agent-to-agent communication over HTTP. Agents discover each other, send messages, and receive structured results.
|
|
9
|
+
|
|
10
|
+
## Overview {#overview}
|
|
11
|
+
|
|
12
|
+
A2A (agent-to-agent) is a JSON-RPC protocol for inter-agent communication. A mail agent can ask an analytics agent to run a query. A calendar agent can search issues in a project management agent. Each agent exposes its capabilities via an agent card and accepts work via a standard JSON-RPC endpoint.
|
|
13
|
+
|
|
14
|
+
Key concepts:
|
|
15
|
+
|
|
16
|
+
- **Agent card** — public metadata at `/.well-known/agent-card.json` describing skills and capabilities
|
|
17
|
+
- **JSON-RPC** — all communication goes through `POST /a2a` with standard JSON-RPC 2.0
|
|
18
|
+
- **Tasks** — each message creates a task with a lifecycle (submitted, working, completed, failed, canceled)
|
|
19
|
+
- **Bearer auth** — optional API key authentication via environment variable
|
|
20
|
+
|
|
21
|
+
## Server setup {#server-setup}
|
|
22
|
+
|
|
23
|
+
Call `mountA2A()` in a server plugin to expose the A2A endpoints:
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
// server/plugins/a2a.ts
|
|
27
|
+
import { mountA2A } from "@agent-native/core/a2a";
|
|
28
|
+
|
|
29
|
+
export default defineNitroPlugin((nitro) => {
|
|
30
|
+
mountA2A(nitro.h3App, {
|
|
31
|
+
name: "Analytics Agent",
|
|
32
|
+
description: "Runs analytics queries and returns chart data",
|
|
33
|
+
skills: [
|
|
34
|
+
{
|
|
35
|
+
id: "run-query",
|
|
36
|
+
name: "Run Query",
|
|
37
|
+
description: "Execute a SQL query against the analytics database",
|
|
38
|
+
tags: ["analytics", "sql"],
|
|
39
|
+
examples: ["Show me signups by source this month"],
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
apiKeyEnv: "A2A_API_KEY", // env var name for bearer token
|
|
43
|
+
streaming: true, // enable message/stream
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This mounts two endpoints: `GET /.well-known/agent-card.json` (public, no auth) and `POST /a2a` (authenticated JSON-RPC).
|
|
49
|
+
|
|
50
|
+
## Agent card {#agent-card}
|
|
51
|
+
|
|
52
|
+
The agent card is auto-generated from your config and served at `/.well-known/agent-card.json`. Other agents fetch it to discover your agent's skills.
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"name": "Analytics Agent",
|
|
57
|
+
"description": "Runs analytics queries and returns chart data",
|
|
58
|
+
"url": "https://analytics.example.com",
|
|
59
|
+
"version": "1.0.0",
|
|
60
|
+
"protocolVersion": "0.3",
|
|
61
|
+
"capabilities": {
|
|
62
|
+
"streaming": true,
|
|
63
|
+
"pushNotifications": false,
|
|
64
|
+
"stateTransitionHistory": true
|
|
65
|
+
},
|
|
66
|
+
"skills": [
|
|
67
|
+
{
|
|
68
|
+
"id": "run-query",
|
|
69
|
+
"name": "Run Query",
|
|
70
|
+
"description": "Execute a SQL query against the analytics database",
|
|
71
|
+
"tags": ["analytics", "sql"],
|
|
72
|
+
"examples": ["Show me signups by source this month"]
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"securitySchemes": {
|
|
76
|
+
"apiKey": { "type": "http", "scheme": "bearer" }
|
|
77
|
+
},
|
|
78
|
+
"security": [{ "apiKey": [] }]
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## JSON-RPC methods {#json-rpc-methods}
|
|
83
|
+
|
|
84
|
+
All methods are called via `POST /a2a` with JSON-RPC 2.0 format:
|
|
85
|
+
|
|
86
|
+
| Method | Description | Key params |
|
|
87
|
+
| ---------------- | ----------------------------------------- | --------------------- |
|
|
88
|
+
| `message/send` | Send a message, get a completed task back | `message, contextId?` |
|
|
89
|
+
| `message/stream` | Send a message, receive SSE task updates | `message, contextId?` |
|
|
90
|
+
| `tasks/get` | Fetch a task by ID | `id` |
|
|
91
|
+
| `tasks/cancel` | Cancel a running task | `id` |
|
|
92
|
+
|
|
93
|
+
Messages contain typed parts:
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"role": "user",
|
|
98
|
+
"parts": [
|
|
99
|
+
{ "type": "text", "text": "Show signups by source" },
|
|
100
|
+
{ "type": "data", "data": { "dateRange": "last-30d" } },
|
|
101
|
+
{
|
|
102
|
+
"type": "file",
|
|
103
|
+
"file": { "name": "report.csv", "mimeType": "text/csv", "bytes": "..." }
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Client {#client}
|
|
110
|
+
|
|
111
|
+
The `A2AClient` class handles discovery, messaging, and streaming:
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
import { A2AClient } from "@agent-native/core/a2a";
|
|
115
|
+
|
|
116
|
+
const client = new A2AClient("https://analytics.example.com", "my-api-key");
|
|
117
|
+
|
|
118
|
+
// Discover agent capabilities
|
|
119
|
+
const card = await client.getAgentCard();
|
|
120
|
+
console.log(card.skills);
|
|
121
|
+
|
|
122
|
+
// Send a message and get a completed task
|
|
123
|
+
const task = await client.send({
|
|
124
|
+
role: "user",
|
|
125
|
+
parts: [{ type: "text", text: "Show signups by source this month" }],
|
|
126
|
+
});
|
|
127
|
+
console.log(task.status.state); // "completed"
|
|
128
|
+
console.log(task.status.message); // agent's response
|
|
129
|
+
|
|
130
|
+
// Stream responses for long-running work
|
|
131
|
+
for await (const update of client.stream({
|
|
132
|
+
role: "user",
|
|
133
|
+
parts: [{ type: "text", text: "Generate a full quarterly report" }],
|
|
134
|
+
})) {
|
|
135
|
+
console.log(update.status.state, update.status.message);
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Convenience helper {#convenience-helper}
|
|
140
|
+
|
|
141
|
+
For simple text-in/text-out calls, use `callAgent()`:
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
import { callAgent } from "@agent-native/core/a2a";
|
|
145
|
+
|
|
146
|
+
// One-shot: send text, get text back
|
|
147
|
+
const response = await callAgent(
|
|
148
|
+
"https://analytics.example.com",
|
|
149
|
+
"How many signups last week?",
|
|
150
|
+
{ apiKey: process.env.ANALYTICS_API_KEY },
|
|
151
|
+
);
|
|
152
|
+
console.log(response); // "There were 1,247 signups last week..."
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Task lifecycle {#task-lifecycle}
|
|
156
|
+
|
|
157
|
+
Each message creates a task that moves through these states:
|
|
158
|
+
|
|
159
|
+
`submitted` → `working` → `completed` | `failed` | `canceled`
|
|
160
|
+
|
|
161
|
+
| State | Meaning |
|
|
162
|
+
| ---------------- | ---------------------------------------------- |
|
|
163
|
+
| `submitted` | Task created, queued for processing |
|
|
164
|
+
| `working` | Handler is processing the message |
|
|
165
|
+
| `completed` | Handler finished successfully |
|
|
166
|
+
| `failed` | Handler threw an error |
|
|
167
|
+
| `canceled` | Task was canceled via tasks/cancel |
|
|
168
|
+
| `input-required` | Handler needs more information from the caller |
|
|
169
|
+
|
|
170
|
+
Tasks persist in the `a2a_tasks` SQL table and can be retrieved later via `tasks/get`.
|
|
171
|
+
|
|
172
|
+
## Security {#security}
|
|
173
|
+
|
|
174
|
+
Set `apiKeyEnv` in your config to the name of an environment variable containing the expected bearer token:
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
// Config
|
|
178
|
+
mountA2A(app, {
|
|
179
|
+
// ...
|
|
180
|
+
apiKeyEnv: "A2A_API_KEY", // reads process.env.A2A_API_KEY
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// Client calls with the matching key
|
|
184
|
+
const client = new A2AClient(url, process.env.A2A_API_KEY);
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
The agent card endpoint is always public (no auth) so other agents can discover capabilities. The `/a2a` JSON-RPC endpoint requires a valid bearer token when `apiKeyEnv` is set. In dev mode (no env var configured), auth is skipped.
|
|
188
|
+
|
|
189
|
+
## Agent mentions {#agent-mentions}
|
|
190
|
+
|
|
191
|
+
You can `@`-mention agents directly in the chat composer. Connected agents use A2A: when you mention a connected agent, the server makes an A2A call to that agent and weaves the response into your conversation context.
|
|
192
|
+
|
|
193
|
+
Custom workspace agents are different: they run locally inside the current app/runtime rather than over A2A.
|
|
194
|
+
|
|
195
|
+
See [Agent Mentions](/docs/agent-mentions) for details on how mentions work, how to add agents, and how to create custom mention providers.
|
|
196
|
+
|
|
197
|
+
## Messaging integrations {#messaging-integrations}
|
|
198
|
+
|
|
199
|
+
Agents can also be reached from external messaging platforms like Slack, Telegram, and WhatsApp. Users send messages on those platforms and the agent responds in the same thread, using the same tools and actions as the web chat.
|
|
200
|
+
|
|
201
|
+
See [Integrations](/docs/integrations) for setup details on each platform.
|
|
202
|
+
|
|
203
|
+
## Example: cross-agent query {#example}
|
|
204
|
+
|
|
205
|
+
A mail agent needs analytics data. The analytics agent exposes a "run-query" skill via A2A:
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
// In the mail agent's actions/get-analytics.ts
|
|
209
|
+
import { callAgent } from "@agent-native/core/a2a";
|
|
210
|
+
|
|
211
|
+
export default async function (args: string[]) {
|
|
212
|
+
const response = await callAgent(
|
|
213
|
+
"https://analytics.example.com",
|
|
214
|
+
"How many emails were sent last week by category?",
|
|
215
|
+
{ apiKey: process.env.ANALYTICS_API_KEY },
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
console.log(response);
|
|
219
|
+
// The mail agent can now use this data in its response
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
The analytics agent receives the message, runs the query via its handler, and returns the result. The mail agent's script gets the text response back. No shared database, no direct API calls — just agent-to-agent communication.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Actions"
|
|
3
|
+
description: "Action dispatcher, parseArgs, standard actions, and utility functions for agent-callable operations."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Actions
|
|
7
|
+
|
|
8
|
+
`@agent-native/core` provides an action dispatcher and utilities for building agent-callable actions.
|
|
9
|
+
|
|
10
|
+
## Action Dispatcher {#action-dispatcher}
|
|
11
|
+
|
|
12
|
+
The action system lets you create actions that agents can invoke via `pnpm action <name>`. Each action is a TypeScript file that exports a default async function.
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
// actions/run.ts — dispatcher (one-time setup)
|
|
16
|
+
import { runScript } from "@agent-native/core";
|
|
17
|
+
runScript();
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
// actions/hello.ts — example action
|
|
22
|
+
import { parseArgs } from "@agent-native/core";
|
|
23
|
+
|
|
24
|
+
export default async function hello(args: string[]) {
|
|
25
|
+
const { name } = parseArgs(args);
|
|
26
|
+
console.log(`Hello, ${name ?? "world"}!`);
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Run it
|
|
32
|
+
pnpm action hello --name Steve
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## parseArgs(args) {#parseargs}
|
|
36
|
+
|
|
37
|
+
Parse CLI arguments in `--key value` or `--key=value` format:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import { parseArgs } from "@agent-native/core";
|
|
41
|
+
|
|
42
|
+
const args = parseArgs(["--name", "Steve", "--verbose", "--count=3"]);
|
|
43
|
+
// { name: "Steve", verbose: "true", count: "3" }
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Standard actions {#standard-actions}
|
|
47
|
+
|
|
48
|
+
Every template should include these two actions for [context awareness](/docs/context-awareness):
|
|
49
|
+
|
|
50
|
+
### view-screen {#view-screen}
|
|
51
|
+
|
|
52
|
+
Reads the current navigation state, fetches contextual data, and returns a snapshot of what the user sees. The agent should always call this before acting.
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
// actions/view-screen.ts
|
|
56
|
+
import { readAppState } from "@agent-native/core/application-state";
|
|
57
|
+
|
|
58
|
+
export default async function main() {
|
|
59
|
+
const navigation = await readAppState("navigation");
|
|
60
|
+
const screen: Record<string, unknown> = { navigation };
|
|
61
|
+
|
|
62
|
+
if (navigation?.view === "inbox") {
|
|
63
|
+
const res = await fetch(
|
|
64
|
+
"http://localhost:3000/api/emails?label=" + navigation.label,
|
|
65
|
+
);
|
|
66
|
+
screen.emailList = await res.json();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
console.log(JSON.stringify(screen, null, 2));
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pnpm action view-screen
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### navigate {#navigate}
|
|
78
|
+
|
|
79
|
+
Writes a one-shot navigation command to application-state. The UI reads it, navigates, and deletes the entry.
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
// actions/navigate.ts
|
|
83
|
+
import { parseArgs } from "@agent-native/core";
|
|
84
|
+
import { writeAppState } from "@agent-native/core/application-state";
|
|
85
|
+
|
|
86
|
+
export default async function main(args: string[]) {
|
|
87
|
+
const parsed = parseArgs(args);
|
|
88
|
+
await writeAppState("navigate", parsed);
|
|
89
|
+
console.log("Navigate command written:", parsed);
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
pnpm action navigate --view inbox --threadId thread-123
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Shared Agent Chat {#shared-agent-chat}
|
|
98
|
+
|
|
99
|
+
`@agent-native/core` provides an isomorphic chat bridge that works in both browser and Node.js:
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
import { agentChat } from "@agent-native/core";
|
|
103
|
+
|
|
104
|
+
// Auto-submit a message
|
|
105
|
+
agentChat.submit("Generate a report for Q4");
|
|
106
|
+
|
|
107
|
+
// Prefill without submitting
|
|
108
|
+
agentChat.prefill("Draft an email to...", contextData);
|
|
109
|
+
|
|
110
|
+
// Full control
|
|
111
|
+
agentChat.send({
|
|
112
|
+
message: "Process this data",
|
|
113
|
+
context: JSON.stringify(data),
|
|
114
|
+
submit: true,
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
In the browser, messages are sent via `window.postMessage()`. In Node.js (actions), they use the `BUILDER_PARENT_MESSAGE:` stdout format that the Electron host translates to postMessage.
|
|
119
|
+
|
|
120
|
+
## Utility Functions {#utility-functions}
|
|
121
|
+
|
|
122
|
+
| Function | Returns | Description |
|
|
123
|
+
| ----------------------- | --------- | -------------------------------------------------- |
|
|
124
|
+
| `loadEnv(path?)` | `void` | Load .env from project root (or custom path) |
|
|
125
|
+
| `camelCaseArgs(args)` | `Record` | Convert kebab-case keys to camelCase |
|
|
126
|
+
| `isValidPath(p)` | `boolean` | Validate relative path (no traversal, no absolute) |
|
|
127
|
+
| `isValidProjectPath(p)` | `boolean` | Validate project slug (e.g. "my-project") |
|
|
128
|
+
| `ensureDir(dir)` | `void` | mkdir -p helper |
|
|
129
|
+
| `fail(message)` | `never` | Print error to stderr and exit(1) |
|