@agent-native/core 0.6.1 → 0.7.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 (473) hide show
  1. package/README.md +43 -3
  2. package/dist/agent/production-agent.d.ts.map +1 -1
  3. package/dist/agent/production-agent.js +154 -4
  4. package/dist/agent/production-agent.js.map +1 -1
  5. package/dist/agent/types.d.ts +1 -1
  6. package/dist/agent/types.d.ts.map +1 -1
  7. package/dist/cli/create-workspace.d.ts +8 -0
  8. package/dist/cli/create-workspace.d.ts.map +1 -0
  9. package/dist/cli/create-workspace.js +18 -0
  10. package/dist/cli/create-workspace.js.map +1 -0
  11. package/dist/cli/create.d.ts +35 -7
  12. package/dist/cli/create.d.ts.map +1 -1
  13. package/dist/cli/create.js +444 -251
  14. package/dist/cli/create.js.map +1 -1
  15. package/dist/cli/index.js +59 -5
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/workspacify.d.ts +18 -0
  18. package/dist/cli/workspacify.d.ts.map +1 -0
  19. package/dist/cli/workspacify.js +74 -0
  20. package/dist/cli/workspacify.js.map +1 -0
  21. package/dist/client/AgentPanel.d.ts +1 -1
  22. package/dist/client/AgentPanel.d.ts.map +1 -1
  23. package/dist/client/AgentPanel.js +63 -225
  24. package/dist/client/AgentPanel.js.map +1 -1
  25. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  26. package/dist/client/components/CodeRequiredDialog.js +86 -5
  27. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  28. package/dist/client/composer/MentionPopover.d.ts.map +1 -1
  29. package/dist/client/composer/MentionPopover.js +15 -2
  30. package/dist/client/composer/MentionPopover.js.map +1 -1
  31. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  32. package/dist/client/composer/TiptapComposer.js +3 -1
  33. package/dist/client/composer/TiptapComposer.js.map +1 -1
  34. package/dist/client/composer/types.d.ts +1 -1
  35. package/dist/client/composer/types.d.ts.map +1 -1
  36. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
  37. package/dist/client/integrations/IntegrationsPanel.js +22 -9
  38. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  39. package/dist/client/onboarding/OnboardingBanner.d.ts +13 -0
  40. package/dist/client/onboarding/OnboardingBanner.d.ts.map +1 -0
  41. package/dist/client/onboarding/OnboardingBanner.js +36 -0
  42. package/dist/client/onboarding/OnboardingBanner.js.map +1 -0
  43. package/dist/client/onboarding/OnboardingPanel.d.ts +16 -0
  44. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -0
  45. package/dist/client/onboarding/OnboardingPanel.js +360 -0
  46. package/dist/client/onboarding/OnboardingPanel.js.map +1 -0
  47. package/dist/client/onboarding/SetupButton.d.ts +10 -0
  48. package/dist/client/onboarding/SetupButton.d.ts.map +1 -0
  49. package/dist/client/onboarding/SetupButton.js +26 -0
  50. package/dist/client/onboarding/SetupButton.js.map +1 -0
  51. package/dist/client/onboarding/index.d.ts +12 -0
  52. package/dist/client/onboarding/index.d.ts.map +1 -0
  53. package/dist/client/onboarding/index.js +11 -0
  54. package/dist/client/onboarding/index.js.map +1 -0
  55. package/dist/client/onboarding/use-onboarding.d.ts +34 -0
  56. package/dist/client/onboarding/use-onboarding.d.ts.map +1 -0
  57. package/dist/client/onboarding/use-onboarding.js +101 -0
  58. package/dist/client/onboarding/use-onboarding.js.map +1 -0
  59. package/dist/client/org/TeamPage.d.ts +6 -1
  60. package/dist/client/org/TeamPage.d.ts.map +1 -1
  61. package/dist/client/org/TeamPage.js +85 -14
  62. package/dist/client/org/TeamPage.js.map +1 -1
  63. package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
  64. package/dist/client/resources/ResourceEditor.js +48 -77
  65. package/dist/client/resources/ResourceEditor.js.map +1 -1
  66. package/dist/client/resources/ResourceTree.d.ts.map +1 -1
  67. package/dist/client/resources/ResourceTree.js +16 -3
  68. package/dist/client/resources/ResourceTree.js.map +1 -1
  69. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  70. package/dist/client/resources/ResourcesPanel.js +135 -9
  71. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  72. package/dist/client/resources/use-resources.d.ts +5 -0
  73. package/dist/client/resources/use-resources.d.ts.map +1 -1
  74. package/dist/client/resources/use-resources.js.map +1 -1
  75. package/dist/client/settings/AgentsSection.d.ts +2 -0
  76. package/dist/client/settings/AgentsSection.d.ts.map +1 -0
  77. package/dist/client/settings/AgentsSection.js +198 -0
  78. package/dist/client/settings/AgentsSection.js.map +1 -0
  79. package/dist/client/settings/BackgroundAgentSection.d.ts +2 -0
  80. package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -0
  81. package/dist/client/settings/BackgroundAgentSection.js +46 -0
  82. package/dist/client/settings/BackgroundAgentSection.js.map +1 -0
  83. package/dist/client/settings/BrowserSection.d.ts +2 -0
  84. package/dist/client/settings/BrowserSection.d.ts.map +1 -0
  85. package/dist/client/settings/BrowserSection.js +10 -0
  86. package/dist/client/settings/BrowserSection.js.map +1 -0
  87. package/dist/client/settings/ComingSoonSection.d.ts +13 -0
  88. package/dist/client/settings/ComingSoonSection.d.ts.map +1 -0
  89. package/dist/client/settings/ComingSoonSection.js +9 -0
  90. package/dist/client/settings/ComingSoonSection.js.map +1 -0
  91. package/dist/client/settings/LLMSection.d.ts +2 -0
  92. package/dist/client/settings/LLMSection.d.ts.map +1 -0
  93. package/dist/client/settings/LLMSection.js +64 -0
  94. package/dist/client/settings/LLMSection.js.map +1 -0
  95. package/dist/client/settings/SettingsPanel.d.ts +8 -0
  96. package/dist/client/settings/SettingsPanel.d.ts.map +1 -0
  97. package/dist/client/settings/SettingsPanel.js +118 -0
  98. package/dist/client/settings/SettingsPanel.js.map +1 -0
  99. package/dist/client/settings/SettingsSection.d.ts +19 -0
  100. package/dist/client/settings/SettingsSection.d.ts.map +1 -0
  101. package/dist/client/settings/SettingsSection.js +10 -0
  102. package/dist/client/settings/SettingsSection.js.map +1 -0
  103. package/dist/client/settings/index.d.ts +3 -0
  104. package/dist/client/settings/index.d.ts.map +1 -0
  105. package/dist/client/settings/index.js +3 -0
  106. package/dist/client/settings/index.js.map +1 -0
  107. package/dist/client/settings/useBuilderStatus.d.ts +22 -0
  108. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -0
  109. package/dist/client/settings/useBuilderStatus.js +41 -0
  110. package/dist/client/settings/useBuilderStatus.js.map +1 -0
  111. package/dist/deploy/build.js +198 -54
  112. package/dist/deploy/build.js.map +1 -1
  113. package/dist/deploy/route-discovery.d.ts +5 -0
  114. package/dist/deploy/route-discovery.d.ts.map +1 -1
  115. package/dist/deploy/route-discovery.js +38 -7
  116. package/dist/deploy/route-discovery.js.map +1 -1
  117. package/dist/deploy/workspace-core.d.ts +28 -0
  118. package/dist/deploy/workspace-core.d.ts.map +1 -0
  119. package/dist/deploy/workspace-core.js +223 -0
  120. package/dist/deploy/workspace-core.js.map +1 -0
  121. package/dist/deploy/workspace-deploy.d.ts +11 -0
  122. package/dist/deploy/workspace-deploy.d.ts.map +1 -0
  123. package/dist/deploy/workspace-deploy.js +148 -0
  124. package/dist/deploy/workspace-deploy.js.map +1 -0
  125. package/dist/file-upload/builder.d.ts +11 -0
  126. package/dist/file-upload/builder.d.ts.map +1 -0
  127. package/dist/file-upload/builder.js +53 -0
  128. package/dist/file-upload/builder.js.map +1 -0
  129. package/dist/file-upload/index.d.ts +4 -0
  130. package/dist/file-upload/index.d.ts.map +1 -0
  131. package/dist/file-upload/index.js +3 -0
  132. package/dist/file-upload/index.js.map +1 -0
  133. package/dist/file-upload/registry.d.ts +23 -0
  134. package/dist/file-upload/registry.d.ts.map +1 -0
  135. package/dist/file-upload/registry.js +52 -0
  136. package/dist/file-upload/registry.js.map +1 -0
  137. package/dist/file-upload/types.d.ts +37 -0
  138. package/dist/file-upload/types.d.ts.map +1 -0
  139. package/dist/file-upload/types.js +10 -0
  140. package/dist/file-upload/types.js.map +1 -0
  141. package/dist/integrations/adapters/google-docs.d.ts +89 -0
  142. package/dist/integrations/adapters/google-docs.d.ts.map +1 -0
  143. package/dist/integrations/adapters/google-docs.js +261 -0
  144. package/dist/integrations/adapters/google-docs.js.map +1 -0
  145. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  146. package/dist/integrations/adapters/slack.js +34 -0
  147. package/dist/integrations/adapters/slack.js.map +1 -1
  148. package/dist/integrations/adapters/telegram.d.ts.map +1 -1
  149. package/dist/integrations/adapters/telegram.js +32 -0
  150. package/dist/integrations/adapters/telegram.js.map +1 -1
  151. package/dist/integrations/google-docs-poller.d.ts +54 -0
  152. package/dist/integrations/google-docs-poller.d.ts.map +1 -0
  153. package/dist/integrations/google-docs-poller.js +442 -0
  154. package/dist/integrations/google-docs-poller.js.map +1 -0
  155. package/dist/integrations/index.d.ts +2 -0
  156. package/dist/integrations/index.d.ts.map +1 -1
  157. package/dist/integrations/index.js +3 -0
  158. package/dist/integrations/index.js.map +1 -1
  159. package/dist/integrations/plugin.d.ts.map +1 -1
  160. package/dist/integrations/plugin.js +49 -2
  161. package/dist/integrations/plugin.js.map +1 -1
  162. package/dist/integrations/types.d.ts +33 -0
  163. package/dist/integrations/types.d.ts.map +1 -1
  164. package/dist/integrations/webhook-handler.d.ts +10 -1
  165. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  166. package/dist/integrations/webhook-handler.js +13 -3
  167. package/dist/integrations/webhook-handler.js.map +1 -1
  168. package/dist/jobs/scheduler.d.ts +3 -0
  169. package/dist/jobs/scheduler.d.ts.map +1 -1
  170. package/dist/jobs/scheduler.js +81 -60
  171. package/dist/jobs/scheduler.js.map +1 -1
  172. package/dist/jobs/tools.d.ts.map +1 -1
  173. package/dist/jobs/tools.js +20 -3
  174. package/dist/jobs/tools.js.map +1 -1
  175. package/dist/mcp-client/config.d.ts +46 -0
  176. package/dist/mcp-client/config.d.ts.map +1 -0
  177. package/dist/mcp-client/config.js +152 -0
  178. package/dist/mcp-client/config.js.map +1 -0
  179. package/dist/mcp-client/index.d.ts +17 -0
  180. package/dist/mcp-client/index.d.ts.map +1 -0
  181. package/dist/mcp-client/index.js +53 -0
  182. package/dist/mcp-client/index.js.map +1 -0
  183. package/dist/mcp-client/manager.d.ts +76 -0
  184. package/dist/mcp-client/manager.d.ts.map +1 -0
  185. package/dist/mcp-client/manager.js +212 -0
  186. package/dist/mcp-client/manager.js.map +1 -0
  187. package/dist/oauth-tokens/store.d.ts.map +1 -1
  188. package/dist/oauth-tokens/store.js +3 -1
  189. package/dist/oauth-tokens/store.js.map +1 -1
  190. package/dist/onboarding/default-steps.d.ts +10 -0
  191. package/dist/onboarding/default-steps.d.ts.map +1 -0
  192. package/dist/onboarding/default-steps.js +164 -0
  193. package/dist/onboarding/default-steps.js.map +1 -0
  194. package/dist/onboarding/index.d.ts +12 -0
  195. package/dist/onboarding/index.d.ts.map +1 -0
  196. package/dist/onboarding/index.js +11 -0
  197. package/dist/onboarding/index.js.map +1 -0
  198. package/dist/onboarding/plugin.d.ts +19 -0
  199. package/dist/onboarding/plugin.d.ts.map +1 -0
  200. package/dist/onboarding/plugin.js +147 -0
  201. package/dist/onboarding/plugin.js.map +1 -0
  202. package/dist/onboarding/registry.d.ts +24 -0
  203. package/dist/onboarding/registry.d.ts.map +1 -0
  204. package/dist/onboarding/registry.js +40 -0
  205. package/dist/onboarding/registry.js.map +1 -0
  206. package/dist/onboarding/types.d.ts +71 -0
  207. package/dist/onboarding/types.d.ts.map +1 -0
  208. package/dist/onboarding/types.js +10 -0
  209. package/dist/onboarding/types.js.map +1 -0
  210. package/dist/resources/agents.d.ts +4 -0
  211. package/dist/resources/agents.d.ts.map +1 -0
  212. package/dist/resources/agents.js +44 -0
  213. package/dist/resources/agents.js.map +1 -0
  214. package/dist/resources/handlers.d.ts +17 -0
  215. package/dist/resources/handlers.d.ts.map +1 -1
  216. package/dist/resources/handlers.js +49 -12
  217. package/dist/resources/handlers.js.map +1 -1
  218. package/dist/resources/metadata.d.ts +48 -0
  219. package/dist/resources/metadata.d.ts.map +1 -0
  220. package/dist/resources/metadata.js +150 -0
  221. package/dist/resources/metadata.js.map +1 -0
  222. package/dist/resources/script-helpers.d.ts.map +1 -1
  223. package/dist/resources/script-helpers.js +3 -2
  224. package/dist/resources/script-helpers.js.map +1 -1
  225. package/dist/resources/store.d.ts.map +1 -1
  226. package/dist/resources/store.js +32 -17
  227. package/dist/resources/store.js.map +1 -1
  228. package/dist/scripts/call-agent.d.ts.map +1 -1
  229. package/dist/scripts/call-agent.js +3 -2
  230. package/dist/scripts/call-agent.js.map +1 -1
  231. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  232. package/dist/scripts/chat/search-chats.js +2 -1
  233. package/dist/scripts/chat/search-chats.js.map +1 -1
  234. package/dist/scripts/core-scripts.d.ts.map +1 -1
  235. package/dist/scripts/core-scripts.js +2 -0
  236. package/dist/scripts/core-scripts.js.map +1 -1
  237. package/dist/scripts/db/scoping.d.ts.map +1 -1
  238. package/dist/scripts/db/scoping.js +3 -2
  239. package/dist/scripts/db/scoping.js.map +1 -1
  240. package/dist/scripts/docs/index.d.ts +2 -0
  241. package/dist/scripts/docs/index.d.ts.map +1 -0
  242. package/dist/scripts/docs/index.js +4 -0
  243. package/dist/scripts/docs/index.js.map +1 -0
  244. package/dist/scripts/docs/search.d.ts +13 -0
  245. package/dist/scripts/docs/search.d.ts.map +1 -0
  246. package/dist/scripts/docs/search.js +130 -0
  247. package/dist/scripts/docs/search.js.map +1 -0
  248. package/dist/scripts/resources/delete-memory.d.ts +7 -0
  249. package/dist/scripts/resources/delete-memory.d.ts.map +1 -0
  250. package/dist/scripts/resources/delete-memory.js +49 -0
  251. package/dist/scripts/resources/delete-memory.js.map +1 -0
  252. package/dist/scripts/resources/delete.d.ts.map +1 -1
  253. package/dist/scripts/resources/delete.js +2 -1
  254. package/dist/scripts/resources/delete.js.map +1 -1
  255. package/dist/scripts/resources/index.d.ts.map +1 -1
  256. package/dist/scripts/resources/index.js +2 -0
  257. package/dist/scripts/resources/index.js.map +1 -1
  258. package/dist/scripts/resources/list.d.ts.map +1 -1
  259. package/dist/scripts/resources/list.js +2 -1
  260. package/dist/scripts/resources/list.js.map +1 -1
  261. package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
  262. package/dist/scripts/resources/migrate-learnings.js +2 -1
  263. package/dist/scripts/resources/migrate-learnings.js.map +1 -1
  264. package/dist/scripts/resources/read.d.ts.map +1 -1
  265. package/dist/scripts/resources/read.js +2 -1
  266. package/dist/scripts/resources/read.js.map +1 -1
  267. package/dist/scripts/resources/save-memory.d.ts +9 -0
  268. package/dist/scripts/resources/save-memory.d.ts.map +1 -0
  269. package/dist/scripts/resources/save-memory.js +78 -0
  270. package/dist/scripts/resources/save-memory.js.map +1 -0
  271. package/dist/scripts/resources/write.d.ts.map +1 -1
  272. package/dist/scripts/resources/write.js +2 -1
  273. package/dist/scripts/resources/write.js.map +1 -1
  274. package/dist/scripts/utils.d.ts +10 -1
  275. package/dist/scripts/utils.d.ts.map +1 -1
  276. package/dist/scripts/utils.js +45 -2
  277. package/dist/scripts/utils.js.map +1 -1
  278. package/dist/server/action-discovery.d.ts +5 -0
  279. package/dist/server/action-discovery.d.ts.map +1 -1
  280. package/dist/server/action-discovery.js +51 -20
  281. package/dist/server/action-discovery.js.map +1 -1
  282. package/dist/server/action-routes.d.ts.map +1 -1
  283. package/dist/server/action-routes.js +63 -57
  284. package/dist/server/action-routes.js.map +1 -1
  285. package/dist/server/agent-chat-plugin.d.ts +3 -0
  286. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  287. package/dist/server/agent-chat-plugin.js +363 -48
  288. package/dist/server/agent-chat-plugin.js.map +1 -1
  289. package/dist/server/agent-discovery.d.ts.map +1 -1
  290. package/dist/server/agent-discovery.js +11 -23
  291. package/dist/server/agent-discovery.js.map +1 -1
  292. package/dist/server/agent-teams.d.ts.map +1 -1
  293. package/dist/server/agent-teams.js +2 -1
  294. package/dist/server/agent-teams.js.map +1 -1
  295. package/dist/server/agents-bundle.d.ts +33 -5
  296. package/dist/server/agents-bundle.d.ts.map +1 -1
  297. package/dist/server/agents-bundle.js +108 -64
  298. package/dist/server/agents-bundle.js.map +1 -1
  299. package/dist/server/auth.d.ts +1 -0
  300. package/dist/server/auth.d.ts.map +1 -1
  301. package/dist/server/auth.js +172 -60
  302. package/dist/server/auth.js.map +1 -1
  303. package/dist/server/better-auth-instance.d.ts.map +1 -1
  304. package/dist/server/better-auth-instance.js +202 -6
  305. package/dist/server/better-auth-instance.js.map +1 -1
  306. package/dist/server/builder-browser.d.ts +40 -0
  307. package/dist/server/builder-browser.d.ts.map +1 -0
  308. package/dist/server/builder-browser.js +166 -0
  309. package/dist/server/builder-browser.js.map +1 -0
  310. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  311. package/dist/server/core-routes-plugin.js +152 -6
  312. package/dist/server/core-routes-plugin.js.map +1 -1
  313. package/dist/server/credential-provider.d.ts +37 -0
  314. package/dist/server/credential-provider.d.ts.map +1 -0
  315. package/dist/server/credential-provider.js +49 -0
  316. package/dist/server/credential-provider.js.map +1 -0
  317. package/dist/server/framework-request-handler.d.ts.map +1 -1
  318. package/dist/server/framework-request-handler.js +42 -3
  319. package/dist/server/framework-request-handler.js.map +1 -1
  320. package/dist/server/google-auth-plugin.js +1 -1
  321. package/dist/server/google-oauth.d.ts +1 -1
  322. package/dist/server/google-oauth.d.ts.map +1 -1
  323. package/dist/server/google-oauth.js +15 -10
  324. package/dist/server/google-oauth.js.map +1 -1
  325. package/dist/server/index.d.ts +3 -0
  326. package/dist/server/index.d.ts.map +1 -1
  327. package/dist/server/index.js +3 -0
  328. package/dist/server/index.js.map +1 -1
  329. package/dist/server/oauth-helpers.d.ts +1 -0
  330. package/dist/server/oauth-helpers.d.ts.map +1 -1
  331. package/dist/server/oauth-helpers.js +5 -4
  332. package/dist/server/oauth-helpers.js.map +1 -1
  333. package/dist/server/onboarding-html.d.ts.map +1 -1
  334. package/dist/server/onboarding-html.js +94 -3
  335. package/dist/server/onboarding-html.js.map +1 -1
  336. package/dist/server/request-context.d.ts +20 -0
  337. package/dist/server/request-context.d.ts.map +1 -0
  338. package/dist/server/request-context.js +41 -0
  339. package/dist/server/request-context.js.map +1 -0
  340. package/dist/templates/default/.agents/skills/actions/SKILL.md +2 -1
  341. package/dist/templates/default/.agents/skills/security/SKILL.md +145 -40
  342. package/dist/templates/default/.agents/skills/storing-data/SKILL.md +7 -1
  343. package/dist/templates/default/_gitignore +1 -0
  344. package/dist/templates/default/app/root.tsx +4 -1
  345. package/dist/templates/workspace-core/AGENTS.md +62 -0
  346. package/dist/templates/workspace-core/actions/company-directory.ts +38 -0
  347. package/dist/templates/workspace-core/package.json +39 -0
  348. package/dist/templates/workspace-core/skills/company-policies/SKILL.md +42 -0
  349. package/dist/templates/workspace-core/src/client/AuthenticatedLayout.tsx +37 -0
  350. package/dist/templates/workspace-core/src/client/index.ts +26 -0
  351. package/dist/templates/workspace-core/src/credentials.ts +29 -0
  352. package/dist/templates/workspace-core/src/index.ts +21 -0
  353. package/dist/templates/workspace-core/src/server/agent-chat-plugin.ts +30 -0
  354. package/dist/templates/workspace-core/src/server/auth-plugin.ts +35 -0
  355. package/dist/templates/workspace-core/src/server/index.ts +22 -0
  356. package/dist/templates/workspace-core/tailwind.preset.ts +34 -0
  357. package/dist/templates/workspace-core/tsconfig.json +9 -0
  358. package/dist/templates/workspace-root/.env.example +37 -0
  359. package/dist/templates/workspace-root/README.md +62 -0
  360. package/dist/templates/workspace-root/_gitignore +23 -0
  361. package/dist/templates/workspace-root/package.json +18 -0
  362. package/dist/templates/workspace-root/pnpm-workspace.yaml +3 -0
  363. package/dist/templates/workspace-root/tsconfig.base.json +21 -0
  364. package/dist/vite/agents-bundle-plugin.d.ts.map +1 -1
  365. package/dist/vite/agents-bundle-plugin.js +65 -15
  366. package/dist/vite/agents-bundle-plugin.js.map +1 -1
  367. package/dist/vite/client.d.ts +16 -0
  368. package/dist/vite/client.d.ts.map +1 -1
  369. package/dist/vite/client.js +75 -0
  370. package/dist/vite/client.js.map +1 -1
  371. package/docs/content/a2a-protocol.md +223 -0
  372. package/docs/content/actions.md +129 -0
  373. package/docs/content/agent-mentions.md +171 -0
  374. package/docs/content/authentication.md +155 -0
  375. package/docs/content/cli-adapters.md +244 -0
  376. package/docs/content/client.md +175 -0
  377. package/docs/content/context-awareness.md +168 -0
  378. package/docs/content/creating-templates.md +311 -0
  379. package/docs/content/database.md +82 -0
  380. package/docs/content/deployment.md +180 -0
  381. package/docs/content/enterprise-workspace.md +235 -0
  382. package/docs/content/faq.md +101 -0
  383. package/docs/content/file-uploads.md +102 -0
  384. package/docs/content/frames.md +47 -0
  385. package/docs/content/getting-started.md +104 -0
  386. package/docs/content/integrations.md +198 -0
  387. package/docs/content/key-concepts.md +246 -0
  388. package/docs/content/mcp-clients.md +110 -0
  389. package/docs/content/mcp-protocol.md +168 -0
  390. package/docs/content/onboarding.md +107 -0
  391. package/docs/content/real-time-collaboration.md +185 -0
  392. package/docs/content/resources.md +277 -0
  393. package/docs/content/security.md +158 -0
  394. package/docs/content/server.md +200 -0
  395. package/docs/content/skills-guide.md +107 -0
  396. package/docs/content/what-is-agent-native.md +100 -0
  397. package/docs/content/workspace-management.md +224 -0
  398. package/package.json +12 -2
  399. package/src/templates/default/.agents/skills/actions/SKILL.md +2 -1
  400. package/src/templates/default/.agents/skills/security/SKILL.md +145 -40
  401. package/src/templates/default/.agents/skills/storing-data/SKILL.md +7 -1
  402. package/src/templates/default/_gitignore +1 -0
  403. package/src/templates/default/app/root.tsx +4 -1
  404. package/src/templates/workspace-core/AGENTS.md +62 -0
  405. package/src/templates/workspace-core/actions/company-directory.ts +38 -0
  406. package/src/templates/workspace-core/package.json +39 -0
  407. package/src/templates/workspace-core/skills/company-policies/SKILL.md +42 -0
  408. package/src/templates/workspace-core/src/client/AuthenticatedLayout.tsx +37 -0
  409. package/src/templates/workspace-core/src/client/index.ts +26 -0
  410. package/src/templates/workspace-core/src/credentials.ts +29 -0
  411. package/src/templates/workspace-core/src/index.ts +21 -0
  412. package/src/templates/workspace-core/src/server/agent-chat-plugin.ts +30 -0
  413. package/src/templates/workspace-core/src/server/auth-plugin.ts +35 -0
  414. package/src/templates/workspace-core/src/server/index.ts +22 -0
  415. package/src/templates/workspace-core/tailwind.preset.ts +34 -0
  416. package/src/templates/workspace-core/tsconfig.json +9 -0
  417. package/src/templates/workspace-root/.env.example +37 -0
  418. package/src/templates/workspace-root/README.md +62 -0
  419. package/src/templates/workspace-root/_gitignore +23 -0
  420. package/src/templates/workspace-root/package.json +18 -0
  421. package/src/templates/workspace-root/pnpm-workspace.yaml +3 -0
  422. package/src/templates/workspace-root/tsconfig.base.json +21 -0
  423. package/dist/templates/templates/default/.agents/skills/actions/SKILL.md +0 -142
  424. package/dist/templates/templates/default/.agents/skills/agent-engines/SKILL.md +0 -127
  425. package/dist/templates/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -50
  426. package/dist/templates/templates/default/.agents/skills/create-skill/SKILL.md +0 -167
  427. package/dist/templates/templates/default/.agents/skills/delegate-to-agent/SKILL.md +0 -90
  428. package/dist/templates/templates/default/.agents/skills/frontend-design/SKILL.md +0 -69
  429. package/dist/templates/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -183
  430. package/dist/templates/templates/default/.agents/skills/real-time-sync/SKILL.md +0 -112
  431. package/dist/templates/templates/default/.agents/skills/security/SKILL.md +0 -108
  432. package/dist/templates/templates/default/.agents/skills/self-modifying-code/SKILL.md +0 -79
  433. package/dist/templates/templates/default/.agents/skills/storing-data/SKILL.md +0 -110
  434. package/dist/templates/templates/default/.claude/settings.json +0 -100
  435. package/dist/templates/templates/default/.env.example +0 -5
  436. package/dist/templates/templates/default/.ignore +0 -0
  437. package/dist/templates/templates/default/.prettierrc +0 -5
  438. package/dist/templates/templates/default/AGENTS.md +0 -110
  439. package/dist/templates/templates/default/DEVELOPING.md +0 -117
  440. package/dist/templates/templates/default/_gitignore +0 -37
  441. package/dist/templates/templates/default/actions/hello.ts +0 -20
  442. package/dist/templates/templates/default/actions/navigate.ts +0 -53
  443. package/dist/templates/templates/default/actions/run.ts +0 -2
  444. package/dist/templates/templates/default/actions/view-screen.ts +0 -39
  445. package/dist/templates/templates/default/app/entry.client.tsx +0 -4
  446. package/dist/templates/templates/default/app/entry.server.tsx +0 -56
  447. package/dist/templates/templates/default/app/global.css +0 -95
  448. package/dist/templates/templates/default/app/lib/utils.ts +0 -1
  449. package/dist/templates/templates/default/app/root.tsx +0 -107
  450. package/dist/templates/templates/default/app/routes/_index.tsx +0 -62
  451. package/dist/templates/templates/default/app/routes.ts +0 -4
  452. package/dist/templates/templates/default/app/vite-env.d.ts +0 -6
  453. package/dist/templates/templates/default/components.json +0 -20
  454. package/dist/templates/templates/default/data/.gitkeep +0 -0
  455. package/dist/templates/templates/default/data/sync-config.json +0 -1
  456. package/dist/templates/templates/default/learnings.defaults.md +0 -5
  457. package/dist/templates/templates/default/learnings.md +0 -0
  458. package/dist/templates/templates/default/package.json +0 -46
  459. package/dist/templates/templates/default/postcss.config.js +0 -6
  460. package/dist/templates/templates/default/public/icon-180.svg +0 -4
  461. package/dist/templates/templates/default/public/icon-192.svg +0 -4
  462. package/dist/templates/templates/default/public/icon-512.svg +0 -4
  463. package/dist/templates/templates/default/public/manifest.json +0 -13
  464. package/dist/templates/templates/default/react-router.config.ts +0 -6
  465. package/dist/templates/templates/default/server/middleware/auth.ts +0 -15
  466. package/dist/templates/templates/default/server/plugins/.gitkeep +0 -0
  467. package/dist/templates/templates/default/server/routes/[...page].get.ts +0 -5
  468. package/dist/templates/templates/default/server/routes/api/hello.get.ts +0 -5
  469. package/dist/templates/templates/default/shared/api.ts +0 -6
  470. package/dist/templates/templates/default/ssr-entry.ts +0 -20
  471. package/dist/templates/templates/default/tailwind.config.ts +0 -7
  472. package/dist/templates/templates/default/tsconfig.json +0 -11
  473. package/dist/templates/templates/default/vite.config.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../src/client/settings/SettingsPanel.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAClC,MAAM,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,iBAAiB;CAC7B,CAAC,CAAC,CACJ,CAAC;AAUF,MAAM,aAAa,GAAG;IACpB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,CAAC;CACgB,CAAC;AAEhC,SAAS,cAAc,CAAC,EACtB,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,GAMd;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAElE,OAAO,CACL,eAAK,SAAS,EAAC,aAAa,aAC1B,YAAG,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAK,EAClE,MAAC,eAAe,CAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,aAC9D,MAAC,eAAe,CAAC,OAAO,IACtB,SAAS,EAAC,kOAAkO,gBAChO,KAAK,EACjB,KAAK,EAAE,aAAa,aAEpB,KAAC,eAAe,CAAC,KAAK,cACnB,QAAQ,EAAE,KAAK,IAAI,KAAK,GACH,EACxB,KAAC,eAAe,CAAC,IAAI,IAAC,OAAO,kBAC3B,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,uBAAuB,GAAG,GAC1C,IACC,EAC1B,KAAC,eAAe,CAAC,MAAM,cACrB,KAAC,eAAe,CAAC,OAAO,IACtB,QAAQ,EAAC,QAAQ,EACjB,UAAU,EAAE,CAAC,EACb,SAAS,EAAC,qHAAqH,YAE/H,KAAC,eAAe,CAAC,QAAQ,IAAC,SAAS,EAAC,KAAK,YACtC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,MAAC,eAAe,CAAC,IAAI,IAEnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,SAAS,EAAC,qLAAqL,EAC/L,KAAK,EAAE,aAAa,aAEpB,eAAM,SAAS,EAAC,wFAAwF,YACtG,KAAC,eAAe,CAAC,aAAa,cAC5B,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GACO,GAC3B,EACP,eAAK,SAAS,EAAC,uBAAuB,aACpC,KAAC,eAAe,CAAC,QAAQ,cACvB,eAAM,SAAS,EAAC,iBAAiB,YAAE,MAAM,CAAC,KAAK,GAAQ,GAC9B,EAC1B,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CACpB,eAAM,SAAS,EAAC,0DAA0D,YACvE,MAAM,CAAC,WAAW,GACd,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,KAnBD,MAAM,CAAC,KAAK,CAoBI,CACxB,CAAC,GACuB,GACH,GACH,IACJ,IACnB,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;IACvB,wCAAwC;IACxC,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,UAAU;IACV,gBAAgB;IAChB,cAAc;CACf,CAAC;AAEF,SAAS,cAAc,CAAC,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,UAAU,EACV,cAAc,EACd,KAAK,GAAG,oBAAoB,EAC5B,YAAY,GASb;IACC,MAAM,cAAc,GAAG,UAAU,IAAI,CAAC,cAAc,CAAC;IAErD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,mCAAmC,aAChD,cAAK,SAAS,EAAC,yCAAyC,2BAElD,EACN,gBAAM,SAAS,EAAC,oDAAoD,aAClE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,iBAElB,IACH,EACL,OAAO,IAAI,CACV,YAAG,SAAS,EAAC,0CAA0C,YAAE,OAAO,GAAK,CACtE,EACA,UAAU,IAAI,CACb,aACE,IAAI,EAAE,UAAU,EAChB,SAAS,EAAC,wKAAwK,0BAGlL,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,IAC5B,CACL,IACG,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,mCAAmC,aAChD,cAAK,SAAS,EAAC,yCAAyC,mCAElD,EACL,cAAc,IAAI,CACjB,eAAM,SAAS,EAAC,gHAAgH,4BAEzH,CACR,IACG,EACN,YAAG,SAAS,EAAC,wCAAwC,+CAEjD,EACH,YAAY,IAAI,CACf,eAAK,SAAS,EAAC,yCAAyC,aACtD,YAAG,SAAS,EAAC,2EAA2E,yBAEpF,EACJ,aAAI,SAAS,EAAC,aAAa,YACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC9B,cAEE,SAAS,EAAC,6DAA6D,aAEvE,KAAC,SAAS,IACR,IAAI,EAAE,CAAC,EACP,SAAS,EAAC,gCAAgC,GAC1C,EACD,IAAI,KAPA,IAAI,CAQN,CACN,CAAC,GACC,IACD,CACP,EACA,cAAc,CAAC,CAAC,CAAC,CAChB,aACE,IAAI,EAAC,qCAAqC,EAC1C,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,+IAA+I,kCAGzJ,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,IAC5B,CACL,CAAC,CAAC,CAAC,CACF,UAAU,IAAI,CACZ,aACE,IAAI,EAAE,UAAU,EAChB,SAAS,EAAC,+IAA+I,aAExJ,KAAK,EACN,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,IAC5B,CACL,CACF,IACG,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,SAAS,eAAe,CAAC,EACvB,IAAI,EACJ,OAAO,EACP,SAAS,GAAG,eAAe,EAC3B,QAAQ,GAMT;IACC,OAAO,CACL,eAAK,SAAS,EAAC,6CAA6C,aAC1D,cAAK,SAAS,EAAC,8CAA8C,gCAEvD,EACL,IAAI,IAAI,CACP,YAAG,SAAS,EAAC,0CAA0C,YAAE,IAAI,GAAK,CACnE,EACA,QAAQ,EACR,OAAO,IAAI,CACV,aACE,IAAI,EAAE,OAAO,EACb,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,oLAAoL,aAE7L,SAAS,EACV,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,IAC5B,CACL,IACG,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,SAAS,eAAe,CAAC,EACvB,cAAc,EACd,UAAU,EACV,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,GAQT;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAEpC,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,2BAA2B,CAAC;aAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,IAAI,CAAC,UAAU,CAAC;aAChB,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,mBAAmB,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,mBAAmB,CAAC,EAAE,UAAU,IAAI,KAAK,CAAC;IAE1E,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO;QAC3B,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,yBAAyB,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;iBAC3D,CAAC;aACH,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,EAC7B,KAAK,EAAC,KAAK,EACX,QAAQ,EAAC,6DAAwD,EACjE,QAAQ,QACR,SAAS,EAAE,mBAAmB,IAAI,SAAS,EAC3C,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,YAElB,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,QACV,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAC,oBAAoB,EAC1B,YAAY,SACZ,EACF,KAAC,eAAe,IACd,IAAI,EAAC,uDAAuD,EAC5D,OAAO,EAAC,6CAA6C,EACrD,SAAS,EAAC,gBAAgB,YAEzB,mBAAmB,CAAC,CAAC,CAAC,CACrB,eAAK,SAAS,EAAC,2DAA2D,aACxE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,oCAEnB,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,mBAAmB,aAChC,gBACE,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oCACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;wCAAE,UAAU,EAAE,CAAC;gCACtC,CAAC,EACD,WAAW,EAAC,YAAY,EACxB,SAAS,EAAC,0KAA0K,GACpL,EACF,iBACE,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,EAClC,SAAS,EAAC,4GAA4G,YAErH,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,cAAc,GAAG,CACnD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CACxB,CAAC,CAAC,CAAC,CACF,MAAM,CACP,GACM,IACL,CACP,GACe,IACd,GACU,CACnB,CAAC;AACJ,CAAC;AAWD,MAAM,kBAAkB,GAA2B;IACjD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,+BAA+B;KAC7C;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,gDAAgD;KAC9D;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAC5B,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,GACU;IACnB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;IAC/C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IAEjC,gEAAgE;IAChE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,2BAA2B,CAAC;aAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,IAAI,CAAC,CAAC,IAAiD,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;gBAC7D,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iEAAiE;IACjE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,KAAK,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE,CAC5B,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO,CACL,eACE,SAAS,EAAC,8CAA8C,EACxD,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAG3B,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAC/B,eAAK,SAAS,EAAC,4CAA4C,aACxD,aAAa,IAAI,CAChB,KAAC,cAAc,IACb,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,EAC/C,OAAO,EAAE,kBAAkB,EAC3B,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;4BACtB,MAAM,SAAS,GAAG,IAAI,KAAK,aAAa,CAAC;4BACzC,IAAI,SAAS,KAAK,SAAS;gCAAE,eAAe,EAAE,CAAC;wBACjD,CAAC,GACD,CACH,EACA,SAAS,IAAI,CACZ,aACE,IAAI,EAAE,SAAS,EACf,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,gGAAgG,aAE1G,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,2BAE5B,CACL,IACG,CACP,EAGD,KAAC,eAAe,IACd,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,KAAK,KAAK,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAC7B,EAGF,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,EAC7B,KAAK,EAAC,SAAS,EACf,QAAQ,EAAC,+BAA+B,EACxC,IAAI,EAAE,WAAW,KAAK,SAAS,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,YAEjC,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,QACV,cAAc,EAAE,cAAc,GAC9B,EACF,KAAC,eAAe,IACd,IAAI,EAAC,gFAAgF,EACrF,OAAO,EAAC,uDAAuD,GAC/D,IACE,GACU,EAGlB,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,GAAI,EAChC,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAC,kDAAkD,EAC3D,IAAI,EAAE,WAAW,KAAK,UAAU,EAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,YAElC,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,QACV,cAAc,EAAE,cAAc,GAC9B,EACF,KAAC,eAAe,IACd,IAAI,EAAC,kGAAkG,EACvG,OAAO,EAAC,qDAAqD,GAC7D,IACE,GACU,EAGlB,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,EAC9B,KAAK,EAAC,cAAc,EACpB,QAAQ,EAAC,mEAAmE,EAC5E,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,WAAW,KAAK,SAAS,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,YAEjC,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,QACV,cAAc,EAAE,cAAc,GAC9B,EACF,KAAC,eAAe,IACd,IAAI,EAAC,gHAAgH,EACrH,OAAO,EAAC,yDAAyD,GACjE,IACE,GACU,EAGlB,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,EAC9B,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAC,gDAAgD,EACzD,IAAI,EAAE,WAAW,KAAK,MAAM,EAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAE9B,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,QACV,cAAc,EAAE,cAAc,GAC9B,EACF,KAAC,eAAe,IACd,IAAI,EAAC,2FAA2F,EAChG,OAAO,EAAC,2DAA2D,GACnE,IACE,GACU,EAGlB,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,EAC/B,KAAK,EAAC,oBAAoB,EAC1B,QAAQ,EAAC,kDAAkD,EAC3D,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,WAAW,KAAK,SAAS,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,YAEjC,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,QACV,cAAc,EAAE,cAAc,GAC9B,GACc,EAGlB,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,GAAI,EACjC,KAAK,EAAC,kBAAkB,EACxB,QAAQ,EAAC,qDAAqD,EAC9D,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,WAAW,KAAK,YAAY,EAClC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,YAEpC,KAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,QACV,cAAc,EAAE,cAAc,GAC9B,GACc,EAGlB,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,EACrC,KAAK,EAAC,cAAc,EACpB,QAAQ,EAAC,oDAAoD,EAC7D,IAAI,EAAE,WAAW,KAAK,cAAc,EACpC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,YAEtC,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACtB,KAAC,iBAAiB,KAAG,GACZ,GACK,EAGlB,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,EACrC,KAAK,EAAC,wBAAwB,EAC9B,QAAQ,EAAC,sDAAsD,EAC/D,IAAI,EAAE,WAAW,KAAK,KAAK,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAE7B,KAAC,aAAa,KAAG,GACD,IACd,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from "react";
2
+ interface SettingsSectionProps {
3
+ icon: ReactNode;
4
+ title: string;
5
+ subtitle?: string;
6
+ badge?: string;
7
+ required?: boolean;
8
+ connected?: boolean;
9
+ open?: boolean;
10
+ onToggle?: () => void;
11
+ children: ReactNode;
12
+ }
13
+ /**
14
+ * Collapsible settings section card with icon, title, status dot, and optional badge.
15
+ * Controlled via `open` / `onToggle` for accordion behaviour.
16
+ */
17
+ export declare function SettingsSection({ icon, title, subtitle, badge, required, connected, open, onToggle, children, }: SettingsSectionProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=SettingsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSection.d.ts","sourceRoot":"","sources":["../../../src/client/settings/SettingsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,oBAAoB;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAY,EACZ,QAAQ,EACR,QAAQ,GACT,EAAE,oBAAoB,2CA8CtB"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconChevronDown } from "@tabler/icons-react";
3
+ /**
4
+ * Collapsible settings section card with icon, title, status dot, and optional badge.
5
+ * Controlled via `open` / `onToggle` for accordion behaviour.
6
+ */
7
+ export function SettingsSection({ icon, title, subtitle, badge, required, connected, open = false, onToggle, children, }) {
8
+ return (_jsxs("div", { className: "rounded-lg border border-border bg-background/50", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex w-full items-center justify-between px-3 py-2.5 text-left", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [_jsx("span", { className: "shrink-0 text-muted-foreground", children: icon }), _jsx("span", { className: "text-[12px] font-medium text-foreground truncate", children: title }), connected && (_jsx("span", { className: "flex items-center gap-1 shrink-0 text-[9px] font-medium text-green-500", children: "Connected" })), required && !connected && (_jsx("span", { className: "shrink-0 rounded-full bg-accent/60 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Required" })), badge && (_jsx("span", { className: "shrink-0 rounded-full bg-accent/60 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: badge }))] }), _jsx(IconChevronDown, { size: 12, className: `shrink-0 text-muted-foreground transition-transform ${open ? "rotate-180" : ""}` })] }), open && (_jsxs("div", { className: "border-t border-border px-3 pb-3 pt-2.5", children: [subtitle && (_jsx("p", { className: "text-[10px] text-muted-foreground mb-2.5", children: subtitle })), children] }))] }));
9
+ }
10
+ //# sourceMappingURL=SettingsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSection.js","sourceRoot":"","sources":["../../../src/client/settings/SettingsSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AActD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,KAAK,EACZ,QAAQ,EACR,QAAQ,GACa;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,kDAAkD,aAC/D,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,gEAAgE,aAE1E,eAAK,SAAS,EAAC,iCAAiC,aAC9C,eAAM,SAAS,EAAC,gCAAgC,YAAE,IAAI,GAAQ,EAC9D,eAAM,SAAS,EAAC,kDAAkD,YAC/D,KAAK,GACD,EACN,SAAS,IAAI,CACZ,eAAM,SAAS,EAAC,wEAAwE,0BAEjF,CACR,EACA,QAAQ,IAAI,CAAC,SAAS,IAAI,CACzB,eAAM,SAAS,EAAC,yHAAyH,yBAElI,CACR,EACA,KAAK,IAAI,CACR,eAAM,SAAS,EAAC,yHAAyH,YACtI,KAAK,GACD,CACR,IACG,EACN,KAAC,eAAe,IACd,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,uDAAuD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,GAC5F,IACK,EACR,IAAI,IAAI,CACP,eAAK,SAAS,EAAC,yCAAyC,aACrD,QAAQ,IAAI,CACX,YAAG,SAAS,EAAC,0CAA0C,YACpD,QAAQ,GACP,CACL,EACA,QAAQ,IACL,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SettingsPanel } from "./SettingsPanel.js";
2
+ export { useBuilderStatus } from "./useBuilderStatus.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SettingsPanel } from "./SettingsPanel.js";
2
+ export { useBuilderStatus } from "./useBuilderStatus.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface BuilderStatus {
2
+ configured: boolean;
3
+ builderEnabled: boolean;
4
+ connectUrl: string;
5
+ appHost: string;
6
+ apiHost: string;
7
+ publicKeyConfigured: boolean;
8
+ privateKeyConfigured: boolean;
9
+ userId?: string;
10
+ orgName?: string;
11
+ orgKind?: string;
12
+ }
13
+ /**
14
+ * Fetches Builder connection status from /_agent-native/builder/status.
15
+ * Re-fetches on window focus to detect post-redirect state changes.
16
+ */
17
+ export declare function useBuilderStatus(): {
18
+ status: BuilderStatus;
19
+ loading: boolean;
20
+ refetch: () => Promise<void>;
21
+ };
22
+ //# sourceMappingURL=useBuilderStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBuilderStatus.d.ts","sourceRoot":"","sources":["../../../src/client/settings/useBuilderStatus.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB;;;;EAmC/B"}
@@ -0,0 +1,41 @@
1
+ import { useState, useEffect, useCallback } from "react";
2
+ /**
3
+ * Fetches Builder connection status from /_agent-native/builder/status.
4
+ * Re-fetches on window focus to detect post-redirect state changes.
5
+ */
6
+ export function useBuilderStatus() {
7
+ const [status, setStatus] = useState(null);
8
+ const [loading, setLoading] = useState(true);
9
+ const fetchStatus = useCallback(async () => {
10
+ try {
11
+ const res = await fetch("/_agent-native/builder/status");
12
+ if (!res.ok) {
13
+ setStatus(null);
14
+ return;
15
+ }
16
+ setStatus(await res.json());
17
+ }
18
+ catch {
19
+ setStatus(null);
20
+ }
21
+ finally {
22
+ setLoading(false);
23
+ }
24
+ }, []);
25
+ useEffect(() => {
26
+ fetchStatus();
27
+ function onFocus() {
28
+ fetchStatus();
29
+ }
30
+ window.addEventListener("focus", onFocus);
31
+ window.addEventListener("visibilitychange", () => {
32
+ if (document.visibilityState === "visible")
33
+ fetchStatus();
34
+ });
35
+ return () => {
36
+ window.removeEventListener("focus", onFocus);
37
+ };
38
+ }, [fetchStatus]);
39
+ return { status, loading, refetch: fetchStatus };
40
+ }
41
+ //# sourceMappingURL=useBuilderStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBuilderStatus.js","sourceRoot":"","sources":["../../../src/client/settings/useBuilderStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAezD;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuB,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,EAAE,CAAC;QAEd,SAAS,OAAO;YACd,WAAW,EAAE,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC/C,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS;gBAAE,WAAW,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACnD,CAAC"}
@@ -17,6 +17,7 @@ import fs from "fs";
17
17
  import { execFileSync } from "child_process";
18
18
  import { createRequire } from "module";
19
19
  import { discoverApiRoutes, discoverPlugins, discoverActionFiles, getMissingDefaultPlugins, DEFAULT_PLUGIN_REGISTRY, } from "./route-discovery.js";
20
+ import { getWorkspaceCoreExports, } from "./workspace-core.js";
20
21
  const cwd = process.cwd();
21
22
  const preset = process.env.NITRO_PRESET || "node";
22
23
  /** Plugins that require Node.js runtime and cannot run on edge/serverless */
@@ -29,8 +30,14 @@ function isNodeOnlyPlugin(filePath) {
29
30
  }
30
31
  /**
31
32
  * Generate the worker entry source code that wires up H3 + React Router SSR.
33
+ *
34
+ * If a workspace core is present (monorepo with `agent-native.workspaceCore`
35
+ * configured and the named package resolves), any plugin slot that the
36
+ * workspace core exports is imported from there instead of from
37
+ * `@agent-native/core/server`. This is the middle layer of the three-layer
38
+ * inheritance model: app local > workspace core > framework default.
32
39
  */
33
- function generateWorkerEntry(routes, pluginPaths, defaultPluginStems = [], actions = []) {
40
+ function generateWorkerEntry(routes, pluginPaths, defaultPluginStems = [], actions = [], workspaceCore = null) {
34
41
  const routeImports = [];
35
42
  const routeRegistrations = [];
36
43
  for (let i = 0; i < routes.length; i++) {
@@ -69,15 +76,25 @@ function generateWorkerEntry(routes, pluginPaths, defaultPluginStems = [], actio
69
76
  await ${varName}(nitroApp);
70
77
  }`);
71
78
  }
72
- // Auto-mounted default plugins (from core, for missing plugin files)
79
+ // Auto-mounted default plugins (for slots the template doesn't override
80
+ // locally). For each slot, prefer a workspace-core export over the
81
+ // @agent-native/core default, if the workspace core provides one.
73
82
  const edgeDefaultStems = defaultPluginStems.filter((stem) => !NODE_ONLY_PLUGINS.has(stem));
74
83
  for (let i = 0; i < edgeDefaultStems.length; i++) {
75
84
  const stem = edgeDefaultStems[i];
76
- const exportName = DEFAULT_PLUGIN_REGISTRY[stem];
77
- if (!exportName)
78
- continue;
79
85
  const varName = `defaultPlugin_${i}`;
80
- pluginImports.push(`import { ${exportName} as ${varName} } from "@agent-native/core/server";`);
86
+ const workspaceExportName = workspaceCore?.plugins?.[stem];
87
+ if (workspaceCore && workspaceExportName) {
88
+ // Workspace-core layer wins over the framework default.
89
+ pluginImports.push(`import { ${workspaceExportName} as ${varName} } from ${JSON.stringify(`${workspaceCore.packageName}/server`)};`);
90
+ }
91
+ else {
92
+ // Fall back to the framework default from @agent-native/core.
93
+ const defaultExportName = DEFAULT_PLUGIN_REGISTRY[stem];
94
+ if (!defaultExportName)
95
+ continue;
96
+ pluginImports.push(`import { ${defaultExportName} as ${varName} } from "@agent-native/core/server";`);
97
+ }
81
98
  pluginCalls.push(` if (typeof ${varName} === "function") {
82
99
  await ${varName}(nitroApp);
83
100
  }`);
@@ -211,18 +228,26 @@ async function buildCloudflarePages() {
211
228
  copyDir(clientDir, distDir);
212
229
  // Exclude _worker.js from being served as a public asset
213
230
  fs.writeFileSync(path.join(distDir, ".assetsignore"), "_worker.js\n");
231
+ // Write a package.json inside _worker.js/ to tell wrangler this is a
232
+ // pre-bundled ES module worker — skip re-bundling our esbuild output.
233
+ fs.mkdirSync(path.join(distDir, "_worker.js"), { recursive: true });
234
+ fs.writeFileSync(path.join(distDir, "_worker.js", "package.json"), JSON.stringify({ main: "index.js", type: "module" }));
214
235
  // Create empty stub for native modules that wrangler's bundler needs to resolve
215
236
  const stubsDir = path.join(distDir, "_worker.js", "stubs");
216
237
  fs.mkdirSync(stubsDir, { recursive: true });
217
238
  fs.writeFileSync(path.join(stubsDir, "empty.js"), "export default {}; export const watch = () => ({ close() {} }); export const Database = class {};\n");
218
- // Discover routes, plugins, and actions
239
+ // Discover routes, plugins, actions, and the workspace core (if any).
219
240
  const routes = await discoverApiRoutes(cwd);
220
241
  const plugins = await discoverPlugins(cwd);
221
242
  const actions = await discoverActionFiles(cwd);
222
243
  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`);
244
+ const workspaceCore = await getWorkspaceCoreExports(cwd);
245
+ const workspaceSlotCount = workspaceCore
246
+ ? Object.keys(workspaceCore.plugins).length
247
+ : 0;
248
+ 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${workspaceCore ? `, workspace-core ${workspaceCore.packageName} (${workspaceSlotCount} plugin slots)` : ""}`);
224
249
  // Generate the worker entry
225
- const entrySource = generateWorkerEntry(routes, plugins, missingDefaults, actions);
250
+ const entrySource = generateWorkerEntry(routes, plugins, missingDefaults, actions, workspaceCore);
226
251
  // Create _worker.js output directory
227
252
  const workerOutDir = path.join(distDir, "_worker.js");
228
253
  fs.mkdirSync(workerOutDir, { recursive: true });
@@ -234,7 +259,9 @@ async function buildCloudflarePages() {
234
259
  // The server build (React Router SSR) is copied to tmp so esbuild can resolve it.
235
260
  const tmpDir = path.join(cwd, ".deploy-tmp");
236
261
  fs.mkdirSync(tmpDir, { recursive: true });
237
- const tmpEntry = path.join(tmpDir, "worker-entry.js");
262
+ // Name the entry "index.js" so esbuild outputs index.js in the outdir,
263
+ // matching the _worker.js/index.js entry point that Cloudflare Pages expects.
264
+ const tmpEntry = path.join(tmpDir, "index.js");
238
265
  fs.writeFileSync(tmpEntry, adjustedEntry);
239
266
  // Copy server build files so esbuild can resolve the import
240
267
  copyDir(serverDir, path.join(tmpDir, "server"));
@@ -260,12 +287,32 @@ async function buildCloudflarePages() {
260
287
  fs.writeFileSync(path.join(modDir, "package.json"), JSON.stringify({ name: mod, main: "index.js", type: "module" }));
261
288
  }
262
289
  const esbuildBin = findEsbuild();
263
- // Externalize node builtins (both bare and node: prefixed) — the require shim handles bare ones,
264
- // and CF Workers runtime handles node: prefixed ones via nodejs_compat
265
- const nodeExternals = getNodeBuiltinNames().flatMap((n) => [
266
- `--external:${n}`,
267
- `--external:node:${n}`,
268
- ]);
290
+ // Externalize node builtins (both bare and node: prefixed) — the require
291
+ // shim handles bare ones. Also alias every `node:*` specifier to its bare
292
+ // name so esbuild emits `import from "fs"` everywhere, never
293
+ // `import from "node:fs"`. CF Pages Functions (wrangler 3.x, nodejs_compat
294
+ // v1) rejects the `node:` prefix in chunks with:
295
+ // No such module "node:fs" imported from chunks/...
296
+ // The alias is the authoritative fix; the post-build strip stays as belt
297
+ // & suspenders in case esbuild emits a node: string via some other path.
298
+ const builtinNames = getNodeBuiltinNames();
299
+ // Only externalize bare names. node:* externals would otherwise pin
300
+ // the prefix in output; instead we alias node:* → bare so anything that
301
+ // resolves past alias land as bare externals.
302
+ const nodeExternals = builtinNames.map((n) => `--external:${n}`);
303
+ const nodeAliases = builtinNames.map((n) => `--alias:node:${n}=${n}`);
304
+ // Hard externalize large client-only / node-only libraries so they don't
305
+ // bloat the edge worker. These are never executed in the CF Pages runtime
306
+ // — mermaid/excalidraw render in the browser, pdf-parse and @google/genai
307
+ // run from node-only action scripts. Without this, slides' bundle hits
308
+ // the 25 MiB Pages Functions limit.
309
+ const heavyClientExternals = [
310
+ "mermaid",
311
+ "@excalidraw/excalidraw",
312
+ "@excalidraw/mermaid-to-excalidraw",
313
+ "pdf-parse",
314
+ "@google/genai",
315
+ ].map((p) => `--external:${p}`);
269
316
  execFileSync(esbuildBin, [
270
317
  tmpEntry,
271
318
  "--bundle",
@@ -274,8 +321,14 @@ async function buildCloudflarePages() {
274
321
  // browser platform for npm resolution; node builtins externalized separately
275
322
  "--platform=browser",
276
323
  "--minify",
277
- `--outfile=${entryFile}`,
324
+ // Single-file bundle (no --splitting). CF Pages Functions' deploy
325
+ // validator fails to load chunked _worker.js/ bundles even when the
326
+ // chunks contain only bare node-builtin imports (wrangler 3.101.0
327
+ // + nodejs_compat v2). Matches main's working config.
328
+ `--outdir=${workerOutDir}`,
278
329
  "--conditions=workerd,worker,import",
330
+ // The ssr-handler imports a virtual module that only exists at dev time
331
+ "--external:virtual:react-router/server-build",
279
332
  // Banner: override the __require shim that esbuild generates for CJS modules.
280
333
  // This provides a real require() backed by ESM imports of node builtins.
281
334
  // Without this, CF Workers rejects the bundle because esbuild's default
@@ -283,47 +336,102 @@ async function buildCloudflarePages() {
283
336
  `--banner:js=${generateRequireShim()}`,
284
337
  // Externalize node: builtins — CF Workers runtime provides them
285
338
  ...nodeExternals,
339
+ ...heavyClientExternals,
340
+ // Rewrite node:* -> bare names so chunks never contain node: imports
341
+ ...nodeAliases,
286
342
  ], { stdio: "inherit", cwd });
287
343
  // Clean up tmp
288
344
  fs.rmSync(tmpDir, { recursive: true });
289
- // Patch unenv stubs: make fs.mkdirSync/writeFileSync/readFileSync no-ops instead of throwing.
290
- // Some code calls these at import time; on Workers there's no filesystem, but the calls
291
- // are guarded by runtime checks (url.startsWith("file:")) so they're dead code on Workers.
292
- // The unenv stubs throw "not implemented" which crashes at validation time.
293
- // This patch makes them safe no-ops so the module loads without error.
294
- let workerCode2 = fs.readFileSync(entryFile, "utf-8");
295
- // Only add shim if unenv stubs would be present (when wrangler bundles with nodejs_compat_v2)
296
- if (!workerCode2.includes("__unenv_fs_patched__")) {
297
- workerCode2 = `/* __unenv_fs_patched__ */\n` + workerCode2;
345
+ // Rewrite the external virtual import to a local stub.
346
+ // esbuild externalizes "virtual:react-router/server-build" (used by ssr-handler),
347
+ // but wrangler re-bundles and chokes on it. Replace the import with a no-op stub.
348
+ const virtualStub = path.join(workerOutDir, "chunks", "_virtual-stub.js");
349
+ fs.mkdirSync(path.dirname(virtualStub), { recursive: true });
350
+ fs.writeFileSync(virtualStub, "export default {};\n");
351
+ // Post-build patches apply to ALL .js files in the worker output directory
352
+ // (entry + chunks) since code can land in any chunk after splitting.
353
+ const allJsFiles = getAllJsFiles(workerOutDir);
354
+ for (const jsFile of allJsFiles) {
355
+ let code = fs.readFileSync(jsFile, "utf-8");
356
+ const isEntry = path.basename(jsFile) === "index.js";
357
+ // Strip "node:" prefix from all imports/requires. Cloudflare Pages
358
+ // Functions runs under nodejs_compat v1, which exposes builtins as
359
+ // bare names ("fs") and rejects "node:fs" at worker init:
360
+ // No such module "node:fs" imported from chunks/...
361
+ // (Workers-on-the-edge use v2 and require the prefix; Pages lags.)
362
+ // Preserve the original quote char (single vs double) when rewriting —
363
+ // esbuild's minifier sometimes places `import('node:buffer')` inside a
364
+ // double-quoted string literal; swapping to double quotes breaks the
365
+ // outer literal and produces `Unexpected identifier 'buffer'`.
366
+ code = code.replace(/\bfrom(\s*)(["'])node:([^"']+)\2/g, (_, ws, q, mod) => `from${ws}${q}${mod}${q}`);
367
+ code = code.replace(/\bimport(\s*)(["'])node:([^"']+)\2/g, (_, ws, q, mod) => `import${ws}${q}${mod}${q}`);
368
+ // Strip `node:` prefix from any string literal that names a node
369
+ // builtin. Covers dynamic imports, require(), getBuiltinModule(),
370
+ // and minified wrappers like `Ut("node:fs")` that Nitro/h3 emit.
371
+ // Pages' loader scans chunks for `"node:*"` literals and fails with
372
+ // 'No such module "node:fs"' whether or not the string is reached
373
+ // at runtime. Scoping to known builtins avoids touching user data.
374
+ const builtinsPattern = [
375
+ "fs",
376
+ "fs/promises",
377
+ "path",
378
+ "os",
379
+ "crypto",
380
+ "http",
381
+ "https",
382
+ "stream",
383
+ "stream/web",
384
+ "url",
385
+ "util",
386
+ "events",
387
+ "buffer",
388
+ "querystring",
389
+ "zlib",
390
+ "net",
391
+ "tls",
392
+ "assert",
393
+ "timers",
394
+ "child_process",
395
+ "module",
396
+ "async_hooks",
397
+ "process",
398
+ "worker_threads",
399
+ "sqlite",
400
+ ].join("|");
401
+ const builtinRe = new RegExp(`(["'])node:(${builtinsPattern})\\1`, "g");
402
+ code = code.replace(builtinRe, (_, q, mod) => `${q}${mod}${q}`);
403
+ // Rewrite virtual:react-router/server-build imports to the local stub.
404
+ // The generated entry handles SSR directly; this import is dead code from ssr-handler.
405
+ const relStub = path
406
+ .relative(path.dirname(jsFile), virtualStub)
407
+ .replace(/\\/g, "/");
408
+ code = code.replace(/["']virtual:react-router\/server-build["']/g, `"./${relStub}"`);
409
+ // Patch createRequire(import.meta.url) — import.meta.url is undefined in CF Workers.
410
+ // Matches both `from "module"` and `from "node:module"` — with the node:
411
+ // prefix preserved (for nodejs_compat_v2), the latter is what esbuild now emits.
412
+ code = code.replace(/\bimport\s*\{\s*createRequire\s+as\s+([\w$]+)\s*\}\s*from\s*["'](?:node:)?module["']\s*;/g, "var $1 = function() { return typeof require !== 'undefined' ? require : function(m) { throw new Error('require not supported: ' + m); }; };");
413
+ // Patch setInterval/setTimeout at module scope — CF Workers disallows timers in global scope.
414
+ // Some dependencies (e.g. Anthropic SDK rate limiter) call setInterval at module init.
415
+ // With code splitting, chunks evaluate before the entry, so the shim must be in every file.
416
+ // The restore only happens in the entry's fetch() handler.
417
+ if (!code.includes("__origSetInterval")) {
418
+ const timerShim = [
419
+ "var __origSetInterval=globalThis.setInterval;",
420
+ "globalThis.setInterval=function(){return{unref(){},ref(){},close(){}}};",
421
+ ].join("");
422
+ code = timerShim + code;
423
+ }
424
+ if (isEntry) {
425
+ const timerRestore = "if(__origSetInterval)globalThis.setInterval=__origSetInterval;";
426
+ code = code.replace(/async fetch\(request,\s*env,\s*ctx\)\s*\{/, (match) => match + timerRestore);
427
+ }
428
+ fs.writeFileSync(jsFile, code);
298
429
  }
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);
314
- // Strip "node:" prefix from all imports/requires — nodejs_compat v1 only provides bare names.
315
- // Handles minified output (no space before quotes) and subpaths like node:fs/promises.
316
- workerCode = workerCode.replace(/from\s*["']node:([^"']+)["']/g, (_, mod) => `from"${mod}"`);
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); }; };");
322
- fs.writeFileSync(entryFile, workerCode);
323
430
  // Report size
324
431
  const entrySize = fs.statSync(entryFile).size;
325
432
  const totalSize = getDirSize(workerOutDir);
326
- console.log(`[deploy] Cloudflare Pages output written to dist/ (worker entry: ${(entrySize / 1024).toFixed(0)}KB, total: ${(totalSize / 1024 / 1024).toFixed(1)}MB)`);
433
+ const chunkCount = allJsFiles.length - 1; // exclude entry
434
+ console.log(`[deploy] Cloudflare Pages output written to dist/ (entry: ${(entrySize / 1024).toFixed(0)}KB, ${chunkCount} chunks, total: ${(totalSize / 1024 / 1024).toFixed(1)}MB)`);
327
435
  }
328
436
  const NODE_BUILTINS = [
329
437
  "assert",
@@ -401,11 +509,21 @@ function generateRequireShim() {
401
509
  "child_process",
402
510
  "module",
403
511
  ];
512
+ // Bare module names — CF Pages Functions runs under nodejs_compat v1,
513
+ // which rejects "node:fs" and only accepts "fs". The post-build pass in
514
+ // buildCloudflarePages() also strips any `node:` prefix that esbuild or
515
+ // dependencies emit elsewhere.
404
516
  const imports = shimmed
405
517
  .map((m) => `import __${m.replace("/", "_")} from "${m}";`)
406
518
  .join("");
519
+ // Only bare-name keys. Pages' Functions loader appears to scan chunks
520
+ // for "node:*" string literals and pre-resolves them as module specs —
521
+ // so keeping "node:fs" as an object key caused deploy to fail with
522
+ // 'No such module "node:fs"' even though nothing imported it. The
523
+ // post-build strip turns every runtime `require("node:fs")` into
524
+ // `require("fs")` so bare keys are sufficient.
407
525
  const entries = shimmed
408
- .map((m) => `"${m}":__${m.replace("/", "_")},"node:${m}":__${m.replace("/", "_")}`)
526
+ .map((m) => `"${m}":__${m.replace("/", "_")}`)
409
527
  .join(",");
410
528
  return `${imports}\nconst __mods={${entries}};export var require=globalThis.require||function(m){const r=__mods[m];if(r!==undefined)return r;throw new Error("Cannot require: "+m)};\n`;
411
529
  }
@@ -443,6 +561,21 @@ function findWorkspaceRoot(dir) {
443
561
  }
444
562
  return null;
445
563
  }
564
+ /** Recursively collect all .js files in a directory. */
565
+ function getAllJsFiles(dir) {
566
+ const results = [];
567
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
568
+ for (const entry of entries) {
569
+ const fullPath = path.join(dir, entry.name);
570
+ if (entry.isDirectory()) {
571
+ results.push(...getAllJsFiles(fullPath));
572
+ }
573
+ else if (entry.name.endsWith(".js")) {
574
+ results.push(fullPath);
575
+ }
576
+ }
577
+ return results;
578
+ }
446
579
  function getDirSize(dir) {
447
580
  let size = 0;
448
581
  const entries = fs.readdirSync(dir, { withFileTypes: true });
@@ -630,10 +763,21 @@ async function buildWithNitro() {
630
763
  // own virtual module registration. Both paths reuse `readAgentsBundleFromFs`
631
764
  // from `server/agents-bundle.ts` to guarantee identical content.
632
765
  const { readAgentsBundleFromFs } = await import("../server/agents-bundle.js");
766
+ // Resolve the workspace core (if present) up front so the bundle embeds
767
+ // enterprise-wide AGENTS.md + skills alongside the template's.
768
+ const nitroWorkspaceCore = await getWorkspaceCoreExports(cwd);
769
+ const nitroWorkspaceSource = nitroWorkspaceCore
770
+ ? {
771
+ skillsDir: nitroWorkspaceCore.skillsDir,
772
+ agentsMdPath: nitroWorkspaceCore.agentsMdPath,
773
+ rootDir: nitroWorkspaceCore.packageDir,
774
+ }
775
+ : null;
633
776
  const agentsBundleModuleSource = () => {
634
- const bundle = readAgentsBundleFromFs(cwd);
777
+ const bundle = readAgentsBundleFromFs(cwd, nitroWorkspaceSource);
635
778
  return `// AUTO-GENERATED by @agent-native/core deploy build (Nitro virtual)
636
- // Contains the inlined AGENTS.md + .agents/skills/ content from the template.
779
+ // Contains the inlined AGENTS.md + .agents/skills/ content from the template,
780
+ // merged with the workspace core's AGENTS.md + skills/ when present.
637
781
  const bundle = ${JSON.stringify(bundle)};
638
782
  export default bundle;
639
783
  `;