@agent-native/core 0.7.12 → 0.7.14
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 +1 -1
- 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 +287 -62
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/server.d.ts.map +1 -1
- package/dist/a2a/server.js +95 -17
- package/dist/a2a/server.js.map +1 -1
- package/dist/a2a/task-store.d.ts +11 -1
- package/dist/a2a/task-store.d.ts.map +1 -1
- package/dist/a2a/task-store.js +38 -2
- package/dist/a2a/task-store.js.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +26 -8
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts +19 -0
- package/dist/agent/engine/builder-engine.d.ts.map +1 -0
- package/dist/agent/engine/builder-engine.js +412 -0
- package/dist/agent/engine/builder-engine.js.map +1 -0
- package/dist/agent/engine/builtin.d.ts.map +1 -1
- package/dist/agent/engine/builtin.js +26 -10
- package/dist/agent/engine/builtin.js.map +1 -1
- package/dist/agent/engine/index.d.ts +1 -1
- package/dist/agent/engine/index.d.ts.map +1 -1
- package/dist/agent/engine/index.js +1 -1
- package/dist/agent/engine/index.js.map +1 -1
- package/dist/agent/engine/registry.d.ts +20 -1
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +49 -1
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/engine/types.d.ts +30 -0
- package/dist/agent/engine/types.d.ts.map +1 -1
- package/dist/agent/engine/types.js +19 -1
- package/dist/agent/engine/types.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +65 -7
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +11 -1
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts +4 -0
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +1 -0
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/agent/types.d.ts +8 -0
- package/dist/agent/types.d.ts.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 +32 -0
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/checkpoints/service.d.ts +1 -0
- package/dist/checkpoints/service.d.ts.map +1 -1
- package/dist/checkpoints/service.js +26 -2
- package/dist/checkpoints/service.js.map +1 -1
- package/dist/cli/create.d.ts +30 -0
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +25 -13
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +11 -0
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +3 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +22 -11
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AgentTaskCard.d.ts.map +1 -1
- package/dist/client/AgentTaskCard.js +2 -0
- 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 +159 -84
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ConnectBuilderCard.d.ts +1 -7
- package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
- package/dist/client/ConnectBuilderCard.js +30 -132
- package/dist/client/ConnectBuilderCard.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 +169 -52
- package/dist/client/MultiTabAssistantChat.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 +1 -1
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/analytics.d.ts +5 -8
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +53 -11
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/builder-mark.d.ts +9 -0
- package/dist/client/builder-mark.d.ts.map +1 -0
- package/dist/client/builder-mark.js +10 -0
- package/dist/client/builder-mark.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/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/components/ui/popover.d.ts +8 -0
- package/dist/client/components/ui/popover.d.ts.map +1 -0
- package/dist/client/components/ui/popover.js +11 -0
- package/dist/client/components/ui/popover.js.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.d.ts +7 -0
- package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.js +183 -0
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -0
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +244 -19
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/types.d.ts +1 -0
- package/dist/client/composer/types.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.d.ts +2 -0
- package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.js +89 -12
- package/dist/client/composer/useVoiceDictation.js.map +1 -1
- package/dist/client/error-format.d.ts +2 -0
- package/dist/client/error-format.d.ts.map +1 -0
- package/dist/client/error-format.js +31 -0
- package/dist/client/error-format.js.map +1 -0
- package/dist/client/index.d.ts +6 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +8 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/observability/ObservabilityDashboard.d.ts +5 -0
- package/dist/client/observability/ObservabilityDashboard.d.ts.map +1 -0
- package/dist/client/observability/ObservabilityDashboard.js +169 -0
- package/dist/client/observability/ObservabilityDashboard.js.map +1 -0
- package/dist/client/observability/ThumbsFeedback.d.ts +8 -0
- package/dist/client/observability/ThumbsFeedback.d.ts.map +1 -0
- package/dist/client/observability/ThumbsFeedback.js +64 -0
- package/dist/client/observability/ThumbsFeedback.js.map +1 -0
- package/dist/client/observability/index.d.ts +4 -0
- package/dist/client/observability/index.d.ts.map +1 -0
- package/dist/client/observability/index.js +4 -0
- package/dist/client/observability/index.js.map +1 -0
- package/dist/client/observability/useObservability.d.ts +128 -0
- package/dist/client/observability/useObservability.d.ts.map +1 -0
- package/dist/client/observability/useObservability.js +109 -0
- package/dist/client/observability/useObservability.js.map +1 -0
- package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.js +34 -92
- package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts +33 -0
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -0
- package/dist/client/org/RequireActiveOrg.js +68 -0
- package/dist/client/org/RequireActiveOrg.js.map +1 -0
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +125 -4
- 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 +115 -15
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/index.d.ts +3 -2
- package/dist/client/org/index.d.ts.map +1 -1
- package/dist/client/org/index.js +2 -1
- package/dist/client/org/index.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +8 -4
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
- package/dist/client/settings/AutomationsSection.js +2 -1
- package/dist/client/settings/AutomationsSection.js.map +1 -1
- package/dist/client/settings/BrowserSection.js +1 -1
- package/dist/client/settings/BrowserSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +133 -20
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +10 -4
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +26 -0
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
- package/dist/client/settings/useBuilderStatus.js +128 -4
- package/dist/client/settings/useBuilderStatus.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts +2 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +16 -2
- package/dist/client/sse-event-processor.js.map +1 -1
- 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 +98 -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 +309 -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 +23 -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 +72 -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 +188 -0
- package/dist/client/tools/ToolsSidebarSection.js.map +1 -0
- package/dist/client/tools/index.d.ts +6 -0
- package/dist/client/tools/index.d.ts.map +1 -0
- package/dist/client/tools/index.js +6 -0
- package/dist/client/tools/index.js.map +1 -0
- package/dist/client/transcription/BuilderTranscriptionCta.d.ts +9 -0
- package/dist/client/transcription/BuilderTranscriptionCta.d.ts.map +1 -0
- package/dist/client/transcription/BuilderTranscriptionCta.js +18 -0
- package/dist/client/transcription/BuilderTranscriptionCta.js.map +1 -0
- package/dist/client/transcription/use-live-transcription.d.ts +29 -0
- package/dist/client/transcription/use-live-transcription.d.ts.map +1 -0
- package/dist/client/transcription/use-live-transcription.js +156 -0
- package/dist/client/transcription/use-live-transcription.js.map +1 -0
- package/dist/client/use-builder-enabled.d.ts +17 -0
- package/dist/client/use-builder-enabled.d.ts.map +1 -0
- package/dist/client/use-builder-enabled.js +36 -0
- package/dist/client/use-builder-enabled.js.map +1 -0
- 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 +29 -0
- 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 +10 -8
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/client/useProductionAgent.d.ts.map +1 -1
- package/dist/client/useProductionAgent.js +3 -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 +15 -1
- 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/db/migrations.d.ts +9 -0
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +75 -10
- package/dist/db/migrations.js.map +1 -1
- package/dist/deploy/build.js +1 -1
- package/dist/file-upload/builder.d.ts.map +1 -1
- package/dist/file-upload/builder.js +13 -5
- package/dist/file-upload/builder.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 +620 -0
- package/dist/integrations/adapters/email.js.map +1 -0
- package/dist/integrations/adapters/telegram.d.ts.map +1 -1
- package/dist/integrations/adapters/telegram.js +19 -3
- package/dist/integrations/adapters/telegram.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 +86 -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 +199 -0
- package/dist/integrations/pending-tasks-retry-job.js.map +1 -0
- package/dist/integrations/pending-tasks-store.d.ts +40 -0
- package/dist/integrations/pending-tasks-store.d.ts.map +1 -0
- package/dist/integrations/pending-tasks-store.js +151 -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 +151 -9
- 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 +2 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.d.ts +23 -4
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +217 -59
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +137 -161
- package/dist/jobs/tools.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 +5 -0
- package/dist/mcp-client/manager.js.map +1 -1
- package/dist/notifications/actions.d.ts +2 -2
- package/dist/notifications/actions.d.ts.map +1 -1
- package/dist/notifications/actions.js +77 -69
- package/dist/notifications/actions.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/observability/evals.d.ts +22 -0
- package/dist/observability/evals.d.ts.map +1 -0
- package/dist/observability/evals.js +371 -0
- package/dist/observability/evals.js.map +1 -0
- package/dist/observability/experiments.d.ts +24 -0
- package/dist/observability/experiments.d.ts.map +1 -0
- package/dist/observability/experiments.js +274 -0
- package/dist/observability/experiments.js.map +1 -0
- package/dist/observability/feedback.d.ts +14 -0
- package/dist/observability/feedback.d.ts.map +1 -0
- package/dist/observability/feedback.js +256 -0
- package/dist/observability/feedback.js.map +1 -0
- package/dist/observability/index.d.ts +6 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +5 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/plugin.d.ts +2 -0
- package/dist/observability/plugin.d.ts.map +1 -0
- package/dist/observability/plugin.js +12 -0
- package/dist/observability/plugin.js.map +1 -0
- package/dist/observability/routes.d.ts +68 -0
- package/dist/observability/routes.d.ts.map +1 -0
- package/dist/observability/routes.js +301 -0
- package/dist/observability/routes.js.map +1 -0
- package/dist/observability/store.d.ts +77 -0
- package/dist/observability/store.d.ts.map +1 -0
- package/dist/observability/store.js +976 -0
- package/dist/observability/store.js.map +1 -0
- package/dist/observability/traces.d.ts +37 -0
- package/dist/observability/traces.d.ts.map +1 -0
- package/dist/observability/traces.js +182 -0
- package/dist/observability/traces.js.map +1 -0
- package/dist/observability/types.d.ts +159 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +16 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/onboarding/default-steps.d.ts.map +1 -1
- package/dist/onboarding/default-steps.js +15 -7
- package/dist/onboarding/default-steps.js.map +1 -1
- package/dist/onboarding/types.d.ts +10 -1
- package/dist/onboarding/types.d.ts.map +1 -1
- package/dist/org/context.d.ts +43 -1
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +299 -6
- 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 +460 -32
- 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 +3 -0
- package/dist/progress/actions.d.ts.map +1 -1
- package/dist/progress/actions.js +86 -110
- package/dist/progress/actions.js.map +1 -1
- package/dist/progress/routes.d.ts +1 -1
- package/dist/progress/routes.js +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
- package/dist/scripts/agent-engines/manage-agent-engine.d.ts +10 -0
- package/dist/scripts/agent-engines/manage-agent-engine.d.ts.map +1 -0
- package/dist/scripts/agent-engines/manage-agent-engine.js +47 -0
- package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -0
- package/dist/scripts/agent-engines/set-agent-engine.js +2 -2
- package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +90 -18
- package/dist/scripts/call-agent.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 +224 -0
- package/dist/scripts/db/migrate-user-api-keys.js.map +1 -0
- 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/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/substitution.d.ts.map +1 -1
- package/dist/secrets/substitution.js +14 -2
- package/dist/secrets/substitution.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +39 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.js +1 -1
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +39 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +869 -458
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-teams.js +1 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/analytics.d.ts +5 -6
- package/dist/server/analytics.d.ts.map +1 -1
- package/dist/server/analytics.js +6 -14
- package/dist/server/analytics.js.map +1 -1
- package/dist/server/app-name.d.ts +5 -2
- package/dist/server/app-name.d.ts.map +1 -1
- package/dist/server/app-name.js +14 -3
- package/dist/server/app-name.js.map +1 -1
- package/dist/server/app-url.d.ts.map +1 -1
- package/dist/server/app-url.js +10 -1
- package/dist/server/app-url.js.map +1 -1
- package/dist/server/auth.d.ts +16 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +373 -7
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +2 -0
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +4 -0
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/builder-browser.d.ts +59 -1
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +139 -23
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/collab-plugin.d.ts +4 -0
- package/dist/server/collab-plugin.d.ts.map +1 -1
- package/dist/server/collab-plugin.js +30 -4
- 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 +241 -33
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +50 -2
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +125 -2
- package/dist/server/credential-provider.js.map +1 -1
- 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.map +1 -1
- package/dist/server/framework-request-handler.js +38 -3
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-oauth.d.ts +18 -1
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +21 -4
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +43 -5
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +46 -5
- package/dist/server/poll.js.map +1 -1
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +2 -1
- 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 +125 -21
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/sharing/schema.d.ts +1 -1
- package/dist/styles/agent-native.css +16 -2
- package/dist/templates/default/.agents/skills/progress/SKILL.md +14 -12
- package/dist/templates/default/app/root.tsx +57 -13
- package/dist/templates/default/react-router.config.ts +3 -0
- package/dist/terminal/terminal-plugin.d.ts.map +1 -1
- package/dist/terminal/terminal-plugin.js +23 -3
- 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 +140 -0
- package/dist/tools/actions.js.map +1 -0
- package/dist/tools/fetch-tool.js +1 -1
- package/dist/tools/fetch-tool.js.map +1 -1
- package/dist/tools/html-shell.d.ts +2 -0
- package/dist/tools/html-shell.d.ts.map +1 -0
- package/dist/tools/html-shell.js +387 -0
- package/dist/tools/html-shell.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 +576 -0
- package/dist/tools/routes.js.map +1 -0
- package/dist/tools/schema.d.ts +575 -0
- package/dist/tools/schema.d.ts.map +1 -0
- package/dist/tools/schema.js +112 -0
- package/dist/tools/schema.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 +190 -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/transcription/builder-transcription.d.ts +27 -0
- package/dist/transcription/builder-transcription.d.ts.map +1 -0
- package/dist/transcription/builder-transcription.js +53 -0
- package/dist/transcription/builder-transcription.js.map +1 -0
- package/dist/triggers/actions.d.ts +3 -0
- package/dist/triggers/actions.d.ts.map +1 -1
- package/dist/triggers/actions.js +189 -213
- package/dist/triggers/actions.js.map +1 -1
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +10 -2
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +26 -6
- package/dist/vite/client.js.map +1 -1
- package/docs/content/a2a-protocol.md +2 -2
- package/docs/content/agent-mentions.md +1 -1
- package/docs/content/authentication.md +51 -0
- package/docs/content/automations.md +22 -19
- package/docs/content/cloneable-saas.md +59 -62
- package/docs/content/deployment.md +21 -61
- package/docs/content/faq.md +73 -43
- package/docs/content/getting-started.md +37 -61
- package/docs/content/key-concepts.md +1 -1
- package/docs/content/mcp-clients.md +14 -1
- package/docs/content/messaging.md +284 -0
- package/docs/content/{enterprise-workspace.md → multi-app-workspace.md} +3 -3
- package/docs/content/multi-tenancy.md +1 -1
- package/docs/content/progress.md +11 -11
- package/docs/content/pure-agent-apps.md +55 -28
- package/docs/content/template-calendar.md +61 -56
- package/docs/content/template-clips.md +22 -18
- package/docs/content/template-content.md +36 -26
- package/docs/content/template-dispatch.md +5 -4
- package/docs/content/template-forms.md +13 -11
- 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/docs/content/workspace-management.md +1 -1
- package/package.json +12 -2
- package/src/templates/default/.agents/skills/progress/SKILL.md +14 -12
- package/src/templates/default/app/root.tsx +57 -13
- package/src/templates/default/react-router.config.ts +3 -0
- package/docs/content/integrations.md +0 -198
|
@@ -22,25 +22,27 @@ Separate concern from `notifications`:
|
|
|
22
22
|
|
|
23
23
|
Common pattern: on completion, emit a `notify()` so the user sees the outcome when they're not actively watching the tray.
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## Tool
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
All progress operations go through a single `manage-progress` tool with an `action` parameter:
|
|
28
|
+
|
|
29
|
+
| Action | Purpose |
|
|
28
30
|
|---|---|
|
|
29
|
-
| `start
|
|
30
|
-
| `update
|
|
31
|
-
| `complete
|
|
32
|
-
| `list
|
|
31
|
+
| `start` | Mark the start of a long task. Returns a runId. |
|
|
32
|
+
| `update` | Update percent and/or current step. Call frequently. |
|
|
33
|
+
| `complete` | Mark terminal status: `succeeded`, `failed`, `cancelled`. |
|
|
34
|
+
| `list` | List recent runs (all or `--active=true`). |
|
|
33
35
|
|
|
34
36
|
## Canonical Flow
|
|
35
37
|
|
|
36
38
|
```
|
|
37
|
-
|
|
39
|
+
manage-progress --action=start --title "Triage 128 unread emails" --step "Fetching inbox"
|
|
38
40
|
→ runId=abc
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
manage-progress --action=update --runId=abc --percent=25 --step="Classifying 32/128"
|
|
43
|
+
manage-progress --action=update --runId=abc --percent=75 --step="Drafting replies 97/128"
|
|
42
44
|
|
|
43
|
-
|
|
45
|
+
manage-progress --action=complete --runId=abc --status=succeeded
|
|
44
46
|
notify --severity=info --title="Triage done" --body="12 archived, 6 drafts ready to review"
|
|
45
47
|
```
|
|
46
48
|
|
|
@@ -48,9 +50,9 @@ notify --severity=info --title="Triage done" --body="12 archived, 6 drafts ready
|
|
|
48
50
|
|
|
49
51
|
- **Start a run for anything > ~5 seconds.** Users want feedback; a spinner with no context feels frozen.
|
|
50
52
|
- **Update at natural checkpoints**, not every iteration. Every 5–10% is enough for most UIs.
|
|
51
|
-
- **Always call `complete
|
|
53
|
+
- **Always call `manage-progress --action=complete`** at the end — including the error path. An orphaned `running` row is worse than no row.
|
|
52
54
|
- **Pair with `notify`** on completion. The tray tells users what's *running*; notifications tell them what *finished*.
|
|
53
|
-
- **Use `metadataJson`** on `start
|
|
55
|
+
- **Use `metadataJson`** on `manage-progress --action=start` to pass a link back to the produced artifact (thread id, document path), so the UI can deep-link from the runs tray.
|
|
54
56
|
|
|
55
57
|
## Runs API
|
|
56
58
|
|
|
@@ -5,8 +5,10 @@ import {
|
|
|
5
5
|
Scripts,
|
|
6
6
|
ScrollRestoration,
|
|
7
7
|
isRouteErrorResponse,
|
|
8
|
+
Link,
|
|
9
|
+
useRouteError,
|
|
8
10
|
} from "react-router";
|
|
9
|
-
import { useState } from "react";
|
|
11
|
+
import { useEffect, useState } from "react";
|
|
10
12
|
import {
|
|
11
13
|
QueryClient,
|
|
12
14
|
QueryClientProvider,
|
|
@@ -16,6 +18,13 @@ import { ThemeProvider } from "next-themes";
|
|
|
16
18
|
import { useDbSync } from "@agent-native/core";
|
|
17
19
|
import { ClientOnly, DefaultSpinner } from "@agent-native/core/client";
|
|
18
20
|
import { Toaster } from "sonner";
|
|
21
|
+
import { configureTracking } from "@agent-native/core/client";
|
|
22
|
+
configureTracking({
|
|
23
|
+
getDefaultProps: (_name, properties) => ({
|
|
24
|
+
...properties,
|
|
25
|
+
app: "{{APP_NAME}}",
|
|
26
|
+
}),
|
|
27
|
+
});
|
|
19
28
|
import "./global.css";
|
|
20
29
|
|
|
21
30
|
export function Layout({ children }: { children: React.ReactNode }) {
|
|
@@ -74,17 +83,41 @@ export default function Root() {
|
|
|
74
83
|
);
|
|
75
84
|
}
|
|
76
85
|
|
|
77
|
-
|
|
78
|
-
|
|
86
|
+
function useApplyThemeClass() {
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
const root = document.documentElement;
|
|
89
|
+
if (root.classList.contains("dark") || root.classList.contains("light"))
|
|
90
|
+
return;
|
|
91
|
+
try {
|
|
92
|
+
const stored = localStorage.getItem("theme");
|
|
93
|
+
if (stored === "dark") {
|
|
94
|
+
root.classList.add("dark");
|
|
95
|
+
} else if (stored === "light") {
|
|
96
|
+
root.classList.add("light");
|
|
97
|
+
} else if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
|
|
98
|
+
root.classList.add("dark");
|
|
99
|
+
}
|
|
100
|
+
} catch {}
|
|
101
|
+
}, []);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export function ErrorBoundary() {
|
|
105
|
+
useApplyThemeClass();
|
|
106
|
+
const error = useRouteError();
|
|
107
|
+
let status: number | null = null;
|
|
108
|
+
let title = "Something went wrong";
|
|
79
109
|
let details = "An unexpected error occurred.";
|
|
80
110
|
let stack: string | undefined;
|
|
81
111
|
|
|
82
112
|
if (isRouteErrorResponse(error)) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
113
|
+
status = error.status;
|
|
114
|
+
if (error.status === 404) {
|
|
115
|
+
title = "Page not found";
|
|
116
|
+
details = "This page doesn't exist. It may have been moved or deleted.";
|
|
117
|
+
} else {
|
|
118
|
+
title = `${error.status} Error`;
|
|
119
|
+
details = error.statusText || details;
|
|
120
|
+
}
|
|
88
121
|
} else if (
|
|
89
122
|
typeof process !== "undefined" &&
|
|
90
123
|
process.env.NODE_ENV !== "production" &&
|
|
@@ -95,12 +128,23 @@ export function ErrorBoundary({ error }: { error: unknown }) {
|
|
|
95
128
|
}
|
|
96
129
|
|
|
97
130
|
return (
|
|
98
|
-
<main className="flex items-center justify-center min-h-screen p-4">
|
|
99
|
-
<div className="text-center">
|
|
100
|
-
|
|
101
|
-
|
|
131
|
+
<main className="flex items-center justify-center min-h-screen p-4 bg-background text-foreground">
|
|
132
|
+
<div className="flex flex-col items-center text-center max-w-md">
|
|
133
|
+
{status && (
|
|
134
|
+
<span className="text-7xl font-bold tracking-tight text-muted-foreground/40">
|
|
135
|
+
{status}
|
|
136
|
+
</span>
|
|
137
|
+
)}
|
|
138
|
+
<h1 className="mt-3 text-2xl font-semibold">{title}</h1>
|
|
139
|
+
<p className="mt-2 text-muted-foreground text-sm">{details}</p>
|
|
140
|
+
<Link
|
|
141
|
+
to="/"
|
|
142
|
+
className="mt-6 inline-flex items-center gap-1.5 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm hover:bg-primary/90 cursor-pointer"
|
|
143
|
+
>
|
|
144
|
+
Go home
|
|
145
|
+
</Link>
|
|
102
146
|
{stack && (
|
|
103
|
-
<pre className="mt-
|
|
147
|
+
<pre className="mt-6 w-full text-left text-xs overflow-auto p-4 bg-muted rounded">
|
|
104
148
|
<code>{stack}</code>
|
|
105
149
|
</pre>
|
|
106
150
|
)}
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Integrations"
|
|
3
|
-
description: "Connect your agent to Slack, Telegram, WhatsApp, and other messaging platforms."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Integrations
|
|
7
|
-
|
|
8
|
-
Connect your agent to messaging platforms so you can chat with it from Slack, Telegram, WhatsApp, and more. Same agent, same tools, same thread history.
|
|
9
|
-
|
|
10
|
-
## Overview {#overview}
|
|
11
|
-
|
|
12
|
-
Messaging integrations let users talk to their agent from the platforms they already use. Instead of opening the web UI, you send a message in Slack or Telegram and the agent responds right there. It has access to the same actions, the same database, and the same conversation history as the web chat.
|
|
13
|
-
|
|
14
|
-
Each integration works through webhooks. The messaging platform sends incoming messages to your app, the agent processes them, and the response is posted back. No polling, no long-lived connections — just standard HTTP webhooks.
|
|
15
|
-
|
|
16
|
-
## How it works {#how-it-works}
|
|
17
|
-
|
|
18
|
-
The flow for every platform follows the same pattern:
|
|
19
|
-
|
|
20
|
-
1. A user sends a message on the external platform (Slack, Telegram, etc.)
|
|
21
|
-
2. The platform delivers the message to your app via a webhook at `/_agent-native/integrations/<platform>/webhook`
|
|
22
|
-
3. The integrations plugin validates the request, extracts the message text and thread context, and maps it to an internal conversation thread
|
|
23
|
-
4. The agent processes the message in the background using the same pipeline as the web chat — same system prompt, same actions, same tools
|
|
24
|
-
5. The response is posted back to the external platform in the same thread
|
|
25
|
-
|
|
26
|
-
`User (Slack/Telegram/WhatsApp)` → `Webhook` → `Agent Processing` → `Response posted back`
|
|
27
|
-
|
|
28
|
-
## Setup {#setup}
|
|
29
|
-
|
|
30
|
-
The integrations plugin auto-mounts when no custom version exists in your template. To customize it, create a plugin file:
|
|
31
|
-
|
|
32
|
-
```ts
|
|
33
|
-
// server/plugins/integrations.ts
|
|
34
|
-
import { createIntegrationsPlugin } from "@agent-native/core/server";
|
|
35
|
-
import { scriptRegistry } from "../../agent.config";
|
|
36
|
-
|
|
37
|
-
export default createIntegrationsPlugin({
|
|
38
|
-
actions: scriptRegistry,
|
|
39
|
-
systemPrompt: "You are a helpful assistant...",
|
|
40
|
-
});
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
The plugin registers webhook routes for each enabled platform under `/_agent-native/integrations/`. Which platforms are active depends on which environment variables are configured.
|
|
44
|
-
|
|
45
|
-
## Slack {#slack}
|
|
46
|
-
|
|
47
|
-
### 1. Create a Slack app
|
|
48
|
-
|
|
49
|
-
Go to [api.slack.com/apps](https://api.slack.com/apps) and create a new app. Under **OAuth & Permissions**, add the following bot token scopes:
|
|
50
|
-
|
|
51
|
-
- `chat:write` — send messages
|
|
52
|
-
- `app_mentions:read` — receive @-mentions (optional)
|
|
53
|
-
|
|
54
|
-
### 2. Enable Event Subscriptions
|
|
55
|
-
|
|
56
|
-
Under **Event Subscriptions**, set the Request URL to:
|
|
57
|
-
|
|
58
|
-
```text
|
|
59
|
-
https://your-app.example.com/_agent-native/integrations/slack/webhook
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Subscribe to the `message.im` bot event (and optionally `app_mention` for channel mentions).
|
|
63
|
-
|
|
64
|
-
### 3. Set environment variables
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
SLACK_BOT_TOKEN=xoxb-your-bot-token
|
|
68
|
-
SLACK_SIGNING_SECRET=your-signing-secret
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
The bot token is found under **OAuth & Permissions** after installing the app to your workspace. The signing secret is under **Basic Information**.
|
|
72
|
-
|
|
73
|
-
## Telegram {#telegram}
|
|
74
|
-
|
|
75
|
-
### 1. Create a bot
|
|
76
|
-
|
|
77
|
-
Message [@BotFather](https://t.me/BotFather) on Telegram and use the `/newbot` command. You will receive a bot token.
|
|
78
|
-
|
|
79
|
-
### 2. Set environment variables
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
TELEGRAM_BOT_TOKEN=your-bot-token
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 3. Register the webhook
|
|
86
|
-
|
|
87
|
-
After deploying your app, call the setup endpoint to register the webhook with Telegram:
|
|
88
|
-
|
|
89
|
-
```text
|
|
90
|
-
// The integrations plugin exposes a setup endpoint
|
|
91
|
-
POST /_agent-native/integrations/telegram/setup
|
|
92
|
-
|
|
93
|
-
// This calls Telegram's setWebhook API pointing to:
|
|
94
|
-
// https://your-app.example.com/_agent-native/integrations/telegram/webhook
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
You can also register the webhook manually using the Telegram Bot API if you prefer.
|
|
98
|
-
|
|
99
|
-
## WhatsApp {#whatsapp}
|
|
100
|
-
|
|
101
|
-
### 1. Set up the WhatsApp Cloud API
|
|
102
|
-
|
|
103
|
-
Go to the [Meta Developer Portal](https://developers.facebook.com/), create an app, and enable the WhatsApp product. Configure a phone number for your business.
|
|
104
|
-
|
|
105
|
-
### 2. Set environment variables
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
WHATSAPP_ACCESS_TOKEN=your-access-token
|
|
109
|
-
WHATSAPP_VERIFY_TOKEN=your-verify-token
|
|
110
|
-
WHATSAPP_PHONE_NUMBER_ID=your-phone-number-id
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
The verify token is a string you choose — Meta uses it during webhook verification. The access token and phone number ID come from the Meta Developer Portal.
|
|
114
|
-
|
|
115
|
-
### 3. Configure the webhook
|
|
116
|
-
|
|
117
|
-
In the Meta Developer Portal, set the webhook URL to:
|
|
118
|
-
|
|
119
|
-
```text
|
|
120
|
-
https://your-app.example.com/_agent-native/integrations/whatsapp/webhook
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
Subscribe to the `messages` webhook field.
|
|
124
|
-
|
|
125
|
-
## Configuration {#configuration}
|
|
126
|
-
|
|
127
|
-
Integrations can be managed from the settings UI in the sidebar. Each platform shows its connection status and webhook URL. You can enable/disable individual integrations without removing environment variables.
|
|
128
|
-
|
|
129
|
-
The webhook URLs follow a consistent pattern:
|
|
130
|
-
|
|
131
|
-
```text
|
|
132
|
-
/_agent-native/integrations/<platform>/webhook
|
|
133
|
-
|
|
134
|
-
# Examples:
|
|
135
|
-
/_agent-native/integrations/slack/webhook
|
|
136
|
-
/_agent-native/integrations/telegram/webhook
|
|
137
|
-
/_agent-native/integrations/whatsapp/webhook
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## Thread continuity {#thread-continuity}
|
|
141
|
-
|
|
142
|
-
Conversations from external platforms are mapped to internal threads. Each Slack DM, Telegram chat, or WhatsApp conversation becomes a persistent thread in the agent-native database. This means:
|
|
143
|
-
|
|
144
|
-
- The agent retains context across messages in the same external conversation
|
|
145
|
-
- External conversations appear in the web UI alongside web-originated threads, tagged with their source platform
|
|
146
|
-
- You can continue a conversation that started in Slack from the web UI, or vice versa
|
|
147
|
-
|
|
148
|
-
## Custom adapters {#custom-adapters}
|
|
149
|
-
|
|
150
|
-
To add support for a new messaging platform, implement the `PlatformAdapter` interface:
|
|
151
|
-
|
|
152
|
-
```ts
|
|
153
|
-
import type { PlatformAdapter } from "@agent-native/core/server";
|
|
154
|
-
|
|
155
|
-
const myAdapter: PlatformAdapter = {
|
|
156
|
-
platform: "discord",
|
|
157
|
-
|
|
158
|
-
// Verify the incoming webhook request is authentic
|
|
159
|
-
verifyRequest(request: Request): Promise<boolean> {
|
|
160
|
-
// Validate signature headers
|
|
161
|
-
},
|
|
162
|
-
|
|
163
|
-
// Extract the message text and thread context from the webhook payload
|
|
164
|
-
parseMessage(body: unknown): Promise<{
|
|
165
|
-
text: string;
|
|
166
|
-
threadId: string;
|
|
167
|
-
senderId: string;
|
|
168
|
-
metadata?: Record<string, unknown>;
|
|
169
|
-
}> {
|
|
170
|
-
// Parse platform-specific payload
|
|
171
|
-
},
|
|
172
|
-
|
|
173
|
-
// Send the agent's response back to the platform
|
|
174
|
-
sendResponse(threadId: string, text: string): Promise<void> {
|
|
175
|
-
// Call the platform's API to post the message
|
|
176
|
-
},
|
|
177
|
-
};
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
Register your adapter in the integrations plugin config:
|
|
181
|
-
|
|
182
|
-
```ts
|
|
183
|
-
export default createIntegrationsPlugin({
|
|
184
|
-
actions: scriptRegistry,
|
|
185
|
-
systemPrompt: "You are a helpful assistant...",
|
|
186
|
-
adapters: [myAdapter],
|
|
187
|
-
});
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
## Security {#security}
|
|
191
|
-
|
|
192
|
-
Every incoming webhook is verified before processing:
|
|
193
|
-
|
|
194
|
-
- **Slack** — HMAC-SHA256 signature verification using `SLACK_SIGNING_SECRET`. The `X-Slack-Signature` header is checked against the request body.
|
|
195
|
-
- **Telegram** — requests are validated by checking the secret token set during webhook registration via the Telegram Bot API.
|
|
196
|
-
- **WhatsApp** — Meta's webhook verification challenge (using `WHATSAPP_VERIFY_TOKEN`) and payload signature validation.
|
|
197
|
-
|
|
198
|
-
All platform credentials (tokens, secrets) are stored as environment variables and never persisted in the database or source code. Use the settings UI or your deployment platform's env var management to configure them.
|