@agent-native/core 0.6.1 → 0.7.2

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 (598) hide show
  1. package/README.md +43 -3
  2. package/dist/action.d.ts +8 -0
  3. package/dist/action.d.ts.map +1 -1
  4. package/dist/action.js +18 -0
  5. package/dist/action.js.map +1 -1
  6. package/dist/agent/production-agent.d.ts +9 -0
  7. package/dist/agent/production-agent.d.ts.map +1 -1
  8. package/dist/agent/production-agent.js +301 -39
  9. package/dist/agent/production-agent.js.map +1 -1
  10. package/dist/agent/run-manager.d.ts.map +1 -1
  11. package/dist/agent/run-manager.js +20 -1
  12. package/dist/agent/run-manager.js.map +1 -1
  13. package/dist/agent/run-store.d.ts +14 -0
  14. package/dist/agent/run-store.d.ts.map +1 -1
  15. package/dist/agent/run-store.js +63 -6
  16. package/dist/agent/run-store.js.map +1 -1
  17. package/dist/agent/types.d.ts +3 -1
  18. package/dist/agent/types.d.ts.map +1 -1
  19. package/dist/cli/create-workspace.d.ts +8 -0
  20. package/dist/cli/create-workspace.d.ts.map +1 -0
  21. package/dist/cli/create-workspace.js +18 -0
  22. package/dist/cli/create-workspace.js.map +1 -0
  23. package/dist/cli/create.d.ts +35 -7
  24. package/dist/cli/create.d.ts.map +1 -1
  25. package/dist/cli/create.js +444 -251
  26. package/dist/cli/create.js.map +1 -1
  27. package/dist/cli/index.js +59 -5
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/setup-agents.d.ts.map +1 -1
  30. package/dist/cli/setup-agents.js +0 -2
  31. package/dist/cli/setup-agents.js.map +1 -1
  32. package/dist/cli/templates-meta.d.ts +52 -0
  33. package/dist/cli/templates-meta.d.ts.map +1 -0
  34. package/dist/cli/templates-meta.js +165 -0
  35. package/dist/cli/templates-meta.js.map +1 -0
  36. package/dist/cli/workspacify.d.ts +18 -0
  37. package/dist/cli/workspacify.d.ts.map +1 -0
  38. package/dist/cli/workspacify.js +74 -0
  39. package/dist/cli/workspacify.js.map +1 -0
  40. package/dist/client/AgentPanel.d.ts +6 -2
  41. package/dist/client/AgentPanel.d.ts.map +1 -1
  42. package/dist/client/AgentPanel.js +328 -241
  43. package/dist/client/AgentPanel.js.map +1 -1
  44. package/dist/client/AssistantChat.d.ts +2 -1
  45. package/dist/client/AssistantChat.d.ts.map +1 -1
  46. package/dist/client/AssistantChat.js +172 -40
  47. package/dist/client/AssistantChat.js.map +1 -1
  48. package/dist/client/ConnectBuilderCard.d.ts +21 -0
  49. package/dist/client/ConnectBuilderCard.d.ts.map +1 -0
  50. package/dist/client/ConnectBuilderCard.js +196 -0
  51. package/dist/client/ConnectBuilderCard.js.map +1 -0
  52. package/dist/client/FeedbackButton.d.ts +15 -0
  53. package/dist/client/FeedbackButton.d.ts.map +1 -0
  54. package/dist/client/FeedbackButton.js +72 -0
  55. package/dist/client/FeedbackButton.js.map +1 -0
  56. package/dist/client/IframeEmbed.d.ts +17 -0
  57. package/dist/client/IframeEmbed.d.ts.map +1 -0
  58. package/dist/client/IframeEmbed.js +108 -0
  59. package/dist/client/IframeEmbed.js.map +1 -0
  60. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  61. package/dist/client/MultiTabAssistantChat.js +34 -7
  62. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  63. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  64. package/dist/client/agent-chat-adapter.js +34 -15
  65. package/dist/client/agent-chat-adapter.js.map +1 -1
  66. package/dist/client/agent-chat.d.ts +6 -0
  67. package/dist/client/agent-chat.d.ts.map +1 -1
  68. package/dist/client/agent-chat.js +7 -0
  69. package/dist/client/agent-chat.js.map +1 -1
  70. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  71. package/dist/client/components/CodeRequiredDialog.js +86 -5
  72. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  73. package/dist/client/composer/MentionPopover.d.ts.map +1 -1
  74. package/dist/client/composer/MentionPopover.js +42 -26
  75. package/dist/client/composer/MentionPopover.js.map +1 -1
  76. package/dist/client/composer/TiptapComposer.d.ts +3 -1
  77. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  78. package/dist/client/composer/TiptapComposer.js +24 -5
  79. package/dist/client/composer/TiptapComposer.js.map +1 -1
  80. package/dist/client/composer/types.d.ts +1 -1
  81. package/dist/client/composer/types.d.ts.map +1 -1
  82. package/dist/client/embed.d.ts +28 -0
  83. package/dist/client/embed.d.ts.map +1 -0
  84. package/dist/client/embed.js +50 -0
  85. package/dist/client/embed.js.map +1 -0
  86. package/dist/client/index.d.ts +4 -1
  87. package/dist/client/index.d.ts.map +1 -1
  88. package/dist/client/index.js +4 -1
  89. package/dist/client/index.js.map +1 -1
  90. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
  91. package/dist/client/integrations/IntegrationsPanel.js +22 -9
  92. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  93. package/dist/client/onboarding/OnboardingBanner.d.ts +13 -0
  94. package/dist/client/onboarding/OnboardingBanner.d.ts.map +1 -0
  95. package/dist/client/onboarding/OnboardingBanner.js +36 -0
  96. package/dist/client/onboarding/OnboardingBanner.js.map +1 -0
  97. package/dist/client/onboarding/OnboardingPanel.d.ts +16 -0
  98. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -0
  99. package/dist/client/onboarding/OnboardingPanel.js +447 -0
  100. package/dist/client/onboarding/OnboardingPanel.js.map +1 -0
  101. package/dist/client/onboarding/SetupButton.d.ts +10 -0
  102. package/dist/client/onboarding/SetupButton.d.ts.map +1 -0
  103. package/dist/client/onboarding/SetupButton.js +36 -0
  104. package/dist/client/onboarding/SetupButton.js.map +1 -0
  105. package/dist/client/onboarding/index.d.ts +12 -0
  106. package/dist/client/onboarding/index.d.ts.map +1 -0
  107. package/dist/client/onboarding/index.js +11 -0
  108. package/dist/client/onboarding/index.js.map +1 -0
  109. package/dist/client/onboarding/use-onboarding.d.ts +34 -0
  110. package/dist/client/onboarding/use-onboarding.d.ts.map +1 -0
  111. package/dist/client/onboarding/use-onboarding.js +101 -0
  112. package/dist/client/onboarding/use-onboarding.js.map +1 -0
  113. package/dist/client/org/TeamPage.d.ts +6 -1
  114. package/dist/client/org/TeamPage.d.ts.map +1 -1
  115. package/dist/client/org/TeamPage.js +97 -21
  116. package/dist/client/org/TeamPage.js.map +1 -1
  117. package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
  118. package/dist/client/resources/ResourceEditor.js +104 -78
  119. package/dist/client/resources/ResourceEditor.js.map +1 -1
  120. package/dist/client/resources/ResourceTree.d.ts +5 -1
  121. package/dist/client/resources/ResourceTree.d.ts.map +1 -1
  122. package/dist/client/resources/ResourceTree.js +31 -11
  123. package/dist/client/resources/ResourceTree.js.map +1 -1
  124. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  125. package/dist/client/resources/ResourcesPanel.js +142 -14
  126. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  127. package/dist/client/resources/use-resources.d.ts +5 -0
  128. package/dist/client/resources/use-resources.d.ts.map +1 -1
  129. package/dist/client/resources/use-resources.js.map +1 -1
  130. package/dist/client/settings/AgentsSection.d.ts +2 -0
  131. package/dist/client/settings/AgentsSection.d.ts.map +1 -0
  132. package/dist/client/settings/AgentsSection.js +201 -0
  133. package/dist/client/settings/AgentsSection.js.map +1 -0
  134. package/dist/client/settings/BackgroundAgentSection.d.ts +2 -0
  135. package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -0
  136. package/dist/client/settings/BackgroundAgentSection.js +46 -0
  137. package/dist/client/settings/BackgroundAgentSection.js.map +1 -0
  138. package/dist/client/settings/BrowserSection.d.ts +2 -0
  139. package/dist/client/settings/BrowserSection.d.ts.map +1 -0
  140. package/dist/client/settings/BrowserSection.js +10 -0
  141. package/dist/client/settings/BrowserSection.js.map +1 -0
  142. package/dist/client/settings/ComingSoonSection.d.ts +13 -0
  143. package/dist/client/settings/ComingSoonSection.d.ts.map +1 -0
  144. package/dist/client/settings/ComingSoonSection.js +9 -0
  145. package/dist/client/settings/ComingSoonSection.js.map +1 -0
  146. package/dist/client/settings/LLMSection.d.ts +2 -0
  147. package/dist/client/settings/LLMSection.d.ts.map +1 -0
  148. package/dist/client/settings/LLMSection.js +64 -0
  149. package/dist/client/settings/LLMSection.js.map +1 -0
  150. package/dist/client/settings/SettingsPanel.d.ts +8 -0
  151. package/dist/client/settings/SettingsPanel.d.ts.map +1 -0
  152. package/dist/client/settings/SettingsPanel.js +111 -0
  153. package/dist/client/settings/SettingsPanel.js.map +1 -0
  154. package/dist/client/settings/SettingsSection.d.ts +19 -0
  155. package/dist/client/settings/SettingsSection.d.ts.map +1 -0
  156. package/dist/client/settings/SettingsSection.js +10 -0
  157. package/dist/client/settings/SettingsSection.js.map +1 -0
  158. package/dist/client/settings/UsageSection.d.ts +2 -0
  159. package/dist/client/settings/UsageSection.d.ts.map +1 -0
  160. package/dist/client/settings/UsageSection.js +70 -0
  161. package/dist/client/settings/UsageSection.js.map +1 -0
  162. package/dist/client/settings/index.d.ts +3 -0
  163. package/dist/client/settings/index.d.ts.map +1 -0
  164. package/dist/client/settings/index.js +3 -0
  165. package/dist/client/settings/index.js.map +1 -0
  166. package/dist/client/settings/useBuilderStatus.d.ts +22 -0
  167. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -0
  168. package/dist/client/settings/useBuilderStatus.js +41 -0
  169. package/dist/client/settings/useBuilderStatus.js.map +1 -0
  170. package/dist/client/use-action.d.ts.map +1 -1
  171. package/dist/client/use-action.js +67 -4
  172. package/dist/client/use-action.js.map +1 -1
  173. package/dist/client/use-db-sync.d.ts +25 -2
  174. package/dist/client/use-db-sync.d.ts.map +1 -1
  175. package/dist/client/use-db-sync.js +62 -1
  176. package/dist/client/use-db-sync.js.map +1 -1
  177. package/dist/client/use-dev-mode.d.ts.map +1 -1
  178. package/dist/client/use-dev-mode.js +16 -1
  179. package/dist/client/use-dev-mode.js.map +1 -1
  180. package/dist/db/client.d.ts +12 -0
  181. package/dist/db/client.d.ts.map +1 -1
  182. package/dist/db/client.js +89 -2
  183. package/dist/db/client.js.map +1 -1
  184. package/dist/db/create-get-db.d.ts +11 -0
  185. package/dist/db/create-get-db.d.ts.map +1 -1
  186. package/dist/db/create-get-db.js +47 -3
  187. package/dist/db/create-get-db.js.map +1 -1
  188. package/dist/db/migrations.d.ts.map +1 -1
  189. package/dist/db/migrations.js +62 -5
  190. package/dist/db/migrations.js.map +1 -1
  191. package/dist/deploy/build.js +198 -54
  192. package/dist/deploy/build.js.map +1 -1
  193. package/dist/deploy/route-discovery.d.ts +5 -0
  194. package/dist/deploy/route-discovery.d.ts.map +1 -1
  195. package/dist/deploy/route-discovery.js +38 -7
  196. package/dist/deploy/route-discovery.js.map +1 -1
  197. package/dist/deploy/workspace-core.d.ts +28 -0
  198. package/dist/deploy/workspace-core.d.ts.map +1 -0
  199. package/dist/deploy/workspace-core.js +223 -0
  200. package/dist/deploy/workspace-core.js.map +1 -0
  201. package/dist/deploy/workspace-deploy.d.ts +11 -0
  202. package/dist/deploy/workspace-deploy.d.ts.map +1 -0
  203. package/dist/deploy/workspace-deploy.js +148 -0
  204. package/dist/deploy/workspace-deploy.js.map +1 -0
  205. package/dist/file-upload/builder.d.ts +11 -0
  206. package/dist/file-upload/builder.d.ts.map +1 -0
  207. package/dist/file-upload/builder.js +53 -0
  208. package/dist/file-upload/builder.js.map +1 -0
  209. package/dist/file-upload/index.d.ts +4 -0
  210. package/dist/file-upload/index.d.ts.map +1 -0
  211. package/dist/file-upload/index.js +3 -0
  212. package/dist/file-upload/index.js.map +1 -0
  213. package/dist/file-upload/registry.d.ts +23 -0
  214. package/dist/file-upload/registry.d.ts.map +1 -0
  215. package/dist/file-upload/registry.js +52 -0
  216. package/dist/file-upload/registry.js.map +1 -0
  217. package/dist/file-upload/types.d.ts +37 -0
  218. package/dist/file-upload/types.d.ts.map +1 -0
  219. package/dist/file-upload/types.js +10 -0
  220. package/dist/file-upload/types.js.map +1 -0
  221. package/dist/index.d.ts +1 -0
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +2 -0
  224. package/dist/index.js.map +1 -1
  225. package/dist/integrations/adapters/google-docs.d.ts +89 -0
  226. package/dist/integrations/adapters/google-docs.d.ts.map +1 -0
  227. package/dist/integrations/adapters/google-docs.js +261 -0
  228. package/dist/integrations/adapters/google-docs.js.map +1 -0
  229. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  230. package/dist/integrations/adapters/slack.js +34 -0
  231. package/dist/integrations/adapters/slack.js.map +1 -1
  232. package/dist/integrations/adapters/telegram.d.ts.map +1 -1
  233. package/dist/integrations/adapters/telegram.js +32 -0
  234. package/dist/integrations/adapters/telegram.js.map +1 -1
  235. package/dist/integrations/google-docs-poller.d.ts +54 -0
  236. package/dist/integrations/google-docs-poller.d.ts.map +1 -0
  237. package/dist/integrations/google-docs-poller.js +442 -0
  238. package/dist/integrations/google-docs-poller.js.map +1 -0
  239. package/dist/integrations/index.d.ts +2 -0
  240. package/dist/integrations/index.d.ts.map +1 -1
  241. package/dist/integrations/index.js +3 -0
  242. package/dist/integrations/index.js.map +1 -1
  243. package/dist/integrations/plugin.d.ts.map +1 -1
  244. package/dist/integrations/plugin.js +49 -2
  245. package/dist/integrations/plugin.js.map +1 -1
  246. package/dist/integrations/types.d.ts +33 -0
  247. package/dist/integrations/types.d.ts.map +1 -1
  248. package/dist/integrations/webhook-handler.d.ts +10 -1
  249. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  250. package/dist/integrations/webhook-handler.js +13 -3
  251. package/dist/integrations/webhook-handler.js.map +1 -1
  252. package/dist/jobs/scheduler.d.ts +3 -0
  253. package/dist/jobs/scheduler.d.ts.map +1 -1
  254. package/dist/jobs/scheduler.js +87 -61
  255. package/dist/jobs/scheduler.js.map +1 -1
  256. package/dist/jobs/tools.d.ts.map +1 -1
  257. package/dist/jobs/tools.js +20 -3
  258. package/dist/jobs/tools.js.map +1 -1
  259. package/dist/mcp-client/config.d.ts +46 -0
  260. package/dist/mcp-client/config.d.ts.map +1 -0
  261. package/dist/mcp-client/config.js +152 -0
  262. package/dist/mcp-client/config.js.map +1 -0
  263. package/dist/mcp-client/index.d.ts +17 -0
  264. package/dist/mcp-client/index.d.ts.map +1 -0
  265. package/dist/mcp-client/index.js +53 -0
  266. package/dist/mcp-client/index.js.map +1 -0
  267. package/dist/mcp-client/manager.d.ts +76 -0
  268. package/dist/mcp-client/manager.d.ts.map +1 -0
  269. package/dist/mcp-client/manager.js +212 -0
  270. package/dist/mcp-client/manager.js.map +1 -0
  271. package/dist/oauth-tokens/google-refresh.d.ts +31 -0
  272. package/dist/oauth-tokens/google-refresh.d.ts.map +1 -0
  273. package/dist/oauth-tokens/google-refresh.js +115 -0
  274. package/dist/oauth-tokens/google-refresh.js.map +1 -0
  275. package/dist/oauth-tokens/index.d.ts +1 -0
  276. package/dist/oauth-tokens/index.d.ts.map +1 -1
  277. package/dist/oauth-tokens/index.js +1 -0
  278. package/dist/oauth-tokens/index.js.map +1 -1
  279. package/dist/oauth-tokens/store.d.ts.map +1 -1
  280. package/dist/oauth-tokens/store.js +3 -1
  281. package/dist/oauth-tokens/store.js.map +1 -1
  282. package/dist/onboarding/default-steps.d.ts +10 -0
  283. package/dist/onboarding/default-steps.d.ts.map +1 -0
  284. package/dist/onboarding/default-steps.js +203 -0
  285. package/dist/onboarding/default-steps.js.map +1 -0
  286. package/dist/onboarding/index.d.ts +12 -0
  287. package/dist/onboarding/index.d.ts.map +1 -0
  288. package/dist/onboarding/index.js +11 -0
  289. package/dist/onboarding/index.js.map +1 -0
  290. package/dist/onboarding/plugin.d.ts +19 -0
  291. package/dist/onboarding/plugin.d.ts.map +1 -0
  292. package/dist/onboarding/plugin.js +147 -0
  293. package/dist/onboarding/plugin.js.map +1 -0
  294. package/dist/onboarding/registry.d.ts +24 -0
  295. package/dist/onboarding/registry.d.ts.map +1 -0
  296. package/dist/onboarding/registry.js +40 -0
  297. package/dist/onboarding/registry.js.map +1 -0
  298. package/dist/onboarding/types.d.ts +71 -0
  299. package/dist/onboarding/types.d.ts.map +1 -0
  300. package/dist/onboarding/types.js +10 -0
  301. package/dist/onboarding/types.js.map +1 -0
  302. package/dist/org/context.js +1 -1
  303. package/dist/org/handlers.d.ts.map +1 -1
  304. package/dist/org/handlers.js +35 -10
  305. package/dist/org/handlers.js.map +1 -1
  306. package/dist/org/plugin.d.ts.map +1 -1
  307. package/dist/org/plugin.js +37 -22
  308. package/dist/org/plugin.js.map +1 -1
  309. package/dist/resources/agents.d.ts +4 -0
  310. package/dist/resources/agents.d.ts.map +1 -0
  311. package/dist/resources/agents.js +44 -0
  312. package/dist/resources/agents.js.map +1 -0
  313. package/dist/resources/handlers.d.ts +17 -0
  314. package/dist/resources/handlers.d.ts.map +1 -1
  315. package/dist/resources/handlers.js +49 -12
  316. package/dist/resources/handlers.js.map +1 -1
  317. package/dist/resources/metadata.d.ts +48 -0
  318. package/dist/resources/metadata.d.ts.map +1 -0
  319. package/dist/resources/metadata.js +150 -0
  320. package/dist/resources/metadata.js.map +1 -0
  321. package/dist/resources/script-helpers.d.ts.map +1 -1
  322. package/dist/resources/script-helpers.js +3 -2
  323. package/dist/resources/script-helpers.js.map +1 -1
  324. package/dist/resources/store.d.ts.map +1 -1
  325. package/dist/resources/store.js +59 -18
  326. package/dist/resources/store.js.map +1 -1
  327. package/dist/scripts/call-agent.d.ts.map +1 -1
  328. package/dist/scripts/call-agent.js +3 -2
  329. package/dist/scripts/call-agent.js.map +1 -1
  330. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  331. package/dist/scripts/chat/search-chats.js +2 -1
  332. package/dist/scripts/chat/search-chats.js.map +1 -1
  333. package/dist/scripts/core-scripts.d.ts.map +1 -1
  334. package/dist/scripts/core-scripts.js +2 -0
  335. package/dist/scripts/core-scripts.js.map +1 -1
  336. package/dist/scripts/db/patch.d.ts.map +1 -1
  337. package/dist/scripts/db/patch.js +273 -11
  338. package/dist/scripts/db/patch.js.map +1 -1
  339. package/dist/scripts/db/scoping.d.ts.map +1 -1
  340. package/dist/scripts/db/scoping.js +3 -2
  341. package/dist/scripts/db/scoping.js.map +1 -1
  342. package/dist/scripts/docs/index.d.ts +2 -0
  343. package/dist/scripts/docs/index.d.ts.map +1 -0
  344. package/dist/scripts/docs/index.js +4 -0
  345. package/dist/scripts/docs/index.js.map +1 -0
  346. package/dist/scripts/docs/search.d.ts +13 -0
  347. package/dist/scripts/docs/search.d.ts.map +1 -0
  348. package/dist/scripts/docs/search.js +130 -0
  349. package/dist/scripts/docs/search.js.map +1 -0
  350. package/dist/scripts/resources/delete-memory.d.ts +7 -0
  351. package/dist/scripts/resources/delete-memory.d.ts.map +1 -0
  352. package/dist/scripts/resources/delete-memory.js +49 -0
  353. package/dist/scripts/resources/delete-memory.js.map +1 -0
  354. package/dist/scripts/resources/delete.d.ts.map +1 -1
  355. package/dist/scripts/resources/delete.js +2 -1
  356. package/dist/scripts/resources/delete.js.map +1 -1
  357. package/dist/scripts/resources/index.d.ts.map +1 -1
  358. package/dist/scripts/resources/index.js +2 -0
  359. package/dist/scripts/resources/index.js.map +1 -1
  360. package/dist/scripts/resources/list.d.ts.map +1 -1
  361. package/dist/scripts/resources/list.js +2 -1
  362. package/dist/scripts/resources/list.js.map +1 -1
  363. package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
  364. package/dist/scripts/resources/migrate-learnings.js +2 -1
  365. package/dist/scripts/resources/migrate-learnings.js.map +1 -1
  366. package/dist/scripts/resources/read.d.ts.map +1 -1
  367. package/dist/scripts/resources/read.js +2 -1
  368. package/dist/scripts/resources/read.js.map +1 -1
  369. package/dist/scripts/resources/save-memory.d.ts +9 -0
  370. package/dist/scripts/resources/save-memory.d.ts.map +1 -0
  371. package/dist/scripts/resources/save-memory.js +78 -0
  372. package/dist/scripts/resources/save-memory.js.map +1 -0
  373. package/dist/scripts/resources/write.d.ts.map +1 -1
  374. package/dist/scripts/resources/write.js +2 -1
  375. package/dist/scripts/resources/write.js.map +1 -1
  376. package/dist/scripts/utils.d.ts +10 -1
  377. package/dist/scripts/utils.d.ts.map +1 -1
  378. package/dist/scripts/utils.js +45 -2
  379. package/dist/scripts/utils.js.map +1 -1
  380. package/dist/server/action-discovery.d.ts +5 -0
  381. package/dist/server/action-discovery.d.ts.map +1 -1
  382. package/dist/server/action-discovery.js +53 -20
  383. package/dist/server/action-discovery.js.map +1 -1
  384. package/dist/server/action-routes.d.ts.map +1 -1
  385. package/dist/server/action-routes.js +88 -56
  386. package/dist/server/action-routes.js.map +1 -1
  387. package/dist/server/agent-chat-plugin.d.ts +15 -0
  388. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  389. package/dist/server/agent-chat-plugin.js +853 -91
  390. package/dist/server/agent-chat-plugin.js.map +1 -1
  391. package/dist/server/agent-discovery.d.ts.map +1 -1
  392. package/dist/server/agent-discovery.js +13 -25
  393. package/dist/server/agent-discovery.js.map +1 -1
  394. package/dist/server/agent-teams.d.ts.map +1 -1
  395. package/dist/server/agent-teams.js +23 -59
  396. package/dist/server/agent-teams.js.map +1 -1
  397. package/dist/server/agents-bundle.d.ts +33 -5
  398. package/dist/server/agents-bundle.d.ts.map +1 -1
  399. package/dist/server/agents-bundle.js +108 -64
  400. package/dist/server/agents-bundle.js.map +1 -1
  401. package/dist/server/auth.d.ts +7 -0
  402. package/dist/server/auth.d.ts.map +1 -1
  403. package/dist/server/auth.js +448 -93
  404. package/dist/server/auth.js.map +1 -1
  405. package/dist/server/better-auth-instance.d.ts +1 -1
  406. package/dist/server/better-auth-instance.d.ts.map +1 -1
  407. package/dist/server/better-auth-instance.js +272 -10
  408. package/dist/server/better-auth-instance.js.map +1 -1
  409. package/dist/server/builder-browser.d.ts +61 -0
  410. package/dist/server/builder-browser.d.ts.map +1 -0
  411. package/dist/server/builder-browser.js +229 -0
  412. package/dist/server/builder-browser.js.map +1 -0
  413. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  414. package/dist/server/core-routes-plugin.js +273 -9
  415. package/dist/server/core-routes-plugin.js.map +1 -1
  416. package/dist/server/credential-provider.d.ts +37 -0
  417. package/dist/server/credential-provider.d.ts.map +1 -0
  418. package/dist/server/credential-provider.js +49 -0
  419. package/dist/server/credential-provider.js.map +1 -0
  420. package/dist/server/desktop-sso.d.ts +30 -0
  421. package/dist/server/desktop-sso.d.ts.map +1 -0
  422. package/dist/server/desktop-sso.js +74 -0
  423. package/dist/server/desktop-sso.js.map +1 -0
  424. package/dist/server/email.d.ts +23 -0
  425. package/dist/server/email.d.ts.map +1 -0
  426. package/dist/server/email.js +105 -0
  427. package/dist/server/email.js.map +1 -0
  428. package/dist/server/framework-request-handler.d.ts.map +1 -1
  429. package/dist/server/framework-request-handler.js +71 -3
  430. package/dist/server/framework-request-handler.js.map +1 -1
  431. package/dist/server/google-auth-plugin.js +1 -1
  432. package/dist/server/google-oauth.d.ts +1 -1
  433. package/dist/server/google-oauth.d.ts.map +1 -1
  434. package/dist/server/google-oauth.js +34 -13
  435. package/dist/server/google-oauth.js.map +1 -1
  436. package/dist/server/index.d.ts +3 -0
  437. package/dist/server/index.d.ts.map +1 -1
  438. package/dist/server/index.js +3 -0
  439. package/dist/server/index.js.map +1 -1
  440. package/dist/server/local-migration.d.ts +9 -0
  441. package/dist/server/local-migration.d.ts.map +1 -1
  442. package/dist/server/local-migration.js +44 -14
  443. package/dist/server/local-migration.js.map +1 -1
  444. package/dist/server/oauth-helpers.d.ts +3 -0
  445. package/dist/server/oauth-helpers.d.ts.map +1 -1
  446. package/dist/server/oauth-helpers.js +7 -4
  447. package/dist/server/oauth-helpers.js.map +1 -1
  448. package/dist/server/onboarding-html.d.ts +6 -0
  449. package/dist/server/onboarding-html.d.ts.map +1 -1
  450. package/dist/server/onboarding-html.js +323 -28
  451. package/dist/server/onboarding-html.js.map +1 -1
  452. package/dist/server/poll.d.ts.map +1 -1
  453. package/dist/server/poll.js +48 -0
  454. package/dist/server/poll.js.map +1 -1
  455. package/dist/server/request-context.d.ts +20 -0
  456. package/dist/server/request-context.d.ts.map +1 -0
  457. package/dist/server/request-context.js +41 -0
  458. package/dist/server/request-context.js.map +1 -0
  459. package/dist/templates/default/.agents/skills/actions/SKILL.md +2 -1
  460. package/dist/templates/default/.agents/skills/inline-embeds/SKILL.md +88 -0
  461. package/dist/templates/default/.agents/skills/security/SKILL.md +145 -40
  462. package/dist/templates/default/.agents/skills/storing-data/SKILL.md +7 -1
  463. package/dist/templates/default/_gitignore +1 -0
  464. package/dist/templates/default/app/root.tsx +4 -1
  465. package/dist/templates/workspace-core/.agents/skills/company-policies/SKILL.md +42 -0
  466. package/dist/templates/workspace-core/AGENTS.md +62 -0
  467. package/dist/templates/workspace-core/actions/company-directory.ts +38 -0
  468. package/dist/templates/workspace-core/package.json +39 -0
  469. package/dist/templates/workspace-core/src/client/AuthenticatedLayout.tsx +37 -0
  470. package/dist/templates/workspace-core/src/client/index.ts +26 -0
  471. package/dist/templates/workspace-core/src/credentials.ts +29 -0
  472. package/dist/templates/workspace-core/src/index.ts +21 -0
  473. package/dist/templates/workspace-core/src/server/agent-chat-plugin.ts +30 -0
  474. package/dist/templates/workspace-core/src/server/auth-plugin.ts +35 -0
  475. package/dist/templates/workspace-core/src/server/index.ts +22 -0
  476. package/dist/templates/workspace-core/tailwind.preset.ts +34 -0
  477. package/dist/templates/workspace-core/tsconfig.json +9 -0
  478. package/dist/templates/workspace-root/.env.example +37 -0
  479. package/dist/templates/workspace-root/README.md +62 -0
  480. package/dist/templates/workspace-root/_gitignore +23 -0
  481. package/dist/templates/workspace-root/package.json +18 -0
  482. package/dist/templates/workspace-root/pnpm-workspace.yaml +3 -0
  483. package/dist/templates/workspace-root/tsconfig.base.json +21 -0
  484. package/dist/usage/store.d.ts +74 -12
  485. package/dist/usage/store.d.ts.map +1 -1
  486. package/dist/usage/store.js +210 -44
  487. package/dist/usage/store.js.map +1 -1
  488. package/dist/vite/agents-bundle-plugin.d.ts.map +1 -1
  489. package/dist/vite/agents-bundle-plugin.js +65 -15
  490. package/dist/vite/agents-bundle-plugin.js.map +1 -1
  491. package/dist/vite/client.d.ts +16 -0
  492. package/dist/vite/client.d.ts.map +1 -1
  493. package/dist/vite/client.js +130 -0
  494. package/dist/vite/client.js.map +1 -1
  495. package/docs/content/a2a-protocol.md +223 -0
  496. package/docs/content/actions.md +129 -0
  497. package/docs/content/agent-mentions.md +171 -0
  498. package/docs/content/authentication.md +155 -0
  499. package/docs/content/cli-adapters.md +244 -0
  500. package/docs/content/client.md +175 -0
  501. package/docs/content/context-awareness.md +168 -0
  502. package/docs/content/creating-templates.md +311 -0
  503. package/docs/content/database.md +82 -0
  504. package/docs/content/deployment.md +237 -0
  505. package/docs/content/enterprise-workspace.md +235 -0
  506. package/docs/content/faq.md +101 -0
  507. package/docs/content/file-uploads.md +102 -0
  508. package/docs/content/frames.md +47 -0
  509. package/docs/content/getting-started.md +104 -0
  510. package/docs/content/integrations.md +198 -0
  511. package/docs/content/key-concepts.md +246 -0
  512. package/docs/content/mcp-clients.md +110 -0
  513. package/docs/content/mcp-protocol.md +168 -0
  514. package/docs/content/onboarding.md +107 -0
  515. package/docs/content/real-time-collaboration.md +185 -0
  516. package/docs/content/resources.md +277 -0
  517. package/docs/content/security.md +158 -0
  518. package/docs/content/server.md +200 -0
  519. package/docs/content/skills-guide.md +107 -0
  520. package/docs/content/what-is-agent-native.md +100 -0
  521. package/docs/content/workspace-management.md +224 -0
  522. package/package.json +13 -3
  523. package/src/templates/default/.agents/skills/actions/SKILL.md +2 -1
  524. package/src/templates/default/.agents/skills/inline-embeds/SKILL.md +88 -0
  525. package/src/templates/default/.agents/skills/security/SKILL.md +145 -40
  526. package/src/templates/default/.agents/skills/storing-data/SKILL.md +7 -1
  527. package/src/templates/default/_gitignore +1 -0
  528. package/src/templates/default/app/root.tsx +4 -1
  529. package/src/templates/workspace-core/.agents/skills/company-policies/SKILL.md +42 -0
  530. package/src/templates/workspace-core/AGENTS.md +62 -0
  531. package/src/templates/workspace-core/actions/company-directory.ts +38 -0
  532. package/src/templates/workspace-core/package.json +39 -0
  533. package/src/templates/workspace-core/src/client/AuthenticatedLayout.tsx +37 -0
  534. package/src/templates/workspace-core/src/client/index.ts +26 -0
  535. package/src/templates/workspace-core/src/credentials.ts +29 -0
  536. package/src/templates/workspace-core/src/index.ts +21 -0
  537. package/src/templates/workspace-core/src/server/agent-chat-plugin.ts +30 -0
  538. package/src/templates/workspace-core/src/server/auth-plugin.ts +35 -0
  539. package/src/templates/workspace-core/src/server/index.ts +22 -0
  540. package/src/templates/workspace-core/tailwind.preset.ts +34 -0
  541. package/src/templates/workspace-core/tsconfig.json +9 -0
  542. package/src/templates/workspace-root/.env.example +37 -0
  543. package/src/templates/workspace-root/README.md +62 -0
  544. package/src/templates/workspace-root/_gitignore +23 -0
  545. package/src/templates/workspace-root/package.json +18 -0
  546. package/src/templates/workspace-root/pnpm-workspace.yaml +3 -0
  547. package/src/templates/workspace-root/tsconfig.base.json +21 -0
  548. package/dist/templates/templates/default/.agents/skills/actions/SKILL.md +0 -142
  549. package/dist/templates/templates/default/.agents/skills/agent-engines/SKILL.md +0 -127
  550. package/dist/templates/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -50
  551. package/dist/templates/templates/default/.agents/skills/create-skill/SKILL.md +0 -167
  552. package/dist/templates/templates/default/.agents/skills/delegate-to-agent/SKILL.md +0 -90
  553. package/dist/templates/templates/default/.agents/skills/frontend-design/SKILL.md +0 -69
  554. package/dist/templates/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -183
  555. package/dist/templates/templates/default/.agents/skills/real-time-sync/SKILL.md +0 -112
  556. package/dist/templates/templates/default/.agents/skills/security/SKILL.md +0 -108
  557. package/dist/templates/templates/default/.agents/skills/self-modifying-code/SKILL.md +0 -79
  558. package/dist/templates/templates/default/.agents/skills/storing-data/SKILL.md +0 -110
  559. package/dist/templates/templates/default/.claude/settings.json +0 -100
  560. package/dist/templates/templates/default/.env.example +0 -5
  561. package/dist/templates/templates/default/.ignore +0 -0
  562. package/dist/templates/templates/default/.prettierrc +0 -5
  563. package/dist/templates/templates/default/AGENTS.md +0 -110
  564. package/dist/templates/templates/default/DEVELOPING.md +0 -117
  565. package/dist/templates/templates/default/_gitignore +0 -37
  566. package/dist/templates/templates/default/actions/hello.ts +0 -20
  567. package/dist/templates/templates/default/actions/navigate.ts +0 -53
  568. package/dist/templates/templates/default/actions/run.ts +0 -2
  569. package/dist/templates/templates/default/actions/view-screen.ts +0 -39
  570. package/dist/templates/templates/default/app/entry.client.tsx +0 -4
  571. package/dist/templates/templates/default/app/entry.server.tsx +0 -56
  572. package/dist/templates/templates/default/app/global.css +0 -95
  573. package/dist/templates/templates/default/app/lib/utils.ts +0 -1
  574. package/dist/templates/templates/default/app/root.tsx +0 -107
  575. package/dist/templates/templates/default/app/routes/_index.tsx +0 -62
  576. package/dist/templates/templates/default/app/routes.ts +0 -4
  577. package/dist/templates/templates/default/app/vite-env.d.ts +0 -6
  578. package/dist/templates/templates/default/components.json +0 -20
  579. package/dist/templates/templates/default/data/.gitkeep +0 -0
  580. package/dist/templates/templates/default/data/sync-config.json +0 -1
  581. package/dist/templates/templates/default/learnings.defaults.md +0 -5
  582. package/dist/templates/templates/default/learnings.md +0 -0
  583. package/dist/templates/templates/default/package.json +0 -46
  584. package/dist/templates/templates/default/postcss.config.js +0 -6
  585. package/dist/templates/templates/default/public/icon-180.svg +0 -4
  586. package/dist/templates/templates/default/public/icon-192.svg +0 -4
  587. package/dist/templates/templates/default/public/icon-512.svg +0 -4
  588. package/dist/templates/templates/default/public/manifest.json +0 -13
  589. package/dist/templates/templates/default/react-router.config.ts +0 -6
  590. package/dist/templates/templates/default/server/middleware/auth.ts +0 -15
  591. package/dist/templates/templates/default/server/plugins/.gitkeep +0 -0
  592. package/dist/templates/templates/default/server/routes/[...page].get.ts +0 -5
  593. package/dist/templates/templates/default/server/routes/api/hello.get.ts +0 -5
  594. package/dist/templates/templates/default/shared/api.ts +0 -6
  595. package/dist/templates/templates/default/ssr-entry.ts +0 -20
  596. package/dist/templates/templates/default/tailwind.config.ts +0 -7
  597. package/dist/templates/templates/default/tsconfig.json +0 -11
  598. package/dist/templates/templates/default/vite.config.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsSection.js","sourceRoot":"","sources":["../../../src/client/settings/AgentsSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function BackgroundAgentSection(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=BackgroundAgentSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundAgentSection.d.ts","sourceRoot":"","sources":["../../../src/client/settings/BackgroundAgentSection.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,sBAAsB,4CAuHrC"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { IconGitBranch, IconCheck, IconExternalLink, IconLoader2, } from "@tabler/icons-react";
4
+ import { SettingsSection } from "./SettingsSection.js";
5
+ import { useBuilderStatus } from "./useBuilderStatus.js";
6
+ export function BackgroundAgentSection() {
7
+ const { status: builder } = useBuilderStatus();
8
+ const connected = builder?.configured ?? false;
9
+ const [projectUrl, setProjectUrl] = useState("");
10
+ const [running, setRunning] = useState(false);
11
+ const [result, setResult] = useState(null);
12
+ const [error, setError] = useState(null);
13
+ const handleCreateBranch = async () => {
14
+ if (!projectUrl.trim())
15
+ return;
16
+ setRunning(true);
17
+ setError(null);
18
+ setResult(null);
19
+ try {
20
+ const res = await fetch("/_agent-native/builder/agents-run", {
21
+ method: "POST",
22
+ headers: { "Content-Type": "application/json" },
23
+ body: JSON.stringify({
24
+ userMessage: "Set up this project for development",
25
+ projectUrl: projectUrl.trim(),
26
+ }),
27
+ });
28
+ if (!res.ok) {
29
+ const body = await res.json().catch(() => ({}));
30
+ throw new Error(body?.error || `Failed (${res.status})`);
31
+ }
32
+ setResult(await res.json());
33
+ }
34
+ catch (err) {
35
+ setError(err?.message || "Failed to create branch");
36
+ }
37
+ finally {
38
+ setRunning(false);
39
+ }
40
+ };
41
+ return (_jsx(SettingsSection, { icon: _jsx(IconGitBranch, { size: 14 }), title: "Background Agent", subtitle: "Make code changes from production mode. Builder creates a branch, the agent makes changes, and you get a preview URL.", connected: connected, children: !connected ? (_jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-[10px] text-muted-foreground", children: "Connect Builder to enable code changes from production. The agent will create branches and provide preview URLs." }), builder?.connectUrl && (_jsxs("a", { href: builder.connectUrl, className: "inline-flex items-center gap-1 rounded bg-accent px-2 py-1 text-[10px] font-medium text-foreground hover:bg-accent/80", children: ["Connect Builder", _jsx(IconExternalLink, { size: 10 })] }))] })) : (_jsxs("div", { className: "space-y-2.5", children: [_jsxs("div", { className: "flex items-center gap-1.5 text-[10px] text-green-500", children: [_jsx(IconCheck, { size: 10 }), "Builder connected", builder?.orgName && (_jsxs("span", { className: "text-muted-foreground", children: ["(", builder.orgName, ")"] }))] }), _jsxs("div", { children: [_jsx("label", { className: "text-[10px] font-medium text-foreground block mb-1", children: "Builder Project URL or ID" }), _jsxs("div", { className: "flex gap-1.5", children: [_jsx("input", { type: "text", value: projectUrl, onChange: (e) => setProjectUrl(e.target.value), onKeyDown: (e) => {
42
+ if (e.key === "Enter")
43
+ handleCreateBranch();
44
+ }, placeholder: "https://builder.io/app/projects/...", className: "flex-1 rounded border border-border bg-background px-2 py-1 text-[11px] text-foreground outline-none placeholder:text-muted-foreground/50 focus:ring-1 focus:ring-accent" }), _jsx("button", { onClick: handleCreateBranch, disabled: !projectUrl.trim() || running, className: "rounded bg-accent px-2 py-1 text-[10px] font-medium text-foreground hover:bg-accent/80 disabled:opacity-40", children: running ? (_jsx(IconLoader2, { size: 10, className: "animate-spin" })) : ("Create branch") })] })] }), result && (_jsxs("div", { className: "rounded-md border border-green-800/40 bg-green-900/10 px-2.5 py-2", children: [_jsx("div", { className: "text-[10px] font-medium text-green-400 mb-1", children: "Branch created" }), _jsxs("a", { href: result.url, target: "_blank", rel: "noopener noreferrer", className: "flex items-center gap-1 text-[10px] text-foreground hover:underline", children: [result.url, _jsx(IconExternalLink, { size: 10 })] })] })), error && _jsx("p", { className: "text-[10px] text-red-400", children: error })] })) }));
45
+ }
46
+ //# sourceMappingURL=BackgroundAgentSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundAgentSection.js","sourceRoot":"","sources":["../../../src/client/settings/BackgroundAgentSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function BrowserSection(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=BrowserSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserSection.d.ts","sourceRoot":"","sources":["../../../src/client/settings/BrowserSection.tsx"],"names":[],"mappings":"AASA,wBAAgB,cAAc,4CA4D7B"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconBrowser, IconCheck, IconExternalLink, IconLoader2, } from "@tabler/icons-react";
3
+ import { SettingsSection } from "./SettingsSection.js";
4
+ import { useBuilderStatus } from "./useBuilderStatus.js";
5
+ export function BrowserSection() {
6
+ const { status: builder, loading } = useBuilderStatus();
7
+ const connected = builder?.configured ?? false;
8
+ return (_jsx(SettingsSection, { icon: _jsx(IconBrowser, { size: 14 }), title: "Browser Automation", subtitle: "Let agents control a real browser for web tasks. Requires Builder connection.", connected: connected, children: loading ? (_jsxs("div", { className: "flex items-center gap-1.5 text-[10px] text-muted-foreground", children: [_jsx(IconLoader2, { size: 10, className: "animate-spin" }), "Checking Builder connection..."] })) : connected ? (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-1.5 text-[10px] text-green-500", children: [_jsx(IconCheck, { size: 10 }), "Browser access enabled", builder?.orgName && (_jsxs("span", { className: "text-muted-foreground", children: ["(", builder.orgName, ")"] }))] }), _jsxs("p", { className: "text-[10px] text-muted-foreground", children: ["Agents can request live browser sessions via", " ", _jsx("code", { className: "rounded bg-muted px-1 py-0.5 text-[9px]", children: "get-browser-connection" })] }), builder?.connectUrl && (_jsxs("a", { href: builder.connectUrl, className: "inline-flex items-center gap-1 rounded border border-border px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-accent/40", children: ["Reconnect", _jsx(IconExternalLink, { size: 10 })] }))] })) : (_jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-[10px] text-muted-foreground", children: "Connect Builder to provision browser sessions without wiring browser setup into every app." }), builder?.connectUrl && (_jsxs("a", { href: builder.connectUrl, className: "inline-flex items-center gap-1 rounded bg-accent px-2 py-1 text-[10px] font-medium text-foreground hover:bg-accent/80", children: ["Connect Builder", _jsx(IconExternalLink, { size: 10 })] }))] })) }));
9
+ }
10
+ //# sourceMappingURL=BrowserSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserSection.js","sourceRoot":"","sources":["../../../src/client/settings/BrowserSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;IAE/C,OAAO,CACL,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,EAC/B,KAAK,EAAC,oBAAoB,EAC1B,QAAQ,EAAC,+EAA+E,EACxF,SAAS,EAAE,SAAS,YAEnB,OAAO,CAAC,CAAC,CAAC,CACT,eAAK,SAAS,EAAC,6DAA6D,aAC1E,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,cAAc,GAAG,sCAE9C,CACP,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,sDAAsD,aACnE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,4BAEtB,OAAO,EAAE,OAAO,IAAI,CACnB,gBAAM,SAAS,EAAC,uBAAuB,kBAAG,OAAO,CAAC,OAAO,SAAS,CACnE,IACG,EACN,aAAG,SAAS,EAAC,mCAAmC,6DACD,GAAG,EAChD,eAAM,SAAS,EAAC,yCAAyC,uCAElD,IACL,EACH,OAAO,EAAE,UAAU,IAAI,CACtB,aACE,IAAI,EAAE,OAAO,CAAC,UAAU,EACxB,SAAS,EAAC,oJAAoJ,0BAG9J,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,IAC5B,CACL,IACG,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,WAAW,aACxB,YAAG,SAAS,EAAC,mCAAmC,2GAG5C,EACH,OAAO,EAAE,UAAU,IAAI,CACtB,aACE,IAAI,EAAE,OAAO,CAAC,UAAU,EACxB,SAAS,EAAC,uHAAuH,gCAGjI,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,IAC5B,CACL,IACG,CACP,GACe,CACnB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from "react";
2
+ interface ComingSoonSectionProps {
3
+ icon: ReactNode;
4
+ title: string;
5
+ description: string;
6
+ docsUrl?: string;
7
+ docsLabel?: string;
8
+ /** Manual setup hint shown alongside docs link */
9
+ manualHint?: string;
10
+ }
11
+ export declare function ComingSoonSection({ icon, title, description, docsUrl, docsLabel, manualHint, }: ComingSoonSectionProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=ComingSoonSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComingSoonSection.d.ts","sourceRoot":"","sources":["../../../src/client/settings/ComingSoonSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,UAAU,sBAAsB;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAA2B,EAC3B,UAAU,GACX,EAAE,sBAAsB,2CAmDxB"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconExternalLink } from "@tabler/icons-react";
3
+ import { SettingsSection } from "./SettingsSection.js";
4
+ import { useBuilderStatus } from "./useBuilderStatus.js";
5
+ export function ComingSoonSection({ icon, title, description, docsUrl, docsLabel = "Read the docs", manualHint, }) {
6
+ const { status: builder } = useBuilderStatus();
7
+ return (_jsx(SettingsSection, { icon: icon, title: title, subtitle: description, badge: "Coming soon", children: _jsxs("div", { className: "space-y-2.5", children: [_jsxs("div", { className: "rounded-md border border-border px-2.5 py-2 opacity-50", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "text-[11px] font-medium text-foreground", children: "Use Builder" }), _jsx("span", { className: "rounded-full bg-accent/60 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Coming soon" })] }), _jsx("p", { className: "text-[10px] text-muted-foreground mt-1", children: "One-click setup via Builder \u2014 available soon." })] }), _jsxs("div", { className: "rounded-md border border-border bg-accent/30 px-2.5 py-2", children: [_jsx("div", { className: "text-[11px] font-medium text-foreground mb-1", children: "Set up manually" }), manualHint && (_jsx("p", { className: "text-[10px] text-muted-foreground mb-1.5", children: manualHint })), docsUrl && (_jsxs("a", { href: docsUrl, target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground", children: [docsLabel, _jsx(IconExternalLink, { size: 10 })] }))] })] }) }));
8
+ }
9
+ //# sourceMappingURL=ComingSoonSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComingSoonSection.js","sourceRoot":"","sources":["../../../src/client/settings/ComingSoonSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAYzD,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GAAG,eAAe,EAC3B,UAAU,GACa;IACvB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE/C,OAAO,CACL,KAAC,eAAe,IACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAC,aAAa,YAEnB,eAAK,SAAS,EAAC,aAAa,aAE1B,eAAK,SAAS,EAAC,wDAAwD,aACrE,eAAK,SAAS,EAAC,mCAAmC,aAChD,cAAK,SAAS,EAAC,yCAAyC,4BAElD,EACN,eAAM,SAAS,EAAC,gHAAgH,4BAEzH,IACH,EACN,YAAG,SAAS,EAAC,wCAAwC,mEAEjD,IACA,EAGN,eAAK,SAAS,EAAC,0DAA0D,aACvE,cAAK,SAAS,EAAC,8CAA8C,gCAEvD,EACL,UAAU,IAAI,CACb,YAAG,SAAS,EAAC,0CAA0C,YACpD,UAAU,GACT,CACL,EACA,OAAO,IAAI,CACV,aACE,IAAI,EAAE,OAAO,EACb,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,wFAAwF,aAEjG,SAAS,EACV,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,IAC5B,CACL,IACG,IACF,GACU,CACnB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function LLMSection(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=LLMSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMSection.d.ts","sourceRoot":"","sources":["../../../src/client/settings/LLMSection.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,UAAU,4CAuIzB"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect, useCallback } from "react";
3
+ import { IconBrain, IconCheck, IconLoader2, IconExternalLink, } from "@tabler/icons-react";
4
+ import { SettingsSection } from "./SettingsSection.js";
5
+ import { useBuilderStatus } from "./useBuilderStatus.js";
6
+ export function LLMSection() {
7
+ const { status: builder } = useBuilderStatus();
8
+ const [envKeys, setEnvKeys] = useState([]);
9
+ const [loading, setLoading] = useState(true);
10
+ const [apiKey, setApiKey] = useState("");
11
+ const [saving, setSaving] = useState(false);
12
+ const [saved, setSaved] = useState(false);
13
+ const fetchEnvStatus = useCallback(async () => {
14
+ try {
15
+ const res = await fetch("/_agent-native/env-status");
16
+ if (!res.ok)
17
+ return;
18
+ setEnvKeys(await res.json());
19
+ }
20
+ catch {
21
+ // env-status not configured
22
+ }
23
+ finally {
24
+ setLoading(false);
25
+ }
26
+ }, []);
27
+ useEffect(() => {
28
+ fetchEnvStatus();
29
+ }, [fetchEnvStatus]);
30
+ const anthropicKey = envKeys.find((k) => k.key === "ANTHROPIC_API_KEY");
31
+ const isConfigured = anthropicKey?.configured ?? false;
32
+ const builderConnected = builder?.configured ?? false;
33
+ const handleSave = async () => {
34
+ if (!apiKey.trim())
35
+ return;
36
+ setSaving(true);
37
+ setSaved(false);
38
+ try {
39
+ const res = await fetch("/_agent-native/env-vars", {
40
+ method: "POST",
41
+ headers: { "Content-Type": "application/json" },
42
+ body: JSON.stringify({
43
+ vars: [{ key: "ANTHROPIC_API_KEY", value: apiKey.trim() }],
44
+ }),
45
+ });
46
+ if (res.ok) {
47
+ setSaved(true);
48
+ setApiKey("");
49
+ fetchEnvStatus();
50
+ setTimeout(() => setSaved(false), 2000);
51
+ }
52
+ }
53
+ finally {
54
+ setSaving(false);
55
+ }
56
+ };
57
+ return (_jsx(SettingsSection, { icon: _jsx(IconBrain, { size: 14 }), title: "LLM", subtitle: "Provide an Anthropic API key or connect Builder to use their LLM proxy.", connected: isConfigured || builderConnected, children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "rounded-md border border-border px-2.5 py-2", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "text-[11px] font-medium text-foreground", children: "Builder LLM Proxy" }), builderConnected ? (_jsxs("span", { className: "flex items-center gap-1 text-[10px] text-green-500", children: [_jsx(IconCheck, { size: 10 }), "Connected"] })) : builder?.connectUrl ? (_jsxs("a", { href: builder.connectUrl, target: "_blank", rel: "noopener noreferrer", className: "flex items-center gap-1 rounded px-2 py-0.5 text-[10px] font-medium bg-accent text-foreground hover:bg-accent/80", children: ["Connect Builder", _jsx(IconExternalLink, { size: 10 })] })) : null] }), _jsx("p", { className: "text-[10px] text-muted-foreground mt-1", children: builderConnected
58
+ ? `Using Builder's LLM proxy${builder?.orgName ? ` (${builder.orgName})` : ""}`
59
+ : "Use Builder's managed Anthropic proxy — no API key needed" })] }), _jsxs("div", { className: "rounded-md border border-border px-2.5 py-2", children: [_jsx("div", { className: "text-[11px] font-medium text-foreground mb-1.5", children: "Own API Key" }), loading ? (_jsxs("div", { className: "flex items-center gap-1.5 text-[10px] text-muted-foreground", children: [_jsx(IconLoader2, { size: 10, className: "animate-spin" }), "Checking..."] })) : isConfigured ? (_jsxs("div", { className: "flex items-center gap-1.5 text-[10px] text-green-500", children: [_jsx(IconCheck, { size: 10 }), "ANTHROPIC_API_KEY configured"] })) : (_jsxs("div", { className: "flex gap-1.5", children: [_jsx("input", { type: "password", value: apiKey, onChange: (e) => setApiKey(e.target.value), onKeyDown: (e) => {
60
+ if (e.key === "Enter")
61
+ handleSave();
62
+ }, placeholder: "sk-ant-...", className: "flex-1 rounded border border-border bg-background px-2 py-1 text-[11px] text-foreground outline-none placeholder:text-muted-foreground/50 focus:ring-1 focus:ring-accent" }), _jsx("button", { onClick: handleSave, disabled: !apiKey.trim() || saving, className: "rounded bg-accent px-2 py-1 text-[10px] font-medium text-foreground hover:bg-accent/80 disabled:opacity-40", children: saving ? (_jsx(IconLoader2, { size: 10, className: "animate-spin" })) : saved ? (_jsx(IconCheck, { size: 10 })) : ("Save") })] }))] })] }) }));
63
+ }
64
+ //# sourceMappingURL=LLMSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMSection.js","sourceRoot":"","sources":["../../../src/client/settings/LLMSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface SettingsPanelProps {
2
+ isDevMode: boolean;
3
+ onToggleDevMode: () => void;
4
+ showDevToggle: boolean;
5
+ devAppUrl?: string;
6
+ }
7
+ export declare function SettingsPanel({ isDevMode, onToggleDevMode, showDevToggle, devAppUrl, }: SettingsPanelProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=SettingsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsPanel.d.ts","sourceRoot":"","sources":["../../../src/client/settings/SettingsPanel.tsx"],"names":[],"mappings":"AAkXA,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAeD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,GACV,EAAE,kBAAkB,2CAkPpB"}
@@ -0,0 +1,111 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Suspense, lazy, useState, useEffect } from "react";
3
+ import * as SelectPrimitive from "@radix-ui/react-select";
4
+ import { IconChevronDown, IconCheck, IconExternalLink, IconBrain, IconBrowser, IconGitBranch, IconCloud, IconDatabase, IconShield, IconPlugConnected, IconTopologyRing2, IconLoader2, IconUpload, IconCoin, } from "@tabler/icons-react";
5
+ import { SettingsSection } from "./SettingsSection.js";
6
+ import { useBuilderStatus } from "./useBuilderStatus.js";
7
+ import { AgentsSection } from "./AgentsSection.js";
8
+ import { UsageSection } from "./UsageSection.js";
9
+ const IntegrationsPanel = lazy(() => import("../integrations/IntegrationsPanel.js").then((m) => ({
10
+ default: m.IntegrationsPanel,
11
+ })));
12
+ const CONTROL_STYLE = {
13
+ fontSize: 12,
14
+ lineHeight: 1,
15
+ };
16
+ function SettingsSelect({ label, labelAdornment, value, options, onValueChange, }) {
17
+ const selected = options.find((option) => option.value === value);
18
+ return (_jsxs("div", { className: "space-y-1.5", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("p", { className: "text-[12px] font-medium text-foreground", children: label }), labelAdornment] }), _jsxs(SelectPrimitive.Root, { value: value, onValueChange: onValueChange, children: [_jsxs(SelectPrimitive.Trigger, { className: "flex h-9 w-full items-center justify-between rounded-md border border-border bg-background px-3 text-left text-[12px] text-foreground outline-none transition-colors hover:bg-accent/40 data-[placeholder]:text-muted-foreground", "aria-label": label, style: CONTROL_STYLE, children: [_jsx(SelectPrimitive.Value, { children: selected?.label ?? value }), _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(IconChevronDown, { size: 14, className: "text-muted-foreground" }) })] }), _jsx(SelectPrimitive.Portal, { children: _jsx(SelectPrimitive.Content, { position: "popper", sideOffset: 6, className: "z-[9999] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-lg border border-border bg-popover shadow-lg", children: _jsx(SelectPrimitive.Viewport, { className: "p-1", children: options.map((option) => (_jsxs(SelectPrimitive.Item, { value: option.value, className: "relative flex w-full cursor-pointer select-none items-start gap-2 rounded-md px-8 py-2.5 text-[12px] outline-none data-[highlighted]:bg-accent/60 data-[state=checked]:bg-accent/40", style: CONTROL_STYLE, children: [_jsx("span", { className: "absolute left-2 top-2.5 flex h-4 w-4 items-center justify-center text-muted-foreground", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(IconCheck, { size: 14 }) }) }), _jsxs("div", { className: "flex min-w-0 flex-col", children: [_jsx(SelectPrimitive.ItemText, { children: _jsx("span", { className: "text-foreground", children: option.label }) }), option.description ? (_jsx("span", { className: "mt-0.5 text-[11px] leading-relaxed text-muted-foreground", children: option.description })) : null] })] }, option.value))) }) }) })] })] }));
19
+ }
20
+ // ─── "Connect Builder.io" card (shared across all sections) ─────────────────
21
+ function UseBuilderCard({ connectUrl, connected, orgName, comingSoon, builderEnabled, label = "Connect Builder.io", dim, }) {
22
+ const showComingSoon = comingSoon && !builderEnabled;
23
+ const bgClass = dim ? "" : "bg-accent/30";
24
+ if (connected) {
25
+ return (_jsxs("div", { className: `rounded-md border border-border px-2.5 py-2 ${bgClass}`, children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "text-[11px] font-medium text-foreground", children: "Builder.io" }), _jsxs("span", { className: "flex items-center gap-1 text-[10px] text-green-500", children: [_jsx(IconCheck, { size: 10 }), "Connected"] })] }), orgName && (_jsx("p", { className: "text-[10px] text-muted-foreground mt-0.5", children: orgName })), connectUrl && (_jsxs("a", { href: connectUrl, target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1 mt-2.5 rounded border border-border px-2 py-0.5 text-[10px] no-underline text-muted-foreground hover:text-foreground hover:bg-accent/40", children: ["Reconnect", _jsx(IconExternalLink, { size: 10 })] }))] }));
26
+ }
27
+ return (_jsxs("div", { className: `rounded-md border border-border px-2.5 py-2 ${bgClass}`, children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "text-[11px] font-medium text-foreground", children: "Connect Builder.io" }), showComingSoon && (_jsx("span", { className: "rounded-full bg-accent/60 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Coming soon" }))] }), _jsx("p", { className: "text-[10px] text-muted-foreground mt-1", children: "Includes LLM, DB, Auth, hosting, & more" }), showComingSoon ? (_jsxs("a", { href: "https://forms.gle/WGpRR5ENCwEppFWL7", target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1 mt-2.5 rounded bg-foreground px-2.5 py-1 text-[10px] font-medium no-underline text-background hover:opacity-90", children: ["Join the waitlist", _jsx(IconExternalLink, { size: 10 })] })) : (connectUrl && (_jsxs("a", { href: connectUrl, target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1 mt-2.5 rounded bg-foreground px-2.5 py-1 text-[10px] font-medium no-underline text-background hover:opacity-90", children: [label, _jsx(IconExternalLink, { size: 10 })] })))] }));
28
+ }
29
+ // ─── Manual setup card ──────────────────────────────────────────────────────
30
+ function ManualSetupCard({ hint, docsUrl, docsLabel = "Read the docs", children, dim, }) {
31
+ return (_jsxs("div", { className: `rounded-md border border-border px-2.5 py-2 ${dim ? "" : "bg-accent/30"}`, children: [_jsx("div", { className: "text-[11px] font-medium text-foreground mb-1", children: "Set up manually" }), hint && (_jsx("p", { className: "text-[10px] text-muted-foreground mb-1.5", children: hint })), children, docsUrl && (_jsxs("a", { href: docsUrl, target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1 mt-1.5 rounded border border-border px-2.5 py-1 text-[10px] font-medium no-underline text-muted-foreground hover:text-foreground hover:bg-accent/40", children: [docsLabel, _jsx(IconExternalLink, { size: 10 })] }))] }));
32
+ }
33
+ // ─── LLM Section ────────────────────────────────────────────────────────────
34
+ function LLMSectionInner({ builderEnabled, connectUrl, connected, orgName, open, onToggle, }) {
35
+ const [envKeys, setEnvKeys] = useState([]);
36
+ const [apiKey, setApiKey] = useState("");
37
+ const [saving, setSaving] = useState(false);
38
+ const [saved, setSaved] = useState(false);
39
+ useEffect(() => {
40
+ fetch("/_agent-native/env-status")
41
+ .then((r) => (r.ok ? r.json() : []))
42
+ .then(setEnvKeys)
43
+ .catch(() => { });
44
+ }, [saved]);
45
+ const anthropicConfigured = envKeys.find((k) => k.key === "ANTHROPIC_API_KEY")?.configured ?? false;
46
+ const handleSave = async () => {
47
+ if (!apiKey.trim())
48
+ return;
49
+ setSaving(true);
50
+ try {
51
+ const res = await fetch("/_agent-native/env-vars", {
52
+ method: "POST",
53
+ headers: { "Content-Type": "application/json" },
54
+ body: JSON.stringify({
55
+ vars: [{ key: "ANTHROPIC_API_KEY", value: apiKey.trim() }],
56
+ }),
57
+ });
58
+ if (res.ok) {
59
+ setSaved(true);
60
+ setApiKey("");
61
+ setTimeout(() => setSaved(false), 2000);
62
+ }
63
+ }
64
+ finally {
65
+ setSaving(false);
66
+ }
67
+ };
68
+ return (_jsx(SettingsSection, { icon: _jsx(IconBrain, { size: 14 }), title: "LLM", subtitle: "Connect any major LLM \u2014 Claude, GPT, Gemini, and more.", required: true, connected: anthropicConfigured || connected, open: open, onToggle: onToggle, children: _jsxs("div", { className: "space-y-2", children: [_jsx(UseBuilderCard, { connectUrl: connectUrl, connected: connected, orgName: orgName, comingSoon: true, builderEnabled: builderEnabled, label: "Connect Builder.io" }), _jsx(ManualSetupCard, { hint: "Paste your Anthropic API key to power the agent chat.", docsUrl: "https://console.anthropic.com/settings/keys", docsLabel: "Get an API key", dim: connected, children: anthropicConfigured ? (_jsxs("div", { className: "flex items-center gap-1.5 text-[10px] text-green-500 mb-1", children: [_jsx(IconCheck, { size: 10 }), "ANTHROPIC_API_KEY configured"] })) : (_jsxs("div", { className: "flex gap-1.5 mb-1", children: [_jsx("input", { type: "password", value: apiKey, onChange: (e) => setApiKey(e.target.value), onKeyDown: (e) => {
69
+ if (e.key === "Enter")
70
+ handleSave();
71
+ }, placeholder: "sk-ant-...", className: "flex-1 rounded border border-border bg-background px-2 py-1 text-[11px] text-foreground outline-none placeholder:text-muted-foreground/50 focus:ring-1 focus:ring-accent" }), _jsx("button", { onClick: handleSave, disabled: !apiKey.trim() || saving, className: "rounded bg-accent px-2 py-1 text-[10px] font-medium text-foreground hover:bg-accent/80 disabled:opacity-40", children: saving ? (_jsx(IconLoader2, { size: 10, className: "animate-spin" })) : saved ? (_jsx(IconCheck, { size: 10 })) : ("Save") })] })) })] }) }));
72
+ }
73
+ const environmentOptions = [
74
+ {
75
+ value: "production",
76
+ label: "Production",
77
+ description: "Restricted to app tools only.",
78
+ },
79
+ {
80
+ value: "development",
81
+ label: "Development",
82
+ description: "Full access to code editing, shell, and files.",
83
+ },
84
+ ];
85
+ export function SettingsPanel({ isDevMode, onToggleDevMode, showDevToggle, devAppUrl, }) {
86
+ const { status: builder } = useBuilderStatus();
87
+ const connected = builder?.configured ?? false;
88
+ const connectUrl = builder?.connectUrl;
89
+ const orgName = builder?.orgName;
90
+ // ENABLE_BUILDER flag — read from env-status (always available)
91
+ const [builderEnabled, setBuilderEnabled] = useState(false);
92
+ useEffect(() => {
93
+ fetch("/_agent-native/env-status")
94
+ .then((r) => (r.ok ? r.json() : []))
95
+ .then((keys) => {
96
+ if (keys.find((k) => k.key === "ENABLE_BUILDER")?.configured) {
97
+ setBuilderEnabled(true);
98
+ }
99
+ })
100
+ .catch(() => { });
101
+ }, []);
102
+ // Accordion: only one section open at a time (null = all closed)
103
+ const [openSection, setOpenSection] = useState("llm");
104
+ const toggle = (id) => setOpenSection((prev) => (prev === id ? null : id));
105
+ return (_jsxs("div", { className: "flex-1 min-h-0 overflow-y-auto p-3 space-y-2", style: { overflowY: "auto" }, children: [(showDevToggle || devAppUrl) && (_jsx("div", { className: "space-y-2 pb-2 border-b border-border mb-2", children: showDevToggle && (_jsx(SettingsSelect, { label: "Environment", labelAdornment: devAppUrl ? (_jsx("a", { href: devAppUrl, target: "_blank", rel: "noopener noreferrer", title: "Open app in new tab", "aria-label": "Open app in new tab", className: "flex items-center text-muted-foreground hover:text-foreground", children: _jsx(IconExternalLink, { size: 14 }) })) : undefined, value: isDevMode ? "development" : "production", options: environmentOptions, onValueChange: (next) => {
106
+ const nextIsDev = next === "development";
107
+ if (nextIsDev !== isDevMode)
108
+ onToggleDevMode();
109
+ } })) })), _jsx(LLMSectionInner, { builderEnabled: builderEnabled, connectUrl: connectUrl, connected: connected, orgName: orgName, open: openSection === "llm", onToggle: () => toggle("llm") }), _jsx(SettingsSection, { icon: _jsx(IconCloud, { size: 14 }), title: "Hosting", subtitle: "Deploy your app to the cloud.", connected: connected, open: openSection === "hosting", onToggle: () => toggle("hosting"), children: _jsxs("div", { className: "space-y-2", children: [_jsx(UseBuilderCard, { connectUrl: connectUrl, connected: connected, orgName: orgName, comingSoon: true, builderEnabled: builderEnabled }), _jsx(ManualSetupCard, { hint: "Deploy manually to Netlify, Vercel, Cloudflare, or any Nitro-supported target.", docsUrl: "https://www.builder.io/c/docs/agent-native-deployment", dim: connected })] }) }), _jsx(SettingsSection, { icon: _jsx(IconDatabase, { size: 14 }), title: "Database", subtitle: "Connect a cloud database for persistent storage.", connected: connected, open: openSection === "database", onToggle: () => toggle("database"), children: _jsxs("div", { className: "space-y-2", children: [_jsx(UseBuilderCard, { connectUrl: connectUrl, connected: connected, orgName: orgName, comingSoon: true, builderEnabled: builderEnabled }), _jsx(ManualSetupCard, { hint: "Set DATABASE_URL in your .env to connect Neon, Supabase, Turso, or any Postgres/SQLite database.", docsUrl: "https://www.builder.io/c/docs/agent-native-database", dim: connected })] }) }), _jsx(SettingsSection, { icon: _jsx(IconUpload, { size: 14 }), title: "File uploads", subtitle: "Where user-uploaded files (avatars, chat attachments) are stored.", connected: connected, open: openSection === "uploads", onToggle: () => toggle("uploads"), children: _jsxs("div", { className: "space-y-2", children: [_jsx(UseBuilderCard, { connectUrl: connectUrl, connected: connected, orgName: orgName, comingSoon: true, builderEnabled: builderEnabled }), _jsx(ManualSetupCard, { hint: "Without a provider, files are stored as base64 in your database. Fine for dev, not recommended for production.", docsUrl: "https://www.builder.io/c/docs/agent-native-file-uploads", dim: connected })] }) }), _jsx(SettingsSection, { icon: _jsx(IconShield, { size: 14 }), title: "Authentication", subtitle: "Set up user authentication and access control.", connected: connected, open: openSection === "auth", onToggle: () => toggle("auth"), children: _jsxs("div", { className: "space-y-2", children: [_jsx(UseBuilderCard, { connectUrl: connectUrl, connected: connected, orgName: orgName, comingSoon: true, builderEnabled: builderEnabled }), _jsx(ManualSetupCard, { hint: "Configure Better Auth with BETTER_AUTH_SECRET and optional Google/GitHub OAuth providers.", docsUrl: "https://www.builder.io/c/docs/agent-native-authentication", dim: connected })] }) }), _jsx(SettingsSection, { icon: _jsx(IconBrowser, { size: 14 }), title: "Browser Automation", subtitle: "Let agents control a real browser for web tasks.", connected: connected, open: openSection === "browser", onToggle: () => toggle("browser"), children: _jsx(UseBuilderCard, { connectUrl: connectUrl, connected: connected, orgName: orgName, comingSoon: true, builderEnabled: builderEnabled }) }), _jsx(SettingsSection, { icon: _jsx(IconGitBranch, { size: 14 }), title: "Background Agent", subtitle: "Make code changes from production mode via Builder.", connected: connected, open: openSection === "background", onToggle: () => toggle("background"), children: _jsx(UseBuilderCard, { connectUrl: connectUrl, connected: connected, orgName: orgName, comingSoon: true, builderEnabled: builderEnabled }) }), _jsx(SettingsSection, { icon: _jsx(IconPlugConnected, { size: 14 }), title: "Integrations", subtitle: "Connect messaging platforms and external services.", open: openSection === "integrations", onToggle: () => toggle("integrations"), children: _jsx(Suspense, { fallback: null, children: _jsx(IntegrationsPanel, {}) }) }), _jsx(SettingsSection, { icon: _jsx(IconCoin, { size: 14 }), title: "Usage", subtitle: "Track token consumption and estimated cost \u2014 broken down by chat, automations, and background jobs.", open: openSection === "usage", onToggle: () => toggle("usage"), children: _jsx(UsageSection, {}) }), _jsx(SettingsSection, { icon: _jsx(IconTopologyRing2, { size: 14 }), title: "Connected Agents (A2A)", subtitle: "Manage remote agents connected via the A2A protocol.", open: openSection === "a2a", onToggle: () => toggle("a2a"), children: _jsx(AgentsSection, {}) })] }));
110
+ }
111
+ //# sourceMappingURL=SettingsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../src/client/settings/SettingsPanel.tsx"],"names":[],"mappings":"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"}
@@ -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, IconCheck } 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 cursor-pointer items-center justify-between px-3 py-2.5 text-left rounded-lg hover:bg-accent/40 transition-colors", 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 justify-center shrink-0 rounded-full bg-green-500/15 text-green-500 w-4 h-4", children: _jsx(IconCheck, { size: 10, stroke: 3 }) })), 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,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAcjE;;;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,+HAA+H,aAEzI,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,+FAA+F,YAC7G,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAI,GAC7B,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,2 @@
1
+ export declare function UsageSection(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=UsageSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsageSection.d.ts","sourceRoot":"","sources":["../../../src/client/settings/UsageSection.tsx"],"names":[],"mappings":"AAiIA,wBAAgB,YAAY,4CAwK3B"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { IconLoader2, IconRefresh } from "@tabler/icons-react";
4
+ const RANGES = [
5
+ { value: 1, label: "24h" },
6
+ { value: 7, label: "7d" },
7
+ { value: 30, label: "30d" },
8
+ { value: 90, label: "90d" },
9
+ ];
10
+ function formatCost(cents) {
11
+ // Sub-cent values (e.g. a single LLM call at $0.0045 = 0.45¢) — keep
12
+ // three decimals so tiny calls don't round to 0.00¢. The prior impl
13
+ // multiplied by 100 in this branch, overstating small costs 100×.
14
+ if (cents < 1)
15
+ return `${cents.toFixed(3)}¢`;
16
+ if (cents < 100)
17
+ return `${cents.toFixed(2)}¢`;
18
+ return `$${(cents / 100).toFixed(2)}`;
19
+ }
20
+ function formatTokens(n) {
21
+ if (n >= 1_000_000)
22
+ return `${(n / 1_000_000).toFixed(1)}M`;
23
+ if (n >= 1_000)
24
+ return `${(n / 1_000).toFixed(1)}K`;
25
+ return String(n);
26
+ }
27
+ function BucketBars({ buckets, emptyMessage, }) {
28
+ if (buckets.length === 0) {
29
+ return (_jsx("p", { className: "text-[10px] text-muted-foreground py-1.5", children: emptyMessage }));
30
+ }
31
+ const max = Math.max(...buckets.map((b) => b.cents), 0.0001);
32
+ return (_jsx("div", { className: "space-y-1", children: buckets.map((b) => (_jsxs("div", { className: "text-[10px]", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 mb-0.5", children: [_jsx("span", { className: "truncate text-foreground", title: b.key || "(none)", children: b.key || "(none)" }), _jsxs("span", { className: "shrink-0 text-muted-foreground tabular-nums", children: [formatCost(b.cents), _jsxs("span", { className: "ml-1 opacity-60", children: ["\u00B7 ", formatTokens(b.inputTokens + b.outputTokens), " tok"] })] })] }), _jsx("div", { className: "h-1 rounded-full bg-accent/40 overflow-hidden", children: _jsx("div", { className: "h-full bg-foreground/70", style: { width: `${(b.cents / max) * 100}%` } }) })] }, b.key))) }));
33
+ }
34
+ function DailySparkline({ days }) {
35
+ if (days.length === 0)
36
+ return null;
37
+ const max = Math.max(...days.map((d) => d.cents), 0.0001);
38
+ return (_jsx("div", { className: "flex items-end gap-[2px] h-8 pt-2", children: days.map((d) => (_jsx("div", { className: "flex-1 bg-foreground/60 rounded-sm min-h-[1px]", style: { height: `${Math.max(2, (d.cents / max) * 100)}%` }, title: `${d.date}: ${formatCost(d.cents)} (${d.calls} calls)` }, d.date))) }));
39
+ }
40
+ export function UsageSection() {
41
+ const [days, setDays] = useState(30);
42
+ const [data, setData] = useState(null);
43
+ const [loading, setLoading] = useState(false);
44
+ const [error, setError] = useState(null);
45
+ const load = async (rangeDays) => {
46
+ setLoading(true);
47
+ setError(null);
48
+ try {
49
+ const res = await fetch(`/_agent-native/usage?sinceDays=${rangeDays}`);
50
+ if (!res.ok) {
51
+ throw new Error(`Failed (${res.status})`);
52
+ }
53
+ const json = (await res.json());
54
+ setData(json);
55
+ }
56
+ catch (err) {
57
+ setError(err?.message || "Failed to load usage");
58
+ }
59
+ finally {
60
+ setLoading(false);
61
+ }
62
+ };
63
+ useEffect(() => {
64
+ load(days);
65
+ }, [days]);
66
+ return (_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "flex gap-1 rounded-md border border-border p-0.5", children: RANGES.map((r) => (_jsx("button", { onClick: () => setDays(r.value), className: `px-2 py-0.5 text-[10px] rounded ${days === r.value
67
+ ? "bg-accent text-foreground"
68
+ : "text-muted-foreground hover:text-foreground"}`, children: r.label }, r.value))) }), _jsx("button", { onClick: () => load(days), className: "flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground", disabled: loading, children: loading ? (_jsx(IconLoader2, { size: 11, className: "animate-spin" })) : (_jsx(IconRefresh, { size: 11 })) })] }), error && _jsx("p", { className: "text-[10px] text-red-500", children: error }), data && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "rounded-md border border-border px-2.5 py-2", children: [_jsxs("div", { className: "flex items-baseline justify-between", children: [_jsxs("div", { children: [_jsx("div", { className: "text-[10px] text-muted-foreground", children: "Total spend" }), _jsx("div", { className: "text-[18px] font-semibold tabular-nums", children: formatCost(data.totalCents) })] }), _jsxs("div", { className: "text-right", children: [_jsxs("div", { className: "text-[10px] text-muted-foreground", children: [data.totalCalls, " calls"] }), _jsxs("div", { className: "text-[10px] text-muted-foreground", children: [formatTokens(data.totalInputTokens), " in \u00B7", " ", formatTokens(data.totalOutputTokens), " out"] }), data.totalCacheReadTokens > 0 && (_jsxs("div", { className: "text-[10px] text-green-500/80", children: [formatTokens(data.totalCacheReadTokens), " cached"] }))] })] }), _jsx(DailySparkline, { days: data.byDay })] }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-medium text-foreground mb-1", children: "By label" }), _jsx(BucketBars, { buckets: data.byLabel, emptyMessage: "No labeled calls yet." })] }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-medium text-foreground mb-1", children: "By model" }), _jsx(BucketBars, { buckets: data.byModel, emptyMessage: "No calls recorded." })] }), data.byApp.filter((b) => b.key).length > 1 && (_jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-medium text-foreground mb-1", children: "By app" }), _jsx(BucketBars, { buckets: data.byApp, emptyMessage: "" })] })), data.recent.length > 0 && (_jsxs("details", { children: [_jsxs("summary", { className: "text-[10px] font-medium text-foreground cursor-pointer select-none hover:text-foreground/80", children: ["Recent calls (", data.recent.length, ")"] }), _jsx("div", { className: "mt-1.5 max-h-48 overflow-y-auto space-y-0.5 rounded border border-border", children: data.recent.map((r) => (_jsxs("div", { className: "flex items-center justify-between gap-2 px-2 py-1 text-[10px] border-b border-border last:border-b-0", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "truncate text-foreground", title: r.label, children: [r.label, r.app ? (_jsxs("span", { className: "text-muted-foreground", children: [" ", "\u00B7 ", r.app] })) : null] }), _jsxs("div", { className: "truncate text-muted-foreground", children: [new Date(r.createdAt).toLocaleString(), " \u00B7 ", r.model] })] }), _jsx("div", { className: "shrink-0 text-right tabular-nums text-muted-foreground", children: formatCost(r.cents) })] }, r.id))) })] })), _jsx("p", { className: "text-[10px] text-muted-foreground", children: "Spend is estimated from published Anthropic pricing and your own recorded token counts. Cached input is priced at ~10% of regular input." })] }))] }));
69
+ }
70
+ //# sourceMappingURL=UsageSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsageSection.js","sourceRoot":"","sources":["../../../src/client/settings/UsageSection.tsx"],"names":[],"mappings":"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"}
@@ -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"}