@agent-native/core 0.5.0-dev.b51eaae → 0.6.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 +15 -43
- 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 +216 -76
- 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 +22 -1
- 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.d.ts +8 -2
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +287 -32
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +19 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +5 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +407 -111
- 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/composer/MentionPopover.d.ts +4 -1
- package/dist/client/composer/MentionPopover.d.ts.map +1 -1
- package/dist/client/composer/MentionPopover.js +36 -6
- 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 +146 -16
- 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 +5 -0
- 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 +149 -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/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 +23 -0
- package/dist/client/org/TeamPage.d.ts.map +1 -0
- package/dist/client/org/TeamPage.js +145 -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 +94 -13
- 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 +18 -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 -110
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/resources/use-resources.d.ts +10 -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/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 +607 -42
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/route-discovery.d.ts +17 -4
- package/dist/deploy/route-discovery.d.ts.map +1 -1
- package/dist/deploy/route-discovery.js +117 -35
- package/dist/deploy/route-discovery.js.map +1 -1
- 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/slack.d.ts +10 -0
- package/dist/integrations/adapters/slack.d.ts.map +1 -0
- package/dist/integrations/adapters/slack.js +215 -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 +184 -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/index.d.ts +8 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +10 -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 +213 -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 +111 -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 +31 -0
- package/dist/integrations/webhook-handler.d.ts.map +1 -0
- package/dist/integrations/webhook-handler.js +210 -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 +29 -0
- package/dist/jobs/scheduler.d.ts.map +1 -0
- package/dist/jobs/scheduler.js +205 -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 +192 -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/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 +30 -7
- package/dist/oauth-tokens/store.js.map +1 -1
- 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/handlers.d.ts +10 -1
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +82 -9
- package/dist/resources/handlers.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 +44 -0
- 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 +10 -6
- 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 +89 -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 +2 -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 +64 -46
- 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/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/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 +1 -9
- package/dist/scripts/utils.d.ts.map +1 -1
- package/dist/scripts/utils.js +2 -40
- package/dist/scripts/utils.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +84 -16
- 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 +105 -0
- package/dist/server/action-routes.js.map +1 -0
- package/dist/server/agent-chat-plugin.d.ts +20 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +1149 -256
- 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 +69 -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 +367 -0
- package/dist/server/agent-teams.js.map +1 -0
- package/dist/server/agents-bundle.d.ts +87 -0
- package/dist/server/agents-bundle.d.ts.map +1 -0
- package/dist/server/agents-bundle.js +231 -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 +54 -33
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +529 -611
- 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 +144 -0
- package/dist/server/better-auth-instance.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 +97 -27
- 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/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 +168 -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 +13 -12
- 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 +40 -18
- 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 +9 -4
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +12 -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 +4 -6
- package/dist/server/oauth-helpers.d.ts.map +1 -1
- package/dist/server/oauth-helpers.js +6 -8
- 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 +347 -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/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 +142 -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 +108 -0
- package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +79 -0
- 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 +37 -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 +107 -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/templates/default/.agents/skills/actions/SKILL.md +142 -0
- package/dist/templates/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
- package/dist/templates/templates/default/.agents/skills/capture-learnings/SKILL.md +50 -0
- package/dist/templates/templates/default/.agents/skills/create-skill/SKILL.md +167 -0
- package/dist/templates/templates/default/.agents/skills/delegate-to-agent/SKILL.md +90 -0
- package/dist/templates/templates/default/.agents/skills/frontend-design/SKILL.md +69 -0
- package/dist/templates/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
- package/dist/templates/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
- package/dist/templates/templates/default/.agents/skills/security/SKILL.md +108 -0
- package/dist/templates/templates/default/.agents/skills/self-modifying-code/SKILL.md +79 -0
- package/dist/templates/templates/default/.agents/skills/storing-data/SKILL.md +110 -0
- package/dist/templates/templates/default/.claude/settings.json +100 -0
- package/dist/templates/templates/default/.env.example +5 -0
- package/dist/templates/templates/default/.ignore +0 -0
- package/dist/templates/templates/default/.prettierrc +5 -0
- package/dist/templates/templates/default/AGENTS.md +110 -0
- package/dist/templates/templates/default/DEVELOPING.md +117 -0
- package/dist/templates/templates/default/_gitignore +37 -0
- package/dist/templates/templates/default/actions/hello.ts +20 -0
- package/dist/templates/templates/default/actions/navigate.ts +53 -0
- package/dist/templates/templates/default/actions/run.ts +2 -0
- package/dist/templates/templates/default/actions/view-screen.ts +39 -0
- package/dist/templates/templates/default/app/entry.client.tsx +4 -0
- package/dist/templates/templates/default/app/entry.server.tsx +56 -0
- package/dist/templates/templates/default/app/global.css +95 -0
- package/dist/templates/templates/default/app/lib/utils.ts +1 -0
- package/dist/templates/templates/default/app/root.tsx +107 -0
- package/dist/templates/templates/default/app/routes/_index.tsx +62 -0
- package/dist/templates/templates/default/app/routes.ts +4 -0
- package/dist/templates/templates/default/app/vite-env.d.ts +6 -0
- package/dist/templates/templates/default/components.json +20 -0
- package/dist/templates/templates/default/data/.gitkeep +0 -0
- package/dist/templates/templates/default/data/sync-config.json +1 -0
- package/dist/templates/templates/default/learnings.defaults.md +5 -0
- package/dist/templates/templates/default/learnings.md +0 -0
- package/dist/templates/templates/default/package.json +46 -0
- package/dist/templates/templates/default/postcss.config.js +6 -0
- package/dist/templates/templates/default/public/icon-180.svg +4 -0
- package/dist/templates/templates/default/public/icon-192.svg +4 -0
- package/dist/templates/templates/default/public/icon-512.svg +4 -0
- package/dist/templates/templates/default/public/manifest.json +13 -0
- package/dist/templates/templates/default/react-router.config.ts +6 -0
- package/dist/templates/templates/default/server/middleware/auth.ts +15 -0
- package/dist/templates/templates/default/server/plugins/.gitkeep +0 -0
- package/dist/templates/templates/default/server/routes/[...page].get.ts +5 -0
- package/dist/templates/templates/default/server/routes/api/hello.get.ts +5 -0
- package/dist/templates/templates/default/shared/api.ts +6 -0
- package/dist/templates/templates/default/ssr-entry.ts +20 -0
- package/dist/templates/templates/default/tailwind.config.ts +7 -0
- package/dist/templates/templates/default/tsconfig.json +11 -0
- package/dist/templates/templates/default/vite.config.ts +6 -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 +87 -0
- package/dist/vite/agents-bundle-plugin.js.map +1 -0
- package/dist/vite/client.d.ts +5 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +222 -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/package.json +68 -20
- package/src/templates/default/.agents/skills/actions/SKILL.md +12 -6
- 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 +108 -0
- package/src/templates/default/.agents/skills/storing-data/SKILL.md +110 -0
- package/src/templates/default/.claude/settings.json +13 -0
- package/src/templates/default/AGENTS.md +25 -9
- package/src/templates/default/actions/view-screen.ts +1 -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/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/.agents/skills/files-as-database → dist/templates/default/.agents/skills/storing-data}/SKILL.md +0 -0
- /package/{src/templates/default/application-state/.gitkeep → dist/templates/default/.ignore} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared SSR catch-all handler for React Router framework mode.
|
|
3
|
+
*
|
|
4
|
+
* Templates wire this up via:
|
|
5
|
+
*
|
|
6
|
+
* // server/routes/[...page].get.ts
|
|
7
|
+
* import { createH3SSRHandler } from "@agent-native/core/server/ssr-handler";
|
|
8
|
+
* export default createH3SSRHandler(
|
|
9
|
+
* () => import("virtual:react-router/server-build"),
|
|
10
|
+
* );
|
|
11
|
+
*
|
|
12
|
+
* The `getBuild` callback MUST live in the template's own source so Vite's
|
|
13
|
+
* @react-router/dev plugin can resolve the `virtual:` module. Pulling the
|
|
14
|
+
* import into core (e.g. via a re-export) puts it in node_modules where
|
|
15
|
+
* Vite's SSR externalizer leaves it untouched and Node's ESM loader rejects
|
|
16
|
+
* the unknown scheme — silently 302'ing every request to "/".
|
|
17
|
+
*/
|
|
18
|
+
import { createRequestHandler } from "react-router";
|
|
19
|
+
import { defineEventHandler } from "h3";
|
|
20
|
+
/**
|
|
21
|
+
* Create an h3 catch-all that hands page routes to React Router and
|
|
22
|
+
* returns 404 for framework / asset paths that React Router doesn't own.
|
|
23
|
+
*/
|
|
24
|
+
export function createH3SSRHandler(getBuild) {
|
|
25
|
+
const handler = createRequestHandler(getBuild);
|
|
26
|
+
return defineEventHandler(async (event) => {
|
|
27
|
+
const p = event.url.pathname;
|
|
28
|
+
if (p.startsWith("/.well-known/") ||
|
|
29
|
+
p.startsWith("/_agent-native/") ||
|
|
30
|
+
p.startsWith("/api/") ||
|
|
31
|
+
p === "/favicon.ico" ||
|
|
32
|
+
p === "/favicon.png") {
|
|
33
|
+
return new Response(null, { status: 404 });
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
return await handler(event.req);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
// Log the full stack server-side, but never leak it to the client.
|
|
40
|
+
// Stack traces expose file paths, library versions, and code structure
|
|
41
|
+
// that aid reconnaissance attacks. In dev we surface the message text
|
|
42
|
+
// so devtools shows something useful; in prod we return a bare 500.
|
|
43
|
+
console.error("[ssr-handler] SSR error:", err);
|
|
44
|
+
const isProd = process.env.NODE_ENV === "production";
|
|
45
|
+
const body = isProd
|
|
46
|
+
? "Internal Server Error"
|
|
47
|
+
: `Internal Server Error: ${err?.message ?? err}`;
|
|
48
|
+
return new Response(body, {
|
|
49
|
+
status: 500,
|
|
50
|
+
headers: { "content-type": "text/plain" },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=ssr-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr-handler.js","sourceRoot":"","sources":["../../src/server/ssr-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAA0C;IAC3E,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAe,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC7B,IACE,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;YAC7B,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YACrB,CAAC,KAAK,cAAc;YACpB,CAAC,KAAK,cAAc,EACpB,CAAC;YACD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,GAAc,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,uEAAuE;YACvE,sEAAsE;YACtE,oEAAoE;YACpE,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM;gBACjB,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,0BAA2B,GAAa,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC;YAC/D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACxB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** GET /_agent-native/settings/:key */
|
|
2
|
-
export declare const getSettingHandler: import("h3").
|
|
2
|
+
export declare const getSettingHandler: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<Record<string, unknown>>>;
|
|
3
3
|
/** PUT /_agent-native/settings/:key */
|
|
4
|
-
export declare const putSettingHandler: import("h3").
|
|
4
|
+
export declare const putSettingHandler: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<any>>;
|
|
5
5
|
/** DELETE /_agent-native/settings/:key */
|
|
6
|
-
export declare const deleteSettingHandler: import("h3").
|
|
6
|
+
export declare const deleteSettingHandler: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
7
7
|
ok: boolean;
|
|
8
8
|
}>>;
|
|
9
9
|
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/settings/handlers.ts"],"names":[],"mappings":"AAcA,uCAAuC;AACvC,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/settings/handlers.ts"],"names":[],"mappings":"AAcA,uCAAuC;AACvC,eAAO,MAAM,iBAAiB,wGAQ5B,CAAC;AAEH,uCAAuC;AACvC,eAAO,MAAM,iBAAiB,oFAM5B,CAAC;AAEH,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB;;GAOhC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { defineEventHandler,
|
|
1
|
+
import { defineEventHandler, getRouterParam, getHeader, setResponseStatus, } from "h3";
|
|
2
2
|
import { getSetting, putSetting, deleteSetting } from "./store.js";
|
|
3
|
+
import { readBody } from "../server/h3-helpers.js";
|
|
3
4
|
function safeKey(key) {
|
|
4
5
|
return key.replace(/[^a-zA-Z0-9_-]/g, "");
|
|
5
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/settings/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/settings/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,iBAAiB,GAElB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;IAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;IAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,SAAS,CAAC;IACxE,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CACpD,KAAK,EAAE,KAAc,EAAE,EAAE;IACvB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,SAAS,CAAC;IACxE,MAAM,aAAa,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC,CACF,CAAC"}
|
package/dist/settings/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export { getSetting, putSetting, deleteSetting, getAllSettings, getSettingsEmitt
|
|
|
2
2
|
export { getSettingHandler, putSettingHandler, deleteSettingHandler, } from "./handlers.js";
|
|
3
3
|
export { readSetting, writeSetting, removeSetting } from "./script-helpers.js";
|
|
4
4
|
export { getUserSetting, putUserSetting, deleteUserSetting, } from "./user-settings.js";
|
|
5
|
+
export { getOrgSetting, putOrgSetting, deleteOrgSetting, listOrgSettings, } from "./org-settings.js";
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
|
package/dist/settings/index.js
CHANGED
|
@@ -6,4 +6,6 @@ export { getSettingHandler, putSettingHandler, deleteSettingHandler, } from "./h
|
|
|
6
6
|
export { readSetting, writeSetting, removeSetting } from "./script-helpers.js";
|
|
7
7
|
// User-scoped helpers
|
|
8
8
|
export { getUserSetting, putUserSetting, deleteUserSetting, } from "./user-settings.js";
|
|
9
|
+
// Org-scoped helpers
|
|
10
|
+
export { getOrgSetting, putOrgSetting, deleteOrgSetting, listOrgSettings, } from "./org-settings.js";
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,GAEnB,MAAM,YAAY,CAAC;AAEpB,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/E,sBAAsB;AACtB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,GAEnB,MAAM,YAAY,CAAC;AAEpB,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/E,sBAAsB;AACtB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,qBAAqB;AACrB,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Org-scoped settings helpers.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the global settings store with per-org key prefixing.
|
|
5
|
+
* Keys are stored as `o:<orgId>:<key>` in the settings table.
|
|
6
|
+
*
|
|
7
|
+
* No global fallback — each org starts with a clean slate. This
|
|
8
|
+
* prevents one org's data from leaking to another.
|
|
9
|
+
*/
|
|
10
|
+
import { type StoreWriteOptions } from "./store.js";
|
|
11
|
+
/** Read an org-scoped setting. Returns null if not set for this org. */
|
|
12
|
+
export declare function getOrgSetting(orgId: string, key: string): Promise<Record<string, unknown> | null>;
|
|
13
|
+
/** Write an org-scoped setting. Always writes to the prefixed key. */
|
|
14
|
+
export declare function putOrgSetting(orgId: string, key: string, value: Record<string, unknown>, options?: StoreWriteOptions): Promise<void>;
|
|
15
|
+
/** Delete an org-scoped setting. */
|
|
16
|
+
export declare function deleteOrgSetting(orgId: string, key: string, options?: StoreWriteOptions): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* List all settings keys for an org with an optional sub-prefix.
|
|
19
|
+
* Returns a map of `<key>` (without the org prefix) to value.
|
|
20
|
+
*/
|
|
21
|
+
export declare function listOrgSettings(orgId: string, subPrefix?: string): Promise<Record<string, Record<string, unknown>>>;
|
|
22
|
+
//# sourceMappingURL=org-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-settings.d.ts","sourceRoot":"","sources":["../../src/settings/org-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAQpB,wEAAwE;AACxE,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAEzC;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,oCAAoC;AACpC,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAWlD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Org-scoped settings helpers.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the global settings store with per-org key prefixing.
|
|
5
|
+
* Keys are stored as `o:<orgId>:<key>` in the settings table.
|
|
6
|
+
*
|
|
7
|
+
* No global fallback — each org starts with a clean slate. This
|
|
8
|
+
* prevents one org's data from leaking to another.
|
|
9
|
+
*/
|
|
10
|
+
import { getSetting, putSetting, deleteSetting, getAllSettings, } from "./store.js";
|
|
11
|
+
function orgKey(orgId, key) {
|
|
12
|
+
return `o:${orgId}:${key}`;
|
|
13
|
+
}
|
|
14
|
+
const ORG_PREFIX_RE = /^o:([^:]+):(.+)$/;
|
|
15
|
+
/** Read an org-scoped setting. Returns null if not set for this org. */
|
|
16
|
+
export async function getOrgSetting(orgId, key) {
|
|
17
|
+
return getSetting(orgKey(orgId, key));
|
|
18
|
+
}
|
|
19
|
+
/** Write an org-scoped setting. Always writes to the prefixed key. */
|
|
20
|
+
export async function putOrgSetting(orgId, key, value, options) {
|
|
21
|
+
return putSetting(orgKey(orgId, key), value, options);
|
|
22
|
+
}
|
|
23
|
+
/** Delete an org-scoped setting. */
|
|
24
|
+
export async function deleteOrgSetting(orgId, key, options) {
|
|
25
|
+
return deleteSetting(orgKey(orgId, key), options);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* List all settings keys for an org with an optional sub-prefix.
|
|
29
|
+
* Returns a map of `<key>` (without the org prefix) to value.
|
|
30
|
+
*/
|
|
31
|
+
export async function listOrgSettings(orgId, subPrefix) {
|
|
32
|
+
const all = await getAllSettings();
|
|
33
|
+
const out = {};
|
|
34
|
+
for (const [fullKey, value] of Object.entries(all)) {
|
|
35
|
+
const m = ORG_PREFIX_RE.exec(fullKey);
|
|
36
|
+
if (!m || m[1] !== orgId)
|
|
37
|
+
continue;
|
|
38
|
+
const key = m[2];
|
|
39
|
+
if (subPrefix && !key.startsWith(subPrefix))
|
|
40
|
+
continue;
|
|
41
|
+
out[key] = value;
|
|
42
|
+
}
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=org-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-settings.js","sourceRoot":"","sources":["../../src/settings/org-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,GAEf,MAAM,YAAY,CAAC;AAEpB,SAAS,MAAM,CAAC,KAAa,EAAE,GAAW;IACxC,OAAO,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,GAAW;IAEX,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,GAAW,EACX,KAA8B,EAC9B,OAA2B;IAE3B,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,oCAAoC;AACpC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,GAAW,EACX,OAA2B;IAE3B,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,SAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,cAAc,EAAE,CAAC;IACnC,MAAM,GAAG,GAA4C,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QACnC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -30,7 +30,7 @@ declare function prefill(message: string, context?: string): void;
|
|
|
30
30
|
export interface AgentChatCallOptions {
|
|
31
31
|
context?: string;
|
|
32
32
|
timeout?: number;
|
|
33
|
-
|
|
33
|
+
framePort?: number;
|
|
34
34
|
}
|
|
35
35
|
export interface AgentChatResponse {
|
|
36
36
|
response: string;
|
|
@@ -38,9 +38,9 @@ export interface AgentChatResponse {
|
|
|
38
38
|
warnings?: string[];
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* Request/response call to the
|
|
42
|
-
* Sends a message to the
|
|
43
|
-
* Node.js only — requires the
|
|
41
|
+
* Request/response call to the frame agent.
|
|
42
|
+
* Sends a message to the frame CLI endpoint and awaits a response.
|
|
43
|
+
* Node.js only — requires the frame server to be running.
|
|
44
44
|
*/
|
|
45
45
|
declare function call(message: string, options?: AgentChatCallOptions): Promise<AgentChatResponse>;
|
|
46
46
|
export declare const agentChat: {
|
|
@@ -50,7 +50,7 @@ export declare const agentChat: {
|
|
|
50
50
|
submit: typeof submit;
|
|
51
51
|
/** Prefill the chat input for user review before sending */
|
|
52
52
|
prefill: typeof prefill;
|
|
53
|
-
/** Request/response call to the
|
|
53
|
+
/** Request/response call to the frame agent (Node.js only) */
|
|
54
54
|
call: typeof call;
|
|
55
55
|
};
|
|
56
56
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-chat.d.ts","sourceRoot":"","sources":["../../src/shared/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD;;;GAGG;AACH,iBAAS,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAiB1C;AAED;;GAEG;AACH,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"agent-chat.d.ts","sourceRoot":"","sources":["../../src/shared/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD;;;GAGG;AACH,iBAAS,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAiB1C;AAED;;GAEG;AACH,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;GAIG;AACH,iBAAe,IAAI,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAED,eAAO,MAAM,SAAS;IACpB,+DAA+D;;IAE/D,0CAA0C;;IAE1C,4DAA4D;;IAE5D,8DAA8D;;CAE/D,CAAC"}
|
|
@@ -42,17 +42,17 @@ function prefill(message, context) {
|
|
|
42
42
|
send({ message, context, submit: false });
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* Request/response call to the
|
|
46
|
-
* Sends a message to the
|
|
47
|
-
* Node.js only — requires the
|
|
45
|
+
* Request/response call to the frame agent.
|
|
46
|
+
* Sends a message to the frame CLI endpoint and awaits a response.
|
|
47
|
+
* Node.js only — requires the frame server to be running.
|
|
48
48
|
*/
|
|
49
49
|
async function call(message, options) {
|
|
50
50
|
if (isBrowser) {
|
|
51
51
|
throw new Error("agentChat.call() is only available in Node.js");
|
|
52
52
|
}
|
|
53
|
-
const port = options?.
|
|
54
|
-
(typeof process !== "undefined" && process.env.
|
|
55
|
-
? parseInt(process.env.
|
|
53
|
+
const port = options?.framePort ??
|
|
54
|
+
(typeof process !== "undefined" && process.env.FRAME_PORT
|
|
55
|
+
? parseInt(process.env.FRAME_PORT, 10)
|
|
56
56
|
: 3333);
|
|
57
57
|
const timeout = options?.timeout ?? 300_000;
|
|
58
58
|
const controller = new AbortController();
|
|
@@ -66,7 +66,7 @@ async function call(message, options) {
|
|
|
66
66
|
});
|
|
67
67
|
if (!res.ok) {
|
|
68
68
|
const text = await res.text();
|
|
69
|
-
throw new Error(`
|
|
69
|
+
throw new Error(`Frame chat failed (${res.status}): ${text}`);
|
|
70
70
|
}
|
|
71
71
|
return (await res.json());
|
|
72
72
|
}
|
|
@@ -81,7 +81,7 @@ export const agentChat = {
|
|
|
81
81
|
submit,
|
|
82
82
|
/** Prefill the chat input for user review before sending */
|
|
83
83
|
prefill,
|
|
84
|
-
/** Request/response call to the
|
|
84
|
+
/** Request/response call to the frame agent (Node.js only) */
|
|
85
85
|
call,
|
|
86
86
|
};
|
|
87
87
|
//# sourceMappingURL=agent-chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-chat.js","sourceRoot":"","sources":["../../src/shared/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC;AAE5E;;;GAGG;AACH,SAAS,IAAI,CAAC,IAAsB;IAClC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAExD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,OAAO,CAAC,GAAG,CACT,yBAAyB;YACvB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,OAAe,EAAE,OAAgB;IAC/C,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,OAAe,EAAE,OAAgB;IAChD,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAcD;;;;GAIG;AACH,KAAK,UAAU,IAAI,CACjB,OAAe,EACf,OAA8B;IAE9B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,GACR,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-chat.js","sourceRoot":"","sources":["../../src/shared/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC;AAE5E;;;GAGG;AACH,SAAS,IAAI,CAAC,IAAsB;IAClC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAExD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,OAAO,CAAC,GAAG,CACT,yBAAyB;YACvB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,OAAe,EAAE,OAAgB;IAC/C,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,OAAe,EAAE,OAAgB;IAChD,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAcD;;;;GAIG;AACH,KAAK,UAAU,IAAI,CACjB,OAAe,EACf,OAA8B;IAE9B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,GACR,OAAO,EAAE,SAAS;QAClB,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;YACvD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,CAAC;IACZ,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC;IAE5C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,WAAW,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC5D,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,+DAA+D;IAC/D,IAAI;IACJ,0CAA0C;IAC1C,MAAM;IACN,4DAA4D;IAC5D,OAAO;IACP,8DAA8D;IAC9D,IAAI;CACL,CAAC"}
|
|
@@ -11,7 +11,7 @@ export interface EnvVar {
|
|
|
11
11
|
value: string;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Send env vars to the host (Builder cloud or Claude
|
|
14
|
+
* Send env vars to the host (Builder cloud or Claude frame).
|
|
15
15
|
* Automatically detects environment (browser vs Node.js) and uses the right transport.
|
|
16
16
|
*/
|
|
17
17
|
declare function setVars(vars: EnvVar[]): void;
|
package/dist/shared/agent-env.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
const AGENT_ENV_MESSAGE_TYPE = "builder.setEnvVars";
|
|
10
10
|
const isBrowser = typeof window !== "undefined" && typeof window.postMessage === "function";
|
|
11
11
|
/**
|
|
12
|
-
* Send env vars to the host (Builder cloud or Claude
|
|
12
|
+
* Send env vars to the host (Builder cloud or Claude frame).
|
|
13
13
|
* Automatically detects environment (browser vs Node.js) and uses the right transport.
|
|
14
14
|
*/
|
|
15
15
|
function setVars(vars) {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime detection utilities.
|
|
3
|
+
*
|
|
4
|
+
* Detect whether the code is running in Node.js, Cloudflare Workers,
|
|
5
|
+
* Deno, or another edge runtime. Used to gracefully skip Node-only
|
|
6
|
+
* features (filesystem, PTY, file watching) on edge runtimes.
|
|
7
|
+
*/
|
|
8
|
+
/** True when running in a full Node.js environment (not CF Workers, not Deno). */
|
|
9
|
+
export declare function isNodeRuntime(): boolean;
|
|
10
|
+
/** True when running in Cloudflare Workers/Pages. */
|
|
11
|
+
export declare function isCloudflareRuntime(): boolean;
|
|
12
|
+
/** True when running in any edge/serverless runtime (not full Node.js). */
|
|
13
|
+
export declare function isEdgeRuntime(): boolean;
|
|
14
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/shared/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,wBAAgB,aAAa,IAAI,OAAO,CAOvC;AAED,qDAAqD;AACrD,wBAAgB,mBAAmB,IAAI,OAAO,CAM7C;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime detection utilities.
|
|
3
|
+
*
|
|
4
|
+
* Detect whether the code is running in Node.js, Cloudflare Workers,
|
|
5
|
+
* Deno, or another edge runtime. Used to gracefully skip Node-only
|
|
6
|
+
* features (filesystem, PTY, file watching) on edge runtimes.
|
|
7
|
+
*/
|
|
8
|
+
/** True when running in a full Node.js environment (not CF Workers, not Deno). */
|
|
9
|
+
export function isNodeRuntime() {
|
|
10
|
+
return (typeof process !== "undefined" &&
|
|
11
|
+
typeof process.versions?.node === "string" &&
|
|
12
|
+
!("__cf_env" in globalThis) &&
|
|
13
|
+
!("Deno" in globalThis));
|
|
14
|
+
}
|
|
15
|
+
/** True when running in Cloudflare Workers/Pages. */
|
|
16
|
+
export function isCloudflareRuntime() {
|
|
17
|
+
return ("__cf_env" in globalThis ||
|
|
18
|
+
(typeof navigator !== "undefined" &&
|
|
19
|
+
navigator.userAgent === "Cloudflare-Workers"));
|
|
20
|
+
}
|
|
21
|
+
/** True when running in any edge/serverless runtime (not full Node.js). */
|
|
22
|
+
export function isEdgeRuntime() {
|
|
23
|
+
return !isNodeRuntime();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/shared/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAC1C,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC;QAC3B,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,mBAAmB;IACjC,OAAO,CACL,UAAU,IAAI,UAAU;QACxB,CAAC,OAAO,SAAS,KAAK,WAAW;YAC/B,SAAS,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,aAAa,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: actions
|
|
3
|
+
description: >-
|
|
4
|
+
How to create and run agent-callable actions in actions/. Use when creating
|
|
5
|
+
a new action, adding an API integration, implementing a complex agent
|
|
6
|
+
operation, or running pnpm action commands.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Agent Actions
|
|
10
|
+
|
|
11
|
+
## Rule
|
|
12
|
+
|
|
13
|
+
Complex operations the agent needs to perform are implemented as actions in `actions/`. The agent runs them via `pnpm action <name>`.
|
|
14
|
+
|
|
15
|
+
## Why
|
|
16
|
+
|
|
17
|
+
Actions give the agent callable tools with structured input/output. They keep the agent's chat context clean (no massive code blocks), they're reusable, and they can be tested independently.
|
|
18
|
+
|
|
19
|
+
## How to Create an Action
|
|
20
|
+
|
|
21
|
+
Create `actions/my-action.ts`:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import fs from "fs";
|
|
25
|
+
import { parseArgs, loadEnv, fail, agentChat } from "@agent-native/core";
|
|
26
|
+
|
|
27
|
+
export default async function myAction(args: string[]) {
|
|
28
|
+
loadEnv();
|
|
29
|
+
|
|
30
|
+
const parsed = parseArgs(args);
|
|
31
|
+
const input = parsed.input;
|
|
32
|
+
if (!input) fail("--input is required");
|
|
33
|
+
|
|
34
|
+
const outputPath = parsed.output ?? "data/result.json";
|
|
35
|
+
const raw = fs.readFileSync(input, "utf-8");
|
|
36
|
+
const data = JSON.parse(raw) as unknown;
|
|
37
|
+
|
|
38
|
+
fs.writeFileSync(outputPath, JSON.stringify(data, null, 2));
|
|
39
|
+
agentChat.submit(`Processed ${input}, result saved to ${outputPath}`);
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Using `defineAction` with Zod schema (recommended for new actions)
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
import { z } from "zod";
|
|
47
|
+
import { defineAction } from "@agent-native/core";
|
|
48
|
+
|
|
49
|
+
export default defineAction({
|
|
50
|
+
description: "Process some data",
|
|
51
|
+
schema: z.object({
|
|
52
|
+
input: z.string().describe("Input file path"),
|
|
53
|
+
output: z.string().optional().describe("Output file path"),
|
|
54
|
+
}),
|
|
55
|
+
run: async (args) => {
|
|
56
|
+
// args is fully typed: { input: string; output?: string }
|
|
57
|
+
// do work
|
|
58
|
+
return "Done";
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The `schema` field accepts a Zod schema (or any Standard Schema-compatible library). It provides runtime validation with clear error messages, TypeScript type inference for `run()` args, and auto-generated JSON Schema for the agent's tool definition. `zod` is a dependency of all templates.
|
|
64
|
+
|
|
65
|
+
The legacy `parameters` field (plain JSON Schema object) still works as a fallback.
|
|
66
|
+
|
|
67
|
+
## How to Run
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pnpm action my-action --input data/source.json --output data/result.json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Action Dispatcher
|
|
74
|
+
|
|
75
|
+
The default template uses core's `runScript()` in `actions/run.ts`:
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import { runScript } from "@agent-native/core";
|
|
79
|
+
runScript();
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
This is the canonical approach for new apps. Action names must be lowercase with hyphens only (e.g., `my-action`).
|
|
83
|
+
|
|
84
|
+
## Guidelines
|
|
85
|
+
|
|
86
|
+
- **One action, one job.** Keep actions focused on a single operation. The agent composes multiple action calls for complex operations.
|
|
87
|
+
- **Use `parseArgs()`** for structured argument parsing. It converts `--key value` pairs to a `Record<string, string>`.
|
|
88
|
+
- **Use `loadEnv()`** if the action needs environment variables (API keys, etc.).
|
|
89
|
+
- **Use `fail()`** for user-friendly error messages (exits with message, no stack trace).
|
|
90
|
+
- **Write results to the database.** The agent and UI will pick them up via db sync polling.
|
|
91
|
+
- **Use `agentChat.submit()`** to report results or errors back to the agent chat.
|
|
92
|
+
- **Import from `@agent-native/core`** -- Don't redefine `parseArgs()` or other utilities locally.
|
|
93
|
+
|
|
94
|
+
## Common Patterns
|
|
95
|
+
|
|
96
|
+
**API integration action** (e.g., image generation):
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
import fs from "fs";
|
|
100
|
+
import { parseArgs, loadEnv, fail } from "@agent-native/core";
|
|
101
|
+
|
|
102
|
+
export default async function generateImage(args: string[]) {
|
|
103
|
+
loadEnv();
|
|
104
|
+
const parsed = parseArgs(args);
|
|
105
|
+
const prompt = parsed.prompt;
|
|
106
|
+
if (!prompt) fail("--prompt is required");
|
|
107
|
+
|
|
108
|
+
const outputPath = parsed.output ?? "data/generated-image.png";
|
|
109
|
+
const imageUrl = await callImageAPI(prompt);
|
|
110
|
+
const buffer = await fetch(imageUrl).then((r) => r.arrayBuffer());
|
|
111
|
+
fs.writeFileSync(outputPath, Buffer.from(buffer));
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Data processing action:**
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
import fs from "fs";
|
|
119
|
+
import { parseArgs, fail } from "@agent-native/core";
|
|
120
|
+
|
|
121
|
+
export default async function transform(args: string[]) {
|
|
122
|
+
const parsed = parseArgs(args);
|
|
123
|
+
const source = parsed.source;
|
|
124
|
+
if (!source) fail("--source is required");
|
|
125
|
+
|
|
126
|
+
const data = JSON.parse(fs.readFileSync(source, "utf-8")) as unknown[];
|
|
127
|
+
const result = data.map(transformItem);
|
|
128
|
+
fs.writeFileSync(source, JSON.stringify(result, null, 2));
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Troubleshooting
|
|
133
|
+
|
|
134
|
+
- **Action not found** -- Check that the filename matches the command name exactly. `pnpm action foo-bar` looks for `actions/foo-bar.ts`.
|
|
135
|
+
- **Args not parsing** -- Ensure args use `--key value` or `--key=value` format. Boolean flags use `--flag` (sets value to `"true"`).
|
|
136
|
+
- **Action runs but UI doesn't update** -- Make sure results are written to the database so db sync polling picks them up.
|
|
137
|
+
|
|
138
|
+
## Related Skills
|
|
139
|
+
|
|
140
|
+
- **storing-data** -- Actions read/write data via SQL
|
|
141
|
+
- **delegate-to-agent** -- The agent invokes actions via `pnpm action <name>`
|
|
142
|
+
- **real-time-sync** -- Database writes from actions trigger poll events to update the UI
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-engines
|
|
3
|
+
description: >-
|
|
4
|
+
How to inspect and configure the AI engine (model provider) powering the
|
|
5
|
+
agent. Use when the user asks to switch models, check which engine is active,
|
|
6
|
+
test a new provider, or register a custom engine.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Agent Engines
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
The framework supports pluggable AI engines beneath the agent loop. The **Anthropic engine** is the default and best-in-class path (Claude models). Additional engines can be added via the Vercel AI SDK (OpenAI, Google Gemini, Groq, Mistral, Cohere, Ollama).
|
|
14
|
+
|
|
15
|
+
## Available Tools
|
|
16
|
+
|
|
17
|
+
| Tool | Purpose |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `list-agent-engines` | List all registered engines, their capabilities, and the current selection |
|
|
20
|
+
| `set-agent-engine` | Set the active engine and model (persisted in settings) |
|
|
21
|
+
| `test-agent-engine` | Send a trivial prompt to verify the engine works (connectivity + API key) |
|
|
22
|
+
|
|
23
|
+
## Checking the Current Engine
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
list-agent-engines
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Returns the registry of all engines (name, label, capabilities, supported models) plus the currently active engine and model.
|
|
30
|
+
|
|
31
|
+
## Switching Engines
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
set-agent-engine --engine "ai-sdk:openai" --model "gpt-4o"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Changes take effect on the next conversation. The setting is persisted via the settings store (`agent-engine` key).
|
|
38
|
+
|
|
39
|
+
Resolution order (highest priority first):
|
|
40
|
+
1. Explicit `engine` option passed to `createAgentChatPlugin()` in the server plugin
|
|
41
|
+
2. Settings store (`agent-engine` key)
|
|
42
|
+
3. `AGENT_ENGINE` environment variable
|
|
43
|
+
4. Default: `"anthropic"` (requires `ANTHROPIC_API_KEY`)
|
|
44
|
+
|
|
45
|
+
## Testing a New Engine
|
|
46
|
+
|
|
47
|
+
Before switching, verify the engine is working:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
test-agent-engine --engine "ai-sdk:openai" --model "gpt-4o"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Returns `{ ok, latencyMs, response, capabilities }`. If `ok: false`, the error message explains what's wrong (missing API key, package not installed, etc.).
|
|
54
|
+
|
|
55
|
+
## Built-in Engines
|
|
56
|
+
|
|
57
|
+
| Engine Name | Provider | Requires |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `anthropic` | Anthropic Claude SDK | `ANTHROPIC_API_KEY` |
|
|
60
|
+
| `ai-sdk:anthropic` | Claude via Vercel AI SDK | `ANTHROPIC_API_KEY` |
|
|
61
|
+
| `ai-sdk:openai` | OpenAI via Vercel AI SDK | `OPENAI_API_KEY` |
|
|
62
|
+
| `ai-sdk:google` | Google Gemini via Vercel AI SDK | `GOOGLE_GENERATIVE_AI_API_KEY` |
|
|
63
|
+
| `ai-sdk:groq` | Groq LPU via Vercel AI SDK | `GROQ_API_KEY` |
|
|
64
|
+
| `ai-sdk:mistral` | Mistral via Vercel AI SDK | `MISTRAL_API_KEY` |
|
|
65
|
+
| `ai-sdk:cohere` | Cohere via Vercel AI SDK | `COHERE_API_KEY` |
|
|
66
|
+
| `ai-sdk:ollama` | Local Ollama via Vercel AI SDK | None (local) |
|
|
67
|
+
|
|
68
|
+
## Engine Capabilities
|
|
69
|
+
|
|
70
|
+
Each engine advertises its capabilities:
|
|
71
|
+
|
|
72
|
+
| Capability | Anthropic | AI SDK: Anthropic | AI SDK: OpenAI | AI SDK: Google |
|
|
73
|
+
|---|---|---|---|---|
|
|
74
|
+
| `thinking` | ✓ | ✓ | ✗ | ✓ |
|
|
75
|
+
| `promptCaching` | ✓ | ✓ | ✗ | ✗ |
|
|
76
|
+
| `vision` | ✓ | ✓ | ✓ | ✓ |
|
|
77
|
+
| `computerUse` | ✓ | ✗ | ✗ | ✗ |
|
|
78
|
+
| `parallelToolCalls` | ✓ | ✓ | ✓ | ✓ |
|
|
79
|
+
|
|
80
|
+
## Anthropic-Exclusive Features
|
|
81
|
+
|
|
82
|
+
When using the `anthropic` engine (or `ai-sdk:anthropic`):
|
|
83
|
+
|
|
84
|
+
- **Prompt caching** is applied automatically to the system prompt — cutting latency and cost on repeated turns.
|
|
85
|
+
- **Extended thinking** can be enabled via `providerOptions.anthropic.thinking` — the agent reasons longer before responding.
|
|
86
|
+
|
|
87
|
+
These features are silently ignored when a non-Anthropic engine is active (capability-gated, no breakage).
|
|
88
|
+
|
|
89
|
+
## Registering a Custom Engine
|
|
90
|
+
|
|
91
|
+
Register custom engines in a server plugin at startup:
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
// server/plugins/my-engine.ts
|
|
95
|
+
import { registerAgentEngine } from "@agent-native/core/server";
|
|
96
|
+
|
|
97
|
+
registerAgentEngine({
|
|
98
|
+
name: "my-engine",
|
|
99
|
+
label: "My Custom Engine",
|
|
100
|
+
description: "...",
|
|
101
|
+
capabilities: {
|
|
102
|
+
thinking: false,
|
|
103
|
+
promptCaching: false,
|
|
104
|
+
vision: false,
|
|
105
|
+
computerUse: false,
|
|
106
|
+
parallelToolCalls: true,
|
|
107
|
+
},
|
|
108
|
+
defaultModel: "my-model-v1",
|
|
109
|
+
supportedModels: ["my-model-v1", "my-model-v2"],
|
|
110
|
+
requiredEnvVars: ["MY_ENGINE_API_KEY"],
|
|
111
|
+
create: (config) => new MyEngine(config),
|
|
112
|
+
});
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
After registering, the engine appears in `list-agent-engines` output and can be selected via `set-agent-engine`.
|
|
116
|
+
|
|
117
|
+
## Env Vars Reference
|
|
118
|
+
|
|
119
|
+
| Variable | Purpose |
|
|
120
|
+
|---|---|
|
|
121
|
+
| `ANTHROPIC_API_KEY` | Required for `anthropic` and `ai-sdk:anthropic` engines |
|
|
122
|
+
| `OPENAI_API_KEY` | Required for `ai-sdk:openai` |
|
|
123
|
+
| `GOOGLE_GENERATIVE_AI_API_KEY` | Required for `ai-sdk:google` |
|
|
124
|
+
| `GROQ_API_KEY` | Required for `ai-sdk:groq` |
|
|
125
|
+
| `MISTRAL_API_KEY` | Required for `ai-sdk:mistral` |
|
|
126
|
+
| `COHERE_API_KEY` | Required for `ai-sdk:cohere` |
|
|
127
|
+
| `AGENT_ENGINE` | Default engine name (overridden by settings store) |
|