@agent-native/core 0.4.5 → 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 +18 -0
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +62 -4
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts +6 -3
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +45 -39
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/index.d.ts +2 -2
- package/dist/a2a/index.d.ts.map +1 -1
- package/dist/a2a/index.js +3 -3
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/server.d.ts +11 -2
- package/dist/a2a/server.d.ts.map +1 -1
- package/dist/a2a/server.js +99 -14
- package/dist/a2a/server.js.map +1 -1
- package/dist/a2a/task-store.d.ts +6 -6
- package/dist/a2a/task-store.d.ts.map +1 -1
- package/dist/a2a/task-store.js +102 -42
- package/dist/a2a/task-store.js.map +1 -1
- package/dist/a2a/types.d.ts +3 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/action.d.ts +80 -0
- package/dist/action.d.ts.map +1 -0
- package/dist/action.js +232 -0
- package/dist/action.js.map +1 -0
- 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/index.d.ts +2 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/production-agent.d.ts +69 -7
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +480 -127
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts +43 -0
- package/dist/agent/run-manager.d.ts.map +1 -0
- package/dist/agent/run-manager.js +364 -0
- package/dist/agent/run-manager.js.map +1 -0
- package/dist/agent/run-store.d.ts +26 -0
- package/dist/agent/run-store.d.ts.map +1 -0
- package/dist/agent/run-store.js +145 -0
- package/dist/agent/run-store.js.map +1 -0
- package/dist/agent/thread-data-builder.d.ts +31 -0
- package/dist/agent/thread-data-builder.d.ts.map +1 -0
- package/dist/agent/thread-data-builder.js +91 -0
- package/dist/agent/thread-data-builder.js.map +1 -0
- package/dist/agent/types.d.ts +73 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/application-state/emitter.d.ts +3 -2
- package/dist/application-state/emitter.d.ts.map +1 -1
- package/dist/application-state/emitter.js +14 -4
- package/dist/application-state/emitter.js.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 +15 -17
- package/dist/application-state/handlers.js.map +1 -1
- package/dist/application-state/script-helpers.d.ts +1 -1
- package/dist/application-state/script-helpers.d.ts.map +1 -1
- package/dist/application-state/script-helpers.js +56 -8
- package/dist/application-state/script-helpers.js.map +1 -1
- package/dist/application-state/store.d.ts +4 -3
- package/dist/application-state/store.d.ts.map +1 -1
- package/dist/application-state/store.js +31 -59
- package/dist/application-state/store.js.map +1 -1
- package/dist/chat-threads/emitter.d.ts +9 -0
- package/dist/chat-threads/emitter.d.ts.map +1 -0
- package/dist/chat-threads/emitter.js +14 -0
- package/dist/chat-threads/emitter.js.map +1 -0
- package/dist/chat-threads/store.d.ts +42 -0
- package/dist/chat-threads/store.d.ts.map +1 -0
- package/dist/chat-threads/store.js +156 -0
- package/dist/chat-threads/store.js.map +1 -0
- package/dist/cli/create.d.ts +8 -2
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +288 -47
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +49 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup-agents.d.ts +11 -0
- package/dist/cli/setup-agents.d.ts.map +1 -0
- package/dist/cli/setup-agents.js +123 -0
- package/dist/cli/setup-agents.js.map +1 -0
- package/dist/client/AgentPanel.d.ts +13 -2
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +771 -38
- 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 +36 -3
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +838 -86
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ClientOnly.d.ts +14 -0
- package/dist/client/ClientOnly.d.ts.map +1 -0
- package/dist/client/ClientOnly.js +17 -0
- package/dist/client/ClientOnly.js.map +1 -0
- package/dist/client/CommandMenu.d.ts +71 -0
- package/dist/client/CommandMenu.d.ts.map +1 -0
- package/dist/client/CommandMenu.js +257 -0
- package/dist/client/CommandMenu.js.map +1 -0
- package/dist/client/DefaultSpinner.d.ts +7 -0
- package/dist/client/DefaultSpinner.d.ts.map +1 -0
- package/dist/client/DefaultSpinner.js +28 -0
- package/dist/client/DefaultSpinner.js.map +1 -0
- package/dist/client/MultiTabAssistantChat.d.ts +40 -2
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +630 -59
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/PoweredByBadge.d.ts.map +1 -1
- package/dist/client/PoweredByBadge.js +4 -3
- 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/active-run-state.d.ts +10 -0
- package/dist/client/active-run-state.d.ts.map +1 -0
- package/dist/client/active-run-state.js +32 -0
- package/dist/client/active-run-state.js.map +1 -0
- package/dist/client/agent-chat-adapter.d.ts +2 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +145 -130
- 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 +6 -4
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/components/ApiKeySettings.d.ts +2 -2
- package/dist/client/components/ApiKeySettings.js +4 -4
- package/dist/client/components/ApiKeySettings.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 +4 -3
- package/dist/client/components/CodeRequiredDialog.js.map +1 -1
- package/dist/client/composer/MentionPopover.d.ts +29 -0
- package/dist/client/composer/MentionPopover.d.ts.map +1 -0
- package/dist/client/composer/MentionPopover.js +160 -0
- package/dist/client/composer/MentionPopover.js.map +1 -0
- package/dist/client/composer/TiptapComposer.d.ts +26 -0
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -0
- package/dist/client/composer/TiptapComposer.js +545 -0
- package/dist/client/composer/TiptapComposer.js.map +1 -0
- package/dist/client/composer/extensions/FileReference.d.ts +3 -0
- package/dist/client/composer/extensions/FileReference.d.ts.map +1 -0
- package/dist/client/composer/extensions/FileReference.js +36 -0
- package/dist/client/composer/extensions/FileReference.js.map +1 -0
- package/dist/client/composer/extensions/MentionReference.d.ts +3 -0
- package/dist/client/composer/extensions/MentionReference.d.ts.map +1 -0
- package/dist/client/composer/extensions/MentionReference.js +63 -0
- package/dist/client/composer/extensions/MentionReference.js.map +1 -0
- package/dist/client/composer/extensions/SkillReference.d.ts +3 -0
- package/dist/client/composer/extensions/SkillReference.d.ts.map +1 -0
- package/dist/client/composer/extensions/SkillReference.js +40 -0
- package/dist/client/composer/extensions/SkillReference.js.map +1 -0
- package/dist/client/composer/index.d.ts +8 -0
- package/dist/client/composer/index.d.ts.map +1 -0
- package/dist/client/composer/index.js +7 -0
- package/dist/client/composer/index.js.map +1 -0
- package/dist/client/composer/types.d.ts +37 -0
- package/dist/client/composer/types.d.ts.map +1 -0
- package/dist/client/composer/types.js +2 -0
- package/dist/client/composer/types.js.map +1 -0
- package/dist/client/composer/use-file-search.d.ts +6 -0
- package/dist/client/composer/use-file-search.d.ts.map +1 -0
- package/dist/client/composer/use-file-search.js +40 -0
- package/dist/client/composer/use-file-search.js.map +1 -0
- package/dist/client/composer/use-mention-search.d.ts +6 -0
- package/dist/client/composer/use-mention-search.d.ts.map +1 -0
- package/dist/client/composer/use-mention-search.js +72 -0
- package/dist/client/composer/use-mention-search.js.map +1 -0
- package/dist/client/composer/use-skills.d.ts +7 -0
- package/dist/client/composer/use-skills.d.ts.map +1 -0
- package/dist/client/composer/use-skills.js +38 -0
- package/dist/client/composer/use-skills.js.map +1 -0
- 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 +15 -6
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +13 -5
- 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 +14 -0
- package/dist/client/resources/ResourceEditor.d.ts.map +1 -0
- package/dist/client/resources/ResourceEditor.js +932 -0
- package/dist/client/resources/ResourceEditor.js.map +1 -0
- package/dist/client/resources/ResourceTree.d.ts +17 -0
- package/dist/client/resources/ResourceTree.d.ts.map +1 -0
- package/dist/client/resources/ResourceTree.js +137 -0
- package/dist/client/resources/ResourceTree.js.map +1 -0
- package/dist/client/resources/ResourcesPanel.d.ts +2 -0
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -0
- package/dist/client/resources/ResourcesPanel.js +366 -0
- package/dist/client/resources/ResourcesPanel.js.map +1 -0
- package/dist/client/resources/index.d.ts +5 -0
- package/dist/client/resources/index.d.ts.map +1 -0
- package/dist/client/resources/index.js +5 -0
- package/dist/client/resources/index.js.map +1 -0
- package/dist/client/resources/use-resources.d.ts +55 -0
- package/dist/client/resources/use-resources.d.ts.map +1 -0
- package/dist/client/resources/use-resources.js +102 -0
- package/dist/client/resources/use-resources.js.map +1 -0
- package/dist/client/sse-event-processor.d.ts +58 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -0
- package/dist/client/sse-event-processor.js +300 -0
- package/dist/client/sse-event-processor.js.map +1 -0
- package/dist/client/terminal/AgentTerminal.d.ts +5 -5
- package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
- package/dist/client/terminal/AgentTerminal.js +25 -20
- 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-agent-chat.d.ts +1 -1
- package/dist/client/use-agent-chat.d.ts.map +1 -1
- package/dist/client/use-agent-chat.js +3 -3
- package/dist/client/use-agent-chat.js.map +1 -1
- 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 +36 -0
- package/dist/client/use-chat-threads.d.ts.map +1 -0
- package/dist/client/use-chat-threads.js +191 -0
- package/dist/client/use-chat-threads.js.map +1 -0
- package/dist/client/use-db-sync.d.ts +35 -0
- package/dist/client/use-db-sync.d.ts.map +1 -0
- package/dist/client/use-db-sync.js +74 -0
- package/dist/client/use-db-sync.js.map +1 -0
- package/dist/client/use-dev-mode.d.ts +4 -2
- package/dist/client/use-dev-mode.d.ts.map +1 -1
- package/dist/client/use-dev-mode.js +41 -12
- 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/client/use-session.d.ts +1 -1
- package/dist/client/use-session.js +2 -2
- package/dist/client/use-session.js.map +1 -1
- package/dist/client/useProductionAgent.d.ts +1 -1
- package/dist/client/useProductionAgent.d.ts.map +1 -1
- package/dist/client/useProductionAgent.js +38 -3
- package/dist/client/useProductionAgent.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/credentials/index.d.ts +18 -0
- package/dist/credentials/index.d.ts.map +1 -0
- package/dist/credentials/index.js +32 -0
- package/dist/credentials/index.js.map +1 -0
- package/dist/db/client.d.ts +45 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +289 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/create-get-db.d.ts.map +1 -1
- package/dist/db/create-get-db.js +103 -16
- package/dist/db/create-get-db.js.map +1 -1
- package/dist/db/index.d.ts +10 -6
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +10 -4
- 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 +67 -41
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/schema.d.ts +52 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +72 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/deploy/build.js +636 -42
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/route-discovery.d.ts +25 -3
- package/dist/deploy/route-discovery.d.ts.map +1 -1
- package/dist/deploy/route-discovery.js +135 -24
- package/dist/deploy/route-discovery.js.map +1 -1
- package/dist/index.browser.d.ts +3 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +5 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -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 +67 -82
- 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/emitter.d.ts +13 -0
- package/dist/resources/emitter.d.ts.map +1 -0
- package/dist/resources/emitter.js +32 -0
- package/dist/resources/emitter.js.map +1 -0
- package/dist/resources/handlers.d.ts +54 -0
- package/dist/resources/handlers.d.ts.map +1 -0
- package/dist/resources/handlers.js +292 -0
- package/dist/resources/handlers.js.map +1 -0
- package/dist/resources/index.d.ts +5 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +5 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/script-helpers.d.ts +24 -0
- package/dist/resources/script-helpers.d.ts.map +1 -0
- package/dist/resources/script-helpers.js +36 -0
- package/dist/resources/script-helpers.js.map +1 -0
- package/dist/resources/store.d.ts +40 -0
- package/dist/resources/store.d.ts.map +1 -0
- package/dist/resources/store.js +497 -0
- package/dist/resources/store.js.map +1 -0
- 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 +5 -0
- package/dist/scripts/call-agent.d.ts.map +1 -0
- package/dist/scripts/call-agent.js +111 -0
- package/dist/scripts/call-agent.js.map +1 -0
- 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 +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 +7 -2
- package/dist/scripts/db/exec.d.ts.map +1 -1
- package/dist/scripts/db/exec.js +143 -36
- 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/query.d.ts +7 -2
- package/dist/scripts/db/query.d.ts.map +1 -1
- package/dist/scripts/db/query.js +89 -45
- package/dist/scripts/db/query.js.map +1 -1
- package/dist/scripts/db/schema.d.ts +2 -2
- package/dist/scripts/db/schema.d.ts.map +1 -1
- package/dist/scripts/db/schema.js +145 -6
- package/dist/scripts/db/schema.js.map +1 -1
- package/dist/scripts/db/scoping.d.ts +42 -0
- package/dist/scripts/db/scoping.d.ts.map +1 -0
- package/dist/scripts/db/scoping.js +216 -0
- package/dist/scripts/db/scoping.js.map +1 -0
- package/dist/scripts/dev/index.d.ts +2 -2
- package/dist/scripts/dev/index.d.ts.map +1 -1
- package/dist/scripts/dev/index.js +65 -2
- package/dist/scripts/dev/index.js.map +1 -1
- package/dist/scripts/dev/list-files.d.ts +2 -2
- package/dist/scripts/dev/read-file.d.ts +2 -2
- package/dist/scripts/dev/read-file.js +1 -1
- package/dist/scripts/dev/read-file.js.map +1 -1
- package/dist/scripts/dev/search-files.d.ts +2 -2
- package/dist/scripts/dev/search-files.js +1 -1
- package/dist/scripts/dev/search-files.js.map +1 -1
- package/dist/scripts/dev/shell.d.ts +2 -2
- package/dist/scripts/dev/shell.js +1 -1
- package/dist/scripts/dev/shell.js.map +1 -1
- package/dist/scripts/dev/write-file.d.ts +2 -2
- package/dist/scripts/dev/write-file.js +1 -1
- package/dist/scripts/dev/write-file.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/resources/delete.d.ts +10 -0
- package/dist/scripts/resources/delete.d.ts.map +1 -0
- package/dist/scripts/resources/delete.js +38 -0
- package/dist/scripts/resources/delete.js.map +1 -0
- package/dist/scripts/resources/index.d.ts +2 -0
- package/dist/scripts/resources/index.d.ts.map +1 -0
- package/dist/scripts/resources/index.js +8 -0
- package/dist/scripts/resources/index.js.map +1 -0
- package/dist/scripts/resources/list.d.ts +10 -0
- package/dist/scripts/resources/list.d.ts.map +1 -0
- package/dist/scripts/resources/list.js +57 -0
- package/dist/scripts/resources/list.js.map +1 -0
- package/dist/scripts/resources/migrate-learnings.d.ts +10 -0
- package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -0
- package/dist/scripts/resources/migrate-learnings.js +23 -0
- package/dist/scripts/resources/migrate-learnings.js.map +1 -0
- package/dist/scripts/resources/read.d.ts +10 -0
- package/dist/scripts/resources/read.d.ts.map +1 -0
- package/dist/scripts/resources/read.js +59 -0
- package/dist/scripts/resources/read.js.map +1 -0
- package/dist/scripts/resources/write.d.ts +10 -0
- package/dist/scripts/resources/write.d.ts.map +1 -0
- package/dist/scripts/resources/write.js +67 -0
- package/dist/scripts/resources/write.js.map +1 -0
- package/dist/scripts/runner.d.ts +7 -7
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +78 -29
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/utils.d.ts +5 -10
- package/dist/scripts/utils.d.ts.map +1 -1
- package/dist/scripts/utils.js +7 -43
- package/dist/scripts/utils.js.map +1 -1
- package/dist/server/action-discovery.d.ts +40 -0
- package/dist/server/action-discovery.d.ts.map +1 -0
- package/dist/server/action-discovery.js +257 -0
- package/dist/server/action-discovery.js.map +1 -0
- 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 +32 -23
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +1983 -39
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-discovery.d.ts +21 -0
- package/dist/server/agent-discovery.d.ts.map +1 -0
- package/dist/server/agent-discovery.js +197 -0
- package/dist/server/agent-discovery.js.map +1 -0
- 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 +5 -0
- package/dist/server/auth-plugin.d.ts.map +1 -1
- package/dist/server/auth-plugin.js +13 -3
- package/dist/server/auth-plugin.js.map +1 -1
- package/dist/server/auth.d.ts +54 -31
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +671 -294
- 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 +54 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -0
- package/dist/server/core-routes-plugin.js +195 -0
- package/dist/server/core-routes-plugin.js.map +1 -0
- package/dist/server/create-server.d.ts +5 -5
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/create-server.js +44 -21
- 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 +16 -15
- package/dist/server/google-auth-plugin.js.map +1 -1
- package/dist/server/google-oauth.d.ts +72 -0
- package/dist/server/google-oauth.d.ts.map +1 -0
- package/dist/server/google-oauth.js +209 -0
- package/dist/server/google-oauth.js.map +1 -0
- 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 +17 -5
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +19 -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 +14 -0
- package/dist/server/oauth-helpers.d.ts.map +1 -0
- package/dist/server/oauth-helpers.js +23 -0
- package/dist/server/oauth-helpers.js.map +1 -0
- 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 +45 -0
- package/dist/server/poll.d.ts.map +1 -0
- package/dist/server/poll.js +96 -0
- package/dist/server/poll.js.map +1 -0
- package/dist/server/resources-plugin.d.ts +27 -0
- package/dist/server/resources-plugin.d.ts.map +1 -0
- package/dist/server/resources-plugin.js +75 -0
- package/dist/server/resources-plugin.js.map +1 -0
- 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/script-discovery.d.ts +6 -0
- package/dist/server/script-discovery.d.ts.map +1 -0
- package/dist/server/script-discovery.js +6 -0
- package/dist/server/script-discovery.js.map +1 -0
- package/dist/server/sse.d.ts +4 -21
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +2 -30
- 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 +6 -6
- package/dist/settings/handlers.d.ts.map +1 -1
- package/dist/settings/handlers.js +9 -6
- package/dist/settings/handlers.js.map +1 -1
- package/dist/settings/index.d.ts +2 -1
- 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/settings/store.d.ts +6 -2
- package/dist/settings/store.d.ts.map +1 -1
- package/dist/settings/store.js +26 -63
- package/dist/settings/store.js.map +1 -1
- package/dist/settings/user-settings.d.ts +3 -2
- package/dist/settings/user-settings.d.ts.map +1 -1
- package/dist/settings/user-settings.js +5 -5
- package/dist/settings/user-settings.js.map +1 -1
- 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/tailwind.preset.d.ts +7 -6
- package/dist/tailwind.preset.d.ts.map +1 -1
- package/dist/tailwind.preset.js +18 -1
- package/dist/tailwind.preset.js.map +1 -1
- 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/{src/templates/default/.agents/skills/files-as-database → dist/templates/default/.agents/skills/storing-data}/SKILL.md +2 -2
- 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/{src/templates/default/scripts → dist/templates/default/actions}/hello.ts +1 -1
- package/dist/templates/default/actions/navigate.ts +53 -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 +2 -2
- package/dist/terminal/cli-registry.d.ts.map +1 -1
- package/dist/terminal/cli-registry.js +8 -8
- 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 +94 -18
- package/dist/terminal/pty-server.js.map +1 -1
- package/dist/terminal/terminal-plugin.d.ts +1 -10
- package/dist/terminal/terminal-plugin.d.ts.map +1 -1
- package/dist/terminal/terminal-plugin.js +77 -28
- 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 +310 -19
- 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 +78 -14
- package/src/templates/default/.agents/skills/actions/SKILL.md +142 -0
- package/src/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
- package/src/templates/default/.agents/skills/create-skill/SKILL.md +1 -1
- package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +1 -1
- package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
- package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -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 +72 -164
- package/src/templates/default/DEVELOPING.md +117 -0
- package/src/templates/default/actions/hello.ts +20 -0
- package/src/templates/default/actions/navigate.ts +53 -0
- package/src/templates/default/actions/run.ts +2 -0
- package/src/templates/default/actions/view-screen.ts +39 -0
- package/src/templates/default/app/global.css +2 -2
- package/src/templates/default/app/root.tsx +19 -16
- package/src/templates/default/app/routes/_index.tsx +1 -1
- package/src/templates/default/package.json +6 -2
- package/src/templates/default/server/middleware/auth.ts +15 -0
- package/src/templates/default/server/plugins/.gitkeep +0 -0
- package/src/templates/default/server/routes/[...page].get.ts +2 -9
- package/src/templates/default/ssr-entry.ts +20 -0
- package/dist/a2a/middleware.d.ts +0 -3
- package/dist/a2a/middleware.d.ts.map +0 -1
- package/dist/a2a/middleware.js +0 -36
- package/dist/a2a/middleware.js.map +0 -1
- 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/client/use-file-watcher.d.ts +0 -23
- package/dist/client/use-file-watcher.d.ts.map +0 -1
- package/dist/client/use-file-watcher.js +0 -50
- package/dist/client/use-file-watcher.js.map +0 -1
- package/dist/server/default-watcher.d.ts +0 -17
- package/dist/server/default-watcher.d.ts.map +0 -1
- package/dist/server/default-watcher.js +0 -37
- 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 -160
- package/dist/vite/dev-api-server.js.map +0 -1
- package/src/templates/default/.agents/skills/scripts/SKILL.md +0 -121
- package/src/templates/default/.agents/skills/sse-file-watcher/SKILL.md +0 -80
- package/src/templates/default/server/plugins/agent-chat.ts +0 -1
- package/src/templates/default/server/plugins/auth.ts +0 -1
- package/src/templates/default/server/plugins/file-sync.ts +0 -1
- package/src/templates/default/server/plugins/terminal.ts +0 -1
- package/src/templates/default/server/routes/api/events.get.ts +0 -3
- package/src/templates/default/server/routes/api/file-sync/status.get.ts +0 -4
- /package/{src/templates/default/application-state/.gitkeep → dist/templates/default/.ignore} +0 -0
- /package/{src/templates/default/scripts → dist/templates/default/actions}/run.ts +0 -0
|
@@ -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) |
|
|
@@ -148,7 +148,7 @@ description: >-
|
|
|
148
148
|
|
|
149
149
|
- **Inline LLM calls** — Skills must not call LLMs directly (violates Rule 2)
|
|
150
150
|
- **Database patterns** — Skills must not introduce databases (violates Rule 1)
|
|
151
|
-
- **Ignoring
|
|
151
|
+
- **Ignoring db sync** — If a skill creates data, mention wiring up `useDbSync`
|
|
152
152
|
- **Vague descriptions** — "Helps with development" won't trigger. Be specific about _when_.
|
|
153
153
|
- **Pure documentation** — Skills should guide action, not just explain concepts
|
|
154
154
|
|
|
@@ -84,7 +84,7 @@ Scripts may call external APIs (image generation, search, etc.) — but the AI r
|
|
|
84
84
|
|
|
85
85
|
## Related Skills
|
|
86
86
|
|
|
87
|
-
- **scripts** — The agent invokes scripts via `pnpm
|
|
87
|
+
- **scripts** — The agent invokes scripts via `pnpm action <name>` to perform complex operations
|
|
88
88
|
- **self-modifying-code** — The agent operates through the chat bridge to make code changes
|
|
89
89
|
- **storing-data** — The agent writes results to the database after processing requests
|
|
90
90
|
- **real-time-sync** — The UI updates automatically when the agent writes to the database
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: real-time-collab
|
|
3
|
+
description: >-
|
|
4
|
+
How to enable multi-user collaborative editing with Yjs CRDT, TipTap
|
|
5
|
+
Collaboration extension, live cursors, and agent-driven edits.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Real-Time Collaboration
|
|
9
|
+
|
|
10
|
+
The framework provides a Yjs-based collaborative editing system in `@agent-native/core/collab`. Multiple users can edit the same document simultaneously with live cursor positions, and the AI agent can make surgical edits that appear in real-time.
|
|
11
|
+
|
|
12
|
+
## Architecture
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
User A (TipTap + Collaboration ext) ←→ Y.XmlFragment ←→ Server (_collab_docs table)
|
|
16
|
+
User B (TipTap + Collaboration ext) ←→ Y.XmlFragment ←→ ↑
|
|
17
|
+
Agent (edit-document action) ←→ search-replace endpoint ─┘
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
- **Yjs Y.Doc** stores the document as a `Y.XmlFragment` (ProseMirror node tree)
|
|
21
|
+
- **TipTap's Collaboration extension** binds the editor to the Y.XmlFragment via `ySyncPlugin`
|
|
22
|
+
- **CollaborationCaret extension** renders remote users' cursors with names and colors
|
|
23
|
+
- **Polling** (every 2s) syncs Y.Doc updates and awareness state between clients and server
|
|
24
|
+
- **SQL `_collab_docs` table** persists Yjs state (base64-encoded binary)
|
|
25
|
+
|
|
26
|
+
## Enabling Collaboration in a Template
|
|
27
|
+
|
|
28
|
+
### 1. Install dependencies
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pnpm add @tiptap/extension-collaboration @tiptap/extension-collaboration-caret @tiptap/y-tiptap --filter your-template
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. Add Vite optimizeDeps
|
|
35
|
+
|
|
36
|
+
In `vite.config.ts`:
|
|
37
|
+
```ts
|
|
38
|
+
export default defineConfig({
|
|
39
|
+
plugins: [reactRouter()],
|
|
40
|
+
optimizeDeps: {
|
|
41
|
+
include: [
|
|
42
|
+
"yjs",
|
|
43
|
+
"y-protocols/awareness",
|
|
44
|
+
"@tiptap/extension-collaboration",
|
|
45
|
+
"@tiptap/extension-collaboration-caret",
|
|
46
|
+
"@tiptap/y-tiptap",
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This prevents Vite from re-bundling TipTap in incompatible ways during dev.
|
|
53
|
+
|
|
54
|
+
### 3. Add the collab server plugin
|
|
55
|
+
|
|
56
|
+
Create `server/plugins/collab.ts`:
|
|
57
|
+
```ts
|
|
58
|
+
import { createCollabPlugin } from "@agent-native/core/server";
|
|
59
|
+
export default createCollabPlugin({
|
|
60
|
+
table: "your_table",
|
|
61
|
+
contentColumn: "content",
|
|
62
|
+
idColumn: "id",
|
|
63
|
+
autoSeed: false, // Client-side seeding on first load
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This mounts routes under `/_agent-native/collab/`:
|
|
68
|
+
- `GET /:docId/state` — fetch Y.Doc state
|
|
69
|
+
- `POST /:docId/update` — apply client update
|
|
70
|
+
- `POST /:docId/text` — apply full text (diff-based)
|
|
71
|
+
- `POST /:docId/search-replace` — surgical text find/replace in Y.XmlFragment
|
|
72
|
+
- `POST /:docId/awareness` — sync cursor/presence state
|
|
73
|
+
|
|
74
|
+
### 4. Use the `useCollaborativeDoc` hook
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
import { useCollaborativeDoc, generateTabId } from "@agent-native/core/client";
|
|
78
|
+
|
|
79
|
+
const TAB_ID = generateTabId();
|
|
80
|
+
|
|
81
|
+
const { ydoc, awareness, isLoading, activeUsers } = useCollaborativeDoc({
|
|
82
|
+
docId: documentId,
|
|
83
|
+
requestSource: TAB_ID,
|
|
84
|
+
user: { name: "Steve", email: "steve@example.com", color: "#60a5fa" },
|
|
85
|
+
});
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The hook:
|
|
89
|
+
- Creates a stable `Y.Doc` per docId (never changes identity)
|
|
90
|
+
- Fetches server state and applies it
|
|
91
|
+
- Sends local updates to server
|
|
92
|
+
- Polls for remote updates (every 2s)
|
|
93
|
+
- Tracks active users via awareness
|
|
94
|
+
|
|
95
|
+
### 5. Add Collaboration extension to TipTap
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
import Collaboration from "@tiptap/extension-collaboration";
|
|
99
|
+
import CollaborationCaret from "@tiptap/extension-collaboration-caret";
|
|
100
|
+
import { Awareness } from "y-protocols/awareness";
|
|
101
|
+
|
|
102
|
+
// Create awareness locally (must use same y-protocols as the caret extension)
|
|
103
|
+
const awareness = new Awareness(ydoc);
|
|
104
|
+
awareness.setLocalStateField("user", { name, color });
|
|
105
|
+
|
|
106
|
+
const editor = useEditor({
|
|
107
|
+
extensions: [
|
|
108
|
+
StarterKit.configure({ history: false }), // Disable history — Yjs handles undo
|
|
109
|
+
Collaboration.configure({ document: ydoc }),
|
|
110
|
+
CollaborationCaret.configure({
|
|
111
|
+
provider: { awareness },
|
|
112
|
+
user: { name, color },
|
|
113
|
+
}),
|
|
114
|
+
// ... other extensions
|
|
115
|
+
],
|
|
116
|
+
content: initialContent, // Seeds Y.XmlFragment on first load
|
|
117
|
+
});
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Important:** Disable `history` in StarterKit when using Collaboration — Yjs handles undo/redo.
|
|
121
|
+
|
|
122
|
+
### 6. Seed the Y.XmlFragment
|
|
123
|
+
|
|
124
|
+
The Collaboration extension does NOT auto-seed from the `content` prop. You must seed manually:
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
useEffect(() => {
|
|
128
|
+
if (!editor || !ydoc || !content) return;
|
|
129
|
+
const fragment = ydoc.getXmlFragment("default");
|
|
130
|
+
if (fragment.length === 0) {
|
|
131
|
+
editor.commands.setContent(parseContent(content));
|
|
132
|
+
}
|
|
133
|
+
}, [editor, ydoc, content]);
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Critical:** Guard against saving empty content back to SQL when the editor is in collab mode but hasn't been seeded yet:
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
onUpdate: ({ editor }) => {
|
|
140
|
+
const md = editor.storage.markdown.getMarkdown();
|
|
141
|
+
if (!md.trim() && ydoc) return; // Don't save empty during seeding
|
|
142
|
+
onChange(md);
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Agent Edits via `edit-document`
|
|
147
|
+
|
|
148
|
+
The `edit-document` action uses search-and-replace:
|
|
149
|
+
```bash
|
|
150
|
+
pnpm action edit-document --id <docId> --find "old text" --replace "new text"
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
When collab state exists, the action calls the server's `search-replace` endpoint which:
|
|
154
|
+
1. Walks the Y.XmlFragment tree
|
|
155
|
+
2. Finds the text in Y.XmlText nodes
|
|
156
|
+
3. Applies minimal delete/insert operations
|
|
157
|
+
4. Emits a Yjs update via the poll system
|
|
158
|
+
5. Client receives the update → ySyncPlugin applies a targeted ProseMirror transaction → cursor preserved
|
|
159
|
+
|
|
160
|
+
**Important:** Actions run in a separate process, so they must use the HTTP endpoint (not the collab module directly) to emit updates to the server's poll system.
|
|
161
|
+
|
|
162
|
+
## Key Modules
|
|
163
|
+
|
|
164
|
+
| Module | Path | Purpose |
|
|
165
|
+
|--------|------|---------|
|
|
166
|
+
| `@agent-native/core/collab` | `packages/core/src/collab/` | Server-side Yjs management |
|
|
167
|
+
| `useCollaborativeDoc` | `packages/core/src/collab/client.ts` | Client hook |
|
|
168
|
+
| `createCollabPlugin` | `packages/core/src/server/collab-plugin.ts` | Route mounting |
|
|
169
|
+
| `searchAndReplace` | `packages/core/src/collab/ydoc-manager.ts` | Y.XmlFragment text mutation |
|
|
170
|
+
|
|
171
|
+
## Common Pitfalls
|
|
172
|
+
|
|
173
|
+
1. **TipTap version mismatch** — All `@tiptap/*` packages must be the same version. The Collaboration extension requires `editor.utils` which was added in v3.22.2.
|
|
174
|
+
|
|
175
|
+
2. **Empty editor on first load** — The Collaboration extension uses Y.XmlFragment as the source of truth. If the fragment is empty, the editor shows empty. Seed manually (see above).
|
|
176
|
+
|
|
177
|
+
3. **Data loss from empty saves** — The `onUpdate` handler fires when the editor initializes with an empty Y.XmlFragment. If this empty content is saved to SQL, it overwrites the real content. Always guard against saving empty content in collab mode.
|
|
178
|
+
|
|
179
|
+
4. **Stale content on document switch** — Use `key={documentId}` on the editor component to force a full remount when switching documents. This ensures the Y.Doc, seeding, and editor state are all fresh.
|
|
180
|
+
|
|
181
|
+
5. **Separate process for actions** — Actions run via `pnpm action` in a new Node.js process. The in-memory EventEmitter in the action process doesn't reach the dev server's poll system. Use HTTP endpoints for collab operations from actions.
|
|
182
|
+
|
|
183
|
+
6. **Vite dep optimization** — Adding Yjs-related packages to a template changes Vite's dependency bundling, which can break TipTap's React integration. Always add them to `optimizeDeps.include`.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: real-time-sync
|
|
3
|
+
description: >-
|
|
4
|
+
How to keep the UI in sync with agent changes via polling. Use when wiring
|
|
5
|
+
query invalidation for new data models, debugging UI not updating, or
|
|
6
|
+
understanding jitter prevention.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Real-Time Sync (Polling)
|
|
10
|
+
|
|
11
|
+
## Rule
|
|
12
|
+
|
|
13
|
+
The UI stays in sync with agent/script changes through database polling. When the agent writes to the database, the UI detects the change and updates automatically — no manual refresh needed.
|
|
14
|
+
|
|
15
|
+
## Why
|
|
16
|
+
|
|
17
|
+
The agent modifies data in SQL, but the UI runs in the browser. Polling bridges this gap: every database write increments a version counter, the `useDbSync()` hook polls for version changes, and React Query invalidates the relevant caches. This is what makes database writes feel real-time.
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
1. **Server** increments a version counter on every database write. The `/_agent-native/poll` endpoint returns the current version and any events since the last poll.
|
|
22
|
+
|
|
23
|
+
2. **Client** polls for changes and invalidates React Query caches:
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import { useDbSync } from "@agent-native/core";
|
|
27
|
+
useDbSync({ queryClient, queryKeys: ["items", "settings"] });
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
3. When the agent writes to the database, the version increments, polling detects it, and React Query refetches the affected queries.
|
|
31
|
+
|
|
32
|
+
## Don't
|
|
33
|
+
|
|
34
|
+
- Don't create manual polling loops — `useDbSync()` handles it (polls every 2 seconds by default)
|
|
35
|
+
- Don't create your own fetch-based polling alongside `useDbSync` — use the `onEvent` callback for custom handling
|
|
36
|
+
|
|
37
|
+
## Query Key Mapping
|
|
38
|
+
|
|
39
|
+
By default, `useDbSync` invalidates all listed query keys on every change. For apps with multiple data models, this causes unnecessary refetches. Use event-based filtering via the `onEvent` callback:
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
useDbSync({
|
|
43
|
+
queryClient,
|
|
44
|
+
queryKeys: [], // don't auto-invalidate everything
|
|
45
|
+
onEvent: (data) => {
|
|
46
|
+
if (data.source === "settings") {
|
|
47
|
+
queryClient.invalidateQueries({ queryKey: ["settings"] });
|
|
48
|
+
} else if (data.source === "app-state") {
|
|
49
|
+
queryClient.invalidateQueries({ queryKey: ["navigate-command"] });
|
|
50
|
+
} else {
|
|
51
|
+
queryClient.invalidateQueries({ queryKey: ["items"] });
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
To prevent cache thrashing during rapid agent writes, set `staleTime` on your queries:
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
useQuery({
|
|
61
|
+
queryKey: ["items"],
|
|
62
|
+
queryFn: fetchItems,
|
|
63
|
+
staleTime: 2000, // don't refetch within 2 seconds
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Troubleshooting
|
|
68
|
+
|
|
69
|
+
| Symptom | Check |
|
|
70
|
+
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
71
|
+
| UI not updating after agent writes | Is `useDbSync` called with the correct `queryClient`? Are the `queryKeys` matching your `useQuery` keys? |
|
|
72
|
+
| Poll endpoint not responding | Is `/_agent-native/poll` accessible? Is the server running? |
|
|
73
|
+
| High CPU / event storms | The agent is writing rapidly. Add `staleTime` to queries and use event-based filtering. |
|
|
74
|
+
|
|
75
|
+
## Jitter Prevention
|
|
76
|
+
|
|
77
|
+
When the agent writes to application-state via script helpers (`writeAppState`, `deleteAppState`), the write is automatically tagged with `requestSource: "agent"`. This prevents the UI from overwriting active user edits when it receives the change event.
|
|
78
|
+
|
|
79
|
+
### How it works
|
|
80
|
+
|
|
81
|
+
1. **Agent writes** are tagged: the script helpers in `@agent-native/core/application-state` pass `{ requestSource: "agent" }` to the store.
|
|
82
|
+
2. **UI writes** are tagged: templates send a per-tab ID via the `X-Request-Source` header on PUT/DELETE requests to application-state endpoints.
|
|
83
|
+
3. **Polling filters**: `useDbSync()` accepts an `ignoreSource` option. The UI passes its own tab ID so it ignores events from its own writes — but still picks up events from agents, other tabs, and scripts.
|
|
84
|
+
|
|
85
|
+
### Template setup
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
// app/lib/tab-id.ts
|
|
89
|
+
export const TAB_ID = `tab-${Math.random().toString(36).slice(2, 8)}`;
|
|
90
|
+
|
|
91
|
+
// app/root.tsx
|
|
92
|
+
import { TAB_ID } from "@/lib/tab-id";
|
|
93
|
+
|
|
94
|
+
useDbSync({
|
|
95
|
+
queryClient,
|
|
96
|
+
queryKeys: ["app-state", "settings"],
|
|
97
|
+
ignoreSource: TAB_ID,
|
|
98
|
+
});
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The `use-navigation-state.ts` hook sends the same `TAB_ID` in the `X-Request-Source` header when writing navigation state, so the tab that wrote the state does not refetch it.
|
|
102
|
+
|
|
103
|
+
### Why this matters
|
|
104
|
+
|
|
105
|
+
Without jitter prevention, a cycle occurs: the UI writes state, polling detects the change, the UI refetches and re-renders, potentially overwriting what the user is actively editing. With `ignoreSource`, the UI only reacts to changes from other sources (agent scripts, other browser tabs, other users).
|
|
106
|
+
|
|
107
|
+
## Related Skills
|
|
108
|
+
|
|
109
|
+
- **storing-data** — Application-state and settings are the data stores that sync via polling
|
|
110
|
+
- **context-awareness** — Navigation state writes use jitter prevention to avoid overwriting active edits
|
|
111
|
+
- **scripts** — Script outputs written to the database trigger poll events
|
|
112
|
+
- **self-modifying-code** — Agent code edits trigger poll events; rapid edits can cause event storms
|