@agent-native/core 0.7.13 → 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 (381) hide show
  1. package/dist/a2a/client.d.ts +44 -1
  2. package/dist/a2a/client.d.ts.map +1 -1
  3. package/dist/a2a/client.js +88 -11
  4. package/dist/a2a/client.js.map +1 -1
  5. package/dist/a2a/handlers.d.ts +10 -0
  6. package/dist/a2a/handlers.d.ts.map +1 -1
  7. package/dist/a2a/handlers.js +287 -62
  8. package/dist/a2a/handlers.js.map +1 -1
  9. package/dist/a2a/server.d.ts.map +1 -1
  10. package/dist/a2a/server.js +95 -17
  11. package/dist/a2a/server.js.map +1 -1
  12. package/dist/a2a/task-store.d.ts +11 -1
  13. package/dist/a2a/task-store.d.ts.map +1 -1
  14. package/dist/a2a/task-store.js +38 -2
  15. package/dist/a2a/task-store.js.map +1 -1
  16. package/dist/agent/engine/builder-engine.d.ts +1 -1
  17. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  18. package/dist/agent/engine/builder-engine.js +7 -25
  19. package/dist/agent/engine/builder-engine.js.map +1 -1
  20. package/dist/agent/engine/builtin.js +1 -1
  21. package/dist/agent/engine/builtin.js.map +1 -1
  22. package/dist/chat-threads/store.d.ts +3 -0
  23. package/dist/chat-threads/store.d.ts.map +1 -1
  24. package/dist/chat-threads/store.js +32 -0
  25. package/dist/chat-threads/store.js.map +1 -1
  26. package/dist/cli/templates-meta.d.ts.map +1 -1
  27. package/dist/cli/templates-meta.js +11 -0
  28. package/dist/cli/templates-meta.js.map +1 -1
  29. package/dist/client/AgentPanel.d.ts +3 -1
  30. package/dist/client/AgentPanel.d.ts.map +1 -1
  31. package/dist/client/AgentPanel.js +21 -10
  32. package/dist/client/AgentPanel.js.map +1 -1
  33. package/dist/client/AgentTaskCard.d.ts.map +1 -1
  34. package/dist/client/AgentTaskCard.js +2 -0
  35. package/dist/client/AgentTaskCard.js.map +1 -1
  36. package/dist/client/AssistantChat.d.ts +2 -0
  37. package/dist/client/AssistantChat.d.ts.map +1 -1
  38. package/dist/client/AssistantChat.js +111 -75
  39. package/dist/client/AssistantChat.js.map +1 -1
  40. package/dist/client/ErrorBoundary.d.ts +1 -3
  41. package/dist/client/ErrorBoundary.d.ts.map +1 -1
  42. package/dist/client/ErrorBoundary.js +37 -9
  43. package/dist/client/ErrorBoundary.js.map +1 -1
  44. package/dist/client/FeedbackButton.d.ts.map +1 -1
  45. package/dist/client/FeedbackButton.js +4 -3
  46. package/dist/client/FeedbackButton.js.map +1 -1
  47. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  48. package/dist/client/MultiTabAssistantChat.js +145 -49
  49. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  50. package/dist/client/agent-chat.d.ts +11 -0
  51. package/dist/client/agent-chat.d.ts.map +1 -1
  52. package/dist/client/agent-chat.js +1 -1
  53. package/dist/client/agent-chat.js.map +1 -1
  54. package/dist/client/components/AgentPresenceChip.d.ts +12 -0
  55. package/dist/client/components/AgentPresenceChip.d.ts.map +1 -0
  56. package/dist/client/components/AgentPresenceChip.js +42 -0
  57. package/dist/client/components/AgentPresenceChip.js.map +1 -0
  58. package/dist/client/components/PresenceBar.d.ts +17 -0
  59. package/dist/client/components/PresenceBar.d.ts.map +1 -0
  60. package/dist/client/components/PresenceBar.js +118 -0
  61. package/dist/client/components/PresenceBar.js.map +1 -0
  62. package/dist/client/composer/ComposerPlusMenu.d.ts +6 -1
  63. package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
  64. package/dist/client/composer/ComposerPlusMenu.js +22 -83
  65. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  66. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  67. package/dist/client/composer/TiptapComposer.js +237 -16
  68. package/dist/client/composer/TiptapComposer.js.map +1 -1
  69. package/dist/client/composer/types.d.ts +1 -0
  70. package/dist/client/composer/types.d.ts.map +1 -1
  71. package/dist/client/composer/useVoiceDictation.d.ts +2 -0
  72. package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
  73. package/dist/client/composer/useVoiceDictation.js +85 -10
  74. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  75. package/dist/client/index.d.ts +3 -0
  76. package/dist/client/index.d.ts.map +1 -1
  77. package/dist/client/index.js +5 -0
  78. package/dist/client/index.js.map +1 -1
  79. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
  80. package/dist/client/org/RequireActiveOrg.js +15 -10
  81. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  82. package/dist/client/org/TeamPage.d.ts.map +1 -1
  83. package/dist/client/org/TeamPage.js +125 -4
  84. package/dist/client/org/TeamPage.js.map +1 -1
  85. package/dist/client/org/hooks.d.ts +30 -0
  86. package/dist/client/org/hooks.d.ts.map +1 -1
  87. package/dist/client/org/hooks.js +65 -0
  88. package/dist/client/org/hooks.js.map +1 -1
  89. package/dist/client/org/index.d.ts +2 -2
  90. package/dist/client/org/index.d.ts.map +1 -1
  91. package/dist/client/org/index.js +1 -1
  92. package/dist/client/org/index.js.map +1 -1
  93. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  94. package/dist/client/resources/ResourcesPanel.js +5 -1
  95. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  96. package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
  97. package/dist/client/settings/AutomationsSection.js +1 -0
  98. package/dist/client/settings/AutomationsSection.js.map +1 -1
  99. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  100. package/dist/client/settings/SettingsPanel.js +24 -11
  101. package/dist/client/settings/SettingsPanel.js.map +1 -1
  102. package/dist/client/sse-event-processor.d.ts.map +1 -1
  103. package/dist/client/sse-event-processor.js +10 -0
  104. package/dist/client/sse-event-processor.js.map +1 -1
  105. package/dist/client/tools/ToolEditor.d.ts +5 -0
  106. package/dist/client/tools/ToolEditor.d.ts.map +1 -0
  107. package/dist/client/tools/ToolEditor.js +98 -0
  108. package/dist/client/tools/ToolEditor.js.map +1 -0
  109. package/dist/client/tools/ToolViewer.d.ts +5 -0
  110. package/dist/client/tools/ToolViewer.d.ts.map +1 -0
  111. package/dist/client/tools/ToolViewer.js +309 -0
  112. package/dist/client/tools/ToolViewer.js.map +1 -0
  113. package/dist/client/tools/ToolViewerPage.d.ts +2 -0
  114. package/dist/client/tools/ToolViewerPage.d.ts.map +1 -0
  115. package/dist/client/tools/ToolViewerPage.js +23 -0
  116. package/dist/client/tools/ToolViewerPage.js.map +1 -0
  117. package/dist/client/tools/ToolsListPage.d.ts +2 -0
  118. package/dist/client/tools/ToolsListPage.d.ts.map +1 -0
  119. package/dist/client/tools/ToolsListPage.js +72 -0
  120. package/dist/client/tools/ToolsListPage.js.map +1 -0
  121. package/dist/client/tools/ToolsSidebarSection.d.ts +2 -0
  122. package/dist/client/tools/ToolsSidebarSection.d.ts.map +1 -0
  123. package/dist/client/tools/ToolsSidebarSection.js +188 -0
  124. package/dist/client/tools/ToolsSidebarSection.js.map +1 -0
  125. package/dist/client/tools/index.d.ts +6 -0
  126. package/dist/client/tools/index.d.ts.map +1 -0
  127. package/dist/client/tools/index.js +6 -0
  128. package/dist/client/tools/index.js.map +1 -0
  129. package/dist/client/use-chat-threads.d.ts +1 -0
  130. package/dist/client/use-chat-threads.d.ts.map +1 -1
  131. package/dist/client/use-chat-threads.js +29 -0
  132. package/dist/client/use-chat-threads.js.map +1 -1
  133. package/dist/client/use-db-sync.js +6 -6
  134. package/dist/client/use-db-sync.js.map +1 -1
  135. package/dist/collab/agent-identity.d.ts +15 -0
  136. package/dist/collab/agent-identity.d.ts.map +1 -0
  137. package/dist/collab/agent-identity.js +14 -0
  138. package/dist/collab/agent-identity.js.map +1 -0
  139. package/dist/collab/agent-presence.d.ts +59 -0
  140. package/dist/collab/agent-presence.d.ts.map +1 -0
  141. package/dist/collab/agent-presence.js +165 -0
  142. package/dist/collab/agent-presence.js.map +1 -0
  143. package/dist/collab/awareness.d.ts +7 -0
  144. package/dist/collab/awareness.d.ts.map +1 -1
  145. package/dist/collab/awareness.js +2 -2
  146. package/dist/collab/awareness.js.map +1 -1
  147. package/dist/collab/client-struct.d.ts +43 -0
  148. package/dist/collab/client-struct.d.ts.map +1 -0
  149. package/dist/collab/client-struct.js +272 -0
  150. package/dist/collab/client-struct.js.map +1 -0
  151. package/dist/collab/client.d.ts +2 -0
  152. package/dist/collab/client.d.ts.map +1 -1
  153. package/dist/collab/client.js +15 -1
  154. package/dist/collab/client.js.map +1 -1
  155. package/dist/collab/index.d.ts +6 -1
  156. package/dist/collab/index.d.ts.map +1 -1
  157. package/dist/collab/index.js +11 -1
  158. package/dist/collab/index.js.map +1 -1
  159. package/dist/collab/json-to-yjs.d.ts +72 -0
  160. package/dist/collab/json-to-yjs.d.ts.map +1 -0
  161. package/dist/collab/json-to-yjs.js +456 -0
  162. package/dist/collab/json-to-yjs.js.map +1 -0
  163. package/dist/collab/struct-routes.d.ts +52 -0
  164. package/dist/collab/struct-routes.d.ts.map +1 -0
  165. package/dist/collab/struct-routes.js +74 -0
  166. package/dist/collab/struct-routes.js.map +1 -0
  167. package/dist/collab/ydoc-manager.d.ts +19 -0
  168. package/dist/collab/ydoc-manager.d.ts.map +1 -1
  169. package/dist/collab/ydoc-manager.js +49 -0
  170. package/dist/collab/ydoc-manager.js.map +1 -1
  171. package/dist/deploy/build.js +1 -1
  172. package/dist/file-upload/builder.d.ts.map +1 -1
  173. package/dist/file-upload/builder.js +2 -1
  174. package/dist/file-upload/builder.js.map +1 -1
  175. package/dist/integrations/adapters/email.d.ts +17 -0
  176. package/dist/integrations/adapters/email.d.ts.map +1 -0
  177. package/dist/integrations/adapters/email.js +620 -0
  178. package/dist/integrations/adapters/email.js.map +1 -0
  179. package/dist/integrations/adapters/telegram.d.ts.map +1 -1
  180. package/dist/integrations/adapters/telegram.js +19 -3
  181. package/dist/integrations/adapters/telegram.js.map +1 -1
  182. package/dist/integrations/index.d.ts +1 -0
  183. package/dist/integrations/index.d.ts.map +1 -1
  184. package/dist/integrations/index.js +1 -0
  185. package/dist/integrations/index.js.map +1 -1
  186. package/dist/integrations/internal-token.d.ts +18 -0
  187. package/dist/integrations/internal-token.d.ts.map +1 -0
  188. package/dist/integrations/internal-token.js +86 -0
  189. package/dist/integrations/internal-token.js.map +1 -0
  190. package/dist/integrations/pending-tasks-retry-job.d.ts +15 -0
  191. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -0
  192. package/dist/integrations/pending-tasks-retry-job.js +199 -0
  193. package/dist/integrations/pending-tasks-retry-job.js.map +1 -0
  194. package/dist/integrations/pending-tasks-store.d.ts +40 -0
  195. package/dist/integrations/pending-tasks-store.d.ts.map +1 -0
  196. package/dist/integrations/pending-tasks-store.js +151 -0
  197. package/dist/integrations/pending-tasks-store.js.map +1 -0
  198. package/dist/integrations/plugin.d.ts.map +1 -1
  199. package/dist/integrations/plugin.js +151 -9
  200. package/dist/integrations/plugin.js.map +1 -1
  201. package/dist/integrations/task-queue-stats.d.ts +22 -0
  202. package/dist/integrations/task-queue-stats.d.ts.map +1 -0
  203. package/dist/integrations/task-queue-stats.js +117 -0
  204. package/dist/integrations/task-queue-stats.js.map +1 -0
  205. package/dist/integrations/types.d.ts +2 -0
  206. package/dist/integrations/types.d.ts.map +1 -1
  207. package/dist/integrations/webhook-handler.d.ts +23 -4
  208. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  209. package/dist/integrations/webhook-handler.js +217 -59
  210. package/dist/integrations/webhook-handler.js.map +1 -1
  211. package/dist/mcp-client/manager.d.ts +3 -0
  212. package/dist/mcp-client/manager.d.ts.map +1 -1
  213. package/dist/mcp-client/manager.js +5 -0
  214. package/dist/mcp-client/manager.js.map +1 -1
  215. package/dist/oauth-tokens/google-refresh.d.ts.map +1 -1
  216. package/dist/oauth-tokens/google-refresh.js +6 -0
  217. package/dist/oauth-tokens/google-refresh.js.map +1 -1
  218. package/dist/onboarding/default-steps.d.ts.map +1 -1
  219. package/dist/onboarding/default-steps.js +10 -3
  220. package/dist/onboarding/default-steps.js.map +1 -1
  221. package/dist/org/context.d.ts +35 -0
  222. package/dist/org/context.d.ts.map +1 -1
  223. package/dist/org/context.js +136 -0
  224. package/dist/org/context.js.map +1 -1
  225. package/dist/org/handlers.d.ts +76 -0
  226. package/dist/org/handlers.d.ts.map +1 -1
  227. package/dist/org/handlers.js +411 -2
  228. package/dist/org/handlers.js.map +1 -1
  229. package/dist/org/index.d.ts +2 -2
  230. package/dist/org/index.d.ts.map +1 -1
  231. package/dist/org/index.js +2 -2
  232. package/dist/org/index.js.map +1 -1
  233. package/dist/org/migrations.d.ts.map +1 -1
  234. package/dist/org/migrations.js +8 -0
  235. package/dist/org/migrations.js.map +1 -1
  236. package/dist/org/plugin.d.ts +6 -0
  237. package/dist/org/plugin.d.ts.map +1 -1
  238. package/dist/org/plugin.js +71 -7
  239. package/dist/org/plugin.js.map +1 -1
  240. package/dist/org/schema.d.ts +38 -0
  241. package/dist/org/schema.d.ts.map +1 -1
  242. package/dist/org/schema.js +2 -0
  243. package/dist/org/schema.js.map +1 -1
  244. package/dist/org/types.d.ts +7 -0
  245. package/dist/org/types.d.ts.map +1 -1
  246. package/dist/scripts/call-agent.d.ts.map +1 -1
  247. package/dist/scripts/call-agent.js +90 -18
  248. package/dist/scripts/call-agent.js.map +1 -1
  249. package/dist/scripts/db/index.d.ts.map +1 -1
  250. package/dist/scripts/db/index.js +2 -0
  251. package/dist/scripts/db/index.js.map +1 -1
  252. package/dist/scripts/db/migrate-user-api-keys.d.ts +24 -0
  253. package/dist/scripts/db/migrate-user-api-keys.d.ts.map +1 -0
  254. package/dist/scripts/db/migrate-user-api-keys.js +224 -0
  255. package/dist/scripts/db/migrate-user-api-keys.js.map +1 -0
  256. package/dist/scripts/db/wipe-leaked-builder-keys.d.ts +27 -0
  257. package/dist/scripts/db/wipe-leaked-builder-keys.d.ts.map +1 -0
  258. package/dist/scripts/db/wipe-leaked-builder-keys.js +163 -0
  259. package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -0
  260. package/dist/secrets/register-framework-secrets.d.ts +5 -0
  261. package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
  262. package/dist/secrets/register-framework-secrets.js +7 -44
  263. package/dist/secrets/register-framework-secrets.js.map +1 -1
  264. package/dist/secrets/substitution.d.ts.map +1 -1
  265. package/dist/secrets/substitution.js +14 -2
  266. package/dist/secrets/substitution.js.map +1 -1
  267. package/dist/server/action-discovery.d.ts.map +1 -1
  268. package/dist/server/action-discovery.js +39 -0
  269. package/dist/server/action-discovery.js.map +1 -1
  270. package/dist/server/action-routes.js +1 -1
  271. package/dist/server/action-routes.js.map +1 -1
  272. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  273. package/dist/server/agent-chat-plugin.js +192 -45
  274. package/dist/server/agent-chat-plugin.js.map +1 -1
  275. package/dist/server/auth.d.ts +14 -0
  276. package/dist/server/auth.d.ts.map +1 -1
  277. package/dist/server/auth.js +232 -17
  278. package/dist/server/auth.js.map +1 -1
  279. package/dist/server/builder-browser.d.ts +1 -1
  280. package/dist/server/builder-browser.d.ts.map +1 -1
  281. package/dist/server/builder-browser.js +12 -12
  282. package/dist/server/builder-browser.js.map +1 -1
  283. package/dist/server/collab-plugin.d.ts +4 -0
  284. package/dist/server/collab-plugin.d.ts.map +1 -1
  285. package/dist/server/collab-plugin.js +30 -4
  286. package/dist/server/collab-plugin.js.map +1 -1
  287. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  288. package/dist/server/core-routes-plugin.js +106 -100
  289. package/dist/server/core-routes-plugin.js.map +1 -1
  290. package/dist/server/credential-provider.d.ts +43 -2
  291. package/dist/server/credential-provider.d.ts.map +1 -1
  292. package/dist/server/credential-provider.js +115 -2
  293. package/dist/server/credential-provider.js.map +1 -1
  294. package/dist/server/design-token-utils.d.ts +132 -0
  295. package/dist/server/design-token-utils.d.ts.map +1 -0
  296. package/dist/server/design-token-utils.js +714 -0
  297. package/dist/server/design-token-utils.js.map +1 -0
  298. package/dist/server/email.d.ts +10 -0
  299. package/dist/server/email.d.ts.map +1 -1
  300. package/dist/server/email.js +63 -16
  301. package/dist/server/email.js.map +1 -1
  302. package/dist/server/framework-request-handler.d.ts.map +1 -1
  303. package/dist/server/framework-request-handler.js +38 -3
  304. package/dist/server/framework-request-handler.js.map +1 -1
  305. package/dist/server/google-oauth.d.ts +18 -1
  306. package/dist/server/google-oauth.d.ts.map +1 -1
  307. package/dist/server/google-oauth.js +21 -4
  308. package/dist/server/google-oauth.js.map +1 -1
  309. package/dist/server/index.d.ts +3 -3
  310. package/dist/server/index.d.ts.map +1 -1
  311. package/dist/server/index.js +3 -3
  312. package/dist/server/index.js.map +1 -1
  313. package/dist/server/onboarding-html.d.ts.map +1 -1
  314. package/dist/server/onboarding-html.js +14 -1
  315. package/dist/server/onboarding-html.js.map +1 -1
  316. package/dist/server/transcribe-voice.d.ts.map +1 -1
  317. package/dist/server/transcribe-voice.js +89 -24
  318. package/dist/server/transcribe-voice.js.map +1 -1
  319. package/dist/sharing/schema.d.ts +1 -1
  320. package/dist/styles/agent-native.css +5 -0
  321. package/dist/templates/default/app/root.tsx +50 -13
  322. package/dist/templates/default/react-router.config.ts +3 -0
  323. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  324. package/dist/terminal/terminal-plugin.js +23 -3
  325. package/dist/terminal/terminal-plugin.js.map +1 -1
  326. package/dist/tools/actions.d.ts +3 -0
  327. package/dist/tools/actions.d.ts.map +1 -0
  328. package/dist/tools/actions.js +140 -0
  329. package/dist/tools/actions.js.map +1 -0
  330. package/dist/tools/fetch-tool.js +1 -1
  331. package/dist/tools/fetch-tool.js.map +1 -1
  332. package/dist/tools/html-shell.d.ts +2 -0
  333. package/dist/tools/html-shell.d.ts.map +1 -0
  334. package/dist/tools/html-shell.js +387 -0
  335. package/dist/tools/html-shell.js.map +1 -0
  336. package/dist/tools/routes.d.ts +2 -0
  337. package/dist/tools/routes.d.ts.map +1 -0
  338. package/dist/tools/routes.js +576 -0
  339. package/dist/tools/routes.js.map +1 -0
  340. package/dist/tools/schema.d.ts +575 -0
  341. package/dist/tools/schema.d.ts.map +1 -0
  342. package/dist/tools/schema.js +112 -0
  343. package/dist/tools/schema.js.map +1 -0
  344. package/dist/tools/store.d.ts +40 -0
  345. package/dist/tools/store.d.ts.map +1 -0
  346. package/dist/tools/store.js +190 -0
  347. package/dist/tools/store.js.map +1 -0
  348. package/dist/tools/theme.d.ts +2 -0
  349. package/dist/tools/theme.d.ts.map +1 -0
  350. package/dist/tools/theme.js +67 -0
  351. package/dist/tools/theme.js.map +1 -0
  352. package/dist/transcription/builder-transcription.d.ts.map +1 -1
  353. package/dist/transcription/builder-transcription.js +26 -14
  354. package/dist/transcription/builder-transcription.js.map +1 -1
  355. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  356. package/dist/vite/action-types-plugin.js +10 -2
  357. package/dist/vite/action-types-plugin.js.map +1 -1
  358. package/dist/vite/client.d.ts.map +1 -1
  359. package/dist/vite/client.js +26 -6
  360. package/dist/vite/client.js.map +1 -1
  361. package/docs/content/a2a-protocol.md +2 -2
  362. package/docs/content/authentication.md +51 -0
  363. package/docs/content/cloneable-saas.md +59 -62
  364. package/docs/content/faq.md +73 -43
  365. package/docs/content/getting-started.md +37 -61
  366. package/docs/content/mcp-clients.md +14 -1
  367. package/docs/content/messaging.md +284 -0
  368. package/docs/content/pure-agent-apps.md +55 -28
  369. package/docs/content/template-calendar.md +61 -56
  370. package/docs/content/template-clips.md +22 -18
  371. package/docs/content/template-content.md +36 -26
  372. package/docs/content/template-dispatch.md +2 -1
  373. package/docs/content/template-forms.md +13 -11
  374. package/docs/content/template-slides.md +43 -31
  375. package/docs/content/template-video.md +49 -22
  376. package/docs/content/tools.md +107 -0
  377. package/docs/content/what-is-agent-native.md +89 -105
  378. package/package.json +4 -1
  379. package/src/templates/default/app/root.tsx +50 -13
  380. package/src/templates/default/react-router.config.ts +3 -0
  381. package/docs/content/integrations.md +0 -198
@@ -1,36 +1,40 @@
1
1
  ---
2
- title: "Clips Template"
3
- description: "Agent-native screen recording with AI transcription, auto-titles, summaries, chapter markers, and full-text search across every clip."
2
+ title: "Clips"
3
+ description: "Record your screen, get an AI-generated title, summary, and chapter markers automatically, and search across every recording you've ever made."
4
4
  ---
5
5
 
6
6
  # Clips
7
7
 
8
- Clips is an agent-native screen-recording app. The user records a video, the app transcribes it, and the agent takes over: suggests titles, writes summaries, builds chapters, finds the exact moment someone said X, opens the right recording, shares it with the right teammate, drafts replies to comments.
8
+ A screen-recording app where the agent does the post-production work for you. Record your screen, and Clips transcribes it, suggests a title and summary, builds chapter markers, and tags the content automatically. Ask "find the clip where we discussed the rollout plan" and the agent searches across every transcript you've ever made.
9
9
 
10
- Think Loom, but the agent is a first-class editor and the recordings are yours, not a SaaS vendor's.
10
+ Think along the lines of products that record short async videos for your team — but the agent is a first-class editor, and the recordings are yours, not a SaaS vendor's.
11
11
 
12
- ## What it does {#what-it-does}
12
+ ## What you can do with it
13
13
 
14
- - **Record your screen.** Built-in recorder with webcam overlay, audio capture, and pause/trim.
15
- - **Auto-transcribe.** Every recording is transcribed on upload. Speaker turns, timestamps, searchable.
16
- - **Agent-generated metadata.** Titles, summaries, chapter markers, tags the agent fills them in and keeps them current.
17
- - **Full-text search.** Query across every transcript in your library. "Find the clip where we discussed the rollout plan."
18
- - **Share links.** Per-clip permissions (public, team, private), link tracking, comments threaded with the agent in the loop.
19
- - **Smart library.** Group by project, filter by speaker, auto-tag based on content.
14
+ - **Record your screen** with a built-in recorder, webcam overlay, audio capture, and pause/trim.
15
+ - **Get an auto-generated title, summary, and chapter markers** for every recording the agent fills them in and keeps them current.
16
+ - **Search across every transcript** with full-text search. "Find the clip where we discussed the rollout plan."
17
+ - **Share clips** with per-clip permissions (public, team, private). Link tracking and threaded comments work too.
18
+ - **Smart library views.** Group by project, filter by speaker, auto-tag based on content.
19
+ - **Edit the transcript through chat.** "Fix the mis-transcribed word at 1:42." "Pull three quotes for a blog post." The agent edits the transcript and the UI updates live.
20
20
 
21
- ## Why it's interesting {#why}
21
+ ## Why it's interesting
22
22
 
23
- Three things make the Clips template a good showcase of what agent-native enables:
23
+ Three things make Clips a good showcase of what agent-native enables:
24
24
 
25
25
  1. **The agent edits the transcript.** Fix a mis-transcribed word, generate chapter timestamps, pull quotes for a blog post — all in natural language, in the chat, with the UI updating live via polling.
26
26
  2. **Context awareness on recordings.** When you're viewing a clip, the agent knows the clip id, the current playhead, and the selected transcript range. Ask "summarize from here to the end" and it understands what "here" means.
27
- 3. **Clips you own, not a vendor.** Unlike Loom, the recordings live in your storage, the transcripts live in your SQL, and the agent is yours. Fork the template, change how chapters get built, wire it to your own CDN — it's your code.
27
+ 3. **Clips you own, not a vendor.** The recordings live in your storage, the transcripts live in your SQL, and the agent is yours. Fork the template, change how chapters get built, wire it to your own CDN — it's your code.
28
28
 
29
- ## Naming note {#naming-note}
29
+ ## For developers
30
30
 
31
- In the template, always say **"Clip"** in user-facing strings and agent messages never "Loom." Internal table / variable names (`recordings`, `recording_transcripts`, etc.) stay as-is.
31
+ The rest of this doc is for anyone forking the Clips template or extending it.
32
32
 
33
- ## Scaffolding {#scaffolding}
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
+ ### Scaffolding
34
38
 
35
39
  ```bash
36
40
  pnpm dlx @agent-native/core create my-clips --template clips --standalone
@@ -38,7 +42,7 @@ pnpm dlx @agent-native/core create my-clips --template clips --standalone
38
42
 
39
43
  Clips is a larger template with a native recorder (it ships a desktop companion for local capture). See the template `README.md` for setup specifics around screen-capture permissions and storage configuration.
40
44
 
41
- ## Customize it {#customize}
45
+ ### Customize it
42
46
 
43
47
  Ask the agent:
44
48
 
@@ -1,19 +1,43 @@
1
1
  ---
2
- title: "Content Template"
3
- description: "A Notion-style document editor with an AI agent that can read, write, organize, and publish your pages."
2
+ title: "Content"
3
+ description: "A Notion-style document editor with an AI agent that can read, write, reorganize, and publish your pages — all in plain English."
4
4
  ---
5
5
 
6
- # Content Template
6
+ # Content
7
7
 
8
- A hierarchical document editor in the style of Notion or Google Docs. The AI agent has full parity with the UI it can create pages, edit selections, reorganize the tree, and sync with Notion, all while seeing exactly what you see.
8
+ A Notion-style document workspace where the agent can read, write, reorganize, and publish pages for you. Open a doc, ask "rewrite this paragraph to be more concise" or "create a page called Q4 Planning with sub-pages for Goals, Metrics, and Risks" same result whether you do it yourself or ask.
9
9
 
10
- ## Overview {#overview}
10
+ When you open the app, you'll see a sidebar tree of pages on the left, the editor in the middle, and the agent in the sidebar on the right. The agent always knows which page you're viewing and what text you have selected.
11
11
 
12
- The Content template is a rich-text document workspace with a sidebar tree, a Tiptap-based editor, and an agent panel. Pages live in a nested tree, content is stored as markdown in SQL, and the agent uses the same actions the UI calls for every operation.
12
+ ## What you can do with it
13
13
 
14
- Everything lives in one database (SQLite, Postgres, Turso anything Drizzle supports) and the agent sees your current view, so you can say "rewrite this paragraph" or "add a sub-page for Q4 planning" and it knows what you mean without you pasting anything.
14
+ - **Write rich text** with headings, lists, tables, code blocks, images, and links. Slash commands (`/`) insert blocks; selecting text pops up a formatting toolbar.
15
+ - **Organize pages in a tree** — nest infinitely, drag to reorder, favorite pages you use often.
16
+ - **Search across everything** with full-text search across titles and content.
17
+ - **Sync with Notion.** Link a local doc to a Notion page and pull or push content in either direction. Comments sync both ways too.
18
+ - **Collaborate in real time.** Multiple people (and the agent) can edit the same doc at the same time.
19
+ - **Share docs** with teammates or make them public — private by default, with viewer / editor / admin roles.
20
+ - **Ask the agent for anything**: "Rewrite this paragraph." "Add a TL;DR at the top." "Find all my meeting notes from last week." "Make this tone more formal."
15
21
 
16
- ## Quick start {#quick-start}
22
+ ## Getting started
23
+
24
+ Live demo: [content.agent-native.com](https://content.agent-native.com).
25
+
26
+ When you open the app, click **+ New page** in the sidebar, give it a title, and start writing. To use the agent, type in the sidebar:
27
+
28
+ - "Create a page called Onboarding and add three sub-pages under it."
29
+ - "Rewrite this paragraph to be more concise." (with a page open)
30
+ - "Add a section about pricing with three bullet points."
31
+ - "Summarize this doc into a TL;DR at the top."
32
+ - "Pull the latest from Notion." (after linking a Notion page)
33
+
34
+ Select text and hit Cmd+I to focus the agent with that selection pre-loaded — "make this punchier" then operates on exactly what you highlighted.
35
+
36
+ ## For developers
37
+
38
+ The rest of this doc is for anyone forking the Content template or extending it.
39
+
40
+ ### Quick start
17
41
 
18
42
  Scaffold a new workspace with the Content template:
19
43
 
@@ -26,9 +50,7 @@ pnpm dev
26
50
 
27
51
  Open `http://localhost:8080` and create your first page. The agent panel is on the right — try asking it to "create a page called Onboarding and add three sub-pages under it".
28
52
 
29
- Live demo: https://content.agent-native.com
30
-
31
- ## Key features {#key-features}
53
+ ### Key features (technical) {#key-features}
32
54
 
33
55
  ### Hierarchical pages
34
56
 
@@ -92,27 +114,15 @@ See the `sharing` skill.
92
114
 
93
115
  A dedicated team page at `/team` (see `app/routes/_app.team.tsx`) uses the framework's `TeamPage` component for creating orgs and managing members.
94
116
 
95
- ## Working with the agent {#working-with-the-agent}
117
+ ### Working with the agent
96
118
 
97
119
  Because the agent sees your current screen, most prompts don't need you to reference a document explicitly. When you have a page open, "this" means that page.
98
120
 
99
- Example prompts:
100
-
101
- - "Rewrite this paragraph to be more concise."
102
- - "Add a section about pricing with three bullet points."
103
- - "Create a page called Q4 Planning with sub-pages for Goals, Metrics, and Risks."
104
- - "Summarize this doc into a TL;DR at the top."
105
- - "Find all my meeting notes from last week."
106
- - "Change the tone of this page to be more formal."
107
- - "Pull the latest from Notion."
108
- - "Share this doc with hbikna@gmail.com as an editor."
109
- - "Move this page under Onboarding."
110
-
111
121
  For small edits, the agent uses `edit-document --find ... --replace ...` so only the changed text flows through Yjs — you'll see the diff applied in place rather than the whole page re-render. For bigger rewrites it uses `update-document --content ...`.
112
122
 
113
123
  If you select text and press Cmd+I (or focus the agent panel), the selection travels with your next message as context, so "make this punchier" operates on exactly what you highlighted.
114
124
 
115
- ## Data model {#data-model}
125
+ ### Data model
116
126
 
117
127
  Four core tables, all defined in `server/db/schema.ts`:
118
128
 
@@ -126,7 +136,7 @@ Content is stored as markdown. The editor converts to and from the Tiptap JSON m
126
136
 
127
137
  All ownable tables include `owner_email` and `org_id` via `ownableColumns()`, so a local-mode workspace (`local@localhost`) can be upgraded to a real account without losing history.
128
138
 
129
- ## Customizing it {#customizing-it}
139
+ ### Customizing it
130
140
 
131
141
  The four places to look when changing behavior:
132
142
 
@@ -11,7 +11,7 @@ If you're running an [multi-app workspace](/docs/multi-app-workspace) with many
11
11
 
12
12
  ## What it does {#what-it-does}
13
13
 
14
- - **Central inbox.** Slack DMs, Telegram messages, email notifications, A2A requests from other agents — all land in one place. The Dispatch agent triages and either handles them itself or delegates.
14
+ - **Central inbox.** Slack DMs, Telegram messages, email notifications, A2A requests from other agents — all land in one place. The Dispatch agent triages and either handles them itself or delegates. See [Messaging](/docs/messaging) for how to wire Slack, email, and Telegram into your workspace.
15
15
  - **Orchestrator, not specialist.** Dispatch does _not_ try to be the email app or the analytics app. When someone asks "summarize last week's signups," Dispatch calls the analytics agent over A2A and returns the answer. When someone asks "draft a reply to Alice," Dispatch calls the mail agent.
16
16
  - **Secrets vault.** A central store for API keys, OAuth tokens, and shared credentials. Apps in the workspace resolve secrets from Dispatch instead of duplicating them in every `.env`. Requests + approvals for sensitive access.
17
17
  - **Integrations catalog.** One page showing every third-party integration — Slack, Telegram, SendGrid, Apollo, etc. — with a "configured / not configured / pending approval" status per app.
@@ -52,6 +52,7 @@ Dispatch is a full cloneable SaaS like any other template — see [Cloneable Saa
52
52
 
53
53
  ## What's next
54
54
 
55
+ - [**Messaging**](/docs/messaging) — connecting Slack, email, and Telegram so you can talk to your agent from anywhere
55
56
  - [**Multi-App Workspace**](/docs/multi-app-workspace) — running Dispatch alongside multiple apps
56
57
  - [**A2A Protocol**](/docs/a2a-protocol) — how Dispatch delegates to specialist agents
57
58
  - [**MCP Clients — Hub Mode**](/docs/mcp-clients#hub) — sharing MCP servers across the workspace
@@ -5,24 +5,26 @@ description: "Agent-native form builder — create, edit, and analyze forms thro
5
5
 
6
6
  # Forms
7
7
 
8
- Forms is an agent-native form builder with a simple premise: everything the GUI can do, the agent can do, and vice versa. You can drag fields around in the editor, or you can type "add a 'how did you hear about us' dropdown with five options and make it required" — same result, same underlying data.
8
+ A form builder where the form builder _is_ the agent. Drag fields around in the editor, or just say "add a 'how did you hear about us' dropdown with five options and make it required" — same result, same underlying data. Think Typeform, but you can build, edit, and analyze forms by talking to the agent.
9
9
 
10
- Think Typeform, but the form builder _is_ the agent.
10
+ When you open the app, you'll see a list of your forms on the left and the editor in the middle. Open a form and you can click any field to fine-tune it, or ask the agent to make changes for you.
11
11
 
12
- ## What it does {#what-it-does}
12
+ ## What you can do with it
13
13
 
14
- - **Build forms conversationally.** "Create a contact form," "add a NPS score question," "make the email field required." The agent updates the schema; the preview updates live.
14
+ - **Build forms conversationally.** "Create a contact form," "add an NPS score question," "make the email field required." The agent updates the schema and the preview updates live.
15
15
  - **Click-to-edit fine-tuning.** Every field in the preview is editable in place — label, placeholder, validation, conditional logic — with the usual GUI controls.
16
- - **Field types** out of the box: short text, long text, email, phone, URL, number, date, single-select, multi-select, rating, file upload, section header, conditional branch.
17
- - **Responses dashboard.** Per-response view + an aggregate dashboard the agent can pivot on request: "show me signups from the last 30 days grouped by source."
16
+ - **Field types out of the box:** short text, long text, email, phone, URL, number, date, single-select, multi-select, rating, file upload, section header, conditional branch.
17
+ - **Responses dashboard.** Per-response view plus an aggregate dashboard the agent can pivot on request: "show me signups from the last 30 days grouped by source."
18
18
  - **Agent-driven analysis.** Ask the agent to cluster free-text responses, extract sentiments, or draft a reply to everyone who scored the NPS below 7.
19
- - **Publishing.** Public share link with embed snippet, branded thank-you page, webhook on submit.
19
+ - **Publish anywhere.** Public share link, embed snippet, branded thank-you page, webhook on submit.
20
20
 
21
- ## Why it's interesting {#why}
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
+ 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.
24
24
 
25
- ## Scaffolding {#scaffolding}
25
+ ## For developers
26
+
27
+ ### Scaffolding
26
28
 
27
29
  ```bash
28
30
  pnpm dlx @agent-native/core create my-forms --template forms --standalone
@@ -34,7 +36,7 @@ For a workspace with forms alongside other apps:
34
36
  pnpm dlx @agent-native/core create my-platform # pick Forms + other templates
35
37
  ```
36
38
 
37
- ## Customize it {#customize}
39
+ ### Customize it
38
40
 
39
41
  Ask the agent:
40
42
 
@@ -1,25 +1,51 @@
1
1
  ---
2
- title: "Slides Template"
3
- description: "Agent-native presentation editor — generate decks from a prompt, edit visually, and present in full-screen."
2
+ title: "Slides"
3
+ description: "Generate decks from a prompt, edit visually, and present full-screen. An open-source replacement for Google Slides, Pitch, and PowerPoint."
4
4
  ---
5
5
 
6
- # Slides Template
6
+ # Slides
7
7
 
8
- An open-source, agent-native presentation editor built on `@agent-native/core`. It replaces Google Slides, Pitch, and PowerPoint with a deck you can author in three ways at once by talking to the agent, by clicking the canvas, or by editing HTML.
8
+ Generate full presentation decks from a prompt, edit slides visually, and present full-screen. Ask the agent for "a 10-slide pitch deck for a coffee subscription service" and watch it stream slide-by-slide into the editor in seconds. An open-source replacement for Google Slides, Pitch, and PowerPoint.
9
9
 
10
- ## Overview {#overview}
10
+ When you open the app, you'll see your deck list. Click into a deck and you get a slide editor in the middle, a sidebar of slides on the left, and the agent on the right.
11
11
 
12
- The Slides template is a full presentation studio:
12
+ ## What you can do with it
13
13
 
14
- - Generate complete decks from a prompt, one slide at a time.
15
- - Edit slides visually or drop into raw HTML for full control.
16
- - Generate images with Gemini, search stock photos, and look up company logos.
17
- - Present full-screen with keyboard navigation and speaker notes.
18
- - Comment, share, and collaborate in real time over Yjs.
14
+ - **Generate decks from a prompt.** "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
15
+ - **Edit slides visually** double-click text to edit, click a block for the bubble menu, use `/` for the slash menu to insert blocks.
16
+ - **Generate images with AI.** Hero images, product mockups, illustrations — generated with Gemini, multiple variations per request.
17
+ - **Search stock photos and company logos.** "Find the logo for stripe.com and add it to slide 2."
18
+ - **Present full-screen** with keyboard navigation, auto-hiding controls, and speaker notes.
19
+ - **Comment, collaborate, and share.** Multiple people can edit the same deck in real time. Generate a public read-only URL or share with specific teammates.
20
+ - **Import from PDF.** Turn a PDF into a starter deck — the agent parses it and lays out the content.
19
21
 
20
- Every operation the UI does — creating a deck, adding a slide, swapping an image — is exposed as an action the agent can call too. The agent and UI always stay in sync because they read and write the same SQL database.
22
+ ## Getting started
21
23
 
22
- ## Quick start {#quick-start}
24
+ Live demo: [slides.agent-native.com](https://slides.agent-native.com).
25
+
26
+ When you open the app:
27
+
28
+ 1. Click **New deck**.
29
+ 2. In the agent sidebar, ask: "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
30
+ 3. Watch slides stream in. Click any slide to edit, or keep asking the agent to refine.
31
+
32
+ ### Useful prompts
33
+
34
+ - "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
35
+ - "Add a pricing slide after slide 3."
36
+ - "Make the title on this slide bigger and change the accent color to green."
37
+ - "Generate a hero image for the current slide — dark, minimal, cinematic."
38
+ - "Find the logo for stripe.com and add it to slide 2."
39
+ - "Replace the word 'customers' with 'members' everywhere in this deck."
40
+ - "Summarize this PDF as a 6-slide deck." (attach the PDF)
41
+
42
+ Select text on a slide and hit Cmd+I to focus the agent with that selection — it'll act only on what you selected.
43
+
44
+ ## For developers
45
+
46
+ The rest of this doc is for anyone forking the Slides template or extending it.
47
+
48
+ ### Quick start
23
49
 
24
50
  Create a new Slides app from the CLI:
25
51
 
@@ -29,11 +55,7 @@ cd my-slides
29
55
  pnpm dev
30
56
  ```
31
57
 
32
- Or try the hosted demo at [slides.agent-native.com](https://slides.agent-native.com).
33
-
34
- Once running, open the app, click "New deck", and ask the agent in the sidebar: "Generate a 10-slide pitch deck for a coffee subscription service."
35
-
36
- ## Key features {#key-features}
58
+ ### Key features (technical) {#key-features}
37
59
 
38
60
  ### Prompt-to-deck generation
39
61
 
@@ -91,20 +113,10 @@ Cmd+Z and Cmd+Shift+Z work across the whole deck, with a labeled history panel (
91
113
 
92
114
  Turn a PDF into a starter deck. The `extract-pdf` action parses the file and hands the content to the agent for layout.
93
115
 
94
- ## Working with the agent {#working-with-the-agent}
116
+ ### Working with the agent
95
117
 
96
118
  The agent chat lives in the sidebar. It can create decks, edit individual slides, generate images, search logos, and navigate the UI — all using the same actions you'd run from the CLI.
97
119
 
98
- ### Example prompts
99
-
100
- - "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
101
- - "Add a pricing slide after slide 3."
102
- - "Make the title on this slide bigger and change the accent color to green."
103
- - "Generate a hero image for the current slide — dark, minimal, cinematic."
104
- - "Find the logo for stripe.com and add it to slide 2."
105
- - "Replace the word 'customers' with 'members' everywhere in this deck."
106
- - "Summarize this PDF as a 6-slide deck." (attach the PDF)
107
-
108
120
  ### What the agent sees
109
121
 
110
122
  When a deck is open, the agent automatically sees:
@@ -123,7 +135,7 @@ Select text on a slide and hit Cmd+I to focus the agent with that selection pre-
123
135
 
124
136
  The agent can embed a live slide preview directly in a chat reply using the framework's embed fence. It renders a chromeless iframe via `app/routes/slide.tsx` so you can see the result without leaving the conversation.
125
137
 
126
- ## Data model {#data-model}
138
+ ### Data model
127
139
 
128
140
  All deck data lives in SQL via Drizzle ORM. Schema: `templates/slides/server/db/schema.ts`.
129
141
 
@@ -169,7 +181,7 @@ Each slide inside `decks.data` is:
169
181
 
170
182
  `content` is raw HTML — the renderer (`app/components/deck/SlideRenderer.tsx`) provides the black background and fixed aspect ratio, and the HTML provides everything inside. Rich embedding is supported too: Excalidraw diagrams via `ExcalidrawSlide.tsx` and Mermaid charts via `MermaidRenderer.tsx`.
171
183
 
172
- ## Customizing it {#customizing-it}
184
+ ### Customizing it
173
185
 
174
186
  The Slides template is fully forkable. Key places to look when extending it:
175
187
 
@@ -1,19 +1,58 @@
1
1
  ---
2
- title: "Video Template"
3
- description: "A Remotion-based animation studio where compositions are React components, animations are timeline tracks, and the agent edits alongside you."
2
+ title: "Video"
3
+ description: "A programmatic video studio for motion graphics, product demos, and kinetic text. Generate animations from a prompt and tune them on a timeline."
4
4
  ---
5
5
 
6
- # Video Template
6
+ # Video
7
7
 
8
- The Video template is a programmatic video studio built on [Remotion](https://remotion.dev). Compositions are React components, animations are tracks on a timeline, and renders output to MP4 or WebM. It replaces point-and-click editors like After Effects, Premiere, and Veed for the kind of motion graphics, product demos, and kinetic text videos that are a pain to keyframe by hand.
8
+ A programmatic video studio for the kind of motion graphics, product demos, and kinetic-text videos that are a pain to keyframe by hand. Ask the agent for "a 6-second logo reveal that fades in at 2 seconds" and it builds the animation. Tune timing, easing, and camera moves on a timeline, then render to MP4 or WebM.
9
9
 
10
- ## Overview {#overview}
10
+ When you open the studio, you'll see a list of compositions on the home screen. Click into one and you get a player on top, a timeline at the bottom, and a properties panel on the right. The agent always knows which composition you have open.
11
+
12
+ ## What you can do with it
13
+
14
+ - **Generate animations from a prompt.** "Add a title card that fades in at 2 seconds and holds until 5." The agent edits the composition.
15
+ - **Tune timing on a timeline.** Drag and resize animation tracks, scrub through frames, set easing curves visually.
16
+ - **Animate the camera.** Pan, zoom, and tilt with on-screen tools. Click the tool, drag in the preview, and a keyframe is auto-created.
17
+ - **Built-in compositions to start from.** Twelve examples ship: kinetic text, logo reveals, particle bursts, interactive UI demos, slideshows.
18
+ - **Edit easing curves visually.** 30+ curves shipped — power, back, bounce, circ, elastic, expo, sine, plus spring physics.
19
+ - **Render to MP4 or WebM** at 1x, 2x, or 3x supersampling for crisp text and vectors during camera zoom.
20
+
21
+ This is more of a developer-flavored tool than other templates — compositions are React components, so power users (or the agent) can write whole new animation types from scratch. But everyday tweaks ("make the typing slower," "drop the particle count to 12") are just chat.
22
+
23
+ ## Getting started
24
+
25
+ Live demo: [videos.agent-native.com](https://videos.agent-native.com).
26
+
27
+ When you open the studio:
28
+
29
+ 1. Pick a composition from the home screen.
30
+ 2. Try the agent: "add a logo reveal that fades in at 2 seconds." Watch the timeline update.
31
+ 3. Drag tracks to retime, click the camera tool, scrub the player.
32
+
33
+ ### Useful prompts
34
+
35
+ - "Add a title card that fades in at 2 seconds and holds until 5."
36
+ - "Change the camera to zoom 2x on the logo between frames 60 and 90."
37
+ - "Make the typing reveal slower — 40% longer."
38
+ - "The particle burst is too dense. Drop the count to 12."
39
+ - "Create a new composition called intro-loop, 1080x1080, 6 seconds."
40
+ - "Add a click animation on the button zone and animate the cursor to it."
41
+ - "Give this track a spring easing instead of ease-out."
42
+
43
+ If you select a track in the timeline and hit Cmd+I, the agent picks up that selection — "make this one snappier" just works.
44
+
45
+ ## For developers
46
+
47
+ The rest of this doc is for anyone forking the Video template or extending it. This template is more code-forward than the others — every composition is a React component and every animation is data on a track.
48
+
49
+ ### Architecture
11
50
 
12
51
  Everything you see in the studio is code. A composition is a `CompositionEntry` in `app/remotion/registry.ts` that points at a React component in `app/remotion/compositions/`. Every animation in that component reads from an `AnimationTrack` so users can drag, resize, and retime it in the timeline UI. The agent can create new compositions, add tracks, tune easing, and write whole React components that plug into the registry.
13
52
 
14
53
  The studio runs on Remotion's `<Player>` for preview and the Remotion CLI for final render. Output defaults to 1920x1080 at 30fps.
15
54
 
16
- ## Quick start {#quick-start}
55
+ ### Quick start
17
56
 
18
57
  Create a workspace with the Video app scaffolded:
19
58
 
@@ -33,7 +72,7 @@ Open the studio in your browser and pick a composition from the home screen. Ask
33
72
 
34
73
  Live demo: [videos.agent-native.com](https://videos.agent-native.com).
35
74
 
36
- ## Key features {#key-features}
75
+ ### Key features (technical)
37
76
 
38
77
  ### React-based compositions
39
78
 
@@ -81,25 +120,13 @@ Composition size, fps, and render quality are per-composition in the Properties
81
120
 
82
121
  User edits (track values, parameter values, prop overrides, composition settings) persist to localStorage per composition. The **Save** button in the top-right of the composition view writes the current state back to `app/remotion/registry.ts` as TypeScript — so new users and sessions pick up the changes.
83
122
 
84
- ## Working with the agent {#working-with-the-agent}
123
+ ### Working with the agent
85
124
 
86
125
  The agent always knows which composition you have open. Navigation state (`{ view, compositionId }`) is written to the framework's `application_state` table, and the `view-screen` action returns it plus a hint pointing at `app/remotion/registry.ts`. You don't have to tell the agent which composition you're on — ask it to act on "this one" and it will.
87
126
 
88
- Example prompts:
89
-
90
- - "Add a title card that fades in at 2 seconds and holds until 5."
91
- - "Change the camera to zoom 2x on the logo between frames 60 and 90."
92
- - "Make the typing reveal slower — 40% longer."
93
- - "The particle burst is too dense. Drop the count to 12."
94
- - "Create a new composition called intro-loop, 1080x1080, 6 seconds."
95
- - "Add a click animation on the button zone and animate the cursor to it."
96
- - "Give this track a spring easing instead of ease-out."
97
-
98
127
  Under the hood the agent calls actions like `navigate`, `create-composition`, `generate-animated-component`, and edits `app/remotion/registry.ts` and `app/remotion/compositions/*.tsx` directly. Every change shows up in the timeline.
99
128
 
100
- If you select a track in the UI and hit Cmd+I to focus the agent, it sees which track you've selected — "make this one snappier" just works.
101
-
102
- ## Data model {#data-model}
129
+ ### Data model
103
130
 
104
131
  Server-side schema is in `templates/videos/server/db/schema.ts`:
105
132
 
@@ -116,7 +143,7 @@ Core TypeScript shapes (`app/types.ts`):
116
143
 
117
144
  Compositions are private by default. Visibility can be `private`, `org`, or `public`, and share grants give `viewer`, `editor`, or `admin` roles — wired through the framework's sharing primitive.
118
145
 
119
- ## Customizing it {#customizing-it}
146
+ ### Customizing it
120
147
 
121
148
  The template folder is `templates/videos/` (the user-facing slug is `video`, but the folder is plural).
122
149
 
@@ -0,0 +1,107 @@
1
+ ---
2
+ title: "Tools"
3
+ description: "Lightweight interactive apps — dashboards, widgets, calculators, monitors — that the agent creates for you instantly, without changing your app's code."
4
+ ---
5
+
6
+ # Tools
7
+
8
+ Tools are lightweight interactive apps that live inside your agent-native app. Think dashboards, widgets, calculators, API monitors, data lookups — anything you'd otherwise build by hand.
9
+
10
+ The key difference from the rest of your app: **tools don't require code changes.** The agent creates and updates them at runtime, they're stored in the database, and they're ready to use immediately. No deploys, no builds, no pull requests.
11
+
12
+ ## Tools vs. editing the app {#tools-vs-code}
13
+
14
+ Your agent-native app has a full codebase — React components, routes, actions, styles. When the agent edits that code, it's changing the app itself. That's powerful, but it requires a build step and a deploy.
15
+
16
+ Tools are different:
17
+
18
+ | | App code | Tools |
19
+ | --------------------- | --------------------------------------- | -------------------------------------------------- |
20
+ | **Created by** | Developer or agent editing source files | Agent or user, instantly from chat |
21
+ | **Stored in** | Git repository | Database |
22
+ | **Requires a build** | Yes | No |
23
+ | **Requires a deploy** | Yes | No |
24
+ | **Scope** | Part of the app for all users | Private by default, shareable |
25
+ | **Best for** | Core app features | Personal dashboards, utilities, quick integrations |
26
+
27
+ Use app code for features that are core to the product. Use tools for everything else — one-off utilities, personal dashboards, quick integrations, monitors, and things you want to spin up in seconds.
28
+
29
+ ## Creating a tool {#creating}
30
+
31
+ ### From the sidebar
32
+
33
+ Click the **+** button in the Tools section of the sidebar. Describe what you want in plain language — "a dashboard that shows my open GitHub PRs" — and the agent builds it for you.
34
+
35
+ ### From chat
36
+
37
+ Just ask: "Create a tool that monitors our API health" or "Make me a calculator for shipping costs." The agent handles the rest.
38
+
39
+ ### Updating a tool
40
+
41
+ Ask the agent: "Update my PR dashboard to also show draft PRs" or "Add a dark mode toggle to the weather widget." The agent makes surgical edits without regenerating the whole thing.
42
+
43
+ ## What tools can do {#capabilities}
44
+
45
+ Tools are fully capable despite being lightweight. They can:
46
+
47
+ - **Call external APIs** — GitHub, Stripe, weather services, any REST API. Requests go through a secure server-side proxy that keeps your API keys safe.
48
+ - **Call your app's actions** — anything your agent can do, a tool can trigger.
49
+ - **Query your app's database** — read and write data directly.
50
+ - **Store their own data** — each tool has built-in persistent storage, no setup required. Save notes, preferences, cached results — whatever the tool needs.
51
+ - **Call any endpoint in your app** — hit custom API routes, webhooks, or internal services.
52
+
53
+ All of this works out of the box. No configuration, no new files, no schema changes.
54
+
55
+ ## Persistent storage {#persistent-storage}
56
+
57
+ Every tool has access to a built-in key-value store. Data is automatically scoped per tool and per user — your data stays yours.
58
+
59
+ When you ask the agent to "add persistence" or "remember state" in a tool, it uses this built-in storage. No database tables to create, no migrations to run.
60
+
61
+ ## API keys and secrets {#secrets}
62
+
63
+ When a tool needs an API key (for GitHub, OpenAI, a weather service, etc.), the agent will tell you what's needed and where to get it. You add the key through the Settings UI in the agent sidebar.
64
+
65
+ Keys are encrypted and stored securely. Each key is restricted to specific domains — a GitHub token can only be sent to `api.github.com`, never anywhere else.
66
+
67
+ ## Sharing {#sharing}
68
+
69
+ Tools are **private by default** — only you can see and use a tool you create.
70
+
71
+ You can share tools with your team:
72
+
73
+ - **Org-visible** — everyone in your organization can use it.
74
+ - **Per-user sharing** — grant access to specific people as viewers, editors, or admins.
75
+
76
+ Shared tools have their own URLs, so you can link to them directly.
77
+
78
+ ## Security {#security}
79
+
80
+ Tools run in a secure sandbox:
81
+
82
+ - **Isolated** — tools can't access your app's cookies, session, or page content.
83
+ - **API keys stay server-side** — secrets are injected by the server, never exposed to the browser.
84
+ - **Domain-restricted secrets** — each API key can only be sent to its approved domains.
85
+ - **Private network protection** — tools can't reach internal/private network addresses.
86
+ - **Authentication required** — only logged-in users can use tools.
87
+
88
+ ## Examples {#examples}
89
+
90
+ Here are some things people build as tools:
91
+
92
+ - **GitHub PR dashboard** — see open PRs, review status, and CI checks at a glance
93
+ - **API health monitor** — check if your services are up with a single click
94
+ - **Weather widget** — quick weather lookup for any city
95
+ - **Stripe payment lookup** — search recent payments and refunds
96
+ - **Database explorer** — browse and query your app's data
97
+ - **Shipping cost calculator** — compute rates based on weight and destination
98
+ - **Meeting notes summarizer** — paste notes, get action items
99
+ - **Social media scheduler** — draft and schedule posts across platforms
100
+
101
+ To create any of these, just describe what you want in the agent chat.
102
+
103
+ ## What's next
104
+
105
+ - [**Actions**](/docs/actions) — the operations that tools (and the agent) can call
106
+ - [**Workspace**](/docs/workspace) — the broader workspace system tools live alongside
107
+ - [**Security**](/docs/security) — the framework's data scoping and access control