@agent-native/core 0.7.13 → 0.7.15
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 +56 -6
- package/dist/a2a/client.d.ts +44 -1
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +88 -11
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts +10 -0
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +417 -67
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/server.d.ts.map +1 -1
- package/dist/a2a/server.js +212 -19
- package/dist/a2a/server.js.map +1 -1
- package/dist/a2a/task-store.d.ts +20 -1
- package/dist/a2a/task-store.d.ts.map +1 -1
- package/dist/a2a/task-store.js +72 -2
- package/dist/a2a/task-store.js.map +1 -1
- package/dist/agent/default-model.d.ts +21 -0
- package/dist/agent/default-model.d.ts.map +1 -0
- package/dist/agent/default-model.js +21 -0
- package/dist/agent/default-model.js.map +1 -0
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +7 -4
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
- package/dist/agent/engine/anthropic-engine.js +10 -4
- package/dist/agent/engine/anthropic-engine.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts +1 -1
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +11 -26
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/engine/builtin.js +1 -1
- package/dist/agent/engine/builtin.js.map +1 -1
- package/dist/agent/engine/registry.d.ts +27 -7
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +101 -20
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -0
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/production-agent.d.ts +25 -3
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +227 -36
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/application-state/handlers.d.ts.map +1 -1
- package/dist/application-state/handlers.js +10 -6
- 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 +12 -8
- package/dist/application-state/script-helpers.js.map +1 -1
- package/dist/application-state/store.d.ts.map +1 -1
- package/dist/application-state/store.js +19 -10
- package/dist/application-state/store.js.map +1 -1
- package/dist/chat-threads/store.d.ts +3 -0
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +36 -1
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +79 -13
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +97 -39
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/templates-meta.d.ts +4 -0
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +67 -12
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/cli/workspacify.d.ts +2 -0
- package/dist/cli/workspacify.d.ts.map +1 -1
- package/dist/cli/workspacify.js +5 -4
- package/dist/cli/workspacify.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +7 -2
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +81 -32
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AgentTaskCard.d.ts.map +1 -1
- package/dist/client/AgentTaskCard.js +5 -2
- package/dist/client/AgentTaskCard.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +2 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +183 -84
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
- package/dist/client/ConnectBuilderCard.js +2 -1
- package/dist/client/ConnectBuilderCard.js.map +1 -1
- package/dist/client/DefaultSpinner.d.ts +1 -1
- package/dist/client/DefaultSpinner.d.ts.map +1 -1
- package/dist/client/DefaultSpinner.js +2 -9
- package/dist/client/DefaultSpinner.js.map +1 -1
- package/dist/client/ErrorBoundary.d.ts +1 -3
- package/dist/client/ErrorBoundary.d.ts.map +1 -1
- package/dist/client/ErrorBoundary.js +37 -9
- package/dist/client/ErrorBoundary.js.map +1 -1
- package/dist/client/FeedbackButton.d.ts.map +1 -1
- package/dist/client/FeedbackButton.js +4 -3
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +165 -68
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +2 -1
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-chat.d.ts +11 -0
- 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/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +70 -1
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/api-path.d.ts +5 -0
- package/dist/client/api-path.d.ts.map +1 -0
- package/dist/client/api-path.js +48 -0
- package/dist/client/api-path.js.map +1 -0
- package/dist/client/components/AgentPresenceChip.d.ts +12 -0
- package/dist/client/components/AgentPresenceChip.d.ts.map +1 -0
- package/dist/client/components/AgentPresenceChip.js +42 -0
- package/dist/client/components/AgentPresenceChip.js.map +1 -0
- package/dist/client/components/ApiKeySettings.d.ts.map +1 -1
- package/dist/client/components/ApiKeySettings.js +3 -2
- package/dist/client/components/ApiKeySettings.js.map +1 -1
- package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
- package/dist/client/components/CodeRequiredDialog.js +3 -2
- package/dist/client/components/CodeRequiredDialog.js.map +1 -1
- package/dist/client/components/PresenceBar.d.ts +17 -0
- package/dist/client/components/PresenceBar.d.ts.map +1 -0
- package/dist/client/components/PresenceBar.js +118 -0
- package/dist/client/components/PresenceBar.js.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.d.ts +6 -1
- package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
- package/dist/client/composer/ComposerPlusMenu.js +22 -83
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts +3 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +245 -23
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/draft-key.d.ts +2 -0
- package/dist/client/composer/draft-key.d.ts.map +1 -0
- package/dist/client/composer/draft-key.js +8 -0
- package/dist/client/composer/draft-key.js.map +1 -0
- package/dist/client/composer/types.d.ts +1 -0
- package/dist/client/composer/types.d.ts.map +1 -1
- package/dist/client/composer/use-file-search.d.ts.map +1 -1
- package/dist/client/composer/use-file-search.js +2 -1
- package/dist/client/composer/use-file-search.js.map +1 -1
- package/dist/client/composer/use-mention-search.d.ts.map +1 -1
- package/dist/client/composer/use-mention-search.js +2 -1
- package/dist/client/composer/use-mention-search.js.map +1 -1
- package/dist/client/composer/use-skills.d.ts.map +1 -1
- package/dist/client/composer/use-skills.js +2 -1
- package/dist/client/composer/use-skills.js.map +1 -1
- package/dist/client/composer/useVoiceDictation.d.ts +3 -1
- package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.js +101 -18
- package/dist/client/composer/useVoiceDictation.js.map +1 -1
- package/dist/client/dev-mode.d.ts +14 -0
- package/dist/client/dev-mode.d.ts.map +1 -0
- package/dist/client/dev-mode.js +14 -0
- package/dist/client/dev-mode.js.map +1 -0
- package/dist/client/dev-overlay/DevOverlay.d.ts +26 -0
- package/dist/client/dev-overlay/DevOverlay.d.ts.map +1 -0
- package/dist/client/dev-overlay/DevOverlay.js +315 -0
- package/dist/client/dev-overlay/DevOverlay.js.map +1 -0
- package/dist/client/dev-overlay/builtins.d.ts +6 -0
- package/dist/client/dev-overlay/builtins.d.ts.map +1 -0
- package/dist/client/dev-overlay/builtins.js +35 -0
- package/dist/client/dev-overlay/builtins.js.map +1 -0
- package/dist/client/dev-overlay/index.d.ts +6 -0
- package/dist/client/dev-overlay/index.d.ts.map +1 -0
- package/dist/client/dev-overlay/index.js +5 -0
- package/dist/client/dev-overlay/index.js.map +1 -0
- package/dist/client/dev-overlay/registry.d.ts +13 -0
- package/dist/client/dev-overlay/registry.d.ts.map +1 -0
- package/dist/client/dev-overlay/registry.js +63 -0
- package/dist/client/dev-overlay/registry.js.map +1 -0
- package/dist/client/dev-overlay/types.d.ts +56 -0
- package/dist/client/dev-overlay/types.d.ts.map +1 -0
- package/dist/client/dev-overlay/types.js +9 -0
- package/dist/client/dev-overlay/types.js.map +1 -0
- package/dist/client/dev-overlay/use-dev-option.d.ts +12 -0
- package/dist/client/dev-overlay/use-dev-option.d.ts.map +1 -0
- package/dist/client/dev-overlay/use-dev-option.js +73 -0
- package/dist/client/dev-overlay/use-dev-option.js.map +1 -0
- package/dist/client/dev-overlay/use-dev-overlay-shortcut.d.ts +6 -0
- package/dist/client/dev-overlay/use-dev-overlay-shortcut.d.ts.map +1 -0
- package/dist/client/dev-overlay/use-dev-overlay-shortcut.js +29 -0
- package/dist/client/dev-overlay/use-dev-overlay-shortcut.js.map +1 -0
- package/dist/client/frame.d.ts +1 -0
- package/dist/client/frame.d.ts.map +1 -1
- package/dist/client/frame.js +32 -11
- package/dist/client/frame.js.map +1 -1
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +9 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/integrations/IntegrationCard.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationCard.js +3 -2
- package/dist/client/integrations/IntegrationCard.js.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.js +3 -2
- package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
- package/dist/client/integrations/useIntegrationStatus.d.ts.map +1 -1
- package/dist/client/integrations/useIntegrationStatus.js +2 -1
- package/dist/client/integrations/useIntegrationStatus.js.map +1 -1
- package/dist/client/notifications/NotificationsBell.d.ts.map +1 -1
- package/dist/client/notifications/NotificationsBell.js +26 -8
- package/dist/client/notifications/NotificationsBell.js.map +1 -1
- package/dist/client/observability/ThumbsFeedback.d.ts.map +1 -1
- package/dist/client/observability/ThumbsFeedback.js +2 -1
- package/dist/client/observability/ThumbsFeedback.js.map +1 -1
- package/dist/client/observability/useObservability.d.ts.map +1 -1
- package/dist/client/observability/useObservability.js +2 -1
- package/dist/client/observability/useObservability.js.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.d.ts +0 -7
- package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.js +20 -10
- package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
- package/dist/client/onboarding/index.d.ts +1 -0
- package/dist/client/onboarding/index.d.ts.map +1 -1
- package/dist/client/onboarding/index.js +1 -0
- package/dist/client/onboarding/index.js.map +1 -1
- package/dist/client/onboarding/use-onboarding.d.ts +1 -7
- package/dist/client/onboarding/use-onboarding.d.ts.map +1 -1
- package/dist/client/onboarding/use-onboarding.js +27 -13
- package/dist/client/onboarding/use-onboarding.js.map +1 -1
- package/dist/client/onboarding/use-preview-mode.d.ts +10 -0
- package/dist/client/onboarding/use-preview-mode.d.ts.map +1 -0
- package/dist/client/onboarding/use-preview-mode.js +35 -0
- package/dist/client/onboarding/use-preview-mode.js.map +1 -0
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +2 -1
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
- package/dist/client/org/RequireActiveOrg.js +15 -10
- package/dist/client/org/RequireActiveOrg.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +132 -9
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/org/hooks.d.ts +30 -0
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/org/hooks.js +67 -1
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/index.d.ts +2 -2
- package/dist/client/org/index.d.ts.map +1 -1
- package/dist/client/org/index.js +1 -1
- package/dist/client/org/index.js.map +1 -1
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +2 -1
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/client/resources/McpServerDetail.d.ts +0 -8
- package/dist/client/resources/McpServerDetail.d.ts.map +1 -1
- package/dist/client/resources/McpServerDetail.js +6 -1
- package/dist/client/resources/McpServerDetail.js.map +1 -1
- package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
- package/dist/client/resources/ResourceEditor.js +2 -1
- package/dist/client/resources/ResourceEditor.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +7 -2
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/resources/use-mcp-servers.d.ts.map +1 -1
- package/dist/client/resources/use-mcp-servers.js +7 -2
- package/dist/client/resources/use-mcp-servers.js.map +1 -1
- package/dist/client/resources/use-resources.d.ts.map +1 -1
- package/dist/client/resources/use-resources.js +9 -7
- package/dist/client/resources/use-resources.js.map +1 -1
- package/dist/client/settings/AgentsSection.d.ts.map +1 -1
- package/dist/client/settings/AgentsSection.js +7 -5
- package/dist/client/settings/AgentsSection.js.map +1 -1
- package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
- package/dist/client/settings/AutomationsSection.js +10 -5
- package/dist/client/settings/AutomationsSection.js.map +1 -1
- package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -1
- package/dist/client/settings/BackgroundAgentSection.js +2 -1
- package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
- package/dist/client/settings/SecretsSection.d.ts.map +1 -1
- package/dist/client/settings/SecretsSection.js +12 -4
- package/dist/client/settings/SecretsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +38 -33
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/UsageSection.d.ts.map +1 -1
- package/dist/client/settings/UsageSection.js +2 -1
- package/dist/client/settings/UsageSection.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts +2 -4
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +66 -23
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +9 -0
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
- package/dist/client/settings/useBuilderStatus.js +31 -3
- package/dist/client/settings/useBuilderStatus.js.map +1 -1
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +7 -2
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
- package/dist/client/sharing/ShareDialog.js +4 -3
- package/dist/client/sharing/ShareDialog.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +10 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/terminal/AgentTerminal.d.ts +1 -0
- package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
- package/dist/client/terminal/AgentTerminal.js +12 -8
- package/dist/client/terminal/AgentTerminal.js.map +1 -1
- package/dist/client/tools/EmbeddedTool.d.ts +20 -0
- package/dist/client/tools/EmbeddedTool.d.ts.map +1 -0
- package/dist/client/tools/EmbeddedTool.js +113 -0
- package/dist/client/tools/EmbeddedTool.js.map +1 -0
- package/dist/client/tools/ExtensionSlot.d.ts +27 -0
- package/dist/client/tools/ExtensionSlot.d.ts.map +1 -0
- package/dist/client/tools/ExtensionSlot.js +96 -0
- package/dist/client/tools/ExtensionSlot.js.map +1 -0
- package/dist/client/tools/ToolEditor.d.ts +5 -0
- package/dist/client/tools/ToolEditor.d.ts.map +1 -0
- package/dist/client/tools/ToolEditor.js +99 -0
- package/dist/client/tools/ToolEditor.js.map +1 -0
- package/dist/client/tools/ToolViewer.d.ts +5 -0
- package/dist/client/tools/ToolViewer.d.ts.map +1 -0
- package/dist/client/tools/ToolViewer.js +275 -0
- package/dist/client/tools/ToolViewer.js.map +1 -0
- package/dist/client/tools/ToolViewerPage.d.ts +2 -0
- package/dist/client/tools/ToolViewerPage.d.ts.map +1 -0
- package/dist/client/tools/ToolViewerPage.js +24 -0
- package/dist/client/tools/ToolViewerPage.js.map +1 -0
- package/dist/client/tools/ToolsListPage.d.ts +2 -0
- package/dist/client/tools/ToolsListPage.d.ts.map +1 -0
- package/dist/client/tools/ToolsListPage.js +73 -0
- package/dist/client/tools/ToolsListPage.js.map +1 -0
- package/dist/client/tools/ToolsSidebarSection.d.ts +2 -0
- package/dist/client/tools/ToolsSidebarSection.d.ts.map +1 -0
- package/dist/client/tools/ToolsSidebarSection.js +189 -0
- package/dist/client/tools/ToolsSidebarSection.js.map +1 -0
- package/dist/client/tools/iframe-bridge.d.ts +16 -0
- package/dist/client/tools/iframe-bridge.d.ts.map +1 -0
- package/dist/client/tools/iframe-bridge.js +118 -0
- package/dist/client/tools/iframe-bridge.js.map +1 -0
- package/dist/client/tools/index.d.ts +8 -0
- package/dist/client/tools/index.d.ts.map +1 -0
- package/dist/client/tools/index.js +8 -0
- package/dist/client/tools/index.js.map +1 -0
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +2 -1
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/use-avatar.d.ts.map +1 -1
- package/dist/client/use-avatar.js +3 -2
- package/dist/client/use-avatar.js.map +1 -1
- package/dist/client/use-builder-enabled.d.ts.map +1 -1
- package/dist/client/use-builder-enabled.js +2 -1
- package/dist/client/use-builder-enabled.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts +1 -0
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +31 -1
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +9 -8
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/client/use-dev-mode.d.ts.map +1 -1
- package/dist/client/use-dev-mode.js +2 -1
- package/dist/client/use-dev-mode.js.map +1 -1
- package/dist/client/use-send-to-agent-chat.d.ts.map +1 -1
- package/dist/client/use-send-to-agent-chat.js +3 -1
- package/dist/client/use-send-to-agent-chat.js.map +1 -1
- package/dist/client/use-session.d.ts.map +1 -1
- package/dist/client/use-session.js +2 -1
- package/dist/client/use-session.js.map +1 -1
- package/dist/client/useProductionAgent.d.ts.map +1 -1
- package/dist/client/useProductionAgent.js +2 -1
- package/dist/client/useProductionAgent.js.map +1 -1
- package/dist/collab/agent-identity.d.ts +15 -0
- package/dist/collab/agent-identity.d.ts.map +1 -0
- package/dist/collab/agent-identity.js +14 -0
- package/dist/collab/agent-identity.js.map +1 -0
- package/dist/collab/agent-presence.d.ts +59 -0
- package/dist/collab/agent-presence.d.ts.map +1 -0
- package/dist/collab/agent-presence.js +165 -0
- package/dist/collab/agent-presence.js.map +1 -0
- package/dist/collab/awareness.d.ts +7 -0
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/awareness.js +2 -2
- package/dist/collab/awareness.js.map +1 -1
- package/dist/collab/client-struct.d.ts +43 -0
- package/dist/collab/client-struct.d.ts.map +1 -0
- package/dist/collab/client-struct.js +272 -0
- package/dist/collab/client-struct.js.map +1 -0
- package/dist/collab/client.d.ts +2 -0
- package/dist/collab/client.d.ts.map +1 -1
- package/dist/collab/client.js +18 -3
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/index.d.ts +6 -1
- package/dist/collab/index.d.ts.map +1 -1
- package/dist/collab/index.js +11 -1
- package/dist/collab/index.js.map +1 -1
- package/dist/collab/json-to-yjs.d.ts +72 -0
- package/dist/collab/json-to-yjs.d.ts.map +1 -0
- package/dist/collab/json-to-yjs.js +456 -0
- package/dist/collab/json-to-yjs.js.map +1 -0
- package/dist/collab/struct-routes.d.ts +52 -0
- package/dist/collab/struct-routes.d.ts.map +1 -0
- package/dist/collab/struct-routes.js +74 -0
- package/dist/collab/struct-routes.js.map +1 -0
- package/dist/collab/ydoc-manager.d.ts +19 -0
- package/dist/collab/ydoc-manager.d.ts.map +1 -1
- package/dist/collab/ydoc-manager.js +49 -0
- package/dist/collab/ydoc-manager.js.map +1 -1
- package/dist/credentials/index.d.ts +27 -10
- package/dist/credentials/index.d.ts.map +1 -1
- package/dist/credentials/index.js +61 -19
- package/dist/credentials/index.js.map +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +10 -1
- package/dist/db/client.js.map +1 -1
- package/dist/db/migrations.d.ts +13 -5
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +9 -2
- package/dist/db/migrations.js.map +1 -1
- package/dist/deploy/build.d.ts +12 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +196 -24
- package/dist/deploy/build.js.map +1 -1
- package/dist/file-upload/builder.d.ts.map +1 -1
- package/dist/file-upload/builder.js +2 -1
- package/dist/file-upload/builder.js.map +1 -1
- package/dist/file-upload/registry.d.ts.map +1 -1
- package/dist/file-upload/registry.js +25 -1
- package/dist/file-upload/registry.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/adapters/email.d.ts +17 -0
- package/dist/integrations/adapters/email.d.ts.map +1 -0
- package/dist/integrations/adapters/email.js +740 -0
- package/dist/integrations/adapters/email.js.map +1 -0
- package/dist/integrations/adapters/slack.d.ts.map +1 -1
- package/dist/integrations/adapters/slack.js +190 -32
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/adapters/telegram.d.ts.map +1 -1
- package/dist/integrations/adapters/telegram.js +56 -5
- package/dist/integrations/adapters/telegram.js.map +1 -1
- package/dist/integrations/adapters/whatsapp.d.ts.map +1 -1
- package/dist/integrations/adapters/whatsapp.js +91 -12
- package/dist/integrations/adapters/whatsapp.js.map +1 -1
- package/dist/integrations/google-docs-poller.d.ts.map +1 -1
- package/dist/integrations/google-docs-poller.js +5 -2
- package/dist/integrations/google-docs-poller.js.map +1 -1
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +1 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/internal-token.d.ts +18 -0
- package/dist/integrations/internal-token.d.ts.map +1 -0
- package/dist/integrations/internal-token.js +102 -0
- package/dist/integrations/internal-token.js.map +1 -0
- package/dist/integrations/pending-tasks-retry-job.d.ts +15 -0
- package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -0
- package/dist/integrations/pending-tasks-retry-job.js +210 -0
- package/dist/integrations/pending-tasks-retry-job.js.map +1 -0
- package/dist/integrations/pending-tasks-store.d.ts +56 -0
- package/dist/integrations/pending-tasks-store.d.ts.map +1 -0
- package/dist/integrations/pending-tasks-store.js +204 -0
- package/dist/integrations/pending-tasks-store.js.map +1 -0
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +340 -15
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/task-queue-stats.d.ts +22 -0
- package/dist/integrations/task-queue-stats.d.ts.map +1 -0
- package/dist/integrations/task-queue-stats.js +117 -0
- package/dist/integrations/task-queue-stats.js.map +1 -0
- package/dist/integrations/types.d.ts +35 -2
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.d.ts +29 -4
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +323 -85
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/cron.d.ts.map +1 -1
- package/dist/jobs/cron.js +12 -4
- package/dist/jobs/cron.js.map +1 -1
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +141 -16
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +94 -3
- package/dist/jobs/tools.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +128 -62
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp-client/hub-routes.d.ts +14 -0
- package/dist/mcp-client/hub-routes.d.ts.map +1 -1
- package/dist/mcp-client/hub-routes.js +42 -2
- package/dist/mcp-client/hub-routes.js.map +1 -1
- package/dist/mcp-client/index.d.ts +1 -1
- package/dist/mcp-client/index.d.ts.map +1 -1
- package/dist/mcp-client/index.js +1 -1
- package/dist/mcp-client/index.js.map +1 -1
- package/dist/mcp-client/manager.d.ts +3 -0
- package/dist/mcp-client/manager.d.ts.map +1 -1
- package/dist/mcp-client/manager.js +33 -3
- package/dist/mcp-client/manager.js.map +1 -1
- package/dist/mcp-client/remote-store.d.ts +49 -1
- package/dist/mcp-client/remote-store.d.ts.map +1 -1
- package/dist/mcp-client/remote-store.js +253 -6
- package/dist/mcp-client/remote-store.js.map +1 -1
- package/dist/mcp-client/routes.d.ts.map +1 -1
- package/dist/mcp-client/routes.js +11 -9
- package/dist/mcp-client/routes.js.map +1 -1
- package/dist/mcp-client/visibility.d.ts +7 -3
- package/dist/mcp-client/visibility.d.ts.map +1 -1
- package/dist/mcp-client/visibility.js +16 -7
- package/dist/mcp-client/visibility.js.map +1 -1
- package/dist/notifications/actions.d.ts.map +1 -1
- package/dist/notifications/actions.js +7 -1
- package/dist/notifications/actions.js.map +1 -1
- package/dist/notifications/routes.d.ts +1 -1
- package/dist/notifications/routes.d.ts.map +1 -1
- package/dist/notifications/routes.js +20 -3
- package/dist/notifications/routes.js.map +1 -1
- package/dist/notifications/store.d.ts.map +1 -1
- package/dist/notifications/store.js +6 -1
- package/dist/notifications/store.js.map +1 -1
- package/dist/oauth-tokens/google-refresh.d.ts.map +1 -1
- package/dist/oauth-tokens/google-refresh.js +6 -0
- package/dist/oauth-tokens/google-refresh.js.map +1 -1
- package/dist/oauth-tokens/store.d.ts +43 -2
- package/dist/oauth-tokens/store.d.ts.map +1 -1
- package/dist/oauth-tokens/store.js +83 -14
- package/dist/oauth-tokens/store.js.map +1 -1
- package/dist/observability/experiments.js +5 -5
- package/dist/observability/experiments.js.map +1 -1
- package/dist/observability/routes.d.ts.map +1 -1
- package/dist/observability/routes.js +37 -8
- package/dist/observability/routes.js.map +1 -1
- package/dist/observability/store.d.ts.map +1 -1
- package/dist/observability/store.js +19 -3
- package/dist/observability/store.js.map +1 -1
- package/dist/observability/types.d.ts +7 -0
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/observability/types.js.map +1 -1
- package/dist/onboarding/default-steps.d.ts.map +1 -1
- package/dist/onboarding/default-steps.js +10 -4
- package/dist/onboarding/default-steps.js.map +1 -1
- package/dist/onboarding/plugin.d.ts.map +1 -1
- package/dist/onboarding/plugin.js +63 -32
- package/dist/onboarding/plugin.js.map +1 -1
- package/dist/onboarding/types.d.ts +6 -1
- package/dist/onboarding/types.d.ts.map +1 -1
- package/dist/org/accept-pending.d.ts.map +1 -1
- package/dist/org/accept-pending.js +2 -1
- package/dist/org/accept-pending.js.map +1 -1
- package/dist/org/context.d.ts +35 -0
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +136 -0
- package/dist/org/context.js.map +1 -1
- package/dist/org/handlers.d.ts +76 -0
- package/dist/org/handlers.d.ts.map +1 -1
- package/dist/org/handlers.js +411 -2
- package/dist/org/handlers.js.map +1 -1
- package/dist/org/index.d.ts +2 -2
- package/dist/org/index.d.ts.map +1 -1
- package/dist/org/index.js +2 -2
- package/dist/org/index.js.map +1 -1
- package/dist/org/migrations.d.ts.map +1 -1
- package/dist/org/migrations.js +8 -0
- package/dist/org/migrations.js.map +1 -1
- package/dist/org/plugin.d.ts +6 -0
- package/dist/org/plugin.d.ts.map +1 -1
- package/dist/org/plugin.js +71 -7
- package/dist/org/plugin.js.map +1 -1
- package/dist/org/schema.d.ts +38 -0
- package/dist/org/schema.d.ts.map +1 -1
- package/dist/org/schema.js +2 -0
- package/dist/org/schema.js.map +1 -1
- package/dist/org/types.d.ts +7 -0
- package/dist/org/types.d.ts.map +1 -1
- package/dist/progress/actions.d.ts.map +1 -1
- package/dist/progress/actions.js +10 -1
- package/dist/progress/actions.js.map +1 -1
- package/dist/progress/routes.d.ts +1 -1
- package/dist/progress/routes.d.ts.map +1 -1
- package/dist/progress/routes.js +20 -3
- package/dist/progress/routes.js.map +1 -1
- package/dist/progress/store.d.ts.map +1 -1
- package/dist/progress/store.js +6 -1
- package/dist/progress/store.js.map +1 -1
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +35 -7
- package/dist/resources/handlers.js.map +1 -1
- package/dist/resources/script-helpers.d.ts.map +1 -1
- package/dist/resources/script-helpers.js +15 -3
- package/dist/resources/script-helpers.js.map +1 -1
- package/dist/resources/store.d.ts.map +1 -1
- package/dist/resources/store.js +12 -4
- package/dist/resources/store.js.map +1 -1
- package/dist/scripts/call-agent.d.ts +1 -0
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +146 -36
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/scripts/chat/search-chats.d.ts.map +1 -1
- package/dist/scripts/chat/search-chats.js +3 -2
- package/dist/scripts/chat/search-chats.js.map +1 -1
- package/dist/scripts/db/exec.d.ts +1 -1
- package/dist/scripts/db/exec.d.ts.map +1 -1
- package/dist/scripts/db/exec.js +22 -3
- 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/migrate-user-api-keys.d.ts +24 -0
- package/dist/scripts/db/migrate-user-api-keys.d.ts.map +1 -0
- package/dist/scripts/db/migrate-user-api-keys.js +234 -0
- package/dist/scripts/db/migrate-user-api-keys.js.map +1 -0
- package/dist/scripts/db/query.d.ts +1 -1
- package/dist/scripts/db/query.d.ts.map +1 -1
- package/dist/scripts/db/query.js +22 -3
- package/dist/scripts/db/query.js.map +1 -1
- package/dist/scripts/db/scoping.d.ts.map +1 -1
- package/dist/scripts/db/scoping.js +15 -9
- package/dist/scripts/db/scoping.js.map +1 -1
- package/dist/scripts/db/wipe-leaked-builder-keys.d.ts +27 -0
- package/dist/scripts/db/wipe-leaked-builder-keys.d.ts.map +1 -0
- package/dist/scripts/db/wipe-leaked-builder-keys.js +163 -0
- package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -0
- package/dist/scripts/dev/shell.d.ts.map +1 -1
- package/dist/scripts/dev/shell.js +3 -1
- package/dist/scripts/dev/shell.js.map +1 -1
- package/dist/scripts/resources/delete-memory.d.ts.map +1 -1
- package/dist/scripts/resources/delete-memory.js +2 -1
- package/dist/scripts/resources/delete-memory.js.map +1 -1
- package/dist/scripts/resources/delete.d.ts.map +1 -1
- package/dist/scripts/resources/delete.js +2 -1
- package/dist/scripts/resources/delete.js.map +1 -1
- package/dist/scripts/resources/list.d.ts.map +1 -1
- package/dist/scripts/resources/list.js +2 -1
- package/dist/scripts/resources/list.js.map +1 -1
- package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
- package/dist/scripts/resources/migrate-learnings.js +2 -1
- package/dist/scripts/resources/migrate-learnings.js.map +1 -1
- package/dist/scripts/resources/read.d.ts.map +1 -1
- package/dist/scripts/resources/read.js +2 -1
- package/dist/scripts/resources/read.js.map +1 -1
- package/dist/scripts/resources/save-memory.d.ts.map +1 -1
- package/dist/scripts/resources/save-memory.js +2 -1
- package/dist/scripts/resources/save-memory.js.map +1 -1
- package/dist/scripts/resources/write.d.ts.map +1 -1
- package/dist/scripts/resources/write.js +2 -1
- package/dist/scripts/resources/write.js.map +1 -1
- package/dist/secrets/onboarding.d.ts.map +1 -1
- package/dist/secrets/onboarding.js +24 -16
- package/dist/secrets/onboarding.js.map +1 -1
- package/dist/secrets/register-framework-secrets.d.ts +5 -0
- package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
- package/dist/secrets/register-framework-secrets.js +7 -44
- package/dist/secrets/register-framework-secrets.js.map +1 -1
- package/dist/secrets/routes.d.ts.map +1 -1
- package/dist/secrets/routes.js +139 -37
- package/dist/secrets/routes.js.map +1 -1
- package/dist/secrets/storage.d.ts.map +1 -1
- package/dist/secrets/storage.js +23 -12
- package/dist/secrets/storage.js.map +1 -1
- package/dist/secrets/substitution.d.ts +24 -2
- package/dist/secrets/substitution.d.ts.map +1 -1
- package/dist/secrets/substitution.js +58 -8
- package/dist/secrets/substitution.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +54 -51
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.d.ts.map +1 -1
- package/dist/server/action-routes.js +42 -15
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +632 -373
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-discovery.d.ts +8 -0
- package/dist/server/agent-discovery.d.ts.map +1 -1
- package/dist/server/agent-discovery.js +39 -12
- package/dist/server/agent-discovery.js.map +1 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +4 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/analytics.d.ts +0 -1
- package/dist/server/analytics.d.ts.map +1 -1
- package/dist/server/analytics.js +0 -1
- package/dist/server/analytics.js.map +1 -1
- package/dist/server/app-base-path.d.ts +4 -0
- package/dist/server/app-base-path.d.ts.map +1 -0
- package/dist/server/app-base-path.js +33 -0
- package/dist/server/app-base-path.js.map +1 -0
- package/dist/server/auth.d.ts +29 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +629 -82
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +1 -0
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +67 -15
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/builder-browser.d.ts +16 -1
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +102 -16
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/cli-capture.d.ts +31 -0
- package/dist/server/cli-capture.d.ts.map +1 -0
- package/dist/server/cli-capture.js +120 -0
- package/dist/server/cli-capture.js.map +1 -0
- package/dist/server/collab-plugin.d.ts +16 -0
- package/dist/server/collab-plugin.d.ts.map +1 -1
- package/dist/server/collab-plugin.js +87 -19
- package/dist/server/collab-plugin.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +499 -164
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/create-server.d.ts +2 -0
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/create-server.js +82 -11
- package/dist/server/create-server.js.map +1 -1
- package/dist/server/credential-provider.d.ts +54 -2
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +164 -2
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/csrf.d.ts +58 -0
- package/dist/server/csrf.d.ts.map +1 -0
- package/dist/server/csrf.js +165 -0
- package/dist/server/csrf.js.map +1 -0
- package/dist/server/design-token-utils.d.ts +132 -0
- package/dist/server/design-token-utils.d.ts.map +1 -0
- package/dist/server/design-token-utils.js +714 -0
- package/dist/server/design-token-utils.js.map +1 -0
- package/dist/server/email.d.ts +10 -0
- package/dist/server/email.d.ts.map +1 -1
- package/dist/server/email.js +63 -16
- package/dist/server/email.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts +20 -0
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +140 -24
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-auth-plugin.d.ts.map +1 -1
- package/dist/server/google-auth-plugin.js +10 -2
- package/dist/server/google-auth-plugin.js.map +1 -1
- package/dist/server/google-oauth.d.ts +102 -3
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +263 -43
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/index.d.ts +5 -5
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +5 -5
- package/dist/server/index.js.map +1 -1
- package/dist/server/oauth-helpers.d.ts +8 -3
- package/dist/server/oauth-helpers.d.ts.map +1 -1
- package/dist/server/oauth-helpers.js +12 -8
- package/dist/server/oauth-helpers.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +50 -9
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/poll.d.ts +33 -0
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +43 -2
- package/dist/server/poll.js.map +1 -1
- package/dist/server/request-context.d.ts +102 -3
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +100 -7
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/security-headers.d.ts +51 -0
- package/dist/server/security-headers.d.ts.map +1 -0
- package/dist/server/security-headers.js +90 -0
- package/dist/server/security-headers.js.map +1 -0
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +96 -2
- package/dist/server/ssr-handler.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts.map +1 -1
- package/dist/server/transcribe-voice.js +376 -60
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/server/voice-providers-status.d.ts +12 -0
- package/dist/server/voice-providers-status.d.ts.map +1 -0
- package/dist/server/voice-providers-status.js +71 -0
- package/dist/server/voice-providers-status.js.map +1 -0
- package/dist/sharing/access.d.ts.map +1 -1
- package/dist/sharing/access.js +16 -13
- package/dist/sharing/access.js.map +1 -1
- package/dist/sharing/actions/share-resource.d.ts +1 -0
- package/dist/sharing/actions/share-resource.d.ts.map +1 -1
- package/dist/sharing/actions/share-resource.js +45 -0
- package/dist/sharing/actions/share-resource.js.map +1 -1
- package/dist/sharing/schema.d.ts +1 -1
- package/dist/styles/agent-native.css +5 -0
- package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +54 -0
- package/dist/templates/default/app/root.tsx +51 -14
- package/dist/templates/default/app/routes/_index.tsx +6 -1
- package/dist/templates/default/public/favicon.svg +13 -0
- package/dist/templates/default/public/icon-180.svg +12 -3
- package/dist/templates/default/public/icon-192.svg +12 -3
- package/dist/templates/default/public/icon-512.svg +12 -3
- package/dist/templates/default/react-router.config.ts +3 -0
- package/dist/templates/workspace-core/package.json +22 -4
- package/dist/templates/workspace-core/src/credentials.ts +32 -5
- package/dist/templates/workspace-core/tsconfig.json +4 -1
- package/dist/terminal/pty-server.d.ts.map +1 -1
- package/dist/terminal/pty-server.js +7 -1
- package/dist/terminal/pty-server.js.map +1 -1
- package/dist/terminal/terminal-plugin.d.ts.map +1 -1
- package/dist/terminal/terminal-plugin.js +26 -6
- package/dist/terminal/terminal-plugin.js.map +1 -1
- package/dist/tools/actions.d.ts +3 -0
- package/dist/tools/actions.d.ts.map +1 -0
- package/dist/tools/actions.js +270 -0
- package/dist/tools/actions.js.map +1 -0
- package/dist/tools/fetch-tool.d.ts +1 -0
- package/dist/tools/fetch-tool.d.ts.map +1 -1
- package/dist/tools/fetch-tool.js +39 -17
- package/dist/tools/fetch-tool.js.map +1 -1
- package/dist/tools/html-shell.d.ts +44 -0
- package/dist/tools/html-shell.d.ts.map +1 -0
- package/dist/tools/html-shell.js +485 -0
- package/dist/tools/html-shell.js.map +1 -0
- package/dist/tools/proxy-security.d.ts +12 -0
- package/dist/tools/proxy-security.d.ts.map +1 -0
- package/dist/tools/proxy-security.js +158 -0
- package/dist/tools/proxy-security.js.map +1 -0
- package/dist/tools/routes.d.ts +2 -0
- package/dist/tools/routes.d.ts.map +1 -0
- package/dist/tools/routes.js +629 -0
- package/dist/tools/routes.js.map +1 -0
- package/dist/tools/schema.d.ts +578 -0
- package/dist/tools/schema.d.ts.map +1 -0
- package/dist/tools/schema.js +115 -0
- package/dist/tools/schema.js.map +1 -0
- package/dist/tools/slots/routes.d.ts +15 -0
- package/dist/tools/slots/routes.d.ts.map +1 -0
- package/dist/tools/slots/routes.js +94 -0
- package/dist/tools/slots/routes.js.map +1 -0
- package/dist/tools/slots/schema.d.ts +303 -0
- package/dist/tools/slots/schema.d.ts.map +1 -0
- package/dist/tools/slots/schema.js +76 -0
- package/dist/tools/slots/schema.js.map +1 -0
- package/dist/tools/slots/store.d.ts +66 -0
- package/dist/tools/slots/store.d.ts.map +1 -0
- package/dist/tools/slots/store.js +227 -0
- package/dist/tools/slots/store.js.map +1 -0
- package/dist/tools/store.d.ts +40 -0
- package/dist/tools/store.d.ts.map +1 -0
- package/dist/tools/store.js +181 -0
- package/dist/tools/store.js.map +1 -0
- package/dist/tools/theme.d.ts +2 -0
- package/dist/tools/theme.d.ts.map +1 -0
- package/dist/tools/theme.js +67 -0
- package/dist/tools/theme.js.map +1 -0
- package/dist/tools/url-safety.d.ts +24 -0
- package/dist/tools/url-safety.d.ts.map +1 -0
- package/dist/tools/url-safety.js +224 -0
- package/dist/tools/url-safety.js.map +1 -0
- package/dist/tracking/providers.d.ts.map +1 -1
- package/dist/tracking/providers.js +28 -11
- package/dist/tracking/providers.js.map +1 -1
- package/dist/tracking/registry.d.ts.map +1 -1
- package/dist/tracking/registry.js +7 -3
- package/dist/tracking/registry.js.map +1 -1
- package/dist/transcription/builder-transcription.d.ts.map +1 -1
- package/dist/transcription/builder-transcription.js +26 -14
- package/dist/transcription/builder-transcription.js.map +1 -1
- package/dist/triggers/actions.d.ts.map +1 -1
- package/dist/triggers/actions.js +11 -6
- package/dist/triggers/actions.js.map +1 -1
- package/dist/triggers/condition-evaluator.d.ts +8 -0
- package/dist/triggers/condition-evaluator.d.ts.map +1 -1
- package/dist/triggers/condition-evaluator.js +39 -4
- package/dist/triggers/condition-evaluator.js.map +1 -1
- package/dist/triggers/dispatcher.d.ts.map +1 -1
- package/dist/triggers/dispatcher.js +67 -4
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +18 -7
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/dist/vite/client.d.ts +2 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +240 -8
- package/dist/vite/client.js.map +1 -1
- package/docs/content/a2a-protocol.md +2 -2
- package/docs/content/authentication.md +78 -12
- package/docs/content/cloneable-saas.md +59 -62
- package/docs/content/drop-in-agent.md +2 -2
- package/docs/content/faq.md +73 -43
- package/docs/content/getting-started.md +37 -61
- package/docs/content/mcp-clients.md +14 -1
- package/docs/content/messaging.md +324 -0
- package/docs/content/onboarding.md +82 -12
- package/docs/content/pure-agent-apps.md +55 -28
- package/docs/content/template-analytics.md +65 -59
- package/docs/content/template-calendar.md +61 -56
- package/docs/content/template-clips.md +25 -23
- package/docs/content/template-content.md +36 -26
- package/docs/content/template-design.md +55 -0
- package/docs/content/template-dispatch.md +15 -1
- package/docs/content/template-forms.md +19 -16
- package/docs/content/template-mail.md +78 -80
- package/docs/content/template-slides.md +43 -31
- package/docs/content/template-video.md +49 -22
- package/docs/content/tools.md +107 -0
- package/docs/content/what-is-agent-native.md +89 -105
- package/package.json +5 -1
- package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +54 -0
- package/src/templates/default/app/root.tsx +51 -14
- package/src/templates/default/app/routes/_index.tsx +6 -1
- package/src/templates/default/public/favicon.svg +13 -0
- package/src/templates/default/public/icon-180.svg +12 -3
- package/src/templates/default/public/icon-192.svg +12 -3
- package/src/templates/default/public/icon-512.svg +12 -3
- package/src/templates/default/react-router.config.ts +3 -0
- package/src/templates/workspace-core/package.json +22 -4
- package/src/templates/workspace-core/src/credentials.ts +32 -5
- package/src/templates/workspace-core/tsconfig.json +4 -1
- package/docs/content/integrations.md +0 -198
|
@@ -5,37 +5,51 @@ description: "Pick a template, create your app, and start customizing it with AI
|
|
|
5
5
|
|
|
6
6
|
# Getting Started
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
By the end of this page, you'll have a working app — Mail, Calendar, Forms, or any other template — running with an AI agent built into the sidebar that can drive every part of it.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Who is this for? {#who-is-this-for}
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
There are two ways to use agent-native, depending on how hands-on you want to be:
|
|
13
|
+
|
|
14
|
+
- **You want to use a hosted version.** Try a template right now at [agent-native.com/templates](/templates). Each template is a live, hosted app — you sign in, start using it, and the agent is already there. No install, no setup. You can stop reading this page and head straight to the [template gallery](/templates).
|
|
15
|
+
- **You want to run locally or customize it.** You'll clone a template, run it on your machine, and shape it however you want — branding, features, integrations. The rest of this page is for you. You'll need [Node.js](https://nodejs.org) and [pnpm](https://pnpm.io) installed.
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
Not sure which path? If you've never written code, the hosted version is for you. If you have a developer or AI coding tool ready, the local path gives you total control.
|
|
18
|
+
|
|
19
|
+
## First run {#create-your-app}
|
|
20
|
+
|
|
21
|
+
Three commands and you're up:
|
|
17
22
|
|
|
18
23
|
```bash
|
|
24
|
+
npx @agent-native/core create my-platform
|
|
19
25
|
cd my-platform
|
|
20
|
-
pnpm install
|
|
21
|
-
pnpm dev
|
|
26
|
+
pnpm install && pnpm dev
|
|
22
27
|
```
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
The `create` command shows a multi-select picker — pick one template or several (Mail + Calendar + Forms, for example) and they all scaffold into one workspace sharing auth, brand, and agent config.
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
Open the URL the dev server prints (usually `http://localhost:3000`).
|
|
27
32
|
|
|
28
|
-
|
|
29
|
-
npx @agent-native/core create my-app --standalone --template mail
|
|
30
|
-
```
|
|
33
|
+
## What just happened? {#what-just-happened}
|
|
31
34
|
|
|
32
|
-
|
|
35
|
+
You now have a real, full-featured app running on your machine. Open it in the browser and try it:
|
|
33
36
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
- Click around the UI like you would any SaaS product.
|
|
38
|
+
- Open the agent panel on the right side. Type something like "show me my settings" or "create a new entry called Welcome." Watch the agent click through the app on your behalf.
|
|
39
|
+
- Anything you do by clicking, the agent can do by reading and writing the same database. Anything the agent does shows up in the UI immediately.
|
|
40
|
+
|
|
41
|
+
That parity between agent and UI is the whole point — see [What Is Agent-Native?](/docs/what-is-agent-native) for the bigger picture.
|
|
42
|
+
|
|
43
|
+
## What's next {#whats-next}
|
|
44
|
+
|
|
45
|
+
From here, use any AI coding tool (Claude Code, Cursor, Windsurf, Builder.io) to customize the app. The agent instructions in `AGENTS.md` are already set up so any tool understands the codebase.
|
|
37
46
|
|
|
38
|
-
|
|
47
|
+
Common next steps:
|
|
48
|
+
|
|
49
|
+
- **Add another app to the same workspace** — run `agent-native add-app` from inside the workspace folder. See [Multi-App Workspace](/docs/multi-app-workspace) for sharing auth, components, and credentials across apps.
|
|
50
|
+
- **Single app instead of a monorepo?** Pass `--standalone` when creating: `npx @agent-native/core create my-app --standalone --template mail`.
|
|
51
|
+
- **Build a brand-new template from scratch** — see [Creating Templates](/docs/creating-templates) for the full Vite, Tailwind, and TypeScript setup.
|
|
52
|
+
- **Understand the architecture** — see [Key Concepts](/docs/key-concepts) for how SQL, actions, polling sync, and context awareness fit together.
|
|
39
53
|
|
|
40
54
|
## Templates {#templates}
|
|
41
55
|
|
|
@@ -55,7 +69,7 @@ Each template is a complete app with UI, agent actions, database schema, and AI
|
|
|
55
69
|
|
|
56
70
|
Browse the [template gallery](/templates) for live demos, or see [Cloneable SaaS](/docs/cloneable-saas) for the full list and the clone → customize → deploy flow.
|
|
57
71
|
|
|
58
|
-
## Project
|
|
72
|
+
## Project structure {#project-structure}
|
|
59
73
|
|
|
60
74
|
Every agent-native app — whether from a template or from scratch — follows the same structure:
|
|
61
75
|
|
|
@@ -67,53 +81,15 @@ my-app/
|
|
|
67
81
|
.agents/ # Agent instructions and skills
|
|
68
82
|
```
|
|
69
83
|
|
|
70
|
-
Templates add domain-specific code on top
|
|
71
|
-
|
|
72
|
-
## Configuration {#configuration}
|
|
73
|
-
|
|
74
|
-
Templates come pre-configured. If you're starting from scratch, here are the config files:
|
|
75
|
-
|
|
76
|
-
```ts
|
|
77
|
-
// vite.config.ts
|
|
78
|
-
import { defineConfig } from "@agent-native/core/vite";
|
|
79
|
-
export default defineConfig();
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
```json
|
|
83
|
-
// tsconfig.json
|
|
84
|
-
{ "extends": "@agent-native/core/tsconfig.base.json" }
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
```css
|
|
88
|
-
/* app/global.css — Tailwind v4 (CSS-first, no tailwind.config.ts needed) */
|
|
89
|
-
@import "tailwindcss";
|
|
90
|
-
@import "@agent-native/core/styles/agent-native.css";
|
|
91
|
-
|
|
92
|
-
@source "./**/*.{ts,tsx}";
|
|
93
|
-
|
|
94
|
-
:root {
|
|
95
|
-
--background: 0 0% 100%;
|
|
96
|
-
--foreground: 220 10% 10%;
|
|
97
|
-
/* ...rest of your shadcn-style tokens */
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.dark {
|
|
101
|
-
--background: 220 6% 6%;
|
|
102
|
-
--foreground: 0 0% 90%;
|
|
103
|
-
/* ... */
|
|
104
|
-
}
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
The framework auto-injects `@tailwindcss/vite` from `defineConfig()`.
|
|
108
|
-
No `tailwind.config.ts`, `postcss.config.js`, or vite changes needed.
|
|
84
|
+
Templates add domain-specific code on top: database schemas in `server/db/`, API routes in `server/routes/api/`, and actions in `actions/`. Building from scratch? See [Creating Templates](/docs/creating-templates) for `vite.config.ts`, `tsconfig.json`, and Tailwind setup.
|
|
109
85
|
|
|
110
|
-
## Architecture
|
|
86
|
+
## Architecture principles {#architecture-principles}
|
|
111
87
|
|
|
112
|
-
These principles apply to all agent-native apps.
|
|
88
|
+
These principles apply to all agent-native apps. Skim them now, revisit them when you're customizing.
|
|
113
89
|
|
|
114
90
|
1. **Agent + UI are equal partners** — Everything the UI can do, the agent can do, and vice versa. They share the same database and always stay in sync. You don't think about "the agent" and "the app" separately — you think about them together.
|
|
115
91
|
2. **Context-aware** — The agent always knows what you're looking at. If an email is open, it knows which one. If you select text and hit Cmd+I, it can act on just that selection.
|
|
116
|
-
3. **Skills-driven** — Core
|
|
92
|
+
3. **Skills-driven** — Core functionality has written instructions so the agent doesn't explore from scratch every time. New features update all four areas: UI, actions, skills/instructions, and application state.
|
|
117
93
|
4. **Inter-agent communication** — Agents can discover and call each other via the A2A protocol. Tag your analytics agent from the mail app to pull data into a draft.
|
|
118
94
|
5. **Fully portable** — Any SQL database Drizzle supports, any hosting backend Nitro supports, any AI coding tool. These are non-negotiable.
|
|
119
95
|
6. **Fork and customize** — Apps you clone and evolve. The agent can modify the app's own code — components, routes, styles, actions — so it gets better over time.
|
|
@@ -77,7 +77,20 @@ This means users who've installed the claude-in-chrome extension get browser con
|
|
|
77
77
|
|
|
78
78
|
## Remote MCP servers via the settings UI {#remote-via-ui}
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
MCP (Model Context Protocol) servers give your agent new abilities — like connecting to Zapier, Cloudflare, Composio, or your company's internal tools. Once connected, the agent can use those tools just like its built-in ones.
|
|
81
|
+
|
|
82
|
+
### How to connect a remote MCP server
|
|
83
|
+
|
|
84
|
+
1. **Server name** — a short label for your own reference (e.g. "zapier", "slack-tools").
|
|
85
|
+
2. **URL** — the HTTPS endpoint the MCP server provider gave you (e.g. `https://mcp.zapier.com/s/abc123/mcp`). This is usually found in the provider's dashboard or integration docs.
|
|
86
|
+
3. **Description** (optional) — a note about what this server does.
|
|
87
|
+
4. **Headers** — authentication credentials the server requires, one per line. Most servers need an `Authorization` header. Example: `Authorization: Bearer sk-your-key-here`. The provider's docs will tell you what to put here.
|
|
88
|
+
|
|
89
|
+
Click **Test** to verify the connection before saving. If it succeeds, you'll see the number of tools available. Click **Connect** to add it.
|
|
90
|
+
|
|
91
|
+
### Personal vs Organization scope
|
|
92
|
+
|
|
93
|
+
Two scopes are supported:
|
|
81
94
|
|
|
82
95
|
- **Personal** — only the signed-in user gets the tools. Stored as a user-scope setting.
|
|
83
96
|
- **Team** — everyone in the active organization gets the tools. Owners and admins can add; members see the list read-only. Stored as an org-scope setting.
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Messaging"
|
|
3
|
+
description: "Talk to your agent from Slack, email, Telegram, or WhatsApp — same agent, same memory, same tools."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Messaging
|
|
7
|
+
|
|
8
|
+
Connect your agent to Slack, email, Telegram, or WhatsApp so you can chat with it from the apps you already use. It's the same agent — same memory, same tools, same threads — just reachable from more places.
|
|
9
|
+
|
|
10
|
+
> **Using the Dispatch template?** All of this is wired up for you in **Settings → Messaging**. Click to connect each platform — you don't need to read the rest of this page unless you're customizing or building your own template. See [Dispatch](/docs/template-dispatch).
|
|
11
|
+
|
|
12
|
+
## What you can do {#what-you-can-do}
|
|
13
|
+
|
|
14
|
+
- **Email your agent** at an address like `agent@yourcompany.com` — it replies in-thread, just like a coworker would.
|
|
15
|
+
- **CC your agent** on a thread — it'll read along and jump in when you ask.
|
|
16
|
+
- **DM the agent on Slack**, or `@mention` it in any channel.
|
|
17
|
+
- **Message the agent on Telegram or WhatsApp** from your phone.
|
|
18
|
+
- **Same agent, same memory.** Whatever you tell it on Slack is remembered when you email it later. The web chat and external messages share one thread history.
|
|
19
|
+
|
|
20
|
+
## Set up Slack {#slack}
|
|
21
|
+
|
|
22
|
+
### What you'll need
|
|
23
|
+
|
|
24
|
+
- A Slack workspace where you can install apps (admin access)
|
|
25
|
+
- About 5 minutes
|
|
26
|
+
|
|
27
|
+
### Steps
|
|
28
|
+
|
|
29
|
+
1. Go to **[api.slack.com/apps](https://api.slack.com/apps)** and click **Create New App** → **From scratch**. Name it (e.g. "Agent") and pick your workspace.
|
|
30
|
+
2. In the left sidebar, open **OAuth & Permissions**. Under **Bot Token Scopes**, add:
|
|
31
|
+
- `chat:write` — lets the agent send messages
|
|
32
|
+
- `app_mentions:read` — lets the agent see when it's @-mentioned (optional)
|
|
33
|
+
- `im:history` — lets the agent read DMs sent to it
|
|
34
|
+
3. Click **Install to Workspace** at the top of that page. Slack will give you a **Bot User OAuth Token** that starts with `xoxb-`. Copy it.
|
|
35
|
+
4. Go to **Basic Information** in the sidebar and copy the **Signing Secret**.
|
|
36
|
+
5. Open your app's settings (or your hosting provider's environment variable panel) and paste:
|
|
37
|
+
- `SLACK_BOT_TOKEN` — the `xoxb-…` token
|
|
38
|
+
- `SLACK_SIGNING_SECRET` — the signing secret
|
|
39
|
+
6. Back in Slack, open **Event Subscriptions**, toggle it on, and paste this Request URL:
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
https://your-app.example.com/_agent-native/integrations/slack/webhook
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Then under **Subscribe to bot events**, add `message.im` (for DMs) and optionally `app_mention` (for channel mentions). Save.
|
|
46
|
+
|
|
47
|
+
7. Send your bot a DM in Slack. It should reply.
|
|
48
|
+
|
|
49
|
+
### Tips
|
|
50
|
+
|
|
51
|
+
- **Channel mentions** — the bot only responds in channels when it's @-mentioned, to avoid noise.
|
|
52
|
+
- **DMs** — every DM is treated as a private conversation with the agent.
|
|
53
|
+
- **Same identity, all channels** — if a Slack user has the same email as a registered user in your app, the agent treats them as the same person.
|
|
54
|
+
|
|
55
|
+
## Set up Telegram {#telegram}
|
|
56
|
+
|
|
57
|
+
### What you'll need
|
|
58
|
+
|
|
59
|
+
- The Telegram app on your phone
|
|
60
|
+
- About 3 minutes
|
|
61
|
+
|
|
62
|
+
### Steps
|
|
63
|
+
|
|
64
|
+
1. Open Telegram and message **[@BotFather](https://t.me/BotFather)**.
|
|
65
|
+
2. Send `/newbot` and follow the prompts to name your bot. BotFather will reply with an **HTTP API token**. Copy it.
|
|
66
|
+
3. In your app's environment variables, set:
|
|
67
|
+
- `TELEGRAM_BOT_TOKEN` — the token from BotFather
|
|
68
|
+
4. After deploying, register the webhook by `POST`ing to your app at:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
POST https://your-app.example.com/_agent-native/integrations/telegram/setup
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This tells Telegram to send messages to your app's webhook. You only need to do this once per deployment.
|
|
75
|
+
|
|
76
|
+
5. Find your bot in Telegram (search for the username BotFather gave you) and send it a message.
|
|
77
|
+
|
|
78
|
+
## Set up Email {#email}
|
|
79
|
+
|
|
80
|
+
Email is the most powerful integration — your agent gets its own address, replies in-thread, can be CC'd on conversations, and uses the sender's email as their identity. No `/link` command needed.
|
|
81
|
+
|
|
82
|
+
### What you'll need
|
|
83
|
+
|
|
84
|
+
- A domain you control (or you can use a free Resend subdomain — see below)
|
|
85
|
+
- An account with **Resend** or **SendGrid** to handle inbound + outbound mail
|
|
86
|
+
- About 10 minutes
|
|
87
|
+
|
|
88
|
+
### Steps (with Resend — easiest)
|
|
89
|
+
|
|
90
|
+
1. Sign up at **[resend.com](https://resend.com)**. The free tier is enough to get started.
|
|
91
|
+
2. Pick how the agent's email address will look:
|
|
92
|
+
- **Easiest:** use a free `<your-slug>.resend.app` address — no DNS needed.
|
|
93
|
+
- **Branded:** add a custom domain (like `yourcompany.com`) in Resend's **Domains** page and follow the DNS steps.
|
|
94
|
+
3. In Resend, open **Webhooks** → **Add Endpoint** and point it at:
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
https://your-app.example.com/_agent-native/integrations/email/webhook
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Subscribe to the **`email.received`** event. Resend will give you a signing secret — copy it.
|
|
101
|
+
|
|
102
|
+
4. In your app's environment variables, set:
|
|
103
|
+
- `EMAIL_AGENT_ADDRESS` — the address the agent receives mail at (e.g. `agent@yourcompany.com`)
|
|
104
|
+
- `RESEND_API_KEY` — your Resend API key
|
|
105
|
+
- `EMAIL_INBOUND_WEBHOOK_SECRET` — the signing secret from Resend (recommended; used for signature verification)
|
|
106
|
+
|
|
107
|
+
5. Send an email to the agent's address. It'll reply in the same thread.
|
|
108
|
+
|
|
109
|
+
### Steps (with SendGrid)
|
|
110
|
+
|
|
111
|
+
1. Sign up at **[sendgrid.com](https://sendgrid.com)**.
|
|
112
|
+
2. Add the MX record for your domain so inbound mail flows to SendGrid:
|
|
113
|
+
```text
|
|
114
|
+
MX yourcompany.com → mx.sendgrid.net (priority 10)
|
|
115
|
+
```
|
|
116
|
+
3. Open **Settings → Inbound Parse**, click **Add Host & URL**, and set the destination to:
|
|
117
|
+
|
|
118
|
+
```text
|
|
119
|
+
https://your-app.example.com/_agent-native/integrations/email/webhook
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
4. Set environment variables:
|
|
123
|
+
- `EMAIL_AGENT_ADDRESS` — the address the agent receives at
|
|
124
|
+
- `SENDGRID_API_KEY` — your SendGrid API key
|
|
125
|
+
- `EMAIL_INBOUND_WEBHOOK_SECRET` — optional Svix signing secret if you've configured signed webhooks
|
|
126
|
+
|
|
127
|
+
5. Send an email to the agent's address.
|
|
128
|
+
|
|
129
|
+
### Tips
|
|
130
|
+
|
|
131
|
+
- **CC the agent** to bring it into a thread. When the agent is CC'd it will reply-all so the whole thread sees the response.
|
|
132
|
+
- **Threading just works** — the agent uses standard `Message-ID` / `In-Reply-To` / `References` headers, so replies stay in the right thread in any email client.
|
|
133
|
+
- **Identity is the sender's email.** If `alice@acme.com` emails the agent, that _is_ her identity — no link or signup flow.
|
|
134
|
+
- **Rich responses** — markdown in the agent's response is rendered as HTML in the email.
|
|
135
|
+
- **Allowed domains** — restrict who can email the agent by setting `allowedDomains` in the integration's config; messages from other domains are dropped.
|
|
136
|
+
- **Rate limit** — 20 inbound messages per hour per sender.
|
|
137
|
+
|
|
138
|
+
## Set up WhatsApp {#whatsapp}
|
|
139
|
+
|
|
140
|
+
### What you'll need
|
|
141
|
+
|
|
142
|
+
- A Meta (Facebook) developer account
|
|
143
|
+
- A phone number you can dedicate to the bot
|
|
144
|
+
- About 15 minutes (Meta's setup has the most steps)
|
|
145
|
+
|
|
146
|
+
### Steps
|
|
147
|
+
|
|
148
|
+
1. Go to the **[Meta Developer Portal](https://developers.facebook.com/)**, click **Create App**, and pick the **Business** type.
|
|
149
|
+
2. Add the **WhatsApp** product to your app and configure a phone number to use as the sender.
|
|
150
|
+
3. From the WhatsApp setup page, grab:
|
|
151
|
+
- **Access token** (the temporary one is fine for testing; generate a permanent token before going live)
|
|
152
|
+
- **Phone number ID**
|
|
153
|
+
4. Pick any random string to use as a verify token — you'll enter the same value in two places below.
|
|
154
|
+
5. In your app's environment variables, set:
|
|
155
|
+
- `WHATSAPP_ACCESS_TOKEN` — your access token
|
|
156
|
+
- `WHATSAPP_PHONE_NUMBER_ID` — the phone number ID
|
|
157
|
+
- `WHATSAPP_VERIFY_TOKEN` — the random string you picked
|
|
158
|
+
6. Back in Meta's WhatsApp config, open the webhook section and set:
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
Callback URL: https://your-app.example.com/_agent-native/integrations/whatsapp/webhook
|
|
162
|
+
Verify token: the same random string you set as WHATSAPP_VERIFY_TOKEN
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Subscribe to the `messages` field.
|
|
166
|
+
|
|
167
|
+
7. Send a WhatsApp message to the bot's phone number.
|
|
168
|
+
|
|
169
|
+
## Use Dispatch as your agent's central inbox {#dispatch}
|
|
170
|
+
|
|
171
|
+
If you're running multiple agent-native apps (mail, calendar, analytics, etc.), the recommended pattern is to set up messaging on the **[Dispatch template](/docs/template-dispatch)** and let it route work to your domain apps over [A2A](/docs/a2a-protocol).
|
|
172
|
+
|
|
173
|
+
Why this is nice:
|
|
174
|
+
|
|
175
|
+
- **One agent, one inbox.** All your channels (Slack, email, Telegram, WhatsApp) flow into Dispatch. You only set up integrations once.
|
|
176
|
+
- **Dispatch delegates.** Ask "summarize last week's signups" — Dispatch calls the analytics agent. Ask "draft a reply to Alice" — Dispatch calls the mail agent.
|
|
177
|
+
- **Clicks, not config.** Dispatch's **Settings → Messaging** page has connect buttons for every platform with the env-var fields built in.
|
|
178
|
+
|
|
179
|
+
If you don't need an orchestrator, any single template can wire up messaging directly using the env vars on this page.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## For developers {#for-developers}
|
|
184
|
+
|
|
185
|
+
Everything below is the technical reference. If you've finished the setup steps above, you can stop here unless you're customizing the integration plugin or building your own adapter.
|
|
186
|
+
|
|
187
|
+
### How it works {#how-it-works}
|
|
188
|
+
|
|
189
|
+
Each platform talks to your app via a standard HTTP webhook:
|
|
190
|
+
|
|
191
|
+
1. A user sends a message on Slack/Telegram/WhatsApp/email.
|
|
192
|
+
2. The platform `POST`s to `/_agent-native/integrations/<platform>/webhook`.
|
|
193
|
+
3. The integrations plugin verifies the signature, parses the message, and maps it to an internal conversation thread.
|
|
194
|
+
4. The agent runs the same pipeline as the web chat — same system prompt, same actions, same tools.
|
|
195
|
+
5. The response is posted back to the platform in the same thread.
|
|
196
|
+
|
|
197
|
+
```text
|
|
198
|
+
User → Platform webhook → Verify → Parse → Agent runs → Response posted back
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
No polling, no long-lived connections. Inbound and outbound conversations live in the same SQL thread, so you can continue a Slack DM from the web UI or vice versa.
|
|
202
|
+
|
|
203
|
+
### The integrations plugin {#plugin}
|
|
204
|
+
|
|
205
|
+
The plugin auto-mounts when no custom version exists. To customize, create:
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
// server/plugins/integrations.ts
|
|
209
|
+
import { createIntegrationsPlugin } from "@agent-native/core/server";
|
|
210
|
+
import { scriptRegistry } from "../../agent.config";
|
|
211
|
+
|
|
212
|
+
export default createIntegrationsPlugin({
|
|
213
|
+
actions: scriptRegistry,
|
|
214
|
+
systemPrompt: "You are a helpful assistant...",
|
|
215
|
+
});
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Which platforms are active depends on which env vars are set. The plugin registers webhook routes for each one under `/_agent-native/integrations/`.
|
|
219
|
+
|
|
220
|
+
### Webhook URLs {#webhook-urls}
|
|
221
|
+
|
|
222
|
+
```text
|
|
223
|
+
/_agent-native/integrations/slack/webhook
|
|
224
|
+
/_agent-native/integrations/telegram/webhook
|
|
225
|
+
/_agent-native/integrations/whatsapp/webhook
|
|
226
|
+
/_agent-native/integrations/email/webhook
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Telegram also exposes a one-time setup endpoint:
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
POST /_agent-native/integrations/telegram/setup
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Environment variables {#env-vars}
|
|
236
|
+
|
|
237
|
+
| Platform | Required | Optional |
|
|
238
|
+
| -------- | ---------------------------------------------------------------------------- | ------------------------------ |
|
|
239
|
+
| Slack | `SLACK_BOT_TOKEN`, `SLACK_SIGNING_SECRET` | — |
|
|
240
|
+
| Telegram | `TELEGRAM_BOT_TOKEN` | — |
|
|
241
|
+
| Email | `EMAIL_AGENT_ADDRESS`, plus one of `RESEND_API_KEY` or `SENDGRID_API_KEY` | `EMAIL_INBOUND_WEBHOOK_SECRET` |
|
|
242
|
+
| WhatsApp | `WHATSAPP_ACCESS_TOKEN`, `WHATSAPP_VERIFY_TOKEN`, `WHATSAPP_PHONE_NUMBER_ID` | — |
|
|
243
|
+
|
|
244
|
+
All credentials live in env vars — never the database, never source code. Use the sidebar settings UI or your hosting provider's env panel.
|
|
245
|
+
|
|
246
|
+
### Threading and identity {#threading-and-identity}
|
|
247
|
+
|
|
248
|
+
Each external conversation maps to a persistent thread in the agent-native database:
|
|
249
|
+
|
|
250
|
+
- **Slack DM** → one thread per Slack user.
|
|
251
|
+
- **Slack channel @mention** → one thread per channel.
|
|
252
|
+
- **Telegram chat** → one thread per Telegram chat.
|
|
253
|
+
- **WhatsApp conversation** → one thread per WhatsApp number.
|
|
254
|
+
- **Email** → threading derived from `Message-ID` / `In-Reply-To` / `References` headers.
|
|
255
|
+
|
|
256
|
+
External threads appear in the web UI alongside web-originated threads, tagged with their source platform. Identity resolution: when a Slack/email user matches a registered user (typically by email), they're linked to that account.
|
|
257
|
+
|
|
258
|
+
### Security {#security}
|
|
259
|
+
|
|
260
|
+
Every incoming webhook is signature-verified before processing:
|
|
261
|
+
|
|
262
|
+
- **Slack** — HMAC-SHA256 of the body using `SLACK_SIGNING_SECRET`, checked against the `X-Slack-Signature` header.
|
|
263
|
+
- **Telegram** — secret token set when registering the webhook.
|
|
264
|
+
- **WhatsApp** — Meta's verification challenge (using `WHATSAPP_VERIFY_TOKEN`) plus payload signature.
|
|
265
|
+
- **Email** — Svix-style signature verification when `EMAIL_INBOUND_WEBHOOK_SECRET` is set (Resend and SendGrid both use this format). If the secret is unset, the webhook is accepted but a warning is logged.
|
|
266
|
+
|
|
267
|
+
The email adapter also enforces:
|
|
268
|
+
|
|
269
|
+
- **Allowed domains** — optional `allowedDomains` array in the integration's `integration_configs` row; senders outside the list are dropped.
|
|
270
|
+
- **Rate limit** — in-memory limiter at 20 inbound messages per sender per hour.
|
|
271
|
+
|
|
272
|
+
### Proactive sends {#proactive-sends}
|
|
273
|
+
|
|
274
|
+
The agent can send messages on its own initiative (notifications, reminders, scheduled summaries) by calling the `send-platform-message` action with a `platform` field of `"slack"`, `"telegram"`, `"whatsapp"`, or `"email"`. The action lives in the Dispatch template at `actions/send-platform-message.ts` and you can copy/adapt it for any template.
|
|
275
|
+
|
|
276
|
+
### Custom adapters {#custom-adapters}
|
|
277
|
+
|
|
278
|
+
To add a new messaging platform, implement the `PlatformAdapter` interface:
|
|
279
|
+
|
|
280
|
+
```ts
|
|
281
|
+
import type { PlatformAdapter } from "@agent-native/core/server";
|
|
282
|
+
|
|
283
|
+
const myAdapter: PlatformAdapter = {
|
|
284
|
+
platform: "discord",
|
|
285
|
+
|
|
286
|
+
// Verify the incoming webhook is authentic
|
|
287
|
+
verifyRequest(request: Request): Promise<boolean> {
|
|
288
|
+
// Validate signature headers
|
|
289
|
+
},
|
|
290
|
+
|
|
291
|
+
// Extract the message text and thread context
|
|
292
|
+
parseMessage(body: unknown): Promise<{
|
|
293
|
+
text: string;
|
|
294
|
+
threadId: string;
|
|
295
|
+
senderId: string;
|
|
296
|
+
metadata?: Record<string, unknown>;
|
|
297
|
+
}> {
|
|
298
|
+
// Parse platform-specific payload
|
|
299
|
+
},
|
|
300
|
+
|
|
301
|
+
// Post the agent's response back
|
|
302
|
+
sendResponse(threadId: string, text: string): Promise<void> {
|
|
303
|
+
// Call the platform's API
|
|
304
|
+
},
|
|
305
|
+
};
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Register it in your integrations plugin:
|
|
309
|
+
|
|
310
|
+
```ts
|
|
311
|
+
export default createIntegrationsPlugin({
|
|
312
|
+
actions: scriptRegistry,
|
|
313
|
+
systemPrompt: "You are a helpful assistant...",
|
|
314
|
+
adapters: [myAdapter],
|
|
315
|
+
});
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
Reference implementations live in `packages/core/src/integrations/adapters/` (`slack.ts`, `telegram.ts`, `whatsapp.ts`, `email.ts`) — the email adapter is the most complete example, including signature verification, threading, rate limiting, and HTML rendering.
|
|
319
|
+
|
|
320
|
+
### See also {#see-also}
|
|
321
|
+
|
|
322
|
+
- [Dispatch template](/docs/template-dispatch) — recommended central inbox for multi-app workspaces
|
|
323
|
+
- [A2A Protocol](/docs/a2a-protocol) — how Dispatch delegates work to other agents
|
|
324
|
+
- [Agent Mentions](/docs/agent-mentions) — `@`-mentioning agents inside the web chat
|
|
@@ -1,16 +1,80 @@
|
|
|
1
1
|
# Onboarding
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
When you first open an app built on the agent-native framework, you'll see a
|
|
4
|
+
**Setup** checklist in the agent sidebar. Each item is something the app needs
|
|
5
|
+
from you — connect an AI engine, paste an API key, configure email delivery —
|
|
6
|
+
before the agent can do its full job.
|
|
7
|
+
|
|
8
|
+
## For end users
|
|
9
|
+
|
|
10
|
+
### What you'll see
|
|
11
|
+
|
|
12
|
+
- A **Setup** panel above the agent chat with a checklist like "Connect an AI
|
|
13
|
+
engine", "Email delivery", etc.
|
|
14
|
+
- A counter at the top (e.g. "1 of 4") shows how many steps are done.
|
|
15
|
+
- The current step is expanded; finished steps collapse with a green check;
|
|
16
|
+
remaining steps sit dimmed below.
|
|
17
|
+
- Required steps show a small red **required** pill. The panel stays visible
|
|
18
|
+
until every required step is complete.
|
|
19
|
+
- Once everything required is done, the panel hides itself automatically.
|
|
20
|
+
- The whole panel can be collapsed with the chevron in the top-right, or
|
|
21
|
+
hidden entirely with **Hide setup** at the bottom.
|
|
22
|
+
|
|
23
|
+
### How to complete each step
|
|
24
|
+
|
|
25
|
+
Steps offer one or more **methods** — different ways to satisfy the same
|
|
26
|
+
requirement. The recommended option is highlighted in blue; alternatives sit
|
|
27
|
+
below it.
|
|
28
|
+
|
|
29
|
+
- **Connect a service (one click)** — e.g. _Connect Builder_ for the managed
|
|
30
|
+
AI gateway. Click the button, a window opens, you sign in, the window closes,
|
|
31
|
+
and the step is marked complete. No keys to copy.
|
|
32
|
+
- **Paste an API key or fill a form** — e.g. _Use your Anthropic API key_,
|
|
33
|
+
_Use Resend_ for email. Click the method, paste the value(s), click **Save**.
|
|
34
|
+
Secret fields use a password input so the value isn't shown on screen. Saved
|
|
35
|
+
values go into your local `.env` (or workspace settings) — see
|
|
36
|
+
[Secrets](/docs/secrets) for where they live.
|
|
37
|
+
- **Open a link** — some steps point to a sign-in page or docs. Click
|
|
38
|
+
**Continue** and finish the flow in the new tab.
|
|
39
|
+
- **Ask the agent** — a few steps offer a "Let the agent set it up" option.
|
|
40
|
+
Click it and the agent picks up in the chat, walking you through any
|
|
41
|
+
external setup (creating OAuth credentials, etc.).
|
|
42
|
+
|
|
43
|
+
### The built-in steps you'll usually see
|
|
44
|
+
|
|
45
|
+
- **Connect an AI engine** (required) — the only mandatory step. Either
|
|
46
|
+
connect Builder for a one-click managed gateway, or paste a key for
|
|
47
|
+
Anthropic, OpenAI, Google Gemini, or OpenRouter.
|
|
48
|
+
- **Email delivery** (optional) — needed for password resets and team
|
|
49
|
+
invitations. Resend or SendGrid; without it, reset emails just log to the
|
|
50
|
+
server console.
|
|
51
|
+
- **Database** and **Authentication** — only shown in local dev mode.
|
|
52
|
+
Production deployments configure these via environment variables.
|
|
53
|
+
|
|
54
|
+
Templates can add their own steps on top of these — e.g. a CRM template might
|
|
55
|
+
add "Connect Gmail", a docs template might add "Pick a default workspace". See
|
|
56
|
+
[Authentication](/docs/authentication) for sign-in setup details.
|
|
57
|
+
|
|
58
|
+
### Coming back to the checklist
|
|
59
|
+
|
|
60
|
+
If you hit **Hide setup**, the panel disappears for that browser session.
|
|
61
|
+
Required steps that aren't yet complete will surface again on next load. Once
|
|
62
|
+
everything required is done, the panel auto-hides for good — there's nothing
|
|
63
|
+
left to do.
|
|
64
|
+
|
|
65
|
+
## For developers
|
|
66
|
+
|
|
67
|
+
If you're building a template, you register onboarding steps so they appear in
|
|
68
|
+
the user's sidebar checklist. The framework handles rendering, completion
|
|
69
|
+
tracking, and dismissal — you just declare what the step is and how it's
|
|
70
|
+
satisfied.
|
|
7
71
|
|
|
8
72
|
The system is **auto-mounted**. Templates don't need to wire anything to get
|
|
9
|
-
the
|
|
10
|
-
(Gmail, Slack, Notion, etc.), call `registerOnboardingStep()` from a
|
|
11
|
-
plugin.
|
|
73
|
+
the four built-in steps (LLM, database, auth, email). To add app-specific
|
|
74
|
+
steps (Gmail, Slack, Notion, etc.), call `registerOnboardingStep()` from a
|
|
75
|
+
server plugin.
|
|
12
76
|
|
|
13
|
-
|
|
77
|
+
### Auto-mounted routes
|
|
14
78
|
|
|
15
79
|
All routes live under `/_agent-native/onboarding/`:
|
|
16
80
|
|
|
@@ -22,7 +86,7 @@ All routes live under `/_agent-native/onboarding/`:
|
|
|
22
86
|
| `POST /_agent-native/onboarding/reopen` | Clear dismissal (re-show panel) |
|
|
23
87
|
| `GET /_agent-native/onboarding/dismissed` | Read dismissal + allComplete flag |
|
|
24
88
|
|
|
25
|
-
|
|
89
|
+
### Adding a step from a template
|
|
26
90
|
|
|
27
91
|
```ts
|
|
28
92
|
// server/plugins/my-onboarding.ts
|
|
@@ -61,7 +125,7 @@ export default defineNitroPlugin(() => {
|
|
|
61
125
|
});
|
|
62
126
|
```
|
|
63
127
|
|
|
64
|
-
|
|
128
|
+
### Method kinds
|
|
65
129
|
|
|
66
130
|
| Kind | Payload | Use for |
|
|
67
131
|
| ------------------ | ------------------------- | ----------------------------------------- |
|
|
@@ -72,18 +136,19 @@ export default defineNitroPlugin(() => {
|
|
|
72
136
|
|
|
73
137
|
The `primary: true` flag marks a method as the big CTA for its step.
|
|
74
138
|
|
|
75
|
-
|
|
139
|
+
### Built-in steps
|
|
76
140
|
|
|
77
141
|
| ID | Required | Description |
|
|
78
142
|
| ---------- | -------- | --------------------------------------------- |
|
|
79
143
|
| `llm` | yes | ANTHROPIC_API_KEY or Builder connection |
|
|
80
144
|
| `database` | no | SQLite default or a DATABASE_URL for Postgres |
|
|
81
145
|
| `auth` | no | Local dev mode, Google OAuth, or access token |
|
|
146
|
+
| `email` | no | Resend or SendGrid for transactional email |
|
|
82
147
|
|
|
83
148
|
Any of these can be overridden by re-registering with the same `id` after the
|
|
84
149
|
defaults load.
|
|
85
150
|
|
|
86
|
-
|
|
151
|
+
### Client usage
|
|
87
152
|
|
|
88
153
|
The panel is already inside `<AgentPanel>`. To build a custom layout:
|
|
89
154
|
|
|
@@ -105,3 +170,8 @@ function MySidebar() {
|
|
|
105
170
|
);
|
|
106
171
|
}
|
|
107
172
|
```
|
|
173
|
+
|
|
174
|
+
For background on where step values are stored and how secrets are handled,
|
|
175
|
+
see [Secrets](/docs/secrets). For end-user messaging touchpoints (invitations,
|
|
176
|
+
password resets) that depend on the **Email delivery** step, see
|
|
177
|
+
[Messaging](/docs/messaging).
|