@agent-native/core 0.5.0-dev.b51eaae → 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 +49 -37
- package/dist/a2a/agent-card.d.ts.map +1 -1
- package/dist/a2a/agent-card.js +12 -1
- package/dist/a2a/agent-card.js.map +1 -1
- package/dist/a2a/client.d.ts +11 -0
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +38 -1
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/index.d.ts +1 -1
- package/dist/a2a/index.d.ts.map +1 -1
- package/dist/a2a/index.js +1 -1
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/server.d.ts +4 -0
- package/dist/a2a/server.d.ts.map +1 -1
- package/dist/a2a/server.js +53 -8
- package/dist/a2a/server.js.map +1 -1
- package/dist/a2a/types.d.ts +1 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/action.d.ts +64 -30
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +224 -27
- package/dist/action.js.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts +24 -0
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -0
- package/dist/agent/engine/ai-sdk-engine.js +302 -0
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -0
- package/dist/agent/engine/anthropic-engine.d.ts +24 -0
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -0
- package/dist/agent/engine/anthropic-engine.js +169 -0
- package/dist/agent/engine/anthropic-engine.js.map +1 -0
- package/dist/agent/engine/builtin.d.ts +12 -0
- package/dist/agent/engine/builtin.d.ts.map +1 -0
- package/dist/agent/engine/builtin.js +72 -0
- package/dist/agent/engine/builtin.js.map +1 -0
- package/dist/agent/engine/index.d.ts +9 -0
- package/dist/agent/engine/index.d.ts.map +1 -0
- package/dist/agent/engine/index.js +8 -0
- package/dist/agent/engine/index.js.map +1 -0
- package/dist/agent/engine/registry.d.ts +61 -0
- package/dist/agent/engine/registry.d.ts.map +1 -0
- package/dist/agent/engine/registry.js +101 -0
- package/dist/agent/engine/registry.js.map +1 -0
- package/dist/agent/engine/translate-ai-sdk.d.ts +20 -0
- package/dist/agent/engine/translate-ai-sdk.d.ts.map +1 -0
- package/dist/agent/engine/translate-ai-sdk.js +174 -0
- package/dist/agent/engine/translate-ai-sdk.js.map +1 -0
- package/dist/agent/engine/translate-anthropic.d.ts +23 -0
- package/dist/agent/engine/translate-anthropic.d.ts.map +1 -0
- package/dist/agent/engine/translate-anthropic.js +140 -0
- package/dist/agent/engine/translate-anthropic.js.map +1 -0
- package/dist/agent/engine/types.d.ts +168 -0
- package/dist/agent/engine/types.d.ts.map +1 -0
- package/dist/agent/engine/types.js +13 -0
- package/dist/agent/engine/types.js.map +1 -0
- package/dist/agent/production-agent.d.ts +48 -2
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +369 -79
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts +1 -1
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +15 -9
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +5 -5
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts +1 -0
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +4 -1
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/agent/types.d.ts +23 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/application-state/handlers.d.ts +8 -8
- package/dist/application-state/handlers.d.ts.map +1 -1
- package/dist/application-state/handlers.js +3 -2
- package/dist/application-state/handlers.js.map +1 -1
- package/dist/application-state/script-helpers.d.ts.map +1 -1
- package/dist/application-state/script-helpers.js +47 -9
- package/dist/application-state/script-helpers.js.map +1 -1
- package/dist/chat-threads/store.d.ts +14 -0
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +32 -0
- package/dist/chat-threads/store.js.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 +36 -2
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +509 -61
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +73 -6
- 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 +6 -2
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +314 -180
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AgentTaskCard.d.ts +12 -0
- package/dist/client/AgentTaskCard.d.ts.map +1 -0
- package/dist/client/AgentTaskCard.js +146 -0
- package/dist/client/AgentTaskCard.js.map +1 -0
- package/dist/client/AssistantChat.d.ts +13 -2
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +344 -122
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts +7 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +345 -63
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/PoweredByBadge.js +2 -2
- package/dist/client/PoweredByBadge.js.map +1 -1
- package/dist/client/Turnstile.d.ts.map +1 -1
- package/dist/client/Turnstile.js +2 -3
- package/dist/client/Turnstile.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +63 -2
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-chat.d.ts +14 -1
- package/dist/client/agent-chat.d.ts.map +1 -1
- package/dist/client/agent-chat.js +4 -2
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/components/CodeAgentIndicator.d.ts +14 -0
- package/dist/client/components/CodeAgentIndicator.d.ts.map +1 -0
- package/dist/client/components/CodeAgentIndicator.js +29 -0
- package/dist/client/components/CodeAgentIndicator.js.map +1 -0
- 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 +4 -1
- package/dist/client/composer/MentionPopover.d.ts.map +1 -1
- package/dist/client/composer/MentionPopover.js +51 -8
- package/dist/client/composer/MentionPopover.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts +8 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +149 -17
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/index.d.ts +1 -1
- package/dist/client/composer/index.d.ts.map +1 -1
- package/dist/client/composer/types.d.ts +6 -1
- package/dist/client/composer/types.d.ts.map +1 -1
- package/dist/client/composer/use-mention-search.d.ts.map +1 -1
- package/dist/client/composer/use-mention-search.js +46 -13
- package/dist/client/composer/use-mention-search.js.map +1 -1
- package/dist/client/frame-protocol.d.ts +54 -0
- package/dist/client/frame-protocol.d.ts.map +1 -0
- package/dist/client/frame-protocol.js +9 -0
- package/dist/client/frame-protocol.js.map +1 -0
- package/dist/client/frame.d.ts +56 -0
- package/dist/client/frame.d.ts.map +1 -0
- package/dist/client/{harness.js → frame.js} +49 -26
- package/dist/client/frame.js.map +1 -0
- package/dist/client/index.d.ts +7 -3
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -3
- package/dist/client/index.js.map +1 -1
- package/dist/client/integrations/IntegrationCard.d.ts +6 -0
- package/dist/client/integrations/IntegrationCard.d.ts.map +1 -0
- package/dist/client/integrations/IntegrationCard.js +45 -0
- package/dist/client/integrations/IntegrationCard.js.map +1 -0
- package/dist/client/integrations/IntegrationsPanel.d.ts +2 -0
- package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -0
- package/dist/client/integrations/IntegrationsPanel.js +162 -0
- package/dist/client/integrations/IntegrationsPanel.js.map +1 -0
- package/dist/client/integrations/index.d.ts +4 -0
- package/dist/client/integrations/index.d.ts.map +1 -0
- package/dist/client/integrations/index.js +3 -0
- package/dist/client/integrations/index.js.map +1 -0
- package/dist/client/integrations/useIntegrationStatus.d.ts +15 -0
- package/dist/client/integrations/useIntegrationStatus.d.ts.map +1 -0
- package/dist/client/integrations/useIntegrationStatus.js +37 -0
- package/dist/client/integrations/useIntegrationStatus.js.map +1 -0
- 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/InvitationBanner.d.ts +9 -0
- package/dist/client/org/InvitationBanner.d.ts.map +1 -0
- package/dist/client/org/InvitationBanner.js +17 -0
- package/dist/client/org/InvitationBanner.js.map +1 -0
- package/dist/client/org/OrgSwitcher.d.ts +14 -0
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -0
- package/dist/client/org/OrgSwitcher.js +51 -0
- package/dist/client/org/OrgSwitcher.js.map +1 -0
- package/dist/client/org/TeamPage.d.ts +28 -0
- package/dist/client/org/TeamPage.d.ts.map +1 -0
- package/dist/client/org/TeamPage.js +216 -0
- package/dist/client/org/TeamPage.js.map +1 -0
- package/dist/client/org/hooks.d.ts +14 -0
- package/dist/client/org/hooks.d.ts.map +1 -0
- package/dist/client/org/hooks.js +101 -0
- package/dist/client/org/hooks.js.map +1 -0
- package/dist/client/org/index.d.ts +6 -0
- package/dist/client/org/index.d.ts.map +1 -0
- package/dist/client/org/index.js +6 -0
- package/dist/client/org/index.js.map +1 -0
- package/dist/client/resources/ResourceEditor.d.ts +8 -1
- package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
- package/dist/client/resources/ResourceEditor.js +141 -89
- package/dist/client/resources/ResourceEditor.js.map +1 -1
- package/dist/client/resources/ResourceTree.d.ts +5 -1
- package/dist/client/resources/ResourceTree.d.ts.map +1 -1
- package/dist/client/resources/ResourceTree.js +33 -5
- 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 +260 -109
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/resources/use-resources.d.ts +15 -0
- package/dist/client/resources/use-resources.d.ts.map +1 -1
- package/dist/client/resources/use-resources.js +2 -2
- 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/client/sse-event-processor.d.ts +9 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +36 -3
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/terminal/AgentTerminal.d.ts +4 -4
- package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
- package/dist/client/terminal/AgentTerminal.js +14 -14
- package/dist/client/terminal/AgentTerminal.js.map +1 -1
- package/dist/client/use-action.d.ts +51 -0
- package/dist/client/use-action.d.ts.map +1 -0
- package/dist/client/use-action.js +102 -0
- package/dist/client/use-action.js.map +1 -0
- package/dist/client/use-avatar.d.ts +15 -0
- package/dist/client/use-avatar.d.ts.map +1 -0
- package/dist/client/use-avatar.js +116 -0
- package/dist/client/use-avatar.js.map +1 -0
- package/dist/client/use-chat-threads.d.ts +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +34 -18
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/client/use-dev-mode.d.ts.map +1 -1
- package/dist/client/use-dev-mode.js +2 -0
- package/dist/client/use-dev-mode.js.map +1 -1
- package/dist/client/use-send-to-agent-chat.d.ts +7 -4
- package/dist/client/use-send-to-agent-chat.d.ts.map +1 -1
- package/dist/client/use-send-to-agent-chat.js +31 -10
- package/dist/client/use-send-to-agent-chat.js.map +1 -1
- package/dist/collab/awareness.d.ts +41 -0
- package/dist/collab/awareness.d.ts.map +1 -0
- package/dist/collab/awareness.js +82 -0
- package/dist/collab/awareness.js.map +1 -0
- package/dist/collab/client.d.ts +49 -0
- package/dist/collab/client.d.ts.map +1 -0
- package/dist/collab/client.js +250 -0
- package/dist/collab/client.js.map +1 -0
- package/dist/collab/emitter.d.ts +12 -0
- package/dist/collab/emitter.d.ts.map +1 -0
- package/dist/collab/emitter.js +16 -0
- package/dist/collab/emitter.js.map +1 -0
- package/dist/collab/index.d.ts +7 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.js +14 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/routes.d.ts +69 -0
- package/dist/collab/routes.d.ts.map +1 -0
- package/dist/collab/routes.js +98 -0
- package/dist/collab/routes.js.map +1 -0
- package/dist/collab/storage.d.ts +18 -0
- package/dist/collab/storage.d.ts.map +1 -0
- package/dist/collab/storage.js +94 -0
- package/dist/collab/storage.js.map +1 -0
- package/dist/collab/text-to-yjs.d.ts +23 -0
- package/dist/collab/text-to-yjs.d.ts.map +1 -0
- package/dist/collab/text-to-yjs.js +63 -0
- package/dist/collab/text-to-yjs.js.map +1 -0
- package/dist/collab/xml-ops.d.ts +20 -0
- package/dist/collab/xml-ops.d.ts.map +1 -0
- package/dist/collab/xml-ops.js +59 -0
- package/dist/collab/xml-ops.js.map +1 -0
- package/dist/collab/ydoc-manager.d.ts +52 -0
- package/dist/collab/ydoc-manager.d.ts.map +1 -0
- package/dist/collab/ydoc-manager.js +154 -0
- package/dist/collab/ydoc-manager.js.map +1 -0
- package/dist/db/client.d.ts +10 -0
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +43 -2
- package/dist/db/client.js.map +1 -1
- package/dist/db/create-get-db.js.map +1 -1
- package/dist/db/index.d.ts +1 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +9 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +45 -20
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/schema.d.ts +8 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +13 -2
- package/dist/db/schema.js.map +1 -1
- package/dist/deploy/build.js +795 -86
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/route-discovery.d.ts +22 -4
- package/dist/deploy/route-discovery.d.ts.map +1 -1
- package/dist/deploy/route-discovery.js +148 -35
- 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/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +4 -0
- package/dist/index.browser.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- 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 +10 -0
- package/dist/integrations/adapters/slack.d.ts.map +1 -0
- package/dist/integrations/adapters/slack.js +249 -0
- package/dist/integrations/adapters/slack.js.map +1 -0
- package/dist/integrations/adapters/telegram.d.ts +12 -0
- package/dist/integrations/adapters/telegram.d.ts.map +1 -0
- package/dist/integrations/adapters/telegram.js +216 -0
- package/dist/integrations/adapters/telegram.js.map +1 -0
- package/dist/integrations/adapters/whatsapp.d.ts +14 -0
- package/dist/integrations/adapters/whatsapp.d.ts.map +1 -0
- package/dist/integrations/adapters/whatsapp.js +205 -0
- package/dist/integrations/adapters/whatsapp.js.map +1 -0
- package/dist/integrations/config-store.d.ts +24 -0
- package/dist/integrations/config-store.d.ts.map +1 -0
- package/dist/integrations/config-store.js +92 -0
- package/dist/integrations/config-store.js.map +1 -0
- 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 +10 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +13 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/plugin.d.ts +20 -0
- package/dist/integrations/plugin.d.ts.map +1 -0
- package/dist/integrations/plugin.js +260 -0
- package/dist/integrations/plugin.js.map +1 -0
- package/dist/integrations/thread-mapping-store.d.ts +25 -0
- package/dist/integrations/thread-mapping-store.d.ts.map +1 -0
- package/dist/integrations/thread-mapping-store.js +95 -0
- package/dist/integrations/thread-mapping-store.js.map +1 -0
- package/dist/integrations/types.d.ts +144 -0
- package/dist/integrations/types.d.ts.map +1 -0
- package/dist/integrations/types.js +2 -0
- package/dist/integrations/types.js.map +1 -0
- package/dist/integrations/webhook-handler.d.ts +40 -0
- package/dist/integrations/webhook-handler.d.ts.map +1 -0
- package/dist/integrations/webhook-handler.js +220 -0
- package/dist/integrations/webhook-handler.js.map +1 -0
- package/dist/jobs/cron.d.ts +14 -0
- package/dist/jobs/cron.d.ts.map +1 -0
- package/dist/jobs/cron.js +100 -0
- package/dist/jobs/cron.js.map +1 -0
- package/dist/jobs/index.d.ts +4 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +4 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/scheduler.d.ts +32 -0
- package/dist/jobs/scheduler.d.ts.map +1 -0
- package/dist/jobs/scheduler.js +226 -0
- package/dist/jobs/scheduler.js.map +1 -0
- package/dist/jobs/tools.d.ts +3 -0
- package/dist/jobs/tools.d.ts.map +1 -0
- package/dist/jobs/tools.js +209 -0
- package/dist/jobs/tools.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +26 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +182 -0
- package/dist/mcp/server.js.map +1 -0
- 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/index.d.ts +1 -1
- package/dist/oauth-tokens/index.d.ts.map +1 -1
- package/dist/oauth-tokens/index.js +1 -1
- package/dist/oauth-tokens/index.js.map +1 -1
- package/dist/oauth-tokens/store.d.ts +5 -0
- package/dist/oauth-tokens/store.d.ts.map +1 -1
- package/dist/oauth-tokens/store.js +33 -8
- 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/org/context.d.ts +11 -0
- package/dist/org/context.d.ts.map +1 -0
- package/dist/org/context.js +61 -0
- package/dist/org/context.js.map +1 -0
- package/dist/org/handlers.d.ts +66 -0
- package/dist/org/handlers.d.ts.map +1 -0
- package/dist/org/handlers.js +306 -0
- package/dist/org/handlers.js.map +1 -0
- package/dist/org/index.d.ts +7 -0
- package/dist/org/index.d.ts.map +1 -0
- package/dist/org/index.js +11 -0
- package/dist/org/index.js.map +1 -0
- package/dist/org/migrations.d.ts +10 -0
- package/dist/org/migrations.d.ts.map +1 -0
- package/dist/org/migrations.js +39 -0
- package/dist/org/migrations.js.map +1 -0
- package/dist/org/plugin.d.ts +26 -0
- package/dist/org/plugin.d.ts.map +1 -0
- package/dist/org/plugin.js +94 -0
- package/dist/org/plugin.js.map +1 -0
- package/dist/org/schema.d.ts +301 -0
- package/dist/org/schema.d.ts.map +1 -0
- package/dist/org/schema.js +23 -0
- package/dist/org/schema.js.map +1 -0
- package/dist/org/types.d.ts +42 -0
- package/dist/org/types.d.ts.map +1 -0
- package/dist/org/types.js +5 -0
- package/dist/org/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 +27 -1
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +121 -11
- 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 +5 -0
- package/dist/resources/store.d.ts.map +1 -1
- package/dist/resources/store.js +76 -17
- package/dist/resources/store.js.map +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.d.ts +7 -0
- package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -0
- package/dist/scripts/agent-engines/list-agent-engines.js +42 -0
- package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -0
- package/dist/scripts/agent-engines/set-agent-engine.d.ts +7 -0
- package/dist/scripts/agent-engines/set-agent-engine.d.ts.map +1 -0
- package/dist/scripts/agent-engines/set-agent-engine.js +57 -0
- package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -0
- package/dist/scripts/agent-engines/test-agent-engine.d.ts +7 -0
- package/dist/scripts/agent-engines/test-agent-engine.d.ts.map +1 -0
- package/dist/scripts/agent-engines/test-agent-engine.js +102 -0
- package/dist/scripts/agent-engines/test-agent-engine.js.map +1 -0
- package/dist/scripts/call-agent.d.ts +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +13 -8
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/scripts/chat/index.d.ts +2 -0
- package/dist/scripts/chat/index.d.ts.map +1 -0
- package/dist/scripts/chat/index.js +5 -0
- package/dist/scripts/chat/index.js.map +1 -0
- package/dist/scripts/chat/open-chat.d.ts +11 -0
- package/dist/scripts/chat/open-chat.d.ts.map +1 -0
- package/dist/scripts/chat/open-chat.js +48 -0
- package/dist/scripts/chat/open-chat.js.map +1 -0
- package/dist/scripts/chat/search-chats.d.ts +10 -0
- package/dist/scripts/chat/search-chats.d.ts.map +1 -0
- package/dist/scripts/chat/search-chats.js +90 -0
- package/dist/scripts/chat/search-chats.js.map +1 -0
- package/dist/scripts/core-scripts.d.ts.map +1 -1
- package/dist/scripts/core-scripts.js +4 -0
- package/dist/scripts/core-scripts.js.map +1 -1
- package/dist/scripts/db/check-scoping.d.ts +14 -0
- package/dist/scripts/db/check-scoping.d.ts.map +1 -0
- package/dist/scripts/db/check-scoping.js +174 -0
- package/dist/scripts/db/check-scoping.js.map +1 -0
- package/dist/scripts/db/exec.d.ts +3 -2
- package/dist/scripts/db/exec.d.ts.map +1 -1
- package/dist/scripts/db/exec.js +35 -19
- package/dist/scripts/db/exec.js.map +1 -1
- package/dist/scripts/db/index.d.ts.map +1 -1
- package/dist/scripts/db/index.js +2 -0
- package/dist/scripts/db/index.js.map +1 -1
- package/dist/scripts/db/patch.d.ts +50 -0
- package/dist/scripts/db/patch.d.ts.map +1 -0
- package/dist/scripts/db/patch.js +392 -0
- package/dist/scripts/db/patch.js.map +1 -0
- package/dist/scripts/db/scoping.d.ts +8 -2
- package/dist/scripts/db/scoping.d.ts.map +1 -1
- package/dist/scripts/db/scoping.js +66 -47
- package/dist/scripts/db/scoping.js.map +1 -1
- package/dist/scripts/dev/index.d.ts.map +1 -1
- package/dist/scripts/dev/index.js +64 -1
- package/dist/scripts/dev/index.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/parse-args.d.ts +14 -0
- package/dist/scripts/parse-args.d.ts.map +1 -0
- package/dist/scripts/parse-args.js +45 -0
- package/dist/scripts/parse-args.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/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +10 -2
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/utils.d.ts +9 -8
- package/dist/scripts/utils.d.ts.map +1 -1
- package/dist/scripts/utils.js +40 -35
- 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 +132 -33
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.d.ts +15 -0
- package/dist/server/action-routes.d.ts.map +1 -0
- package/dist/server/action-routes.js +111 -0
- package/dist/server/action-routes.js.map +1 -0
- package/dist/server/agent-chat-plugin.d.ts +23 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +1474 -266
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-discovery.d.ts +8 -3
- package/dist/server/agent-discovery.d.ts.map +1 -1
- package/dist/server/agent-discovery.js +57 -8
- package/dist/server/agent-discovery.js.map +1 -1
- package/dist/server/agent-teams.d.ts +70 -0
- package/dist/server/agent-teams.d.ts.map +1 -0
- package/dist/server/agent-teams.js +368 -0
- package/dist/server/agent-teams.js.map +1 -0
- package/dist/server/agents-bundle.d.ts +115 -0
- package/dist/server/agents-bundle.d.ts.map +1 -0
- package/dist/server/agents-bundle.js +275 -0
- package/dist/server/agents-bundle.js.map +1 -0
- package/dist/server/auth-plugin.d.ts +3 -3
- package/dist/server/auth-plugin.d.ts.map +1 -1
- package/dist/server/auth-plugin.js +9 -10
- package/dist/server/auth-plugin.js.map +1 -1
- package/dist/server/auth.d.ts +55 -33
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +640 -610
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +72 -0
- package/dist/server/better-auth-instance.d.ts.map +1 -0
- package/dist/server/better-auth-instance.js +340 -0
- package/dist/server/better-auth-instance.js.map +1 -0
- 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/collab-plugin.d.ts +29 -0
- package/dist/server/collab-plugin.d.ts.map +1 -0
- package/dist/server/collab-plugin.js +85 -0
- package/dist/server/collab-plugin.js.map +1 -0
- package/dist/server/core-routes-plugin.d.ts +0 -3
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +248 -32
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/create-server.d.ts +1 -1
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/create-server.js +39 -16
- package/dist/server/create-server.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 +47 -0
- package/dist/server/framework-request-handler.d.ts.map +1 -0
- package/dist/server/framework-request-handler.js +207 -0
- package/dist/server/framework-request-handler.js.map +1 -0
- package/dist/server/google-auth-plugin.d.ts +4 -0
- package/dist/server/google-auth-plugin.d.ts.map +1 -1
- package/dist/server/google-auth-plugin.js +14 -13
- package/dist/server/google-auth-plugin.js.map +1 -1
- package/dist/server/google-oauth.d.ts +3 -3
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +51 -24
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/h3-helpers.d.ts +23 -0
- package/dist/server/h3-helpers.d.ts.map +1 -0
- package/dist/server/h3-helpers.js +37 -0
- package/dist/server/h3-helpers.js.map +1 -0
- package/dist/server/index.d.ts +12 -4
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +15 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/local-migration.d.ts +32 -0
- package/dist/server/local-migration.d.ts.map +1 -0
- package/dist/server/local-migration.js +205 -0
- package/dist/server/local-migration.js.map +1 -0
- package/dist/server/oauth-helpers.d.ts +5 -6
- package/dist/server/oauth-helpers.d.ts.map +1 -1
- package/dist/server/oauth-helpers.js +10 -11
- package/dist/server/oauth-helpers.js.map +1 -1
- package/dist/server/onboarding-html.d.ts +24 -0
- package/dist/server/onboarding-html.d.ts.map +1 -0
- package/dist/server/onboarding-html.js +438 -0
- package/dist/server/onboarding-html.js.map +1 -0
- package/dist/server/poll.d.ts +7 -2
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +48 -1
- package/dist/server/poll.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/server/resources-plugin.d.ts.map +1 -1
- package/dist/server/resources-plugin.js +4 -3
- package/dist/server/resources-plugin.js.map +1 -1
- package/dist/server/schema-prompt.d.ts +16 -0
- package/dist/server/schema-prompt.d.ts.map +1 -0
- package/dist/server/schema-prompt.js +275 -0
- package/dist/server/schema-prompt.js.map +1 -0
- package/dist/server/sse.d.ts +3 -20
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +1 -29
- package/dist/server/sse.js.map +1 -1
- package/dist/server/ssr-handler.d.ts +6 -0
- package/dist/server/ssr-handler.d.ts.map +1 -0
- package/dist/server/ssr-handler.js +55 -0
- package/dist/server/ssr-handler.js.map +1 -0
- package/dist/settings/handlers.d.ts +3 -3
- package/dist/settings/handlers.d.ts.map +1 -1
- package/dist/settings/handlers.js +2 -1
- package/dist/settings/handlers.js.map +1 -1
- package/dist/settings/index.d.ts +1 -0
- package/dist/settings/index.d.ts.map +1 -1
- package/dist/settings/index.js +2 -0
- package/dist/settings/index.js.map +1 -1
- package/dist/settings/org-settings.d.ts +22 -0
- package/dist/settings/org-settings.d.ts.map +1 -0
- package/dist/settings/org-settings.js +45 -0
- package/dist/settings/org-settings.js.map +1 -0
- package/dist/shared/agent-chat.d.ts +5 -5
- package/dist/shared/agent-chat.d.ts.map +1 -1
- package/dist/shared/agent-chat.js +8 -8
- package/dist/shared/agent-chat.js.map +1 -1
- package/dist/shared/agent-env.d.ts +1 -1
- package/dist/shared/agent-env.js +1 -1
- package/dist/shared/runtime.d.ts +14 -0
- package/dist/shared/runtime.d.ts.map +1 -0
- package/dist/shared/runtime.js +25 -0
- package/dist/shared/runtime.js.map +1 -0
- package/dist/templates/default/.agents/skills/actions/SKILL.md +143 -0
- package/dist/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
- package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +50 -0
- package/dist/templates/default/.agents/skills/create-skill/SKILL.md +167 -0
- package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +90 -0
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +69 -0
- package/dist/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
- package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
- package/dist/templates/default/.agents/skills/security/SKILL.md +213 -0
- package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +79 -0
- package/{src/templates/default/.agents/skills/files-as-database → dist/templates/default/.agents/skills/storing-data}/SKILL.md +7 -1
- package/dist/templates/default/.claude/settings.json +100 -0
- package/dist/templates/default/.env.example +5 -0
- package/dist/templates/default/.prettierrc +5 -0
- package/dist/templates/default/AGENTS.md +110 -0
- package/dist/templates/default/DEVELOPING.md +117 -0
- package/dist/templates/default/_gitignore +38 -0
- package/dist/templates/default/actions/hello.ts +20 -0
- package/dist/templates/default/actions/navigate.ts +53 -0
- package/dist/templates/default/actions/run.ts +2 -0
- package/dist/templates/default/actions/view-screen.ts +39 -0
- package/dist/templates/default/app/entry.client.tsx +4 -0
- package/dist/templates/default/app/entry.server.tsx +56 -0
- package/dist/templates/default/app/global.css +95 -0
- package/dist/templates/default/app/lib/utils.ts +1 -0
- package/dist/templates/default/app/root.tsx +110 -0
- package/dist/templates/default/app/routes/_index.tsx +62 -0
- package/dist/templates/default/app/routes.ts +4 -0
- package/dist/templates/default/app/vite-env.d.ts +6 -0
- package/dist/templates/default/components.json +20 -0
- package/dist/templates/default/data/.gitkeep +0 -0
- package/dist/templates/default/data/sync-config.json +1 -0
- package/dist/templates/default/learnings.defaults.md +5 -0
- package/dist/templates/default/learnings.md +0 -0
- package/dist/templates/default/package.json +46 -0
- package/dist/templates/default/postcss.config.js +6 -0
- package/dist/templates/default/public/icon-180.svg +4 -0
- package/dist/templates/default/public/icon-192.svg +4 -0
- package/dist/templates/default/public/icon-512.svg +4 -0
- package/dist/templates/default/public/manifest.json +13 -0
- package/dist/templates/default/react-router.config.ts +6 -0
- package/dist/templates/default/server/middleware/auth.ts +15 -0
- package/dist/templates/default/server/plugins/.gitkeep +0 -0
- package/dist/templates/default/server/routes/[...page].get.ts +5 -0
- package/dist/templates/default/server/routes/api/hello.get.ts +5 -0
- package/dist/templates/default/shared/api.ts +6 -0
- package/dist/templates/default/ssr-entry.ts +20 -0
- package/dist/templates/default/tailwind.config.ts +7 -0
- package/dist/templates/default/tsconfig.json +11 -0
- package/dist/templates/default/vite.config.ts +6 -0
- 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/terminal/cli-registry.d.ts +1 -1
- package/dist/terminal/cli-registry.d.ts.map +1 -1
- package/dist/terminal/cli-registry.js +7 -7
- package/dist/terminal/cli-registry.js.map +1 -1
- package/dist/terminal/pty-server.d.ts +1 -1
- package/dist/terminal/pty-server.d.ts.map +1 -1
- package/dist/terminal/pty-server.js +34 -12
- package/dist/terminal/pty-server.js.map +1 -1
- package/dist/terminal/terminal-plugin.d.ts +0 -9
- package/dist/terminal/terminal-plugin.d.ts.map +1 -1
- package/dist/terminal/terminal-plugin.js +57 -14
- package/dist/terminal/terminal-plugin.js.map +1 -1
- package/dist/usage/store.d.ts +29 -0
- package/dist/usage/store.d.ts.map +1 -0
- package/dist/usage/store.js +102 -0
- package/dist/usage/store.js.map +1 -0
- package/dist/vite/action-types-plugin.d.ts +13 -0
- package/dist/vite/action-types-plugin.d.ts.map +1 -0
- package/dist/vite/action-types-plugin.js +132 -0
- package/dist/vite/action-types-plugin.js.map +1 -0
- package/dist/vite/agents-bundle-plugin.d.ts +3 -0
- package/dist/vite/agents-bundle-plugin.d.ts.map +1 -0
- package/dist/vite/agents-bundle-plugin.js +137 -0
- package/dist/vite/agents-bundle-plugin.js.map +1 -0
- package/dist/vite/client.d.ts +21 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +297 -37
- package/dist/vite/client.js.map +1 -1
- package/dist/vite/index.d.ts +2 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +2 -1
- package/dist/vite/index.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 +78 -20
- package/src/templates/default/.agents/skills/actions/SKILL.md +14 -7
- package/src/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
- package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
- package/src/templates/default/.agents/skills/security/SKILL.md +213 -0
- package/src/templates/default/.agents/skills/storing-data/SKILL.md +116 -0
- package/src/templates/default/.claude/settings.json +13 -0
- package/src/templates/default/AGENTS.md +25 -9
- package/src/templates/default/_gitignore +1 -0
- package/src/templates/default/actions/view-screen.ts +1 -1
- package/src/templates/default/app/root.tsx +4 -1
- package/src/templates/default/package.json +2 -2
- package/src/templates/default/server/middleware/auth.ts +15 -0
- package/src/templates/default/server/routes/[...page].get.ts +2 -9
- package/src/templates/default/ssr-entry.ts +20 -0
- 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/adapters/convex/adapter.d.ts +0 -24
- package/dist/adapters/convex/adapter.d.ts.map +0 -1
- package/dist/adapters/convex/adapter.js +0 -125
- package/dist/adapters/convex/adapter.js.map +0 -1
- package/dist/adapters/convex/index.d.ts +0 -4
- package/dist/adapters/convex/index.d.ts.map +0 -1
- package/dist/adapters/convex/index.js +0 -3
- package/dist/adapters/convex/index.js.map +0 -1
- package/dist/adapters/drizzle/adapter.d.ts +0 -36
- package/dist/adapters/drizzle/adapter.d.ts.map +0 -1
- package/dist/adapters/drizzle/adapter.js +0 -210
- package/dist/adapters/drizzle/adapter.js.map +0 -1
- package/dist/adapters/drizzle/index.d.ts +0 -3
- package/dist/adapters/drizzle/index.d.ts.map +0 -1
- package/dist/adapters/drizzle/index.js +0 -3
- package/dist/adapters/drizzle/index.js.map +0 -1
- package/dist/adapters/drizzle/schema.d.ts +0 -146
- package/dist/adapters/drizzle/schema.d.ts.map +0 -1
- package/dist/adapters/drizzle/schema.js +0 -20
- package/dist/adapters/drizzle/schema.js.map +0 -1
- package/dist/adapters/firestore/adapter.d.ts +0 -48
- package/dist/adapters/firestore/adapter.d.ts.map +0 -1
- package/dist/adapters/firestore/adapter.js +0 -62
- package/dist/adapters/firestore/adapter.js.map +0 -1
- package/dist/adapters/firestore/index.d.ts +0 -4
- package/dist/adapters/firestore/index.d.ts.map +0 -1
- package/dist/adapters/firestore/index.js +0 -3
- package/dist/adapters/firestore/index.js.map +0 -1
- package/dist/adapters/supabase/adapter.d.ts +0 -43
- package/dist/adapters/supabase/adapter.d.ts.map +0 -1
- package/dist/adapters/supabase/adapter.js +0 -137
- package/dist/adapters/supabase/adapter.js.map +0 -1
- package/dist/adapters/supabase/index.d.ts +0 -3
- package/dist/adapters/supabase/index.d.ts.map +0 -1
- package/dist/adapters/supabase/index.js +0 -3
- package/dist/adapters/supabase/index.js.map +0 -1
- package/dist/adapters/sync/config.d.ts +0 -40
- package/dist/adapters/sync/config.d.ts.map +0 -1
- package/dist/adapters/sync/config.js +0 -209
- package/dist/adapters/sync/config.js.map +0 -1
- package/dist/adapters/sync/create-file-sync.d.ts +0 -32
- package/dist/adapters/sync/create-file-sync.d.ts.map +0 -1
- package/dist/adapters/sync/create-file-sync.js +0 -218
- package/dist/adapters/sync/create-file-sync.js.map +0 -1
- package/dist/adapters/sync/file-sync.d.ts +0 -94
- package/dist/adapters/sync/file-sync.d.ts.map +0 -1
- package/dist/adapters/sync/file-sync.js +0 -671
- package/dist/adapters/sync/file-sync.js.map +0 -1
- package/dist/adapters/sync/index.d.ts +0 -6
- package/dist/adapters/sync/index.d.ts.map +0 -1
- package/dist/adapters/sync/index.js +0 -6
- package/dist/adapters/sync/index.js.map +0 -1
- package/dist/adapters/sync/merge.d.ts +0 -21
- package/dist/adapters/sync/merge.d.ts.map +0 -1
- package/dist/adapters/sync/merge.js +0 -132
- package/dist/adapters/sync/merge.js.map +0 -1
- package/dist/adapters/sync/types.d.ts +0 -62
- package/dist/adapters/sync/types.d.ts.map +0 -1
- package/dist/adapters/sync/types.js +0 -23
- package/dist/adapters/sync/types.js.map +0 -1
- package/dist/client/harness.d.ts +0 -48
- package/dist/client/harness.d.ts.map +0 -1
- package/dist/client/harness.js.map +0 -1
- package/dist/client/use-file-sync-status.d.ts +0 -21
- package/dist/client/use-file-sync-status.d.ts.map +0 -1
- package/dist/client/use-file-sync-status.js +0 -65
- package/dist/client/use-file-sync-status.js.map +0 -1
- package/dist/server/default-watcher.d.ts +0 -23
- package/dist/server/default-watcher.d.ts.map +0 -1
- package/dist/server/default-watcher.js +0 -57
- package/dist/server/default-watcher.js.map +0 -1
- package/dist/server/file-sync-plugin.d.ts +0 -7
- package/dist/server/file-sync-plugin.d.ts.map +0 -1
- package/dist/server/file-sync-plugin.js +0 -38
- package/dist/server/file-sync-plugin.js.map +0 -1
- package/dist/vite/dev-api-server.d.ts +0 -10
- package/dist/vite/dev-api-server.d.ts.map +0 -1
- package/dist/vite/dev-api-server.js +0 -243
- package/dist/vite/dev-api-server.js.map +0 -1
- /package/{src/templates/default/application-state/.gitkeep → dist/templates/default/.ignore} +0 -0
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { defineEventHandler, setResponseHeader, setResponseStatus, getMethod, } from "h3";
|
|
2
|
+
import { resolveEngine, registerBuiltinEngines } from "./engine/index.js";
|
|
3
|
+
import { ASSISTANT_CONTENT_KEY } from "./engine/anthropic-engine.js";
|
|
4
|
+
import { readAppState } from "../application-state/script-helpers.js";
|
|
3
5
|
import { startRun, subscribeToRun, getActiveRunForThread, getActiveRunForThreadAsync, getRun, abortRun, } from "./run-manager.js";
|
|
6
|
+
import { readBody } from "../server/h3-helpers.js";
|
|
7
|
+
import { getRequestUserEmail } from "../server/request-context.js";
|
|
8
|
+
// Register built-in engines on first import
|
|
9
|
+
registerBuiltinEngines();
|
|
4
10
|
const MAX_ITERATIONS = 40;
|
|
5
11
|
const MAX_RETRIES = 3;
|
|
6
12
|
const RETRY_BASE_DELAY_MS = 2000;
|
|
@@ -37,6 +43,7 @@ function enrichMessage(message, references) {
|
|
|
37
43
|
return message;
|
|
38
44
|
const fileRefs = references.filter((r) => r.type === "file");
|
|
39
45
|
const skillRefs = references.filter((r) => r.type === "skill");
|
|
46
|
+
const customAgentRefs = references.filter((r) => r.type === "custom-agent");
|
|
40
47
|
const mentionRefs = references.filter((r) => r.type === "mention");
|
|
41
48
|
const parts = [];
|
|
42
49
|
if (fileRefs.length > 0) {
|
|
@@ -51,6 +58,12 @@ function enrichMessage(message, references) {
|
|
|
51
58
|
.map((r) => `- ${r.name} (${r.path})${r.source === "resource" ? " — read with resource-read" : " — read with read-file"}`)
|
|
52
59
|
.join("\n"));
|
|
53
60
|
}
|
|
61
|
+
if (customAgentRefs.length > 0) {
|
|
62
|
+
parts.push("Requested custom agents:\n" +
|
|
63
|
+
customAgentRefs
|
|
64
|
+
.map((r) => `- ${r.name}${r.refId ? ` (id: ${r.refId})` : ""}${r.path ? ` (path: ${r.path})` : ""}`)
|
|
65
|
+
.join("\n"));
|
|
66
|
+
}
|
|
54
67
|
if (mentionRefs.length > 0) {
|
|
55
68
|
parts.push("Referenced items:\n" +
|
|
56
69
|
mentionRefs
|
|
@@ -60,11 +73,32 @@ function enrichMessage(message, references) {
|
|
|
60
73
|
return `${parts.join("\n\n")}\n\n${message}`;
|
|
61
74
|
}
|
|
62
75
|
/**
|
|
63
|
-
*
|
|
76
|
+
* Convert ActionEntry registry to EngineTool array.
|
|
77
|
+
*/
|
|
78
|
+
export function actionsToEngineTools(actions) {
|
|
79
|
+
return Object.entries(actions).map(([name, entry]) => ({
|
|
80
|
+
name,
|
|
81
|
+
description: entry.tool.description,
|
|
82
|
+
inputSchema: (entry.tool.parameters ?? {
|
|
83
|
+
type: "object",
|
|
84
|
+
properties: {},
|
|
85
|
+
}),
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The core agent loop — calls the engine iteratively until no more tool calls.
|
|
64
90
|
* Decoupled from HTTP transport so it can run in the background.
|
|
91
|
+
* Returns accumulated token usage for cost tracking.
|
|
65
92
|
*/
|
|
66
|
-
async function runAgentLoop(opts) {
|
|
67
|
-
const {
|
|
93
|
+
export async function runAgentLoop(opts) {
|
|
94
|
+
const { engine, model, systemPrompt, tools, messages, actions, send, signal, } = opts;
|
|
95
|
+
const usage = {
|
|
96
|
+
inputTokens: 0,
|
|
97
|
+
outputTokens: 0,
|
|
98
|
+
cacheReadTokens: 0,
|
|
99
|
+
cacheWriteTokens: 0,
|
|
100
|
+
model,
|
|
101
|
+
};
|
|
68
102
|
let iterations = 0;
|
|
69
103
|
while (true) {
|
|
70
104
|
if (signal.aborted)
|
|
@@ -74,23 +108,52 @@ async function runAgentLoop(opts) {
|
|
|
74
108
|
break;
|
|
75
109
|
}
|
|
76
110
|
let assistantContent;
|
|
111
|
+
let hasToolCalls = false;
|
|
77
112
|
for (let retry = 0;; retry++) {
|
|
78
113
|
try {
|
|
79
|
-
const
|
|
114
|
+
const streamOpts = {
|
|
80
115
|
model,
|
|
81
|
-
|
|
82
|
-
system: systemPrompt,
|
|
83
|
-
tools,
|
|
116
|
+
systemPrompt,
|
|
84
117
|
messages,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
118
|
+
tools,
|
|
119
|
+
abortSignal: signal,
|
|
120
|
+
providerOptions: opts.providerOptions,
|
|
121
|
+
};
|
|
122
|
+
const eventStream = engine.stream(streamOpts);
|
|
123
|
+
let thinkingBuffer = "";
|
|
124
|
+
for await (const event of eventStream) {
|
|
125
|
+
if (event.type === "text-delta") {
|
|
126
|
+
send({ type: "text", text: event.text });
|
|
127
|
+
}
|
|
128
|
+
else if (event.type === "thinking-delta") {
|
|
129
|
+
thinkingBuffer += event.text;
|
|
130
|
+
// Thinking deltas are not forwarded to the SSE client yet —
|
|
131
|
+
// we accumulate them. In a future iteration, we can surface
|
|
132
|
+
// them as a collapsible "reasoning" section in the UI.
|
|
133
|
+
}
|
|
134
|
+
else if (event.type === "tool-call") {
|
|
135
|
+
hasToolCalls = true;
|
|
136
|
+
}
|
|
137
|
+
else if (event.type === "usage") {
|
|
138
|
+
usage.inputTokens += event.inputTokens;
|
|
139
|
+
usage.outputTokens += event.outputTokens;
|
|
140
|
+
usage.cacheReadTokens += event.cacheReadTokens ?? 0;
|
|
141
|
+
usage.cacheWriteTokens += event.cacheWriteTokens ?? 0;
|
|
90
142
|
}
|
|
143
|
+
else if (event.type === "stop" && event.reason === "error") {
|
|
144
|
+
throw new Error(event.error ?? "Engine stream error");
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Retrieve the assistant content blocks stored by the engine.
|
|
148
|
+
// AnthropicEngine sets streamOpts[ASSISTANT_CONTENT_KEY] after streaming.
|
|
149
|
+
assistantContent = streamOpts[ASSISTANT_CONTENT_KEY];
|
|
150
|
+
// If engine didn't populate assistant content (e.g. AI SDK engine),
|
|
151
|
+
// rebuild it from the messages state we tracked via tool-call events.
|
|
152
|
+
// The AI SDK engine stores it under AISDK_ASSISTANT_CONTENT_KEY.
|
|
153
|
+
if (!assistantContent) {
|
|
154
|
+
const { AISDK_ASSISTANT_CONTENT_KEY } = await import("./engine/ai-sdk-engine.js");
|
|
155
|
+
assistantContent = streamOpts[AISDK_ASSISTANT_CONTENT_KEY];
|
|
91
156
|
}
|
|
92
|
-
const finalMessage = await apiStream.finalMessage();
|
|
93
|
-
assistantContent = finalMessage.content;
|
|
94
157
|
break;
|
|
95
158
|
}
|
|
96
159
|
catch (err) {
|
|
@@ -110,63 +173,67 @@ async function runAgentLoop(opts) {
|
|
|
110
173
|
throw err;
|
|
111
174
|
}
|
|
112
175
|
}
|
|
113
|
-
if (!assistantContent)
|
|
176
|
+
if (!assistantContent) {
|
|
177
|
+
// No content — done
|
|
114
178
|
break;
|
|
179
|
+
}
|
|
115
180
|
messages.push({ role: "assistant", content: assistantContent });
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
181
|
+
const toolCallParts = assistantContent.filter((p) => p.type === "tool-call");
|
|
182
|
+
if (toolCallParts.length === 0)
|
|
118
183
|
break;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
184
|
+
// Run all tool calls in parallel — engines often return multiple tool-call
|
|
185
|
+
// blocks in one turn. Running them concurrently saves wall-clock time.
|
|
186
|
+
const toolResultParts = await Promise.all(toolCallParts.map(async (toolCall) => {
|
|
187
|
+
const actionEntry = actions[toolCall.name];
|
|
122
188
|
if (!actionEntry) {
|
|
123
|
-
const result = `Error: Unknown tool "${
|
|
189
|
+
const result = `Error: Unknown tool "${toolCall.name}"`;
|
|
124
190
|
send({
|
|
125
191
|
type: "tool_start",
|
|
126
|
-
tool:
|
|
127
|
-
input:
|
|
192
|
+
tool: toolCall.name,
|
|
193
|
+
input: toolCall.input,
|
|
128
194
|
});
|
|
129
|
-
send({ type: "tool_done", tool:
|
|
130
|
-
|
|
131
|
-
type: "
|
|
132
|
-
|
|
195
|
+
send({ type: "tool_done", tool: toolCall.name, result });
|
|
196
|
+
return {
|
|
197
|
+
type: "tool-result",
|
|
198
|
+
toolCallId: toolCall.id,
|
|
133
199
|
content: result,
|
|
134
|
-
|
|
135
|
-
|
|
200
|
+
isError: true,
|
|
201
|
+
};
|
|
136
202
|
}
|
|
137
203
|
send({
|
|
138
204
|
type: "tool_start",
|
|
139
|
-
tool:
|
|
140
|
-
input:
|
|
205
|
+
tool: toolCall.name,
|
|
206
|
+
input: toolCall.input,
|
|
141
207
|
});
|
|
142
208
|
let result;
|
|
209
|
+
let isError = false;
|
|
143
210
|
try {
|
|
144
|
-
|
|
211
|
+
const raw = await actionEntry.run(toolCall.input, { send });
|
|
212
|
+
result = typeof raw === "string" ? raw : JSON.stringify(raw, null, 2);
|
|
145
213
|
}
|
|
146
214
|
catch (err) {
|
|
147
|
-
result = `Error running ${
|
|
215
|
+
result = `Error running ${toolCall.name}: ${err?.message ?? String(err)}`;
|
|
216
|
+
isError = true;
|
|
148
217
|
}
|
|
149
|
-
send({ type: "tool_done", tool:
|
|
150
|
-
|
|
151
|
-
type: "
|
|
152
|
-
|
|
218
|
+
send({ type: "tool_done", tool: toolCall.name, result });
|
|
219
|
+
return {
|
|
220
|
+
type: "tool-result",
|
|
221
|
+
toolCallId: toolCall.id,
|
|
153
222
|
content: result,
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
223
|
+
...(isError ? { isError } : {}),
|
|
224
|
+
};
|
|
225
|
+
}));
|
|
226
|
+
messages.push({ role: "user", content: toolResultParts });
|
|
157
227
|
}
|
|
158
228
|
send({ type: "done" });
|
|
229
|
+
return usage;
|
|
159
230
|
}
|
|
160
231
|
export function createProductionAgentHandler(options) {
|
|
161
232
|
const model = options.model ?? "claude-sonnet-4-6";
|
|
162
233
|
// Resolve actions — prefer `actions`, fall back to deprecated `scripts`
|
|
163
234
|
const resolvedActions = options.actions ?? options.scripts ?? {};
|
|
164
|
-
// Build
|
|
165
|
-
const
|
|
166
|
-
name,
|
|
167
|
-
description: entry.tool.description,
|
|
168
|
-
input_schema: entry.tool.parameters,
|
|
169
|
-
}));
|
|
235
|
+
// Build engine tools from action registry
|
|
236
|
+
const engineTools = actionsToEngineTools(resolvedActions);
|
|
170
237
|
return defineEventHandler(async (event) => {
|
|
171
238
|
if (getMethod(event) !== "POST") {
|
|
172
239
|
setResponseStatus(event, 405);
|
|
@@ -185,9 +252,23 @@ export function createProductionAgentHandler(options) {
|
|
|
185
252
|
setResponseStatus(event, 400);
|
|
186
253
|
return { error: "message is required" };
|
|
187
254
|
}
|
|
188
|
-
//
|
|
255
|
+
// Resolve engine (async — reads settings if needed)
|
|
256
|
+
let engine;
|
|
257
|
+
try {
|
|
258
|
+
engine = await resolveEngine({
|
|
259
|
+
engineOption: options.engine,
|
|
260
|
+
apiKey: options.apiKey ?? process.env.ANTHROPIC_API_KEY,
|
|
261
|
+
model,
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
engine = await resolveEngine({
|
|
266
|
+
apiKey: options.apiKey ?? process.env.ANTHROPIC_API_KEY,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
// Check for API key before starting a run (only for anthropic engine)
|
|
189
270
|
const apiKey = options.apiKey ?? process.env.ANTHROPIC_API_KEY;
|
|
190
|
-
if (!apiKey) {
|
|
271
|
+
if (engine.name === "anthropic" && !apiKey) {
|
|
191
272
|
setResponseHeader(event, "Content-Type", "text/event-stream");
|
|
192
273
|
setResponseHeader(event, "Cache-Control", "no-cache");
|
|
193
274
|
setResponseHeader(event, "Connection", "keep-alive");
|
|
@@ -199,6 +280,31 @@ export function createProductionAgentHandler(options) {
|
|
|
199
280
|
},
|
|
200
281
|
});
|
|
201
282
|
}
|
|
283
|
+
// Check usage limit before starting a run (production hosted mode)
|
|
284
|
+
if (options.trackUsage && options.resolveOwnerEmail) {
|
|
285
|
+
try {
|
|
286
|
+
const ownerEmail = await options.resolveOwnerEmail(event);
|
|
287
|
+
if (ownerEmail && ownerEmail !== "local@localhost") {
|
|
288
|
+
const { checkUsageLimit } = await import("../usage/store.js");
|
|
289
|
+
const result = await checkUsageLimit(ownerEmail, options.usageLimitCents);
|
|
290
|
+
if (!result.allowed) {
|
|
291
|
+
setResponseHeader(event, "Content-Type", "text/event-stream");
|
|
292
|
+
setResponseHeader(event, "Cache-Control", "no-cache");
|
|
293
|
+
setResponseHeader(event, "Connection", "keep-alive");
|
|
294
|
+
const encoder = new TextEncoder();
|
|
295
|
+
return new ReadableStream({
|
|
296
|
+
start(controller) {
|
|
297
|
+
controller.enqueue(encoder.encode(`data: ${JSON.stringify({ type: "usage_limit_reached", usageCents: result.usageCents, limitCents: result.limitCents })}\n\n`));
|
|
298
|
+
controller.close();
|
|
299
|
+
},
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
catch {
|
|
305
|
+
// Usage check failed — allow the request to proceed
|
|
306
|
+
}
|
|
307
|
+
}
|
|
202
308
|
// Resolve system prompt before starting the run
|
|
203
309
|
let systemPrompt;
|
|
204
310
|
try {
|
|
@@ -218,10 +324,96 @@ export function createProductionAgentHandler(options) {
|
|
|
218
324
|
},
|
|
219
325
|
});
|
|
220
326
|
}
|
|
221
|
-
const client = new Anthropic({ apiKey });
|
|
222
327
|
const enrichedMessage = enrichMessage(message, references);
|
|
328
|
+
// Auto-inject current screen context so the agent always knows what
|
|
329
|
+
// the user is looking at without needing to call view-screen first.
|
|
330
|
+
let screenContext = "";
|
|
331
|
+
try {
|
|
332
|
+
const viewScreenAction = resolvedActions["view-screen"];
|
|
333
|
+
if (viewScreenAction) {
|
|
334
|
+
const result = await viewScreenAction.run({});
|
|
335
|
+
if (result && result !== "(no output)") {
|
|
336
|
+
screenContext = `\n\n<current-screen>\n${result}\n</current-screen>`;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
const navigation = await readAppState("navigation");
|
|
341
|
+
if (navigation) {
|
|
342
|
+
screenContext = `\n\n<current-screen>\n${JSON.stringify(navigation, null, 2)}\n</current-screen>`;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
catch {
|
|
347
|
+
// DB not ready or no navigation state — skip silently
|
|
348
|
+
}
|
|
349
|
+
// On the first message of a conversation, inject workspace inventory
|
|
350
|
+
// so the agent knows what files, skills, jobs, and custom agents exist.
|
|
351
|
+
let filesContext = "";
|
|
352
|
+
if (history.length === 0) {
|
|
353
|
+
try {
|
|
354
|
+
const { resourceListAccessible, SHARED_OWNER, resourceGet } = await import("../resources/store.js");
|
|
355
|
+
const { getResourceKind, parseCustomAgentProfile, parseRemoteAgentManifest, parseSkillMetadata, } = await import("../resources/metadata.js");
|
|
356
|
+
const ownerEmail = getRequestUserEmail() || "local@localhost";
|
|
357
|
+
const allResources = await resourceListAccessible(ownerEmail);
|
|
358
|
+
if (allResources.length > 0) {
|
|
359
|
+
const fileLines = [];
|
|
360
|
+
const skillLines = [];
|
|
361
|
+
const agentLines = [];
|
|
362
|
+
const jobLines = [];
|
|
363
|
+
for (const r of allResources) {
|
|
364
|
+
const scope = r.owner === SHARED_OWNER ? "shared" : "personal";
|
|
365
|
+
const kind = getResourceKind(r.path);
|
|
366
|
+
if (kind === "file") {
|
|
367
|
+
fileLines.push(` ${r.path} (${scope})`);
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
370
|
+
if (kind === "job") {
|
|
371
|
+
jobLines.push(` ${r.path} (${scope})`);
|
|
372
|
+
continue;
|
|
373
|
+
}
|
|
374
|
+
if (kind === "skill" ||
|
|
375
|
+
kind === "agent" ||
|
|
376
|
+
kind === "remote-agent") {
|
|
377
|
+
const full = await resourceGet(r.id);
|
|
378
|
+
if (!full)
|
|
379
|
+
continue;
|
|
380
|
+
if (kind === "skill") {
|
|
381
|
+
const skill = parseSkillMetadata(full.content, r.path);
|
|
382
|
+
skillLines.push(` ${skill?.name || r.path} — ${skill?.description || r.path} (${scope}, ${r.path})`);
|
|
383
|
+
}
|
|
384
|
+
else if (kind === "agent") {
|
|
385
|
+
const agent = parseCustomAgentProfile(full.content, r.path);
|
|
386
|
+
agentLines.push(` ${agent?.name || r.path} — ${agent?.description || "Custom workspace agent"} (${scope}, ${r.path}${agent?.model ? `, model: ${agent.model}` : ""})`);
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
const agent = parseRemoteAgentManifest(full.content, r.path);
|
|
390
|
+
agentLines.push(` ${agent?.name || r.path} — ${agent?.description || "Connected A2A agent"} (${scope}, remote via ${r.path})`);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
const blocks = [];
|
|
395
|
+
if (fileLines.length > 0) {
|
|
396
|
+
blocks.push(`<available-files>\nFiles in the workspace:\n${fileLines.join("\n")}\n\nTo read a file's contents, use the resource-read action with the file path.\n</available-files>`);
|
|
397
|
+
}
|
|
398
|
+
if (skillLines.length > 0) {
|
|
399
|
+
blocks.push(`<available-skills>\nSkills in the workspace:\n${skillLines.join("\n")}\n</available-skills>`);
|
|
400
|
+
}
|
|
401
|
+
if (agentLines.length > 0) {
|
|
402
|
+
blocks.push(`<available-agents>\nCustom and connected agents in the workspace:\n${agentLines.join("\n")}\n\nCustom agents under agents/*.md can be mentioned or used via spawn-task with the agent parameter.\n</available-agents>`);
|
|
403
|
+
}
|
|
404
|
+
if (jobLines.length > 0) {
|
|
405
|
+
blocks.push(`<available-jobs>\nScheduled tasks in the workspace:\n${jobLines.join("\n")}\n</available-jobs>`);
|
|
406
|
+
}
|
|
407
|
+
filesContext = blocks.length > 0 ? `\n\n${blocks.join("\n\n")}` : "";
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
catch {
|
|
411
|
+
// Resources not available — skip silently
|
|
412
|
+
}
|
|
413
|
+
}
|
|
223
414
|
// Pre-compute agent references for A2A resolution inside the run
|
|
224
415
|
const agentRefs = references.filter((r) => r.type === "agent");
|
|
416
|
+
const customAgentRefs = references.filter((r) => r.type === "custom-agent");
|
|
225
417
|
// Build user content: text + any image attachments
|
|
226
418
|
const userContent = [];
|
|
227
419
|
if (attachments?.length) {
|
|
@@ -231,33 +423,113 @@ export function createProductionAgentHandler(options) {
|
|
|
231
423
|
if (match) {
|
|
232
424
|
userContent.push({
|
|
233
425
|
type: "image",
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
media_type: match[1],
|
|
237
|
-
data: match[2],
|
|
238
|
-
},
|
|
426
|
+
data: match[2],
|
|
427
|
+
mediaType: match[1],
|
|
239
428
|
});
|
|
240
429
|
}
|
|
241
430
|
}
|
|
242
431
|
}
|
|
243
432
|
}
|
|
244
|
-
userContent.push({
|
|
433
|
+
userContent.push({
|
|
434
|
+
type: "text",
|
|
435
|
+
text: enrichedMessage + screenContext + filesContext,
|
|
436
|
+
});
|
|
245
437
|
const messages = [
|
|
246
438
|
...history
|
|
247
439
|
.filter((m) => m.content.trim())
|
|
248
440
|
.map((m) => ({
|
|
249
441
|
role: m.role,
|
|
250
|
-
content: m.content,
|
|
442
|
+
content: [{ type: "text", text: m.content }],
|
|
251
443
|
})),
|
|
252
444
|
{ role: "user", content: userContent },
|
|
253
445
|
];
|
|
254
446
|
// Start agent loop in background via run-manager
|
|
255
447
|
const runId = generateRunId();
|
|
256
448
|
startRun(runId, threadId ?? runId, async (send, signal) => {
|
|
257
|
-
//
|
|
449
|
+
// Notify listeners that a run has started (used by agent teams)
|
|
450
|
+
if (options.onRunStart) {
|
|
451
|
+
options.onRunStart(send, threadId ?? runId);
|
|
452
|
+
}
|
|
453
|
+
// Resolve custom workspace agent mentions first.
|
|
454
|
+
if (customAgentRefs.length > 0) {
|
|
455
|
+
const ownerEmail = getRequestUserEmail() || "local@localhost";
|
|
456
|
+
const { findAccessibleCustomAgent } = await import("../resources/agents.js");
|
|
457
|
+
const customResults = await Promise.allSettled(customAgentRefs.map(async (ref) => {
|
|
458
|
+
send({
|
|
459
|
+
type: "agent_call",
|
|
460
|
+
agent: ref.name,
|
|
461
|
+
status: "start",
|
|
462
|
+
});
|
|
463
|
+
try {
|
|
464
|
+
const profile = await findAccessibleCustomAgent(ownerEmail, ref.refId || ref.path || ref.name);
|
|
465
|
+
if (!profile) {
|
|
466
|
+
throw new Error("Profile not found");
|
|
467
|
+
}
|
|
468
|
+
const profilePrompt = `${systemPrompt}\n\n<custom-agent-profile name="${profile.name}" path="${profile.path}">\n` +
|
|
469
|
+
(profile.description ? `${profile.description}\n\n` : "") +
|
|
470
|
+
`${profile.instructions}\n</custom-agent-profile>`;
|
|
471
|
+
let responseText = "";
|
|
472
|
+
await runAgentLoop({
|
|
473
|
+
engine,
|
|
474
|
+
model: profile.model ?? model,
|
|
475
|
+
systemPrompt: profilePrompt,
|
|
476
|
+
tools: engineTools,
|
|
477
|
+
messages: [
|
|
478
|
+
{
|
|
479
|
+
role: "user",
|
|
480
|
+
content: [
|
|
481
|
+
{ type: "text", text: enrichedMessage + screenContext },
|
|
482
|
+
],
|
|
483
|
+
},
|
|
484
|
+
],
|
|
485
|
+
actions: resolvedActions,
|
|
486
|
+
send: (event) => {
|
|
487
|
+
if (event.type === "text") {
|
|
488
|
+
responseText += event.text;
|
|
489
|
+
send({
|
|
490
|
+
type: "agent_call_text",
|
|
491
|
+
agent: ref.name,
|
|
492
|
+
text: event.text,
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
},
|
|
496
|
+
signal,
|
|
497
|
+
providerOptions: options.providerOptions,
|
|
498
|
+
});
|
|
499
|
+
send({
|
|
500
|
+
type: "agent_call",
|
|
501
|
+
agent: ref.name,
|
|
502
|
+
status: "done",
|
|
503
|
+
});
|
|
504
|
+
return `<agent-response name="${ref.name}" id="${ref.refId}" type="custom-agent">\n${responseText}\n</agent-response>`;
|
|
505
|
+
}
|
|
506
|
+
catch (err) {
|
|
507
|
+
send({
|
|
508
|
+
type: "agent_call",
|
|
509
|
+
agent: ref.name,
|
|
510
|
+
status: "error",
|
|
511
|
+
});
|
|
512
|
+
return `<agent-response name="${ref.name}" id="${ref.refId}" type="custom-agent" error="true">\nFailed to run ${ref.name}: ${err?.message}\n</agent-response>`;
|
|
513
|
+
}
|
|
514
|
+
}));
|
|
515
|
+
const customResponses = customResults
|
|
516
|
+
.filter((result) => result.status === "fulfilled")
|
|
517
|
+
.map((result) => result.value);
|
|
518
|
+
if (customResponses.length > 0) {
|
|
519
|
+
const agentContext = "Responses from custom workspace agents:\n\n" +
|
|
520
|
+
customResponses.join("\n\n");
|
|
521
|
+
const lastMsg = messages[messages.length - 1];
|
|
522
|
+
if (lastMsg?.role === "user" && Array.isArray(lastMsg.content)) {
|
|
523
|
+
const textPart = lastMsg.content.find((p) => p.type === "text");
|
|
524
|
+
if (textPart) {
|
|
525
|
+
textPart.text = agentContext + "\n\n" + textPart.text;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
// Resolve connected agent @-mentions via A2A calls.
|
|
258
531
|
if (agentRefs.length > 0) {
|
|
259
532
|
const { A2AClient, callAgent } = await import("../a2a/client.js");
|
|
260
|
-
const agentResponses = [];
|
|
261
533
|
const results = await Promise.allSettled(agentRefs.map(async (ref) => {
|
|
262
534
|
send({
|
|
263
535
|
type: "agent_call",
|
|
@@ -265,14 +537,11 @@ export function createProductionAgentHandler(options) {
|
|
|
265
537
|
status: "start",
|
|
266
538
|
});
|
|
267
539
|
try {
|
|
268
|
-
|
|
269
|
-
const
|
|
270
|
-
const callerEmail = process.env.AGENT_USER_EMAIL;
|
|
271
|
-
// Build A2A metadata with identity info
|
|
540
|
+
const a2aClient = new A2AClient(ref.path);
|
|
541
|
+
const callerEmail = getRequestUserEmail();
|
|
272
542
|
const a2aMetadata = {};
|
|
273
543
|
if (callerEmail)
|
|
274
544
|
a2aMetadata.userEmail = callerEmail;
|
|
275
|
-
// In prod, include Google token for verification
|
|
276
545
|
if (process.env.NODE_ENV === "production" && callerEmail) {
|
|
277
546
|
try {
|
|
278
547
|
const { listOAuthAccountsByOwner } = await import("../oauth-tokens/store.js");
|
|
@@ -287,9 +556,14 @@ export function createProductionAgentHandler(options) {
|
|
|
287
556
|
let responseText = "";
|
|
288
557
|
let lastSentLength = 0;
|
|
289
558
|
try {
|
|
290
|
-
for await (const task of
|
|
559
|
+
for await (const task of a2aClient.stream({
|
|
291
560
|
role: "user",
|
|
292
|
-
parts: [
|
|
561
|
+
parts: [
|
|
562
|
+
{
|
|
563
|
+
type: "text",
|
|
564
|
+
text: enrichedMessage + screenContext,
|
|
565
|
+
},
|
|
566
|
+
],
|
|
293
567
|
}, Object.keys(a2aMetadata).length > 0
|
|
294
568
|
? { metadata: a2aMetadata }
|
|
295
569
|
: undefined)) {
|
|
@@ -309,9 +583,8 @@ export function createProductionAgentHandler(options) {
|
|
|
309
583
|
}
|
|
310
584
|
}
|
|
311
585
|
catch {
|
|
312
|
-
// Streaming failed — fall back to blocking call
|
|
313
586
|
if (!responseText) {
|
|
314
|
-
responseText = await callAgent(ref.path,
|
|
587
|
+
responseText = await callAgent(ref.path, enrichedMessage + screenContext);
|
|
315
588
|
}
|
|
316
589
|
}
|
|
317
590
|
send({
|
|
@@ -330,33 +603,50 @@ export function createProductionAgentHandler(options) {
|
|
|
330
603
|
return `<agent-response name="${ref.name}" id="${ref.refId}" error="true">\nFailed to reach ${ref.name}: ${err?.message}\n</agent-response>`;
|
|
331
604
|
}
|
|
332
605
|
}));
|
|
606
|
+
const agentResponses_local = [];
|
|
333
607
|
for (const result of results) {
|
|
334
608
|
if (result.status === "fulfilled") {
|
|
335
|
-
|
|
609
|
+
agentResponses_local.push(result.value);
|
|
336
610
|
}
|
|
337
611
|
}
|
|
338
|
-
if (
|
|
339
|
-
const agentContext = "Responses from other agents:\n\n" +
|
|
340
|
-
|
|
612
|
+
if (agentResponses_local.length > 0) {
|
|
613
|
+
const agentContext = "Responses from other agents:\n\n" +
|
|
614
|
+
agentResponses_local.join("\n\n");
|
|
341
615
|
const lastMsg = messages[messages.length - 1];
|
|
342
616
|
if (lastMsg?.role === "user" && Array.isArray(lastMsg.content)) {
|
|
343
|
-
const
|
|
344
|
-
if (
|
|
345
|
-
|
|
617
|
+
const textPart = lastMsg.content.find((p) => p.type === "text");
|
|
618
|
+
if (textPart) {
|
|
619
|
+
textPart.text = agentContext + "\n\n" + textPart.text;
|
|
346
620
|
}
|
|
347
621
|
}
|
|
348
622
|
}
|
|
349
623
|
}
|
|
350
|
-
|
|
351
|
-
|
|
624
|
+
const loopUsage = await runAgentLoop({
|
|
625
|
+
engine,
|
|
352
626
|
model,
|
|
353
627
|
systemPrompt,
|
|
354
|
-
tools,
|
|
628
|
+
tools: engineTools,
|
|
355
629
|
messages,
|
|
356
630
|
actions: resolvedActions,
|
|
357
631
|
send,
|
|
358
632
|
signal,
|
|
633
|
+
providerOptions: options.providerOptions,
|
|
359
634
|
});
|
|
635
|
+
// Record token usage for cost tracking (production hosted mode)
|
|
636
|
+
if (options.trackUsage && options.resolveOwnerEmail) {
|
|
637
|
+
try {
|
|
638
|
+
const ownerEmail = await options.resolveOwnerEmail(event);
|
|
639
|
+
if (ownerEmail &&
|
|
640
|
+
ownerEmail !== "local@localhost" &&
|
|
641
|
+
(loopUsage.inputTokens > 0 || loopUsage.outputTokens > 0)) {
|
|
642
|
+
const { recordUsage } = await import("../usage/store.js");
|
|
643
|
+
await recordUsage(ownerEmail, loopUsage.inputTokens, loopUsage.outputTokens, loopUsage.model);
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
catch {
|
|
647
|
+
// Usage recording failed — don't break the run
|
|
648
|
+
}
|
|
649
|
+
}
|
|
360
650
|
}, options.onRunComplete
|
|
361
651
|
? (run) => options.onRunComplete(run, threadId)
|
|
362
652
|
: undefined);
|