@agent-native/core 0.5.0-dev.b51eaae → 0.6.1

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 (806) hide show
  1. package/README.md +15 -43
  2. package/dist/a2a/agent-card.d.ts.map +1 -1
  3. package/dist/a2a/agent-card.js +12 -1
  4. package/dist/a2a/agent-card.js.map +1 -1
  5. package/dist/a2a/client.d.ts +11 -0
  6. package/dist/a2a/client.d.ts.map +1 -1
  7. package/dist/a2a/client.js +38 -1
  8. package/dist/a2a/client.js.map +1 -1
  9. package/dist/a2a/index.d.ts +1 -1
  10. package/dist/a2a/index.d.ts.map +1 -1
  11. package/dist/a2a/index.js +1 -1
  12. package/dist/a2a/index.js.map +1 -1
  13. package/dist/a2a/server.d.ts +4 -0
  14. package/dist/a2a/server.d.ts.map +1 -1
  15. package/dist/a2a/server.js +53 -8
  16. package/dist/a2a/server.js.map +1 -1
  17. package/dist/a2a/types.d.ts +1 -0
  18. package/dist/a2a/types.d.ts.map +1 -1
  19. package/dist/action.d.ts +64 -30
  20. package/dist/action.d.ts.map +1 -1
  21. package/dist/action.js +224 -27
  22. package/dist/action.js.map +1 -1
  23. package/dist/agent/engine/ai-sdk-engine.d.ts +24 -0
  24. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -0
  25. package/dist/agent/engine/ai-sdk-engine.js +302 -0
  26. package/dist/agent/engine/ai-sdk-engine.js.map +1 -0
  27. package/dist/agent/engine/anthropic-engine.d.ts +24 -0
  28. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -0
  29. package/dist/agent/engine/anthropic-engine.js +169 -0
  30. package/dist/agent/engine/anthropic-engine.js.map +1 -0
  31. package/dist/agent/engine/builtin.d.ts +12 -0
  32. package/dist/agent/engine/builtin.d.ts.map +1 -0
  33. package/dist/agent/engine/builtin.js +72 -0
  34. package/dist/agent/engine/builtin.js.map +1 -0
  35. package/dist/agent/engine/index.d.ts +9 -0
  36. package/dist/agent/engine/index.d.ts.map +1 -0
  37. package/dist/agent/engine/index.js +8 -0
  38. package/dist/agent/engine/index.js.map +1 -0
  39. package/dist/agent/engine/registry.d.ts +61 -0
  40. package/dist/agent/engine/registry.d.ts.map +1 -0
  41. package/dist/agent/engine/registry.js +101 -0
  42. package/dist/agent/engine/registry.js.map +1 -0
  43. package/dist/agent/engine/translate-ai-sdk.d.ts +20 -0
  44. package/dist/agent/engine/translate-ai-sdk.d.ts.map +1 -0
  45. package/dist/agent/engine/translate-ai-sdk.js +174 -0
  46. package/dist/agent/engine/translate-ai-sdk.js.map +1 -0
  47. package/dist/agent/engine/translate-anthropic.d.ts +23 -0
  48. package/dist/agent/engine/translate-anthropic.d.ts.map +1 -0
  49. package/dist/agent/engine/translate-anthropic.js +140 -0
  50. package/dist/agent/engine/translate-anthropic.js.map +1 -0
  51. package/dist/agent/engine/types.d.ts +168 -0
  52. package/dist/agent/engine/types.d.ts.map +1 -0
  53. package/dist/agent/engine/types.js +13 -0
  54. package/dist/agent/engine/types.js.map +1 -0
  55. package/dist/agent/production-agent.d.ts +48 -2
  56. package/dist/agent/production-agent.d.ts.map +1 -1
  57. package/dist/agent/production-agent.js +216 -76
  58. package/dist/agent/production-agent.js.map +1 -1
  59. package/dist/agent/run-manager.d.ts +1 -1
  60. package/dist/agent/run-manager.d.ts.map +1 -1
  61. package/dist/agent/run-manager.js +15 -9
  62. package/dist/agent/run-manager.js.map +1 -1
  63. package/dist/agent/run-store.d.ts.map +1 -1
  64. package/dist/agent/run-store.js +5 -5
  65. package/dist/agent/run-store.js.map +1 -1
  66. package/dist/agent/thread-data-builder.d.ts +1 -0
  67. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  68. package/dist/agent/thread-data-builder.js +4 -1
  69. package/dist/agent/thread-data-builder.js.map +1 -1
  70. package/dist/agent/types.d.ts +22 -1
  71. package/dist/agent/types.d.ts.map +1 -1
  72. package/dist/application-state/handlers.d.ts +8 -8
  73. package/dist/application-state/handlers.d.ts.map +1 -1
  74. package/dist/application-state/handlers.js +3 -2
  75. package/dist/application-state/handlers.js.map +1 -1
  76. package/dist/application-state/script-helpers.d.ts.map +1 -1
  77. package/dist/application-state/script-helpers.js +47 -9
  78. package/dist/application-state/script-helpers.js.map +1 -1
  79. package/dist/chat-threads/store.d.ts +14 -0
  80. package/dist/chat-threads/store.d.ts.map +1 -1
  81. package/dist/chat-threads/store.js +32 -0
  82. package/dist/chat-threads/store.js.map +1 -1
  83. package/dist/cli/create.d.ts +8 -2
  84. package/dist/cli/create.d.ts.map +1 -1
  85. package/dist/cli/create.js +287 -32
  86. package/dist/cli/create.js.map +1 -1
  87. package/dist/cli/index.js +19 -6
  88. package/dist/cli/index.js.map +1 -1
  89. package/dist/client/AgentPanel.d.ts +5 -1
  90. package/dist/client/AgentPanel.d.ts.map +1 -1
  91. package/dist/client/AgentPanel.js +407 -111
  92. package/dist/client/AgentPanel.js.map +1 -1
  93. package/dist/client/AgentTaskCard.d.ts +12 -0
  94. package/dist/client/AgentTaskCard.d.ts.map +1 -0
  95. package/dist/client/AgentTaskCard.js +146 -0
  96. package/dist/client/AgentTaskCard.js.map +1 -0
  97. package/dist/client/AssistantChat.d.ts +13 -2
  98. package/dist/client/AssistantChat.d.ts.map +1 -1
  99. package/dist/client/AssistantChat.js +344 -122
  100. package/dist/client/AssistantChat.js.map +1 -1
  101. package/dist/client/MultiTabAssistantChat.d.ts +7 -1
  102. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  103. package/dist/client/MultiTabAssistantChat.js +345 -63
  104. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  105. package/dist/client/PoweredByBadge.js +2 -2
  106. package/dist/client/PoweredByBadge.js.map +1 -1
  107. package/dist/client/Turnstile.d.ts.map +1 -1
  108. package/dist/client/Turnstile.js +2 -3
  109. package/dist/client/Turnstile.js.map +1 -1
  110. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  111. package/dist/client/agent-chat-adapter.js +63 -2
  112. package/dist/client/agent-chat-adapter.js.map +1 -1
  113. package/dist/client/agent-chat.d.ts +14 -1
  114. package/dist/client/agent-chat.d.ts.map +1 -1
  115. package/dist/client/agent-chat.js +4 -2
  116. package/dist/client/agent-chat.js.map +1 -1
  117. package/dist/client/components/CodeAgentIndicator.d.ts +14 -0
  118. package/dist/client/components/CodeAgentIndicator.d.ts.map +1 -0
  119. package/dist/client/components/CodeAgentIndicator.js +29 -0
  120. package/dist/client/components/CodeAgentIndicator.js.map +1 -0
  121. package/dist/client/composer/MentionPopover.d.ts +4 -1
  122. package/dist/client/composer/MentionPopover.d.ts.map +1 -1
  123. package/dist/client/composer/MentionPopover.js +36 -6
  124. package/dist/client/composer/MentionPopover.js.map +1 -1
  125. package/dist/client/composer/TiptapComposer.d.ts +8 -1
  126. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  127. package/dist/client/composer/TiptapComposer.js +146 -16
  128. package/dist/client/composer/TiptapComposer.js.map +1 -1
  129. package/dist/client/composer/index.d.ts +1 -1
  130. package/dist/client/composer/index.d.ts.map +1 -1
  131. package/dist/client/composer/types.d.ts +5 -0
  132. package/dist/client/composer/types.d.ts.map +1 -1
  133. package/dist/client/composer/use-mention-search.d.ts.map +1 -1
  134. package/dist/client/composer/use-mention-search.js +46 -13
  135. package/dist/client/composer/use-mention-search.js.map +1 -1
  136. package/dist/client/frame-protocol.d.ts +54 -0
  137. package/dist/client/frame-protocol.d.ts.map +1 -0
  138. package/dist/client/frame-protocol.js +9 -0
  139. package/dist/client/frame-protocol.js.map +1 -0
  140. package/dist/client/frame.d.ts +56 -0
  141. package/dist/client/frame.d.ts.map +1 -0
  142. package/dist/client/{harness.js → frame.js} +49 -26
  143. package/dist/client/frame.js.map +1 -0
  144. package/dist/client/index.d.ts +7 -3
  145. package/dist/client/index.d.ts.map +1 -1
  146. package/dist/client/index.js +6 -3
  147. package/dist/client/index.js.map +1 -1
  148. package/dist/client/integrations/IntegrationCard.d.ts +6 -0
  149. package/dist/client/integrations/IntegrationCard.d.ts.map +1 -0
  150. package/dist/client/integrations/IntegrationCard.js +45 -0
  151. package/dist/client/integrations/IntegrationCard.js.map +1 -0
  152. package/dist/client/integrations/IntegrationsPanel.d.ts +2 -0
  153. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -0
  154. package/dist/client/integrations/IntegrationsPanel.js +149 -0
  155. package/dist/client/integrations/IntegrationsPanel.js.map +1 -0
  156. package/dist/client/integrations/index.d.ts +4 -0
  157. package/dist/client/integrations/index.d.ts.map +1 -0
  158. package/dist/client/integrations/index.js +3 -0
  159. package/dist/client/integrations/index.js.map +1 -0
  160. package/dist/client/integrations/useIntegrationStatus.d.ts +15 -0
  161. package/dist/client/integrations/useIntegrationStatus.d.ts.map +1 -0
  162. package/dist/client/integrations/useIntegrationStatus.js +37 -0
  163. package/dist/client/integrations/useIntegrationStatus.js.map +1 -0
  164. package/dist/client/org/InvitationBanner.d.ts +9 -0
  165. package/dist/client/org/InvitationBanner.d.ts.map +1 -0
  166. package/dist/client/org/InvitationBanner.js +17 -0
  167. package/dist/client/org/InvitationBanner.js.map +1 -0
  168. package/dist/client/org/OrgSwitcher.d.ts +14 -0
  169. package/dist/client/org/OrgSwitcher.d.ts.map +1 -0
  170. package/dist/client/org/OrgSwitcher.js +51 -0
  171. package/dist/client/org/OrgSwitcher.js.map +1 -0
  172. package/dist/client/org/TeamPage.d.ts +23 -0
  173. package/dist/client/org/TeamPage.d.ts.map +1 -0
  174. package/dist/client/org/TeamPage.js +145 -0
  175. package/dist/client/org/TeamPage.js.map +1 -0
  176. package/dist/client/org/hooks.d.ts +14 -0
  177. package/dist/client/org/hooks.d.ts.map +1 -0
  178. package/dist/client/org/hooks.js +101 -0
  179. package/dist/client/org/hooks.js.map +1 -0
  180. package/dist/client/org/index.d.ts +6 -0
  181. package/dist/client/org/index.d.ts.map +1 -0
  182. package/dist/client/org/index.js +6 -0
  183. package/dist/client/org/index.js.map +1 -0
  184. package/dist/client/resources/ResourceEditor.d.ts +8 -1
  185. package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
  186. package/dist/client/resources/ResourceEditor.js +94 -13
  187. package/dist/client/resources/ResourceEditor.js.map +1 -1
  188. package/dist/client/resources/ResourceTree.d.ts +5 -1
  189. package/dist/client/resources/ResourceTree.d.ts.map +1 -1
  190. package/dist/client/resources/ResourceTree.js +18 -3
  191. package/dist/client/resources/ResourceTree.js.map +1 -1
  192. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  193. package/dist/client/resources/ResourcesPanel.js +135 -110
  194. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  195. package/dist/client/resources/use-resources.d.ts +10 -0
  196. package/dist/client/resources/use-resources.d.ts.map +1 -1
  197. package/dist/client/resources/use-resources.js +2 -2
  198. package/dist/client/resources/use-resources.js.map +1 -1
  199. package/dist/client/sse-event-processor.d.ts +9 -1
  200. package/dist/client/sse-event-processor.d.ts.map +1 -1
  201. package/dist/client/sse-event-processor.js +36 -3
  202. package/dist/client/sse-event-processor.js.map +1 -1
  203. package/dist/client/terminal/AgentTerminal.d.ts +4 -4
  204. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  205. package/dist/client/terminal/AgentTerminal.js +14 -14
  206. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  207. package/dist/client/use-action.d.ts +51 -0
  208. package/dist/client/use-action.d.ts.map +1 -0
  209. package/dist/client/use-action.js +102 -0
  210. package/dist/client/use-action.js.map +1 -0
  211. package/dist/client/use-avatar.d.ts +15 -0
  212. package/dist/client/use-avatar.d.ts.map +1 -0
  213. package/dist/client/use-avatar.js +116 -0
  214. package/dist/client/use-avatar.js.map +1 -0
  215. package/dist/client/use-chat-threads.d.ts +1 -1
  216. package/dist/client/use-chat-threads.d.ts.map +1 -1
  217. package/dist/client/use-chat-threads.js +34 -18
  218. package/dist/client/use-chat-threads.js.map +1 -1
  219. package/dist/client/use-dev-mode.d.ts.map +1 -1
  220. package/dist/client/use-dev-mode.js +2 -0
  221. package/dist/client/use-dev-mode.js.map +1 -1
  222. package/dist/client/use-send-to-agent-chat.d.ts +7 -4
  223. package/dist/client/use-send-to-agent-chat.d.ts.map +1 -1
  224. package/dist/client/use-send-to-agent-chat.js +31 -10
  225. package/dist/client/use-send-to-agent-chat.js.map +1 -1
  226. package/dist/collab/awareness.d.ts +41 -0
  227. package/dist/collab/awareness.d.ts.map +1 -0
  228. package/dist/collab/awareness.js +82 -0
  229. package/dist/collab/awareness.js.map +1 -0
  230. package/dist/collab/client.d.ts +49 -0
  231. package/dist/collab/client.d.ts.map +1 -0
  232. package/dist/collab/client.js +250 -0
  233. package/dist/collab/client.js.map +1 -0
  234. package/dist/collab/emitter.d.ts +12 -0
  235. package/dist/collab/emitter.d.ts.map +1 -0
  236. package/dist/collab/emitter.js +16 -0
  237. package/dist/collab/emitter.js.map +1 -0
  238. package/dist/collab/index.d.ts +7 -0
  239. package/dist/collab/index.d.ts.map +1 -0
  240. package/dist/collab/index.js +14 -0
  241. package/dist/collab/index.js.map +1 -0
  242. package/dist/collab/routes.d.ts +69 -0
  243. package/dist/collab/routes.d.ts.map +1 -0
  244. package/dist/collab/routes.js +98 -0
  245. package/dist/collab/routes.js.map +1 -0
  246. package/dist/collab/storage.d.ts +18 -0
  247. package/dist/collab/storage.d.ts.map +1 -0
  248. package/dist/collab/storage.js +94 -0
  249. package/dist/collab/storage.js.map +1 -0
  250. package/dist/collab/text-to-yjs.d.ts +23 -0
  251. package/dist/collab/text-to-yjs.d.ts.map +1 -0
  252. package/dist/collab/text-to-yjs.js +63 -0
  253. package/dist/collab/text-to-yjs.js.map +1 -0
  254. package/dist/collab/xml-ops.d.ts +20 -0
  255. package/dist/collab/xml-ops.d.ts.map +1 -0
  256. package/dist/collab/xml-ops.js +59 -0
  257. package/dist/collab/xml-ops.js.map +1 -0
  258. package/dist/collab/ydoc-manager.d.ts +52 -0
  259. package/dist/collab/ydoc-manager.d.ts.map +1 -0
  260. package/dist/collab/ydoc-manager.js +154 -0
  261. package/dist/collab/ydoc-manager.js.map +1 -0
  262. package/dist/db/client.d.ts +10 -0
  263. package/dist/db/client.d.ts.map +1 -1
  264. package/dist/db/client.js +43 -2
  265. package/dist/db/client.js.map +1 -1
  266. package/dist/db/create-get-db.js.map +1 -1
  267. package/dist/db/index.d.ts +1 -1
  268. package/dist/db/index.d.ts.map +1 -1
  269. package/dist/db/index.js +1 -1
  270. package/dist/db/index.js.map +1 -1
  271. package/dist/db/migrations.d.ts +9 -1
  272. package/dist/db/migrations.d.ts.map +1 -1
  273. package/dist/db/migrations.js +45 -20
  274. package/dist/db/migrations.js.map +1 -1
  275. package/dist/db/schema.d.ts +8 -1
  276. package/dist/db/schema.d.ts.map +1 -1
  277. package/dist/db/schema.js +13 -2
  278. package/dist/db/schema.js.map +1 -1
  279. package/dist/deploy/build.js +607 -42
  280. package/dist/deploy/build.js.map +1 -1
  281. package/dist/deploy/route-discovery.d.ts +17 -4
  282. package/dist/deploy/route-discovery.d.ts.map +1 -1
  283. package/dist/deploy/route-discovery.js +117 -35
  284. package/dist/deploy/route-discovery.js.map +1 -1
  285. package/dist/index.browser.d.ts +2 -0
  286. package/dist/index.browser.d.ts.map +1 -1
  287. package/dist/index.browser.js +4 -0
  288. package/dist/index.browser.js.map +1 -1
  289. package/dist/index.d.ts +3 -3
  290. package/dist/index.d.ts.map +1 -1
  291. package/dist/index.js +2 -2
  292. package/dist/index.js.map +1 -1
  293. package/dist/integrations/adapters/slack.d.ts +10 -0
  294. package/dist/integrations/adapters/slack.d.ts.map +1 -0
  295. package/dist/integrations/adapters/slack.js +215 -0
  296. package/dist/integrations/adapters/slack.js.map +1 -0
  297. package/dist/integrations/adapters/telegram.d.ts +12 -0
  298. package/dist/integrations/adapters/telegram.d.ts.map +1 -0
  299. package/dist/integrations/adapters/telegram.js +184 -0
  300. package/dist/integrations/adapters/telegram.js.map +1 -0
  301. package/dist/integrations/adapters/whatsapp.d.ts +14 -0
  302. package/dist/integrations/adapters/whatsapp.d.ts.map +1 -0
  303. package/dist/integrations/adapters/whatsapp.js +205 -0
  304. package/dist/integrations/adapters/whatsapp.js.map +1 -0
  305. package/dist/integrations/config-store.d.ts +24 -0
  306. package/dist/integrations/config-store.d.ts.map +1 -0
  307. package/dist/integrations/config-store.js +92 -0
  308. package/dist/integrations/config-store.js.map +1 -0
  309. package/dist/integrations/index.d.ts +8 -0
  310. package/dist/integrations/index.d.ts.map +1 -0
  311. package/dist/integrations/index.js +10 -0
  312. package/dist/integrations/index.js.map +1 -0
  313. package/dist/integrations/plugin.d.ts +20 -0
  314. package/dist/integrations/plugin.d.ts.map +1 -0
  315. package/dist/integrations/plugin.js +213 -0
  316. package/dist/integrations/plugin.js.map +1 -0
  317. package/dist/integrations/thread-mapping-store.d.ts +25 -0
  318. package/dist/integrations/thread-mapping-store.d.ts.map +1 -0
  319. package/dist/integrations/thread-mapping-store.js +95 -0
  320. package/dist/integrations/thread-mapping-store.js.map +1 -0
  321. package/dist/integrations/types.d.ts +111 -0
  322. package/dist/integrations/types.d.ts.map +1 -0
  323. package/dist/integrations/types.js +2 -0
  324. package/dist/integrations/types.js.map +1 -0
  325. package/dist/integrations/webhook-handler.d.ts +31 -0
  326. package/dist/integrations/webhook-handler.d.ts.map +1 -0
  327. package/dist/integrations/webhook-handler.js +210 -0
  328. package/dist/integrations/webhook-handler.js.map +1 -0
  329. package/dist/jobs/cron.d.ts +14 -0
  330. package/dist/jobs/cron.d.ts.map +1 -0
  331. package/dist/jobs/cron.js +100 -0
  332. package/dist/jobs/cron.js.map +1 -0
  333. package/dist/jobs/index.d.ts +4 -0
  334. package/dist/jobs/index.d.ts.map +1 -0
  335. package/dist/jobs/index.js +4 -0
  336. package/dist/jobs/index.js.map +1 -0
  337. package/dist/jobs/scheduler.d.ts +29 -0
  338. package/dist/jobs/scheduler.d.ts.map +1 -0
  339. package/dist/jobs/scheduler.js +205 -0
  340. package/dist/jobs/scheduler.js.map +1 -0
  341. package/dist/jobs/tools.d.ts +3 -0
  342. package/dist/jobs/tools.d.ts.map +1 -0
  343. package/dist/jobs/tools.js +192 -0
  344. package/dist/jobs/tools.js.map +1 -0
  345. package/dist/mcp/index.d.ts +3 -0
  346. package/dist/mcp/index.d.ts.map +1 -0
  347. package/dist/mcp/index.js +2 -0
  348. package/dist/mcp/index.js.map +1 -0
  349. package/dist/mcp/server.d.ts +26 -0
  350. package/dist/mcp/server.d.ts.map +1 -0
  351. package/dist/mcp/server.js +182 -0
  352. package/dist/mcp/server.js.map +1 -0
  353. package/dist/oauth-tokens/index.d.ts +1 -1
  354. package/dist/oauth-tokens/index.d.ts.map +1 -1
  355. package/dist/oauth-tokens/index.js +1 -1
  356. package/dist/oauth-tokens/index.js.map +1 -1
  357. package/dist/oauth-tokens/store.d.ts +5 -0
  358. package/dist/oauth-tokens/store.d.ts.map +1 -1
  359. package/dist/oauth-tokens/store.js +30 -7
  360. package/dist/oauth-tokens/store.js.map +1 -1
  361. package/dist/org/context.d.ts +11 -0
  362. package/dist/org/context.d.ts.map +1 -0
  363. package/dist/org/context.js +61 -0
  364. package/dist/org/context.js.map +1 -0
  365. package/dist/org/handlers.d.ts +66 -0
  366. package/dist/org/handlers.d.ts.map +1 -0
  367. package/dist/org/handlers.js +306 -0
  368. package/dist/org/handlers.js.map +1 -0
  369. package/dist/org/index.d.ts +7 -0
  370. package/dist/org/index.d.ts.map +1 -0
  371. package/dist/org/index.js +11 -0
  372. package/dist/org/index.js.map +1 -0
  373. package/dist/org/migrations.d.ts +10 -0
  374. package/dist/org/migrations.d.ts.map +1 -0
  375. package/dist/org/migrations.js +39 -0
  376. package/dist/org/migrations.js.map +1 -0
  377. package/dist/org/plugin.d.ts +26 -0
  378. package/dist/org/plugin.d.ts.map +1 -0
  379. package/dist/org/plugin.js +94 -0
  380. package/dist/org/plugin.js.map +1 -0
  381. package/dist/org/schema.d.ts +301 -0
  382. package/dist/org/schema.d.ts.map +1 -0
  383. package/dist/org/schema.js +23 -0
  384. package/dist/org/schema.js.map +1 -0
  385. package/dist/org/types.d.ts +42 -0
  386. package/dist/org/types.d.ts.map +1 -0
  387. package/dist/org/types.js +5 -0
  388. package/dist/org/types.js.map +1 -0
  389. package/dist/resources/handlers.d.ts +10 -1
  390. package/dist/resources/handlers.d.ts.map +1 -1
  391. package/dist/resources/handlers.js +82 -9
  392. package/dist/resources/handlers.js.map +1 -1
  393. package/dist/resources/store.d.ts +5 -0
  394. package/dist/resources/store.d.ts.map +1 -1
  395. package/dist/resources/store.js +44 -0
  396. package/dist/resources/store.js.map +1 -1
  397. package/dist/scripts/agent-engines/list-agent-engines.d.ts +7 -0
  398. package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -0
  399. package/dist/scripts/agent-engines/list-agent-engines.js +42 -0
  400. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -0
  401. package/dist/scripts/agent-engines/set-agent-engine.d.ts +7 -0
  402. package/dist/scripts/agent-engines/set-agent-engine.d.ts.map +1 -0
  403. package/dist/scripts/agent-engines/set-agent-engine.js +57 -0
  404. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -0
  405. package/dist/scripts/agent-engines/test-agent-engine.d.ts +7 -0
  406. package/dist/scripts/agent-engines/test-agent-engine.d.ts.map +1 -0
  407. package/dist/scripts/agent-engines/test-agent-engine.js +102 -0
  408. package/dist/scripts/agent-engines/test-agent-engine.js.map +1 -0
  409. package/dist/scripts/call-agent.d.ts +1 -1
  410. package/dist/scripts/call-agent.d.ts.map +1 -1
  411. package/dist/scripts/call-agent.js +10 -6
  412. package/dist/scripts/call-agent.js.map +1 -1
  413. package/dist/scripts/chat/index.d.ts +2 -0
  414. package/dist/scripts/chat/index.d.ts.map +1 -0
  415. package/dist/scripts/chat/index.js +5 -0
  416. package/dist/scripts/chat/index.js.map +1 -0
  417. package/dist/scripts/chat/open-chat.d.ts +11 -0
  418. package/dist/scripts/chat/open-chat.d.ts.map +1 -0
  419. package/dist/scripts/chat/open-chat.js +48 -0
  420. package/dist/scripts/chat/open-chat.js.map +1 -0
  421. package/dist/scripts/chat/search-chats.d.ts +10 -0
  422. package/dist/scripts/chat/search-chats.d.ts.map +1 -0
  423. package/dist/scripts/chat/search-chats.js +89 -0
  424. package/dist/scripts/chat/search-chats.js.map +1 -0
  425. package/dist/scripts/core-scripts.d.ts.map +1 -1
  426. package/dist/scripts/core-scripts.js +2 -0
  427. package/dist/scripts/core-scripts.js.map +1 -1
  428. package/dist/scripts/db/check-scoping.d.ts +14 -0
  429. package/dist/scripts/db/check-scoping.d.ts.map +1 -0
  430. package/dist/scripts/db/check-scoping.js +174 -0
  431. package/dist/scripts/db/check-scoping.js.map +1 -0
  432. package/dist/scripts/db/exec.d.ts +3 -2
  433. package/dist/scripts/db/exec.d.ts.map +1 -1
  434. package/dist/scripts/db/exec.js +35 -19
  435. package/dist/scripts/db/exec.js.map +1 -1
  436. package/dist/scripts/db/index.d.ts.map +1 -1
  437. package/dist/scripts/db/index.js +2 -0
  438. package/dist/scripts/db/index.js.map +1 -1
  439. package/dist/scripts/db/patch.d.ts +50 -0
  440. package/dist/scripts/db/patch.d.ts.map +1 -0
  441. package/dist/scripts/db/patch.js +392 -0
  442. package/dist/scripts/db/patch.js.map +1 -0
  443. package/dist/scripts/db/scoping.d.ts +8 -2
  444. package/dist/scripts/db/scoping.d.ts.map +1 -1
  445. package/dist/scripts/db/scoping.js +64 -46
  446. package/dist/scripts/db/scoping.js.map +1 -1
  447. package/dist/scripts/dev/index.d.ts.map +1 -1
  448. package/dist/scripts/dev/index.js +64 -1
  449. package/dist/scripts/dev/index.js.map +1 -1
  450. package/dist/scripts/parse-args.d.ts +14 -0
  451. package/dist/scripts/parse-args.d.ts.map +1 -0
  452. package/dist/scripts/parse-args.js +45 -0
  453. package/dist/scripts/parse-args.js.map +1 -0
  454. package/dist/scripts/runner.d.ts.map +1 -1
  455. package/dist/scripts/runner.js +10 -2
  456. package/dist/scripts/runner.js.map +1 -1
  457. package/dist/scripts/utils.d.ts +1 -9
  458. package/dist/scripts/utils.d.ts.map +1 -1
  459. package/dist/scripts/utils.js +2 -40
  460. package/dist/scripts/utils.js.map +1 -1
  461. package/dist/server/action-discovery.d.ts.map +1 -1
  462. package/dist/server/action-discovery.js +84 -16
  463. package/dist/server/action-discovery.js.map +1 -1
  464. package/dist/server/action-routes.d.ts +15 -0
  465. package/dist/server/action-routes.d.ts.map +1 -0
  466. package/dist/server/action-routes.js +105 -0
  467. package/dist/server/action-routes.js.map +1 -0
  468. package/dist/server/agent-chat-plugin.d.ts +20 -0
  469. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  470. package/dist/server/agent-chat-plugin.js +1149 -256
  471. package/dist/server/agent-chat-plugin.js.map +1 -1
  472. package/dist/server/agent-discovery.d.ts +8 -3
  473. package/dist/server/agent-discovery.d.ts.map +1 -1
  474. package/dist/server/agent-discovery.js +69 -8
  475. package/dist/server/agent-discovery.js.map +1 -1
  476. package/dist/server/agent-teams.d.ts +70 -0
  477. package/dist/server/agent-teams.d.ts.map +1 -0
  478. package/dist/server/agent-teams.js +367 -0
  479. package/dist/server/agent-teams.js.map +1 -0
  480. package/dist/server/agents-bundle.d.ts +87 -0
  481. package/dist/server/agents-bundle.d.ts.map +1 -0
  482. package/dist/server/agents-bundle.js +231 -0
  483. package/dist/server/agents-bundle.js.map +1 -0
  484. package/dist/server/auth-plugin.d.ts +3 -3
  485. package/dist/server/auth-plugin.d.ts.map +1 -1
  486. package/dist/server/auth-plugin.js +9 -10
  487. package/dist/server/auth-plugin.js.map +1 -1
  488. package/dist/server/auth.d.ts +54 -33
  489. package/dist/server/auth.d.ts.map +1 -1
  490. package/dist/server/auth.js +529 -611
  491. package/dist/server/auth.js.map +1 -1
  492. package/dist/server/better-auth-instance.d.ts +72 -0
  493. package/dist/server/better-auth-instance.d.ts.map +1 -0
  494. package/dist/server/better-auth-instance.js +144 -0
  495. package/dist/server/better-auth-instance.js.map +1 -0
  496. package/dist/server/collab-plugin.d.ts +29 -0
  497. package/dist/server/collab-plugin.d.ts.map +1 -0
  498. package/dist/server/collab-plugin.js +85 -0
  499. package/dist/server/collab-plugin.js.map +1 -0
  500. package/dist/server/core-routes-plugin.d.ts +0 -3
  501. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  502. package/dist/server/core-routes-plugin.js +97 -27
  503. package/dist/server/core-routes-plugin.js.map +1 -1
  504. package/dist/server/create-server.d.ts +1 -1
  505. package/dist/server/create-server.d.ts.map +1 -1
  506. package/dist/server/create-server.js +39 -16
  507. package/dist/server/create-server.js.map +1 -1
  508. package/dist/server/framework-request-handler.d.ts +47 -0
  509. package/dist/server/framework-request-handler.d.ts.map +1 -0
  510. package/dist/server/framework-request-handler.js +168 -0
  511. package/dist/server/framework-request-handler.js.map +1 -0
  512. package/dist/server/google-auth-plugin.d.ts +4 -0
  513. package/dist/server/google-auth-plugin.d.ts.map +1 -1
  514. package/dist/server/google-auth-plugin.js +13 -12
  515. package/dist/server/google-auth-plugin.js.map +1 -1
  516. package/dist/server/google-oauth.d.ts +3 -3
  517. package/dist/server/google-oauth.d.ts.map +1 -1
  518. package/dist/server/google-oauth.js +40 -18
  519. package/dist/server/google-oauth.js.map +1 -1
  520. package/dist/server/h3-helpers.d.ts +23 -0
  521. package/dist/server/h3-helpers.d.ts.map +1 -0
  522. package/dist/server/h3-helpers.js +37 -0
  523. package/dist/server/h3-helpers.js.map +1 -0
  524. package/dist/server/index.d.ts +9 -4
  525. package/dist/server/index.d.ts.map +1 -1
  526. package/dist/server/index.js +12 -4
  527. package/dist/server/index.js.map +1 -1
  528. package/dist/server/local-migration.d.ts +32 -0
  529. package/dist/server/local-migration.d.ts.map +1 -0
  530. package/dist/server/local-migration.js +205 -0
  531. package/dist/server/local-migration.js.map +1 -0
  532. package/dist/server/oauth-helpers.d.ts +4 -6
  533. package/dist/server/oauth-helpers.d.ts.map +1 -1
  534. package/dist/server/oauth-helpers.js +6 -8
  535. package/dist/server/oauth-helpers.js.map +1 -1
  536. package/dist/server/onboarding-html.d.ts +24 -0
  537. package/dist/server/onboarding-html.d.ts.map +1 -0
  538. package/dist/server/onboarding-html.js +347 -0
  539. package/dist/server/onboarding-html.js.map +1 -0
  540. package/dist/server/poll.d.ts +7 -2
  541. package/dist/server/poll.d.ts.map +1 -1
  542. package/dist/server/poll.js +48 -1
  543. package/dist/server/poll.js.map +1 -1
  544. package/dist/server/resources-plugin.d.ts.map +1 -1
  545. package/dist/server/resources-plugin.js +4 -3
  546. package/dist/server/resources-plugin.js.map +1 -1
  547. package/dist/server/schema-prompt.d.ts +16 -0
  548. package/dist/server/schema-prompt.d.ts.map +1 -0
  549. package/dist/server/schema-prompt.js +275 -0
  550. package/dist/server/schema-prompt.js.map +1 -0
  551. package/dist/server/sse.d.ts +3 -20
  552. package/dist/server/sse.d.ts.map +1 -1
  553. package/dist/server/sse.js +1 -29
  554. package/dist/server/sse.js.map +1 -1
  555. package/dist/server/ssr-handler.d.ts +6 -0
  556. package/dist/server/ssr-handler.d.ts.map +1 -0
  557. package/dist/server/ssr-handler.js +55 -0
  558. package/dist/server/ssr-handler.js.map +1 -0
  559. package/dist/settings/handlers.d.ts +3 -3
  560. package/dist/settings/handlers.d.ts.map +1 -1
  561. package/dist/settings/handlers.js +2 -1
  562. package/dist/settings/handlers.js.map +1 -1
  563. package/dist/settings/index.d.ts +1 -0
  564. package/dist/settings/index.d.ts.map +1 -1
  565. package/dist/settings/index.js +2 -0
  566. package/dist/settings/index.js.map +1 -1
  567. package/dist/settings/org-settings.d.ts +22 -0
  568. package/dist/settings/org-settings.d.ts.map +1 -0
  569. package/dist/settings/org-settings.js +45 -0
  570. package/dist/settings/org-settings.js.map +1 -0
  571. package/dist/shared/agent-chat.d.ts +5 -5
  572. package/dist/shared/agent-chat.d.ts.map +1 -1
  573. package/dist/shared/agent-chat.js +8 -8
  574. package/dist/shared/agent-chat.js.map +1 -1
  575. package/dist/shared/agent-env.d.ts +1 -1
  576. package/dist/shared/agent-env.js +1 -1
  577. package/dist/shared/runtime.d.ts +14 -0
  578. package/dist/shared/runtime.d.ts.map +1 -0
  579. package/dist/shared/runtime.js +25 -0
  580. package/dist/shared/runtime.js.map +1 -0
  581. package/dist/templates/default/.agents/skills/actions/SKILL.md +142 -0
  582. package/dist/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
  583. package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +50 -0
  584. package/dist/templates/default/.agents/skills/create-skill/SKILL.md +167 -0
  585. package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +90 -0
  586. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +69 -0
  587. package/dist/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
  588. package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
  589. package/dist/templates/default/.agents/skills/security/SKILL.md +108 -0
  590. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +79 -0
  591. package/dist/templates/default/.claude/settings.json +100 -0
  592. package/dist/templates/default/.env.example +5 -0
  593. package/dist/templates/default/.prettierrc +5 -0
  594. package/dist/templates/default/AGENTS.md +110 -0
  595. package/dist/templates/default/DEVELOPING.md +117 -0
  596. package/dist/templates/default/_gitignore +37 -0
  597. package/dist/templates/default/actions/hello.ts +20 -0
  598. package/dist/templates/default/actions/navigate.ts +53 -0
  599. package/dist/templates/default/actions/run.ts +2 -0
  600. package/dist/templates/default/actions/view-screen.ts +39 -0
  601. package/dist/templates/default/app/entry.client.tsx +4 -0
  602. package/dist/templates/default/app/entry.server.tsx +56 -0
  603. package/dist/templates/default/app/global.css +95 -0
  604. package/dist/templates/default/app/lib/utils.ts +1 -0
  605. package/dist/templates/default/app/root.tsx +107 -0
  606. package/dist/templates/default/app/routes/_index.tsx +62 -0
  607. package/dist/templates/default/app/routes.ts +4 -0
  608. package/dist/templates/default/app/vite-env.d.ts +6 -0
  609. package/dist/templates/default/components.json +20 -0
  610. package/dist/templates/default/data/.gitkeep +0 -0
  611. package/dist/templates/default/data/sync-config.json +1 -0
  612. package/dist/templates/default/learnings.defaults.md +5 -0
  613. package/dist/templates/default/learnings.md +0 -0
  614. package/dist/templates/default/package.json +46 -0
  615. package/dist/templates/default/postcss.config.js +6 -0
  616. package/dist/templates/default/public/icon-180.svg +4 -0
  617. package/dist/templates/default/public/icon-192.svg +4 -0
  618. package/dist/templates/default/public/icon-512.svg +4 -0
  619. package/dist/templates/default/public/manifest.json +13 -0
  620. package/dist/templates/default/react-router.config.ts +6 -0
  621. package/dist/templates/default/server/middleware/auth.ts +15 -0
  622. package/dist/templates/default/server/plugins/.gitkeep +0 -0
  623. package/dist/templates/default/server/routes/[...page].get.ts +5 -0
  624. package/dist/templates/default/server/routes/api/hello.get.ts +5 -0
  625. package/dist/templates/default/shared/api.ts +6 -0
  626. package/dist/templates/default/ssr-entry.ts +20 -0
  627. package/dist/templates/default/tailwind.config.ts +7 -0
  628. package/dist/templates/default/tsconfig.json +11 -0
  629. package/dist/templates/default/vite.config.ts +6 -0
  630. package/dist/templates/templates/default/.agents/skills/actions/SKILL.md +142 -0
  631. package/dist/templates/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
  632. package/dist/templates/templates/default/.agents/skills/capture-learnings/SKILL.md +50 -0
  633. package/dist/templates/templates/default/.agents/skills/create-skill/SKILL.md +167 -0
  634. package/dist/templates/templates/default/.agents/skills/delegate-to-agent/SKILL.md +90 -0
  635. package/dist/templates/templates/default/.agents/skills/frontend-design/SKILL.md +69 -0
  636. package/dist/templates/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
  637. package/dist/templates/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
  638. package/dist/templates/templates/default/.agents/skills/security/SKILL.md +108 -0
  639. package/dist/templates/templates/default/.agents/skills/self-modifying-code/SKILL.md +79 -0
  640. package/dist/templates/templates/default/.agents/skills/storing-data/SKILL.md +110 -0
  641. package/dist/templates/templates/default/.claude/settings.json +100 -0
  642. package/dist/templates/templates/default/.env.example +5 -0
  643. package/dist/templates/templates/default/.ignore +0 -0
  644. package/dist/templates/templates/default/.prettierrc +5 -0
  645. package/dist/templates/templates/default/AGENTS.md +110 -0
  646. package/dist/templates/templates/default/DEVELOPING.md +117 -0
  647. package/dist/templates/templates/default/_gitignore +37 -0
  648. package/dist/templates/templates/default/actions/hello.ts +20 -0
  649. package/dist/templates/templates/default/actions/navigate.ts +53 -0
  650. package/dist/templates/templates/default/actions/run.ts +2 -0
  651. package/dist/templates/templates/default/actions/view-screen.ts +39 -0
  652. package/dist/templates/templates/default/app/entry.client.tsx +4 -0
  653. package/dist/templates/templates/default/app/entry.server.tsx +56 -0
  654. package/dist/templates/templates/default/app/global.css +95 -0
  655. package/dist/templates/templates/default/app/lib/utils.ts +1 -0
  656. package/dist/templates/templates/default/app/root.tsx +107 -0
  657. package/dist/templates/templates/default/app/routes/_index.tsx +62 -0
  658. package/dist/templates/templates/default/app/routes.ts +4 -0
  659. package/dist/templates/templates/default/app/vite-env.d.ts +6 -0
  660. package/dist/templates/templates/default/components.json +20 -0
  661. package/dist/templates/templates/default/data/.gitkeep +0 -0
  662. package/dist/templates/templates/default/data/sync-config.json +1 -0
  663. package/dist/templates/templates/default/learnings.defaults.md +5 -0
  664. package/dist/templates/templates/default/learnings.md +0 -0
  665. package/dist/templates/templates/default/package.json +46 -0
  666. package/dist/templates/templates/default/postcss.config.js +6 -0
  667. package/dist/templates/templates/default/public/icon-180.svg +4 -0
  668. package/dist/templates/templates/default/public/icon-192.svg +4 -0
  669. package/dist/templates/templates/default/public/icon-512.svg +4 -0
  670. package/dist/templates/templates/default/public/manifest.json +13 -0
  671. package/dist/templates/templates/default/react-router.config.ts +6 -0
  672. package/dist/templates/templates/default/server/middleware/auth.ts +15 -0
  673. package/dist/templates/templates/default/server/plugins/.gitkeep +0 -0
  674. package/dist/templates/templates/default/server/routes/[...page].get.ts +5 -0
  675. package/dist/templates/templates/default/server/routes/api/hello.get.ts +5 -0
  676. package/dist/templates/templates/default/shared/api.ts +6 -0
  677. package/dist/templates/templates/default/ssr-entry.ts +20 -0
  678. package/dist/templates/templates/default/tailwind.config.ts +7 -0
  679. package/dist/templates/templates/default/tsconfig.json +11 -0
  680. package/dist/templates/templates/default/vite.config.ts +6 -0
  681. package/dist/terminal/cli-registry.d.ts +1 -1
  682. package/dist/terminal/cli-registry.d.ts.map +1 -1
  683. package/dist/terminal/cli-registry.js +7 -7
  684. package/dist/terminal/cli-registry.js.map +1 -1
  685. package/dist/terminal/pty-server.d.ts +1 -1
  686. package/dist/terminal/pty-server.d.ts.map +1 -1
  687. package/dist/terminal/pty-server.js +34 -12
  688. package/dist/terminal/pty-server.js.map +1 -1
  689. package/dist/terminal/terminal-plugin.d.ts +0 -9
  690. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  691. package/dist/terminal/terminal-plugin.js +57 -14
  692. package/dist/terminal/terminal-plugin.js.map +1 -1
  693. package/dist/usage/store.d.ts +29 -0
  694. package/dist/usage/store.d.ts.map +1 -0
  695. package/dist/usage/store.js +102 -0
  696. package/dist/usage/store.js.map +1 -0
  697. package/dist/vite/action-types-plugin.d.ts +13 -0
  698. package/dist/vite/action-types-plugin.d.ts.map +1 -0
  699. package/dist/vite/action-types-plugin.js +132 -0
  700. package/dist/vite/action-types-plugin.js.map +1 -0
  701. package/dist/vite/agents-bundle-plugin.d.ts +3 -0
  702. package/dist/vite/agents-bundle-plugin.d.ts.map +1 -0
  703. package/dist/vite/agents-bundle-plugin.js +87 -0
  704. package/dist/vite/agents-bundle-plugin.js.map +1 -0
  705. package/dist/vite/client.d.ts +5 -0
  706. package/dist/vite/client.d.ts.map +1 -1
  707. package/dist/vite/client.js +222 -37
  708. package/dist/vite/client.js.map +1 -1
  709. package/dist/vite/index.d.ts +2 -1
  710. package/dist/vite/index.d.ts.map +1 -1
  711. package/dist/vite/index.js +2 -1
  712. package/dist/vite/index.js.map +1 -1
  713. package/package.json +68 -20
  714. package/src/templates/default/.agents/skills/actions/SKILL.md +12 -6
  715. package/src/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
  716. package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
  717. package/src/templates/default/.agents/skills/security/SKILL.md +108 -0
  718. package/src/templates/default/.agents/skills/storing-data/SKILL.md +110 -0
  719. package/src/templates/default/.claude/settings.json +13 -0
  720. package/src/templates/default/AGENTS.md +25 -9
  721. package/src/templates/default/actions/view-screen.ts +1 -1
  722. package/src/templates/default/package.json +2 -2
  723. package/src/templates/default/server/middleware/auth.ts +15 -0
  724. package/src/templates/default/server/routes/[...page].get.ts +2 -9
  725. package/src/templates/default/ssr-entry.ts +20 -0
  726. package/dist/adapters/convex/adapter.d.ts +0 -24
  727. package/dist/adapters/convex/adapter.d.ts.map +0 -1
  728. package/dist/adapters/convex/adapter.js +0 -125
  729. package/dist/adapters/convex/adapter.js.map +0 -1
  730. package/dist/adapters/convex/index.d.ts +0 -4
  731. package/dist/adapters/convex/index.d.ts.map +0 -1
  732. package/dist/adapters/convex/index.js +0 -3
  733. package/dist/adapters/convex/index.js.map +0 -1
  734. package/dist/adapters/drizzle/adapter.d.ts +0 -36
  735. package/dist/adapters/drizzle/adapter.d.ts.map +0 -1
  736. package/dist/adapters/drizzle/adapter.js +0 -210
  737. package/dist/adapters/drizzle/adapter.js.map +0 -1
  738. package/dist/adapters/drizzle/index.d.ts +0 -3
  739. package/dist/adapters/drizzle/index.d.ts.map +0 -1
  740. package/dist/adapters/drizzle/index.js +0 -3
  741. package/dist/adapters/drizzle/index.js.map +0 -1
  742. package/dist/adapters/drizzle/schema.d.ts +0 -146
  743. package/dist/adapters/drizzle/schema.d.ts.map +0 -1
  744. package/dist/adapters/drizzle/schema.js +0 -20
  745. package/dist/adapters/drizzle/schema.js.map +0 -1
  746. package/dist/adapters/firestore/adapter.d.ts +0 -48
  747. package/dist/adapters/firestore/adapter.d.ts.map +0 -1
  748. package/dist/adapters/firestore/adapter.js +0 -62
  749. package/dist/adapters/firestore/adapter.js.map +0 -1
  750. package/dist/adapters/firestore/index.d.ts +0 -4
  751. package/dist/adapters/firestore/index.d.ts.map +0 -1
  752. package/dist/adapters/firestore/index.js +0 -3
  753. package/dist/adapters/firestore/index.js.map +0 -1
  754. package/dist/adapters/supabase/adapter.d.ts +0 -43
  755. package/dist/adapters/supabase/adapter.d.ts.map +0 -1
  756. package/dist/adapters/supabase/adapter.js +0 -137
  757. package/dist/adapters/supabase/adapter.js.map +0 -1
  758. package/dist/adapters/supabase/index.d.ts +0 -3
  759. package/dist/adapters/supabase/index.d.ts.map +0 -1
  760. package/dist/adapters/supabase/index.js +0 -3
  761. package/dist/adapters/supabase/index.js.map +0 -1
  762. package/dist/adapters/sync/config.d.ts +0 -40
  763. package/dist/adapters/sync/config.d.ts.map +0 -1
  764. package/dist/adapters/sync/config.js +0 -209
  765. package/dist/adapters/sync/config.js.map +0 -1
  766. package/dist/adapters/sync/create-file-sync.d.ts +0 -32
  767. package/dist/adapters/sync/create-file-sync.d.ts.map +0 -1
  768. package/dist/adapters/sync/create-file-sync.js +0 -218
  769. package/dist/adapters/sync/create-file-sync.js.map +0 -1
  770. package/dist/adapters/sync/file-sync.d.ts +0 -94
  771. package/dist/adapters/sync/file-sync.d.ts.map +0 -1
  772. package/dist/adapters/sync/file-sync.js +0 -671
  773. package/dist/adapters/sync/file-sync.js.map +0 -1
  774. package/dist/adapters/sync/index.d.ts +0 -6
  775. package/dist/adapters/sync/index.d.ts.map +0 -1
  776. package/dist/adapters/sync/index.js +0 -6
  777. package/dist/adapters/sync/index.js.map +0 -1
  778. package/dist/adapters/sync/merge.d.ts +0 -21
  779. package/dist/adapters/sync/merge.d.ts.map +0 -1
  780. package/dist/adapters/sync/merge.js +0 -132
  781. package/dist/adapters/sync/merge.js.map +0 -1
  782. package/dist/adapters/sync/types.d.ts +0 -62
  783. package/dist/adapters/sync/types.d.ts.map +0 -1
  784. package/dist/adapters/sync/types.js +0 -23
  785. package/dist/adapters/sync/types.js.map +0 -1
  786. package/dist/client/harness.d.ts +0 -48
  787. package/dist/client/harness.d.ts.map +0 -1
  788. package/dist/client/harness.js.map +0 -1
  789. package/dist/client/use-file-sync-status.d.ts +0 -21
  790. package/dist/client/use-file-sync-status.d.ts.map +0 -1
  791. package/dist/client/use-file-sync-status.js +0 -65
  792. package/dist/client/use-file-sync-status.js.map +0 -1
  793. package/dist/server/default-watcher.d.ts +0 -23
  794. package/dist/server/default-watcher.d.ts.map +0 -1
  795. package/dist/server/default-watcher.js +0 -57
  796. package/dist/server/default-watcher.js.map +0 -1
  797. package/dist/server/file-sync-plugin.d.ts +0 -7
  798. package/dist/server/file-sync-plugin.d.ts.map +0 -1
  799. package/dist/server/file-sync-plugin.js +0 -38
  800. package/dist/server/file-sync-plugin.js.map +0 -1
  801. package/dist/vite/dev-api-server.d.ts +0 -10
  802. package/dist/vite/dev-api-server.d.ts.map +0 -1
  803. package/dist/vite/dev-api-server.js +0 -243
  804. package/dist/vite/dev-api-server.js.map +0 -1
  805. /package/{src/templates/default/.agents/skills/files-as-database → dist/templates/default/.agents/skills/storing-data}/SKILL.md +0 -0
  806. /package/{src/templates/default/application-state/.gitkeep → dist/templates/default/.ignore} +0 -0
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: agent-engines
3
+ description: >-
4
+ How to inspect and configure the AI engine (model provider) powering the
5
+ agent. Use when the user asks to switch models, check which engine is active,
6
+ test a new provider, or register a custom engine.
7
+ ---
8
+
9
+ # Agent Engines
10
+
11
+ ## Overview
12
+
13
+ The framework supports pluggable AI engines beneath the agent loop. The **Anthropic engine** is the default and best-in-class path (Claude models). Additional engines can be added via the Vercel AI SDK (OpenAI, Google Gemini, Groq, Mistral, Cohere, Ollama).
14
+
15
+ ## Available Tools
16
+
17
+ | Tool | Purpose |
18
+ |---|---|
19
+ | `list-agent-engines` | List all registered engines, their capabilities, and the current selection |
20
+ | `set-agent-engine` | Set the active engine and model (persisted in settings) |
21
+ | `test-agent-engine` | Send a trivial prompt to verify the engine works (connectivity + API key) |
22
+
23
+ ## Checking the Current Engine
24
+
25
+ ```
26
+ list-agent-engines
27
+ ```
28
+
29
+ Returns the registry of all engines (name, label, capabilities, supported models) plus the currently active engine and model.
30
+
31
+ ## Switching Engines
32
+
33
+ ```
34
+ set-agent-engine --engine "ai-sdk:openai" --model "gpt-4o"
35
+ ```
36
+
37
+ Changes take effect on the next conversation. The setting is persisted via the settings store (`agent-engine` key).
38
+
39
+ Resolution order (highest priority first):
40
+ 1. Explicit `engine` option passed to `createAgentChatPlugin()` in the server plugin
41
+ 2. Settings store (`agent-engine` key)
42
+ 3. `AGENT_ENGINE` environment variable
43
+ 4. Default: `"anthropic"` (requires `ANTHROPIC_API_KEY`)
44
+
45
+ ## Testing a New Engine
46
+
47
+ Before switching, verify the engine is working:
48
+
49
+ ```
50
+ test-agent-engine --engine "ai-sdk:openai" --model "gpt-4o"
51
+ ```
52
+
53
+ Returns `{ ok, latencyMs, response, capabilities }`. If `ok: false`, the error message explains what's wrong (missing API key, package not installed, etc.).
54
+
55
+ ## Built-in Engines
56
+
57
+ | Engine Name | Provider | Requires |
58
+ |---|---|---|
59
+ | `anthropic` | Anthropic Claude SDK | `ANTHROPIC_API_KEY` |
60
+ | `ai-sdk:anthropic` | Claude via Vercel AI SDK | `ANTHROPIC_API_KEY` |
61
+ | `ai-sdk:openai` | OpenAI via Vercel AI SDK | `OPENAI_API_KEY` |
62
+ | `ai-sdk:google` | Google Gemini via Vercel AI SDK | `GOOGLE_GENERATIVE_AI_API_KEY` |
63
+ | `ai-sdk:groq` | Groq LPU via Vercel AI SDK | `GROQ_API_KEY` |
64
+ | `ai-sdk:mistral` | Mistral via Vercel AI SDK | `MISTRAL_API_KEY` |
65
+ | `ai-sdk:cohere` | Cohere via Vercel AI SDK | `COHERE_API_KEY` |
66
+ | `ai-sdk:ollama` | Local Ollama via Vercel AI SDK | None (local) |
67
+
68
+ ## Engine Capabilities
69
+
70
+ Each engine advertises its capabilities:
71
+
72
+ | Capability | Anthropic | AI SDK: Anthropic | AI SDK: OpenAI | AI SDK: Google |
73
+ |---|---|---|---|---|
74
+ | `thinking` | ✓ | ✓ | ✗ | ✓ |
75
+ | `promptCaching` | ✓ | ✓ | ✗ | ✗ |
76
+ | `vision` | ✓ | ✓ | ✓ | ✓ |
77
+ | `computerUse` | ✓ | ✗ | ✗ | ✗ |
78
+ | `parallelToolCalls` | ✓ | ✓ | ✓ | ✓ |
79
+
80
+ ## Anthropic-Exclusive Features
81
+
82
+ When using the `anthropic` engine (or `ai-sdk:anthropic`):
83
+
84
+ - **Prompt caching** is applied automatically to the system prompt — cutting latency and cost on repeated turns.
85
+ - **Extended thinking** can be enabled via `providerOptions.anthropic.thinking` — the agent reasons longer before responding.
86
+
87
+ These features are silently ignored when a non-Anthropic engine is active (capability-gated, no breakage).
88
+
89
+ ## Registering a Custom Engine
90
+
91
+ Register custom engines in a server plugin at startup:
92
+
93
+ ```ts
94
+ // server/plugins/my-engine.ts
95
+ import { registerAgentEngine } from "@agent-native/core/server";
96
+
97
+ registerAgentEngine({
98
+ name: "my-engine",
99
+ label: "My Custom Engine",
100
+ description: "...",
101
+ capabilities: {
102
+ thinking: false,
103
+ promptCaching: false,
104
+ vision: false,
105
+ computerUse: false,
106
+ parallelToolCalls: true,
107
+ },
108
+ defaultModel: "my-model-v1",
109
+ supportedModels: ["my-model-v1", "my-model-v2"],
110
+ requiredEnvVars: ["MY_ENGINE_API_KEY"],
111
+ create: (config) => new MyEngine(config),
112
+ });
113
+ ```
114
+
115
+ After registering, the engine appears in `list-agent-engines` output and can be selected via `set-agent-engine`.
116
+
117
+ ## Env Vars Reference
118
+
119
+ | Variable | Purpose |
120
+ |---|---|
121
+ | `ANTHROPIC_API_KEY` | Required for `anthropic` and `ai-sdk:anthropic` engines |
122
+ | `OPENAI_API_KEY` | Required for `ai-sdk:openai` |
123
+ | `GOOGLE_GENERATIVE_AI_API_KEY` | Required for `ai-sdk:google` |
124
+ | `GROQ_API_KEY` | Required for `ai-sdk:groq` |
125
+ | `MISTRAL_API_KEY` | Required for `ai-sdk:mistral` |
126
+ | `COHERE_API_KEY` | Required for `ai-sdk:cohere` |
127
+ | `AGENT_ENGINE` | Default engine name (overridden by settings store) |
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: real-time-collab
3
+ description: >-
4
+ How to enable multi-user collaborative editing with Yjs CRDT, TipTap
5
+ Collaboration extension, live cursors, and agent-driven edits.
6
+ ---
7
+
8
+ # Real-Time Collaboration
9
+
10
+ The framework provides a Yjs-based collaborative editing system in `@agent-native/core/collab`. Multiple users can edit the same document simultaneously with live cursor positions, and the AI agent can make surgical edits that appear in real-time.
11
+
12
+ ## Architecture
13
+
14
+ ```
15
+ User A (TipTap + Collaboration ext) ←→ Y.XmlFragment ←→ Server (_collab_docs table)
16
+ User B (TipTap + Collaboration ext) ←→ Y.XmlFragment ←→ ↑
17
+ Agent (edit-document action) ←→ search-replace endpoint ─┘
18
+ ```
19
+
20
+ - **Yjs Y.Doc** stores the document as a `Y.XmlFragment` (ProseMirror node tree)
21
+ - **TipTap's Collaboration extension** binds the editor to the Y.XmlFragment via `ySyncPlugin`
22
+ - **CollaborationCaret extension** renders remote users' cursors with names and colors
23
+ - **Polling** (every 2s) syncs Y.Doc updates and awareness state between clients and server
24
+ - **SQL `_collab_docs` table** persists Yjs state (base64-encoded binary)
25
+
26
+ ## Enabling Collaboration in a Template
27
+
28
+ ### 1. Install dependencies
29
+
30
+ ```bash
31
+ pnpm add @tiptap/extension-collaboration @tiptap/extension-collaboration-caret @tiptap/y-tiptap --filter your-template
32
+ ```
33
+
34
+ ### 2. Add Vite optimizeDeps
35
+
36
+ In `vite.config.ts`:
37
+ ```ts
38
+ export default defineConfig({
39
+ plugins: [reactRouter()],
40
+ optimizeDeps: {
41
+ include: [
42
+ "yjs",
43
+ "y-protocols/awareness",
44
+ "@tiptap/extension-collaboration",
45
+ "@tiptap/extension-collaboration-caret",
46
+ "@tiptap/y-tiptap",
47
+ ],
48
+ },
49
+ });
50
+ ```
51
+
52
+ This prevents Vite from re-bundling TipTap in incompatible ways during dev.
53
+
54
+ ### 3. Add the collab server plugin
55
+
56
+ Create `server/plugins/collab.ts`:
57
+ ```ts
58
+ import { createCollabPlugin } from "@agent-native/core/server";
59
+ export default createCollabPlugin({
60
+ table: "your_table",
61
+ contentColumn: "content",
62
+ idColumn: "id",
63
+ autoSeed: false, // Client-side seeding on first load
64
+ });
65
+ ```
66
+
67
+ This mounts routes under `/_agent-native/collab/`:
68
+ - `GET /:docId/state` — fetch Y.Doc state
69
+ - `POST /:docId/update` — apply client update
70
+ - `POST /:docId/text` — apply full text (diff-based)
71
+ - `POST /:docId/search-replace` — surgical text find/replace in Y.XmlFragment
72
+ - `POST /:docId/awareness` — sync cursor/presence state
73
+
74
+ ### 4. Use the `useCollaborativeDoc` hook
75
+
76
+ ```ts
77
+ import { useCollaborativeDoc, generateTabId } from "@agent-native/core/client";
78
+
79
+ const TAB_ID = generateTabId();
80
+
81
+ const { ydoc, awareness, isLoading, activeUsers } = useCollaborativeDoc({
82
+ docId: documentId,
83
+ requestSource: TAB_ID,
84
+ user: { name: "Steve", email: "steve@example.com", color: "#60a5fa" },
85
+ });
86
+ ```
87
+
88
+ The hook:
89
+ - Creates a stable `Y.Doc` per docId (never changes identity)
90
+ - Fetches server state and applies it
91
+ - Sends local updates to server
92
+ - Polls for remote updates (every 2s)
93
+ - Tracks active users via awareness
94
+
95
+ ### 5. Add Collaboration extension to TipTap
96
+
97
+ ```ts
98
+ import Collaboration from "@tiptap/extension-collaboration";
99
+ import CollaborationCaret from "@tiptap/extension-collaboration-caret";
100
+ import { Awareness } from "y-protocols/awareness";
101
+
102
+ // Create awareness locally (must use same y-protocols as the caret extension)
103
+ const awareness = new Awareness(ydoc);
104
+ awareness.setLocalStateField("user", { name, color });
105
+
106
+ const editor = useEditor({
107
+ extensions: [
108
+ StarterKit.configure({ history: false }), // Disable history — Yjs handles undo
109
+ Collaboration.configure({ document: ydoc }),
110
+ CollaborationCaret.configure({
111
+ provider: { awareness },
112
+ user: { name, color },
113
+ }),
114
+ // ... other extensions
115
+ ],
116
+ content: initialContent, // Seeds Y.XmlFragment on first load
117
+ });
118
+ ```
119
+
120
+ **Important:** Disable `history` in StarterKit when using Collaboration — Yjs handles undo/redo.
121
+
122
+ ### 6. Seed the Y.XmlFragment
123
+
124
+ The Collaboration extension does NOT auto-seed from the `content` prop. You must seed manually:
125
+
126
+ ```ts
127
+ useEffect(() => {
128
+ if (!editor || !ydoc || !content) return;
129
+ const fragment = ydoc.getXmlFragment("default");
130
+ if (fragment.length === 0) {
131
+ editor.commands.setContent(parseContent(content));
132
+ }
133
+ }, [editor, ydoc, content]);
134
+ ```
135
+
136
+ **Critical:** Guard against saving empty content back to SQL when the editor is in collab mode but hasn't been seeded yet:
137
+
138
+ ```ts
139
+ onUpdate: ({ editor }) => {
140
+ const md = editor.storage.markdown.getMarkdown();
141
+ if (!md.trim() && ydoc) return; // Don't save empty during seeding
142
+ onChange(md);
143
+ }
144
+ ```
145
+
146
+ ## Agent Edits via `edit-document`
147
+
148
+ The `edit-document` action uses search-and-replace:
149
+ ```bash
150
+ pnpm action edit-document --id <docId> --find "old text" --replace "new text"
151
+ ```
152
+
153
+ When collab state exists, the action calls the server's `search-replace` endpoint which:
154
+ 1. Walks the Y.XmlFragment tree
155
+ 2. Finds the text in Y.XmlText nodes
156
+ 3. Applies minimal delete/insert operations
157
+ 4. Emits a Yjs update via the poll system
158
+ 5. Client receives the update → ySyncPlugin applies a targeted ProseMirror transaction → cursor preserved
159
+
160
+ **Important:** Actions run in a separate process, so they must use the HTTP endpoint (not the collab module directly) to emit updates to the server's poll system.
161
+
162
+ ## Key Modules
163
+
164
+ | Module | Path | Purpose |
165
+ |--------|------|---------|
166
+ | `@agent-native/core/collab` | `packages/core/src/collab/` | Server-side Yjs management |
167
+ | `useCollaborativeDoc` | `packages/core/src/collab/client.ts` | Client hook |
168
+ | `createCollabPlugin` | `packages/core/src/server/collab-plugin.ts` | Route mounting |
169
+ | `searchAndReplace` | `packages/core/src/collab/ydoc-manager.ts` | Y.XmlFragment text mutation |
170
+
171
+ ## Common Pitfalls
172
+
173
+ 1. **TipTap version mismatch** — All `@tiptap/*` packages must be the same version. The Collaboration extension requires `editor.utils` which was added in v3.22.2.
174
+
175
+ 2. **Empty editor on first load** — The Collaboration extension uses Y.XmlFragment as the source of truth. If the fragment is empty, the editor shows empty. Seed manually (see above).
176
+
177
+ 3. **Data loss from empty saves** — The `onUpdate` handler fires when the editor initializes with an empty Y.XmlFragment. If this empty content is saved to SQL, it overwrites the real content. Always guard against saving empty content in collab mode.
178
+
179
+ 4. **Stale content on document switch** — Use `key={documentId}` on the editor component to force a full remount when switching documents. This ensures the Y.Doc, seeding, and editor state are all fresh.
180
+
181
+ 5. **Separate process for actions** — Actions run via `pnpm action` in a new Node.js process. The in-memory EventEmitter in the action process doesn't reach the dev server's poll system. Use HTTP endpoints for collab operations from actions.
182
+
183
+ 6. **Vite dep optimization** — Adding Yjs-related packages to a template changes Vite's dependency bundling, which can break TipTap's React integration. Always add them to `optimizeDeps.include`.
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: security
3
+ description: >-
4
+ Data security model, user/org scoping, and auth patterns. Use when adding
5
+ tables with user data, implementing multi-user features, setting up A2A
6
+ cross-app calls, or reviewing data access patterns.
7
+ ---
8
+
9
+ # Security & Data Scoping
10
+
11
+ ## How Data Isolation Works
12
+
13
+ In production, the framework enforces data isolation at the SQL level. Agents and users can only see and modify data they own. This is automatic — you don't write WHERE clauses yourself.
14
+
15
+ ### Per-User Scoping (`owner_email`)
16
+
17
+ Every table with user-specific data **must** have an `owner_email` text column.
18
+
19
+ ```ts
20
+ import { table, text, integer } from "@agent-native/core/db/schema";
21
+
22
+ export const notes = table("notes", {
23
+ id: text("id").primaryKey(),
24
+ title: text("title").notNull(),
25
+ content: text("content"),
26
+ owner_email: text("owner_email").notNull(), // REQUIRED for user data
27
+ });
28
+ ```
29
+
30
+ **What happens automatically:**
31
+ - `db-query` creates temporary views with `WHERE owner_email = <current user>`
32
+ - `db-exec` INSERT statements get `owner_email` auto-injected
33
+ - `db-exec` UPDATE/DELETE statements are scoped to the current user's rows
34
+ - The current user comes from `AGENT_USER_EMAIL` (set from the auth session)
35
+
36
+ ### Per-Org Scoping (`org_id`)
37
+
38
+ For multi-user apps where teams share data, add an `org_id` column:
39
+
40
+ ```ts
41
+ export const projects = table("projects", {
42
+ id: text("id").primaryKey(),
43
+ name: text("name").notNull(),
44
+ owner_email: text("owner_email").notNull(), // who created it
45
+ org_id: text("org_id").notNull(), // which org it belongs to
46
+ });
47
+ ```
48
+
49
+ When both columns are present, queries are scoped by **both**: `WHERE owner_email = ? AND org_id = ?`.
50
+
51
+ The `org_id` comes from `AGENT_ORG_ID` which is automatically set from the user's active organization in Better Auth.
52
+
53
+ ### Validation
54
+
55
+ Run `pnpm action db-check-scoping` to verify all tables have proper ownership columns. Use `--require-org` for multi-org apps.
56
+
57
+ ## Auth Model
58
+
59
+ ### Better Auth (Default)
60
+
61
+ The framework uses Better Auth for authentication. It's always on by default — users create an account on first visit.
62
+
63
+ **Environment variables:**
64
+ - `BETTER_AUTH_SECRET` — signing key (auto-generated if not set)
65
+ - `GOOGLE_CLIENT_ID` + `GOOGLE_CLIENT_SECRET` — enable Google OAuth
66
+ - `GITHUB_CLIENT_ID` + `GITHUB_CLIENT_SECRET` — enable GitHub OAuth
67
+ - `AUTH_MODE=local` — disable auth for solo local dev (escape hatch)
68
+
69
+ ### Organizations
70
+
71
+ Better Auth's organization plugin is built-in. Every app supports:
72
+ - Creating organizations
73
+ - Inviting members (owner/admin/member roles)
74
+ - Switching active organization
75
+ - Per-org data scoping via `org_id`
76
+
77
+ The active organization ID flows from `session.orgId` → `AGENT_ORG_ID` → SQL scoping automatically.
78
+
79
+ ### ACCESS_TOKEN (Legacy)
80
+
81
+ For simple deployments, set `ACCESS_TOKEN` or `ACCESS_TOKENS` (comma-separated) as environment variables. This provides a shared token for all users — no per-user identity.
82
+
83
+ ## A2A Security
84
+
85
+ ### Cross-App Identity
86
+
87
+ When apps call each other via A2A, they need to verify identity. Set the same `A2A_SECRET` on all apps that need to trust each other:
88
+
89
+ ```bash
90
+ # On both apps
91
+ A2A_SECRET=your-shared-secret-at-least-32-chars
92
+ ```
93
+
94
+ **How it works:**
95
+ 1. App A signs a JWT with `A2A_SECRET` containing `sub: "steve@builder.io"`
96
+ 2. App B receives the call, verifies the JWT signature
97
+ 3. App B sets `AGENT_USER_EMAIL` from the verified `sub` claim
98
+ 4. Data scoping applies — App B only shows steve's data
99
+
100
+ Without `A2A_SECRET`, A2A calls are unauthenticated (fine for local dev, not production).
101
+
102
+ ## Rules for Agents
103
+
104
+ 1. **Every new table with user data must have `owner_email`.** No exceptions.
105
+ 2. **Never bypass scoping** — don't raw-query tables without going through `db-query`/`db-exec`.
106
+ 3. **Don't expose user data in application state** — application state is per-session, not per-user. Use SQL tables with `owner_email` for persistent user data.
107
+ 4. **Don't hardcode emails** — use `AGENT_USER_EMAIL` environment variable.
108
+ 5. **Test with multiple users** — create two accounts and verify data isolation.
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: storing-data
3
+ description: >-
4
+ How and where to store application data. Use when adding new data models,
5
+ deciding between settings vs Drizzle tables, reading/writing app config,
6
+ or working with application state.
7
+ ---
8
+
9
+ # Storing Data
10
+
11
+ ## Where Data Goes
12
+
13
+ All data lives in one SQLite database (`data/app.db`). In production, set `DATABASE_URL` to point to Turso, Neon, Supabase, or D1 — same code, no changes needed.
14
+
15
+ There are three storage layers, each for a different kind of data:
16
+
17
+ ### 1. Settings — app configuration
18
+
19
+ Key-value store for persistent config that the user or agent can change. Theme, preferences, integration API keys, availability schedules.
20
+
21
+ ```ts
22
+ import { getSetting, putSetting } from "@agent-native/core/settings";
23
+
24
+ // Read (returns null if not set)
25
+ const prefs = await getSetting("user-preferences");
26
+
27
+ // Write (creates or replaces)
28
+ await putSetting("user-preferences", { theme: "dark", density: "comfortable" });
29
+ ```
30
+
31
+ From scripts:
32
+ ```ts
33
+ import { readSetting, writeSetting } from "@agent-native/core/settings";
34
+ const prefs = await readSetting("user-preferences");
35
+ ```
36
+
37
+ SSE: writes automatically notify the UI via `{ source: "settings", type: "change", key }`.
38
+
39
+ ### 2. Application State — ephemeral UI state
40
+
41
+ For state the agent and UI share in real-time: what the user is looking at, compose drafts, navigation commands. Scoped by session — cleared between sessions.
42
+
43
+ ```ts
44
+ import { readAppState, writeAppState, deleteAppState, listAppState } from "@agent-native/core/application-state";
45
+
46
+ // Write state (UI updates instantly via SSE)
47
+ await writeAppState("navigate", { view: "inbox", threadId: "t-123" });
48
+
49
+ // Read state
50
+ const nav = await readAppState("navigation");
51
+
52
+ // List by prefix (e.g., all compose drafts)
53
+ const drafts = await listAppState("compose-");
54
+
55
+ // Delete (one-shot commands: UI reads, then agent or UI deletes)
56
+ await deleteAppState("navigate");
57
+ ```
58
+
59
+ SSE: writes automatically notify the UI via `{ source: "app-state", type: "change", key }`.
60
+
61
+ ### 3. Drizzle Tables — structured domain data
62
+
63
+ For data with schemas, relationships, and queries: forms, bookings, emails, compositions. Define tables in `server/db/schema.ts` using Drizzle ORM.
64
+
65
+ ```ts
66
+ import { table, text, integer } from "@agent-native/core/db/schema";
67
+
68
+ export const bookings = table("bookings", {
69
+ id: text("id").primaryKey(),
70
+ name: text("name").notNull(),
71
+ email: text("email").notNull(),
72
+ startTime: integer("start_time").notNull(),
73
+ endTime: integer("end_time").notNull(),
74
+ });
75
+ ```
76
+
77
+ Query via `getDb()` singleton from `server/db/index.ts`.
78
+
79
+ ### 4. OAuth Tokens — credentials
80
+
81
+ For OAuth tokens acquired at runtime (Google, etc.). Never store these in settings — use the dedicated encrypted store.
82
+
83
+ ```ts
84
+ import { saveOAuthTokens, getOAuthTokens, listOAuthAccounts } from "@agent-native/core/oauth-tokens";
85
+
86
+ await saveOAuthTokens("google", "user@gmail.com", { access_token: "...", refresh_token: "..." });
87
+ const tokens = await getOAuthTokens("google", "user@gmail.com");
88
+ const accounts = await listOAuthAccounts("google");
89
+ ```
90
+
91
+ ## Which Layer to Use
92
+
93
+ | Data | Layer | Why |
94
+ |------|-------|-----|
95
+ | User preferences, theme, config | Settings | Persistent KV, SSE notifications, simple read/write |
96
+ | What the user sees on screen | Application State | Ephemeral, real-time sync, agent ↔ UI bridge |
97
+ | Compose drafts, wizard steps | Application State | Temporary, deleted when done |
98
+ | Domain records (forms, bookings) | Drizzle table | Needs schema, queries, relationships |
99
+ | OAuth refresh tokens | OAuth Tokens | Secure, per-provider, per-account |
100
+
101
+ ## Environment Variables
102
+
103
+ Infrastructure config stays in `.env` — these differ per deployment:
104
+
105
+ - `DATABASE_URL` — database connection (default: `file:./data/app.db`)
106
+ - `DATABASE_AUTH_TOKEN` — for remote databases
107
+ - `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` — OAuth app credentials
108
+ - `ACCESS_TOKEN` — production auth token
109
+
110
+ Everything else (user settings, tokens, app state) goes in SQL.
@@ -1,4 +1,17 @@
1
1
  {
2
+ "hooks": {
3
+ "UserPromptSubmit": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "pnpm action view-screen 2>/dev/null || echo '{\"view\": \"unknown\"}'",
9
+ "timeout": 10
10
+ }
11
+ ]
12
+ }
13
+ ]
14
+ },
2
15
  "permissions": {
3
16
  "allow": [
4
17
  "Read",
@@ -52,18 +52,33 @@ The `navigation` key is written by the UI whenever the route changes. The `navig
52
52
 
53
53
  ## Agent Operations
54
54
 
55
- **Always run `pnpm action view-screen` first** before taking any action. This tells you what the user is looking at.
55
+ **Always know what the user is currently viewing before you edit anything.** The user's view can change mid-conversation. Stale IDs lead to editing the wrong record.
56
+
57
+ ### If you are the built-in agent-chat agent
58
+
59
+ A `<current-screen>` block is auto-injected into every user message with the current view, IDs, and selected item. You can trust it for the first action of a turn without calling `view-screen`. If the user says "this" or "now do X" after several tool calls, the user may have navigated — call `view-screen` again for a fresh snapshot.
60
+
61
+ ### If you are an external CLI agent (Claude Code, Codex, Cursor, etc.)
62
+
63
+ You do NOT get auto-injected screen state. **Call `pnpm action view-screen` at the start of every task and before any edit** so you're acting on the IDs the user currently sees, not what was open earlier. Do not rely on cached context from previous turns.
56
64
 
57
65
  ### Actions
58
66
 
59
- | Action | Args | Purpose |
60
- | ------------- | --------------------------------- | ------------------------------- |
61
- | `view-screen` | | See current UI state |
62
- | `navigate` | `--view <name>` or `--path <url>` | Navigate the UI |
63
- | `hello` | `[--name <name>]` | Example script |
64
- | `db-schema` | | Show all tables, columns, types |
65
- | `db-query` | `--sql "SELECT ..."` | Run a SELECT query |
66
- | `db-exec` | `--sql "INSERT ..."` | Run INSERT/UPDATE/DELETE |
67
+ | Action | Args | Purpose |
68
+ | ------------- | ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------- |
69
+ | `view-screen` | | See current UI state |
70
+ | `navigate` | `--view <name>` or `--path <url>` | Navigate the UI |
71
+ | `hello` | `[--name <name>]` | Example script |
72
+ | `db-schema` | | Show all tables, columns, types |
73
+ | `db-query` | `--sql "SELECT ..."` | Run a SELECT query |
74
+ | `db-exec` | `--sql "INSERT ..."` | Run INSERT/UPDATE/DELETE (use for short/multi-column writes) |
75
+ | `db-patch` | `--table <t> --column <c> --where "<clause>" --find "<old>" --replace "<new>"` | Surgical search/replace on a large text column — sends a diff instead of the full value |
76
+
77
+ **Pick the right SQL tool:**
78
+
79
+ - Use `db-exec UPDATE` for short columns, multi-column writes, or computed updates.
80
+ - Use `db-patch` when you only need to tweak a small slice of a **large** text/JSON column (documents, slide HTML, dashboard/form JSON). It saves tokens by sending `{find, replace}` instead of re-transmitting the whole column. Targets exactly one row per call — narrow `--where` by primary key. Supports `--edits '[{find,replace},...]'` for batch edits and `--all` for replace-every-occurrence.
81
+ - If a template-specific action exists (e.g. `edit-document`, `update-slide`), prefer it — those also push live updates to any open collaborative editor.
67
82
 
68
83
  ## Skills
69
84
 
@@ -78,6 +93,7 @@ Skills in `.agents/skills/` provide detailed guidance for each architectural rul
78
93
  | `self-modifying-code` | Before editing source, components, or styles |
79
94
  | `capture-learnings` | Before recording user preferences or corrections |
80
95
  | `frontend-design` | Before building or restyling any UI component, page, or layout |
96
+ | `agent-engines` | Before switching LLM providers or registering a custom engine |
81
97
 
82
98
  ## When Adding Features
83
99
 
@@ -13,7 +13,7 @@ import type { ScriptTool } from "@agent-native/core";
13
13
 
14
14
  export const tool: ScriptTool = {
15
15
  description:
16
- "See what the user is currently looking at on screen. Returns the current navigation state. Always call this first before taking any action.",
16
+ "See what the user is currently looking at on screen. Returns the current navigation state. Note: basic screen context is auto-included with each message — use this tool only when you need a detailed or refreshed snapshot.",
17
17
  parameters: {
18
18
  type: "object",
19
19
  properties: {},
@@ -11,11 +11,11 @@
11
11
  "script": "agent-native script"
12
12
  },
13
13
  "dependencies": {
14
- "@agent-native/core": "^0.4.1",
14
+ "@agent-native/core": "^0.6.0",
15
15
  "@assistant-ui/react": "^0.12.19",
16
16
  "@assistant-ui/react-markdown": "^0.12.6",
17
17
  "@tabler/icons-react": "^3.40.0",
18
- "h3": "^1.13.0",
18
+ "h3": "^2.0.1-rc.20",
19
19
  "isbot": "^5"
20
20
  },
21
21
  "devDependencies": {
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Global auth middleware — runs for ALL requests (page routes, API routes,
3
+ * framework routes). The auth plugin configures the guard; this middleware
4
+ * enforces it on every request.
5
+ *
6
+ * Without this, auth only runs for /_agent-native/* routes because the
7
+ * framework handler's middleware registry is scoped to that catch-all.
8
+ * Page routes (/, /settings) and API routes (/api/*) would bypass auth.
9
+ */
10
+ import { defineEventHandler } from "h3";
11
+ import { runAuthGuard } from "@agent-native/core/server";
12
+
13
+ export default defineEventHandler(async (event) => {
14
+ return runAuthGuard(event);
15
+ });
@@ -1,12 +1,5 @@
1
- import { createRequestHandler } from "react-router";
2
- import { defineEventHandler, toWebRequest } from "h3";
1
+ import { createH3SSRHandler } from "@agent-native/core/server/ssr-handler";
3
2
 
4
- const handler = createRequestHandler(
5
- // virtual module provided by React Router Vite plugin
3
+ export default createH3SSRHandler(
6
4
  () => import("virtual:react-router/server-build"),
7
5
  );
8
-
9
- export default defineEventHandler(async (event) => {
10
- const webReq = toWebRequest(event);
11
- return handler(webReq);
12
- });
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SSR entry point for Nitro.
3
+ *
4
+ * This wraps React Router's request handler so Nitro can use it as an
5
+ * SSR service. The file must be a real file (not a virtual module) so
6
+ * Nitro can resolve it during build.
7
+ *
8
+ * Similar to how TanStack Start provides a server.ts entry for Nitro.
9
+ */
10
+ import { createRequestHandler } from "react-router";
11
+
12
+ const handler = createRequestHandler(
13
+ () => import("virtual:react-router/server-build"),
14
+ );
15
+
16
+ export default {
17
+ async fetch(request: Request) {
18
+ return handler(request);
19
+ },
20
+ };