@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.
Files changed (586) hide show
  1. package/README.md +1 -1
  2. package/dist/a2a/client.d.ts +44 -1
  3. package/dist/a2a/client.d.ts.map +1 -1
  4. package/dist/a2a/client.js +88 -11
  5. package/dist/a2a/client.js.map +1 -1
  6. package/dist/a2a/handlers.d.ts +10 -0
  7. package/dist/a2a/handlers.d.ts.map +1 -1
  8. package/dist/a2a/handlers.js +287 -62
  9. package/dist/a2a/handlers.js.map +1 -1
  10. package/dist/a2a/server.d.ts.map +1 -1
  11. package/dist/a2a/server.js +95 -17
  12. package/dist/a2a/server.js.map +1 -1
  13. package/dist/a2a/task-store.d.ts +11 -1
  14. package/dist/a2a/task-store.d.ts.map +1 -1
  15. package/dist/a2a/task-store.js +38 -2
  16. package/dist/a2a/task-store.js.map +1 -1
  17. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  18. package/dist/agent/engine/ai-sdk-engine.js +26 -8
  19. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  20. package/dist/agent/engine/builder-engine.d.ts +19 -0
  21. package/dist/agent/engine/builder-engine.d.ts.map +1 -0
  22. package/dist/agent/engine/builder-engine.js +412 -0
  23. package/dist/agent/engine/builder-engine.js.map +1 -0
  24. package/dist/agent/engine/builtin.d.ts.map +1 -1
  25. package/dist/agent/engine/builtin.js +26 -10
  26. package/dist/agent/engine/builtin.js.map +1 -1
  27. package/dist/agent/engine/index.d.ts +1 -1
  28. package/dist/agent/engine/index.d.ts.map +1 -1
  29. package/dist/agent/engine/index.js +1 -1
  30. package/dist/agent/engine/index.js.map +1 -1
  31. package/dist/agent/engine/registry.d.ts +20 -1
  32. package/dist/agent/engine/registry.d.ts.map +1 -1
  33. package/dist/agent/engine/registry.js +49 -1
  34. package/dist/agent/engine/registry.js.map +1 -1
  35. package/dist/agent/engine/types.d.ts +30 -0
  36. package/dist/agent/engine/types.d.ts.map +1 -1
  37. package/dist/agent/engine/types.js +19 -1
  38. package/dist/agent/engine/types.js.map +1 -1
  39. package/dist/agent/production-agent.d.ts.map +1 -1
  40. package/dist/agent/production-agent.js +65 -7
  41. package/dist/agent/production-agent.js.map +1 -1
  42. package/dist/agent/run-manager.d.ts.map +1 -1
  43. package/dist/agent/run-manager.js +11 -1
  44. package/dist/agent/run-manager.js.map +1 -1
  45. package/dist/agent/thread-data-builder.d.ts +4 -0
  46. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  47. package/dist/agent/thread-data-builder.js +1 -0
  48. package/dist/agent/thread-data-builder.js.map +1 -1
  49. package/dist/agent/types.d.ts +8 -0
  50. package/dist/agent/types.d.ts.map +1 -1
  51. package/dist/chat-threads/store.d.ts +3 -0
  52. package/dist/chat-threads/store.d.ts.map +1 -1
  53. package/dist/chat-threads/store.js +32 -0
  54. package/dist/chat-threads/store.js.map +1 -1
  55. package/dist/checkpoints/service.d.ts +1 -0
  56. package/dist/checkpoints/service.d.ts.map +1 -1
  57. package/dist/checkpoints/service.js +26 -2
  58. package/dist/checkpoints/service.js.map +1 -1
  59. package/dist/cli/create.d.ts +30 -0
  60. package/dist/cli/create.d.ts.map +1 -1
  61. package/dist/cli/create.js +25 -13
  62. package/dist/cli/create.js.map +1 -1
  63. package/dist/cli/templates-meta.d.ts.map +1 -1
  64. package/dist/cli/templates-meta.js +11 -0
  65. package/dist/cli/templates-meta.js.map +1 -1
  66. package/dist/client/AgentPanel.d.ts +3 -1
  67. package/dist/client/AgentPanel.d.ts.map +1 -1
  68. package/dist/client/AgentPanel.js +22 -11
  69. package/dist/client/AgentPanel.js.map +1 -1
  70. package/dist/client/AgentTaskCard.d.ts.map +1 -1
  71. package/dist/client/AgentTaskCard.js +2 -0
  72. package/dist/client/AgentTaskCard.js.map +1 -1
  73. package/dist/client/AssistantChat.d.ts +2 -0
  74. package/dist/client/AssistantChat.d.ts.map +1 -1
  75. package/dist/client/AssistantChat.js +159 -84
  76. package/dist/client/AssistantChat.js.map +1 -1
  77. package/dist/client/ConnectBuilderCard.d.ts +1 -7
  78. package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
  79. package/dist/client/ConnectBuilderCard.js +30 -132
  80. package/dist/client/ConnectBuilderCard.js.map +1 -1
  81. package/dist/client/ErrorBoundary.d.ts +1 -3
  82. package/dist/client/ErrorBoundary.d.ts.map +1 -1
  83. package/dist/client/ErrorBoundary.js +37 -9
  84. package/dist/client/ErrorBoundary.js.map +1 -1
  85. package/dist/client/FeedbackButton.d.ts.map +1 -1
  86. package/dist/client/FeedbackButton.js +4 -3
  87. package/dist/client/FeedbackButton.js.map +1 -1
  88. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  89. package/dist/client/MultiTabAssistantChat.js +169 -52
  90. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  91. package/dist/client/agent-chat.d.ts +11 -0
  92. package/dist/client/agent-chat.d.ts.map +1 -1
  93. package/dist/client/agent-chat.js +1 -1
  94. package/dist/client/agent-chat.js.map +1 -1
  95. package/dist/client/analytics.d.ts +5 -8
  96. package/dist/client/analytics.d.ts.map +1 -1
  97. package/dist/client/analytics.js +53 -11
  98. package/dist/client/analytics.js.map +1 -1
  99. package/dist/client/builder-mark.d.ts +9 -0
  100. package/dist/client/builder-mark.d.ts.map +1 -0
  101. package/dist/client/builder-mark.js +10 -0
  102. package/dist/client/builder-mark.js.map +1 -0
  103. package/dist/client/components/AgentPresenceChip.d.ts +12 -0
  104. package/dist/client/components/AgentPresenceChip.d.ts.map +1 -0
  105. package/dist/client/components/AgentPresenceChip.js +42 -0
  106. package/dist/client/components/AgentPresenceChip.js.map +1 -0
  107. package/dist/client/components/PresenceBar.d.ts +17 -0
  108. package/dist/client/components/PresenceBar.d.ts.map +1 -0
  109. package/dist/client/components/PresenceBar.js +118 -0
  110. package/dist/client/components/PresenceBar.js.map +1 -0
  111. package/dist/client/components/ui/popover.d.ts +8 -0
  112. package/dist/client/components/ui/popover.d.ts.map +1 -0
  113. package/dist/client/components/ui/popover.js +11 -0
  114. package/dist/client/components/ui/popover.js.map +1 -0
  115. package/dist/client/composer/ComposerPlusMenu.d.ts +7 -0
  116. package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -0
  117. package/dist/client/composer/ComposerPlusMenu.js +183 -0
  118. package/dist/client/composer/ComposerPlusMenu.js.map +1 -0
  119. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  120. package/dist/client/composer/TiptapComposer.js +244 -19
  121. package/dist/client/composer/TiptapComposer.js.map +1 -1
  122. package/dist/client/composer/types.d.ts +1 -0
  123. package/dist/client/composer/types.d.ts.map +1 -1
  124. package/dist/client/composer/useVoiceDictation.d.ts +2 -0
  125. package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
  126. package/dist/client/composer/useVoiceDictation.js +89 -12
  127. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  128. package/dist/client/error-format.d.ts +2 -0
  129. package/dist/client/error-format.d.ts.map +1 -0
  130. package/dist/client/error-format.js +31 -0
  131. package/dist/client/error-format.js.map +1 -0
  132. package/dist/client/index.d.ts +6 -1
  133. package/dist/client/index.d.ts.map +1 -1
  134. package/dist/client/index.js +8 -1
  135. package/dist/client/index.js.map +1 -1
  136. package/dist/client/observability/ObservabilityDashboard.d.ts +5 -0
  137. package/dist/client/observability/ObservabilityDashboard.d.ts.map +1 -0
  138. package/dist/client/observability/ObservabilityDashboard.js +169 -0
  139. package/dist/client/observability/ObservabilityDashboard.js.map +1 -0
  140. package/dist/client/observability/ThumbsFeedback.d.ts +8 -0
  141. package/dist/client/observability/ThumbsFeedback.d.ts.map +1 -0
  142. package/dist/client/observability/ThumbsFeedback.js +64 -0
  143. package/dist/client/observability/ThumbsFeedback.js.map +1 -0
  144. package/dist/client/observability/index.d.ts +4 -0
  145. package/dist/client/observability/index.d.ts.map +1 -0
  146. package/dist/client/observability/index.js +4 -0
  147. package/dist/client/observability/index.js.map +1 -0
  148. package/dist/client/observability/useObservability.d.ts +128 -0
  149. package/dist/client/observability/useObservability.d.ts.map +1 -0
  150. package/dist/client/observability/useObservability.js +109 -0
  151. package/dist/client/observability/useObservability.js.map +1 -0
  152. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  153. package/dist/client/onboarding/OnboardingPanel.js +34 -92
  154. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  155. package/dist/client/org/RequireActiveOrg.d.ts +33 -0
  156. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -0
  157. package/dist/client/org/RequireActiveOrg.js +68 -0
  158. package/dist/client/org/RequireActiveOrg.js.map +1 -0
  159. package/dist/client/org/TeamPage.d.ts.map +1 -1
  160. package/dist/client/org/TeamPage.js +125 -4
  161. package/dist/client/org/TeamPage.js.map +1 -1
  162. package/dist/client/org/hooks.d.ts +30 -0
  163. package/dist/client/org/hooks.d.ts.map +1 -1
  164. package/dist/client/org/hooks.js +115 -15
  165. package/dist/client/org/hooks.js.map +1 -1
  166. package/dist/client/org/index.d.ts +3 -2
  167. package/dist/client/org/index.d.ts.map +1 -1
  168. package/dist/client/org/index.js +2 -1
  169. package/dist/client/org/index.js.map +1 -1
  170. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  171. package/dist/client/resources/ResourcesPanel.js +8 -4
  172. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  173. package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
  174. package/dist/client/settings/AutomationsSection.js +2 -1
  175. package/dist/client/settings/AutomationsSection.js.map +1 -1
  176. package/dist/client/settings/BrowserSection.js +1 -1
  177. package/dist/client/settings/BrowserSection.js.map +1 -1
  178. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  179. package/dist/client/settings/SettingsPanel.js +133 -20
  180. package/dist/client/settings/SettingsPanel.js.map +1 -1
  181. package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
  182. package/dist/client/settings/VoiceTranscriptionSection.js +10 -4
  183. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  184. package/dist/client/settings/useBuilderStatus.d.ts +26 -0
  185. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  186. package/dist/client/settings/useBuilderStatus.js +128 -4
  187. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  188. package/dist/client/sse-event-processor.d.ts +2 -0
  189. package/dist/client/sse-event-processor.d.ts.map +1 -1
  190. package/dist/client/sse-event-processor.js +16 -2
  191. package/dist/client/sse-event-processor.js.map +1 -1
  192. package/dist/client/tools/ToolEditor.d.ts +5 -0
  193. package/dist/client/tools/ToolEditor.d.ts.map +1 -0
  194. package/dist/client/tools/ToolEditor.js +98 -0
  195. package/dist/client/tools/ToolEditor.js.map +1 -0
  196. package/dist/client/tools/ToolViewer.d.ts +5 -0
  197. package/dist/client/tools/ToolViewer.d.ts.map +1 -0
  198. package/dist/client/tools/ToolViewer.js +309 -0
  199. package/dist/client/tools/ToolViewer.js.map +1 -0
  200. package/dist/client/tools/ToolViewerPage.d.ts +2 -0
  201. package/dist/client/tools/ToolViewerPage.d.ts.map +1 -0
  202. package/dist/client/tools/ToolViewerPage.js +23 -0
  203. package/dist/client/tools/ToolViewerPage.js.map +1 -0
  204. package/dist/client/tools/ToolsListPage.d.ts +2 -0
  205. package/dist/client/tools/ToolsListPage.d.ts.map +1 -0
  206. package/dist/client/tools/ToolsListPage.js +72 -0
  207. package/dist/client/tools/ToolsListPage.js.map +1 -0
  208. package/dist/client/tools/ToolsSidebarSection.d.ts +2 -0
  209. package/dist/client/tools/ToolsSidebarSection.d.ts.map +1 -0
  210. package/dist/client/tools/ToolsSidebarSection.js +188 -0
  211. package/dist/client/tools/ToolsSidebarSection.js.map +1 -0
  212. package/dist/client/tools/index.d.ts +6 -0
  213. package/dist/client/tools/index.d.ts.map +1 -0
  214. package/dist/client/tools/index.js +6 -0
  215. package/dist/client/tools/index.js.map +1 -0
  216. package/dist/client/transcription/BuilderTranscriptionCta.d.ts +9 -0
  217. package/dist/client/transcription/BuilderTranscriptionCta.d.ts.map +1 -0
  218. package/dist/client/transcription/BuilderTranscriptionCta.js +18 -0
  219. package/dist/client/transcription/BuilderTranscriptionCta.js.map +1 -0
  220. package/dist/client/transcription/use-live-transcription.d.ts +29 -0
  221. package/dist/client/transcription/use-live-transcription.d.ts.map +1 -0
  222. package/dist/client/transcription/use-live-transcription.js +156 -0
  223. package/dist/client/transcription/use-live-transcription.js.map +1 -0
  224. package/dist/client/use-builder-enabled.d.ts +17 -0
  225. package/dist/client/use-builder-enabled.d.ts.map +1 -0
  226. package/dist/client/use-builder-enabled.js +36 -0
  227. package/dist/client/use-builder-enabled.js.map +1 -0
  228. package/dist/client/use-chat-threads.d.ts +1 -0
  229. package/dist/client/use-chat-threads.d.ts.map +1 -1
  230. package/dist/client/use-chat-threads.js +29 -0
  231. package/dist/client/use-chat-threads.js.map +1 -1
  232. package/dist/client/use-db-sync.d.ts.map +1 -1
  233. package/dist/client/use-db-sync.js +10 -8
  234. package/dist/client/use-db-sync.js.map +1 -1
  235. package/dist/client/useProductionAgent.d.ts.map +1 -1
  236. package/dist/client/useProductionAgent.js +3 -1
  237. package/dist/client/useProductionAgent.js.map +1 -1
  238. package/dist/collab/agent-identity.d.ts +15 -0
  239. package/dist/collab/agent-identity.d.ts.map +1 -0
  240. package/dist/collab/agent-identity.js +14 -0
  241. package/dist/collab/agent-identity.js.map +1 -0
  242. package/dist/collab/agent-presence.d.ts +59 -0
  243. package/dist/collab/agent-presence.d.ts.map +1 -0
  244. package/dist/collab/agent-presence.js +165 -0
  245. package/dist/collab/agent-presence.js.map +1 -0
  246. package/dist/collab/awareness.d.ts +7 -0
  247. package/dist/collab/awareness.d.ts.map +1 -1
  248. package/dist/collab/awareness.js +2 -2
  249. package/dist/collab/awareness.js.map +1 -1
  250. package/dist/collab/client-struct.d.ts +43 -0
  251. package/dist/collab/client-struct.d.ts.map +1 -0
  252. package/dist/collab/client-struct.js +272 -0
  253. package/dist/collab/client-struct.js.map +1 -0
  254. package/dist/collab/client.d.ts +2 -0
  255. package/dist/collab/client.d.ts.map +1 -1
  256. package/dist/collab/client.js +15 -1
  257. package/dist/collab/client.js.map +1 -1
  258. package/dist/collab/index.d.ts +6 -1
  259. package/dist/collab/index.d.ts.map +1 -1
  260. package/dist/collab/index.js +11 -1
  261. package/dist/collab/index.js.map +1 -1
  262. package/dist/collab/json-to-yjs.d.ts +72 -0
  263. package/dist/collab/json-to-yjs.d.ts.map +1 -0
  264. package/dist/collab/json-to-yjs.js +456 -0
  265. package/dist/collab/json-to-yjs.js.map +1 -0
  266. package/dist/collab/struct-routes.d.ts +52 -0
  267. package/dist/collab/struct-routes.d.ts.map +1 -0
  268. package/dist/collab/struct-routes.js +74 -0
  269. package/dist/collab/struct-routes.js.map +1 -0
  270. package/dist/collab/ydoc-manager.d.ts +19 -0
  271. package/dist/collab/ydoc-manager.d.ts.map +1 -1
  272. package/dist/collab/ydoc-manager.js +49 -0
  273. package/dist/collab/ydoc-manager.js.map +1 -1
  274. package/dist/db/migrations.d.ts +9 -0
  275. package/dist/db/migrations.d.ts.map +1 -1
  276. package/dist/db/migrations.js +75 -10
  277. package/dist/db/migrations.js.map +1 -1
  278. package/dist/deploy/build.js +1 -1
  279. package/dist/file-upload/builder.d.ts.map +1 -1
  280. package/dist/file-upload/builder.js +13 -5
  281. package/dist/file-upload/builder.js.map +1 -1
  282. package/dist/integrations/adapters/email.d.ts +17 -0
  283. package/dist/integrations/adapters/email.d.ts.map +1 -0
  284. package/dist/integrations/adapters/email.js +620 -0
  285. package/dist/integrations/adapters/email.js.map +1 -0
  286. package/dist/integrations/adapters/telegram.d.ts.map +1 -1
  287. package/dist/integrations/adapters/telegram.js +19 -3
  288. package/dist/integrations/adapters/telegram.js.map +1 -1
  289. package/dist/integrations/index.d.ts +1 -0
  290. package/dist/integrations/index.d.ts.map +1 -1
  291. package/dist/integrations/index.js +1 -0
  292. package/dist/integrations/index.js.map +1 -1
  293. package/dist/integrations/internal-token.d.ts +18 -0
  294. package/dist/integrations/internal-token.d.ts.map +1 -0
  295. package/dist/integrations/internal-token.js +86 -0
  296. package/dist/integrations/internal-token.js.map +1 -0
  297. package/dist/integrations/pending-tasks-retry-job.d.ts +15 -0
  298. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -0
  299. package/dist/integrations/pending-tasks-retry-job.js +199 -0
  300. package/dist/integrations/pending-tasks-retry-job.js.map +1 -0
  301. package/dist/integrations/pending-tasks-store.d.ts +40 -0
  302. package/dist/integrations/pending-tasks-store.d.ts.map +1 -0
  303. package/dist/integrations/pending-tasks-store.js +151 -0
  304. package/dist/integrations/pending-tasks-store.js.map +1 -0
  305. package/dist/integrations/plugin.d.ts.map +1 -1
  306. package/dist/integrations/plugin.js +151 -9
  307. package/dist/integrations/plugin.js.map +1 -1
  308. package/dist/integrations/task-queue-stats.d.ts +22 -0
  309. package/dist/integrations/task-queue-stats.d.ts.map +1 -0
  310. package/dist/integrations/task-queue-stats.js +117 -0
  311. package/dist/integrations/task-queue-stats.js.map +1 -0
  312. package/dist/integrations/types.d.ts +2 -0
  313. package/dist/integrations/types.d.ts.map +1 -1
  314. package/dist/integrations/webhook-handler.d.ts +23 -4
  315. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  316. package/dist/integrations/webhook-handler.js +217 -59
  317. package/dist/integrations/webhook-handler.js.map +1 -1
  318. package/dist/jobs/tools.d.ts.map +1 -1
  319. package/dist/jobs/tools.js +137 -161
  320. package/dist/jobs/tools.js.map +1 -1
  321. package/dist/mcp-client/manager.d.ts +3 -0
  322. package/dist/mcp-client/manager.d.ts.map +1 -1
  323. package/dist/mcp-client/manager.js +5 -0
  324. package/dist/mcp-client/manager.js.map +1 -1
  325. package/dist/notifications/actions.d.ts +2 -2
  326. package/dist/notifications/actions.d.ts.map +1 -1
  327. package/dist/notifications/actions.js +77 -69
  328. package/dist/notifications/actions.js.map +1 -1
  329. package/dist/oauth-tokens/google-refresh.d.ts.map +1 -1
  330. package/dist/oauth-tokens/google-refresh.js +6 -0
  331. package/dist/oauth-tokens/google-refresh.js.map +1 -1
  332. package/dist/observability/evals.d.ts +22 -0
  333. package/dist/observability/evals.d.ts.map +1 -0
  334. package/dist/observability/evals.js +371 -0
  335. package/dist/observability/evals.js.map +1 -0
  336. package/dist/observability/experiments.d.ts +24 -0
  337. package/dist/observability/experiments.d.ts.map +1 -0
  338. package/dist/observability/experiments.js +274 -0
  339. package/dist/observability/experiments.js.map +1 -0
  340. package/dist/observability/feedback.d.ts +14 -0
  341. package/dist/observability/feedback.d.ts.map +1 -0
  342. package/dist/observability/feedback.js +256 -0
  343. package/dist/observability/feedback.js.map +1 -0
  344. package/dist/observability/index.d.ts +6 -0
  345. package/dist/observability/index.d.ts.map +1 -0
  346. package/dist/observability/index.js +5 -0
  347. package/dist/observability/index.js.map +1 -0
  348. package/dist/observability/plugin.d.ts +2 -0
  349. package/dist/observability/plugin.d.ts.map +1 -0
  350. package/dist/observability/plugin.js +12 -0
  351. package/dist/observability/plugin.js.map +1 -0
  352. package/dist/observability/routes.d.ts +68 -0
  353. package/dist/observability/routes.d.ts.map +1 -0
  354. package/dist/observability/routes.js +301 -0
  355. package/dist/observability/routes.js.map +1 -0
  356. package/dist/observability/store.d.ts +77 -0
  357. package/dist/observability/store.d.ts.map +1 -0
  358. package/dist/observability/store.js +976 -0
  359. package/dist/observability/store.js.map +1 -0
  360. package/dist/observability/traces.d.ts +37 -0
  361. package/dist/observability/traces.d.ts.map +1 -0
  362. package/dist/observability/traces.js +182 -0
  363. package/dist/observability/traces.js.map +1 -0
  364. package/dist/observability/types.d.ts +159 -0
  365. package/dist/observability/types.d.ts.map +1 -0
  366. package/dist/observability/types.js +16 -0
  367. package/dist/observability/types.js.map +1 -0
  368. package/dist/onboarding/default-steps.d.ts.map +1 -1
  369. package/dist/onboarding/default-steps.js +15 -7
  370. package/dist/onboarding/default-steps.js.map +1 -1
  371. package/dist/onboarding/types.d.ts +10 -1
  372. package/dist/onboarding/types.d.ts.map +1 -1
  373. package/dist/org/context.d.ts +43 -1
  374. package/dist/org/context.d.ts.map +1 -1
  375. package/dist/org/context.js +299 -6
  376. package/dist/org/context.js.map +1 -1
  377. package/dist/org/handlers.d.ts +76 -0
  378. package/dist/org/handlers.d.ts.map +1 -1
  379. package/dist/org/handlers.js +460 -32
  380. package/dist/org/handlers.js.map +1 -1
  381. package/dist/org/index.d.ts +2 -2
  382. package/dist/org/index.d.ts.map +1 -1
  383. package/dist/org/index.js +2 -2
  384. package/dist/org/index.js.map +1 -1
  385. package/dist/org/migrations.d.ts.map +1 -1
  386. package/dist/org/migrations.js +8 -0
  387. package/dist/org/migrations.js.map +1 -1
  388. package/dist/org/plugin.d.ts +6 -0
  389. package/dist/org/plugin.d.ts.map +1 -1
  390. package/dist/org/plugin.js +71 -7
  391. package/dist/org/plugin.js.map +1 -1
  392. package/dist/org/schema.d.ts +38 -0
  393. package/dist/org/schema.d.ts.map +1 -1
  394. package/dist/org/schema.js +2 -0
  395. package/dist/org/schema.js.map +1 -1
  396. package/dist/org/types.d.ts +7 -0
  397. package/dist/org/types.d.ts.map +1 -1
  398. package/dist/progress/actions.d.ts +3 -0
  399. package/dist/progress/actions.d.ts.map +1 -1
  400. package/dist/progress/actions.js +86 -110
  401. package/dist/progress/actions.js.map +1 -1
  402. package/dist/progress/routes.d.ts +1 -1
  403. package/dist/progress/routes.js +1 -1
  404. package/dist/scripts/agent-engines/list-agent-engines.js +1 -1
  405. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
  406. package/dist/scripts/agent-engines/manage-agent-engine.d.ts +10 -0
  407. package/dist/scripts/agent-engines/manage-agent-engine.d.ts.map +1 -0
  408. package/dist/scripts/agent-engines/manage-agent-engine.js +47 -0
  409. package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -0
  410. package/dist/scripts/agent-engines/set-agent-engine.js +2 -2
  411. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
  412. package/dist/scripts/call-agent.d.ts.map +1 -1
  413. package/dist/scripts/call-agent.js +90 -18
  414. package/dist/scripts/call-agent.js.map +1 -1
  415. package/dist/scripts/db/index.d.ts.map +1 -1
  416. package/dist/scripts/db/index.js +2 -0
  417. package/dist/scripts/db/index.js.map +1 -1
  418. package/dist/scripts/db/migrate-user-api-keys.d.ts +24 -0
  419. package/dist/scripts/db/migrate-user-api-keys.d.ts.map +1 -0
  420. package/dist/scripts/db/migrate-user-api-keys.js +224 -0
  421. package/dist/scripts/db/migrate-user-api-keys.js.map +1 -0
  422. package/dist/scripts/db/wipe-leaked-builder-keys.d.ts +27 -0
  423. package/dist/scripts/db/wipe-leaked-builder-keys.d.ts.map +1 -0
  424. package/dist/scripts/db/wipe-leaked-builder-keys.js +163 -0
  425. package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -0
  426. package/dist/secrets/register-framework-secrets.d.ts +5 -0
  427. package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
  428. package/dist/secrets/register-framework-secrets.js +7 -44
  429. package/dist/secrets/register-framework-secrets.js.map +1 -1
  430. package/dist/secrets/substitution.d.ts.map +1 -1
  431. package/dist/secrets/substitution.js +14 -2
  432. package/dist/secrets/substitution.js.map +1 -1
  433. package/dist/server/action-discovery.d.ts.map +1 -1
  434. package/dist/server/action-discovery.js +39 -0
  435. package/dist/server/action-discovery.js.map +1 -1
  436. package/dist/server/action-routes.js +1 -1
  437. package/dist/server/action-routes.js.map +1 -1
  438. package/dist/server/agent-chat-plugin.d.ts +39 -0
  439. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  440. package/dist/server/agent-chat-plugin.js +869 -458
  441. package/dist/server/agent-chat-plugin.js.map +1 -1
  442. package/dist/server/agent-teams.js +1 -1
  443. package/dist/server/agent-teams.js.map +1 -1
  444. package/dist/server/analytics.d.ts +5 -6
  445. package/dist/server/analytics.d.ts.map +1 -1
  446. package/dist/server/analytics.js +6 -14
  447. package/dist/server/analytics.js.map +1 -1
  448. package/dist/server/app-name.d.ts +5 -2
  449. package/dist/server/app-name.d.ts.map +1 -1
  450. package/dist/server/app-name.js +14 -3
  451. package/dist/server/app-name.js.map +1 -1
  452. package/dist/server/app-url.d.ts.map +1 -1
  453. package/dist/server/app-url.js +10 -1
  454. package/dist/server/app-url.js.map +1 -1
  455. package/dist/server/auth.d.ts +16 -0
  456. package/dist/server/auth.d.ts.map +1 -1
  457. package/dist/server/auth.js +373 -7
  458. package/dist/server/auth.js.map +1 -1
  459. package/dist/server/better-auth-instance.d.ts +2 -0
  460. package/dist/server/better-auth-instance.d.ts.map +1 -1
  461. package/dist/server/better-auth-instance.js +4 -0
  462. package/dist/server/better-auth-instance.js.map +1 -1
  463. package/dist/server/builder-browser.d.ts +59 -1
  464. package/dist/server/builder-browser.d.ts.map +1 -1
  465. package/dist/server/builder-browser.js +139 -23
  466. package/dist/server/builder-browser.js.map +1 -1
  467. package/dist/server/collab-plugin.d.ts +4 -0
  468. package/dist/server/collab-plugin.d.ts.map +1 -1
  469. package/dist/server/collab-plugin.js +30 -4
  470. package/dist/server/collab-plugin.js.map +1 -1
  471. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  472. package/dist/server/core-routes-plugin.js +241 -33
  473. package/dist/server/core-routes-plugin.js.map +1 -1
  474. package/dist/server/credential-provider.d.ts +50 -2
  475. package/dist/server/credential-provider.d.ts.map +1 -1
  476. package/dist/server/credential-provider.js +125 -2
  477. package/dist/server/credential-provider.js.map +1 -1
  478. package/dist/server/design-token-utils.d.ts +132 -0
  479. package/dist/server/design-token-utils.d.ts.map +1 -0
  480. package/dist/server/design-token-utils.js +714 -0
  481. package/dist/server/design-token-utils.js.map +1 -0
  482. package/dist/server/email.d.ts +10 -0
  483. package/dist/server/email.d.ts.map +1 -1
  484. package/dist/server/email.js +63 -16
  485. package/dist/server/email.js.map +1 -1
  486. package/dist/server/framework-request-handler.d.ts.map +1 -1
  487. package/dist/server/framework-request-handler.js +38 -3
  488. package/dist/server/framework-request-handler.js.map +1 -1
  489. package/dist/server/google-oauth.d.ts +18 -1
  490. package/dist/server/google-oauth.d.ts.map +1 -1
  491. package/dist/server/google-oauth.js +21 -4
  492. package/dist/server/google-oauth.js.map +1 -1
  493. package/dist/server/index.d.ts +3 -3
  494. package/dist/server/index.d.ts.map +1 -1
  495. package/dist/server/index.js +3 -3
  496. package/dist/server/index.js.map +1 -1
  497. package/dist/server/onboarding-html.d.ts.map +1 -1
  498. package/dist/server/onboarding-html.js +43 -5
  499. package/dist/server/onboarding-html.js.map +1 -1
  500. package/dist/server/poll.d.ts.map +1 -1
  501. package/dist/server/poll.js +46 -5
  502. package/dist/server/poll.js.map +1 -1
  503. package/dist/server/ssr-handler.d.ts.map +1 -1
  504. package/dist/server/ssr-handler.js +2 -1
  505. package/dist/server/ssr-handler.js.map +1 -1
  506. package/dist/server/transcribe-voice.d.ts.map +1 -1
  507. package/dist/server/transcribe-voice.js +125 -21
  508. package/dist/server/transcribe-voice.js.map +1 -1
  509. package/dist/sharing/schema.d.ts +1 -1
  510. package/dist/styles/agent-native.css +16 -2
  511. package/dist/templates/default/.agents/skills/progress/SKILL.md +14 -12
  512. package/dist/templates/default/app/root.tsx +57 -13
  513. package/dist/templates/default/react-router.config.ts +3 -0
  514. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  515. package/dist/terminal/terminal-plugin.js +23 -3
  516. package/dist/terminal/terminal-plugin.js.map +1 -1
  517. package/dist/tools/actions.d.ts +3 -0
  518. package/dist/tools/actions.d.ts.map +1 -0
  519. package/dist/tools/actions.js +140 -0
  520. package/dist/tools/actions.js.map +1 -0
  521. package/dist/tools/fetch-tool.js +1 -1
  522. package/dist/tools/fetch-tool.js.map +1 -1
  523. package/dist/tools/html-shell.d.ts +2 -0
  524. package/dist/tools/html-shell.d.ts.map +1 -0
  525. package/dist/tools/html-shell.js +387 -0
  526. package/dist/tools/html-shell.js.map +1 -0
  527. package/dist/tools/routes.d.ts +2 -0
  528. package/dist/tools/routes.d.ts.map +1 -0
  529. package/dist/tools/routes.js +576 -0
  530. package/dist/tools/routes.js.map +1 -0
  531. package/dist/tools/schema.d.ts +575 -0
  532. package/dist/tools/schema.d.ts.map +1 -0
  533. package/dist/tools/schema.js +112 -0
  534. package/dist/tools/schema.js.map +1 -0
  535. package/dist/tools/store.d.ts +40 -0
  536. package/dist/tools/store.d.ts.map +1 -0
  537. package/dist/tools/store.js +190 -0
  538. package/dist/tools/store.js.map +1 -0
  539. package/dist/tools/theme.d.ts +2 -0
  540. package/dist/tools/theme.d.ts.map +1 -0
  541. package/dist/tools/theme.js +67 -0
  542. package/dist/tools/theme.js.map +1 -0
  543. package/dist/transcription/builder-transcription.d.ts +27 -0
  544. package/dist/transcription/builder-transcription.d.ts.map +1 -0
  545. package/dist/transcription/builder-transcription.js +53 -0
  546. package/dist/transcription/builder-transcription.js.map +1 -0
  547. package/dist/triggers/actions.d.ts +3 -0
  548. package/dist/triggers/actions.d.ts.map +1 -1
  549. package/dist/triggers/actions.js +189 -213
  550. package/dist/triggers/actions.js.map +1 -1
  551. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  552. package/dist/vite/action-types-plugin.js +10 -2
  553. package/dist/vite/action-types-plugin.js.map +1 -1
  554. package/dist/vite/client.d.ts.map +1 -1
  555. package/dist/vite/client.js +26 -6
  556. package/dist/vite/client.js.map +1 -1
  557. package/docs/content/a2a-protocol.md +2 -2
  558. package/docs/content/agent-mentions.md +1 -1
  559. package/docs/content/authentication.md +51 -0
  560. package/docs/content/automations.md +22 -19
  561. package/docs/content/cloneable-saas.md +59 -62
  562. package/docs/content/deployment.md +21 -61
  563. package/docs/content/faq.md +73 -43
  564. package/docs/content/getting-started.md +37 -61
  565. package/docs/content/key-concepts.md +1 -1
  566. package/docs/content/mcp-clients.md +14 -1
  567. package/docs/content/messaging.md +284 -0
  568. package/docs/content/{enterprise-workspace.md → multi-app-workspace.md} +3 -3
  569. package/docs/content/multi-tenancy.md +1 -1
  570. package/docs/content/progress.md +11 -11
  571. package/docs/content/pure-agent-apps.md +55 -28
  572. package/docs/content/template-calendar.md +61 -56
  573. package/docs/content/template-clips.md +22 -18
  574. package/docs/content/template-content.md +36 -26
  575. package/docs/content/template-dispatch.md +5 -4
  576. package/docs/content/template-forms.md +13 -11
  577. package/docs/content/template-slides.md +43 -31
  578. package/docs/content/template-video.md +49 -22
  579. package/docs/content/tools.md +107 -0
  580. package/docs/content/what-is-agent-native.md +89 -105
  581. package/docs/content/workspace-management.md +1 -1
  582. package/package.json +12 -2
  583. package/src/templates/default/.agents/skills/progress/SKILL.md +14 -12
  584. package/src/templates/default/app/root.tsx +57 -13
  585. package/src/templates/default/react-router.config.ts +3 -0
  586. package/docs/content/integrations.md +0 -198
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/integrations/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,yBAAyB,EAE1B,MAAM,YAAY,CAAC;AAapB,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAyD9D;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,yBAAyB,GAClC,cAAc,CAyMhB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,gBAA6B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/integrations/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,yBAAyB,EAE1B,MAAM,YAAY,CAAC;AA0BpB,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA0D9D;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,yBAAyB,GAClC,cAAc,CAgWhB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,gBAA6B,CAAC"}
@@ -1,14 +1,22 @@
1
1
  import { defineEventHandler, setResponseStatus, getMethod } from "h3";
2
2
  import { FRAMEWORK_ROUTE_PREFIX } from "../server/core-routes-plugin.js";
3
3
  import { getH3App } from "../server/framework-request-handler.js";
4
- import { handleWebhook } from "./webhook-handler.js";
4
+ import { handleWebhook, processIntegrationTask } from "./webhook-handler.js";
5
+ import { claimPendingTask, markTaskCompleted, markTaskFailed, } from "./pending-tasks-store.js";
6
+ import { extractBearerToken, verifyInternalToken } from "./internal-token.js";
7
+ import { readBody } from "../server/h3-helpers.js";
8
+ import { getRequestHeader } from "h3";
5
9
  import { getIntegrationConfig, saveIntegrationConfig } from "./config-store.js";
6
10
  import { slackAdapter } from "./adapters/slack.js";
7
11
  import { telegramAdapter } from "./adapters/telegram.js";
8
12
  import { whatsappAdapter } from "./adapters/whatsapp.js";
9
13
  import { googleDocsAdapter } from "./adapters/google-docs.js";
14
+ import { emailAdapter } from "./adapters/email.js";
10
15
  import { startGoogleDocsPoller, handlePushNotification, } from "./google-docs-poller.js";
16
+ import { startPendingTasksRetryJob } from "./pending-tasks-retry-job.js";
11
17
  import { resourceGetByPath, SHARED_OWNER } from "../resources/store.js";
18
+ import { getTaskQueueStats } from "./task-queue-stats.js";
19
+ import { getSession } from "../server/auth.js";
12
20
  /** Built-in adapters, instantiated lazily */
13
21
  function getDefaultAdapters() {
14
22
  return [
@@ -16,6 +24,7 @@ function getDefaultAdapters() {
16
24
  telegramAdapter(),
17
25
  whatsappAdapter(),
18
26
  googleDocsAdapter(),
27
+ emailAdapter(),
19
28
  ];
20
29
  }
21
30
  /**
@@ -74,11 +83,35 @@ export function createIntegrationsPlugin(options) {
74
83
  adapterMap.set(adapter.platform, adapter);
75
84
  }
76
85
  const model = options?.model ?? "claude-sonnet-4-6";
77
- const apiKey = options?.apiKey ?? process.env.ANTHROPIC_API_KEY ?? "";
86
+ // Read the API key at REQUEST time, not plugin-init time. On Netlify
87
+ // Lambda the plugin module loads in a context where env vars from the
88
+ // site's runtime config may not yet be populated, so capturing at
89
+ // init can leave us with an empty string forever. The getter
90
+ // re-resolves on every webhook so freshly-set secrets work without
91
+ // a redeploy.
92
+ const getApiKey = () => options?.apiKey ?? process.env.ANTHROPIC_API_KEY ?? "";
78
93
  // Build the system prompt
79
94
  const baseSystemPrompt = options?.systemPrompt ?? INTEGRATION_SYSTEM_PROMPT;
80
- // Resolve actions
81
- const actions = options?.actions ?? {};
95
+ // Resolve actions — auto-include call-agent so the integration agent can
96
+ // delegate to other A2A apps, matching the behavior of the agent-chat plugin.
97
+ const localActions = options?.actions ?? {};
98
+ let callAgentEntry = {};
99
+ try {
100
+ const mod = await import("../scripts/call-agent.js");
101
+ callAgentEntry = {
102
+ "call-agent": {
103
+ tool: mod.tool,
104
+ run: (args, context) => mod.run(args, context, options?.appId),
105
+ },
106
+ };
107
+ }
108
+ catch {
109
+ // call-agent script not available — skip
110
+ }
111
+ const actions = {
112
+ ...localActions,
113
+ ...callAgentEntry,
114
+ };
82
115
  const h3 = getH3App(nitroApp);
83
116
  const P = `${FRAMEWORK_ROUTE_PREFIX}/integrations`;
84
117
  // ─── Status endpoint (all integrations) ───────────────────────
@@ -98,6 +131,88 @@ export function createIntegrationsPlugin(options) {
98
131
  }
99
132
  return statuses;
100
133
  }));
134
+ // ─── Task queue status (observability) ───────────────────────
135
+ // GET /_agent-native/integrations/task-queue/status
136
+ // Returns counts + recent failures for the integration_pending_tasks
137
+ // queue. Requires a normal session — this exposes operational data, not
138
+ // platform secrets. If the queue table doesn't exist yet (no inbound
139
+ // webhook has been processed), returns zeroed stats rather than 500.
140
+ h3.use(`${P}/task-queue/status`, defineEventHandler(async (event) => {
141
+ if (getMethod(event) !== "GET") {
142
+ setResponseStatus(event, 405);
143
+ return { error: "Method not allowed" };
144
+ }
145
+ const session = await getSession(event).catch(() => null);
146
+ if (!session?.email) {
147
+ setResponseStatus(event, 401);
148
+ return { error: "unauthorized" };
149
+ }
150
+ try {
151
+ return await getTaskQueueStats();
152
+ }
153
+ catch (err) {
154
+ setResponseStatus(event, 500);
155
+ return { error: err?.message ?? String(err) };
156
+ }
157
+ }));
158
+ // ─── Process pending task (cross-platform task queue) ────────
159
+ // POST /_agent-native/integrations/process-task
160
+ // Internal endpoint invoked via fire-and-forget self-webhook from the
161
+ // public webhook handler. Auth: HMAC bearer signed with A2A_SECRET.
162
+ // Each invocation runs the agent loop in a fresh function execution.
163
+ h3.use(`${P}/process-task`, defineEventHandler(async (event) => {
164
+ if (getMethod(event) !== "POST") {
165
+ setResponseStatus(event, 405);
166
+ return { error: "Method not allowed" };
167
+ }
168
+ const body = (await readBody(event));
169
+ const taskId = body?.taskId;
170
+ if (!taskId) {
171
+ setResponseStatus(event, 400);
172
+ return { error: "taskId required" };
173
+ }
174
+ // Auth: HMAC token. Falls open when A2A_SECRET is unset (the SQL
175
+ // atomic claim is then the only gating factor — same posture as
176
+ // the A2A endpoint when no secret is configured).
177
+ if (process.env.A2A_SECRET) {
178
+ const tok = extractBearerToken(getRequestHeader(event, "authorization"));
179
+ if (!tok || !verifyInternalToken(taskId, tok)) {
180
+ setResponseStatus(event, 401);
181
+ return { error: "Invalid or expired internal token" };
182
+ }
183
+ }
184
+ // Atomic claim: only one invocation gets to process this task
185
+ const task = await claimPendingTask(taskId);
186
+ if (!task) {
187
+ setResponseStatus(event, 200);
188
+ return { ok: true, skipped: "already-claimed-or-missing" };
189
+ }
190
+ try {
191
+ const adapter = adapterMap.get(task.platform);
192
+ if (!adapter) {
193
+ await markTaskFailed(taskId, `Unknown platform: ${task.platform}`);
194
+ setResponseStatus(event, 404);
195
+ return { error: "Unknown platform" };
196
+ }
197
+ await processIntegrationTask(task, {
198
+ adapter,
199
+ systemPrompt: baseSystemPrompt,
200
+ actions,
201
+ model,
202
+ apiKey: getApiKey(),
203
+ ownerEmail: task.ownerEmail,
204
+ });
205
+ await markTaskCompleted(taskId);
206
+ return { ok: true, taskId };
207
+ }
208
+ catch (err) {
209
+ await markTaskFailed(taskId, err?.message
210
+ ? String(err.message).slice(0, 1000)
211
+ : "processor failed");
212
+ setResponseStatus(event, 500);
213
+ return { error: err?.message ?? String(err) };
214
+ }
215
+ }));
101
216
  // ─── Per-platform catch-all ───────────────────────────────────
102
217
  // Handles: webhook, status, enable, disable, setup for each platform
103
218
  h3.use(`${P}`, defineEventHandler(async (event) => {
@@ -108,6 +223,12 @@ export function createIntegrationsPlugin(options) {
108
223
  // Already handled by the dedicated /status route above
109
224
  if (parts[0] === "status" && parts.length === 1)
110
225
  return;
226
+ // Already handled by the dedicated /task-queue/status route above
227
+ if (parts[0] === "task-queue")
228
+ return;
229
+ // Already handled by the dedicated /process-task route above
230
+ if (parts[0] === "process-task")
231
+ return;
111
232
  const platform = parts[0];
112
233
  const action = parts[1]; // webhook, status, enable, disable, setup
113
234
  if (!platform) {
@@ -145,6 +266,12 @@ export function createIntegrationsPlugin(options) {
145
266
  });
146
267
  return "ok";
147
268
  }
269
+ // Handle platform verification challenges (e.g. Slack url_verification)
270
+ // before checking enable state or parsing the message.
271
+ const verification = await adapter.handleVerification(event);
272
+ if (verification.handled) {
273
+ return verification.response ?? "ok";
274
+ }
148
275
  const config = await getIntegrationConfig(platform);
149
276
  if (!config?.configData?.enabled) {
150
277
  setResponseStatus(event, 404);
@@ -155,9 +282,15 @@ export function createIntegrationsPlugin(options) {
155
282
  setResponseStatus(event, 200);
156
283
  return "ok";
157
284
  }
158
- const owner = options?.resolveOwner
159
- ? await options.resolveOwner(incoming)
160
- : `integration@${platform}`;
285
+ let owner = `integration@${platform}`;
286
+ if (options?.resolveOwner) {
287
+ try {
288
+ owner = await options.resolveOwner(incoming);
289
+ }
290
+ catch (err) {
291
+ console.error(`[integrations] resolveOwner failed, using default:`, err);
292
+ }
293
+ }
161
294
  const resources = await loadResourcesForPrompt(owner);
162
295
  const systemPrompt = baseSystemPrompt + resources;
163
296
  const result = await handleWebhook(event, {
@@ -165,9 +298,10 @@ export function createIntegrationsPlugin(options) {
165
298
  systemPrompt,
166
299
  actions,
167
300
  model,
168
- apiKey: options?.apiKey ?? process.env.ANTHROPIC_API_KEY ?? "",
301
+ apiKey: getApiKey(),
169
302
  ownerEmail: owner,
170
303
  beforeProcess: options?.beforeProcess,
304
+ incoming,
171
305
  });
172
306
  setResponseStatus(event, result.status);
173
307
  return result.body;
@@ -211,6 +345,14 @@ export function createIntegrationsPlugin(options) {
211
345
  setResponseStatus(event, 404);
212
346
  return { error: "Not found" };
213
347
  }));
348
+ // ─── Start pending-tasks retry sweeper ────────────────────────
349
+ // Sweeps the integration_pending_tasks queue every 60s and re-fires the
350
+ // processor for any tasks that got stuck (initial dispatch lost or
351
+ // processor killed mid-flight). No-ops gracefully if the queue table
352
+ // hasn't been created yet on this deployment.
353
+ startPendingTasksRetryJob({
354
+ webhookBaseUrl: process.env.WEBHOOK_BASE_URL,
355
+ });
214
356
  // ─── Start Google Docs poller/push ────────────────────────────
215
357
  if (adapterMap.has("google-docs")) {
216
358
  // Defer startup slightly so the server is fully ready
@@ -228,7 +370,7 @@ export function createIntegrationsPlugin(options) {
228
370
  systemPrompt: baseSystemPrompt,
229
371
  actions,
230
372
  model,
231
- apiKey,
373
+ apiKey: getApiKey(),
232
374
  ownerEmail: "integration@google-docs",
233
375
  webhookUrl,
234
376
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/integrations/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/integrations/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface RecentFailure {
2
+ id: string;
3
+ platform: string;
4
+ error: string;
5
+ attempts: number;
6
+ }
7
+ export interface TaskQueueStats {
8
+ pending: number;
9
+ processing: number;
10
+ completed_last_hour: number;
11
+ failed_last_hour: number;
12
+ oldest_pending_age_seconds: number;
13
+ recent_failures: RecentFailure[];
14
+ }
15
+ /**
16
+ * Get a snapshot of the integration task queue health.
17
+ *
18
+ * Returns zeros if the table doesn't exist yet — safe to call before the
19
+ * pending-tasks store has initialised the schema.
20
+ */
21
+ export declare function getTaskQueueStats(): Promise<TaskQueueStats>;
22
+ //# sourceMappingURL=task-queue-stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-queue-stats.d.ts","sourceRoot":"","sources":["../../src/integrations/task-queue-stats.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,0BAA0B,EAAE,MAAM,CAAC;IACnC,eAAe,EAAE,aAAa,EAAE,CAAC;CAClC;AAkBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CA8FjE"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Read-only observability helpers for the integration task queue.
3
+ *
4
+ * Lives in its own file so it stays out of `pending-tasks-store.ts`, which is
5
+ * actively being edited by the agent that owns the queue itself. These
6
+ * helpers only SELECT — they never write — and they degrade gracefully if
7
+ * the `integration_pending_tasks` table doesn't exist yet (returning zeroed
8
+ * stats instead of throwing).
9
+ */
10
+ import { getDbExec } from "../db/client.js";
11
+ const ZERO_STATS = {
12
+ pending: 0,
13
+ processing: 0,
14
+ completed_last_hour: 0,
15
+ failed_last_hour: 0,
16
+ oldest_pending_age_seconds: 0,
17
+ recent_failures: [],
18
+ };
19
+ function isMissingTableError(err) {
20
+ const msg = err instanceof Error ? err.message : String(err ?? "");
21
+ return /no such table|does not exist|relation .* does not exist|undefined_table/i.test(msg);
22
+ }
23
+ /**
24
+ * Get a snapshot of the integration task queue health.
25
+ *
26
+ * Returns zeros if the table doesn't exist yet — safe to call before the
27
+ * pending-tasks store has initialised the schema.
28
+ */
29
+ export async function getTaskQueueStats() {
30
+ const client = getDbExec();
31
+ const now = Date.now();
32
+ const oneHourAgo = now - 60 * 60 * 1000;
33
+ try {
34
+ // Status counts (pending, processing) — only need the live ones.
35
+ const liveCounts = await client.execute({
36
+ sql: `SELECT status, COUNT(*) AS c FROM integration_pending_tasks
37
+ WHERE status IN ('pending', 'processing')
38
+ GROUP BY status`,
39
+ args: [],
40
+ });
41
+ let pending = 0;
42
+ let processing = 0;
43
+ for (const row of liveCounts.rows) {
44
+ const status = row.status;
45
+ const count = Number(row.c ?? 0);
46
+ if (status === "pending")
47
+ pending = count;
48
+ else if (status === "processing")
49
+ processing = count;
50
+ }
51
+ // Last-hour completion + failure counts. updated_at is the most reliable
52
+ // column — completed_at can be null on failed tasks, and created_at would
53
+ // miss tasks queued >1h ago that just finished now.
54
+ const lastHourCounts = await client.execute({
55
+ sql: `SELECT status, COUNT(*) AS c FROM integration_pending_tasks
56
+ WHERE status IN ('completed', 'failed') AND updated_at >= ?
57
+ GROUP BY status`,
58
+ args: [oneHourAgo],
59
+ });
60
+ let completedLastHour = 0;
61
+ let failedLastHour = 0;
62
+ for (const row of lastHourCounts.rows) {
63
+ const status = row.status;
64
+ const count = Number(row.c ?? 0);
65
+ if (status === "completed")
66
+ completedLastHour = count;
67
+ else if (status === "failed")
68
+ failedLastHour = count;
69
+ }
70
+ // Oldest pending task — used to surface stuck queues.
71
+ let oldestPendingAgeSeconds = 0;
72
+ if (pending > 0) {
73
+ const oldest = await client.execute({
74
+ sql: `SELECT created_at FROM integration_pending_tasks
75
+ WHERE status = 'pending'
76
+ ORDER BY created_at ASC
77
+ LIMIT 1`,
78
+ args: [],
79
+ });
80
+ const oldestRow = oldest.rows[0];
81
+ if (oldestRow) {
82
+ const createdAt = Number(oldestRow.created_at ?? now);
83
+ oldestPendingAgeSeconds = Math.max(0, Math.floor((now - createdAt) / 1000));
84
+ }
85
+ }
86
+ // Recent failures, capped at 5 — enough to spot patterns without
87
+ // blowing up the response payload.
88
+ const failures = await client.execute({
89
+ sql: `SELECT id, platform, error_message, attempts FROM integration_pending_tasks
90
+ WHERE status = 'failed' AND updated_at >= ?
91
+ ORDER BY updated_at DESC
92
+ LIMIT 5`,
93
+ args: [oneHourAgo],
94
+ });
95
+ const recentFailures = failures.rows.map((row) => ({
96
+ id: String(row.id ?? ""),
97
+ platform: String(row.platform ?? ""),
98
+ error: String(row.error_message ?? ""),
99
+ attempts: Number(row.attempts ?? 0),
100
+ }));
101
+ return {
102
+ pending,
103
+ processing,
104
+ completed_last_hour: completedLastHour,
105
+ failed_last_hour: failedLastHour,
106
+ oldest_pending_age_seconds: oldestPendingAgeSeconds,
107
+ recent_failures: recentFailures,
108
+ };
109
+ }
110
+ catch (err) {
111
+ if (isMissingTableError(err)) {
112
+ return { ...ZERO_STATS, recent_failures: [] };
113
+ }
114
+ throw err;
115
+ }
116
+ }
117
+ //# sourceMappingURL=task-queue-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-queue-stats.js","sourceRoot":"","sources":["../../src/integrations/task-queue-stats.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,8 @@ export interface PlatformAdapter {
115
115
  * Options for the integrations plugin.
116
116
  */
117
117
  export interface IntegrationsPluginOptions {
118
+ /** App identifier used by call-agent to prevent self-calls (e.g. "dispatch"). */
119
+ appId?: string;
118
120
  /** Platform adapters to enable. Default: all built-in adapters with configured env keys. */
119
121
  adapters?: PlatformAdapter[];
120
122
  /** System prompt for the agent (same as agent-chat). Inherited from agent-chat plugin if not set. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/integrations/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/integrations/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { H3Event } from "h3";
2
2
  import type { PlatformAdapter, IncomingMessage } from "./types.js";
3
3
  import { type ActionEntry } from "../agent/production-agent.js";
4
+ import { type PendingTask } from "./pending-tasks-store.js";
4
5
  export interface WebhookHandlerOptions {
5
6
  adapter: PlatformAdapter;
6
7
  /** Resolved system prompt string */
@@ -13,6 +14,13 @@ export interface WebhookHandlerOptions {
13
14
  apiKey: string;
14
15
  /** Thread owner for personal/shared resource loading */
15
16
  ownerEmail: string;
17
+ /**
18
+ * Pre-parsed incoming message. When provided, handleWebhook skips its own
19
+ * verification + parsing steps. Required when the caller has already read
20
+ * the request body (h3 doesn't reliably cache parsed bodies, so re-parsing
21
+ * the same event hangs on streaming providers).
22
+ */
23
+ incoming?: IncomingMessage;
16
24
  /** Optional hook to intercept inbound commands before agent execution */
17
25
  beforeProcess?: (incoming: IncomingMessage, adapter: PlatformAdapter) => Promise<{
18
26
  handled: true;
@@ -28,13 +36,24 @@ export interface WebhookHandlerOptions {
28
36
  * 1. Handle verification challenges (Slack url_verification, etc.)
29
37
  * 2. Verify webhook signature
30
38
  * 3. Parse incoming message (null = ignored event)
31
- * 4. Return HTTP 200 immediately
32
- * 5. Resolve/create internal thread
33
- * 6. Run agent loop in background
34
- * 7. Post response back to platform
39
+ * 4. Persist task to SQL
40
+ * 5. Fire-and-forget POST to /_agent-native/integrations/process-task
41
+ * (a fresh function execution with its own timeout budget)
42
+ * 6. Return HTTP 200 immediately (within Slack's 3s SLA)
43
+ *
44
+ * The processor endpoint runs the actual agent loop. This split is essential
45
+ * for serverless platforms (Netlify Lambda, Vercel, Cloudflare Workers) which
46
+ * freeze the function as soon as the response is returned, killing any
47
+ * lingering background promises.
35
48
  */
36
49
  export declare function handleWebhook(event: H3Event, options: WebhookHandlerOptions): Promise<{
37
50
  status: number;
38
51
  body: unknown;
39
52
  }>;
53
+ /**
54
+ * Run the actual agent loop for a previously-enqueued task. Called by the
55
+ * processor endpoint in `plugin.ts`. This is a fresh function execution, so
56
+ * it gets its own timeout budget independent of the inbound webhook handler.
57
+ */
58
+ export declare function processIntegrationTask(task: PendingTask, options: WebhookHandlerOptions): Promise<void>;
40
59
  //# sourceMappingURL=webhook-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-handler.d.ts","sourceRoot":"","sources":["../../src/integrations/webhook-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AAoCtC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,CACd,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,eAAe,KACrB,OAAO,CACR;QACE,OAAO,EAAE,IAAI,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACD;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,CACrB,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAkD5C"}
1
+ {"version":3,"file":"webhook-handler.d.ts","sourceRoot":"","sources":["../../src/integrations/webhook-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AAWtC,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA6B/E,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,yEAAyE;IACzE,aAAa,CAAC,EAAE,CACd,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,eAAe,KACrB,OAAO,CACR;QACE,OAAO,EAAE,IAAI,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACD;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,CACrB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CA6D5C;AAuGD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAGf"}