@agent-native/core 0.4.5 → 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 (1015) 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 +18 -0
  6. package/dist/a2a/client.d.ts.map +1 -1
  7. package/dist/a2a/client.js +62 -4
  8. package/dist/a2a/client.js.map +1 -1
  9. package/dist/a2a/handlers.d.ts +6 -3
  10. package/dist/a2a/handlers.d.ts.map +1 -1
  11. package/dist/a2a/handlers.js +45 -39
  12. package/dist/a2a/handlers.js.map +1 -1
  13. package/dist/a2a/index.d.ts +2 -2
  14. package/dist/a2a/index.d.ts.map +1 -1
  15. package/dist/a2a/index.js +3 -3
  16. package/dist/a2a/index.js.map +1 -1
  17. package/dist/a2a/server.d.ts +11 -2
  18. package/dist/a2a/server.d.ts.map +1 -1
  19. package/dist/a2a/server.js +99 -14
  20. package/dist/a2a/server.js.map +1 -1
  21. package/dist/a2a/task-store.d.ts +6 -6
  22. package/dist/a2a/task-store.d.ts.map +1 -1
  23. package/dist/a2a/task-store.js +102 -42
  24. package/dist/a2a/task-store.js.map +1 -1
  25. package/dist/a2a/types.d.ts +3 -0
  26. package/dist/a2a/types.d.ts.map +1 -1
  27. package/dist/action.d.ts +80 -0
  28. package/dist/action.d.ts.map +1 -0
  29. package/dist/action.js +232 -0
  30. package/dist/action.js.map +1 -0
  31. package/dist/agent/engine/ai-sdk-engine.d.ts +24 -0
  32. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -0
  33. package/dist/agent/engine/ai-sdk-engine.js +302 -0
  34. package/dist/agent/engine/ai-sdk-engine.js.map +1 -0
  35. package/dist/agent/engine/anthropic-engine.d.ts +24 -0
  36. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -0
  37. package/dist/agent/engine/anthropic-engine.js +169 -0
  38. package/dist/agent/engine/anthropic-engine.js.map +1 -0
  39. package/dist/agent/engine/builtin.d.ts +12 -0
  40. package/dist/agent/engine/builtin.d.ts.map +1 -0
  41. package/dist/agent/engine/builtin.js +72 -0
  42. package/dist/agent/engine/builtin.js.map +1 -0
  43. package/dist/agent/engine/index.d.ts +9 -0
  44. package/dist/agent/engine/index.d.ts.map +1 -0
  45. package/dist/agent/engine/index.js +8 -0
  46. package/dist/agent/engine/index.js.map +1 -0
  47. package/dist/agent/engine/registry.d.ts +61 -0
  48. package/dist/agent/engine/registry.d.ts.map +1 -0
  49. package/dist/agent/engine/registry.js +101 -0
  50. package/dist/agent/engine/registry.js.map +1 -0
  51. package/dist/agent/engine/translate-ai-sdk.d.ts +20 -0
  52. package/dist/agent/engine/translate-ai-sdk.d.ts.map +1 -0
  53. package/dist/agent/engine/translate-ai-sdk.js +174 -0
  54. package/dist/agent/engine/translate-ai-sdk.js.map +1 -0
  55. package/dist/agent/engine/translate-anthropic.d.ts +23 -0
  56. package/dist/agent/engine/translate-anthropic.d.ts.map +1 -0
  57. package/dist/agent/engine/translate-anthropic.js +140 -0
  58. package/dist/agent/engine/translate-anthropic.js.map +1 -0
  59. package/dist/agent/engine/types.d.ts +168 -0
  60. package/dist/agent/engine/types.d.ts.map +1 -0
  61. package/dist/agent/engine/types.js +13 -0
  62. package/dist/agent/engine/types.js.map +1 -0
  63. package/dist/agent/index.d.ts +2 -2
  64. package/dist/agent/index.d.ts.map +1 -1
  65. package/dist/agent/index.js.map +1 -1
  66. package/dist/agent/production-agent.d.ts +69 -7
  67. package/dist/agent/production-agent.d.ts.map +1 -1
  68. package/dist/agent/production-agent.js +480 -127
  69. package/dist/agent/production-agent.js.map +1 -1
  70. package/dist/agent/run-manager.d.ts +43 -0
  71. package/dist/agent/run-manager.d.ts.map +1 -0
  72. package/dist/agent/run-manager.js +364 -0
  73. package/dist/agent/run-manager.js.map +1 -0
  74. package/dist/agent/run-store.d.ts +26 -0
  75. package/dist/agent/run-store.d.ts.map +1 -0
  76. package/dist/agent/run-store.js +145 -0
  77. package/dist/agent/run-store.js.map +1 -0
  78. package/dist/agent/thread-data-builder.d.ts +31 -0
  79. package/dist/agent/thread-data-builder.d.ts.map +1 -0
  80. package/dist/agent/thread-data-builder.js +91 -0
  81. package/dist/agent/thread-data-builder.js.map +1 -0
  82. package/dist/agent/types.d.ts +73 -1
  83. package/dist/agent/types.d.ts.map +1 -1
  84. package/dist/application-state/emitter.d.ts +3 -2
  85. package/dist/application-state/emitter.d.ts.map +1 -1
  86. package/dist/application-state/emitter.js +14 -4
  87. package/dist/application-state/emitter.js.map +1 -1
  88. package/dist/application-state/handlers.d.ts +8 -8
  89. package/dist/application-state/handlers.d.ts.map +1 -1
  90. package/dist/application-state/handlers.js +15 -17
  91. package/dist/application-state/handlers.js.map +1 -1
  92. package/dist/application-state/script-helpers.d.ts +1 -1
  93. package/dist/application-state/script-helpers.d.ts.map +1 -1
  94. package/dist/application-state/script-helpers.js +56 -8
  95. package/dist/application-state/script-helpers.js.map +1 -1
  96. package/dist/application-state/store.d.ts +4 -3
  97. package/dist/application-state/store.d.ts.map +1 -1
  98. package/dist/application-state/store.js +31 -59
  99. package/dist/application-state/store.js.map +1 -1
  100. package/dist/chat-threads/emitter.d.ts +9 -0
  101. package/dist/chat-threads/emitter.d.ts.map +1 -0
  102. package/dist/chat-threads/emitter.js +14 -0
  103. package/dist/chat-threads/emitter.js.map +1 -0
  104. package/dist/chat-threads/store.d.ts +42 -0
  105. package/dist/chat-threads/store.d.ts.map +1 -0
  106. package/dist/chat-threads/store.js +156 -0
  107. package/dist/chat-threads/store.js.map +1 -0
  108. package/dist/cli/create.d.ts +8 -2
  109. package/dist/cli/create.d.ts.map +1 -1
  110. package/dist/cli/create.js +288 -47
  111. package/dist/cli/create.js.map +1 -1
  112. package/dist/cli/index.js +49 -9
  113. package/dist/cli/index.js.map +1 -1
  114. package/dist/cli/setup-agents.d.ts +11 -0
  115. package/dist/cli/setup-agents.d.ts.map +1 -0
  116. package/dist/cli/setup-agents.js +123 -0
  117. package/dist/cli/setup-agents.js.map +1 -0
  118. package/dist/client/AgentPanel.d.ts +13 -2
  119. package/dist/client/AgentPanel.d.ts.map +1 -1
  120. package/dist/client/AgentPanel.js +771 -38
  121. package/dist/client/AgentPanel.js.map +1 -1
  122. package/dist/client/AgentTaskCard.d.ts +12 -0
  123. package/dist/client/AgentTaskCard.d.ts.map +1 -0
  124. package/dist/client/AgentTaskCard.js +146 -0
  125. package/dist/client/AgentTaskCard.js.map +1 -0
  126. package/dist/client/AssistantChat.d.ts +36 -3
  127. package/dist/client/AssistantChat.d.ts.map +1 -1
  128. package/dist/client/AssistantChat.js +838 -86
  129. package/dist/client/AssistantChat.js.map +1 -1
  130. package/dist/client/ClientOnly.d.ts +14 -0
  131. package/dist/client/ClientOnly.d.ts.map +1 -0
  132. package/dist/client/ClientOnly.js +17 -0
  133. package/dist/client/ClientOnly.js.map +1 -0
  134. package/dist/client/CommandMenu.d.ts +71 -0
  135. package/dist/client/CommandMenu.d.ts.map +1 -0
  136. package/dist/client/CommandMenu.js +257 -0
  137. package/dist/client/CommandMenu.js.map +1 -0
  138. package/dist/client/DefaultSpinner.d.ts +7 -0
  139. package/dist/client/DefaultSpinner.d.ts.map +1 -0
  140. package/dist/client/DefaultSpinner.js +28 -0
  141. package/dist/client/DefaultSpinner.js.map +1 -0
  142. package/dist/client/MultiTabAssistantChat.d.ts +40 -2
  143. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  144. package/dist/client/MultiTabAssistantChat.js +630 -59
  145. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  146. package/dist/client/PoweredByBadge.d.ts.map +1 -1
  147. package/dist/client/PoweredByBadge.js +4 -3
  148. package/dist/client/PoweredByBadge.js.map +1 -1
  149. package/dist/client/Turnstile.d.ts.map +1 -1
  150. package/dist/client/Turnstile.js +2 -3
  151. package/dist/client/Turnstile.js.map +1 -1
  152. package/dist/client/active-run-state.d.ts +10 -0
  153. package/dist/client/active-run-state.d.ts.map +1 -0
  154. package/dist/client/active-run-state.js +32 -0
  155. package/dist/client/active-run-state.js.map +1 -0
  156. package/dist/client/agent-chat-adapter.d.ts +2 -1
  157. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  158. package/dist/client/agent-chat-adapter.js +145 -130
  159. package/dist/client/agent-chat-adapter.js.map +1 -1
  160. package/dist/client/agent-chat.d.ts +14 -1
  161. package/dist/client/agent-chat.d.ts.map +1 -1
  162. package/dist/client/agent-chat.js +6 -4
  163. package/dist/client/agent-chat.js.map +1 -1
  164. package/dist/client/components/ApiKeySettings.d.ts +2 -2
  165. package/dist/client/components/ApiKeySettings.js +4 -4
  166. package/dist/client/components/ApiKeySettings.js.map +1 -1
  167. package/dist/client/components/CodeAgentIndicator.d.ts +14 -0
  168. package/dist/client/components/CodeAgentIndicator.d.ts.map +1 -0
  169. package/dist/client/components/CodeAgentIndicator.js +29 -0
  170. package/dist/client/components/CodeAgentIndicator.js.map +1 -0
  171. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  172. package/dist/client/components/CodeRequiredDialog.js +4 -3
  173. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  174. package/dist/client/composer/MentionPopover.d.ts +29 -0
  175. package/dist/client/composer/MentionPopover.d.ts.map +1 -0
  176. package/dist/client/composer/MentionPopover.js +160 -0
  177. package/dist/client/composer/MentionPopover.js.map +1 -0
  178. package/dist/client/composer/TiptapComposer.d.ts +26 -0
  179. package/dist/client/composer/TiptapComposer.d.ts.map +1 -0
  180. package/dist/client/composer/TiptapComposer.js +545 -0
  181. package/dist/client/composer/TiptapComposer.js.map +1 -0
  182. package/dist/client/composer/extensions/FileReference.d.ts +3 -0
  183. package/dist/client/composer/extensions/FileReference.d.ts.map +1 -0
  184. package/dist/client/composer/extensions/FileReference.js +36 -0
  185. package/dist/client/composer/extensions/FileReference.js.map +1 -0
  186. package/dist/client/composer/extensions/MentionReference.d.ts +3 -0
  187. package/dist/client/composer/extensions/MentionReference.d.ts.map +1 -0
  188. package/dist/client/composer/extensions/MentionReference.js +63 -0
  189. package/dist/client/composer/extensions/MentionReference.js.map +1 -0
  190. package/dist/client/composer/extensions/SkillReference.d.ts +3 -0
  191. package/dist/client/composer/extensions/SkillReference.d.ts.map +1 -0
  192. package/dist/client/composer/extensions/SkillReference.js +40 -0
  193. package/dist/client/composer/extensions/SkillReference.js.map +1 -0
  194. package/dist/client/composer/index.d.ts +8 -0
  195. package/dist/client/composer/index.d.ts.map +1 -0
  196. package/dist/client/composer/index.js +7 -0
  197. package/dist/client/composer/index.js.map +1 -0
  198. package/dist/client/composer/types.d.ts +37 -0
  199. package/dist/client/composer/types.d.ts.map +1 -0
  200. package/dist/client/composer/types.js +2 -0
  201. package/dist/client/composer/types.js.map +1 -0
  202. package/dist/client/composer/use-file-search.d.ts +6 -0
  203. package/dist/client/composer/use-file-search.d.ts.map +1 -0
  204. package/dist/client/composer/use-file-search.js +40 -0
  205. package/dist/client/composer/use-file-search.js.map +1 -0
  206. package/dist/client/composer/use-mention-search.d.ts +6 -0
  207. package/dist/client/composer/use-mention-search.d.ts.map +1 -0
  208. package/dist/client/composer/use-mention-search.js +72 -0
  209. package/dist/client/composer/use-mention-search.js.map +1 -0
  210. package/dist/client/composer/use-skills.d.ts +7 -0
  211. package/dist/client/composer/use-skills.d.ts.map +1 -0
  212. package/dist/client/composer/use-skills.js +38 -0
  213. package/dist/client/composer/use-skills.js.map +1 -0
  214. package/dist/client/frame-protocol.d.ts +54 -0
  215. package/dist/client/frame-protocol.d.ts.map +1 -0
  216. package/dist/client/frame-protocol.js +9 -0
  217. package/dist/client/frame-protocol.js.map +1 -0
  218. package/dist/client/frame.d.ts +56 -0
  219. package/dist/client/frame.d.ts.map +1 -0
  220. package/dist/client/{harness.js → frame.js} +49 -26
  221. package/dist/client/frame.js.map +1 -0
  222. package/dist/client/index.d.ts +15 -6
  223. package/dist/client/index.d.ts.map +1 -1
  224. package/dist/client/index.js +13 -5
  225. package/dist/client/index.js.map +1 -1
  226. package/dist/client/integrations/IntegrationCard.d.ts +6 -0
  227. package/dist/client/integrations/IntegrationCard.d.ts.map +1 -0
  228. package/dist/client/integrations/IntegrationCard.js +45 -0
  229. package/dist/client/integrations/IntegrationCard.js.map +1 -0
  230. package/dist/client/integrations/IntegrationsPanel.d.ts +2 -0
  231. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -0
  232. package/dist/client/integrations/IntegrationsPanel.js +149 -0
  233. package/dist/client/integrations/IntegrationsPanel.js.map +1 -0
  234. package/dist/client/integrations/index.d.ts +4 -0
  235. package/dist/client/integrations/index.d.ts.map +1 -0
  236. package/dist/client/integrations/index.js +3 -0
  237. package/dist/client/integrations/index.js.map +1 -0
  238. package/dist/client/integrations/useIntegrationStatus.d.ts +15 -0
  239. package/dist/client/integrations/useIntegrationStatus.d.ts.map +1 -0
  240. package/dist/client/integrations/useIntegrationStatus.js +37 -0
  241. package/dist/client/integrations/useIntegrationStatus.js.map +1 -0
  242. package/dist/client/org/InvitationBanner.d.ts +9 -0
  243. package/dist/client/org/InvitationBanner.d.ts.map +1 -0
  244. package/dist/client/org/InvitationBanner.js +17 -0
  245. package/dist/client/org/InvitationBanner.js.map +1 -0
  246. package/dist/client/org/OrgSwitcher.d.ts +14 -0
  247. package/dist/client/org/OrgSwitcher.d.ts.map +1 -0
  248. package/dist/client/org/OrgSwitcher.js +51 -0
  249. package/dist/client/org/OrgSwitcher.js.map +1 -0
  250. package/dist/client/org/TeamPage.d.ts +23 -0
  251. package/dist/client/org/TeamPage.d.ts.map +1 -0
  252. package/dist/client/org/TeamPage.js +145 -0
  253. package/dist/client/org/TeamPage.js.map +1 -0
  254. package/dist/client/org/hooks.d.ts +14 -0
  255. package/dist/client/org/hooks.d.ts.map +1 -0
  256. package/dist/client/org/hooks.js +101 -0
  257. package/dist/client/org/hooks.js.map +1 -0
  258. package/dist/client/org/index.d.ts +6 -0
  259. package/dist/client/org/index.d.ts.map +1 -0
  260. package/dist/client/org/index.js +6 -0
  261. package/dist/client/org/index.js.map +1 -0
  262. package/dist/client/resources/ResourceEditor.d.ts +14 -0
  263. package/dist/client/resources/ResourceEditor.d.ts.map +1 -0
  264. package/dist/client/resources/ResourceEditor.js +932 -0
  265. package/dist/client/resources/ResourceEditor.js.map +1 -0
  266. package/dist/client/resources/ResourceTree.d.ts +17 -0
  267. package/dist/client/resources/ResourceTree.d.ts.map +1 -0
  268. package/dist/client/resources/ResourceTree.js +137 -0
  269. package/dist/client/resources/ResourceTree.js.map +1 -0
  270. package/dist/client/resources/ResourcesPanel.d.ts +2 -0
  271. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -0
  272. package/dist/client/resources/ResourcesPanel.js +366 -0
  273. package/dist/client/resources/ResourcesPanel.js.map +1 -0
  274. package/dist/client/resources/index.d.ts +5 -0
  275. package/dist/client/resources/index.d.ts.map +1 -0
  276. package/dist/client/resources/index.js +5 -0
  277. package/dist/client/resources/index.js.map +1 -0
  278. package/dist/client/resources/use-resources.d.ts +55 -0
  279. package/dist/client/resources/use-resources.d.ts.map +1 -0
  280. package/dist/client/resources/use-resources.js +102 -0
  281. package/dist/client/resources/use-resources.js.map +1 -0
  282. package/dist/client/sse-event-processor.d.ts +58 -0
  283. package/dist/client/sse-event-processor.d.ts.map +1 -0
  284. package/dist/client/sse-event-processor.js +300 -0
  285. package/dist/client/sse-event-processor.js.map +1 -0
  286. package/dist/client/terminal/AgentTerminal.d.ts +5 -5
  287. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  288. package/dist/client/terminal/AgentTerminal.js +25 -20
  289. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  290. package/dist/client/use-action.d.ts +51 -0
  291. package/dist/client/use-action.d.ts.map +1 -0
  292. package/dist/client/use-action.js +102 -0
  293. package/dist/client/use-action.js.map +1 -0
  294. package/dist/client/use-agent-chat.d.ts +1 -1
  295. package/dist/client/use-agent-chat.d.ts.map +1 -1
  296. package/dist/client/use-agent-chat.js +3 -3
  297. package/dist/client/use-agent-chat.js.map +1 -1
  298. package/dist/client/use-avatar.d.ts +15 -0
  299. package/dist/client/use-avatar.d.ts.map +1 -0
  300. package/dist/client/use-avatar.js +116 -0
  301. package/dist/client/use-avatar.js.map +1 -0
  302. package/dist/client/use-chat-threads.d.ts +36 -0
  303. package/dist/client/use-chat-threads.d.ts.map +1 -0
  304. package/dist/client/use-chat-threads.js +191 -0
  305. package/dist/client/use-chat-threads.js.map +1 -0
  306. package/dist/client/use-db-sync.d.ts +35 -0
  307. package/dist/client/use-db-sync.d.ts.map +1 -0
  308. package/dist/client/use-db-sync.js +74 -0
  309. package/dist/client/use-db-sync.js.map +1 -0
  310. package/dist/client/use-dev-mode.d.ts +4 -2
  311. package/dist/client/use-dev-mode.d.ts.map +1 -1
  312. package/dist/client/use-dev-mode.js +41 -12
  313. package/dist/client/use-dev-mode.js.map +1 -1
  314. package/dist/client/use-send-to-agent-chat.d.ts +7 -4
  315. package/dist/client/use-send-to-agent-chat.d.ts.map +1 -1
  316. package/dist/client/use-send-to-agent-chat.js +31 -10
  317. package/dist/client/use-send-to-agent-chat.js.map +1 -1
  318. package/dist/client/use-session.d.ts +1 -1
  319. package/dist/client/use-session.js +2 -2
  320. package/dist/client/use-session.js.map +1 -1
  321. package/dist/client/useProductionAgent.d.ts +1 -1
  322. package/dist/client/useProductionAgent.d.ts.map +1 -1
  323. package/dist/client/useProductionAgent.js +38 -3
  324. package/dist/client/useProductionAgent.js.map +1 -1
  325. package/dist/collab/awareness.d.ts +41 -0
  326. package/dist/collab/awareness.d.ts.map +1 -0
  327. package/dist/collab/awareness.js +82 -0
  328. package/dist/collab/awareness.js.map +1 -0
  329. package/dist/collab/client.d.ts +49 -0
  330. package/dist/collab/client.d.ts.map +1 -0
  331. package/dist/collab/client.js +250 -0
  332. package/dist/collab/client.js.map +1 -0
  333. package/dist/collab/emitter.d.ts +12 -0
  334. package/dist/collab/emitter.d.ts.map +1 -0
  335. package/dist/collab/emitter.js +16 -0
  336. package/dist/collab/emitter.js.map +1 -0
  337. package/dist/collab/index.d.ts +7 -0
  338. package/dist/collab/index.d.ts.map +1 -0
  339. package/dist/collab/index.js +14 -0
  340. package/dist/collab/index.js.map +1 -0
  341. package/dist/collab/routes.d.ts +69 -0
  342. package/dist/collab/routes.d.ts.map +1 -0
  343. package/dist/collab/routes.js +98 -0
  344. package/dist/collab/routes.js.map +1 -0
  345. package/dist/collab/storage.d.ts +18 -0
  346. package/dist/collab/storage.d.ts.map +1 -0
  347. package/dist/collab/storage.js +94 -0
  348. package/dist/collab/storage.js.map +1 -0
  349. package/dist/collab/text-to-yjs.d.ts +23 -0
  350. package/dist/collab/text-to-yjs.d.ts.map +1 -0
  351. package/dist/collab/text-to-yjs.js +63 -0
  352. package/dist/collab/text-to-yjs.js.map +1 -0
  353. package/dist/collab/xml-ops.d.ts +20 -0
  354. package/dist/collab/xml-ops.d.ts.map +1 -0
  355. package/dist/collab/xml-ops.js +59 -0
  356. package/dist/collab/xml-ops.js.map +1 -0
  357. package/dist/collab/ydoc-manager.d.ts +52 -0
  358. package/dist/collab/ydoc-manager.d.ts.map +1 -0
  359. package/dist/collab/ydoc-manager.js +154 -0
  360. package/dist/collab/ydoc-manager.js.map +1 -0
  361. package/dist/credentials/index.d.ts +18 -0
  362. package/dist/credentials/index.d.ts.map +1 -0
  363. package/dist/credentials/index.js +32 -0
  364. package/dist/credentials/index.js.map +1 -0
  365. package/dist/db/client.d.ts +45 -0
  366. package/dist/db/client.d.ts.map +1 -0
  367. package/dist/db/client.js +289 -0
  368. package/dist/db/client.js.map +1 -0
  369. package/dist/db/create-get-db.d.ts.map +1 -1
  370. package/dist/db/create-get-db.js +103 -16
  371. package/dist/db/create-get-db.js.map +1 -1
  372. package/dist/db/index.d.ts +10 -6
  373. package/dist/db/index.d.ts.map +1 -1
  374. package/dist/db/index.js +10 -4
  375. package/dist/db/index.js.map +1 -1
  376. package/dist/db/migrations.d.ts +9 -1
  377. package/dist/db/migrations.d.ts.map +1 -1
  378. package/dist/db/migrations.js +67 -41
  379. package/dist/db/migrations.js.map +1 -1
  380. package/dist/db/schema.d.ts +52 -0
  381. package/dist/db/schema.d.ts.map +1 -0
  382. package/dist/db/schema.js +72 -0
  383. package/dist/db/schema.js.map +1 -0
  384. package/dist/deploy/build.js +636 -42
  385. package/dist/deploy/build.js.map +1 -1
  386. package/dist/deploy/route-discovery.d.ts +25 -3
  387. package/dist/deploy/route-discovery.d.ts.map +1 -1
  388. package/dist/deploy/route-discovery.js +135 -24
  389. package/dist/deploy/route-discovery.js.map +1 -1
  390. package/dist/index.browser.d.ts +3 -1
  391. package/dist/index.browser.d.ts.map +1 -1
  392. package/dist/index.browser.js +5 -1
  393. package/dist/index.browser.js.map +1 -1
  394. package/dist/index.d.ts +4 -3
  395. package/dist/index.d.ts.map +1 -1
  396. package/dist/index.js +3 -2
  397. package/dist/index.js.map +1 -1
  398. package/dist/integrations/adapters/slack.d.ts +10 -0
  399. package/dist/integrations/adapters/slack.d.ts.map +1 -0
  400. package/dist/integrations/adapters/slack.js +215 -0
  401. package/dist/integrations/adapters/slack.js.map +1 -0
  402. package/dist/integrations/adapters/telegram.d.ts +12 -0
  403. package/dist/integrations/adapters/telegram.d.ts.map +1 -0
  404. package/dist/integrations/adapters/telegram.js +184 -0
  405. package/dist/integrations/adapters/telegram.js.map +1 -0
  406. package/dist/integrations/adapters/whatsapp.d.ts +14 -0
  407. package/dist/integrations/adapters/whatsapp.d.ts.map +1 -0
  408. package/dist/integrations/adapters/whatsapp.js +205 -0
  409. package/dist/integrations/adapters/whatsapp.js.map +1 -0
  410. package/dist/integrations/config-store.d.ts +24 -0
  411. package/dist/integrations/config-store.d.ts.map +1 -0
  412. package/dist/integrations/config-store.js +92 -0
  413. package/dist/integrations/config-store.js.map +1 -0
  414. package/dist/integrations/index.d.ts +8 -0
  415. package/dist/integrations/index.d.ts.map +1 -0
  416. package/dist/integrations/index.js +10 -0
  417. package/dist/integrations/index.js.map +1 -0
  418. package/dist/integrations/plugin.d.ts +20 -0
  419. package/dist/integrations/plugin.d.ts.map +1 -0
  420. package/dist/integrations/plugin.js +213 -0
  421. package/dist/integrations/plugin.js.map +1 -0
  422. package/dist/integrations/thread-mapping-store.d.ts +25 -0
  423. package/dist/integrations/thread-mapping-store.d.ts.map +1 -0
  424. package/dist/integrations/thread-mapping-store.js +95 -0
  425. package/dist/integrations/thread-mapping-store.js.map +1 -0
  426. package/dist/integrations/types.d.ts +111 -0
  427. package/dist/integrations/types.d.ts.map +1 -0
  428. package/dist/integrations/types.js +2 -0
  429. package/dist/integrations/types.js.map +1 -0
  430. package/dist/integrations/webhook-handler.d.ts +31 -0
  431. package/dist/integrations/webhook-handler.d.ts.map +1 -0
  432. package/dist/integrations/webhook-handler.js +210 -0
  433. package/dist/integrations/webhook-handler.js.map +1 -0
  434. package/dist/jobs/cron.d.ts +14 -0
  435. package/dist/jobs/cron.d.ts.map +1 -0
  436. package/dist/jobs/cron.js +100 -0
  437. package/dist/jobs/cron.js.map +1 -0
  438. package/dist/jobs/index.d.ts +4 -0
  439. package/dist/jobs/index.d.ts.map +1 -0
  440. package/dist/jobs/index.js +4 -0
  441. package/dist/jobs/index.js.map +1 -0
  442. package/dist/jobs/scheduler.d.ts +29 -0
  443. package/dist/jobs/scheduler.d.ts.map +1 -0
  444. package/dist/jobs/scheduler.js +205 -0
  445. package/dist/jobs/scheduler.js.map +1 -0
  446. package/dist/jobs/tools.d.ts +3 -0
  447. package/dist/jobs/tools.d.ts.map +1 -0
  448. package/dist/jobs/tools.js +192 -0
  449. package/dist/jobs/tools.js.map +1 -0
  450. package/dist/mcp/index.d.ts +3 -0
  451. package/dist/mcp/index.d.ts.map +1 -0
  452. package/dist/mcp/index.js +2 -0
  453. package/dist/mcp/index.js.map +1 -0
  454. package/dist/mcp/server.d.ts +26 -0
  455. package/dist/mcp/server.d.ts.map +1 -0
  456. package/dist/mcp/server.js +182 -0
  457. package/dist/mcp/server.js.map +1 -0
  458. package/dist/oauth-tokens/index.d.ts +1 -1
  459. package/dist/oauth-tokens/index.d.ts.map +1 -1
  460. package/dist/oauth-tokens/index.js +1 -1
  461. package/dist/oauth-tokens/index.js.map +1 -1
  462. package/dist/oauth-tokens/store.d.ts +5 -0
  463. package/dist/oauth-tokens/store.d.ts.map +1 -1
  464. package/dist/oauth-tokens/store.js +67 -82
  465. package/dist/oauth-tokens/store.js.map +1 -1
  466. package/dist/org/context.d.ts +11 -0
  467. package/dist/org/context.d.ts.map +1 -0
  468. package/dist/org/context.js +61 -0
  469. package/dist/org/context.js.map +1 -0
  470. package/dist/org/handlers.d.ts +66 -0
  471. package/dist/org/handlers.d.ts.map +1 -0
  472. package/dist/org/handlers.js +306 -0
  473. package/dist/org/handlers.js.map +1 -0
  474. package/dist/org/index.d.ts +7 -0
  475. package/dist/org/index.d.ts.map +1 -0
  476. package/dist/org/index.js +11 -0
  477. package/dist/org/index.js.map +1 -0
  478. package/dist/org/migrations.d.ts +10 -0
  479. package/dist/org/migrations.d.ts.map +1 -0
  480. package/dist/org/migrations.js +39 -0
  481. package/dist/org/migrations.js.map +1 -0
  482. package/dist/org/plugin.d.ts +26 -0
  483. package/dist/org/plugin.d.ts.map +1 -0
  484. package/dist/org/plugin.js +94 -0
  485. package/dist/org/plugin.js.map +1 -0
  486. package/dist/org/schema.d.ts +301 -0
  487. package/dist/org/schema.d.ts.map +1 -0
  488. package/dist/org/schema.js +23 -0
  489. package/dist/org/schema.js.map +1 -0
  490. package/dist/org/types.d.ts +42 -0
  491. package/dist/org/types.d.ts.map +1 -0
  492. package/dist/org/types.js +5 -0
  493. package/dist/org/types.js.map +1 -0
  494. package/dist/resources/emitter.d.ts +13 -0
  495. package/dist/resources/emitter.d.ts.map +1 -0
  496. package/dist/resources/emitter.js +32 -0
  497. package/dist/resources/emitter.js.map +1 -0
  498. package/dist/resources/handlers.d.ts +54 -0
  499. package/dist/resources/handlers.d.ts.map +1 -0
  500. package/dist/resources/handlers.js +292 -0
  501. package/dist/resources/handlers.js.map +1 -0
  502. package/dist/resources/index.d.ts +5 -0
  503. package/dist/resources/index.d.ts.map +1 -0
  504. package/dist/resources/index.js +5 -0
  505. package/dist/resources/index.js.map +1 -0
  506. package/dist/resources/script-helpers.d.ts +24 -0
  507. package/dist/resources/script-helpers.d.ts.map +1 -0
  508. package/dist/resources/script-helpers.js +36 -0
  509. package/dist/resources/script-helpers.js.map +1 -0
  510. package/dist/resources/store.d.ts +40 -0
  511. package/dist/resources/store.d.ts.map +1 -0
  512. package/dist/resources/store.js +497 -0
  513. package/dist/resources/store.js.map +1 -0
  514. package/dist/scripts/agent-engines/list-agent-engines.d.ts +7 -0
  515. package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -0
  516. package/dist/scripts/agent-engines/list-agent-engines.js +42 -0
  517. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -0
  518. package/dist/scripts/agent-engines/set-agent-engine.d.ts +7 -0
  519. package/dist/scripts/agent-engines/set-agent-engine.d.ts.map +1 -0
  520. package/dist/scripts/agent-engines/set-agent-engine.js +57 -0
  521. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -0
  522. package/dist/scripts/agent-engines/test-agent-engine.d.ts +7 -0
  523. package/dist/scripts/agent-engines/test-agent-engine.d.ts.map +1 -0
  524. package/dist/scripts/agent-engines/test-agent-engine.js +102 -0
  525. package/dist/scripts/agent-engines/test-agent-engine.js.map +1 -0
  526. package/dist/scripts/call-agent.d.ts +5 -0
  527. package/dist/scripts/call-agent.d.ts.map +1 -0
  528. package/dist/scripts/call-agent.js +111 -0
  529. package/dist/scripts/call-agent.js.map +1 -0
  530. package/dist/scripts/chat/index.d.ts +2 -0
  531. package/dist/scripts/chat/index.d.ts.map +1 -0
  532. package/dist/scripts/chat/index.js +5 -0
  533. package/dist/scripts/chat/index.js.map +1 -0
  534. package/dist/scripts/chat/open-chat.d.ts +11 -0
  535. package/dist/scripts/chat/open-chat.d.ts.map +1 -0
  536. package/dist/scripts/chat/open-chat.js +48 -0
  537. package/dist/scripts/chat/open-chat.js.map +1 -0
  538. package/dist/scripts/chat/search-chats.d.ts +10 -0
  539. package/dist/scripts/chat/search-chats.d.ts.map +1 -0
  540. package/dist/scripts/chat/search-chats.js +89 -0
  541. package/dist/scripts/chat/search-chats.js.map +1 -0
  542. package/dist/scripts/core-scripts.d.ts.map +1 -1
  543. package/dist/scripts/core-scripts.js +4 -0
  544. package/dist/scripts/core-scripts.js.map +1 -1
  545. package/dist/scripts/db/check-scoping.d.ts +14 -0
  546. package/dist/scripts/db/check-scoping.d.ts.map +1 -0
  547. package/dist/scripts/db/check-scoping.js +174 -0
  548. package/dist/scripts/db/check-scoping.js.map +1 -0
  549. package/dist/scripts/db/exec.d.ts +7 -2
  550. package/dist/scripts/db/exec.d.ts.map +1 -1
  551. package/dist/scripts/db/exec.js +143 -36
  552. package/dist/scripts/db/exec.js.map +1 -1
  553. package/dist/scripts/db/index.d.ts.map +1 -1
  554. package/dist/scripts/db/index.js +2 -0
  555. package/dist/scripts/db/index.js.map +1 -1
  556. package/dist/scripts/db/patch.d.ts +50 -0
  557. package/dist/scripts/db/patch.d.ts.map +1 -0
  558. package/dist/scripts/db/patch.js +392 -0
  559. package/dist/scripts/db/patch.js.map +1 -0
  560. package/dist/scripts/db/query.d.ts +7 -2
  561. package/dist/scripts/db/query.d.ts.map +1 -1
  562. package/dist/scripts/db/query.js +89 -45
  563. package/dist/scripts/db/query.js.map +1 -1
  564. package/dist/scripts/db/schema.d.ts +2 -2
  565. package/dist/scripts/db/schema.d.ts.map +1 -1
  566. package/dist/scripts/db/schema.js +145 -6
  567. package/dist/scripts/db/schema.js.map +1 -1
  568. package/dist/scripts/db/scoping.d.ts +42 -0
  569. package/dist/scripts/db/scoping.d.ts.map +1 -0
  570. package/dist/scripts/db/scoping.js +216 -0
  571. package/dist/scripts/db/scoping.js.map +1 -0
  572. package/dist/scripts/dev/index.d.ts +2 -2
  573. package/dist/scripts/dev/index.d.ts.map +1 -1
  574. package/dist/scripts/dev/index.js +65 -2
  575. package/dist/scripts/dev/index.js.map +1 -1
  576. package/dist/scripts/dev/list-files.d.ts +2 -2
  577. package/dist/scripts/dev/read-file.d.ts +2 -2
  578. package/dist/scripts/dev/read-file.js +1 -1
  579. package/dist/scripts/dev/read-file.js.map +1 -1
  580. package/dist/scripts/dev/search-files.d.ts +2 -2
  581. package/dist/scripts/dev/search-files.js +1 -1
  582. package/dist/scripts/dev/search-files.js.map +1 -1
  583. package/dist/scripts/dev/shell.d.ts +2 -2
  584. package/dist/scripts/dev/shell.js +1 -1
  585. package/dist/scripts/dev/shell.js.map +1 -1
  586. package/dist/scripts/dev/write-file.d.ts +2 -2
  587. package/dist/scripts/dev/write-file.js +1 -1
  588. package/dist/scripts/dev/write-file.js.map +1 -1
  589. package/dist/scripts/parse-args.d.ts +14 -0
  590. package/dist/scripts/parse-args.d.ts.map +1 -0
  591. package/dist/scripts/parse-args.js +45 -0
  592. package/dist/scripts/parse-args.js.map +1 -0
  593. package/dist/scripts/resources/delete.d.ts +10 -0
  594. package/dist/scripts/resources/delete.d.ts.map +1 -0
  595. package/dist/scripts/resources/delete.js +38 -0
  596. package/dist/scripts/resources/delete.js.map +1 -0
  597. package/dist/scripts/resources/index.d.ts +2 -0
  598. package/dist/scripts/resources/index.d.ts.map +1 -0
  599. package/dist/scripts/resources/index.js +8 -0
  600. package/dist/scripts/resources/index.js.map +1 -0
  601. package/dist/scripts/resources/list.d.ts +10 -0
  602. package/dist/scripts/resources/list.d.ts.map +1 -0
  603. package/dist/scripts/resources/list.js +57 -0
  604. package/dist/scripts/resources/list.js.map +1 -0
  605. package/dist/scripts/resources/migrate-learnings.d.ts +10 -0
  606. package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -0
  607. package/dist/scripts/resources/migrate-learnings.js +23 -0
  608. package/dist/scripts/resources/migrate-learnings.js.map +1 -0
  609. package/dist/scripts/resources/read.d.ts +10 -0
  610. package/dist/scripts/resources/read.d.ts.map +1 -0
  611. package/dist/scripts/resources/read.js +59 -0
  612. package/dist/scripts/resources/read.js.map +1 -0
  613. package/dist/scripts/resources/write.d.ts +10 -0
  614. package/dist/scripts/resources/write.d.ts.map +1 -0
  615. package/dist/scripts/resources/write.js +67 -0
  616. package/dist/scripts/resources/write.js.map +1 -0
  617. package/dist/scripts/runner.d.ts +7 -7
  618. package/dist/scripts/runner.d.ts.map +1 -1
  619. package/dist/scripts/runner.js +78 -29
  620. package/dist/scripts/runner.js.map +1 -1
  621. package/dist/scripts/utils.d.ts +5 -10
  622. package/dist/scripts/utils.d.ts.map +1 -1
  623. package/dist/scripts/utils.js +7 -43
  624. package/dist/scripts/utils.js.map +1 -1
  625. package/dist/server/action-discovery.d.ts +40 -0
  626. package/dist/server/action-discovery.d.ts.map +1 -0
  627. package/dist/server/action-discovery.js +257 -0
  628. package/dist/server/action-discovery.js.map +1 -0
  629. package/dist/server/action-routes.d.ts +15 -0
  630. package/dist/server/action-routes.d.ts.map +1 -0
  631. package/dist/server/action-routes.js +105 -0
  632. package/dist/server/action-routes.js.map +1 -0
  633. package/dist/server/agent-chat-plugin.d.ts +32 -23
  634. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  635. package/dist/server/agent-chat-plugin.js +1983 -39
  636. package/dist/server/agent-chat-plugin.js.map +1 -1
  637. package/dist/server/agent-discovery.d.ts +21 -0
  638. package/dist/server/agent-discovery.d.ts.map +1 -0
  639. package/dist/server/agent-discovery.js +197 -0
  640. package/dist/server/agent-discovery.js.map +1 -0
  641. package/dist/server/agent-teams.d.ts +70 -0
  642. package/dist/server/agent-teams.d.ts.map +1 -0
  643. package/dist/server/agent-teams.js +367 -0
  644. package/dist/server/agent-teams.js.map +1 -0
  645. package/dist/server/agents-bundle.d.ts +87 -0
  646. package/dist/server/agents-bundle.d.ts.map +1 -0
  647. package/dist/server/agents-bundle.js +231 -0
  648. package/dist/server/agents-bundle.js.map +1 -0
  649. package/dist/server/auth-plugin.d.ts +5 -0
  650. package/dist/server/auth-plugin.d.ts.map +1 -1
  651. package/dist/server/auth-plugin.js +13 -3
  652. package/dist/server/auth-plugin.js.map +1 -1
  653. package/dist/server/auth.d.ts +54 -31
  654. package/dist/server/auth.d.ts.map +1 -1
  655. package/dist/server/auth.js +671 -294
  656. package/dist/server/auth.js.map +1 -1
  657. package/dist/server/better-auth-instance.d.ts +72 -0
  658. package/dist/server/better-auth-instance.d.ts.map +1 -0
  659. package/dist/server/better-auth-instance.js +144 -0
  660. package/dist/server/better-auth-instance.js.map +1 -0
  661. package/dist/server/collab-plugin.d.ts +29 -0
  662. package/dist/server/collab-plugin.d.ts.map +1 -0
  663. package/dist/server/collab-plugin.js +85 -0
  664. package/dist/server/collab-plugin.js.map +1 -0
  665. package/dist/server/core-routes-plugin.d.ts +54 -0
  666. package/dist/server/core-routes-plugin.d.ts.map +1 -0
  667. package/dist/server/core-routes-plugin.js +195 -0
  668. package/dist/server/core-routes-plugin.js.map +1 -0
  669. package/dist/server/create-server.d.ts +5 -5
  670. package/dist/server/create-server.d.ts.map +1 -1
  671. package/dist/server/create-server.js +44 -21
  672. package/dist/server/create-server.js.map +1 -1
  673. package/dist/server/framework-request-handler.d.ts +47 -0
  674. package/dist/server/framework-request-handler.d.ts.map +1 -0
  675. package/dist/server/framework-request-handler.js +168 -0
  676. package/dist/server/framework-request-handler.js.map +1 -0
  677. package/dist/server/google-auth-plugin.d.ts +4 -0
  678. package/dist/server/google-auth-plugin.d.ts.map +1 -1
  679. package/dist/server/google-auth-plugin.js +16 -15
  680. package/dist/server/google-auth-plugin.js.map +1 -1
  681. package/dist/server/google-oauth.d.ts +72 -0
  682. package/dist/server/google-oauth.d.ts.map +1 -0
  683. package/dist/server/google-oauth.js +209 -0
  684. package/dist/server/google-oauth.js.map +1 -0
  685. package/dist/server/h3-helpers.d.ts +23 -0
  686. package/dist/server/h3-helpers.d.ts.map +1 -0
  687. package/dist/server/h3-helpers.js +37 -0
  688. package/dist/server/h3-helpers.js.map +1 -0
  689. package/dist/server/index.d.ts +17 -5
  690. package/dist/server/index.d.ts.map +1 -1
  691. package/dist/server/index.js +19 -4
  692. package/dist/server/index.js.map +1 -1
  693. package/dist/server/local-migration.d.ts +32 -0
  694. package/dist/server/local-migration.d.ts.map +1 -0
  695. package/dist/server/local-migration.js +205 -0
  696. package/dist/server/local-migration.js.map +1 -0
  697. package/dist/server/oauth-helpers.d.ts +14 -0
  698. package/dist/server/oauth-helpers.d.ts.map +1 -0
  699. package/dist/server/oauth-helpers.js +23 -0
  700. package/dist/server/oauth-helpers.js.map +1 -0
  701. package/dist/server/onboarding-html.d.ts +24 -0
  702. package/dist/server/onboarding-html.d.ts.map +1 -0
  703. package/dist/server/onboarding-html.js +347 -0
  704. package/dist/server/onboarding-html.js.map +1 -0
  705. package/dist/server/poll.d.ts +45 -0
  706. package/dist/server/poll.d.ts.map +1 -0
  707. package/dist/server/poll.js +96 -0
  708. package/dist/server/poll.js.map +1 -0
  709. package/dist/server/resources-plugin.d.ts +27 -0
  710. package/dist/server/resources-plugin.d.ts.map +1 -0
  711. package/dist/server/resources-plugin.js +75 -0
  712. package/dist/server/resources-plugin.js.map +1 -0
  713. package/dist/server/schema-prompt.d.ts +16 -0
  714. package/dist/server/schema-prompt.d.ts.map +1 -0
  715. package/dist/server/schema-prompt.js +275 -0
  716. package/dist/server/schema-prompt.js.map +1 -0
  717. package/dist/server/script-discovery.d.ts +6 -0
  718. package/dist/server/script-discovery.d.ts.map +1 -0
  719. package/dist/server/script-discovery.js +6 -0
  720. package/dist/server/script-discovery.js.map +1 -0
  721. package/dist/server/sse.d.ts +4 -21
  722. package/dist/server/sse.d.ts.map +1 -1
  723. package/dist/server/sse.js +2 -30
  724. package/dist/server/sse.js.map +1 -1
  725. package/dist/server/ssr-handler.d.ts +6 -0
  726. package/dist/server/ssr-handler.d.ts.map +1 -0
  727. package/dist/server/ssr-handler.js +55 -0
  728. package/dist/server/ssr-handler.js.map +1 -0
  729. package/dist/settings/handlers.d.ts +6 -6
  730. package/dist/settings/handlers.d.ts.map +1 -1
  731. package/dist/settings/handlers.js +9 -6
  732. package/dist/settings/handlers.js.map +1 -1
  733. package/dist/settings/index.d.ts +2 -1
  734. package/dist/settings/index.d.ts.map +1 -1
  735. package/dist/settings/index.js +2 -0
  736. package/dist/settings/index.js.map +1 -1
  737. package/dist/settings/org-settings.d.ts +22 -0
  738. package/dist/settings/org-settings.d.ts.map +1 -0
  739. package/dist/settings/org-settings.js +45 -0
  740. package/dist/settings/org-settings.js.map +1 -0
  741. package/dist/settings/store.d.ts +6 -2
  742. package/dist/settings/store.d.ts.map +1 -1
  743. package/dist/settings/store.js +26 -63
  744. package/dist/settings/store.js.map +1 -1
  745. package/dist/settings/user-settings.d.ts +3 -2
  746. package/dist/settings/user-settings.d.ts.map +1 -1
  747. package/dist/settings/user-settings.js +5 -5
  748. package/dist/settings/user-settings.js.map +1 -1
  749. package/dist/shared/agent-chat.d.ts +5 -5
  750. package/dist/shared/agent-chat.d.ts.map +1 -1
  751. package/dist/shared/agent-chat.js +8 -8
  752. package/dist/shared/agent-chat.js.map +1 -1
  753. package/dist/shared/agent-env.d.ts +1 -1
  754. package/dist/shared/agent-env.js +1 -1
  755. package/dist/shared/runtime.d.ts +14 -0
  756. package/dist/shared/runtime.d.ts.map +1 -0
  757. package/dist/shared/runtime.js +25 -0
  758. package/dist/shared/runtime.js.map +1 -0
  759. package/dist/tailwind.preset.d.ts +7 -6
  760. package/dist/tailwind.preset.d.ts.map +1 -1
  761. package/dist/tailwind.preset.js +18 -1
  762. package/dist/tailwind.preset.js.map +1 -1
  763. package/dist/templates/default/.agents/skills/actions/SKILL.md +142 -0
  764. package/dist/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
  765. package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +50 -0
  766. package/dist/templates/default/.agents/skills/create-skill/SKILL.md +167 -0
  767. package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +90 -0
  768. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +69 -0
  769. package/dist/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
  770. package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
  771. package/dist/templates/default/.agents/skills/security/SKILL.md +108 -0
  772. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +79 -0
  773. package/{src/templates/default/.agents/skills/files-as-database → dist/templates/default/.agents/skills/storing-data}/SKILL.md +2 -2
  774. package/dist/templates/default/.claude/settings.json +100 -0
  775. package/dist/templates/default/.env.example +5 -0
  776. package/dist/templates/default/.prettierrc +5 -0
  777. package/dist/templates/default/AGENTS.md +110 -0
  778. package/dist/templates/default/DEVELOPING.md +117 -0
  779. package/dist/templates/default/_gitignore +37 -0
  780. package/{src/templates/default/scripts → dist/templates/default/actions}/hello.ts +1 -1
  781. package/dist/templates/default/actions/navigate.ts +53 -0
  782. package/dist/templates/default/actions/view-screen.ts +39 -0
  783. package/dist/templates/default/app/entry.client.tsx +4 -0
  784. package/dist/templates/default/app/entry.server.tsx +56 -0
  785. package/dist/templates/default/app/global.css +95 -0
  786. package/dist/templates/default/app/lib/utils.ts +1 -0
  787. package/dist/templates/default/app/root.tsx +107 -0
  788. package/dist/templates/default/app/routes/_index.tsx +62 -0
  789. package/dist/templates/default/app/routes.ts +4 -0
  790. package/dist/templates/default/app/vite-env.d.ts +6 -0
  791. package/dist/templates/default/components.json +20 -0
  792. package/dist/templates/default/data/.gitkeep +0 -0
  793. package/dist/templates/default/data/sync-config.json +1 -0
  794. package/dist/templates/default/learnings.defaults.md +5 -0
  795. package/dist/templates/default/learnings.md +0 -0
  796. package/dist/templates/default/package.json +46 -0
  797. package/dist/templates/default/postcss.config.js +6 -0
  798. package/dist/templates/default/public/icon-180.svg +4 -0
  799. package/dist/templates/default/public/icon-192.svg +4 -0
  800. package/dist/templates/default/public/icon-512.svg +4 -0
  801. package/dist/templates/default/public/manifest.json +13 -0
  802. package/dist/templates/default/react-router.config.ts +6 -0
  803. package/dist/templates/default/server/middleware/auth.ts +15 -0
  804. package/dist/templates/default/server/plugins/.gitkeep +0 -0
  805. package/dist/templates/default/server/routes/[...page].get.ts +5 -0
  806. package/dist/templates/default/server/routes/api/hello.get.ts +5 -0
  807. package/dist/templates/default/shared/api.ts +6 -0
  808. package/dist/templates/default/ssr-entry.ts +20 -0
  809. package/dist/templates/default/tailwind.config.ts +7 -0
  810. package/dist/templates/default/tsconfig.json +11 -0
  811. package/dist/templates/default/vite.config.ts +6 -0
  812. package/dist/templates/templates/default/.agents/skills/actions/SKILL.md +142 -0
  813. package/dist/templates/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
  814. package/dist/templates/templates/default/.agents/skills/capture-learnings/SKILL.md +50 -0
  815. package/dist/templates/templates/default/.agents/skills/create-skill/SKILL.md +167 -0
  816. package/dist/templates/templates/default/.agents/skills/delegate-to-agent/SKILL.md +90 -0
  817. package/dist/templates/templates/default/.agents/skills/frontend-design/SKILL.md +69 -0
  818. package/dist/templates/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
  819. package/dist/templates/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
  820. package/dist/templates/templates/default/.agents/skills/security/SKILL.md +108 -0
  821. package/dist/templates/templates/default/.agents/skills/self-modifying-code/SKILL.md +79 -0
  822. package/dist/templates/templates/default/.agents/skills/storing-data/SKILL.md +110 -0
  823. package/dist/templates/templates/default/.claude/settings.json +100 -0
  824. package/dist/templates/templates/default/.env.example +5 -0
  825. package/dist/templates/templates/default/.ignore +0 -0
  826. package/dist/templates/templates/default/.prettierrc +5 -0
  827. package/dist/templates/templates/default/AGENTS.md +110 -0
  828. package/dist/templates/templates/default/DEVELOPING.md +117 -0
  829. package/dist/templates/templates/default/_gitignore +37 -0
  830. package/dist/templates/templates/default/actions/hello.ts +20 -0
  831. package/dist/templates/templates/default/actions/navigate.ts +53 -0
  832. package/dist/templates/templates/default/actions/run.ts +2 -0
  833. package/dist/templates/templates/default/actions/view-screen.ts +39 -0
  834. package/dist/templates/templates/default/app/entry.client.tsx +4 -0
  835. package/dist/templates/templates/default/app/entry.server.tsx +56 -0
  836. package/dist/templates/templates/default/app/global.css +95 -0
  837. package/dist/templates/templates/default/app/lib/utils.ts +1 -0
  838. package/dist/templates/templates/default/app/root.tsx +107 -0
  839. package/dist/templates/templates/default/app/routes/_index.tsx +62 -0
  840. package/dist/templates/templates/default/app/routes.ts +4 -0
  841. package/dist/templates/templates/default/app/vite-env.d.ts +6 -0
  842. package/dist/templates/templates/default/components.json +20 -0
  843. package/dist/templates/templates/default/data/.gitkeep +0 -0
  844. package/dist/templates/templates/default/data/sync-config.json +1 -0
  845. package/dist/templates/templates/default/learnings.defaults.md +5 -0
  846. package/dist/templates/templates/default/learnings.md +0 -0
  847. package/dist/templates/templates/default/package.json +46 -0
  848. package/dist/templates/templates/default/postcss.config.js +6 -0
  849. package/dist/templates/templates/default/public/icon-180.svg +4 -0
  850. package/dist/templates/templates/default/public/icon-192.svg +4 -0
  851. package/dist/templates/templates/default/public/icon-512.svg +4 -0
  852. package/dist/templates/templates/default/public/manifest.json +13 -0
  853. package/dist/templates/templates/default/react-router.config.ts +6 -0
  854. package/dist/templates/templates/default/server/middleware/auth.ts +15 -0
  855. package/dist/templates/templates/default/server/plugins/.gitkeep +0 -0
  856. package/dist/templates/templates/default/server/routes/[...page].get.ts +5 -0
  857. package/dist/templates/templates/default/server/routes/api/hello.get.ts +5 -0
  858. package/dist/templates/templates/default/shared/api.ts +6 -0
  859. package/dist/templates/templates/default/ssr-entry.ts +20 -0
  860. package/dist/templates/templates/default/tailwind.config.ts +7 -0
  861. package/dist/templates/templates/default/tsconfig.json +11 -0
  862. package/dist/templates/templates/default/vite.config.ts +6 -0
  863. package/dist/terminal/cli-registry.d.ts +2 -2
  864. package/dist/terminal/cli-registry.d.ts.map +1 -1
  865. package/dist/terminal/cli-registry.js +8 -8
  866. package/dist/terminal/cli-registry.js.map +1 -1
  867. package/dist/terminal/pty-server.d.ts +1 -1
  868. package/dist/terminal/pty-server.d.ts.map +1 -1
  869. package/dist/terminal/pty-server.js +94 -18
  870. package/dist/terminal/pty-server.js.map +1 -1
  871. package/dist/terminal/terminal-plugin.d.ts +1 -10
  872. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  873. package/dist/terminal/terminal-plugin.js +77 -28
  874. package/dist/terminal/terminal-plugin.js.map +1 -1
  875. package/dist/usage/store.d.ts +29 -0
  876. package/dist/usage/store.d.ts.map +1 -0
  877. package/dist/usage/store.js +102 -0
  878. package/dist/usage/store.js.map +1 -0
  879. package/dist/vite/action-types-plugin.d.ts +13 -0
  880. package/dist/vite/action-types-plugin.d.ts.map +1 -0
  881. package/dist/vite/action-types-plugin.js +132 -0
  882. package/dist/vite/action-types-plugin.js.map +1 -0
  883. package/dist/vite/agents-bundle-plugin.d.ts +3 -0
  884. package/dist/vite/agents-bundle-plugin.d.ts.map +1 -0
  885. package/dist/vite/agents-bundle-plugin.js +87 -0
  886. package/dist/vite/agents-bundle-plugin.js.map +1 -0
  887. package/dist/vite/client.d.ts +5 -0
  888. package/dist/vite/client.d.ts.map +1 -1
  889. package/dist/vite/client.js +310 -19
  890. package/dist/vite/client.js.map +1 -1
  891. package/dist/vite/index.d.ts +2 -1
  892. package/dist/vite/index.d.ts.map +1 -1
  893. package/dist/vite/index.js +2 -1
  894. package/dist/vite/index.js.map +1 -1
  895. package/package.json +78 -14
  896. package/src/templates/default/.agents/skills/actions/SKILL.md +142 -0
  897. package/src/templates/default/.agents/skills/agent-engines/SKILL.md +127 -0
  898. package/src/templates/default/.agents/skills/create-skill/SKILL.md +1 -1
  899. package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +1 -1
  900. package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +183 -0
  901. package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
  902. package/src/templates/default/.agents/skills/security/SKILL.md +108 -0
  903. package/src/templates/default/.agents/skills/storing-data/SKILL.md +110 -0
  904. package/src/templates/default/.claude/settings.json +13 -0
  905. package/src/templates/default/AGENTS.md +72 -164
  906. package/src/templates/default/DEVELOPING.md +117 -0
  907. package/src/templates/default/actions/hello.ts +20 -0
  908. package/src/templates/default/actions/navigate.ts +53 -0
  909. package/src/templates/default/actions/run.ts +2 -0
  910. package/src/templates/default/actions/view-screen.ts +39 -0
  911. package/src/templates/default/app/global.css +2 -2
  912. package/src/templates/default/app/root.tsx +19 -16
  913. package/src/templates/default/app/routes/_index.tsx +1 -1
  914. package/src/templates/default/package.json +6 -2
  915. package/src/templates/default/server/middleware/auth.ts +15 -0
  916. package/src/templates/default/server/plugins/.gitkeep +0 -0
  917. package/src/templates/default/server/routes/[...page].get.ts +2 -9
  918. package/src/templates/default/ssr-entry.ts +20 -0
  919. package/dist/a2a/middleware.d.ts +0 -3
  920. package/dist/a2a/middleware.d.ts.map +0 -1
  921. package/dist/a2a/middleware.js +0 -36
  922. package/dist/a2a/middleware.js.map +0 -1
  923. package/dist/adapters/convex/adapter.d.ts +0 -24
  924. package/dist/adapters/convex/adapter.d.ts.map +0 -1
  925. package/dist/adapters/convex/adapter.js +0 -125
  926. package/dist/adapters/convex/adapter.js.map +0 -1
  927. package/dist/adapters/convex/index.d.ts +0 -4
  928. package/dist/adapters/convex/index.d.ts.map +0 -1
  929. package/dist/adapters/convex/index.js +0 -3
  930. package/dist/adapters/convex/index.js.map +0 -1
  931. package/dist/adapters/drizzle/adapter.d.ts +0 -36
  932. package/dist/adapters/drizzle/adapter.d.ts.map +0 -1
  933. package/dist/adapters/drizzle/adapter.js +0 -210
  934. package/dist/adapters/drizzle/adapter.js.map +0 -1
  935. package/dist/adapters/drizzle/index.d.ts +0 -3
  936. package/dist/adapters/drizzle/index.d.ts.map +0 -1
  937. package/dist/adapters/drizzle/index.js +0 -3
  938. package/dist/adapters/drizzle/index.js.map +0 -1
  939. package/dist/adapters/drizzle/schema.d.ts +0 -146
  940. package/dist/adapters/drizzle/schema.d.ts.map +0 -1
  941. package/dist/adapters/drizzle/schema.js +0 -20
  942. package/dist/adapters/drizzle/schema.js.map +0 -1
  943. package/dist/adapters/firestore/adapter.d.ts +0 -48
  944. package/dist/adapters/firestore/adapter.d.ts.map +0 -1
  945. package/dist/adapters/firestore/adapter.js +0 -62
  946. package/dist/adapters/firestore/adapter.js.map +0 -1
  947. package/dist/adapters/firestore/index.d.ts +0 -4
  948. package/dist/adapters/firestore/index.d.ts.map +0 -1
  949. package/dist/adapters/firestore/index.js +0 -3
  950. package/dist/adapters/firestore/index.js.map +0 -1
  951. package/dist/adapters/supabase/adapter.d.ts +0 -43
  952. package/dist/adapters/supabase/adapter.d.ts.map +0 -1
  953. package/dist/adapters/supabase/adapter.js +0 -137
  954. package/dist/adapters/supabase/adapter.js.map +0 -1
  955. package/dist/adapters/supabase/index.d.ts +0 -3
  956. package/dist/adapters/supabase/index.d.ts.map +0 -1
  957. package/dist/adapters/supabase/index.js +0 -3
  958. package/dist/adapters/supabase/index.js.map +0 -1
  959. package/dist/adapters/sync/config.d.ts +0 -40
  960. package/dist/adapters/sync/config.d.ts.map +0 -1
  961. package/dist/adapters/sync/config.js +0 -209
  962. package/dist/adapters/sync/config.js.map +0 -1
  963. package/dist/adapters/sync/create-file-sync.d.ts +0 -32
  964. package/dist/adapters/sync/create-file-sync.d.ts.map +0 -1
  965. package/dist/adapters/sync/create-file-sync.js +0 -218
  966. package/dist/adapters/sync/create-file-sync.js.map +0 -1
  967. package/dist/adapters/sync/file-sync.d.ts +0 -94
  968. package/dist/adapters/sync/file-sync.d.ts.map +0 -1
  969. package/dist/adapters/sync/file-sync.js +0 -671
  970. package/dist/adapters/sync/file-sync.js.map +0 -1
  971. package/dist/adapters/sync/index.d.ts +0 -6
  972. package/dist/adapters/sync/index.d.ts.map +0 -1
  973. package/dist/adapters/sync/index.js +0 -6
  974. package/dist/adapters/sync/index.js.map +0 -1
  975. package/dist/adapters/sync/merge.d.ts +0 -21
  976. package/dist/adapters/sync/merge.d.ts.map +0 -1
  977. package/dist/adapters/sync/merge.js +0 -132
  978. package/dist/adapters/sync/merge.js.map +0 -1
  979. package/dist/adapters/sync/types.d.ts +0 -62
  980. package/dist/adapters/sync/types.d.ts.map +0 -1
  981. package/dist/adapters/sync/types.js +0 -23
  982. package/dist/adapters/sync/types.js.map +0 -1
  983. package/dist/client/harness.d.ts +0 -48
  984. package/dist/client/harness.d.ts.map +0 -1
  985. package/dist/client/harness.js.map +0 -1
  986. package/dist/client/use-file-sync-status.d.ts +0 -21
  987. package/dist/client/use-file-sync-status.d.ts.map +0 -1
  988. package/dist/client/use-file-sync-status.js +0 -65
  989. package/dist/client/use-file-sync-status.js.map +0 -1
  990. package/dist/client/use-file-watcher.d.ts +0 -23
  991. package/dist/client/use-file-watcher.d.ts.map +0 -1
  992. package/dist/client/use-file-watcher.js +0 -50
  993. package/dist/client/use-file-watcher.js.map +0 -1
  994. package/dist/server/default-watcher.d.ts +0 -17
  995. package/dist/server/default-watcher.d.ts.map +0 -1
  996. package/dist/server/default-watcher.js +0 -37
  997. package/dist/server/default-watcher.js.map +0 -1
  998. package/dist/server/file-sync-plugin.d.ts +0 -7
  999. package/dist/server/file-sync-plugin.d.ts.map +0 -1
  1000. package/dist/server/file-sync-plugin.js +0 -38
  1001. package/dist/server/file-sync-plugin.js.map +0 -1
  1002. package/dist/vite/dev-api-server.d.ts +0 -10
  1003. package/dist/vite/dev-api-server.d.ts.map +0 -1
  1004. package/dist/vite/dev-api-server.js +0 -160
  1005. package/dist/vite/dev-api-server.js.map +0 -1
  1006. package/src/templates/default/.agents/skills/scripts/SKILL.md +0 -121
  1007. package/src/templates/default/.agents/skills/sse-file-watcher/SKILL.md +0 -80
  1008. package/src/templates/default/server/plugins/agent-chat.ts +0 -1
  1009. package/src/templates/default/server/plugins/auth.ts +0 -1
  1010. package/src/templates/default/server/plugins/file-sync.ts +0 -1
  1011. package/src/templates/default/server/plugins/terminal.ts +0 -1
  1012. package/src/templates/default/server/routes/api/events.get.ts +0 -3
  1013. package/src/templates/default/server/routes/api/file-sync/status.get.ts +0 -4
  1014. /package/{src/templates/default/application-state/.gitkeep → dist/templates/default/.ignore} +0 -0
  1015. /package/{src/templates/default/scripts → dist/templates/default/actions}/run.ts +0 -0
@@ -16,13 +16,12 @@ import path from "path";
16
16
  import fs from "fs";
17
17
  import { execFileSync } from "child_process";
18
18
  import { createRequire } from "module";
19
- import { discoverApiRoutes, discoverPlugins, } from "./route-discovery.js";
19
+ import { discoverApiRoutes, discoverPlugins, discoverActionFiles, getMissingDefaultPlugins, DEFAULT_PLUGIN_REGISTRY, } from "./route-discovery.js";
20
20
  const cwd = process.cwd();
21
21
  const preset = process.env.NITRO_PRESET || "node";
22
22
  /** Plugins that require Node.js runtime and cannot run on edge/serverless */
23
23
  const NODE_ONLY_PLUGINS = new Set([
24
24
  "terminal", // PTY requires child_process
25
- "file-sync", // chokidar requires fs watchers
26
25
  ]);
27
26
  function isNodeOnlyPlugin(filePath) {
28
27
  const basename = path.basename(filePath, path.extname(filePath));
@@ -31,15 +30,33 @@ function isNodeOnlyPlugin(filePath) {
31
30
  /**
32
31
  * Generate the worker entry source code that wires up H3 + React Router SSR.
33
32
  */
34
- function generateWorkerEntry(routes, pluginPaths) {
33
+ function generateWorkerEntry(routes, pluginPaths, defaultPluginStems = [], actions = []) {
35
34
  const routeImports = [];
36
35
  const routeRegistrations = [];
37
36
  for (let i = 0; i < routes.length; i++) {
38
37
  const r = routes[i];
39
38
  const varName = `route_${i}`;
40
- // Use the absolute path for the import
41
39
  routeImports.push(`import ${varName} from ${JSON.stringify(r.absPath)};`);
42
- routeRegistrations.push(` router.${r.method}(${JSON.stringify(r.route)}, ${varName});`);
40
+ routeRegistrations.push(` app.on(${JSON.stringify(r.method.toUpperCase())}, ${JSON.stringify(r.route)}, ${varName});`);
41
+ }
42
+ // Action route imports and registrations
43
+ const actionImports = [];
44
+ const actionRegistrations = [];
45
+ for (let i = 0; i < actions.length; i++) {
46
+ const a = actions[i];
47
+ const varName = `action_${i}`;
48
+ actionImports.push(`import ${varName} from ${JSON.stringify(a.absPath)};`);
49
+ const routePath = `/_agent-native/actions/${a.name}`;
50
+ actionRegistrations.push(` app.on(${JSON.stringify(a.method.toUpperCase())}, ${JSON.stringify(routePath)}, defineEventHandler(async (event) => {
51
+ const params = ${a.method === "get" ? "Object.fromEntries(event.url.searchParams)" : "(await readBody(event)) ?? {}"};
52
+ try {
53
+ const result = await ${varName}.run(params);
54
+ if (typeof result === "string") { try { return JSON.parse(result); } catch { return result; } }
55
+ return result;
56
+ } catch (err) {
57
+ return new Response(JSON.stringify({ error: err?.message || "Action failed" }), { status: err?.message?.startsWith("Invalid action parameters:") ? 400 : 500, headers: { "Content-Type": "application/json" } });
58
+ }
59
+ }));`);
43
60
  }
44
61
  // Filter out Node-only plugins
45
62
  const edgePlugins = pluginPaths.filter((p) => !isNodeOnlyPlugin(p));
@@ -49,18 +66,34 @@ function generateWorkerEntry(routes, pluginPaths) {
49
66
  const varName = `plugin_${i}`;
50
67
  pluginImports.push(`import ${varName} from ${JSON.stringify(edgePlugins[i])};`);
51
68
  pluginCalls.push(` if (typeof ${varName} === "function") {
52
- await ${varName}({ h3App: app });
69
+ await ${varName}(nitroApp);
70
+ }`);
71
+ }
72
+ // Auto-mounted default plugins (from core, for missing plugin files)
73
+ const edgeDefaultStems = defaultPluginStems.filter((stem) => !NODE_ONLY_PLUGINS.has(stem));
74
+ for (let i = 0; i < edgeDefaultStems.length; i++) {
75
+ const stem = edgeDefaultStems[i];
76
+ const exportName = DEFAULT_PLUGIN_REGISTRY[stem];
77
+ if (!exportName)
78
+ continue;
79
+ const varName = `defaultPlugin_${i}`;
80
+ pluginImports.push(`import { ${exportName} as ${varName} } from "@agent-native/core/server";`);
81
+ pluginCalls.push(` if (typeof ${varName} === "function") {
82
+ await ${varName}(nitroApp);
53
83
  }`);
54
84
  }
55
85
  return `
56
86
  // Auto-generated worker entry point for ${preset}
57
- import { createApp, createRouter, toWebHandler, defineEventHandler, toWebRequest } from "h3";
87
+ import { H3, defineEventHandler, readBody } from "h3";
58
88
  import { createRequestHandler } from "react-router";
59
89
  import * as serverBuild from "./server-build.js";
60
90
 
61
91
  // API route handlers
62
92
  ${routeImports.join("\n")}
63
93
 
94
+ // Action handlers (auto-discovered from actions/)
95
+ ${actionImports.join("\n")}
96
+
64
97
  // Server plugins
65
98
  ${pluginImports.join("\n")}
66
99
 
@@ -69,45 +102,55 @@ let _handler;
69
102
  async function getHandler() {
70
103
  if (_handler) return _handler;
71
104
 
72
- const app = createApp();
73
- const router = createRouter();
105
+ const app = new H3();
106
+
107
+ // Build a fake nitroApp surface so framework plugins (which expect
108
+ // \`nitroApp.h3["~middleware"]\`) can register routes via getH3App().
109
+ const noop = () => {};
110
+ const nitroApp = {
111
+ h3: app,
112
+ hooks: { hook: noop, callHook: noop, hookOnce: noop },
113
+ captureError: noop,
114
+ };
74
115
 
75
- // CORS
116
+ // CORS — applied as global middleware via .use(handler)
76
117
  app.use(defineEventHandler((event) => {
77
- const headers = event.node?.res || event.res;
78
- if (headers?.setHeader) {
79
- headers.setHeader("Access-Control-Allow-Origin", "*");
80
- headers.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,PATCH,DELETE,OPTIONS");
81
- headers.setHeader("Access-Control-Allow-Headers", "Content-Type,Authorization,X-Requested-With");
82
- }
83
- if (event.method === "OPTIONS" || event.node?.req?.method === "OPTIONS") {
84
- return new Response(null, { status: 204 });
118
+ if (event.req.method === "OPTIONS") {
119
+ return new Response(null, {
120
+ status: 204,
121
+ headers: {
122
+ "Access-Control-Allow-Origin": "*",
123
+ "Access-Control-Allow-Methods": "GET,POST,PUT,PATCH,DELETE,OPTIONS",
124
+ "Access-Control-Allow-Headers": "Content-Type,Authorization,X-Requested-With",
125
+ },
126
+ });
85
127
  }
86
128
  }));
87
129
 
88
- // Run plugins BEFORE routes auth middleware must be mounted first
130
+ // Run plugins — they call getH3App(nitroApp).use(path, handler) which
131
+ // pushes path-prefix middleware onto app["~middleware"].
89
132
  ${pluginCalls.join("\n")}
90
133
 
91
- // Mount router AFTER plugins so auth middleware runs first
92
- app.use(router);
93
-
94
134
  // Register API routes
95
135
  ${routeRegistrations.join("\n")}
96
136
 
137
+ // Register action routes (/_agent-native/actions/*)
138
+ ${actionRegistrations.join("\n")}
139
+
97
140
  // SSR catch-all for React Router
98
141
  const rrHandler = createRequestHandler(() => serverBuild);
99
- router.get("/**", defineEventHandler(async (event) => {
100
- const webReq = toWebRequest(event);
101
- return rrHandler(webReq);
142
+ app.all("/**", defineEventHandler(async (event) => {
143
+ return rrHandler(event.req);
102
144
  }));
103
145
 
104
- _handler = toWebHandler(app);
146
+ _handler = app.fetch.bind(app);
105
147
  return _handler;
106
148
  }
107
149
 
108
150
  export default {
109
151
  async fetch(request, env, ctx) {
110
- // Expose env bindings globally for compatibility
152
+ // Expose env and ctx bindings globally for compatibility
153
+ if (ctx) globalThis.__cf_ctx = ctx;
111
154
  if (env) {
112
155
  globalThis.process = globalThis.process || { env: {} };
113
156
  globalThis.process.env = globalThis.process.env || {};
@@ -120,8 +163,12 @@ export default {
120
163
  }
121
164
  }
122
165
 
123
- // Try serving static assets first (CF Pages advanced mode)
124
- if (env?.ASSETS) {
166
+ // Try serving static assets first (CF Pages advanced mode).
167
+ // Only attempt this for GET/HEAD — the ASSETS binding is a static file
168
+ // server and returns 405 for any other method, which would short-circuit
169
+ // API calls (PUT/POST/DELETE to /_agent-native/*) before they reach our
170
+ // h3 middleware.
171
+ if (env?.ASSETS && (request.method === "GET" || request.method === "HEAD")) {
125
172
  try {
126
173
  const assetResponse = await env.ASSETS.fetch(request);
127
174
  if (assetResponse.status !== 404) {
@@ -132,7 +179,6 @@ export default {
132
179
  }
133
180
  }
134
181
 
135
-
136
182
  const handler = await getHandler();
137
183
  return handler(request);
138
184
  }
@@ -169,12 +215,14 @@ async function buildCloudflarePages() {
169
215
  const stubsDir = path.join(distDir, "_worker.js", "stubs");
170
216
  fs.mkdirSync(stubsDir, { recursive: true });
171
217
  fs.writeFileSync(path.join(stubsDir, "empty.js"), "export default {}; export const watch = () => ({ close() {} }); export const Database = class {};\n");
172
- // Discover routes and plugins
173
- const routes = discoverApiRoutes(cwd);
174
- const plugins = discoverPlugins(cwd);
175
- console.log(`[deploy] ${routes.length} API routes, ${plugins.length} plugins (${plugins.filter((p) => isNodeOnlyPlugin(p)).length} skipped as Node-only)`);
218
+ // Discover routes, plugins, and actions
219
+ const routes = await discoverApiRoutes(cwd);
220
+ const plugins = await discoverPlugins(cwd);
221
+ const actions = await discoverActionFiles(cwd);
222
+ const missingDefaults = await getMissingDefaultPlugins(cwd);
223
+ console.log(`[deploy] ${routes.length} API routes, ${actions.length} actions, ${plugins.length} plugins (${plugins.filter((p) => isNodeOnlyPlugin(p)).length} skipped as Node-only), ${missingDefaults.length} auto-mounted defaults`);
176
224
  // Generate the worker entry
177
- const entrySource = generateWorkerEntry(routes, plugins);
225
+ const entrySource = generateWorkerEntry(routes, plugins, missingDefaults, actions);
178
226
  // Create _worker.js output directory
179
227
  const workerOutDir = path.join(distDir, "_worker.js");
180
228
  fs.mkdirSync(workerOutDir, { recursive: true });
@@ -202,6 +250,7 @@ async function buildCloudflarePages() {
202
250
  "chokidar",
203
251
  "fsevents",
204
252
  "dotenv",
253
+ "@anthropic-ai/sdk",
205
254
  ];
206
255
  const stubDir = path.join(tmpDir, "node_modules");
207
256
  for (const mod of stubModules) {
@@ -248,11 +297,28 @@ async function buildCloudflarePages() {
248
297
  workerCode2 = `/* __unenv_fs_patched__ */\n` + workerCode2;
249
298
  }
250
299
  fs.writeFileSync(entryFile, workerCode2);
300
+ // Patch setInterval/setTimeout at module scope — CF Workers disallows timers in global scope.
301
+ // Some dependencies (e.g. Anthropic SDK rate limiter) call setInterval at module init.
302
+ // Inject a banner that makes setInterval/setTimeout safe during module evaluation,
303
+ // then restores them inside the first fetch() call.
304
+ let workerCode = fs.readFileSync(entryFile, "utf-8");
305
+ const timerShim = [
306
+ "var __origSetInterval=globalThis.setInterval;",
307
+ "globalThis.setInterval=function(){return{unref(){},ref(){},close(){}}};",
308
+ ].join("");
309
+ // Restore real setInterval inside the fetch handler
310
+ const timerRestore = "if(__origSetInterval)globalThis.setInterval=__origSetInterval;";
311
+ workerCode = timerShim + workerCode;
312
+ // Inject restore right after "async fetch(request, env, ctx) {"
313
+ workerCode = workerCode.replace(/async fetch\(request,\s*env,\s*ctx\)\s*\{/, (match) => match + timerRestore);
251
314
  // Strip "node:" prefix from all imports/requires — nodejs_compat v1 only provides bare names.
252
315
  // Handles minified output (no space before quotes) and subpaths like node:fs/promises.
253
- let workerCode = fs.readFileSync(entryFile, "utf-8");
254
316
  workerCode = workerCode.replace(/from\s*["']node:([^"']+)["']/g, (_, mod) => `from"${mod}"`);
255
317
  workerCode = workerCode.replace(/import\s*["']node:([^"']+)["']/g, (_, mod) => `import"${mod}"`);
318
+ // Patch createRequire(import.meta.url) — import.meta.url is undefined in CF Workers.
319
+ // React Router's server build uses createRequire for CJS compat. Replace it with a
320
+ // stub that returns our require shim (which is already injected via the banner).
321
+ workerCode = workerCode.replace(/\bimport\s*\{\s*createRequire\s+as\s+([\w$]+)\s*\}\s*from\s*["']module["']\s*;/g, "var $1 = function() { return typeof require !== 'undefined' ? require : function(m) { throw new Error('require not supported: ' + m); }; };");
256
322
  fs.writeFileSync(entryFile, workerCode);
257
323
  // Report size
258
324
  const entrySize = fs.statSync(entryFile).size;
@@ -405,20 +471,548 @@ function copyDir(src, dest) {
405
471
  }
406
472
  }
407
473
  }
474
+ /**
475
+ * Create stub directories for dangling platform-specific optional dependency
476
+ * symlinks in the pnpm store.
477
+ *
478
+ * pnpm's store at `node_modules/.pnpm/<pkg>@<ver>/node_modules/<pkg>/<dep>`
479
+ * contains symlinks for ALL optional deps declared by a package, but only
480
+ * installs the ones matching the current OS/CPU as real packages. The other
481
+ * symlinks dangle — their targets at `.pnpm/<scope>+<pkg>@<ver>/node_modules/...`
482
+ * don't exist.
483
+ *
484
+ * Nitro's `nitro:externals` plugin (via nf3 / @vercel/nft) walks
485
+ * optionalDependencies when tracing files and calls `realpath` on them, which
486
+ * throws ENOENT on dangling targets. This blocks builds with presets like
487
+ * netlify / vercel / aws-lambda on macOS when packages like `libsql` declare
488
+ * Linux-only platform variants as optional deps.
489
+ *
490
+ * Fix: walk `node_modules/.pnpm/` and for every dangling symlink under
491
+ * `<pkg>/node_modules/<scope>/<dep>`, create the symlink's target as a tiny
492
+ * stub directory containing just a valid `package.json`. The tracer can now
493
+ * `realpath` and read the package.json without throwing — the stub is empty
494
+ * so no binary is bundled (which is what we want: we're building from macOS,
495
+ * the target deploy platform will install its own native binary).
496
+ */
497
+ function createDanglingOptionalDepStubs() {
498
+ // In pnpm monorepos, the store may live at the workspace root rather than
499
+ // in the template dir. Walk up from `cwd` to find every `.pnpm` directory.
500
+ const pnpmRoots = [];
501
+ let dir = cwd;
502
+ while (true) {
503
+ const candidate = path.join(dir, "node_modules", ".pnpm");
504
+ if (fs.existsSync(candidate))
505
+ pnpmRoots.push(candidate);
506
+ const parent = path.dirname(dir);
507
+ if (parent === dir)
508
+ break;
509
+ dir = parent;
510
+ }
511
+ if (pnpmRoots.length === 0)
512
+ return;
513
+ let stubsCreated = 0;
514
+ for (const pnpmRoot of pnpmRoots) {
515
+ let pkgDirs;
516
+ try {
517
+ pkgDirs = fs.readdirSync(pnpmRoot);
518
+ }
519
+ catch {
520
+ continue;
521
+ }
522
+ for (const pkgDir of pkgDirs) {
523
+ // e.g. `libsql@0.5.29`, `@libsql+client@0.15.15`
524
+ const innerNm = path.join(pnpmRoot, pkgDir, "node_modules");
525
+ if (!fs.existsSync(innerNm))
526
+ continue;
527
+ let innerEntries;
528
+ try {
529
+ innerEntries = fs.readdirSync(innerNm, { withFileTypes: true });
530
+ }
531
+ catch {
532
+ continue;
533
+ }
534
+ for (const entry of innerEntries) {
535
+ // Top-level entry: either `foo` (unscoped) or `@scope` (scoped)
536
+ const entryPath = path.join(innerNm, entry.name);
537
+ const candidates = [];
538
+ if (entry.name.startsWith("@")) {
539
+ // Scoped — iterate children
540
+ let scopedChildren;
541
+ try {
542
+ scopedChildren = fs.readdirSync(entryPath, {
543
+ withFileTypes: true,
544
+ });
545
+ }
546
+ catch {
547
+ continue;
548
+ }
549
+ for (const child of scopedChildren) {
550
+ candidates.push({
551
+ symlinkPath: path.join(entryPath, child.name),
552
+ pkgName: `${entry.name}/${child.name}`,
553
+ });
554
+ }
555
+ }
556
+ else {
557
+ candidates.push({ symlinkPath: entryPath, pkgName: entry.name });
558
+ }
559
+ for (const { symlinkPath, pkgName } of candidates) {
560
+ let isSymlink = false;
561
+ try {
562
+ isSymlink = fs.lstatSync(symlinkPath).isSymbolicLink();
563
+ }
564
+ catch {
565
+ continue;
566
+ }
567
+ if (!isSymlink)
568
+ continue;
569
+ // Check if the symlink target exists
570
+ try {
571
+ fs.statSync(symlinkPath);
572
+ continue; // Target exists — nothing to do
573
+ }
574
+ catch {
575
+ // Dangling symlink — create a stub at the target
576
+ }
577
+ let linkTarget;
578
+ try {
579
+ linkTarget = fs.readlinkSync(symlinkPath);
580
+ }
581
+ catch {
582
+ continue;
583
+ }
584
+ const resolvedTarget = path.resolve(path.dirname(symlinkPath), linkTarget);
585
+ try {
586
+ fs.mkdirSync(resolvedTarget, { recursive: true });
587
+ const stubPkgJson = {
588
+ name: pkgName,
589
+ version: "0.0.0-stub",
590
+ description: "Empty stub created by @agent-native/core deploy build to satisfy nitro's file tracer on platforms where this optional dep is not installed.",
591
+ };
592
+ fs.writeFileSync(path.join(resolvedTarget, "package.json"), JSON.stringify(stubPkgJson, null, 2));
593
+ stubsCreated++;
594
+ }
595
+ catch {
596
+ // Best-effort — ignore failures
597
+ }
598
+ }
599
+ }
600
+ }
601
+ }
602
+ if (stubsCreated > 0) {
603
+ console.log(`[deploy] Created ${stubsCreated} stub package dir(s) for dangling optional deps (platform-specific binaries not installed on this host).`);
604
+ }
605
+ }
606
+ /**
607
+ * Build for any non-Cloudflare preset using Nitro's programmatic build API.
608
+ * Handles netlify, vercel, deno_deploy, aws-lambda, and all other targets.
609
+ */
610
+ async function buildWithNitro() {
611
+ console.log(`[deploy] Building for preset "${preset}" via Nitro...`);
612
+ // Work around pnpm + nitro:externals (nf3) bug where dangling symlinks for
613
+ // platform-specific optional deps cause realpath ENOENT during file tracing.
614
+ createDanglingOptionalDepStubs();
615
+ const { createNitro, prepare, copyPublicAssets, build: nitroBuild, } = await import("nitro/builder");
616
+ // Resolve the React Router server build so the SSR catch-all route
617
+ // can import "virtual:react-router/server-build" in production.
618
+ const rrServerBuild = path.join(cwd, "build", "server", "index.js");
619
+ // Inline the template's AGENTS.md + .agents/skills/ content into the Nitro
620
+ // bundle via the `virtual` config option. Nitro's internal `nitro:virtual`
621
+ // Rollup plugin picks this up and resolves `virtual:agents-bundle` to the
622
+ // generated ES module source. Without this, Nitro's Rolldown build (used for
623
+ // netlify, vercel, aws-lambda, node presets) can't resolve the virtual
624
+ // module that `server/agents-bundle.ts` imports — it silently falls through
625
+ // to an empty bundle and the agent gets no instructions/skills at runtime.
626
+ //
627
+ // The Vite plugin at `vite/agents-bundle-plugin.ts` handles this for the
628
+ // React Router client/server build (and cloudflare via esbuild rebundle),
629
+ // but Nitro runs its OWN build from ./server/ without Vite, so it needs its
630
+ // own virtual module registration. Both paths reuse `readAgentsBundleFromFs`
631
+ // from `server/agents-bundle.ts` to guarantee identical content.
632
+ const { readAgentsBundleFromFs } = await import("../server/agents-bundle.js");
633
+ const agentsBundleModuleSource = () => {
634
+ const bundle = readAgentsBundleFromFs(cwd);
635
+ return `// AUTO-GENERATED by @agent-native/core deploy build (Nitro virtual)
636
+ // Contains the inlined AGENTS.md + .agents/skills/ content from the template.
637
+ const bundle = ${JSON.stringify(bundle)};
638
+ export default bundle;
639
+ `;
640
+ };
641
+ const nitro = await createNitro({
642
+ rootDir: cwd,
643
+ dev: false,
644
+ preset,
645
+ minify: true,
646
+ serverDir: "./server",
647
+ alias: fs.existsSync(rrServerBuild)
648
+ ? { "virtual:react-router/server-build": rrServerBuild }
649
+ : {},
650
+ virtual: {
651
+ "virtual:agents-bundle": agentsBundleModuleSource,
652
+ },
653
+ // For edge presets (cloudflare, deno), bundle all deps — node_modules
654
+ // aren't available at runtime. Netlify/Vercel/Node have node_modules.
655
+ ...(preset.startsWith("cloudflare") || preset.startsWith("deno")
656
+ ? { noExternals: true }
657
+ : {}),
658
+ });
659
+ await prepare(nitro);
660
+ await copyPublicAssets(nitro);
661
+ await nitroBuild(nitro);
662
+ // Copy React Router's client build into Nitro's public output dir
663
+ const clientDir = path.join(cwd, "build", "client");
664
+ const publicOutputDir = nitro.options.output.publicDir;
665
+ if (fs.existsSync(clientDir) && publicOutputDir) {
666
+ copyDir(clientDir, publicOutputDir);
667
+ console.log(`[deploy] Copied client assets to ${path.relative(cwd, publicOutputDir)}`);
668
+ }
669
+ // Resolve remaining bare npm imports by bundling them into _libs/.
670
+ // Nitro sometimes leaves small packages as externals even with noExternals.
671
+ if (preset.startsWith("cloudflare") || preset.startsWith("deno")) {
672
+ const { execFileSync } = await import("child_process");
673
+ const { createRequire } = await import("module");
674
+ const esbuildBin = (() => {
675
+ try {
676
+ const _req = createRequire(cwd + "/");
677
+ const pkg = path.dirname(_req.resolve("esbuild/package.json"));
678
+ const bin = path.join(pkg, "bin", "esbuild");
679
+ if (fs.existsSync(bin))
680
+ return bin;
681
+ }
682
+ catch { }
683
+ return "esbuild";
684
+ })();
685
+ // Scan all output files for bare npm imports
686
+ const outputDir = nitro.options.output.serverDir || path.join(cwd, "dist", "_worker.js");
687
+ const bareImports = new Set();
688
+ function scanForBareImports(dir) {
689
+ if (!fs.existsSync(dir))
690
+ return;
691
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
692
+ const p = path.join(dir, entry.name);
693
+ if (entry.isDirectory()) {
694
+ scanForBareImports(p);
695
+ continue;
696
+ }
697
+ if (!entry.name.endsWith(".mjs") && !entry.name.endsWith(".js"))
698
+ continue;
699
+ const code = fs.readFileSync(p, "utf-8");
700
+ const matches = code.matchAll(/from\s*["']([a-z@][a-z0-9._\-/]*)["']/g);
701
+ for (const m of matches) {
702
+ const mod = m[1];
703
+ if (mod.startsWith("node:"))
704
+ continue;
705
+ // Skip Node builtins that are available via nodejs_compat
706
+ const builtins = new Set([
707
+ "fs",
708
+ "path",
709
+ "os",
710
+ "crypto",
711
+ "http",
712
+ "https",
713
+ "stream",
714
+ "url",
715
+ "util",
716
+ "events",
717
+ "buffer",
718
+ "net",
719
+ "tls",
720
+ "assert",
721
+ "timers",
722
+ "child_process",
723
+ "module",
724
+ "process",
725
+ "worker_threads",
726
+ "querystring",
727
+ "zlib",
728
+ "vm",
729
+ "string_decoder",
730
+ "diagnostics_channel",
731
+ "async_hooks",
732
+ "perf_hooks",
733
+ "inspector",
734
+ ]);
735
+ if (builtins.has(mod))
736
+ continue;
737
+ bareImports.add(mod);
738
+ }
739
+ }
740
+ }
741
+ scanForBareImports(outputDir);
742
+ // For each bare import, try to bundle it as a standalone module
743
+ if (bareImports.size > 0) {
744
+ const libsDir = path.join(outputDir, "_libs");
745
+ fs.mkdirSync(libsDir, { recursive: true });
746
+ for (const mod of bareImports) {
747
+ const outFile = path.join(libsDir, `${mod.replace(/[/@]/g, "_")}.mjs`);
748
+ try {
749
+ // Try resolving from both template dir and workspace root
750
+ const nodePaths = [
751
+ path.join(cwd, "node_modules"),
752
+ path.resolve(cwd, "../../node_modules"),
753
+ ].filter((p) => fs.existsSync(p));
754
+ // Resolve the module — check workspace node_modules and pnpm store
755
+ let resolvedMod = mod;
756
+ const _require = createRequire(cwd + "/");
757
+ try {
758
+ const resolved = _require.resolve(mod);
759
+ resolvedMod = resolved;
760
+ }
761
+ catch {
762
+ // Try from workspace root
763
+ try {
764
+ const wsRequire = createRequire(path.resolve(cwd, "../../package.json"));
765
+ resolvedMod = wsRequire.resolve(mod);
766
+ }
767
+ catch {
768
+ // Will fail at esbuild
769
+ }
770
+ }
771
+ // Scan what named imports the consumer expects, then generate
772
+ // explicit re-exports to handle CJS modules properly.
773
+ const neededExports = new Set();
774
+ function findNeededExports(dir) {
775
+ if (!fs.existsSync(dir))
776
+ return;
777
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
778
+ const p = path.join(dir, entry.name);
779
+ if (entry.isDirectory()) {
780
+ findNeededExports(p);
781
+ continue;
782
+ }
783
+ if (!entry.name.endsWith(".mjs") && !entry.name.endsWith(".js"))
784
+ continue;
785
+ const code = fs.readFileSync(p, "utf-8");
786
+ // Match: import{foo as bar,baz}from"<mod>"
787
+ const escaped = mod.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
788
+ const re = new RegExp(`import\\{([^}]+)\\}from["']${escaped}["']`, "g");
789
+ for (const m2 of code.matchAll(re)) {
790
+ for (const part of m2[1].split(",")) {
791
+ const name = part
792
+ .trim()
793
+ .split(/\s+as\s+/)[0]
794
+ .trim();
795
+ if (name && /^[a-zA-Z_$]/.test(name))
796
+ neededExports.add(name);
797
+ }
798
+ }
799
+ }
800
+ }
801
+ findNeededExports(outputDir);
802
+ const entryCode = neededExports.size > 0
803
+ ? [
804
+ `import _mod from "${resolvedMod}";`,
805
+ `export default _mod;`,
806
+ ...Array.from(neededExports).map((n) => `export const ${n} = _mod.${n} ?? _mod?.default?.${n};`),
807
+ ].join("\n")
808
+ : `export * from "${resolvedMod}"; export { default } from "${resolvedMod}";`;
809
+ execFileSync(esbuildBin, [
810
+ "--bundle",
811
+ `--outfile=${outFile}`,
812
+ "--format=esm",
813
+ "--platform=neutral",
814
+ "--target=es2022",
815
+ "--external:node:*",
816
+ ], {
817
+ input: entryCode,
818
+ cwd,
819
+ stdio: ["pipe", "pipe", "pipe"],
820
+ });
821
+ // Rewrite imports in all files to point to the bundled module
822
+ function rewriteImports(dir) {
823
+ if (!fs.existsSync(dir))
824
+ return;
825
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
826
+ const p = path.join(dir, entry.name);
827
+ if (entry.isDirectory()) {
828
+ rewriteImports(p);
829
+ continue;
830
+ }
831
+ if (!entry.name.endsWith(".mjs") && !entry.name.endsWith(".js"))
832
+ continue;
833
+ let code = fs.readFileSync(p, "utf-8");
834
+ const relPath = path
835
+ .relative(path.dirname(p), outFile)
836
+ .replace(/\\/g, "/");
837
+ const importPath = relPath.startsWith(".")
838
+ ? relPath
839
+ : "./" + relPath;
840
+ const re = new RegExp(`from["']${mod.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}["']`, "g");
841
+ if (re.test(code)) {
842
+ code = code.replace(re, `from"${importPath}"`);
843
+ fs.writeFileSync(p, code);
844
+ }
845
+ }
846
+ }
847
+ rewriteImports(outputDir);
848
+ console.log(`[deploy] Bundled external: ${mod}`);
849
+ }
850
+ catch {
851
+ console.warn(`[deploy] Could not bundle: ${mod} (may not be needed at runtime)`);
852
+ }
853
+ }
854
+ }
855
+ }
856
+ // Cloudflare-specific post-build patches
857
+ if (preset.startsWith("cloudflare")) {
858
+ const serverDir2 = nitro.options.output.serverDir;
859
+ const scanDirs = [serverDir2];
860
+ if (serverDir2) {
861
+ const chunksDir = path.join(serverDir2, "_chunks");
862
+ const libsDir = path.join(serverDir2, "_libs");
863
+ if (fs.existsSync(chunksDir))
864
+ scanDirs.push(chunksDir);
865
+ if (fs.existsSync(libsDir))
866
+ scanDirs.push(libsDir);
867
+ }
868
+ for (const scanDir of scanDirs) {
869
+ if (!scanDir || !fs.existsSync(scanDir))
870
+ continue;
871
+ for (const file of fs.readdirSync(scanDir)) {
872
+ if (!file.endsWith(".mjs") && !file.endsWith(".js"))
873
+ continue;
874
+ const filePath = path.join(scanDir, file);
875
+ let code = fs.readFileSync(filePath, "utf-8");
876
+ let changed = false;
877
+ // 1. Rewrite bare Node.js imports to node: prefixed.
878
+ // CF Workers requires the node: prefix for built-in modules.
879
+ const NODE_BUILTINS = [
880
+ "fs",
881
+ "path",
882
+ "os",
883
+ "crypto",
884
+ "http",
885
+ "https",
886
+ "stream",
887
+ "url",
888
+ "util",
889
+ "events",
890
+ "buffer",
891
+ "querystring",
892
+ "zlib",
893
+ "net",
894
+ "tls",
895
+ "assert",
896
+ "timers",
897
+ "child_process",
898
+ "module",
899
+ "process",
900
+ "worker_threads",
901
+ "string_decoder",
902
+ "diagnostics_channel",
903
+ "async_hooks",
904
+ "perf_hooks",
905
+ "inspector",
906
+ "vm",
907
+ ];
908
+ for (const mod of NODE_BUILTINS) {
909
+ // Match: from"fs" or from "fs" (but not from"node:fs")
910
+ const re = new RegExp(`from\\s*["']${mod}["']`, "g");
911
+ if (re.test(code)) {
912
+ code = code.replace(re, `from"node:${mod}"`);
913
+ changed = true;
914
+ }
915
+ }
916
+ // 2. Patch import.meta.url for createRequire().
917
+ // React Router's server build uses createRequire(import.meta.url)
918
+ // but import.meta.url is undefined on CF Workers.
919
+ if (code.includes("import.meta.url")) {
920
+ code = code.replace(/import\.meta\.url/g, '"file:///worker.mjs"');
921
+ changed = true;
922
+ }
923
+ // 3. Patch setInterval/setTimeout at global scope.
924
+ // CF Workers disallows timers in global scope.
925
+ if (code.includes("setInterval") && !code.includes("__timer_shim__")) {
926
+ const shim = "/* __timer_shim__ */" +
927
+ "var __origSetInterval=globalThis.setInterval;" +
928
+ "globalThis.setInterval=function(){return{unref(){},ref(){},close(){}}};";
929
+ const restore = ";(function(){if(typeof __origSetInterval!=='undefined')globalThis.setInterval=__origSetInterval})();";
930
+ code = shim + code + "\n" + restore;
931
+ changed = true;
932
+ }
933
+ if (changed)
934
+ fs.writeFileSync(filePath, code);
935
+ }
936
+ }
937
+ // 3. Create stub modules in _libs/ for native deps that Nitro's rolldown
938
+ // bundler references but can't resolve on CF Workers, and rewrite
939
+ // bare imports to point to the stub files.
940
+ const libsDir2 = path.join(serverDir2 || path.join(cwd, "dist", "_worker.js"), "_libs");
941
+ if (fs.existsSync(libsDir2)) {
942
+ const NATIVE_STUBS = ["better-sqlite3", "node-pty", "cron-parser"];
943
+ for (const mod of NATIVE_STUBS) {
944
+ const libFiles = fs
945
+ .readdirSync(libsDir2)
946
+ .filter((f) => f.endsWith(".mjs"));
947
+ const referencingFiles = [];
948
+ for (const f of libFiles) {
949
+ const filePath = path.join(libsDir2, f);
950
+ const content = fs.readFileSync(filePath, "utf-8");
951
+ if (content.includes(`"${mod}"`) || content.includes(`'${mod}'`)) {
952
+ referencingFiles.push(filePath);
953
+ }
954
+ }
955
+ if (referencingFiles.length === 0)
956
+ continue;
957
+ // Create a stub _libs/<mod>.mjs that exports empty defaults
958
+ const stubName = mod.replace(/[/@]/g, "__") + ".mjs";
959
+ const stubPath = path.join(libsDir2, stubName);
960
+ if (!fs.existsSync(stubPath)) {
961
+ fs.writeFileSync(stubPath, `export default {}; export const watch = () => ({ close() {} });\n`);
962
+ console.log(`[deploy] Created stub for _libs/${stubName}`);
963
+ }
964
+ // Rewrite bare imports in _libs/ and _chunks/ to use the stub
965
+ const escaped = mod.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
966
+ const importRe = new RegExp(`(from\\s*["'])${escaped}(["'])`, "g");
967
+ // Scan _libs/ files
968
+ for (const filePath of referencingFiles) {
969
+ let code = fs.readFileSync(filePath, "utf-8");
970
+ if (importRe.test(code)) {
971
+ code = code.replace(importRe, `$1./${stubName}$2`);
972
+ fs.writeFileSync(filePath, code);
973
+ console.log(`[deploy] Rewrote ${mod} imports in _libs/${path.basename(filePath)}`);
974
+ }
975
+ }
976
+ // Also scan _chunks/ files (they import native deps too)
977
+ const chunksDir2 = path.join(serverDir2 || path.join(cwd, "dist", "_worker.js"), "_chunks");
978
+ if (fs.existsSync(chunksDir2)) {
979
+ for (const f of fs
980
+ .readdirSync(chunksDir2)
981
+ .filter((f) => f.endsWith(".mjs") || f.endsWith(".js"))) {
982
+ const filePath = path.join(chunksDir2, f);
983
+ let code = fs.readFileSync(filePath, "utf-8");
984
+ if (importRe.test(code)) {
985
+ // From _chunks/, the stub is at ../_libs/<stubName>
986
+ code = code.replace(importRe, `$1../_libs/${stubName}$2`);
987
+ fs.writeFileSync(filePath, code);
988
+ console.log(`[deploy] Rewrote ${mod} imports in _chunks/${f}`);
989
+ }
990
+ }
991
+ }
992
+ }
993
+ }
994
+ console.log("[deploy] Patched bare Node imports, timer calls, and route finder for CF Workers");
995
+ }
996
+ await nitro.close();
997
+ console.log(`[deploy] Nitro build complete for preset "${preset}".`);
998
+ }
408
999
  // Main
409
- const SUPPORTED_PRESETS = ["cloudflare_pages"];
410
1000
  if (preset === "node") {
411
- // No post-processing needed for Node.js target
412
1001
  process.exit(0);
413
1002
  }
414
- if (!SUPPORTED_PRESETS.includes(preset)) {
415
- console.error(`[deploy] Unsupported preset: ${preset}. Supported: ${SUPPORTED_PRESETS.join(", ")}`);
416
- process.exit(1);
417
- }
418
1003
  console.log(`[deploy] Building for ${preset}...`);
419
1004
  switch (preset) {
420
1005
  case "cloudflare_pages":
1006
+ case "cloudflare-pages":
1007
+ // Cloudflare Workers require a single-file bundle that wrangler can deploy.
1008
+ // Nitro's native presets produce split chunks that wrangler can't upload
1009
+ // as multi-module Workers. Use the custom esbuild-based bundler.
421
1010
  await buildCloudflarePages();
422
1011
  break;
1012
+ default:
1013
+ // All other presets (netlify, vercel, deno_deploy, aws-lambda, etc.)
1014
+ // are handled natively by Nitro's build API.
1015
+ await buildWithNitro();
1016
+ break;
423
1017
  }
424
1018
  //# sourceMappingURL=build.js.map