@agent-native/core 0.7.17 → 0.7.19

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 (493) hide show
  1. package/dist/a2a/agent-card.js.map +1 -1
  2. package/dist/a2a/client.js.map +1 -1
  3. package/dist/a2a/handlers.js.map +1 -1
  4. package/dist/a2a/index.js.map +1 -1
  5. package/dist/a2a/server.js.map +1 -1
  6. package/dist/a2a/task-store.js.map +1 -1
  7. package/dist/a2a/types.js.map +1 -1
  8. package/dist/action.js.map +1 -1
  9. package/dist/adapters/cli/index.js.map +1 -1
  10. package/dist/adapters/cli/registry.js.map +1 -1
  11. package/dist/adapters/cli/shell-adapter.js.map +1 -1
  12. package/dist/adapters/cli/types.js.map +1 -1
  13. package/dist/agent/default-model.js.map +1 -1
  14. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  15. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  16. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  17. package/dist/agent/engine/builder-engine.js +15 -3
  18. package/dist/agent/engine/builder-engine.js.map +1 -1
  19. package/dist/agent/engine/builtin.js.map +1 -1
  20. package/dist/agent/engine/index.js.map +1 -1
  21. package/dist/agent/engine/provider-env-vars.js.map +1 -1
  22. package/dist/agent/engine/registry.d.ts +5 -3
  23. package/dist/agent/engine/registry.d.ts.map +1 -1
  24. package/dist/agent/engine/registry.js +6 -5
  25. package/dist/agent/engine/registry.js.map +1 -1
  26. package/dist/agent/engine/translate-ai-sdk.js.map +1 -1
  27. package/dist/agent/engine/translate-anthropic.js.map +1 -1
  28. package/dist/agent/engine/types.js.map +1 -1
  29. package/dist/agent/index.js.map +1 -1
  30. package/dist/agent/production-agent.js +1 -1
  31. package/dist/agent/production-agent.js.map +1 -1
  32. package/dist/agent/run-manager.js.map +1 -1
  33. package/dist/agent/run-store.js.map +1 -1
  34. package/dist/agent/thread-data-builder.js.map +1 -1
  35. package/dist/agent/types.js.map +1 -1
  36. package/dist/application-state/emitter.js.map +1 -1
  37. package/dist/application-state/handlers.js.map +1 -1
  38. package/dist/application-state/index.js.map +1 -1
  39. package/dist/application-state/script-helpers.js.map +1 -1
  40. package/dist/application-state/store.js.map +1 -1
  41. package/dist/chat-threads/emitter.js.map +1 -1
  42. package/dist/chat-threads/store.js.map +1 -1
  43. package/dist/checkpoints/index.js.map +1 -1
  44. package/dist/checkpoints/service.js.map +1 -1
  45. package/dist/checkpoints/store.js.map +1 -1
  46. package/dist/cli/create-workspace.js.map +1 -1
  47. package/dist/cli/create.d.ts.map +1 -1
  48. package/dist/cli/create.js +24 -2
  49. package/dist/cli/create.js.map +1 -1
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/info.js.map +1 -1
  52. package/dist/cli/setup-agents.js.map +1 -1
  53. package/dist/cli/templates-meta.js.map +1 -1
  54. package/dist/cli/workspacify.js.map +1 -1
  55. package/dist/client/AgentPanel.js.map +1 -1
  56. package/dist/client/AgentTaskCard.js.map +1 -1
  57. package/dist/client/AssistantChat.d.ts.map +1 -1
  58. package/dist/client/AssistantChat.js +34 -4
  59. package/dist/client/AssistantChat.js.map +1 -1
  60. package/dist/client/ClientOnly.js.map +1 -1
  61. package/dist/client/CommandMenu.js.map +1 -1
  62. package/dist/client/ConnectBuilderCard.js.map +1 -1
  63. package/dist/client/DefaultSpinner.js.map +1 -1
  64. package/dist/client/ErrorBoundary.js.map +1 -1
  65. package/dist/client/FeedbackButton.js.map +1 -1
  66. package/dist/client/IframeEmbed.js.map +1 -1
  67. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  68. package/dist/client/MultiTabAssistantChat.js +5 -21
  69. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  70. package/dist/client/PoweredByBadge.js.map +1 -1
  71. package/dist/client/ProductionAgentPanel.js.map +1 -1
  72. package/dist/client/Turnstile.js.map +1 -1
  73. package/dist/client/active-run-state.js.map +1 -1
  74. package/dist/client/agent-chat-adapter.d.ts +10 -0
  75. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  76. package/dist/client/agent-chat-adapter.js +23 -3
  77. package/dist/client/agent-chat-adapter.js.map +1 -1
  78. package/dist/client/agent-chat.js.map +1 -1
  79. package/dist/client/analytics.js.map +1 -1
  80. package/dist/client/api-path.js.map +1 -1
  81. package/dist/client/builder-mark.js.map +1 -1
  82. package/dist/client/components/AgentPresenceChip.js.map +1 -1
  83. package/dist/client/components/ApiKeySettings.js.map +1 -1
  84. package/dist/client/components/CodeAgentIndicator.js.map +1 -1
  85. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  86. package/dist/client/components/MissingKeyCard.js.map +1 -1
  87. package/dist/client/components/PresenceBar.js.map +1 -1
  88. package/dist/client/components/ui/popover.js.map +1 -1
  89. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  90. package/dist/client/composer/MentionPopover.js.map +1 -1
  91. package/dist/client/composer/TiptapComposer.js.map +1 -1
  92. package/dist/client/composer/VoiceButton.js.map +1 -1
  93. package/dist/client/composer/draft-key.js.map +1 -1
  94. package/dist/client/composer/extensions/FileReference.js.map +1 -1
  95. package/dist/client/composer/extensions/MentionReference.js.map +1 -1
  96. package/dist/client/composer/extensions/SkillReference.js.map +1 -1
  97. package/dist/client/composer/index.js.map +1 -1
  98. package/dist/client/composer/types.js.map +1 -1
  99. package/dist/client/composer/use-file-search.js.map +1 -1
  100. package/dist/client/composer/use-mention-search.js.map +1 -1
  101. package/dist/client/composer/use-skills.js.map +1 -1
  102. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  103. package/dist/client/dev-mode.js.map +1 -1
  104. package/dist/client/dev-overlay/DevOverlay.js.map +1 -1
  105. package/dist/client/dev-overlay/builtins.js.map +1 -1
  106. package/dist/client/dev-overlay/index.js.map +1 -1
  107. package/dist/client/dev-overlay/registry.js.map +1 -1
  108. package/dist/client/dev-overlay/types.js.map +1 -1
  109. package/dist/client/dev-overlay/use-dev-option.js.map +1 -1
  110. package/dist/client/dev-overlay/use-dev-overlay-shortcut.js.map +1 -1
  111. package/dist/client/embed.js.map +1 -1
  112. package/dist/client/error-format.js.map +1 -1
  113. package/dist/client/frame-protocol.js.map +1 -1
  114. package/dist/client/frame.js.map +1 -1
  115. package/dist/client/index.d.ts +0 -1
  116. package/dist/client/index.d.ts.map +1 -1
  117. package/dist/client/index.js +0 -1
  118. package/dist/client/index.js.map +1 -1
  119. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  120. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  121. package/dist/client/integrations/index.js.map +1 -1
  122. package/dist/client/integrations/useIntegrationStatus.js.map +1 -1
  123. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  124. package/dist/client/notifications/index.js.map +1 -1
  125. package/dist/client/observability/ObservabilityDashboard.js.map +1 -1
  126. package/dist/client/observability/ThumbsFeedback.js.map +1 -1
  127. package/dist/client/observability/index.js.map +1 -1
  128. package/dist/client/observability/useObservability.js.map +1 -1
  129. package/dist/client/onboarding/OnboardingBanner.js.map +1 -1
  130. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  131. package/dist/client/onboarding/OnboardingPanel.js +6 -27
  132. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  133. package/dist/client/onboarding/SetupButton.js.map +1 -1
  134. package/dist/client/onboarding/index.js.map +1 -1
  135. package/dist/client/onboarding/use-onboarding.js.map +1 -1
  136. package/dist/client/onboarding/use-preview-mode.js.map +1 -1
  137. package/dist/client/org/InvitationBanner.js.map +1 -1
  138. package/dist/client/org/OrgSwitcher.js.map +1 -1
  139. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  140. package/dist/client/org/TeamPage.d.ts.map +1 -1
  141. package/dist/client/org/TeamPage.js +14 -2
  142. package/dist/client/org/TeamPage.js.map +1 -1
  143. package/dist/client/org/hooks.js.map +1 -1
  144. package/dist/client/org/index.js.map +1 -1
  145. package/dist/client/progress/RunsTray.js.map +1 -1
  146. package/dist/client/progress/index.js.map +1 -1
  147. package/dist/client/resources/McpServerDetail.js.map +1 -1
  148. package/dist/client/resources/ResourceEditor.js.map +1 -1
  149. package/dist/client/resources/ResourceTree.js.map +1 -1
  150. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  151. package/dist/client/resources/index.js.map +1 -1
  152. package/dist/client/resources/use-mcp-servers.js.map +1 -1
  153. package/dist/client/resources/use-resources.js.map +1 -1
  154. package/dist/client/settings/AgentsSection.js.map +1 -1
  155. package/dist/client/settings/AutomationsSection.js.map +1 -1
  156. package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
  157. package/dist/client/settings/BrowserSection.js.map +1 -1
  158. package/dist/client/settings/SecretsSection.js.map +1 -1
  159. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  160. package/dist/client/settings/SettingsPanel.js +3 -19
  161. package/dist/client/settings/SettingsPanel.js.map +1 -1
  162. package/dist/client/settings/SettingsSection.js.map +1 -1
  163. package/dist/client/settings/UsageSection.js.map +1 -1
  164. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  165. package/dist/client/settings/index.js.map +1 -1
  166. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  167. package/dist/client/sharing/ShareButton.js.map +1 -1
  168. package/dist/client/sharing/ShareDialog.js.map +1 -1
  169. package/dist/client/sharing/VisibilityBadge.js.map +1 -1
  170. package/dist/client/sharing/index.js.map +1 -1
  171. package/dist/client/sse-event-processor.d.ts +6 -1
  172. package/dist/client/sse-event-processor.d.ts.map +1 -1
  173. package/dist/client/sse-event-processor.js +9 -3
  174. package/dist/client/sse-event-processor.js.map +1 -1
  175. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  176. package/dist/client/terminal/index.js.map +1 -1
  177. package/dist/client/tools/EmbeddedTool.js.map +1 -1
  178. package/dist/client/tools/ExtensionSlot.js.map +1 -1
  179. package/dist/client/tools/ToolEditor.js.map +1 -1
  180. package/dist/client/tools/ToolViewer.js.map +1 -1
  181. package/dist/client/tools/ToolViewerPage.js.map +1 -1
  182. package/dist/client/tools/ToolsListPage.js.map +1 -1
  183. package/dist/client/tools/ToolsSidebarSection.js.map +1 -1
  184. package/dist/client/tools/iframe-bridge.js.map +1 -1
  185. package/dist/client/tools/index.js.map +1 -1
  186. package/dist/client/transcription/BuilderTranscriptionCta.js.map +1 -1
  187. package/dist/client/transcription/use-live-transcription.js.map +1 -1
  188. package/dist/client/use-action.js.map +1 -1
  189. package/dist/client/use-agent-chat.js.map +1 -1
  190. package/dist/client/use-avatar.js.map +1 -1
  191. package/dist/client/use-chat-threads.js.map +1 -1
  192. package/dist/client/use-db-sync.js.map +1 -1
  193. package/dist/client/use-dev-mode.js.map +1 -1
  194. package/dist/client/use-pausing-interval.js.map +1 -1
  195. package/dist/client/use-send-to-agent-chat.js.map +1 -1
  196. package/dist/client/use-session.js.map +1 -1
  197. package/dist/client/useProductionAgent.js.map +1 -1
  198. package/dist/client/utils.js.map +1 -1
  199. package/dist/collab/agent-identity.js.map +1 -1
  200. package/dist/collab/agent-presence.js.map +1 -1
  201. package/dist/collab/awareness.js.map +1 -1
  202. package/dist/collab/client-struct.js.map +1 -1
  203. package/dist/collab/client.js.map +1 -1
  204. package/dist/collab/emitter.js.map +1 -1
  205. package/dist/collab/index.js.map +1 -1
  206. package/dist/collab/json-to-yjs.js.map +1 -1
  207. package/dist/collab/routes.js.map +1 -1
  208. package/dist/collab/storage.js.map +1 -1
  209. package/dist/collab/struct-routes.js.map +1 -1
  210. package/dist/collab/text-to-yjs.js.map +1 -1
  211. package/dist/collab/xml-ops.js.map +1 -1
  212. package/dist/collab/ydoc-manager.js.map +1 -1
  213. package/dist/credentials/index.js.map +1 -1
  214. package/dist/db/client.js.map +1 -1
  215. package/dist/db/create-get-db.js.map +1 -1
  216. package/dist/db/drizzle-config.js.map +1 -1
  217. package/dist/db/index.js.map +1 -1
  218. package/dist/db/migrations.js.map +1 -1
  219. package/dist/db/schema.js.map +1 -1
  220. package/dist/deploy/build.js.map +1 -1
  221. package/dist/deploy/route-discovery.js.map +1 -1
  222. package/dist/deploy/workspace-core.js.map +1 -1
  223. package/dist/deploy/workspace-deploy.js.map +1 -1
  224. package/dist/event-bus/bus.js.map +1 -1
  225. package/dist/event-bus/index.js.map +1 -1
  226. package/dist/event-bus/registry.js.map +1 -1
  227. package/dist/event-bus/types.js.map +1 -1
  228. package/dist/file-upload/builder.js.map +1 -1
  229. package/dist/file-upload/index.js.map +1 -1
  230. package/dist/file-upload/registry.js.map +1 -1
  231. package/dist/file-upload/types.js.map +1 -1
  232. package/dist/index.browser.js.map +1 -1
  233. package/dist/index.js.map +1 -1
  234. package/dist/integrations/adapters/email.js.map +1 -1
  235. package/dist/integrations/adapters/google-docs.js.map +1 -1
  236. package/dist/integrations/adapters/slack.js.map +1 -1
  237. package/dist/integrations/adapters/telegram.js.map +1 -1
  238. package/dist/integrations/adapters/whatsapp.js.map +1 -1
  239. package/dist/integrations/config-store.js.map +1 -1
  240. package/dist/integrations/google-docs-poller.js.map +1 -1
  241. package/dist/integrations/index.js.map +1 -1
  242. package/dist/integrations/internal-token.js.map +1 -1
  243. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
  244. package/dist/integrations/pending-tasks-retry-job.js +1 -1
  245. package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
  246. package/dist/integrations/pending-tasks-store.js.map +1 -1
  247. package/dist/integrations/plugin.js.map +1 -1
  248. package/dist/integrations/task-queue-stats.js.map +1 -1
  249. package/dist/integrations/thread-mapping-store.js.map +1 -1
  250. package/dist/integrations/types.js.map +1 -1
  251. package/dist/integrations/webhook-handler.js.map +1 -1
  252. package/dist/jobs/cron.js.map +1 -1
  253. package/dist/jobs/index.js.map +1 -1
  254. package/dist/jobs/scheduler.js.map +1 -1
  255. package/dist/jobs/tools.js.map +1 -1
  256. package/dist/mcp/index.js.map +1 -1
  257. package/dist/mcp/server.js.map +1 -1
  258. package/dist/mcp-client/config.js.map +1 -1
  259. package/dist/mcp-client/hub-client.js.map +1 -1
  260. package/dist/mcp-client/hub-routes.js.map +1 -1
  261. package/dist/mcp-client/index.js.map +1 -1
  262. package/dist/mcp-client/manager.js.map +1 -1
  263. package/dist/mcp-client/remote-store.js.map +1 -1
  264. package/dist/mcp-client/routes.js.map +1 -1
  265. package/dist/mcp-client/visibility.js.map +1 -1
  266. package/dist/notifications/actions.js.map +1 -1
  267. package/dist/notifications/channels.js.map +1 -1
  268. package/dist/notifications/index.js.map +1 -1
  269. package/dist/notifications/registry.js.map +1 -1
  270. package/dist/notifications/routes.js.map +1 -1
  271. package/dist/notifications/store.js.map +1 -1
  272. package/dist/notifications/types.js.map +1 -1
  273. package/dist/oauth-tokens/google-refresh.js.map +1 -1
  274. package/dist/oauth-tokens/index.js.map +1 -1
  275. package/dist/oauth-tokens/store.js.map +1 -1
  276. package/dist/observability/cleanup-job.js.map +1 -1
  277. package/dist/observability/evals.js.map +1 -1
  278. package/dist/observability/experiments.js.map +1 -1
  279. package/dist/observability/feedback.js.map +1 -1
  280. package/dist/observability/index.js.map +1 -1
  281. package/dist/observability/plugin.js.map +1 -1
  282. package/dist/observability/routes.js.map +1 -1
  283. package/dist/observability/store.js.map +1 -1
  284. package/dist/observability/traces.js.map +1 -1
  285. package/dist/observability/types.js.map +1 -1
  286. package/dist/onboarding/default-steps.d.ts.map +1 -1
  287. package/dist/onboarding/default-steps.js +0 -1
  288. package/dist/onboarding/default-steps.js.map +1 -1
  289. package/dist/onboarding/index.js.map +1 -1
  290. package/dist/onboarding/plugin.js.map +1 -1
  291. package/dist/onboarding/registry.js.map +1 -1
  292. package/dist/onboarding/types.d.ts +0 -9
  293. package/dist/onboarding/types.d.ts.map +1 -1
  294. package/dist/onboarding/types.js.map +1 -1
  295. package/dist/org/accept-pending.js.map +1 -1
  296. package/dist/org/context.js.map +1 -1
  297. package/dist/org/handlers.js.map +1 -1
  298. package/dist/org/index.js.map +1 -1
  299. package/dist/org/migrations.js.map +1 -1
  300. package/dist/org/plugin.js.map +1 -1
  301. package/dist/org/schema.js.map +1 -1
  302. package/dist/org/types.js.map +1 -1
  303. package/dist/progress/actions.js.map +1 -1
  304. package/dist/progress/index.js.map +1 -1
  305. package/dist/progress/registry.js.map +1 -1
  306. package/dist/progress/routes.js.map +1 -1
  307. package/dist/progress/store.js.map +1 -1
  308. package/dist/progress/types.js.map +1 -1
  309. package/dist/resources/agents.js.map +1 -1
  310. package/dist/resources/emitter.js.map +1 -1
  311. package/dist/resources/handlers.js.map +1 -1
  312. package/dist/resources/index.js.map +1 -1
  313. package/dist/resources/metadata.js.map +1 -1
  314. package/dist/resources/script-helpers.js.map +1 -1
  315. package/dist/resources/store.js.map +1 -1
  316. package/dist/router/index.js.map +1 -1
  317. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
  318. package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -1
  319. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
  320. package/dist/scripts/agent-engines/test-agent-engine.js.map +1 -1
  321. package/dist/scripts/call-agent.js.map +1 -1
  322. package/dist/scripts/chat/index.js.map +1 -1
  323. package/dist/scripts/chat/open-chat.js.map +1 -1
  324. package/dist/scripts/chat/search-chats.js.map +1 -1
  325. package/dist/scripts/core-scripts.js.map +1 -1
  326. package/dist/scripts/db/check-scoping.js.map +1 -1
  327. package/dist/scripts/db/exec.js.map +1 -1
  328. package/dist/scripts/db/index.js.map +1 -1
  329. package/dist/scripts/db/migrate-user-api-keys.js.map +1 -1
  330. package/dist/scripts/db/patch.js.map +1 -1
  331. package/dist/scripts/db/query.js.map +1 -1
  332. package/dist/scripts/db/schema.js.map +1 -1
  333. package/dist/scripts/db/scoping.js.map +1 -1
  334. package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -1
  335. package/dist/scripts/dev/index.js.map +1 -1
  336. package/dist/scripts/dev/list-files.js.map +1 -1
  337. package/dist/scripts/dev/read-file.js.map +1 -1
  338. package/dist/scripts/dev/search-files.js.map +1 -1
  339. package/dist/scripts/dev/shell.js.map +1 -1
  340. package/dist/scripts/dev/write-file.js.map +1 -1
  341. package/dist/scripts/docs/index.js.map +1 -1
  342. package/dist/scripts/docs/search.js.map +1 -1
  343. package/dist/scripts/index.js.map +1 -1
  344. package/dist/scripts/parse-args.js.map +1 -1
  345. package/dist/scripts/resources/delete-memory.js.map +1 -1
  346. package/dist/scripts/resources/delete.js.map +1 -1
  347. package/dist/scripts/resources/index.js.map +1 -1
  348. package/dist/scripts/resources/list.js.map +1 -1
  349. package/dist/scripts/resources/migrate-learnings.js.map +1 -1
  350. package/dist/scripts/resources/read.js.map +1 -1
  351. package/dist/scripts/resources/save-memory.js.map +1 -1
  352. package/dist/scripts/resources/write.js.map +1 -1
  353. package/dist/scripts/runner.js.map +1 -1
  354. package/dist/scripts/utils.d.ts.map +1 -1
  355. package/dist/scripts/utils.js +3 -2
  356. package/dist/scripts/utils.js.map +1 -1
  357. package/dist/secrets/index.js.map +1 -1
  358. package/dist/secrets/onboarding.js.map +1 -1
  359. package/dist/secrets/register-framework-secrets.js.map +1 -1
  360. package/dist/secrets/register.js.map +1 -1
  361. package/dist/secrets/routes.js.map +1 -1
  362. package/dist/secrets/schema.js.map +1 -1
  363. package/dist/secrets/storage.js.map +1 -1
  364. package/dist/secrets/substitution.js.map +1 -1
  365. package/dist/server/action-discovery.js.map +1 -1
  366. package/dist/server/action-routes.js.map +1 -1
  367. package/dist/server/agent-chat-plugin.js +1 -1
  368. package/dist/server/agent-chat-plugin.js.map +1 -1
  369. package/dist/server/agent-discovery.js.map +1 -1
  370. package/dist/server/agent-teams.js.map +1 -1
  371. package/dist/server/agents-bundle.js.map +1 -1
  372. package/dist/server/analytics.js.map +1 -1
  373. package/dist/server/app-base-path.js.map +1 -1
  374. package/dist/server/app-name.js.map +1 -1
  375. package/dist/server/app-url.js.map +1 -1
  376. package/dist/server/auth-plugin.js.map +1 -1
  377. package/dist/server/auth.d.ts +29 -0
  378. package/dist/server/auth.d.ts.map +1 -1
  379. package/dist/server/auth.js +32 -6
  380. package/dist/server/auth.js.map +1 -1
  381. package/dist/server/better-auth-instance.d.ts +15 -0
  382. package/dist/server/better-auth-instance.d.ts.map +1 -1
  383. package/dist/server/better-auth-instance.js +115 -0
  384. package/dist/server/better-auth-instance.js.map +1 -1
  385. package/dist/server/builder-browser.js.map +1 -1
  386. package/dist/server/captcha.js.map +1 -1
  387. package/dist/server/cli-capture.js.map +1 -1
  388. package/dist/server/collab-plugin.js.map +1 -1
  389. package/dist/server/core-routes-plugin.js.map +1 -1
  390. package/dist/server/create-server.js.map +1 -1
  391. package/dist/server/credential-provider.js.map +1 -1
  392. package/dist/server/csrf.js.map +1 -1
  393. package/dist/server/date-utils.js.map +1 -1
  394. package/dist/server/design-token-utils.js.map +1 -1
  395. package/dist/server/desktop-sso.js.map +1 -1
  396. package/dist/server/email-template.js.map +1 -1
  397. package/dist/server/email-templates.js.map +1 -1
  398. package/dist/server/email.js.map +1 -1
  399. package/dist/server/framework-request-handler.js.map +1 -1
  400. package/dist/server/google-auth-plugin.js.map +1 -1
  401. package/dist/server/google-oauth.d.ts +1 -1
  402. package/dist/server/google-oauth.d.ts.map +1 -1
  403. package/dist/server/google-oauth.js +4 -3
  404. package/dist/server/google-oauth.js.map +1 -1
  405. package/dist/server/h3-helpers.js.map +1 -1
  406. package/dist/server/index.js.map +1 -1
  407. package/dist/server/local-migration.js.map +1 -1
  408. package/dist/server/missing-key.js.map +1 -1
  409. package/dist/server/oauth-helpers.js.map +1 -1
  410. package/dist/server/onboarding-html.js.map +1 -1
  411. package/dist/server/poll.js.map +1 -1
  412. package/dist/server/request-context.js.map +1 -1
  413. package/dist/server/resources-plugin.js.map +1 -1
  414. package/dist/server/schema-prompt.js.map +1 -1
  415. package/dist/server/script-discovery.js.map +1 -1
  416. package/dist/server/security-headers.js.map +1 -1
  417. package/dist/server/short-lived-token.js.map +1 -1
  418. package/dist/server/sse.js.map +1 -1
  419. package/dist/server/ssr-handler.js.map +1 -1
  420. package/dist/server/transcribe-voice.js.map +1 -1
  421. package/dist/server/voice-providers-status.d.ts +7 -0
  422. package/dist/server/voice-providers-status.d.ts.map +1 -1
  423. package/dist/server/voice-providers-status.js +1 -0
  424. package/dist/server/voice-providers-status.js.map +1 -1
  425. package/dist/settings/handlers.js.map +1 -1
  426. package/dist/settings/index.js.map +1 -1
  427. package/dist/settings/org-settings.js.map +1 -1
  428. package/dist/settings/script-helpers.js.map +1 -1
  429. package/dist/settings/store.js.map +1 -1
  430. package/dist/settings/user-settings.js.map +1 -1
  431. package/dist/shared/agent-chat.js.map +1 -1
  432. package/dist/shared/agent-env.js.map +1 -1
  433. package/dist/shared/index.js.map +1 -1
  434. package/dist/shared/runtime.js.map +1 -1
  435. package/dist/shared/truncate.js.map +1 -1
  436. package/dist/sharing/access.d.ts +9 -1
  437. package/dist/sharing/access.d.ts.map +1 -1
  438. package/dist/sharing/access.js +11 -2
  439. package/dist/sharing/access.js.map +1 -1
  440. package/dist/sharing/actions/list-resource-shares.js.map +1 -1
  441. package/dist/sharing/actions/set-resource-visibility.js.map +1 -1
  442. package/dist/sharing/actions/share-resource.js.map +1 -1
  443. package/dist/sharing/actions/unshare-resource.js.map +1 -1
  444. package/dist/sharing/index.js.map +1 -1
  445. package/dist/sharing/registry.js.map +1 -1
  446. package/dist/sharing/schema.js.map +1 -1
  447. package/dist/tailwind.preset.js.map +1 -1
  448. package/dist/terminal/cli-registry.js.map +1 -1
  449. package/dist/terminal/index.js.map +1 -1
  450. package/dist/terminal/pty-server.js.map +1 -1
  451. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  452. package/dist/terminal/terminal-plugin.js +19 -4
  453. package/dist/terminal/terminal-plugin.js.map +1 -1
  454. package/dist/tools/actions.js.map +1 -1
  455. package/dist/tools/fetch-tool.js.map +1 -1
  456. package/dist/tools/html-shell.js.map +1 -1
  457. package/dist/tools/proxy-security.js.map +1 -1
  458. package/dist/tools/routes.js.map +1 -1
  459. package/dist/tools/schema.js.map +1 -1
  460. package/dist/tools/slots/routes.js.map +1 -1
  461. package/dist/tools/slots/schema.js.map +1 -1
  462. package/dist/tools/slots/store.js.map +1 -1
  463. package/dist/tools/store.d.ts.map +1 -1
  464. package/dist/tools/store.js +6 -1
  465. package/dist/tools/store.js.map +1 -1
  466. package/dist/tools/theme.js.map +1 -1
  467. package/dist/tools/url-safety.js.map +1 -1
  468. package/dist/tracking/index.js.map +1 -1
  469. package/dist/tracking/providers.js.map +1 -1
  470. package/dist/tracking/registry.js.map +1 -1
  471. package/dist/tracking/types.js.map +1 -1
  472. package/dist/transcription/builder-transcription.js.map +1 -1
  473. package/dist/triggers/actions.js.map +1 -1
  474. package/dist/triggers/condition-evaluator.js.map +1 -1
  475. package/dist/triggers/dispatcher.js.map +1 -1
  476. package/dist/triggers/index.js.map +1 -1
  477. package/dist/triggers/types.js.map +1 -1
  478. package/dist/usage/store.js.map +1 -1
  479. package/dist/vite/action-types-plugin.js.map +1 -1
  480. package/dist/vite/agents-bundle-plugin.js.map +1 -1
  481. package/dist/vite/client.d.ts.map +1 -1
  482. package/dist/vite/client.js +4 -0
  483. package/dist/vite/client.js.map +1 -1
  484. package/dist/vite/index.js.map +1 -1
  485. package/package.json +1 -1
  486. package/dist/client/settings/ComingSoonSection.d.ts +0 -13
  487. package/dist/client/settings/ComingSoonSection.d.ts.map +0 -1
  488. package/dist/client/settings/ComingSoonSection.js +0 -10
  489. package/dist/client/settings/ComingSoonSection.js.map +0 -1
  490. package/dist/client/use-builder-enabled.d.ts +0 -17
  491. package/dist/client/use-builder-enabled.d.ts.map +0 -1
  492. package/dist/client/use-builder-enabled.js +0 -37
  493. package/dist/client/use-builder-enabled.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DevOverlay.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/DevOverlay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevOverlay.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/DevOverlay.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * <DevOverlay /> — the framework dev/configuration panel.\n *\n * Templates render this once at the root of their app. The user toggles it\n * with Cmd+Ctrl+A (also exposed as `useDevOverlayShortcut`). Panels register\n * via `registerDevPanel`; values for option-style controls persist to\n * localStorage via `useDevOption`.\n *\n * Visibility note: the overlay only mounts when the host explicitly opens it\n * via the keybinding (or the `open` prop). It is dev-only by convention —\n * shipping with the keybinding active in prod is fine because nothing renders\n * unless invoked.\n */\n\nimport {\n useCallback,\n useEffect,\n useState,\n useSyncExternalStore,\n type ReactNode,\n} from \"react\";\nimport {\n IconChevronDown,\n IconChevronRight,\n IconLoader2,\n IconRefresh,\n IconTrash,\n IconX,\n} from \"@tabler/icons-react\";\nimport { listDevPanels, subscribeDevPanels } from \"./registry.js\";\nimport {\n clearAllDevOverlayStorage,\n useDevOption,\n DEV_OVERLAY_STORAGE_PREFIX,\n} from \"./use-dev-option.js\";\nimport { useDevOverlayShortcut } from \"./use-dev-overlay-shortcut.js\";\nimport type {\n DevActionOption,\n DevBooleanOption,\n DevOption,\n DevPanel,\n DevSelectOption,\n DevStringOption,\n} from \"./types.js\";\nimport \"./builtins.js\";\n\nconst PANEL_OPEN_KEY = `${DEV_OVERLAY_STORAGE_PREFIX}open`;\nconst COLLAPSED_KEY_PREFIX = `${DEV_OVERLAY_STORAGE_PREFIX}collapsed-`;\n\nexport interface DevOverlayProps {\n /**\n * Force-control the overlay's visibility. When omitted the overlay manages\n * its own state and listens to Cmd+Ctrl+A.\n */\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\nexport function DevOverlay({ open, onOpenChange }: DevOverlayProps = {}) {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : internalOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n useDevOverlayShortcut(useCallback(() => setOpen(!isOpen), [isOpen, setOpen]));\n\n // Esc closes (only when overlay is the topmost UI — skip when typing).\n useEffect(() => {\n if (!isOpen) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key !== \"Escape\") return;\n const target = e.target as HTMLElement | null;\n if (\n target &&\n (target.tagName === \"INPUT\" ||\n target.tagName === \"TEXTAREA\" ||\n target.isContentEditable)\n ) {\n return;\n }\n setOpen(false);\n };\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [isOpen, setOpen]);\n\n if (!isOpen) return null;\n return <DevOverlayPanel onClose={() => setOpen(false)} />;\n}\n\nfunction DevOverlayPanel({ onClose }: { onClose: () => void }) {\n const panels = useSyncExternalStore(\n subscribeDevPanels,\n listDevPanels,\n listDevPanels,\n );\n\n return (\n <div style={styles.shell} role=\"dialog\" aria-label=\"Dev overlay\">\n <div style={styles.header}>\n <div>\n <div style={styles.headerTitle}>Dev Overlay</div>\n <div style={styles.headerSub}>Cmd+Ctrl+A · localStorage-backed</div>\n </div>\n <button\n type=\"button\"\n style={styles.iconBtn}\n onClick={onClose}\n aria-label=\"Close\"\n title=\"Close (Esc)\"\n >\n <IconX size={16} />\n </button>\n </div>\n\n <div style={styles.body}>\n {panels.length === 0 ? (\n <div style={styles.empty}>\n No panels registered. Call <code>registerDevPanel(...)</code> from\n your template to add options here.\n </div>\n ) : (\n panels.map((panel) => <DevPanelCard key={panel.id} panel={panel} />)\n )}\n </div>\n\n <div style={styles.footer}>\n <button\n type=\"button\"\n style={{ ...styles.footerBtn, ...styles.footerBtnDanger }}\n onClick={() => {\n clearAllDevOverlayStorage();\n }}\n title=\"Reset every dev-overlay value back to its default\"\n >\n <IconTrash size={13} />\n Clear all dev-overlay values\n </button>\n </div>\n </div>\n );\n}\n\nfunction DevPanelCard({ panel }: { panel: DevPanel }) {\n const [collapsedRaw, setCollapsedRaw] = useState<boolean>(() => {\n if (typeof window === \"undefined\") return false;\n try {\n return (\n window.localStorage.getItem(`${COLLAPSED_KEY_PREFIX}${panel.id}`) ===\n \"1\"\n );\n } catch {\n return false;\n }\n });\n const setCollapsed = (next: boolean) => {\n setCollapsedRaw(next);\n try {\n window.localStorage.setItem(\n `${COLLAPSED_KEY_PREFIX}${panel.id}`,\n next ? \"1\" : \"0\",\n );\n } catch {\n // ignore — collapsed state is just UX sugar\n }\n };\n\n return (\n <div style={styles.panel}>\n <button\n type=\"button\"\n style={styles.panelHeader}\n onClick={() => setCollapsed(!collapsedRaw)}\n >\n {collapsedRaw ? (\n <IconChevronRight size={14} />\n ) : (\n <IconChevronDown size={14} />\n )}\n <span style={styles.panelLabel}>{panel.label}</span>\n </button>\n {!collapsedRaw && (\n <div style={styles.panelBody}>\n {panel.description && (\n <div style={styles.panelDesc}>{panel.description}</div>\n )}\n {(panel.options ?? []).map((option) => (\n <DevOptionRow key={option.id} panelId={panel.id} option={option} />\n ))}\n {panel.render ? (\n <div style={styles.customRender}>{panel.render()}</div>\n ) : null}\n </div>\n )}\n </div>\n );\n}\n\nfunction DevOptionRow({\n panelId,\n option,\n}: {\n panelId: string;\n option: DevOption;\n}) {\n if (option.type === \"boolean\") {\n return <DevBooleanRow panelId={panelId} option={option} />;\n }\n if (option.type === \"select\") {\n return <DevSelectRow panelId={panelId} option={option} />;\n }\n if (option.type === \"string\") {\n return <DevStringRow panelId={panelId} option={option} />;\n }\n return <DevActionRow option={option} />;\n}\n\nfunction DevBooleanRow({\n panelId,\n option,\n}: {\n panelId: string;\n option: DevBooleanOption;\n}) {\n const [value, setValue] = useDevOption(\n panelId,\n option.id,\n option.default ?? false,\n );\n return (\n <label style={styles.row}>\n <div style={styles.rowLabels}>\n <div style={styles.rowLabel}>{option.label}</div>\n {option.description && (\n <div style={styles.rowDesc}>{option.description}</div>\n )}\n </div>\n <input\n type=\"checkbox\"\n checked={!!value}\n onChange={(e) => {\n const next = e.target.checked;\n setValue(next);\n option.onChange?.(next);\n }}\n style={styles.checkbox}\n />\n </label>\n );\n}\n\nfunction DevSelectRow({\n panelId,\n option,\n}: {\n panelId: string;\n option: DevSelectOption;\n}) {\n const [value, setValue] = useDevOption(\n panelId,\n option.id,\n option.default ?? option.choices[0]?.value ?? \"\",\n );\n return (\n <div style={styles.row}>\n <div style={styles.rowLabels}>\n <div style={styles.rowLabel}>{option.label}</div>\n {option.description && (\n <div style={styles.rowDesc}>{option.description}</div>\n )}\n </div>\n <select\n value={value}\n onChange={(e) => {\n const next = e.target.value;\n setValue(next);\n option.onChange?.(next);\n }}\n style={styles.select}\n >\n {option.choices.map((c) => (\n <option key={c.value} value={c.value}>\n {c.label}\n </option>\n ))}\n </select>\n </div>\n );\n}\n\nfunction DevStringRow({\n panelId,\n option,\n}: {\n panelId: string;\n option: DevStringOption;\n}) {\n const [value, setValue] = useDevOption(\n panelId,\n option.id,\n option.default ?? \"\",\n );\n return (\n <div\n style={{ ...styles.row, alignItems: \"stretch\", flexDirection: \"column\" }}\n >\n <div style={styles.rowLabels}>\n <div style={styles.rowLabel}>{option.label}</div>\n {option.description && (\n <div style={styles.rowDesc}>{option.description}</div>\n )}\n </div>\n <input\n type=\"text\"\n value={value}\n placeholder={option.placeholder}\n onChange={(e) => {\n const next = e.target.value;\n setValue(next);\n option.onChange?.(next);\n }}\n style={styles.input}\n />\n </div>\n );\n}\n\nfunction DevActionRow({ option }: { option: DevActionOption }) {\n const [busy, setBusy] = useState(false);\n return (\n <div style={styles.row}>\n <div style={styles.rowLabels}>\n <div style={styles.rowLabel}>{option.label}</div>\n {option.description && (\n <div style={styles.rowDesc}>{option.description}</div>\n )}\n </div>\n <button\n type=\"button\"\n disabled={busy}\n onClick={async () => {\n setBusy(true);\n try {\n await option.onClick();\n } finally {\n setBusy(false);\n }\n }}\n style={{\n ...styles.actionBtn,\n ...(option.destructive ? styles.actionBtnDanger : {}),\n }}\n >\n {busy ? (\n <IconLoader2\n size={13}\n style={{ animation: \"spin 1s linear infinite\" }}\n />\n ) : (\n <IconRefresh size={13} />\n )}\n {option.buttonLabel ?? option.label}\n </button>\n </div>\n );\n}\n\n// Shadow / border styles tuned to read well over both light and dark app\n// chrome — the overlay is dev-only so we don't bother with theme tokens.\nconst styles: Record<string, React.CSSProperties> = {\n shell: {\n position: \"fixed\",\n top: 16,\n right: 16,\n width: 380,\n maxWidth: \"calc(100vw - 32px)\",\n // Sized to content; capped so it never spills off-screen on small windows.\n maxHeight: \"calc(100vh - 32px)\",\n background: \"rgba(20, 20, 23, 0.96)\",\n color: \"#f4f4f5\",\n border: \"1px solid rgba(255,255,255,0.08)\",\n borderRadius: 12,\n boxShadow: \"0 24px 60px rgba(0,0,0,0.5)\",\n backdropFilter: \"blur(12px)\",\n WebkitBackdropFilter: \"blur(12px)\",\n fontFamily:\n \"-apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', sans-serif\",\n fontSize: 13,\n zIndex: 2147483646,\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n },\n header: {\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n padding: \"14px 16px\",\n borderBottom: \"1px solid rgba(255,255,255,0.06)\",\n },\n headerTitle: { fontWeight: 600, fontSize: 14 },\n headerSub: { fontSize: 11, opacity: 0.55, marginTop: 2 },\n iconBtn: {\n background: \"transparent\",\n border: \"none\",\n color: \"inherit\",\n cursor: \"pointer\",\n padding: 4,\n borderRadius: 6,\n display: \"inline-flex\",\n alignItems: \"center\",\n },\n body: {\n padding: 12,\n overflowY: \"auto\",\n flex: 1,\n // Required to let `overflow-y: auto` actually scroll inside a flex column.\n // Without this, flex children grow to fit content and the scroll never\n // engages.\n minHeight: 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 8,\n },\n empty: {\n padding: 16,\n fontSize: 12,\n opacity: 0.7,\n background: \"rgba(255,255,255,0.03)\",\n borderRadius: 8,\n border: \"1px dashed rgba(255,255,255,0.1)\",\n },\n panel: {\n background: \"rgba(255,255,255,0.03)\",\n border: \"1px solid rgba(255,255,255,0.06)\",\n borderRadius: 8,\n overflow: \"hidden\",\n },\n panelHeader: {\n display: \"flex\",\n alignItems: \"center\",\n gap: 6,\n width: \"100%\",\n background: \"transparent\",\n border: \"none\",\n color: \"inherit\",\n padding: \"10px 12px\",\n cursor: \"pointer\",\n fontSize: 13,\n textAlign: \"left\",\n },\n panelLabel: { fontWeight: 600 },\n panelBody: {\n padding: \"0 12px 12px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: 10,\n },\n panelDesc: { fontSize: 11, opacity: 0.65, lineHeight: 1.4 },\n customRender: { marginTop: 4 },\n row: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: 12,\n },\n rowLabels: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: 2,\n flex: 1,\n minWidth: 0,\n },\n rowLabel: { fontSize: 13 },\n rowDesc: { fontSize: 11, opacity: 0.6, lineHeight: 1.4 },\n checkbox: {\n width: 16,\n height: 16,\n cursor: \"pointer\",\n accentColor: \"#3b82f6\",\n },\n select: {\n background: \"rgba(255,255,255,0.06)\",\n color: \"inherit\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 6,\n padding: \"4px 8px\",\n fontSize: 12,\n minWidth: 120,\n cursor: \"pointer\",\n },\n input: {\n background: \"rgba(255,255,255,0.06)\",\n color: \"inherit\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 6,\n padding: \"6px 8px\",\n fontSize: 12,\n width: \"100%\",\n boxSizing: \"border-box\",\n },\n actionBtn: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 6,\n background: \"rgba(59,130,246,0.15)\",\n color: \"#bfdbfe\",\n border: \"1px solid rgba(59,130,246,0.3)\",\n borderRadius: 6,\n padding: \"5px 10px\",\n fontSize: 12,\n cursor: \"pointer\",\n fontWeight: 500,\n },\n actionBtnDanger: {\n background: \"rgba(239,68,68,0.15)\",\n color: \"#fecaca\",\n border: \"1px solid rgba(239,68,68,0.3)\",\n },\n footer: {\n padding: 10,\n borderTop: \"1px solid rgba(255,255,255,0.06)\",\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n footerBtn: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 6,\n background: \"transparent\",\n color: \"inherit\",\n border: \"1px solid rgba(255,255,255,0.12)\",\n borderRadius: 6,\n padding: \"5px 10px\",\n fontSize: 11,\n cursor: \"pointer\",\n },\n footerBtnDanger: { color: \"#fecaca\", borderColor: \"rgba(239,68,68,0.3)\" },\n};\n\n// Inject keyframes for the spinner once.\nif (\n typeof document !== \"undefined\" &&\n !document.getElementById(\"agent-native-dev-overlay-keyframes\")\n) {\n const styleEl = document.createElement(\"style\");\n styleEl.id = \"agent-native-dev-overlay-keyframes\";\n styleEl.textContent = \"@keyframes spin { to { transform: rotate(360deg); } }\";\n document.head.appendChild(styleEl);\n}\n\n// `ReactNode` is intentionally re-imported here so the file is self-contained\n// when consumed via the package's exports map.\nexport type { ReactNode };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/builtins.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,SAAS,gBAAgB;IACvB,IAAI,UAAU;QAAE,OAAO;IACvB,UAAU,GAAG,IAAI,CAAC;IAElB,gBAAgB,CAAC;QACf,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,wEAAwE;QAC1E,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,kBAAkB;gBACtB,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EACT,8DAA8D;gBAChE,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACpB,kEAAkE;oBAClE,oEAAoE;oBACpE,IAAI,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC7C,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/builtins.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,SAAS,gBAAgB;IACvB,IAAI,UAAU;QAAE,OAAO;IACvB,UAAU,GAAG,IAAI,CAAC;IAElB,gBAAgB,CAAC;QACf,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,wEAAwE;QAC1E,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,kBAAkB;gBACtB,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EACT,8DAA8D;gBAChE,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACpB,kEAAkE;oBAClE,oEAAoE;oBACpE,IAAI,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC7C,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB,EAAE,CAAC","sourcesContent":["/**\n * Framework-shipped dev-overlay panels. Loaded as a side-effect import from\n * `DevOverlay.tsx` so any app that mounts the overlay gets these for free.\n */\n\nimport { registerDevPanel } from \"./registry.js\";\n\nlet registered = false;\n\nfunction registerBuiltins() {\n if (registered) return;\n registered = true;\n\n registerDevPanel({\n id: \"framework-onboarding\",\n label: \"Onboarding\",\n description:\n \"Preview the new-user onboarding flow without resetting your own setup.\",\n order: 10,\n options: [\n {\n id: \"show-as-new-user\",\n label: \"Show onboarding as new user\",\n description:\n \"Renders the real onboarding panel with all steps incomplete.\",\n type: \"boolean\",\n default: false,\n onChange: (enabled) => {\n // The OnboardingPanel lives inside the agent sidebar — opening it\n // here makes the toggle actually visible when the user flips it on.\n if (enabled && typeof window !== \"undefined\") {\n window.dispatchEvent(new Event(\"agent-panel:open\"));\n }\n },\n },\n ],\n });\n}\n\nregisterBuiltins();\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC","sourcesContent":["export { DevOverlay, type DevOverlayProps } from \"./DevOverlay.js\";\nexport { useDevOverlayShortcut } from \"./use-dev-overlay-shortcut.js\";\nexport {\n registerDevPanel,\n unregisterDevPanel,\n listDevPanels,\n subscribeDevPanels,\n} from \"./registry.js\";\nexport {\n useDevOption,\n clearAllDevOverlayStorage,\n devOptionKey,\n DEV_OVERLAY_STORAGE_PREFIX,\n} from \"./use-dev-option.js\";\nexport type {\n DevPanel,\n DevOption,\n DevBooleanOption,\n DevSelectOption,\n DevStringOption,\n DevActionOption,\n DevOptionValue,\n} from \"./types.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AACxC,sEAAsE;AACtE,0EAA0E;AAC1E,kBAAkB;AAClB,IAAI,cAAc,GAAsB,EAAE,CAAC;AAE3C,SAAS,kBAAkB;IACzB,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,IAAI;IACX,kBAAkB,EAAE,CAAC;IACrB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC;IACP,OAAO,GAAG,EAAE;QACV,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAC1C,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;QAC9B,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,GAAG,MAAM,CAAC;QAC9C,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAoB;IACrD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AACxC,sEAAsE;AACtE,0EAA0E;AAC1E,kBAAkB;AAClB,IAAI,cAAc,GAAsB,EAAE,CAAC;AAE3C,SAAS,kBAAkB;IACzB,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,IAAI;IACX,kBAAkB,EAAE,CAAC;IACrB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC;IACP,OAAO,GAAG,EAAE;QACV,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAC1C,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;QAC9B,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,GAAG,MAAM,CAAC;QAC9C,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAoB;IACrD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Client-side registry for dev-overlay panels.\n *\n * Panels register at module load (or via React effect) and the overlay reads\n * from this registry on each render. Re-registering the same id replaces the\n * previous panel — templates can override framework defaults.\n */\n\nimport type { DevPanel } from \"./types.js\";\n\nconst panels = new Map<string, DevPanel>();\nconst listeners = new Set<() => void>();\n// Cache the sorted snapshot so useSyncExternalStore receives a stable\n// reference between unrelated renders. Recomputed lazily on the next read\n// after `emit()`.\nlet cachedSnapshot: DevPanel[] | null = [];\n\nfunction invalidateSnapshot() {\n cachedSnapshot = null;\n}\n\nfunction emit() {\n invalidateSnapshot();\n for (const listener of listeners) {\n try {\n listener();\n } catch {\n // listeners are UI subscribers — never let one break the others\n }\n }\n}\n\nexport function registerDevPanel(panel: DevPanel): () => void {\n if (!panel || typeof panel.id !== \"string\" || !panel.id) {\n throw new Error(\"registerDevPanel: panel.id is required\");\n }\n panels.set(panel.id, panel);\n emit();\n return () => {\n if (panels.get(panel.id) === panel) {\n panels.delete(panel.id);\n emit();\n }\n };\n}\n\nexport function unregisterDevPanel(id: string): void {\n if (panels.delete(id)) emit();\n}\n\nexport function listDevPanels(): DevPanel[] {\n if (cachedSnapshot) return cachedSnapshot;\n cachedSnapshot = Array.from(panels.values()).sort((a, b) => {\n const aOrder = a.order ?? 100;\n const bOrder = b.order ?? 100;\n if (aOrder !== bOrder) return aOrder - bOrder;\n return a.label.localeCompare(b.label);\n });\n return cachedSnapshot;\n}\n\nexport function subscribeDevPanels(listener: () => void): () => void {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG","sourcesContent":["/**\n * Dev overlay — types for the framework-level dev/configuration panel.\n *\n * Toggled with Cmd+Ctrl+A. Templates register panels at module load time;\n * each panel exposes typed options whose values are persisted to localStorage.\n * Built-in framework panels (e.g. onboarding preview) live alongside.\n */\n\nimport type { ReactNode } from \"react\";\n\nexport type DevOptionValue = boolean | string | number | null;\n\ninterface DevOptionBase {\n id: string;\n label: string;\n description?: string;\n}\n\nexport interface DevBooleanOption extends DevOptionBase {\n type: \"boolean\";\n default?: boolean;\n onChange?: (value: boolean) => void | Promise<void>;\n}\n\nexport interface DevSelectOption extends DevOptionBase {\n type: \"select\";\n choices: { value: string; label: string }[];\n default?: string;\n onChange?: (value: string) => void | Promise<void>;\n}\n\nexport interface DevStringOption extends DevOptionBase {\n type: \"string\";\n default?: string;\n placeholder?: string;\n onChange?: (value: string) => void | Promise<void>;\n}\n\nexport interface DevActionOption extends DevOptionBase {\n type: \"action\";\n /** Optional secondary label rendered on the button (defaults to `label`). */\n buttonLabel?: string;\n /** Mark destructive / risky actions so the UI can style them differently. */\n destructive?: boolean;\n onClick: () => void | Promise<void>;\n}\n\nexport type DevOption =\n | DevBooleanOption\n | DevSelectOption\n | DevStringOption\n | DevActionOption;\n\nexport interface DevPanel {\n /** Stable id — used for the localStorage key prefix. */\n id: string;\n label: string;\n description?: string;\n /** Lower = earlier. Framework built-ins use 10–30; templates default to 100. */\n order?: number;\n options?: DevOption[];\n /** Custom React content rendered after the options list. */\n render?: () => ReactNode;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-dev-option.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/use-dev-option.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-dev-option.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/use-dev-option.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `useDevOption` — read/write a dev-overlay option backed by localStorage.\n *\n * Storage layout: `agent-native-dev-overlay-option-<panelId>-<optionId>` holds\n * a JSON-encoded value. Falls back to `defaultValue` when the key is missing\n * or the JSON is corrupt.\n */\n\nimport { useCallback, useEffect, useState } from \"react\";\n\nexport const DEV_OVERLAY_STORAGE_PREFIX = \"agent-native-dev-overlay-\";\n\nexport function devOptionKey(panelId: string, optionId: string): string {\n return `${DEV_OVERLAY_STORAGE_PREFIX}option-${panelId}-${optionId}`;\n}\n\nfunction readRaw<T>(key: string, fallback: T): T {\n if (typeof window === \"undefined\") return fallback;\n try {\n const raw = window.localStorage.getItem(key);\n if (raw === null) return fallback;\n return JSON.parse(raw) as T;\n } catch {\n return fallback;\n }\n}\n\nexport function useDevOption<T>(\n panelId: string,\n optionId: string,\n defaultValue: T,\n): [T, (next: T) => void] {\n const key = devOptionKey(panelId, optionId);\n const [value, setValue] = useState<T>(() => readRaw(key, defaultValue));\n\n // Keep tabs (and the overlay's \"Clear all\" button) in sync.\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const onStorage = (e: StorageEvent) => {\n if (e.key !== key && e.key !== null) return;\n setValue(readRaw(key, defaultValue));\n };\n const onLocal = () => setValue(readRaw(key, defaultValue));\n window.addEventListener(\"storage\", onStorage);\n window.addEventListener(\"agent-native-dev-overlay:changed\", onLocal);\n return () => {\n window.removeEventListener(\"storage\", onStorage);\n window.removeEventListener(\"agent-native-dev-overlay:changed\", onLocal);\n };\n }, [key, defaultValue]);\n\n const update = useCallback(\n (next: T) => {\n setValue(next);\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(key, JSON.stringify(next));\n window.dispatchEvent(new Event(\"agent-native-dev-overlay:changed\"));\n } catch {\n // localStorage may be disabled — UI state still updates in-memory.\n }\n },\n [key],\n );\n\n return [value, update];\n}\n\nexport function clearAllDevOverlayStorage(): void {\n if (typeof window === \"undefined\") return;\n const toRemove: string[] = [];\n for (let i = 0; i < window.localStorage.length; i++) {\n const k = window.localStorage.key(i);\n if (k && k.startsWith(DEV_OVERLAY_STORAGE_PREFIX)) toRemove.push(k);\n }\n for (const k of toRemove) window.localStorage.removeItem(k);\n window.dispatchEvent(new Event(\"agent-native-dev-overlay:changed\"));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-dev-overlay-shortcut.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/use-dev-overlay-shortcut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAoB;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,CAAgB,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;YAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC;gBAAE,OAAO;YACxC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO;YAE3C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA4B,CAAC;YAC9C,IACE,MAAM;gBACN,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO;oBACzB,MAAM,CAAC,OAAO,KAAK,UAAU;oBAC7B,MAAM,CAAC,iBAAiB,CAAC,EAC3B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"use-dev-overlay-shortcut.js","sourceRoot":"","sources":["../../../src/client/dev-overlay/use-dev-overlay-shortcut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAoB;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,CAAgB,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;YAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC;gBAAE,OAAO;YACxC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO;YAE3C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA4B,CAAC;YAC9C,IACE,MAAM;gBACN,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO;oBACzB,MAAM,CAAC,OAAO,KAAK,UAAU;oBAC7B,MAAM,CAAC,iBAAiB,CAAC,EAC3B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC","sourcesContent":["import { useEffect } from \"react\";\n\n/**\n * Toggle the dev overlay with Cmd+Ctrl+A (Mac) / Ctrl+Alt+A (Windows/Linux).\n * Mirrors the useCommandMenuShortcut pattern — skip when an input is focused.\n */\nexport function useDevOverlayShortcut(onToggle: () => void): void {\n useEffect(() => {\n const handler = (e: KeyboardEvent) => {\n const isMacCombo = e.metaKey && e.ctrlKey;\n const isWinCombo = !e.metaKey && e.ctrlKey && e.altKey;\n if (!(isMacCombo || isWinCombo)) return;\n if (e.key !== \"a\" && e.key !== \"A\") return;\n\n const target = e.target as HTMLElement | null;\n if (\n target &&\n (target.tagName === \"INPUT\" ||\n target.tagName === \"TEXTAREA\" ||\n target.isContentEditable)\n ) {\n return;\n }\n\n e.preventDefault();\n onToggle();\n };\n document.addEventListener(\"keydown\", handler);\n return () => document.removeEventListener(\"keydown\", handler);\n }, [onToggle]);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/client/embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAOnE,SAAS,UAAU;IACjB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAC9D,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,2BAA2B;QACjC,IAAI;KACL,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/client/embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAOnE,SAAS,UAAU;IACjB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAC9D,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,2BAA2B;QACjC,IAAI;KACL,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC","sourcesContent":["/**\n * Client helpers for pages rendered inside an agent-chat `embed` iframe.\n *\n * Embedded pages are sandboxed, same-origin iframes mounted by `IframeEmbed`.\n * They usually want a \"pop out\" button that takes the user to the same URL\n * in the main app window. `postNavigate` handles that — when running inside\n * an embed it posts a message to the parent, which updates the parent's URL\n * without reloading. When running standalone (not in an iframe) it falls\n * back to a same-window navigation.\n */\n\nexport const AGENT_NAVIGATE_MESSAGE_TYPE = \"agent-native:navigate\";\n\nexport interface AgentNavigateMessage {\n type: typeof AGENT_NAVIGATE_MESSAGE_TYPE;\n path: string;\n}\n\nfunction isEmbedded(): boolean {\n if (typeof window === \"undefined\") return false;\n try {\n return window.parent !== window;\n } catch {\n return true;\n }\n}\n\n/**\n * Navigate the main app window to the given same-origin path.\n *\n * Accepts paths beginning with `/`. Absolute URLs are rejected — embeds\n * should not be able to steer the parent to arbitrary origins.\n */\nexport function postNavigate(path: string): void {\n if (typeof window === \"undefined\") return;\n if (typeof path !== \"string\" || !path.startsWith(\"/\")) return;\n if (!isEmbedded()) {\n window.location.href = path;\n return;\n }\n const message: AgentNavigateMessage = {\n type: AGENT_NAVIGATE_MESSAGE_TYPE,\n path,\n };\n window.parent.postMessage(message, window.location.origin);\n}\n\n/**\n * True when the current page is running inside an agent-chat embed iframe.\n * Use to show/hide \"Open in main window\" buttons.\n */\nexport function isInAgentEmbed(): boolean {\n return isEmbedded();\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"error-format.js","sourceRoot":"","sources":["../../src/client/error-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAAoB,EACpB,UAAmB;IAEnB,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,UAAU,YAAY,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,YAAY,+BAA+B,UAAU,GAAG,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"error-format.js","sourceRoot":"","sources":["../../src/client/error-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAAoB,EACpB,UAAmB;IAEnB,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,UAAU,YAAY,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,YAAY,+BAA+B,UAAU,GAAG,CAAC;AAC5E,CAAC","sourcesContent":["/**\n * Append an \"Upgrade at builder.io\" markdown link to an error message when\n * the Builder gateway returns a 402 quota/billing response. Used by both\n * chat SSE consumers (`sse-event-processor.ts` and `useProductionAgent.ts`)\n * to keep the copy in lockstep.\n *\n * `upgradeUrl` comes from the gateway response body and ends up interpolated\n * into markdown, so we validate it's a plain https URL with no characters\n * that would escape the `[...](url)` link target. Only `)` and whitespace\n * terminate the link target — `(`, `<`, `>` are fine inside it — so the\n * regex stays narrow; `buildUpgradeUrl` emits org-name URLs that may\n * contain `(` (e.g. `Acme%20(staging)`) and we don't want to reject them.\n */\nfunction isSafeUpgradeUrl(url: string): boolean {\n try {\n const parsed = new URL(url);\n if (parsed.protocol !== \"https:\") return false;\n return !/[\\s)]/.test(url);\n } catch {\n return false;\n }\n}\n\nexport function formatChatErrorText(\n errorMessage: string,\n upgradeUrl?: string,\n): string {\n if (!upgradeUrl || !isSafeUpgradeUrl(upgradeUrl)) {\n return `Error: ${errorMessage}`;\n }\n return `Error: ${errorMessage}\\n\\n[Upgrade at builder.io](${upgradeUrl})`;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"frame-protocol.js","sourceRoot":"","sources":["../../src/client/frame-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"frame-protocol.js","sourceRoot":"","sources":["../../src/client/frame-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG","sourcesContent":["/**\n * Frame Protocol — typed message definitions for frame communication.\n *\n * Any frame implementation (local dev frame, Builder.io cloud, Electron)\n * must support these message types. Communication happens via postMessage\n * between the app iframe and the parent frame.\n */\n\nimport type { AgentChatMessage } from \"./agent-chat.js\";\n\n// ---------------------------------------------------------------------------\n// Messages FROM app TO frame\n// ---------------------------------------------------------------------------\n\nexport interface AppReadyMessage {\n type: \"agentNative.appReady\";\n}\n\nexport interface SubmitChatMessage {\n type: \"agentNative.submitChat\";\n data: AgentChatMessage;\n}\n\nexport interface GetUserInfoMessage {\n type: \"agentNative.getUserInfo\";\n}\n\nexport interface SetEnvVarsMessage {\n type: \"agentNative.setEnvVars\";\n data: { vars: Array<{ key: string; value: string }> };\n}\n\nexport interface DevModeChangeMessage {\n type: \"agentNative.devModeChange\";\n data: { isDevMode: boolean };\n}\n\nexport interface ToggleSidebarMessage {\n type: \"agentNative.toggleSidebar\";\n data?: { open?: boolean };\n}\n\nexport interface EnterStyleEditingMessage {\n type: \"agentNative.enterStyleEditing\";\n data: { selector: string };\n}\n\nexport interface EnterTextEditingMessage {\n type: \"agentNative.enterTextEditing\";\n data: { selector: string };\n}\n\nexport interface ExitSelectionModeMessage {\n type: \"agentNative.exitSelectionMode\";\n}\n\n/**\n * Sent both ways: the app announces it has entered/exited presentation mode\n * (so the frame can hide its chrome), and an outer frame can push the app\n * into presentation mode (so the app's sidebar hides).\n */\nexport interface PresentationModeMessage {\n type: \"agentNative.presentationMode\";\n data: { active: boolean };\n}\n\nexport type AppToFrameMessage =\n | AppReadyMessage\n | SubmitChatMessage\n | GetUserInfoMessage\n | SetEnvVarsMessage\n | DevModeChangeMessage\n | ToggleSidebarMessage\n | EnterStyleEditingMessage\n | EnterTextEditingMessage\n | ExitSelectionModeMessage\n | PresentationModeMessage;\n\n// ---------------------------------------------------------------------------\n// Messages FROM frame TO app\n// ---------------------------------------------------------------------------\n\nexport interface FrameOriginMessage {\n type: \"agentNative.frameOrigin\";\n origin: string;\n}\n\nexport interface ChatRunningMessage {\n type: \"agentNative.chatRunning\";\n detail: { isRunning: boolean; tabId?: string };\n}\n\nexport interface UserInfoMessage {\n type: \"agentNative.userInfo\";\n data: { name?: string; email?: string };\n}\n\nexport interface CodeCompleteMessage {\n type: \"agentNative.codeComplete\";\n tabId: string;\n success: boolean;\n}\n\nexport interface SidebarModeMessage {\n type: \"agentNative.sidebarMode\";\n data: {\n /** \"code\" hides the app's sidebar (frame controls it); \"app\" defers to the app. */\n mode: \"code\" | \"app\";\n /** When mode === \"app\", which panel the app should show. */\n appMode?: \"cli\" | \"resources\" | \"chat\";\n /** Frame-controlled sidebar width to sync into the app. */\n width?: number;\n /** Whether the app's sidebar should be open. */\n open?: boolean;\n };\n}\n\nexport type FrameToAppMessage =\n | FrameOriginMessage\n | ChatRunningMessage\n | UserInfoMessage\n | CodeCompleteMessage\n | SidebarModeMessage\n | PresentationModeMessage;\n\n// ---------------------------------------------------------------------------\n// All message types\n// ---------------------------------------------------------------------------\n\nexport type FrameMessage = AppToFrameMessage | FrameToAppMessage;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/client/frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/client/frame.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Frame Communication (browser)\n *\n * Utilities for communicating with the parent frame via postMessage.\n * Provides typed request/response patterns and message sending.\n */\n\n// ---------------------------------------------------------------------------\n// Low-level parent messaging\n// ---------------------------------------------------------------------------\n\n/**\n * Send a typed message to the parent frame.\n * No-op if running at top level (no parent frame).\n */\nexport function sendToFrame(type: string, data?: any): void {\n if (typeof window === \"undefined\") return;\n const target = window.parent !== window ? window.parent : window;\n const targetOrigin = getFrameOrigin() || window.location.origin;\n target.postMessage({ type, data }, targetOrigin);\n}\n\n/**\n * Listen for a specific message type from the parent frame.\n * Returns a cleanup function.\n */\nexport function onFrameMessage(\n type: string,\n handler: (data: any) => void,\n): () => void {\n if (typeof window === \"undefined\") return () => {};\n\n const listener = (event: MessageEvent) => {\n if (!isTrustedFrameMessage(event)) return;\n if (event.data?.type === type) {\n handler(event.data.data ?? event.data.detail ?? event.data);\n }\n };\n window.addEventListener(\"message\", listener);\n return () => window.removeEventListener(\"message\", listener);\n}\n\n// ---------------------------------------------------------------------------\n// Frame Origin\n// ---------------------------------------------------------------------------\n\nlet _frameOrigin: string | null = null;\n\nfunction normalizeOrigin(value: unknown): string | null {\n if (typeof value !== \"string\") return null;\n try {\n return new URL(value).origin;\n } catch {\n return null;\n }\n}\n\nexport function isTrustedFrameMessage(event: MessageEvent): boolean {\n if (typeof window === \"undefined\") return false;\n\n const ownOrigin = window.location.origin;\n if (event.origin === ownOrigin) return true;\n\n const frameOrigin = getFrameOrigin();\n if (!frameOrigin || event.origin !== frameOrigin) return false;\n\n return event.source === window.parent || event.source === window;\n}\n\n// Listen for frame origin message and cache it.\n// Only accept from the direct parent frame, and only set once.\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"message\", (event: MessageEvent) => {\n const origin = normalizeOrigin(event.data?.origin);\n if (\n event.data?.type === \"agentNative.frameOrigin\" &&\n origin &&\n origin === event.origin &&\n !_frameOrigin &&\n event.source === window.parent\n ) {\n _frameOrigin = origin;\n }\n });\n}\n\n/**\n * Get the frame origin (e.g. \"http://localhost:3334\").\n * Returns null if not running inside a frame iframe.\n */\nexport function getFrameOrigin(): string | null {\n return _frameOrigin;\n}\n\n/**\n * Returns true if the app is running inside a frame iframe\n * (local dev frame, Builder.io, or any compatible frame).\n */\nexport function isInFrame(): boolean {\n return _frameOrigin !== null;\n}\n\n/**\n * Get the origin for OAuth callbacks.\n * Always uses the app's own origin (window.location.origin), NOT the frame\n * origin. The redirect URI registered in Google Cloud Console (or any OAuth\n * provider) must match the template app's direct URL, not the dev frame's\n * proxy URL, so this must be consistent regardless of how the app is accessed.\n */\nexport function getCallbackOrigin(): string {\n return typeof window !== \"undefined\" ? window.location.origin : \"\";\n}\n\n// ---------------------------------------------------------------------------\n// User Info\n// ---------------------------------------------------------------------------\n\nexport interface UserInfo {\n name?: string;\n email?: string;\n}\n\n/**\n * Request user info (name + email) from the parent frame.\n * Falls back to empty object if frame doesn't respond within timeout.\n */\nexport function requestUserInfo(timeoutMs = 1500): Promise<UserInfo> {\n return new Promise((resolve) => {\n if (typeof window === \"undefined\" || window.parent === window) {\n resolve({});\n return;\n }\n\n let settled = false;\n\n const timer = setTimeout(() => {\n if (!settled) {\n settled = true;\n window.removeEventListener(\"message\", handler);\n resolve({});\n }\n }, timeoutMs);\n\n function handler(event: MessageEvent) {\n if (!event.data || event.data.type !== \"agentNative.userInfo\") return;\n if (event.source !== window.parent) return;\n const frameOrigin = getFrameOrigin();\n if (frameOrigin && event.origin !== frameOrigin) return;\n if (settled) return;\n settled = true;\n clearTimeout(timer);\n window.removeEventListener(\"message\", handler);\n const { name, email } = event.data.data ?? {};\n resolve({ name: name || undefined, email: email || undefined });\n }\n\n window.addEventListener(\"message\", handler);\n window.parent.postMessage(\n { type: \"agentNative.getUserInfo\" },\n getFrameOrigin() ?? window.location.origin,\n );\n });\n}\n\n// ---------------------------------------------------------------------------\n// Selection Mode (visual editing)\n// ---------------------------------------------------------------------------\n\n/**\n * Enter visual editing selection mode for a specific element.\n */\nexport function enterStyleEditing(selector: string): void {\n sendToFrame(\"agentNative.enterStyleEditing\", { selector });\n}\n\n/**\n * Enter text editing mode for a specific element.\n */\nexport function enterTextEditing(selector: string): void {\n sendToFrame(\"agentNative.enterTextEditing\", { selector });\n}\n\n/**\n * Exit selection mode.\n */\nexport function exitSelectionMode(): void {\n sendToFrame(\"agentNative.exitSelectionMode\");\n}\n"]}
@@ -2,7 +2,6 @@ export { sendToAgentChat, generateTabId, type AgentChatMessage, } from "./agent-
2
2
  export { DEV_MODE_USER_EMAIL } from "./dev-mode.js";
3
3
  export { useAgentChatGenerating } from "./use-agent-chat.js";
4
4
  export { useDevMode } from "./use-dev-mode.js";
5
- export { useBuilderEnabled } from "./use-builder-enabled.js";
6
5
  export { agentNativePath, appApiPath, appBasePath, appPath, } from "./api-path.js";
7
6
  export { useSendToAgentChat } from "./use-send-to-agent-chat.js";
8
7
  export { CodeRequiredDialog, type CodeRequiredDialogProps, } from "./components/CodeRequiredDialog.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,eAAe,EACf,UAAU,EACV,WAAW,EACX,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,GACtC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,EAC1B,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,WAAW,EACX,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ export { sendToAgentChat, generateTabId, } from "./agent-chat.js";
2
2
  export { DEV_MODE_USER_EMAIL } from "./dev-mode.js";
3
3
  export { useAgentChatGenerating } from "./use-agent-chat.js";
4
4
  export { useDevMode } from "./use-dev-mode.js";
5
- export { useBuilderEnabled } from "./use-builder-enabled.js";
6
5
  export { agentNativePath, appApiPath, appBasePath, appPath, } from "./api-path.js";
7
6
  export { useSendToAgentChat } from "./use-send-to-agent-chat.js";
8
7
  export { CodeRequiredDialog, } from "./components/CodeRequiredDialog.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n sendToAgentChat,\n generateTabId,\n type AgentChatMessage,\n} from \"./agent-chat.js\";\nexport { DEV_MODE_USER_EMAIL } from \"./dev-mode.js\";\nexport { useAgentChatGenerating } from \"./use-agent-chat.js\";\nexport { useDevMode } from \"./use-dev-mode.js\";\nexport {\n agentNativePath,\n appApiPath,\n appBasePath,\n appPath,\n} from \"./api-path.js\";\nexport { useSendToAgentChat } from \"./use-send-to-agent-chat.js\";\nexport {\n CodeRequiredDialog,\n type CodeRequiredDialogProps,\n} from \"./components/CodeRequiredDialog.js\";\nexport {\n CodeAgentIndicator,\n type CodeAgentIndicatorProps,\n} from \"./components/CodeAgentIndicator.js\";\nexport {\n useDbSync,\n useFileWatcher,\n useScreenRefreshKey,\n} from \"./use-db-sync.js\";\nexport { cn } from \"./utils.js\";\nexport { ApiKeySettings } from \"./components/ApiKeySettings.js\";\nexport { useSession, type AuthSession } from \"./use-session.js\";\nexport {\n sendToFrame,\n onFrameMessage,\n requestUserInfo,\n getFrameOrigin,\n getCallbackOrigin,\n isInFrame,\n enterStyleEditing,\n enterTextEditing,\n exitSelectionMode,\n type UserInfo,\n} from \"./frame.js\";\nexport {\n AssistantChat,\n clearChatStorage,\n type AssistantChatProps,\n type AssistantChatHandle,\n} from \"./AssistantChat.js\";\nexport {\n MultiTabAssistantChat,\n type MultiTabAssistantChatProps,\n type MultiTabAssistantChatHeaderProps,\n} from \"./MultiTabAssistantChat.js\";\nexport { createAgentChatAdapter } from \"./agent-chat-adapter.js\";\nexport {\n useChatThreads,\n type ChatThreadSummary,\n type ChatThreadData,\n} from \"./use-chat-threads.js\";\nexport {\n AgentPanel,\n AgentSidebar,\n AgentToggleButton,\n focusAgentChat,\n type AgentPanelProps,\n type AgentSidebarProps,\n} from \"./AgentPanel.js\";\n// Deprecated — use AgentSidebar + AgentToggleButton instead\nexport {\n ProductionAgentPanel,\n type ProductionAgentPanelProps,\n} from \"./ProductionAgentPanel.js\";\nexport {\n useProductionAgent,\n type ProductionAgentMessage,\n type UseProductionAgentOptions,\n type UseProductionAgentResult,\n} from \"./useProductionAgent.js\";\nexport { Turnstile, type TurnstileProps } from \"./Turnstile.js\";\nexport { PoweredByBadge, type PoweredByBadgeProps } from \"./PoweredByBadge.js\";\nexport { FeedbackButton, type FeedbackButtonProps } from \"./FeedbackButton.js\";\nexport { ErrorBoundary } from \"./ErrorBoundary.js\";\nexport { ClientOnly } from \"./ClientOnly.js\";\nexport { DefaultSpinner } from \"./DefaultSpinner.js\";\nexport { AgentTerminal, type AgentTerminalProps } from \"./terminal/index.js\";\nexport {\n trackEvent,\n trackSessionStatus,\n configureTracking,\n} from \"./analytics.js\";\nexport {\n useCollaborativeDoc,\n emailToColor,\n emailToName,\n type UseCollaborativeDocOptions,\n type UseCollaborativeDocResult,\n type CollabUser,\n} from \"../collab/client.js\";\nexport {\n ResourcesPanel,\n ResourceTree,\n ResourceEditor,\n useResources,\n useResourceTree,\n useResource,\n useCreateResource,\n useUpdateResource,\n useDeleteResource,\n useUploadResource,\n type Resource,\n type ResourceMeta,\n type TreeNode,\n type ResourceScope,\n type ResourceTreeProps,\n type ResourceEditorProps,\n} from \"./resources/index.js\";\nexport type {\n AppToFrameMessage,\n FrameToAppMessage,\n FrameMessage,\n CodeCompleteMessage,\n ChatRunningMessage,\n} from \"./frame-protocol.js\";\nexport {\n CommandMenu,\n useCommandMenuShortcut,\n openAgentSidebar,\n submitToAgent,\n type CommandMenuProps,\n type CommandGroupProps,\n type CommandItemProps,\n type CommandShortcutProps,\n} from \"./CommandMenu.js\";\nexport {\n DevOverlay,\n useDevOverlayShortcut,\n registerDevPanel,\n unregisterDevPanel,\n listDevPanels,\n subscribeDevPanels,\n useDevOption,\n clearAllDevOverlayStorage,\n devOptionKey,\n DEV_OVERLAY_STORAGE_PREFIX,\n type DevOverlayProps,\n type DevPanel,\n type DevOption,\n type DevBooleanOption,\n type DevSelectOption,\n type DevStringOption,\n type DevActionOption,\n type DevOptionValue,\n} from \"./dev-overlay/index.js\";\nexport {\n useActionQuery,\n useActionMutation,\n type ActionRegistry,\n} from \"./use-action.js\";\nexport {\n ShareButton,\n ShareDialog,\n VisibilityBadge,\n type ShareButtonProps,\n type ShareDialogProps,\n type VisibilityBadgeProps,\n} from \"./sharing/index.js\";\nexport {\n postNavigate,\n isInAgentEmbed,\n AGENT_NAVIGATE_MESSAGE_TYPE,\n type AgentNavigateMessage,\n} from \"./embed.js\";\nexport { IframeEmbed, parseEmbedBody } from \"./IframeEmbed.js\";\nexport {\n useAvatarUrl,\n uploadAvatar,\n invalidateAvatarCache,\n} from \"./use-avatar.js\";\nexport {\n ObservabilityDashboard,\n ThumbsFeedback,\n} from \"./observability/index.js\";\n// Presence UI components\nexport {\n PresenceBar,\n type PresenceBarProps,\n} from \"./components/PresenceBar.js\";\nexport {\n AgentPresenceChip,\n type AgentPresenceChipProps,\n} from \"./components/AgentPresenceChip.js\";\n// Structured data collaboration hooks\nexport {\n useCollaborativeMap,\n useCollaborativeArray,\n type UseCollaborativeMapOptions,\n type UseCollaborativeMapResult,\n type UseCollaborativeArrayOptions,\n type UseCollaborativeArrayResult,\n} from \"../collab/client-struct.js\";\nexport { NotificationsBell } from \"./notifications/index.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationCard.js","sourceRoot":"","sources":["../../../src/client/integrations/IntegrationCard.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,8DAA8D;AAC9D,MAAM,aAAa,GAA6C;IAC9D,KAAK,EAAE,cAA0C;IACjD,QAAQ,EAAE,iBAA6C;IACvD,QAAQ,EAAE,iBAA6C;CACxD,CAAC;AAEF,SAAS,SAAS,CAAC,EACjB,OAAO,EACP,UAAU,GAIX;IACC,MAAM,KAAK,GACT,OAAO,IAAI,UAAU;QACnB,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,aAAa,CAAC;IACtB,OAAO,eAAM,SAAS,EAAE,qCAAqC,KAAK,EAAE,GAAI,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,GAIV;IACC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC;IAEjE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrD,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,eAAe,CACb,+BAA+B,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE,CAC3D,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;YACF,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAC/B,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,eAAK,SAAS,EAAC,+CAA+C,aAC5D,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACrC,SAAS,EAAC,yEAAyE,aAElF,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,eAAe,IACd,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,gCAAgC,GAC1C,CACH,CAAC,CAAC,CAAC,CACF,KAAC,gBAAgB,IACf,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,gCAAgC,GAC1C,CACH,EACD,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,gCAAgC,GAAG,EAC7D,eAAM,SAAS,EAAC,4CAA4C,YACzD,MAAM,CAAC,KAAK,GACR,EACP,KAAC,SAAS,IAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,GAAI,IAC9D,EAER,QAAQ,IAAI,CACX,eAAK,SAAS,EAAC,8CAA8C,aAC1D,MAAM,CAAC,UAAU,IAAI,CACpB,0BACE,cAAK,SAAS,EAAC,oDAAoD,4BAE7D,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,4EAA4E,YACzF,MAAM,CAAC,UAAU,GACb,EACP,iBACE,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,uFAAuF,EACjG,KAAK,EAAC,kBAAkB,YAEvB,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GACnD,IACL,IACF,CACP,EAEA,MAAM,CAAC,KAAK,IAAI,CACf,YAAG,SAAS,EAAC,8BAA8B,YAAE,MAAM,CAAC,KAAK,GAAK,CAC/D,EAEA,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CACtC,YAAG,SAAS,EAAC,mCAAmC,qFAG5C,CACL,EAEA,MAAM,CAAC,UAAU,IAAI,CACpB,iBACE,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,iIAAiI,YAE1I,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAClD,CACV,IACG,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"IntegrationCard.js","sourceRoot":"","sources":["../../../src/client/integrations/IntegrationCard.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useCallback } from \"react\";\nimport {\n IconBrandSlack,\n IconBrandTelegram,\n IconBrandWhatsapp,\n IconMessageCircle,\n IconChevronDown,\n IconChevronRight,\n IconCopy,\n IconCheck,\n} from \"@tabler/icons-react\";\nimport type { IntegrationStatus } from \"./useIntegrationStatus.js\";\nimport { agentNativePath } from \"../api-path.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst platformIcons: Record<string, React.ComponentType<any>> = {\n slack: IconBrandSlack as React.ComponentType<any>,\n telegram: IconBrandTelegram as React.ComponentType<any>,\n whatsapp: IconBrandWhatsapp as React.ComponentType<any>,\n};\n\nfunction StatusDot({\n enabled,\n configured,\n}: {\n enabled: boolean;\n configured: boolean;\n}) {\n const color =\n enabled && configured\n ? \"bg-green-500\"\n : configured\n ? \"bg-yellow-500\"\n : \"bg-gray-400\";\n return <span className={`inline-block h-2 w-2 rounded-full ${color}`} />;\n}\n\nexport function IntegrationCard({\n status,\n onRefresh,\n}: {\n status: IntegrationStatus;\n onRefresh: () => void;\n}) {\n const [expanded, setExpanded] = useState(false);\n const [toggling, setToggling] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const Icon = platformIcons[status.platform] || IconMessageCircle;\n\n const handleToggle = useCallback(async () => {\n setToggling(true);\n try {\n const action = status.enabled ? \"disable\" : \"enable\";\n const res = await fetch(\n agentNativePath(\n `/_agent-native/integrations/${status.platform}/${action}`,\n ),\n { method: \"POST\" },\n );\n if (res.ok) {\n onRefresh();\n }\n } finally {\n setToggling(false);\n }\n }, [status.platform, status.enabled, onRefresh]);\n\n const handleCopy = useCallback(async () => {\n if (!status.webhookUrl) return;\n await navigator.clipboard.writeText(status.webhookUrl);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }, [status.webhookUrl]);\n\n return (\n <div className=\"rounded-md border border-border bg-background\">\n <button\n onClick={() => setExpanded(!expanded)}\n className=\"flex w-full items-center gap-2 px-2.5 py-2 text-left hover:bg-accent/50\"\n >\n {expanded ? (\n <IconChevronDown\n size={12}\n className=\"text-muted-foreground shrink-0\"\n />\n ) : (\n <IconChevronRight\n size={12}\n className=\"text-muted-foreground shrink-0\"\n />\n )}\n <Icon size={16} className=\"text-muted-foreground shrink-0\" />\n <span className=\"flex-1 text-xs font-medium text-foreground\">\n {status.label}\n </span>\n <StatusDot enabled={status.enabled} configured={status.configured} />\n </button>\n\n {expanded && (\n <div className=\"border-t border-border px-2.5 py-2 space-y-2\">\n {status.webhookUrl && (\n <div>\n <div className=\"text-[10px] font-medium text-muted-foreground mb-1\">\n Webhook URL\n </div>\n <div className=\"flex items-center gap-1\">\n <code className=\"flex-1 truncate rounded bg-muted px-1.5 py-0.5 text-[10px] text-foreground\">\n {status.webhookUrl}\n </code>\n <button\n onClick={handleCopy}\n className=\"shrink-0 rounded p-0.5 text-muted-foreground hover:text-foreground hover:bg-accent/50\"\n title=\"Copy webhook URL\"\n >\n {copied ? <IconCheck size={12} /> : <IconCopy size={12} />}\n </button>\n </div>\n </div>\n )}\n\n {status.error && (\n <p className=\"text-[10px] text-destructive\">{status.error}</p>\n )}\n\n {!status.configured && !status.error && (\n <p className=\"text-[10px] text-muted-foreground\">\n Not configured. Set the required secrets to enable this\n integration.\n </p>\n )}\n\n {status.configured && (\n <button\n onClick={handleToggle}\n disabled={toggling}\n className=\"w-full rounded-md border border-border px-2 py-1 text-[11px] font-medium text-foreground hover:bg-accent/50 disabled:opacity-50\"\n >\n {toggling ? \"...\" : status.enabled ? \"Disable\" : \"Enable\"}\n </button>\n )}\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationsPanel.js","sourceRoot":"","sources":["../../../src/client/integrations/IntegrationsPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntegrationsPanel.js","sourceRoot":"","sources":["../../../src/client/integrations/IntegrationsPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useCallback } from \"react\";\nimport {\n IconPlus,\n IconBrandSlack,\n IconBrandTelegram,\n IconBrandWhatsapp,\n IconBrandGoogleDrive,\n IconTerminal2,\n IconBuildingSkyscraper,\n IconMessageCircle,\n IconCopy,\n IconCheck,\n IconChevronLeft,\n IconExternalLink,\n IconCircleCheck,\n} from \"@tabler/icons-react\";\nimport {\n useIntegrationStatus,\n type IntegrationStatus,\n} from \"./useIntegrationStatus.js\";\nimport { agentNativePath } from \"../api-path.js\";\n\n// ─── Platform config ─────────────────────────────────────────────────────────\n\ninterface PlatformInfo {\n id: string;\n label: string;\n icon: React.ComponentType<any>;\n description: string;\n envVars: string[];\n setupSteps: string[];\n docsUrl?: string;\n /** If true, this is a \"client\" integration (user connects TO the agent) rather than a webhook */\n isClient?: boolean;\n}\n\nconst PLATFORMS: PlatformInfo[] = [\n {\n id: \"slack\",\n label: \"Slack\",\n icon: IconBrandSlack,\n description: \"Message your agent from any Slack channel or DM.\",\n envVars: [\"SLACK_BOT_TOKEN\", \"SLACK_SIGNING_SECRET\"],\n setupSteps: [\n \"Create a Slack app at api.slack.com/apps\",\n 'Enable \"Event Subscriptions\" and point to your webhook URL',\n \"Subscribe to message.im and app_mention events\",\n \"Install the app to your workspace\",\n \"Copy the Bot Token and Signing Secret into your environment\",\n ],\n docsUrl: \"https://api.slack.com/apps\",\n },\n {\n id: \"telegram\",\n label: \"Telegram\",\n icon: IconBrandTelegram,\n description: \"Chat with your agent via a Telegram bot.\",\n envVars: [\"TELEGRAM_BOT_TOKEN\"],\n setupSteps: [\n \"Message @BotFather on Telegram to create a new bot\",\n \"Copy the bot token into your environment\",\n 'Click \"Setup webhook\" below to register automatically',\n ],\n },\n {\n id: \"whatsapp\",\n label: \"WhatsApp\",\n icon: IconBrandWhatsapp,\n description: \"Connect your agent to WhatsApp Business.\",\n envVars: [\"WHATSAPP_TOKEN\", \"WHATSAPP_VERIFY_TOKEN\"],\n setupSteps: [\n \"Create a Meta Business app at developers.facebook.com\",\n \"Set up WhatsApp Business API\",\n \"Configure the webhook URL and verify token\",\n \"Copy the access token into your environment\",\n ],\n docsUrl: \"https://developers.facebook.com/docs/whatsapp\",\n },\n {\n id: \"google-docs\",\n label: \"Google Docs\",\n icon: IconBrandGoogleDrive,\n description: \"Tag the agent in Google Doc comments to get responses.\",\n envVars: [\"GOOGLE_SERVICE_ACCOUNT_KEY\"],\n setupSteps: [\n \"Create a Google Cloud service account and download the JSON key\",\n \"Set GOOGLE_SERVICE_ACCOUNT_KEY in your environment (JSON string or file path)\",\n \"Share your Google Docs with the service account email\",\n 'Write a comment containing \"@Agent\" to trigger the agent',\n ],\n },\n {\n id: \"openclaw\",\n label: \"OpenClaw\",\n icon: IconTerminal2,\n description: \"Access this agent from OpenClaw's unified agent interface.\",\n envVars: [],\n isClient: true,\n setupSteps: [\n \"Install OpenClaw: npm install -g openclaw\",\n \"Add this agent's URL as a provider in your OpenClaw config\",\n \"OpenClaw discovers your agent's capabilities via the A2A protocol\",\n ],\n },\n {\n id: \"claude-code\",\n label: \"Claude Code\",\n icon: IconTerminal2,\n description:\n \"Let Claude Code call this agent via A2A for data and actions.\",\n envVars: [],\n isClient: true,\n setupSteps: [\n \"Your agent exposes an A2A endpoint at /.well-known/agent-card.json\",\n \"In Claude Code, reference your agent's URL when asking for data\",\n \"Claude Code will discover and call your agent's skills automatically\",\n ],\n },\n {\n id: \"builder\",\n label: \"Builder.io\",\n icon: IconBuildingSkyscraper,\n description:\n \"One chat interface that orchestrates all your agents together.\",\n envVars: [],\n isClient: true,\n setupSteps: [\n \"Connect your agent-native apps in your Builder.io workspace\",\n \"Builder.io discovers each agent's skills via A2A\",\n \"Chat with one agent that can trigger actions across all your apps\",\n ],\n docsUrl: \"https://www.builder.io\",\n },\n];\n\n// ─── Integration detail view ─────────────────────────────────────────────────\n\nfunction IntegrationDetail({\n platform,\n serverStatus,\n onBack,\n onRefresh,\n}: {\n platform: PlatformInfo;\n serverStatus?: IntegrationStatus;\n onBack: () => void;\n onRefresh: () => void;\n}) {\n const [toggling, setToggling] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const handleToggle = useCallback(async () => {\n setToggling(true);\n try {\n const action = serverStatus?.enabled ? \"disable\" : \"enable\";\n const res = await fetch(\n agentNativePath(`/_agent-native/integrations/${platform.id}/${action}`),\n { method: \"POST\" },\n );\n if (res.ok) onRefresh();\n } finally {\n setToggling(false);\n }\n }, [platform.id, serverStatus?.enabled, onRefresh]);\n\n const handleCopy = useCallback(async (text: string) => {\n await navigator.clipboard.writeText(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }, []);\n\n const isConfigured = serverStatus?.configured ?? false;\n const isEnabled = serverStatus?.enabled ?? false;\n\n return (\n <div>\n <button\n onClick={onBack}\n className=\"flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground mb-2\"\n >\n <IconChevronLeft size={12} />\n Back\n </button>\n\n <div className=\"flex items-center gap-2 mb-2\">\n <platform.icon size={18} className=\"text-foreground shrink-0\" />\n <div>\n <div className=\"text-xs font-medium text-foreground\">\n {platform.label}\n </div>\n <div className=\"text-[10px] text-muted-foreground\">\n {platform.description}\n </div>\n </div>\n </div>\n\n {/* Setup steps */}\n <div className=\"mb-3\">\n <div className=\"text-[10px] font-medium text-muted-foreground mb-1.5\">\n Setup\n </div>\n <ol className=\"space-y-1\">\n {platform.setupSteps.map((step, i) => (\n <li\n key={i}\n className=\"flex gap-1.5 text-[10px] text-muted-foreground leading-relaxed\"\n >\n <span className=\"shrink-0 text-muted-foreground/50\">\n {i + 1}.\n </span>\n {step}\n </li>\n ))}\n </ol>\n </div>\n\n {/* Required secrets */}\n {platform.envVars.length > 0 && (\n <div className=\"mb-3\">\n <div className=\"text-[10px] font-medium text-muted-foreground mb-1\">\n Required secrets\n </div>\n <div className=\"space-y-0.5\">\n {platform.envVars.map((v) => (\n <div key={v} className=\"flex items-center gap-1\">\n <code className=\"text-[10px] text-foreground bg-muted px-1 py-0.5 rounded\">\n {v}\n </code>\n {isConfigured && (\n <IconCircleCheck\n size={11}\n className=\"text-green-500 shrink-0\"\n />\n )}\n </div>\n ))}\n </div>\n {!isConfigured && (\n <p className=\"text-[10px] text-amber-500 mt-1\">\n Set these in your .env file or environment to connect.\n </p>\n )}\n </div>\n )}\n\n {/* Webhook URL */}\n {serverStatus?.webhookUrl && !platform.isClient && (\n <div className=\"mb-3\">\n <div className=\"text-[10px] font-medium text-muted-foreground mb-1\">\n Webhook URL\n </div>\n <div className=\"flex items-center gap-1\">\n <code className=\"flex-1 truncate rounded bg-muted px-1.5 py-0.5 text-[10px] text-foreground\">\n {serverStatus.webhookUrl}\n </code>\n <button\n onClick={() => handleCopy(serverStatus.webhookUrl!)}\n className=\"shrink-0 rounded p-0.5 text-muted-foreground hover:text-foreground hover:bg-accent/50\"\n title=\"Copy\"\n >\n {copied ? <IconCheck size={12} /> : <IconCopy size={12} />}\n </button>\n </div>\n </div>\n )}\n\n {/* Docs link */}\n {platform.docsUrl && (\n <a\n href={platform.docsUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1 text-[10px] text-blue-400 hover:text-blue-300 mb-3\"\n >\n Documentation\n <IconExternalLink size={10} />\n </a>\n )}\n\n {/* Enable/disable for server integrations */}\n {serverStatus && !platform.isClient && isConfigured && (\n <button\n onClick={handleToggle}\n disabled={toggling}\n className={`w-full rounded-md border px-2 py-1.5 text-[11px] font-medium disabled:opacity-50 ${\n isEnabled\n ? \"border-border text-foreground hover:bg-accent/50\"\n : \"border-green-600/50 text-green-400 hover:bg-green-900/20\"\n }`}\n >\n {toggling ? \"...\" : isEnabled ? \"Disable\" : \"Enable\"}\n </button>\n )}\n\n {/* Status for client integrations */}\n {platform.isClient && (\n <div className=\"rounded-md border border-border bg-muted/30 px-2.5 py-2 text-[10px] text-muted-foreground\">\n This agent's A2A endpoint is automatically available. No configuration\n needed.\n </div>\n )}\n\n {serverStatus?.error && (\n <p className=\"text-[10px] text-destructive mt-2\">\n {serverStatus.error}\n </p>\n )}\n </div>\n );\n}\n\n// ─── Add integration picker ──────────────────────────────────────────────────\n\nfunction AddIntegrationPicker({\n connectedIds,\n onSelect,\n}: {\n connectedIds: Set<string>;\n onSelect: (platform: PlatformInfo) => void;\n}) {\n return (\n <div className=\"space-y-1\">\n {PLATFORMS.filter((p) => !connectedIds.has(p.id)).map((platform) => (\n <button\n key={platform.id}\n onClick={() => onSelect(platform)}\n className=\"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left hover:bg-accent/50\"\n >\n <platform.icon size={14} className=\"shrink-0 text-muted-foreground\" />\n <div className=\"flex-1 min-w-0\">\n <div className=\"text-[11px] font-medium text-foreground\">\n {platform.label}\n </div>\n <div className=\"text-[10px] text-muted-foreground truncate\">\n {platform.description}\n </div>\n </div>\n </button>\n ))}\n </div>\n );\n}\n\n// ─── Main panel ──────────────────────────────────────────────────────────────\n\nexport function IntegrationsPanel() {\n const { statuses, loading, refetch } = useIntegrationStatus();\n const [selectedPlatform, setSelectedPlatform] = useState<PlatformInfo | null>(\n null,\n );\n const [showPicker, setShowPicker] = useState(false);\n\n const statusMap = new Map(statuses.map((s) => [s.platform, s]));\n\n // Show connected (enabled or configured) integrations\n const connectedPlatforms = PLATFORMS.filter((p) => {\n const s = statusMap.get(p.id);\n return s?.configured || s?.enabled;\n });\n\n const connectedIds = new Set(connectedPlatforms.map((p) => p.id));\n\n if (selectedPlatform) {\n return (\n <IntegrationDetail\n platform={selectedPlatform}\n serverStatus={statusMap.get(selectedPlatform.id)}\n onBack={() => setSelectedPlatform(null)}\n onRefresh={refetch}\n />\n );\n }\n\n if (showPicker) {\n return (\n <div>\n <button\n onClick={() => setShowPicker(false)}\n className=\"flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground mb-2\"\n >\n <IconChevronLeft size={12} />\n Back\n </button>\n <div className=\"text-[10px] font-medium text-muted-foreground mb-1.5\">\n Add a chat integration\n </div>\n <AddIntegrationPicker\n connectedIds={connectedIds}\n onSelect={(p) => {\n setSelectedPlatform(p);\n setShowPicker(false);\n }}\n />\n </div>\n );\n }\n\n return (\n <div>\n <div className=\"flex items-center justify-between mb-1.5\">\n <div>\n <div className=\"text-xs font-medium text-foreground\">\n Chat Integrations\n </div>\n <div className=\"text-[10px] text-muted-foreground\">\n Talk to this agent from other platforms\n </div>\n </div>\n <button\n onClick={() => setShowPicker(true)}\n className=\"flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50\"\n title=\"Add integration\"\n >\n <IconPlus size={12} />\n </button>\n </div>\n\n {loading ? (\n <div className=\"space-y-1.5\">\n <div className=\"h-6 w-full rounded bg-muted/50 animate-pulse\" />\n <div className=\"h-6 w-3/4 rounded bg-muted/50 animate-pulse\" />\n </div>\n ) : connectedPlatforms.length === 0 ? (\n <div className=\"space-y-2\">\n <button\n onClick={() => setShowPicker(true)}\n className=\"flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent/30\"\n >\n <IconPlus size={12} className=\"shrink-0\" />\n Add integration\n </button>\n <div className=\"rounded-md border border-border bg-muted/30 px-2.5 py-2 text-[10px] text-muted-foreground\">\n For a central Slack or Telegram entrypoint that can route work\n across multiple apps, use the{\" \"}\n <a\n href=\"https://dispatch.agent-native.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"no-underline font-medium text-foreground hover:text-foreground/80\"\n >\n dispatch template\n </a>\n .\n </div>\n </div>\n ) : (\n <div className=\"space-y-2\">\n {connectedPlatforms.map((platform) => {\n const s = statusMap.get(platform.id);\n return (\n <button\n key={platform.id}\n onClick={() => setSelectedPlatform(platform)}\n className=\"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left hover:bg-accent/50\"\n >\n <platform.icon\n size={14}\n className=\"shrink-0 text-muted-foreground\"\n />\n <span className=\"flex-1 text-[11px] font-medium text-foreground truncate\">\n {platform.label}\n </span>\n {s && (\n <span\n className={`inline-block h-1.5 w-1.5 rounded-full shrink-0 ${\n s.enabled && s.configured\n ? \"bg-green-500\"\n : s.configured\n ? \"bg-yellow-500\"\n : \"bg-gray-400\"\n }`}\n />\n )}\n </button>\n );\n })}\n <div className=\"rounded-md border border-border bg-muted/30 px-2.5 py-2 text-[10px] text-muted-foreground\">\n Need one shared messaging surface for your workspace? Connect Slack\n or Telegram to a dispatch app and let it delegate to other agents\n over A2A.\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC","sourcesContent":["export { IntegrationsPanel } from \"./IntegrationsPanel.js\";\nexport { useIntegrationStatus } from \"./useIntegrationStatus.js\";\nexport type { IntegrationStatus } from \"./useIntegrationStatus.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useIntegrationStatus.js","sourceRoot":"","sources":["../../../src/client/integrations/useIntegrationStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAYjD,MAAM,UAAU,oBAAoB;IAClC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,eAAe,CAAC,oCAAoC,CAAC,CACtD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,UAAU,CAAC,OAAO;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7C,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"useIntegrationStatus.js","sourceRoot":"","sources":["../../../src/client/integrations/useIntegrationStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAYjD,MAAM,UAAU,oBAAoB;IAClC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,eAAe,CAAC,oCAAoC,CAAC,CACtD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,UAAU,CAAC,OAAO;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7C,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACvD,CAAC","sourcesContent":["import { useState, useEffect, useCallback, useRef } from \"react\";\nimport { agentNativePath } from \"../api-path.js\";\n\nexport interface IntegrationStatus {\n platform: string;\n label: string;\n enabled: boolean;\n configured: boolean;\n details?: Record<string, unknown>;\n error?: string;\n webhookUrl?: string;\n}\n\nexport function useIntegrationStatus() {\n const [statuses, setStatuses] = useState<IntegrationStatus[]>([]);\n const [loading, setLoading] = useState(true);\n const mountedRef = useRef(true);\n\n const fetchStatuses = useCallback(async () => {\n try {\n const res = await fetch(\n agentNativePath(\"/_agent-native/integrations/status\"),\n );\n if (!res.ok) {\n if (mountedRef.current) setLoading(false);\n return;\n }\n const data = await res.json();\n if (mountedRef.current) {\n setStatuses(Array.isArray(data) ? data : []);\n setLoading(false);\n }\n } catch {\n if (mountedRef.current) {\n setLoading(false);\n }\n }\n }, []);\n\n useEffect(() => {\n mountedRef.current = true;\n fetchStatuses();\n const interval = setInterval(fetchStatuses, 30000);\n return () => {\n mountedRef.current = false;\n clearInterval(interval);\n };\n }, [fetchStatuses]);\n\n return { statuses, loading, refetch: fetchStatuses };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsBell.js","sourceRoot":"","sources":["../../../src/client/notifications/NotificationsBell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationsBell.js","sourceRoot":"","sources":["../../../src/client/notifications/NotificationsBell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { agentNativePath } from \"../api-path.js\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport {\n IconBell,\n IconBellRinging,\n IconLoader2,\n IconX,\n} from \"@tabler/icons-react\";\nimport { usePausingInterval } from \"../use-pausing-interval.js\";\nimport type {\n Notification as NotificationDto,\n NotificationSeverity,\n} from \"../../notifications/types.js\";\n\ninterface NotificationsBellProps {\n /** Poll interval in ms. Set to 0 to disable polling. Default: 10000. */\n pollMs?: number;\n /** Optional className for the outer container. */\n className?: string;\n /**\n * When true, fires a system-level `new Notification(...)` popup for each\n * new unread notification — handy when the tab is in the background.\n * Renders an \"Enable browser notifications\" prompt in the dropdown until\n * the user grants permission. Silently no-ops on denied or unsupported.\n */\n browserNotifications?: boolean;\n}\n\nconst POLL_MS_DEFAULT = 10_000;\nconst SUPPORTS_NOTIFICATION =\n typeof window !== \"undefined\" && \"Notification\" in window;\n\n/**\n * Header-bar bell that shows the unread-notification count and a dropdown of\n * recent entries. Polling keeps it in sync (the framework poll loop already\n * bumps a version counter so notifications ride on that signal, but we poll\n * the count endpoint directly so the bell updates even outside an app-state\n * change).\n */\nexport function NotificationsBell({\n pollMs = POLL_MS_DEFAULT,\n className,\n browserNotifications = false,\n}: NotificationsBellProps) {\n const [unreadCount, setUnreadCount] = useState(0);\n const [open, setOpen] = useState(false);\n const [items, setItems] = useState<NotificationDto[] | null>(null);\n // Init to \"default\" unconditionally so server and client render the same\n // HTML — reading Notification.permission at init would diverge between SSR\n // (\"denied\", no API) and hydration (\"default\"/\"granted\"), causing a mismatch\n // in templates that mount the bell outside a ClientOnly boundary. We sync\n // to the real value in a useEffect below.\n const [permission, setPermission] =\n useState<NotificationPermission>(\"default\");\n\n useEffect(() => {\n if (SUPPORTS_NOTIFICATION) setPermission(Notification.permission);\n }, []);\n const menuRef = useRef<HTMLDivElement | null>(null);\n // Ids already popped as browser notifications. Seeded on first run so\n // existing unread don't pop retroactively on page load.\n const seenIdsRef = useRef<Set<string> | null>(null);\n\n const loadItems = useCallback(async () => {\n try {\n const res = await fetch(\n agentNativePath(\"/_agent-native/notifications?limit=20\"),\n );\n if (!res.ok) return;\n const rows = (await res.json()) as NotificationDto[];\n setItems(rows);\n } catch {\n // best-effort\n }\n }, []);\n\n // One polling callback used by both paths. When browserNotifications is on\n // we fetch the unread list (source of truth for both the badge count AND\n // the popup loop — no second /count request), and pop Notification() for\n // any new ids. When off, we fetch just /count. The unread-list branch also\n // opts out of visibility pause so popups still fire for backgrounded tabs.\n const refresh = useCallback(async () => {\n if (browserNotifications) {\n try {\n const res = await fetch(\n agentNativePath(\"/_agent-native/notifications?unread=true&limit=20\"),\n );\n if (!res.ok) return;\n const rows = (await res.json()) as NotificationDto[];\n setUnreadCount(rows.length);\n // First run: treat everything as already seen so we don't pop\n // retroactively on page load. After that, rebuild from the current\n // unread list so ids for read/archived rows drop out — keeps the\n // set bounded to the unread fetch limit (~20).\n const prev = seenIdsRef.current;\n const seen = new Set<string>();\n for (const n of rows) {\n const alreadySeen = prev?.has(n.id) ?? true;\n seen.add(n.id);\n if (alreadySeen) continue;\n if (!SUPPORTS_NOTIFICATION) continue;\n if (Notification.permission !== \"granted\") continue;\n try {\n new Notification(n.title, { body: n.body, tag: n.id });\n } catch {\n // Safari / restricted contexts may throw even when permission\n // claims to be granted — silent no-op.\n }\n }\n seenIdsRef.current = seen;\n } catch {\n // best-effort\n }\n return;\n }\n try {\n const res = await fetch(\n agentNativePath(\"/_agent-native/notifications/count\"),\n );\n if (!res.ok) return;\n const data = (await res.json()) as { count: number };\n setUnreadCount(data.count);\n } catch {\n // best-effort\n }\n }, [browserNotifications]);\n\n usePausingInterval(\n refresh,\n pollMs,\n /* pauseWhenHidden */ !browserNotifications,\n );\n\n useEffect(() => {\n if (!open) return;\n loadItems();\n }, [open, loadItems]);\n\n useEffect(() => {\n if (!open) return;\n const onDocClick = (e: MouseEvent) => {\n if (menuRef.current && !menuRef.current.contains(e.target as Node)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", onDocClick);\n return () => document.removeEventListener(\"mousedown\", onDocClick);\n }, [open]);\n\n const markRead = async (id: string) => {\n try {\n await fetch(agentNativePath(`/_agent-native/notifications/${id}/read`), {\n method: \"POST\",\n });\n setItems((prev) =>\n prev\n ? prev.map((n) =>\n n.id === id ? { ...n, readAt: new Date().toISOString() } : n,\n )\n : prev,\n );\n refresh();\n } catch {\n // best-effort\n }\n };\n\n const markAllRead = async () => {\n try {\n await fetch(agentNativePath(`/_agent-native/notifications/read-all`), {\n method: \"POST\",\n });\n setItems((prev) =>\n prev\n ? prev.map((n) =>\n n.readAt ? n : { ...n, readAt: new Date().toISOString() },\n )\n : prev,\n );\n setUnreadCount(0);\n } catch {\n // best-effort\n }\n };\n\n const dismiss = async (id: string) => {\n try {\n await fetch(agentNativePath(`/_agent-native/notifications/${id}`), {\n method: \"DELETE\",\n });\n setItems((prev) => (prev ? prev.filter((n) => n.id !== id) : prev));\n refresh();\n } catch {\n // best-effort\n }\n };\n\n const hasUnread = unreadCount > 0;\n const Icon = hasUnread ? IconBellRinging : IconBell;\n\n return (\n <div\n ref={menuRef}\n className={\n \"an-notifications-bell relative inline-flex\" +\n (className ? ` ${className}` : \"\")\n }\n >\n <button\n type=\"button\"\n aria-label={\n hasUnread ? `${unreadCount} unread notifications` : \"Notifications\"\n }\n onClick={() => setOpen((v) => !v)}\n className=\"an-notifications-bell__trigger relative inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground hover:bg-accent/40 hover:text-foreground\"\n >\n <Icon size={18} aria-hidden />\n {hasUnread ? (\n <span\n aria-hidden\n className=\"an-notifications-bell__badge absolute -right-0.5 -top-0.5 rounded-full bg-destructive px-1 text-[10px] leading-[14px] font-medium text-destructive-foreground\"\n >\n {unreadCount > 99 ? \"99+\" : unreadCount}\n </span>\n ) : null}\n </button>\n {open ? (\n <div\n role=\"menu\"\n className=\"an-notifications-bell__menu absolute right-0 top-full z-50 mt-2 w-80 rounded-md border border-border bg-popover text-popover-foreground shadow-lg\"\n >\n <div className=\"flex items-center justify-between border-b border-border px-3 py-2 text-sm font-medium\">\n <span>Notifications</span>\n {hasUnread ? (\n <button\n type=\"button\"\n onClick={markAllRead}\n className=\"text-xs text-primary hover:underline\"\n >\n Mark all read\n </button>\n ) : null}\n </div>\n {browserNotifications &&\n SUPPORTS_NOTIFICATION &&\n permission === \"default\" ? (\n <div className=\"flex items-center justify-between gap-2 border-b border-border bg-accent/40 px-3 py-2 text-xs text-foreground\">\n <span>Get a system popup for new notifications.</span>\n <button\n type=\"button\"\n onClick={async () => {\n const result = await Notification.requestPermission();\n setPermission(result);\n }}\n className=\"shrink-0 rounded bg-primary px-2 py-0.5 font-medium text-primary-foreground hover:bg-primary/90\"\n >\n Enable\n </button>\n </div>\n ) : null}\n <div className=\"max-h-96 overflow-y-auto\">\n {items === null ? (\n <div className=\"flex items-center gap-2 p-4 text-sm text-muted-foreground\">\n <IconLoader2 size={14} className=\"animate-spin\" /> Loading…\n </div>\n ) : items.length > 0 ? (\n items.map((n) => (\n <div\n key={n.id}\n className={\n \"group relative border-b border-border last:border-b-0 hover:bg-accent/40 \" +\n (n.readAt ? \"opacity-60\" : \"\")\n }\n >\n <button\n type=\"button\"\n onClick={() => (n.readAt ? undefined : markRead(n.id))}\n className=\"flex w-full flex-col items-start gap-0.5 px-3 py-2 pr-8 text-left\"\n >\n <div className=\"flex w-full items-center justify-between gap-2\">\n <span className=\"truncate text-sm font-medium text-foreground\">\n {n.title}\n </span>\n <SeverityBadge severity={n.severity} />\n </div>\n {n.body ? (\n <span className=\"line-clamp-2 text-xs text-muted-foreground\">\n {n.body}\n </span>\n ) : null}\n <span className=\"text-[10px] text-muted-foreground/70\">\n {new Date(n.createdAt).toLocaleString()}\n </span>\n </button>\n <button\n type=\"button\"\n aria-label=\"Dismiss notification\"\n onClick={(e) => {\n e.stopPropagation();\n void dismiss(n.id);\n }}\n className=\"absolute right-2 top-2 hidden rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-foreground group-hover:flex\"\n >\n <IconX size={12} />\n </button>\n </div>\n ))\n ) : (\n <div className=\"p-4 text-sm text-muted-foreground\">\n No notifications.\n </div>\n )}\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\n// Severity color pairs — use /20 opacity backdrops that work against both\n// light and dark theme backgrounds; text uses 700/300 so it stays readable\n// in each mode (the `dark:` prefix is one of the few places where explicit\n// variants are necessary since these are brand-color tokens, not semantic).\nfunction SeverityBadge({ severity }: { severity: NotificationSeverity }) {\n const color =\n severity === \"critical\"\n ? \"bg-red-500/20 text-red-700 dark:text-red-300\"\n : severity === \"warning\"\n ? \"bg-amber-500/20 text-amber-700 dark:text-amber-300\"\n : \"bg-muted text-muted-foreground\";\n return (\n <span className={`rounded px-1.5 py-0.5 text-[10px] font-medium ${color}`}>\n {severity}\n </span>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/notifications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/notifications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["export { NotificationsBell } from \"./NotificationsBell.js\";\n"]}