@agent-native/core 0.7.14 → 0.7.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/README.md +56 -6
  2. package/dist/a2a/handlers.d.ts.map +1 -1
  3. package/dist/a2a/handlers.js +149 -24
  4. package/dist/a2a/handlers.js.map +1 -1
  5. package/dist/a2a/server.d.ts.map +1 -1
  6. package/dist/a2a/server.js +166 -51
  7. package/dist/a2a/server.js.map +1 -1
  8. package/dist/a2a/task-store.d.ts +10 -1
  9. package/dist/a2a/task-store.d.ts.map +1 -1
  10. package/dist/a2a/task-store.js +36 -2
  11. package/dist/a2a/task-store.js.map +1 -1
  12. package/dist/agent/default-model.d.ts +21 -0
  13. package/dist/agent/default-model.d.ts.map +1 -0
  14. package/dist/agent/default-model.js +21 -0
  15. package/dist/agent/default-model.js.map +1 -0
  16. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  17. package/dist/agent/engine/ai-sdk-engine.js +7 -4
  18. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  19. package/dist/agent/engine/anthropic-engine.d.ts +1 -1
  20. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  21. package/dist/agent/engine/anthropic-engine.js +10 -4
  22. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  23. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  24. package/dist/agent/engine/builder-engine.js +4 -1
  25. package/dist/agent/engine/builder-engine.js.map +1 -1
  26. package/dist/agent/engine/builtin.js +1 -1
  27. package/dist/agent/engine/builtin.js.map +1 -1
  28. package/dist/agent/engine/registry.d.ts +27 -7
  29. package/dist/agent/engine/registry.d.ts.map +1 -1
  30. package/dist/agent/engine/registry.js +101 -20
  31. package/dist/agent/engine/registry.js.map +1 -1
  32. package/dist/agent/index.d.ts +1 -0
  33. package/dist/agent/index.d.ts.map +1 -1
  34. package/dist/agent/index.js +1 -0
  35. package/dist/agent/index.js.map +1 -1
  36. package/dist/agent/production-agent.d.ts +25 -3
  37. package/dist/agent/production-agent.d.ts.map +1 -1
  38. package/dist/agent/production-agent.js +227 -36
  39. package/dist/agent/production-agent.js.map +1 -1
  40. package/dist/application-state/handlers.d.ts.map +1 -1
  41. package/dist/application-state/handlers.js +10 -6
  42. package/dist/application-state/handlers.js.map +1 -1
  43. package/dist/application-state/script-helpers.d.ts +1 -1
  44. package/dist/application-state/script-helpers.d.ts.map +1 -1
  45. package/dist/application-state/script-helpers.js +12 -8
  46. package/dist/application-state/script-helpers.js.map +1 -1
  47. package/dist/application-state/store.d.ts.map +1 -1
  48. package/dist/application-state/store.js +19 -10
  49. package/dist/application-state/store.js.map +1 -1
  50. package/dist/chat-threads/store.d.ts.map +1 -1
  51. package/dist/chat-threads/store.js +4 -1
  52. package/dist/chat-threads/store.js.map +1 -1
  53. package/dist/cli/create.d.ts.map +1 -1
  54. package/dist/cli/create.js +79 -13
  55. package/dist/cli/create.js.map +1 -1
  56. package/dist/cli/index.js +97 -39
  57. package/dist/cli/index.js.map +1 -1
  58. package/dist/cli/templates-meta.d.ts +4 -0
  59. package/dist/cli/templates-meta.d.ts.map +1 -1
  60. package/dist/cli/templates-meta.js +56 -12
  61. package/dist/cli/templates-meta.js.map +1 -1
  62. package/dist/cli/workspacify.d.ts +2 -0
  63. package/dist/cli/workspacify.d.ts.map +1 -1
  64. package/dist/cli/workspacify.js +5 -4
  65. package/dist/cli/workspacify.js.map +1 -1
  66. package/dist/client/AgentPanel.d.ts +5 -2
  67. package/dist/client/AgentPanel.d.ts.map +1 -1
  68. package/dist/client/AgentPanel.js +61 -23
  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 +3 -2
  72. package/dist/client/AgentTaskCard.js.map +1 -1
  73. package/dist/client/AssistantChat.d.ts.map +1 -1
  74. package/dist/client/AssistantChat.js +79 -16
  75. package/dist/client/AssistantChat.js.map +1 -1
  76. package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
  77. package/dist/client/ConnectBuilderCard.js +2 -1
  78. package/dist/client/ConnectBuilderCard.js.map +1 -1
  79. package/dist/client/DefaultSpinner.d.ts +1 -1
  80. package/dist/client/DefaultSpinner.d.ts.map +1 -1
  81. package/dist/client/DefaultSpinner.js +2 -9
  82. package/dist/client/DefaultSpinner.js.map +1 -1
  83. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  84. package/dist/client/MultiTabAssistantChat.js +20 -19
  85. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  86. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  87. package/dist/client/agent-chat-adapter.js +2 -1
  88. package/dist/client/agent-chat-adapter.js.map +1 -1
  89. package/dist/client/agent-chat.d.ts.map +1 -1
  90. package/dist/client/agent-chat.js +3 -1
  91. package/dist/client/agent-chat.js.map +1 -1
  92. package/dist/client/analytics.d.ts.map +1 -1
  93. package/dist/client/analytics.js +70 -1
  94. package/dist/client/analytics.js.map +1 -1
  95. package/dist/client/api-path.d.ts +5 -0
  96. package/dist/client/api-path.d.ts.map +1 -0
  97. package/dist/client/api-path.js +48 -0
  98. package/dist/client/api-path.js.map +1 -0
  99. package/dist/client/components/ApiKeySettings.d.ts.map +1 -1
  100. package/dist/client/components/ApiKeySettings.js +3 -2
  101. package/dist/client/components/ApiKeySettings.js.map +1 -1
  102. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  103. package/dist/client/components/CodeRequiredDialog.js +3 -2
  104. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  105. package/dist/client/composer/TiptapComposer.d.ts +3 -1
  106. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  107. package/dist/client/composer/TiptapComposer.js +9 -8
  108. package/dist/client/composer/TiptapComposer.js.map +1 -1
  109. package/dist/client/composer/draft-key.d.ts +2 -0
  110. package/dist/client/composer/draft-key.d.ts.map +1 -0
  111. package/dist/client/composer/draft-key.js +8 -0
  112. package/dist/client/composer/draft-key.js.map +1 -0
  113. package/dist/client/composer/use-file-search.d.ts.map +1 -1
  114. package/dist/client/composer/use-file-search.js +2 -1
  115. package/dist/client/composer/use-file-search.js.map +1 -1
  116. package/dist/client/composer/use-mention-search.d.ts.map +1 -1
  117. package/dist/client/composer/use-mention-search.js +2 -1
  118. package/dist/client/composer/use-mention-search.js.map +1 -1
  119. package/dist/client/composer/use-skills.d.ts.map +1 -1
  120. package/dist/client/composer/use-skills.js +2 -1
  121. package/dist/client/composer/use-skills.js.map +1 -1
  122. package/dist/client/composer/useVoiceDictation.d.ts +1 -1
  123. package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
  124. package/dist/client/composer/useVoiceDictation.js +16 -8
  125. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  126. package/dist/client/dev-mode.d.ts +14 -0
  127. package/dist/client/dev-mode.d.ts.map +1 -0
  128. package/dist/client/dev-mode.js +14 -0
  129. package/dist/client/dev-mode.js.map +1 -0
  130. package/dist/client/dev-overlay/DevOverlay.d.ts +26 -0
  131. package/dist/client/dev-overlay/DevOverlay.d.ts.map +1 -0
  132. package/dist/client/dev-overlay/DevOverlay.js +315 -0
  133. package/dist/client/dev-overlay/DevOverlay.js.map +1 -0
  134. package/dist/client/dev-overlay/builtins.d.ts +6 -0
  135. package/dist/client/dev-overlay/builtins.d.ts.map +1 -0
  136. package/dist/client/dev-overlay/builtins.js +35 -0
  137. package/dist/client/dev-overlay/builtins.js.map +1 -0
  138. package/dist/client/dev-overlay/index.d.ts +6 -0
  139. package/dist/client/dev-overlay/index.d.ts.map +1 -0
  140. package/dist/client/dev-overlay/index.js +5 -0
  141. package/dist/client/dev-overlay/index.js.map +1 -0
  142. package/dist/client/dev-overlay/registry.d.ts +13 -0
  143. package/dist/client/dev-overlay/registry.d.ts.map +1 -0
  144. package/dist/client/dev-overlay/registry.js +63 -0
  145. package/dist/client/dev-overlay/registry.js.map +1 -0
  146. package/dist/client/dev-overlay/types.d.ts +56 -0
  147. package/dist/client/dev-overlay/types.d.ts.map +1 -0
  148. package/dist/client/dev-overlay/types.js +9 -0
  149. package/dist/client/dev-overlay/types.js.map +1 -0
  150. package/dist/client/dev-overlay/use-dev-option.d.ts +12 -0
  151. package/dist/client/dev-overlay/use-dev-option.d.ts.map +1 -0
  152. package/dist/client/dev-overlay/use-dev-option.js +73 -0
  153. package/dist/client/dev-overlay/use-dev-option.js.map +1 -0
  154. package/dist/client/dev-overlay/use-dev-overlay-shortcut.d.ts +6 -0
  155. package/dist/client/dev-overlay/use-dev-overlay-shortcut.d.ts.map +1 -0
  156. package/dist/client/dev-overlay/use-dev-overlay-shortcut.js +29 -0
  157. package/dist/client/dev-overlay/use-dev-overlay-shortcut.js.map +1 -0
  158. package/dist/client/frame.d.ts +1 -0
  159. package/dist/client/frame.d.ts.map +1 -1
  160. package/dist/client/frame.js +32 -11
  161. package/dist/client/frame.js.map +1 -1
  162. package/dist/client/index.d.ts +4 -0
  163. package/dist/client/index.d.ts.map +1 -1
  164. package/dist/client/index.js +4 -0
  165. package/dist/client/index.js.map +1 -1
  166. package/dist/client/integrations/IntegrationCard.d.ts.map +1 -1
  167. package/dist/client/integrations/IntegrationCard.js +3 -2
  168. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  169. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
  170. package/dist/client/integrations/IntegrationsPanel.js +3 -2
  171. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  172. package/dist/client/integrations/useIntegrationStatus.d.ts.map +1 -1
  173. package/dist/client/integrations/useIntegrationStatus.js +2 -1
  174. package/dist/client/integrations/useIntegrationStatus.js.map +1 -1
  175. package/dist/client/notifications/NotificationsBell.d.ts.map +1 -1
  176. package/dist/client/notifications/NotificationsBell.js +26 -8
  177. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  178. package/dist/client/observability/ThumbsFeedback.d.ts.map +1 -1
  179. package/dist/client/observability/ThumbsFeedback.js +2 -1
  180. package/dist/client/observability/ThumbsFeedback.js.map +1 -1
  181. package/dist/client/observability/useObservability.d.ts.map +1 -1
  182. package/dist/client/observability/useObservability.js +2 -1
  183. package/dist/client/observability/useObservability.js.map +1 -1
  184. package/dist/client/onboarding/OnboardingPanel.d.ts +0 -7
  185. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  186. package/dist/client/onboarding/OnboardingPanel.js +20 -10
  187. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  188. package/dist/client/onboarding/index.d.ts +1 -0
  189. package/dist/client/onboarding/index.d.ts.map +1 -1
  190. package/dist/client/onboarding/index.js +1 -0
  191. package/dist/client/onboarding/index.js.map +1 -1
  192. package/dist/client/onboarding/use-onboarding.d.ts +1 -7
  193. package/dist/client/onboarding/use-onboarding.d.ts.map +1 -1
  194. package/dist/client/onboarding/use-onboarding.js +27 -13
  195. package/dist/client/onboarding/use-onboarding.js.map +1 -1
  196. package/dist/client/onboarding/use-preview-mode.d.ts +10 -0
  197. package/dist/client/onboarding/use-preview-mode.d.ts.map +1 -0
  198. package/dist/client/onboarding/use-preview-mode.js +35 -0
  199. package/dist/client/onboarding/use-preview-mode.js.map +1 -0
  200. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  201. package/dist/client/org/OrgSwitcher.js +2 -1
  202. package/dist/client/org/OrgSwitcher.js.map +1 -1
  203. package/dist/client/org/TeamPage.d.ts.map +1 -1
  204. package/dist/client/org/TeamPage.js +7 -5
  205. package/dist/client/org/TeamPage.js.map +1 -1
  206. package/dist/client/org/hooks.d.ts.map +1 -1
  207. package/dist/client/org/hooks.js +2 -1
  208. package/dist/client/org/hooks.js.map +1 -1
  209. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  210. package/dist/client/progress/RunsTray.js +2 -1
  211. package/dist/client/progress/RunsTray.js.map +1 -1
  212. package/dist/client/resources/McpServerDetail.d.ts +0 -8
  213. package/dist/client/resources/McpServerDetail.d.ts.map +1 -1
  214. package/dist/client/resources/McpServerDetail.js +6 -1
  215. package/dist/client/resources/McpServerDetail.js.map +1 -1
  216. package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
  217. package/dist/client/resources/ResourceEditor.js +2 -1
  218. package/dist/client/resources/ResourceEditor.js.map +1 -1
  219. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  220. package/dist/client/resources/ResourcesPanel.js +2 -1
  221. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  222. package/dist/client/resources/use-mcp-servers.d.ts.map +1 -1
  223. package/dist/client/resources/use-mcp-servers.js +7 -2
  224. package/dist/client/resources/use-mcp-servers.js.map +1 -1
  225. package/dist/client/resources/use-resources.d.ts.map +1 -1
  226. package/dist/client/resources/use-resources.js +9 -7
  227. package/dist/client/resources/use-resources.js.map +1 -1
  228. package/dist/client/settings/AgentsSection.d.ts.map +1 -1
  229. package/dist/client/settings/AgentsSection.js +7 -5
  230. package/dist/client/settings/AgentsSection.js.map +1 -1
  231. package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
  232. package/dist/client/settings/AutomationsSection.js +9 -5
  233. package/dist/client/settings/AutomationsSection.js.map +1 -1
  234. package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -1
  235. package/dist/client/settings/BackgroundAgentSection.js +2 -1
  236. package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
  237. package/dist/client/settings/SecretsSection.d.ts.map +1 -1
  238. package/dist/client/settings/SecretsSection.js +12 -4
  239. package/dist/client/settings/SecretsSection.js.map +1 -1
  240. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  241. package/dist/client/settings/SettingsPanel.js +15 -23
  242. package/dist/client/settings/SettingsPanel.js.map +1 -1
  243. package/dist/client/settings/UsageSection.d.ts.map +1 -1
  244. package/dist/client/settings/UsageSection.js +2 -1
  245. package/dist/client/settings/UsageSection.js.map +1 -1
  246. package/dist/client/settings/VoiceTranscriptionSection.d.ts +2 -4
  247. package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
  248. package/dist/client/settings/VoiceTranscriptionSection.js +66 -23
  249. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  250. package/dist/client/settings/useBuilderStatus.d.ts +9 -0
  251. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  252. package/dist/client/settings/useBuilderStatus.js +31 -3
  253. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  254. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  255. package/dist/client/sharing/ShareButton.js +7 -2
  256. package/dist/client/sharing/ShareButton.js.map +1 -1
  257. package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
  258. package/dist/client/sharing/ShareDialog.js +4 -3
  259. package/dist/client/sharing/ShareDialog.js.map +1 -1
  260. package/dist/client/terminal/AgentTerminal.d.ts +1 -0
  261. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  262. package/dist/client/terminal/AgentTerminal.js +12 -8
  263. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  264. package/dist/client/tools/EmbeddedTool.d.ts +20 -0
  265. package/dist/client/tools/EmbeddedTool.d.ts.map +1 -0
  266. package/dist/client/tools/EmbeddedTool.js +113 -0
  267. package/dist/client/tools/EmbeddedTool.js.map +1 -0
  268. package/dist/client/tools/ExtensionSlot.d.ts +27 -0
  269. package/dist/client/tools/ExtensionSlot.d.ts.map +1 -0
  270. package/dist/client/tools/ExtensionSlot.js +96 -0
  271. package/dist/client/tools/ExtensionSlot.js.map +1 -0
  272. package/dist/client/tools/ToolEditor.d.ts.map +1 -1
  273. package/dist/client/tools/ToolEditor.js +5 -4
  274. package/dist/client/tools/ToolEditor.js.map +1 -1
  275. package/dist/client/tools/ToolViewer.d.ts.map +1 -1
  276. package/dist/client/tools/ToolViewer.js +10 -44
  277. package/dist/client/tools/ToolViewer.js.map +1 -1
  278. package/dist/client/tools/ToolViewerPage.d.ts.map +1 -1
  279. package/dist/client/tools/ToolViewerPage.js +2 -1
  280. package/dist/client/tools/ToolViewerPage.js.map +1 -1
  281. package/dist/client/tools/ToolsListPage.d.ts.map +1 -1
  282. package/dist/client/tools/ToolsListPage.js +3 -2
  283. package/dist/client/tools/ToolsListPage.js.map +1 -1
  284. package/dist/client/tools/ToolsSidebarSection.d.ts.map +1 -1
  285. package/dist/client/tools/ToolsSidebarSection.js +4 -3
  286. package/dist/client/tools/ToolsSidebarSection.js.map +1 -1
  287. package/dist/client/tools/iframe-bridge.d.ts +16 -0
  288. package/dist/client/tools/iframe-bridge.d.ts.map +1 -0
  289. package/dist/client/tools/iframe-bridge.js +118 -0
  290. package/dist/client/tools/iframe-bridge.js.map +1 -0
  291. package/dist/client/tools/index.d.ts +2 -0
  292. package/dist/client/tools/index.d.ts.map +1 -1
  293. package/dist/client/tools/index.js +2 -0
  294. package/dist/client/tools/index.js.map +1 -1
  295. package/dist/client/use-action.d.ts.map +1 -1
  296. package/dist/client/use-action.js +2 -1
  297. package/dist/client/use-action.js.map +1 -1
  298. package/dist/client/use-avatar.d.ts.map +1 -1
  299. package/dist/client/use-avatar.js +3 -2
  300. package/dist/client/use-avatar.js.map +1 -1
  301. package/dist/client/use-builder-enabled.d.ts.map +1 -1
  302. package/dist/client/use-builder-enabled.js +2 -1
  303. package/dist/client/use-builder-enabled.js.map +1 -1
  304. package/dist/client/use-chat-threads.d.ts.map +1 -1
  305. package/dist/client/use-chat-threads.js +2 -1
  306. package/dist/client/use-chat-threads.js.map +1 -1
  307. package/dist/client/use-db-sync.d.ts.map +1 -1
  308. package/dist/client/use-db-sync.js +3 -2
  309. package/dist/client/use-db-sync.js.map +1 -1
  310. package/dist/client/use-dev-mode.d.ts.map +1 -1
  311. package/dist/client/use-dev-mode.js +2 -1
  312. package/dist/client/use-dev-mode.js.map +1 -1
  313. package/dist/client/use-send-to-agent-chat.d.ts.map +1 -1
  314. package/dist/client/use-send-to-agent-chat.js +3 -1
  315. package/dist/client/use-send-to-agent-chat.js.map +1 -1
  316. package/dist/client/use-session.d.ts.map +1 -1
  317. package/dist/client/use-session.js +2 -1
  318. package/dist/client/use-session.js.map +1 -1
  319. package/dist/client/useProductionAgent.d.ts.map +1 -1
  320. package/dist/client/useProductionAgent.js +2 -1
  321. package/dist/client/useProductionAgent.js.map +1 -1
  322. package/dist/collab/client.d.ts.map +1 -1
  323. package/dist/collab/client.js +3 -2
  324. package/dist/collab/client.js.map +1 -1
  325. package/dist/credentials/index.d.ts +27 -10
  326. package/dist/credentials/index.d.ts.map +1 -1
  327. package/dist/credentials/index.js +61 -19
  328. package/dist/credentials/index.js.map +1 -1
  329. package/dist/db/client.d.ts.map +1 -1
  330. package/dist/db/client.js +10 -1
  331. package/dist/db/client.js.map +1 -1
  332. package/dist/db/migrations.d.ts +13 -5
  333. package/dist/db/migrations.d.ts.map +1 -1
  334. package/dist/db/migrations.js +9 -2
  335. package/dist/db/migrations.js.map +1 -1
  336. package/dist/deploy/build.d.ts +12 -1
  337. package/dist/deploy/build.d.ts.map +1 -1
  338. package/dist/deploy/build.js +195 -23
  339. package/dist/deploy/build.js.map +1 -1
  340. package/dist/file-upload/registry.d.ts.map +1 -1
  341. package/dist/file-upload/registry.js +25 -1
  342. package/dist/file-upload/registry.js.map +1 -1
  343. package/dist/index.d.ts +1 -1
  344. package/dist/index.d.ts.map +1 -1
  345. package/dist/index.js +1 -1
  346. package/dist/index.js.map +1 -1
  347. package/dist/integrations/adapters/email.d.ts.map +1 -1
  348. package/dist/integrations/adapters/email.js +152 -32
  349. package/dist/integrations/adapters/email.js.map +1 -1
  350. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  351. package/dist/integrations/adapters/slack.js +190 -32
  352. package/dist/integrations/adapters/slack.js.map +1 -1
  353. package/dist/integrations/adapters/telegram.d.ts.map +1 -1
  354. package/dist/integrations/adapters/telegram.js +37 -2
  355. package/dist/integrations/adapters/telegram.js.map +1 -1
  356. package/dist/integrations/adapters/whatsapp.d.ts.map +1 -1
  357. package/dist/integrations/adapters/whatsapp.js +91 -12
  358. package/dist/integrations/adapters/whatsapp.js.map +1 -1
  359. package/dist/integrations/google-docs-poller.d.ts.map +1 -1
  360. package/dist/integrations/google-docs-poller.js +5 -2
  361. package/dist/integrations/google-docs-poller.js.map +1 -1
  362. package/dist/integrations/internal-token.d.ts.map +1 -1
  363. package/dist/integrations/internal-token.js +17 -1
  364. package/dist/integrations/internal-token.js.map +1 -1
  365. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
  366. package/dist/integrations/pending-tasks-retry-job.js +18 -7
  367. package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
  368. package/dist/integrations/pending-tasks-store.d.ts +16 -0
  369. package/dist/integrations/pending-tasks-store.d.ts.map +1 -1
  370. package/dist/integrations/pending-tasks-store.js +58 -5
  371. package/dist/integrations/pending-tasks-store.js.map +1 -1
  372. package/dist/integrations/plugin.d.ts.map +1 -1
  373. package/dist/integrations/plugin.js +198 -15
  374. package/dist/integrations/plugin.js.map +1 -1
  375. package/dist/integrations/types.d.ts +33 -2
  376. package/dist/integrations/types.d.ts.map +1 -1
  377. package/dist/integrations/webhook-handler.d.ts +6 -0
  378. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  379. package/dist/integrations/webhook-handler.js +141 -61
  380. package/dist/integrations/webhook-handler.js.map +1 -1
  381. package/dist/jobs/cron.d.ts.map +1 -1
  382. package/dist/jobs/cron.js +12 -4
  383. package/dist/jobs/cron.js.map +1 -1
  384. package/dist/jobs/scheduler.d.ts.map +1 -1
  385. package/dist/jobs/scheduler.js +141 -16
  386. package/dist/jobs/scheduler.js.map +1 -1
  387. package/dist/jobs/tools.d.ts.map +1 -1
  388. package/dist/jobs/tools.js +94 -3
  389. package/dist/jobs/tools.js.map +1 -1
  390. package/dist/mcp/server.d.ts.map +1 -1
  391. package/dist/mcp/server.js +128 -62
  392. package/dist/mcp/server.js.map +1 -1
  393. package/dist/mcp-client/hub-routes.d.ts +14 -0
  394. package/dist/mcp-client/hub-routes.d.ts.map +1 -1
  395. package/dist/mcp-client/hub-routes.js +42 -2
  396. package/dist/mcp-client/hub-routes.js.map +1 -1
  397. package/dist/mcp-client/index.d.ts +1 -1
  398. package/dist/mcp-client/index.d.ts.map +1 -1
  399. package/dist/mcp-client/index.js +1 -1
  400. package/dist/mcp-client/index.js.map +1 -1
  401. package/dist/mcp-client/manager.d.ts.map +1 -1
  402. package/dist/mcp-client/manager.js +28 -3
  403. package/dist/mcp-client/manager.js.map +1 -1
  404. package/dist/mcp-client/remote-store.d.ts +49 -1
  405. package/dist/mcp-client/remote-store.d.ts.map +1 -1
  406. package/dist/mcp-client/remote-store.js +253 -6
  407. package/dist/mcp-client/remote-store.js.map +1 -1
  408. package/dist/mcp-client/routes.d.ts.map +1 -1
  409. package/dist/mcp-client/routes.js +11 -9
  410. package/dist/mcp-client/routes.js.map +1 -1
  411. package/dist/mcp-client/visibility.d.ts +7 -3
  412. package/dist/mcp-client/visibility.d.ts.map +1 -1
  413. package/dist/mcp-client/visibility.js +16 -7
  414. package/dist/mcp-client/visibility.js.map +1 -1
  415. package/dist/notifications/actions.d.ts.map +1 -1
  416. package/dist/notifications/actions.js +7 -1
  417. package/dist/notifications/actions.js.map +1 -1
  418. package/dist/notifications/routes.d.ts +1 -1
  419. package/dist/notifications/routes.d.ts.map +1 -1
  420. package/dist/notifications/routes.js +20 -3
  421. package/dist/notifications/routes.js.map +1 -1
  422. package/dist/notifications/store.d.ts.map +1 -1
  423. package/dist/notifications/store.js +6 -1
  424. package/dist/notifications/store.js.map +1 -1
  425. package/dist/oauth-tokens/store.d.ts +43 -2
  426. package/dist/oauth-tokens/store.d.ts.map +1 -1
  427. package/dist/oauth-tokens/store.js +83 -14
  428. package/dist/oauth-tokens/store.js.map +1 -1
  429. package/dist/observability/experiments.js +5 -5
  430. package/dist/observability/experiments.js.map +1 -1
  431. package/dist/observability/routes.d.ts.map +1 -1
  432. package/dist/observability/routes.js +37 -8
  433. package/dist/observability/routes.js.map +1 -1
  434. package/dist/observability/store.d.ts.map +1 -1
  435. package/dist/observability/store.js +19 -3
  436. package/dist/observability/store.js.map +1 -1
  437. package/dist/observability/types.d.ts +7 -0
  438. package/dist/observability/types.d.ts.map +1 -1
  439. package/dist/observability/types.js.map +1 -1
  440. package/dist/onboarding/default-steps.d.ts.map +1 -1
  441. package/dist/onboarding/default-steps.js +1 -2
  442. package/dist/onboarding/default-steps.js.map +1 -1
  443. package/dist/onboarding/plugin.d.ts.map +1 -1
  444. package/dist/onboarding/plugin.js +63 -32
  445. package/dist/onboarding/plugin.js.map +1 -1
  446. package/dist/onboarding/types.d.ts +6 -1
  447. package/dist/onboarding/types.d.ts.map +1 -1
  448. package/dist/org/accept-pending.d.ts.map +1 -1
  449. package/dist/org/accept-pending.js +2 -1
  450. package/dist/org/accept-pending.js.map +1 -1
  451. package/dist/progress/actions.d.ts.map +1 -1
  452. package/dist/progress/actions.js +10 -1
  453. package/dist/progress/actions.js.map +1 -1
  454. package/dist/progress/routes.d.ts +1 -1
  455. package/dist/progress/routes.d.ts.map +1 -1
  456. package/dist/progress/routes.js +20 -3
  457. package/dist/progress/routes.js.map +1 -1
  458. package/dist/progress/store.d.ts.map +1 -1
  459. package/dist/progress/store.js +6 -1
  460. package/dist/progress/store.js.map +1 -1
  461. package/dist/resources/handlers.d.ts.map +1 -1
  462. package/dist/resources/handlers.js +35 -7
  463. package/dist/resources/handlers.js.map +1 -1
  464. package/dist/resources/script-helpers.d.ts.map +1 -1
  465. package/dist/resources/script-helpers.js +15 -3
  466. package/dist/resources/script-helpers.js.map +1 -1
  467. package/dist/resources/store.d.ts.map +1 -1
  468. package/dist/resources/store.js +12 -4
  469. package/dist/resources/store.js.map +1 -1
  470. package/dist/scripts/call-agent.d.ts +1 -0
  471. package/dist/scripts/call-agent.d.ts.map +1 -1
  472. package/dist/scripts/call-agent.js +78 -40
  473. package/dist/scripts/call-agent.js.map +1 -1
  474. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  475. package/dist/scripts/chat/search-chats.js +3 -2
  476. package/dist/scripts/chat/search-chats.js.map +1 -1
  477. package/dist/scripts/db/exec.d.ts +1 -1
  478. package/dist/scripts/db/exec.d.ts.map +1 -1
  479. package/dist/scripts/db/exec.js +22 -3
  480. package/dist/scripts/db/exec.js.map +1 -1
  481. package/dist/scripts/db/migrate-user-api-keys.d.ts.map +1 -1
  482. package/dist/scripts/db/migrate-user-api-keys.js +10 -0
  483. package/dist/scripts/db/migrate-user-api-keys.js.map +1 -1
  484. package/dist/scripts/db/query.d.ts +1 -1
  485. package/dist/scripts/db/query.d.ts.map +1 -1
  486. package/dist/scripts/db/query.js +22 -3
  487. package/dist/scripts/db/query.js.map +1 -1
  488. package/dist/scripts/db/scoping.d.ts.map +1 -1
  489. package/dist/scripts/db/scoping.js +15 -9
  490. package/dist/scripts/db/scoping.js.map +1 -1
  491. package/dist/scripts/dev/shell.d.ts.map +1 -1
  492. package/dist/scripts/dev/shell.js +3 -1
  493. package/dist/scripts/dev/shell.js.map +1 -1
  494. package/dist/scripts/resources/delete-memory.d.ts.map +1 -1
  495. package/dist/scripts/resources/delete-memory.js +2 -1
  496. package/dist/scripts/resources/delete-memory.js.map +1 -1
  497. package/dist/scripts/resources/delete.d.ts.map +1 -1
  498. package/dist/scripts/resources/delete.js +2 -1
  499. package/dist/scripts/resources/delete.js.map +1 -1
  500. package/dist/scripts/resources/list.d.ts.map +1 -1
  501. package/dist/scripts/resources/list.js +2 -1
  502. package/dist/scripts/resources/list.js.map +1 -1
  503. package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
  504. package/dist/scripts/resources/migrate-learnings.js +2 -1
  505. package/dist/scripts/resources/migrate-learnings.js.map +1 -1
  506. package/dist/scripts/resources/read.d.ts.map +1 -1
  507. package/dist/scripts/resources/read.js +2 -1
  508. package/dist/scripts/resources/read.js.map +1 -1
  509. package/dist/scripts/resources/save-memory.d.ts.map +1 -1
  510. package/dist/scripts/resources/save-memory.js +2 -1
  511. package/dist/scripts/resources/save-memory.js.map +1 -1
  512. package/dist/scripts/resources/write.d.ts.map +1 -1
  513. package/dist/scripts/resources/write.js +2 -1
  514. package/dist/scripts/resources/write.js.map +1 -1
  515. package/dist/secrets/onboarding.d.ts.map +1 -1
  516. package/dist/secrets/onboarding.js +24 -16
  517. package/dist/secrets/onboarding.js.map +1 -1
  518. package/dist/secrets/routes.d.ts.map +1 -1
  519. package/dist/secrets/routes.js +139 -37
  520. package/dist/secrets/routes.js.map +1 -1
  521. package/dist/secrets/storage.d.ts.map +1 -1
  522. package/dist/secrets/storage.js +23 -12
  523. package/dist/secrets/storage.js.map +1 -1
  524. package/dist/secrets/substitution.d.ts +24 -2
  525. package/dist/secrets/substitution.d.ts.map +1 -1
  526. package/dist/secrets/substitution.js +44 -6
  527. package/dist/secrets/substitution.js.map +1 -1
  528. package/dist/server/action-discovery.d.ts.map +1 -1
  529. package/dist/server/action-discovery.js +15 -51
  530. package/dist/server/action-discovery.js.map +1 -1
  531. package/dist/server/action-routes.d.ts.map +1 -1
  532. package/dist/server/action-routes.js +42 -15
  533. package/dist/server/action-routes.js.map +1 -1
  534. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  535. package/dist/server/agent-chat-plugin.js +447 -335
  536. package/dist/server/agent-chat-plugin.js.map +1 -1
  537. package/dist/server/agent-discovery.d.ts +8 -0
  538. package/dist/server/agent-discovery.d.ts.map +1 -1
  539. package/dist/server/agent-discovery.js +39 -12
  540. package/dist/server/agent-discovery.js.map +1 -1
  541. package/dist/server/agent-teams.d.ts.map +1 -1
  542. package/dist/server/agent-teams.js +4 -1
  543. package/dist/server/agent-teams.js.map +1 -1
  544. package/dist/server/analytics.d.ts +0 -1
  545. package/dist/server/analytics.d.ts.map +1 -1
  546. package/dist/server/analytics.js +0 -1
  547. package/dist/server/analytics.js.map +1 -1
  548. package/dist/server/app-base-path.d.ts +4 -0
  549. package/dist/server/app-base-path.d.ts.map +1 -0
  550. package/dist/server/app-base-path.js +33 -0
  551. package/dist/server/app-base-path.js.map +1 -0
  552. package/dist/server/auth.d.ts +15 -0
  553. package/dist/server/auth.d.ts.map +1 -1
  554. package/dist/server/auth.js +400 -68
  555. package/dist/server/auth.js.map +1 -1
  556. package/dist/server/better-auth-instance.d.ts +1 -0
  557. package/dist/server/better-auth-instance.d.ts.map +1 -1
  558. package/dist/server/better-auth-instance.js +67 -15
  559. package/dist/server/better-auth-instance.js.map +1 -1
  560. package/dist/server/builder-browser.d.ts +15 -0
  561. package/dist/server/builder-browser.d.ts.map +1 -1
  562. package/dist/server/builder-browser.js +90 -4
  563. package/dist/server/builder-browser.js.map +1 -1
  564. package/dist/server/cli-capture.d.ts +31 -0
  565. package/dist/server/cli-capture.d.ts.map +1 -0
  566. package/dist/server/cli-capture.js +120 -0
  567. package/dist/server/cli-capture.js.map +1 -0
  568. package/dist/server/collab-plugin.d.ts +12 -0
  569. package/dist/server/collab-plugin.d.ts.map +1 -1
  570. package/dist/server/collab-plugin.js +63 -21
  571. package/dist/server/collab-plugin.js.map +1 -1
  572. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  573. package/dist/server/core-routes-plugin.js +435 -106
  574. package/dist/server/core-routes-plugin.js.map +1 -1
  575. package/dist/server/create-server.d.ts +2 -0
  576. package/dist/server/create-server.d.ts.map +1 -1
  577. package/dist/server/create-server.js +82 -11
  578. package/dist/server/create-server.js.map +1 -1
  579. package/dist/server/credential-provider.d.ts +11 -0
  580. package/dist/server/credential-provider.d.ts.map +1 -1
  581. package/dist/server/credential-provider.js +51 -2
  582. package/dist/server/credential-provider.js.map +1 -1
  583. package/dist/server/csrf.d.ts +58 -0
  584. package/dist/server/csrf.d.ts.map +1 -0
  585. package/dist/server/csrf.js +165 -0
  586. package/dist/server/csrf.js.map +1 -0
  587. package/dist/server/framework-request-handler.d.ts +20 -0
  588. package/dist/server/framework-request-handler.d.ts.map +1 -1
  589. package/dist/server/framework-request-handler.js +115 -34
  590. package/dist/server/framework-request-handler.js.map +1 -1
  591. package/dist/server/google-auth-plugin.d.ts.map +1 -1
  592. package/dist/server/google-auth-plugin.js +10 -2
  593. package/dist/server/google-auth-plugin.js.map +1 -1
  594. package/dist/server/google-oauth.d.ts +84 -2
  595. package/dist/server/google-oauth.d.ts.map +1 -1
  596. package/dist/server/google-oauth.js +248 -45
  597. package/dist/server/google-oauth.js.map +1 -1
  598. package/dist/server/index.d.ts +4 -4
  599. package/dist/server/index.d.ts.map +1 -1
  600. package/dist/server/index.js +4 -4
  601. package/dist/server/index.js.map +1 -1
  602. package/dist/server/oauth-helpers.d.ts +8 -3
  603. package/dist/server/oauth-helpers.d.ts.map +1 -1
  604. package/dist/server/oauth-helpers.js +12 -8
  605. package/dist/server/oauth-helpers.js.map +1 -1
  606. package/dist/server/onboarding-html.d.ts.map +1 -1
  607. package/dist/server/onboarding-html.js +37 -9
  608. package/dist/server/onboarding-html.js.map +1 -1
  609. package/dist/server/poll.d.ts +33 -0
  610. package/dist/server/poll.d.ts.map +1 -1
  611. package/dist/server/poll.js +43 -2
  612. package/dist/server/poll.js.map +1 -1
  613. package/dist/server/request-context.d.ts +102 -3
  614. package/dist/server/request-context.d.ts.map +1 -1
  615. package/dist/server/request-context.js +100 -7
  616. package/dist/server/request-context.js.map +1 -1
  617. package/dist/server/security-headers.d.ts +51 -0
  618. package/dist/server/security-headers.d.ts.map +1 -0
  619. package/dist/server/security-headers.js +90 -0
  620. package/dist/server/security-headers.js.map +1 -0
  621. package/dist/server/ssr-handler.d.ts.map +1 -1
  622. package/dist/server/ssr-handler.js +96 -2
  623. package/dist/server/ssr-handler.js.map +1 -1
  624. package/dist/server/transcribe-voice.d.ts.map +1 -1
  625. package/dist/server/transcribe-voice.js +307 -56
  626. package/dist/server/transcribe-voice.js.map +1 -1
  627. package/dist/server/voice-providers-status.d.ts +12 -0
  628. package/dist/server/voice-providers-status.d.ts.map +1 -0
  629. package/dist/server/voice-providers-status.js +71 -0
  630. package/dist/server/voice-providers-status.js.map +1 -0
  631. package/dist/sharing/access.d.ts.map +1 -1
  632. package/dist/sharing/access.js +16 -13
  633. package/dist/sharing/access.js.map +1 -1
  634. package/dist/sharing/actions/share-resource.d.ts +1 -0
  635. package/dist/sharing/actions/share-resource.d.ts.map +1 -1
  636. package/dist/sharing/actions/share-resource.js +45 -0
  637. package/dist/sharing/actions/share-resource.js.map +1 -1
  638. package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +54 -0
  639. package/dist/templates/default/app/root.tsx +1 -1
  640. package/dist/templates/default/app/routes/_index.tsx +6 -1
  641. package/dist/templates/default/public/favicon.svg +13 -0
  642. package/dist/templates/default/public/icon-180.svg +12 -3
  643. package/dist/templates/default/public/icon-192.svg +12 -3
  644. package/dist/templates/default/public/icon-512.svg +12 -3
  645. package/dist/templates/workspace-core/package.json +22 -4
  646. package/dist/templates/workspace-core/src/credentials.ts +32 -5
  647. package/dist/templates/workspace-core/tsconfig.json +4 -1
  648. package/dist/terminal/pty-server.d.ts.map +1 -1
  649. package/dist/terminal/pty-server.js +7 -1
  650. package/dist/terminal/pty-server.js.map +1 -1
  651. package/dist/terminal/terminal-plugin.js +3 -3
  652. package/dist/terminal/terminal-plugin.js.map +1 -1
  653. package/dist/tools/actions.d.ts.map +1 -1
  654. package/dist/tools/actions.js +130 -0
  655. package/dist/tools/actions.js.map +1 -1
  656. package/dist/tools/fetch-tool.d.ts +1 -0
  657. package/dist/tools/fetch-tool.d.ts.map +1 -1
  658. package/dist/tools/fetch-tool.js +38 -16
  659. package/dist/tools/fetch-tool.js.map +1 -1
  660. package/dist/tools/html-shell.d.ts +43 -1
  661. package/dist/tools/html-shell.d.ts.map +1 -1
  662. package/dist/tools/html-shell.js +102 -4
  663. package/dist/tools/html-shell.js.map +1 -1
  664. package/dist/tools/proxy-security.d.ts +12 -0
  665. package/dist/tools/proxy-security.d.ts.map +1 -0
  666. package/dist/tools/proxy-security.js +158 -0
  667. package/dist/tools/proxy-security.js.map +1 -0
  668. package/dist/tools/routes.d.ts.map +1 -1
  669. package/dist/tools/routes.js +158 -105
  670. package/dist/tools/routes.js.map +1 -1
  671. package/dist/tools/schema.d.ts +3 -0
  672. package/dist/tools/schema.d.ts.map +1 -1
  673. package/dist/tools/schema.js +3 -0
  674. package/dist/tools/schema.js.map +1 -1
  675. package/dist/tools/slots/routes.d.ts +15 -0
  676. package/dist/tools/slots/routes.d.ts.map +1 -0
  677. package/dist/tools/slots/routes.js +94 -0
  678. package/dist/tools/slots/routes.js.map +1 -0
  679. package/dist/tools/slots/schema.d.ts +303 -0
  680. package/dist/tools/slots/schema.d.ts.map +1 -0
  681. package/dist/tools/slots/schema.js +76 -0
  682. package/dist/tools/slots/schema.js.map +1 -0
  683. package/dist/tools/slots/store.d.ts +66 -0
  684. package/dist/tools/slots/store.d.ts.map +1 -0
  685. package/dist/tools/slots/store.js +227 -0
  686. package/dist/tools/slots/store.js.map +1 -0
  687. package/dist/tools/store.d.ts.map +1 -1
  688. package/dist/tools/store.js +28 -37
  689. package/dist/tools/store.js.map +1 -1
  690. package/dist/tools/url-safety.d.ts +24 -0
  691. package/dist/tools/url-safety.d.ts.map +1 -0
  692. package/dist/tools/url-safety.js +224 -0
  693. package/dist/tools/url-safety.js.map +1 -0
  694. package/dist/tracking/providers.d.ts.map +1 -1
  695. package/dist/tracking/providers.js +28 -11
  696. package/dist/tracking/providers.js.map +1 -1
  697. package/dist/tracking/registry.d.ts.map +1 -1
  698. package/dist/tracking/registry.js +7 -3
  699. package/dist/tracking/registry.js.map +1 -1
  700. package/dist/triggers/actions.d.ts.map +1 -1
  701. package/dist/triggers/actions.js +11 -6
  702. package/dist/triggers/actions.js.map +1 -1
  703. package/dist/triggers/condition-evaluator.d.ts +8 -0
  704. package/dist/triggers/condition-evaluator.d.ts.map +1 -1
  705. package/dist/triggers/condition-evaluator.js +39 -4
  706. package/dist/triggers/condition-evaluator.js.map +1 -1
  707. package/dist/triggers/dispatcher.d.ts.map +1 -1
  708. package/dist/triggers/dispatcher.js +67 -4
  709. package/dist/triggers/dispatcher.js.map +1 -1
  710. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  711. package/dist/vite/action-types-plugin.js +8 -5
  712. package/dist/vite/action-types-plugin.js.map +1 -1
  713. package/dist/vite/client.d.ts +2 -0
  714. package/dist/vite/client.d.ts.map +1 -1
  715. package/dist/vite/client.js +216 -4
  716. package/dist/vite/client.js.map +1 -1
  717. package/docs/content/authentication.md +27 -12
  718. package/docs/content/drop-in-agent.md +2 -2
  719. package/docs/content/messaging.md +195 -155
  720. package/docs/content/onboarding.md +82 -12
  721. package/docs/content/template-analytics.md +65 -59
  722. package/docs/content/template-clips.md +7 -9
  723. package/docs/content/template-design.md +55 -0
  724. package/docs/content/template-dispatch.md +13 -0
  725. package/docs/content/template-forms.md +7 -6
  726. package/docs/content/template-mail.md +78 -80
  727. package/package.json +2 -1
  728. package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +54 -0
  729. package/src/templates/default/app/root.tsx +1 -1
  730. package/src/templates/default/app/routes/_index.tsx +6 -1
  731. package/src/templates/default/public/favicon.svg +13 -0
  732. package/src/templates/default/public/icon-180.svg +12 -3
  733. package/src/templates/default/public/icon-192.svg +12 -3
  734. package/src/templates/default/public/icon-512.svg +12 -3
  735. package/src/templates/workspace-core/package.json +22 -4
  736. package/src/templates/workspace-core/src/credentials.ts +32 -5
  737. package/src/templates/workspace-core/tsconfig.json +4 -1
@@ -1,16 +1,80 @@
1
1
  # Onboarding
2
2
 
3
- The framework-level onboarding system gives every template a shared setup
4
- experience in the agent chat sidebar. Users see a checklist of setup steps,
5
- each with one or more ways to complete it — paste an API key, connect
6
- Builder, or ask the agent to do it for them.
3
+ When you first open an app built on the agent-native framework, you'll see a
4
+ **Setup** checklist in the agent sidebar. Each item is something the app needs
5
+ from you connect an AI engine, paste an API key, configure email delivery —
6
+ before the agent can do its full job.
7
+
8
+ ## For end users
9
+
10
+ ### What you'll see
11
+
12
+ - A **Setup** panel above the agent chat with a checklist like "Connect an AI
13
+ engine", "Email delivery", etc.
14
+ - A counter at the top (e.g. "1 of 4") shows how many steps are done.
15
+ - The current step is expanded; finished steps collapse with a green check;
16
+ remaining steps sit dimmed below.
17
+ - Required steps show a small red **required** pill. The panel stays visible
18
+ until every required step is complete.
19
+ - Once everything required is done, the panel hides itself automatically.
20
+ - The whole panel can be collapsed with the chevron in the top-right, or
21
+ hidden entirely with **Hide setup** at the bottom.
22
+
23
+ ### How to complete each step
24
+
25
+ Steps offer one or more **methods** — different ways to satisfy the same
26
+ requirement. The recommended option is highlighted in blue; alternatives sit
27
+ below it.
28
+
29
+ - **Connect a service (one click)** — e.g. _Connect Builder_ for the managed
30
+ AI gateway. Click the button, a window opens, you sign in, the window closes,
31
+ and the step is marked complete. No keys to copy.
32
+ - **Paste an API key or fill a form** — e.g. _Use your Anthropic API key_,
33
+ _Use Resend_ for email. Click the method, paste the value(s), click **Save**.
34
+ Secret fields use a password input so the value isn't shown on screen. Saved
35
+ values go into your local `.env` (or workspace settings) — see
36
+ [Secrets](/docs/secrets) for where they live.
37
+ - **Open a link** — some steps point to a sign-in page or docs. Click
38
+ **Continue** and finish the flow in the new tab.
39
+ - **Ask the agent** — a few steps offer a "Let the agent set it up" option.
40
+ Click it and the agent picks up in the chat, walking you through any
41
+ external setup (creating OAuth credentials, etc.).
42
+
43
+ ### The built-in steps you'll usually see
44
+
45
+ - **Connect an AI engine** (required) — the only mandatory step. Either
46
+ connect Builder for a one-click managed gateway, or paste a key for
47
+ Anthropic, OpenAI, Google Gemini, or OpenRouter.
48
+ - **Email delivery** (optional) — needed for password resets and team
49
+ invitations. Resend or SendGrid; without it, reset emails just log to the
50
+ server console.
51
+ - **Database** and **Authentication** — only shown in local dev mode.
52
+ Production deployments configure these via environment variables.
53
+
54
+ Templates can add their own steps on top of these — e.g. a CRM template might
55
+ add "Connect Gmail", a docs template might add "Pick a default workspace". See
56
+ [Authentication](/docs/authentication) for sign-in setup details.
57
+
58
+ ### Coming back to the checklist
59
+
60
+ If you hit **Hide setup**, the panel disappears for that browser session.
61
+ Required steps that aren't yet complete will surface again on next load. Once
62
+ everything required is done, the panel auto-hides for good — there's nothing
63
+ left to do.
64
+
65
+ ## For developers
66
+
67
+ If you're building a template, you register onboarding steps so they appear in
68
+ the user's sidebar checklist. The framework handles rendering, completion
69
+ tracking, and dismissal — you just declare what the step is and how it's
70
+ satisfied.
7
71
 
8
72
  The system is **auto-mounted**. Templates don't need to wire anything to get
9
- the three built-in steps (LLM, database, auth). To add app-specific steps
10
- (Gmail, Slack, Notion, etc.), call `registerOnboardingStep()` from a server
11
- plugin.
73
+ the four built-in steps (LLM, database, auth, email). To add app-specific
74
+ steps (Gmail, Slack, Notion, etc.), call `registerOnboardingStep()` from a
75
+ server plugin.
12
76
 
13
- ## Auto-mounted routes
77
+ ### Auto-mounted routes
14
78
 
15
79
  All routes live under `/_agent-native/onboarding/`:
16
80
 
@@ -22,7 +86,7 @@ All routes live under `/_agent-native/onboarding/`:
22
86
  | `POST /_agent-native/onboarding/reopen` | Clear dismissal (re-show panel) |
23
87
  | `GET /_agent-native/onboarding/dismissed` | Read dismissal + allComplete flag |
24
88
 
25
- ## Adding a step from a template
89
+ ### Adding a step from a template
26
90
 
27
91
  ```ts
28
92
  // server/plugins/my-onboarding.ts
@@ -61,7 +125,7 @@ export default defineNitroPlugin(() => {
61
125
  });
62
126
  ```
63
127
 
64
- ## Method kinds
128
+ ### Method kinds
65
129
 
66
130
  | Kind | Payload | Use for |
67
131
  | ------------------ | ------------------------- | ----------------------------------------- |
@@ -72,18 +136,19 @@ export default defineNitroPlugin(() => {
72
136
 
73
137
  The `primary: true` flag marks a method as the big CTA for its step.
74
138
 
75
- ## Built-in steps
139
+ ### Built-in steps
76
140
 
77
141
  | ID | Required | Description |
78
142
  | ---------- | -------- | --------------------------------------------- |
79
143
  | `llm` | yes | ANTHROPIC_API_KEY or Builder connection |
80
144
  | `database` | no | SQLite default or a DATABASE_URL for Postgres |
81
145
  | `auth` | no | Local dev mode, Google OAuth, or access token |
146
+ | `email` | no | Resend or SendGrid for transactional email |
82
147
 
83
148
  Any of these can be overridden by re-registering with the same `id` after the
84
149
  defaults load.
85
150
 
86
- ## Client usage
151
+ ### Client usage
87
152
 
88
153
  The panel is already inside `<AgentPanel>`. To build a custom layout:
89
154
 
@@ -105,3 +170,8 @@ function MySidebar() {
105
170
  );
106
171
  }
107
172
  ```
173
+
174
+ For background on where step values are stored and how secrets are handled,
175
+ see [Secrets](/docs/secrets). For end-user messaging touchpoints (invitations,
176
+ password resets) that depend on the **Email delivery** step, see
177
+ [Messaging](/docs/messaging).
@@ -1,23 +1,63 @@
1
1
  ---
2
- title: "Analytics Template"
3
- description: "AI-native analytics dashboards connect data sources, prompt for charts, build reusable SQL dashboards and ad-hoc analyses."
2
+ title: "Analytics"
3
+ description: "Ask analytics questions in plain English, get charts and dashboards back. An open-source replacement for Amplitude, Mixpanel, and Looker."
4
4
  ---
5
5
 
6
- # Analytics Template
6
+ # Analytics
7
7
 
8
- An open-source analytics app where the agent writes the SQL, builds the dashboards, and maintains the metric catalog. Replaces Amplitude, Mixpanel, and Looker for teams that want to own the code and the data.
8
+ Ask analytics questions in plain English, get charts and dashboards back. The agent connects to BigQuery, GA4, your app database, HubSpot, Jira, and a dozen other sources, writes the SQL for you, validates it, and renders the answer as a chart, table, or saved dashboard panel.
9
9
 
10
- ## Overview {#overview}
10
+ It's an open-source replacement for Amplitude, Mixpanel, and Looker — for teams that want to own the code, the queries, and the data.
11
11
 
12
- The Analytics template is a dashboard app built on `@agent-native/core`. You ask a data question in chat, the agent queries the underlying source (BigQuery, GA4, the app database), and the answer appears as a chart, a table, or a saved dashboard panel. The agent sees the same screen the user sees and edits the same dashboards the user edits.
12
+ ## What you can do with it
13
13
 
14
- Three primary surfaces:
14
+ - **Ask data questions in plain English.** "What percent of signups last month converted to paid?" or "Show me weekly active users for the past 6 months." The agent picks the right source, writes the SQL, and renders the chart.
15
+ - **Build reusable SQL dashboards** with filters, saved views, and parametric queries.
16
+ - **Run ad-hoc analyses** that cross-reference multiple data sources — saved as re-runnable investigations with the original question, instructions, and findings.
17
+ - **Maintain a living data dictionary** of metrics, tables, and SQL recipes so the agent uses the right column names every time (no more guessed `is_closed` when it's actually `hs_is_closed`).
18
+ - **Share dashboards** with your team — private by default, shareable per-user or per-org with viewer / editor / admin roles.
19
+ - **Connect to many sources** out of the box: BigQuery, GA4, Mixpanel, Amplitude, PostHog, HubSpot, Jira, Apollo, Pylon, Gong, Common Room, Twitter, plus app-specific SEO sources.
15
20
 
16
- - **SQL Dashboards** — reusable panels with filters, saved views, and parametric SQL.
17
- - **Ad-hoc Analyses** — long-form investigations that pull from multiple sources and save re-run instructions.
18
- - **Data Dictionary** — a canonical catalog of metrics, tables, columns, and SQL recipes that the agent consults before writing any SQL.
21
+ ## Getting started
19
22
 
20
- ## Quick start {#quick-start}
23
+ Live demo: [analytics.agent-native.com](https://analytics.agent-native.com).
24
+
25
+ When you first open the app:
26
+
27
+ 1. Sign in with Google.
28
+ 2. Open the **Data Sources** page from the sidebar.
29
+ 3. Each source has a walkthrough — connect the ones you need (start with one, like BigQuery or your app DB).
30
+ 4. Open a new chat with the agent and ask a question: "How many signups did we get last week?"
31
+
32
+ The first question is enough to confirm the connection works. From there, ask the agent to "save this as a dashboard" or "build a 4-panel overview dashboard for our key metrics."
33
+
34
+ ### Useful prompts
35
+
36
+ - "Build a dashboard showing weekly active users for the past 6 months."
37
+ - "What percent of signups last month converted to paid?"
38
+ - "Add a chart comparing revenue by plan to this dashboard."
39
+ - "Reorder the panels on this dashboard so the MRR metric comes first."
40
+ - "Analyze our closed-lost deals from Q1 and save the analysis."
41
+ - "Re-run the churn analysis with this month's data."
42
+ - "Document this metric in the data dictionary."
43
+
44
+ The agent always knows what you're looking at — current dashboard, filters, view — so you can say "this dashboard" or "that panel" without being explicit.
45
+
46
+ ## Three things to know
47
+
48
+ The app has three primary surfaces you'll spend time in:
49
+
50
+ - **SQL Dashboards** — reusable panels with filters and saved views. Best for metrics you check regularly.
51
+ - **Ad-hoc Analyses** — long-form investigations that pull from multiple sources, with re-run instructions saved alongside. Best for one-off questions you might want to revisit.
52
+ - **Data Dictionary** — the canonical catalog of metrics, tables, columns, and SQL recipes. The agent consults it before writing any SQL, so it uses real warehouse column names and knows about caveats like "excludes internal emails".
53
+
54
+ The dictionary is seeded by asking the agent: "import our dbt definitions" or "pull the metrics from our Notion handbook" and it does the work.
55
+
56
+ ## For developers
57
+
58
+ The rest of this doc is for anyone forking the Analytics template or extending it.
59
+
60
+ ### Quick start
21
61
 
22
62
  Create a new Analytics app from the CLI:
23
63
 
@@ -25,8 +65,6 @@ Create a new Analytics app from the CLI:
25
65
  npx @agent-native/cli create analytics
26
66
  ```
27
67
 
28
- Or try the hosted demo: [analytics.agent-native.com](https://analytics.agent-native.com).
29
-
30
68
  Local dev:
31
69
 
32
70
  ```bash
@@ -37,15 +75,11 @@ pnpm dev
37
75
 
38
76
  The app runs at `http://localhost:3000`. Sign in with Google, then open the **Data Sources** page to connect BigQuery, HubSpot, Jira, and the rest.
39
77
 
40
- ## Key features {#key-features}
78
+ ### Key features (technical)
41
79
 
42
- ### Natural-language chart generation
80
+ **Natural-language chart generation.** Ask the agent in plain English. It picks the right data source, writes the SQL, validates it against the warehouse, and renders the chart inline in chat or as a saved panel. Chart types: `line`, `area`, `bar`, `metric`, `table`, `pie`.
43
81
 
44
- Ask the agent in plain English. It picks the right data source, writes the SQL, validates it against the warehouse, and renders the chart inline in chat or as a saved panel. Chart types: `line`, `area`, `bar`, `metric`, `table`, `pie`.
45
-
46
- ### Reusable SQL dashboards
47
-
48
- Dashboards are a named config with an array of panels. Each panel has an `id`, `title`, `sql`, `source` (`bigquery` / `app-db` / `ga4`), `chartType`, and `width` (1 or 2 columns). See the full shape in `templates/analytics/app/pages/adhoc/sql-dashboard/types.ts`.
82
+ **Reusable SQL dashboards.** Dashboards are a named config with an array of panels. Each panel has an `id`, `title`, `sql`, `source` (`bigquery` / `app-db` / `ga4`), `chartType`, and `width` (1 or 2 columns). See the full shape in `templates/analytics/app/pages/adhoc/sql-dashboard/types.ts`.
49
83
 
50
84
  Dashboards support:
51
85
 
@@ -54,25 +88,13 @@ Dashboards support:
54
88
  - **Resizable panels** — 1- or 2-column width per panel; the grid fills the rest.
55
89
  - **Sharing** — private by default, share with users or orgs (`viewer` / `editor` / `admin`).
56
90
 
57
- ### Ad-hoc analyses
58
-
59
- Long-form investigations that cross-reference sources. An analysis saves the original question, step-by-step re-run instructions, the data sources it touched, and the full findings in Markdown. Anyone with access can re-run it against fresh data.
60
-
61
- Stored in the `analyses` table (see `templates/analytics/server/db/schema.ts`).
62
-
63
- ### Living data dictionary
91
+ **Ad-hoc analyses.** Long-form investigations that cross-reference sources. An analysis saves the original question, step-by-step re-run instructions, the data sources it touched, and the full findings in Markdown. Anyone with access can re-run it against fresh data. Stored in the `analyses` table (see `templates/analytics/server/db/schema.ts`).
64
92
 
65
- The dictionary is the canonical catalog of metrics used by the org — metric name, definition, table, columns, SQL template, known gotchas, owner, and data lag. The agent reads it before writing any SQL, so it uses the real warehouse column names (`hs_is_closed`, not guessed `is_closed`) and knows about caveats like "excludes internal emails".
93
+ **Living data dictionary.** Canonical catalog of metrics — metric name, definition, table, columns, SQL template, known gotchas, owner, and data lag. The agent reads it before writing any SQL, so it uses the real warehouse column names (`hs_is_closed`, not guessed `is_closed`) and knows about caveats like "excludes internal emails". Seeded by asking the agent to import definitions from an existing source (dbt descriptions, a Notion page, a team wiki).
66
94
 
67
- The dictionary is seeded by asking the agent to import definitions from an existing source (dbt descriptions, a Notion page, a team wiki).
95
+ **SQL query explorer.** Direct SQL against BigQuery or the app DB from the **Ad-hoc** view. Useful for iterating on a query before saving it as a dashboard panel.
68
96
 
69
- ### SQL query explorer
70
-
71
- Direct SQL against BigQuery or the app DB from the **Ad-hoc** view. Useful for iterating on a query before saving it as a dashboard panel.
72
-
73
- ### Multiple data connectors
74
-
75
- Built-in actions for common sources:
97
+ **Multiple data connectors.** Built-in actions for common sources:
76
98
 
77
99
  | Category | Actions |
78
100
  | ------------- | ------------------------------------------------------------------------ |
@@ -86,44 +108,28 @@ Built-in actions for common sources:
86
108
 
87
109
  Full list lives in `templates/analytics/actions/`. New sources are added by dropping a new action file — the agent picks them up automatically.
88
110
 
89
- ### Organizations and sharing
90
-
91
- Multi-org deployments are wired up by default via `@agent-native/core/org`. Dashboards and analyses are scoped to the active org. The `/team` route manages members and invitations. See `templates/analytics/app/routes/team.tsx`.
92
-
93
- Sharing uses the framework's `share-resource` primitive. Coarse visibility is `private` / `org` / `public`; fine-grained grants are per-principal with `viewer` / `editor` / `admin` roles.
111
+ **Organizations and sharing.** Multi-org deployments are wired up by default via `@agent-native/core/org`. Dashboards and analyses are scoped to the active org. The `/team` route manages members and invitations. See `templates/analytics/app/routes/team.tsx`. Sharing uses the framework's `share-resource` primitive. Coarse visibility is `private` / `org` / `public`; fine-grained grants are per-principal with `viewer` / `editor` / `admin` roles.
94
112
 
95
- ## Working with the agent {#working-with-the-agent}
113
+ ### Working with the agent
96
114
 
97
115
  The agent always knows what you're looking at. The current screen state is injected into every message as a `<current-screen>` block — it contains the active view, the open dashboard or analysis, and any selected filters.
98
116
 
99
- Useful prompts:
100
-
101
- - "Build a dashboard showing weekly active users for the past 6 months."
102
- - "What percent of signups last month converted to paid?"
103
- - "Add a chart comparing revenue by plan to this dashboard."
104
- - "Reorder the panels on this dashboard so the MRR metric comes first."
105
- - "Analyze our closed-lost deals from Q1 and save the analysis."
106
- - "Re-run the churn analysis with this month's data."
107
- - "Document this metric in the data dictionary."
108
-
109
117
  The agent's system prompt gets an injected `<data-dictionary>` block with the approved metric entries for the active org. When you ask for a dashboard, the agent consults the dictionary first and uses the documented `table` / `columns` / `queryTemplate` verbatim — it does not guess column names.
110
118
 
111
- ### Context it has automatically
119
+ **Context it has automatically:**
112
120
 
113
121
  - **Current view** — `overview`, `adhoc` (with `dashboardId`), `analyses` (with `analysisId`), `data-dictionary`, `data-sources`, or `settings`.
114
122
  - **Active org** — scopes all queries and writes.
115
123
  - **Approved dictionary entries** — for the active workspace.
116
124
 
117
- ### Dashboard edits
118
-
119
- The agent uses the `update-dashboard` action to edit dashboards. It supports two modes:
125
+ **Dashboard edits.** The agent uses the `update-dashboard` action to edit dashboards. It supports two modes:
120
126
 
121
127
  - `ops` — JSON-Pointer patches for surgical edits (move a panel, replace one SQL string, remove a filter).
122
128
  - `config` — full replacement of the dashboard config.
123
129
 
124
130
  Every BigQuery panel's SQL is dry-run against the warehouse before the dashboard saves. If a column is wrong, the save is rejected with the BigQuery error — the agent fixes the SQL and retries instead of persisting broken panels.
125
131
 
126
- ## Connecting data sources {#connecting-data-sources}
132
+ ### Connecting data sources
127
133
 
128
134
  Open the **Data Sources** page (`/data-sources`) to connect providers. Each source exposes an env-key list, a walkthrough, and a **Test Connection** button. The page calls `/api/credential-status`, `/api/credentials`, and `/api/test-connection`.
129
135
 
@@ -142,7 +148,7 @@ Provider-specific keys (HubSpot, Jira, Gong, Pylon, etc.) are documented in each
142
148
 
143
149
  Note: the BigQuery OAuth credential for Google sign-in is a **separate** credential from the BigQuery service account JSON. Create the sign-in client at GCP Console → APIs & Services → Credentials → OAuth client ID.
144
150
 
145
- ## Data model {#data-model}
151
+ ### Data model
146
152
 
147
153
  Core tables (see `templates/analytics/server/db/schema.ts`):
148
154
 
@@ -157,7 +163,7 @@ Plus the org tables (`organizations`, `org_members`, `org_invitations`) provided
157
163
 
158
164
  The data dictionary lives in the framework's `settings` table under scoped keys; see the `list-data-dictionary` and `save-data-dictionary-entry` actions for the full shape.
159
165
 
160
- ## Customizing it {#customizing-it}
166
+ ### Customizing it
161
167
 
162
168
  The Analytics template is meant to be forked and extended. Everything lives in `templates/analytics/`:
163
169
 
@@ -30,10 +30,6 @@ Three things make Clips a good showcase of what agent-native enables:
30
30
 
31
31
  The rest of this doc is for anyone forking the Clips template or extending it.
32
32
 
33
- ### Naming note
34
-
35
- In the template, always say **"Clip"** in user-facing strings and agent messages. Internal table / variable names (`recordings`, `recording_transcripts`, etc.) stay as-is.
36
-
37
33
  ### Scaffolding
38
34
 
39
35
  ```bash
@@ -44,13 +40,15 @@ Clips is a larger template with a native recorder (it ships a desktop companion
44
40
 
45
41
  ### Customize it
46
42
 
47
- Ask the agent:
43
+ Clips is a full cloneable SaaS — fork it and ask the agent to extend it. Some examples:
48
44
 
49
- - "Add a 'filler word removal' button that strips ums and uhs from the transcript and re-stitches the video." It edits the transcript processor and wires the UI.
50
- - "Auto-post a new clip to Slack #eng-demos when I record one." It adds the hook.
51
- - "Group the library by project — detect the project from the first words of each transcript." It updates the list view.
45
+ - "Add a filler-word removal button that strips ums and uhs from the transcript and re-stitches the video."
46
+ - "Auto-post a new clip to Slack #eng-demos whenever I finish a recording." (Connect Slack first via [Messaging](/docs/messaging).)
47
+ - "Group the library by project — detect the project from the first words of each transcript."
48
+ - "Add a 'Generate blog post from this clip' button that drafts a post from the transcript and saves it as a draft."
49
+ - "Let viewers leave timestamped reactions on a shared clip."
52
50
 
53
- See [Cloneable SaaS](/docs/cloneable-saas) for the full clone customize deploy flow.
51
+ The agent edits routes, components, the transcript pipeline, and the schema as needed. See [Cloneable SaaS](/docs/cloneable-saas) for the full clone, customize, deploy flow, and [Getting Started](/docs/getting-started) if this is your first agent-native template.
54
52
 
55
53
  ## What's next
56
54
 
@@ -0,0 +1,55 @@
1
+ ---
2
+ title: "Design"
3
+ description: "An Agent-native design tool — sketch a UI, brand kit, or marketing visual by prompt or by hand, with the agent as your co-designer."
4
+ ---
5
+
6
+ # Design
7
+
8
+ A design tool where the agent is a real collaborator. Sketch a UI, a brand kit, or a marketing visual by prompt or by hand, and the agent generates layouts, suggests color systems, swaps fonts, and adjusts spacing alongside you on the same canvas.
9
+
10
+ Think along the lines of Figma or Canva, but the agent has full edit rights — it can move shapes, restyle layers, and generate new artwork from a description, all in the same canvas you're working in.
11
+
12
+ ## What you can do with it
13
+
14
+ - **Prompt-driven design.** Describe what you want — "a hero section for a B2B fintech SaaS, dark mode, brand color #14B8A6" — and the agent drafts it on the canvas.
15
+ - **Edit by hand or by chat.** Drag, resize, recolor with the toolbar; or ask the agent to "tighten the spacing", "swap the headline font for something more editorial", "make every CTA the brand teal".
16
+ - **AI image generation built in.** Generate background art, illustrations, or icons inline. Re-run with refined prompts without leaving the canvas.
17
+ - **Brand-aware.** Save a brand kit (colors, fonts, voice). The agent applies it consistently across new artwork.
18
+ - **Components and frames.** Reusable components, multi-page documents, and export to PNG/SVG/PDF.
19
+ - **Agent context awareness.** When a layer is selected, the agent knows what you've selected and can act on just that piece.
20
+
21
+ ## Why it's interesting
22
+
23
+ Three things make Design a good showcase of what agent-native enables:
24
+
25
+ 1. **The agent edits the canvas directly.** Layers, frames, styles — the agent calls the same actions the toolbar does. There's no "AI mode" separate from the design tool; they're the same tool.
26
+ 2. **Selection-aware editing.** Select a button and ask "make this the brand teal across all pages" — the agent knows which element you mean and propagates the change.
27
+ 3. **Designs you own.** The files live in your SQL, the artwork lives in your storage, the agent is yours. Fork the template, plug in a different image-generation provider, integrate your team's component library — it's your code.
28
+
29
+ ## For developers
30
+
31
+ The rest of this doc is for anyone forking the Design template or extending it.
32
+
33
+ ### Scaffolding
34
+
35
+ ```bash
36
+ pnpm dlx @agent-native/core create my-design --template design --standalone
37
+ ```
38
+
39
+ ### Customize it
40
+
41
+ Design is a full cloneable SaaS — fork it and ask the agent to extend it. Some examples:
42
+
43
+ - "Add a 'Generate variations' button that produces five color-swap alternatives for the selected frame."
44
+ - "Wire the brand kit to read from our marketing-site repo so colors stay in sync."
45
+ - "Add a comments layer with @-mentions and email notifications."
46
+ - "Auto-export every published frame as a 1200×630 OG image and upload to our CDN."
47
+ - "Let me drop a Figma link in chat and have the agent re-create it as native components here."
48
+
49
+ The agent edits routes, components, canvas actions, and the schema as needed. See [Cloneable SaaS](/docs/cloneable-saas) for the full clone, customize, deploy flow, and [Getting Started](/docs/getting-started) if this is your first agent-native template.
50
+
51
+ ## What's next
52
+
53
+ - [**Cloneable SaaS**](/docs/cloneable-saas) — the clone-and-own model
54
+ - [**Context Awareness**](/docs/context-awareness) — how the agent knows the selected layer
55
+ - [**Tools**](/docs/tools) — generate one-off image-creation utilities alongside the canvas
@@ -29,8 +29,21 @@ Use Dispatch when:
29
29
 
30
30
  Skip it for a single-app scaffold — use the [Starter template](/docs/template-starter) or any of the domain templates directly.
31
31
 
32
+ ## What you'll do with it {#what-youll-do}
33
+
34
+ Day-to-day, Dispatch is the place admins and ops folks open to keep the workspace running:
35
+
36
+ - **Connect Slack, email, and Telegram** so people can message your agent from wherever they already work. See [Messaging](/docs/messaging) for the wiring steps.
37
+ - **Save shared secrets once.** API keys, OAuth tokens, and service credentials live in the vault and the other apps in your workspace pull from there instead of every team member juggling their own `.env`.
38
+ - **Set up recurring jobs.** "Every Monday at 7am, ask the analytics agent for last week's signups and email me a summary." See [Recurring Jobs](/docs/recurring-jobs).
39
+ - **Approve outbound actions before they fire.** Sending money, mass-emailing customers, or posting to a public Slack channel can be gated behind an admin OK.
40
+ - **See who has access to what.** Per-app grants, request queue, and an audit log of who used which secret when.
41
+ - **Route messages to the right specialist.** A Slack DM about analytics goes to the analytics agent; one about email goes to the mail agent — Dispatch picks.
42
+
32
43
  ## Architecture at a glance {#architecture}
33
44
 
45
+ _How it works under the hood (for developers)._
46
+
34
47
  - **Orchestrator agent.** The chat is set up as a router: it reads `AGENTS.md`, `LEARNINGS.md`, and routes to specialist sub-agents or remote A2A agents.
35
48
  - **Remote agent registry.** A2A manifests live in `remote-agents/*.json` — one per app. Dispatch calls them using the `call-agent` action.
36
49
  - **Vault schema.** Drizzle tables for secrets, grants, requests, approvals, and audit logs. See `server/db/schema.ts` in the template.
@@ -20,7 +20,7 @@ When you open the app, you'll see a list of your forms on the left and the edito
20
20
 
21
21
  ## Why it's interesting
22
22
 
23
- Forms is a clear example of the [ladder](/docs/what-is-agent-native#the-ladder) rung-3 payoff. The hard part of a form builder isn't the editor UI — it's everything around it: schema evolution, response analytics, conditional logic, publishing, notifications, integrations. Most of that is just prompting the agent, because every capability is an action the agent can call.
23
+ The hard part of a form builder isn't the editor UI — it's everything around it: changing the questions after responses are already in, analyzing what people said, adding conditional logic, publishing, notifications, hooking it into Slack or your CRM. Most of that is just asking the agent. See [What is agent-native?](/docs/what-is-agent-native) for the bigger picture.
24
24
 
25
25
  ## For developers
26
26
 
@@ -38,13 +38,14 @@ pnpm dlx @agent-native/core create my-platform # pick Forms + other templates
38
38
 
39
39
  ### Customize it
40
40
 
41
- Ask the agent:
41
+ Ask the agent for the outcome you want:
42
42
 
43
- - "Add a new 'signature' field type that captures a drawn signature." It adds the schema entry, renders the component, handles storage.
44
- - "When someone submits a form, post the response to our #signups Slack channel." It wires the webhook.
45
- - "Add per-form access control — some are public, some require a login." It updates the publishing flow.
43
+ - "Add a signature field where people can draw their name."
44
+ - "When someone submits this form, post it in our #signups Slack channel." (Connect Slack first via [Messaging](/docs/messaging).)
45
+ - "Make some forms public and others login-only."
46
+ - "Send everyone who scored below 5 a follow-up email asking what we could do better."
46
47
 
47
- See [Cloneable SaaS](/docs/cloneable-saas) for the full clone customize deploy flow.
48
+ The agent figures out the schema changes, components, and storage on its own — you just describe the result you want. See [Cloneable SaaS](/docs/cloneable-saas) for the full clone, customize, deploy flow.
48
49
 
49
50
  ## What's next
50
51