@agent-native/core 0.30.6 → 0.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/dist/a2a/client.d.ts +2 -0
  2. package/dist/a2a/client.d.ts.map +1 -1
  3. package/dist/a2a/client.js +7 -5
  4. package/dist/a2a/client.js.map +1 -1
  5. package/dist/a2a/handlers.d.ts.map +1 -1
  6. package/dist/a2a/handlers.js +3 -0
  7. package/dist/a2a/handlers.js.map +1 -1
  8. package/dist/a2a/server.d.ts.map +1 -1
  9. package/dist/a2a/server.js.map +1 -1
  10. package/dist/a2a/task-store.d.ts.map +1 -1
  11. package/dist/a2a/task-store.js +5 -1
  12. package/dist/a2a/task-store.js.map +1 -1
  13. package/dist/action.js +22 -4
  14. package/dist/action.js.map +1 -1
  15. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  16. package/dist/agent/engine/ai-sdk-engine.js +5 -0
  17. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  18. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  19. package/dist/agent/engine/anthropic-engine.js +0 -7
  20. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  21. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  22. package/dist/agent/engine/builder-engine.js +4 -0
  23. package/dist/agent/engine/builder-engine.js.map +1 -1
  24. package/dist/agent/engine/registry.d.ts.map +1 -1
  25. package/dist/agent/engine/registry.js.map +1 -1
  26. package/dist/agent/engine/translate-ai-sdk.d.ts.map +1 -1
  27. package/dist/agent/engine/translate-ai-sdk.js +5 -3
  28. package/dist/agent/engine/translate-ai-sdk.js.map +1 -1
  29. package/dist/agent/production-agent.d.ts.map +1 -1
  30. package/dist/agent/production-agent.js +31 -4
  31. package/dist/agent/production-agent.js.map +1 -1
  32. package/dist/agent/run-manager.d.ts.map +1 -1
  33. package/dist/agent/run-manager.js +21 -8
  34. package/dist/agent/run-manager.js.map +1 -1
  35. package/dist/agent/run-store.d.ts.map +1 -1
  36. package/dist/agent/run-store.js +5 -1
  37. package/dist/agent/run-store.js.map +1 -1
  38. package/dist/agent/tool-search.js.map +1 -1
  39. package/dist/application-state/store.d.ts.map +1 -1
  40. package/dist/application-state/store.js +18 -7
  41. package/dist/application-state/store.js.map +1 -1
  42. package/dist/brand-kit/brand-signals.d.ts +31 -0
  43. package/dist/brand-kit/brand-signals.d.ts.map +1 -0
  44. package/dist/brand-kit/brand-signals.js +101 -0
  45. package/dist/brand-kit/brand-signals.js.map +1 -0
  46. package/dist/brand-kit/index.d.ts +21 -0
  47. package/dist/brand-kit/index.d.ts.map +1 -0
  48. package/dist/brand-kit/index.js +34 -0
  49. package/dist/brand-kit/index.js.map +1 -0
  50. package/dist/brand-kit/types.d.ts +103 -0
  51. package/dist/brand-kit/types.d.ts.map +1 -0
  52. package/dist/brand-kit/types.js +17 -0
  53. package/dist/brand-kit/types.js.map +1 -0
  54. package/dist/browser-sessions/store.d.ts.map +1 -1
  55. package/dist/browser-sessions/store.js +6 -1
  56. package/dist/browser-sessions/store.js.map +1 -1
  57. package/dist/chat-threads/store.d.ts.map +1 -1
  58. package/dist/chat-threads/store.js +6 -2
  59. package/dist/chat-threads/store.js.map +1 -1
  60. package/dist/checkpoints/store.d.ts.map +1 -1
  61. package/dist/checkpoints/store.js +5 -1
  62. package/dist/checkpoints/store.js.map +1 -1
  63. package/dist/cli/code-agent-executor.d.ts.map +1 -1
  64. package/dist/cli/code-agent-executor.js.map +1 -1
  65. package/dist/cli/create.d.ts.map +1 -1
  66. package/dist/cli/create.js +0 -1
  67. package/dist/cli/create.js.map +1 -1
  68. package/dist/client/AgentNative.js.map +1 -1
  69. package/dist/client/AgentPanel.d.ts.map +1 -1
  70. package/dist/client/AgentPanel.js +18 -20
  71. package/dist/client/AgentPanel.js.map +1 -1
  72. package/dist/client/AssistantChat.d.ts.map +1 -1
  73. package/dist/client/AssistantChat.js +69 -17
  74. package/dist/client/AssistantChat.js.map +1 -1
  75. package/dist/client/IframeEmbed.d.ts.map +1 -1
  76. package/dist/client/IframeEmbed.js.map +1 -1
  77. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  78. package/dist/client/MultiTabAssistantChat.js +1 -1
  79. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  80. package/dist/client/RunStuckBanner.js.map +1 -1
  81. package/dist/client/agent-chat.d.ts +0 -3
  82. package/dist/client/agent-chat.d.ts.map +1 -1
  83. package/dist/client/agent-chat.js +0 -3
  84. package/dist/client/agent-chat.js.map +1 -1
  85. package/dist/client/builder-mark.d.ts.map +1 -1
  86. package/dist/client/builder-mark.js.map +1 -1
  87. package/dist/client/components/CodeRequiredDialog.js +0 -7
  88. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  89. package/dist/client/components/MissingKeyCard.d.ts.map +1 -1
  90. package/dist/client/components/MissingKeyCard.js.map +1 -1
  91. package/dist/client/composer/PromptComposer.d.ts.map +1 -1
  92. package/dist/client/composer/PromptComposer.js +6 -3
  93. package/dist/client/composer/PromptComposer.js.map +1 -1
  94. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  95. package/dist/client/composer/TiptapComposer.js +5 -0
  96. package/dist/client/composer/TiptapComposer.js.map +1 -1
  97. package/dist/client/composer/VoiceButton.d.ts.map +1 -1
  98. package/dist/client/composer/VoiceButton.js +9 -0
  99. package/dist/client/composer/VoiceButton.js.map +1 -1
  100. package/dist/client/composer/extensions/FileReference.d.ts.map +1 -1
  101. package/dist/client/composer/extensions/FileReference.js.map +1 -1
  102. package/dist/client/composer/extensions/MentionReference.d.ts.map +1 -1
  103. package/dist/client/composer/extensions/MentionReference.js.map +1 -1
  104. package/dist/client/composer/extensions/SkillReference.d.ts.map +1 -1
  105. package/dist/client/composer/extensions/SkillReference.js.map +1 -1
  106. package/dist/client/composer/use-file-search.d.ts.map +1 -1
  107. package/dist/client/composer/use-file-search.js +14 -3
  108. package/dist/client/composer/use-file-search.js.map +1 -1
  109. package/dist/client/conversation/AgentConversation.js +8 -6
  110. package/dist/client/conversation/AgentConversation.js.map +1 -1
  111. package/dist/client/conversation/use-near-bottom-autoscroll.d.ts.map +1 -1
  112. package/dist/client/conversation/use-near-bottom-autoscroll.js +133 -35
  113. package/dist/client/conversation/use-near-bottom-autoscroll.js.map +1 -1
  114. package/dist/client/db-admin/DbAdminPage.js.map +1 -1
  115. package/dist/client/db-admin/EditableCell.js +1 -1
  116. package/dist/client/db-admin/EditableCell.js.map +1 -1
  117. package/dist/client/dev-overlay/DevOverlay.d.ts +0 -2
  118. package/dist/client/dev-overlay/DevOverlay.d.ts.map +1 -1
  119. package/dist/client/dev-overlay/DevOverlay.js +1 -2
  120. package/dist/client/dev-overlay/DevOverlay.js.map +1 -1
  121. package/dist/client/extensions/EmbeddedExtension.d.ts.map +1 -1
  122. package/dist/client/extensions/EmbeddedExtension.js +19 -0
  123. package/dist/client/extensions/EmbeddedExtension.js.map +1 -1
  124. package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
  125. package/dist/client/extensions/ExtensionViewer.js +11 -3
  126. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  127. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
  128. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  129. package/dist/client/mcp-app-host.d.ts.map +1 -1
  130. package/dist/client/mcp-app-host.js +25 -3
  131. package/dist/client/mcp-app-host.js.map +1 -1
  132. package/dist/client/mcp-apps/McpAppRenderer.d.ts.map +1 -1
  133. package/dist/client/mcp-apps/McpAppRenderer.js +1 -1
  134. package/dist/client/mcp-apps/McpAppRenderer.js.map +1 -1
  135. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  136. package/dist/client/onboarding/SetupButton.d.ts.map +1 -1
  137. package/dist/client/onboarding/SetupButton.js +6 -0
  138. package/dist/client/onboarding/SetupButton.js.map +1 -1
  139. package/dist/client/progress/RunsTray.js.map +1 -1
  140. package/dist/client/resources/McpServerDetail.d.ts.map +1 -1
  141. package/dist/client/resources/McpServerDetail.js.map +1 -1
  142. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  143. package/dist/client/resources/ResourcesPanel.js +0 -1
  144. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  145. package/dist/client/settings/AgentsSection.d.ts.map +1 -1
  146. package/dist/client/settings/AgentsSection.js +1 -1
  147. package/dist/client/settings/AgentsSection.js.map +1 -1
  148. package/dist/client/settings/AutomationsSection.js.map +1 -1
  149. package/dist/client/settings/SettingsPanel.js +2 -2
  150. package/dist/client/settings/SettingsPanel.js.map +1 -1
  151. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  152. package/dist/client/sharing/ShareButton.js +0 -4
  153. package/dist/client/sharing/ShareButton.js.map +1 -1
  154. package/dist/client/sse-event-processor.d.ts.map +1 -1
  155. package/dist/client/sse-event-processor.js +13 -3
  156. package/dist/client/sse-event-processor.js.map +1 -1
  157. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  158. package/dist/client/terminal/AgentTerminal.js +1 -1
  159. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  160. package/dist/client/use-agent-chat.d.ts.map +1 -1
  161. package/dist/client/use-agent-chat.js +20 -4
  162. package/dist/client/use-agent-chat.js.map +1 -1
  163. package/dist/client/use-chat-threads.d.ts.map +1 -1
  164. package/dist/client/use-chat-threads.js +39 -25
  165. package/dist/client/use-chat-threads.js.map +1 -1
  166. package/dist/client/use-db-sync.d.ts.map +1 -1
  167. package/dist/client/use-db-sync.js +24 -0
  168. package/dist/client/use-db-sync.js.map +1 -1
  169. package/dist/client/use-dev-mode.d.ts.map +1 -1
  170. package/dist/client/use-dev-mode.js +25 -9
  171. package/dist/client/use-dev-mode.js.map +1 -1
  172. package/dist/client/use-run-stuck-detection.d.ts.map +1 -1
  173. package/dist/client/use-run-stuck-detection.js +7 -1
  174. package/dist/client/use-run-stuck-detection.js.map +1 -1
  175. package/dist/client/useProductionAgent.d.ts.map +1 -1
  176. package/dist/client/useProductionAgent.js +6 -2
  177. package/dist/client/useProductionAgent.js.map +1 -1
  178. package/dist/collab/agent-presence.d.ts +0 -3
  179. package/dist/collab/agent-presence.d.ts.map +1 -1
  180. package/dist/collab/agent-presence.js +3 -5
  181. package/dist/collab/agent-presence.js.map +1 -1
  182. package/dist/collab/awareness.d.ts.map +1 -1
  183. package/dist/collab/awareness.js +11 -1
  184. package/dist/collab/awareness.js.map +1 -1
  185. package/dist/collab/client-struct.js.map +1 -1
  186. package/dist/collab/storage.d.ts.map +1 -1
  187. package/dist/collab/storage.js +5 -1
  188. package/dist/collab/storage.js.map +1 -1
  189. package/dist/collab/ydoc-manager.d.ts.map +1 -1
  190. package/dist/collab/ydoc-manager.js +35 -8
  191. package/dist/collab/ydoc-manager.js.map +1 -1
  192. package/dist/deploy/build.js +0 -5
  193. package/dist/deploy/build.js.map +1 -1
  194. package/dist/extensions/content-patch.js +1 -1
  195. package/dist/extensions/content-patch.js.map +1 -1
  196. package/dist/extensions/fetch-tool.d.ts.map +1 -1
  197. package/dist/extensions/fetch-tool.js +4 -1
  198. package/dist/extensions/fetch-tool.js.map +1 -1
  199. package/dist/extensions/routes.js +12 -12
  200. package/dist/extensions/routes.js.map +1 -1
  201. package/dist/extensions/slots/store.d.ts.map +1 -1
  202. package/dist/extensions/slots/store.js +5 -1
  203. package/dist/extensions/slots/store.js.map +1 -1
  204. package/dist/file-upload/actions/upload-image.d.ts.map +1 -1
  205. package/dist/file-upload/actions/upload-image.js +39 -4
  206. package/dist/file-upload/actions/upload-image.js.map +1 -1
  207. package/dist/integrations/a2a-continuations-store.d.ts.map +1 -1
  208. package/dist/integrations/a2a-continuations-store.js +5 -1
  209. package/dist/integrations/a2a-continuations-store.js.map +1 -1
  210. package/dist/integrations/adapters/email.d.ts.map +1 -1
  211. package/dist/integrations/adapters/email.js +5 -2
  212. package/dist/integrations/adapters/email.js.map +1 -1
  213. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  214. package/dist/integrations/adapters/slack.js.map +1 -1
  215. package/dist/integrations/google-docs-poller.d.ts.map +1 -1
  216. package/dist/integrations/google-docs-poller.js +16 -5
  217. package/dist/integrations/google-docs-poller.js.map +1 -1
  218. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
  219. package/dist/integrations/pending-tasks-retry-job.js +6 -2
  220. package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
  221. package/dist/integrations/pending-tasks-store.d.ts.map +1 -1
  222. package/dist/integrations/pending-tasks-store.js +5 -1
  223. package/dist/integrations/pending-tasks-store.js.map +1 -1
  224. package/dist/integrations/plugin.d.ts.map +1 -1
  225. package/dist/integrations/plugin.js +14 -3
  226. package/dist/integrations/plugin.js.map +1 -1
  227. package/dist/integrations/remote-commands-store.d.ts.map +1 -1
  228. package/dist/integrations/remote-commands-store.js +5 -1
  229. package/dist/integrations/remote-commands-store.js.map +1 -1
  230. package/dist/integrations/remote-devices-store.d.ts.map +1 -1
  231. package/dist/integrations/remote-devices-store.js +5 -1
  232. package/dist/integrations/remote-devices-store.js.map +1 -1
  233. package/dist/integrations/remote-push-store.d.ts.map +1 -1
  234. package/dist/integrations/remote-push-store.js +5 -1
  235. package/dist/integrations/remote-push-store.js.map +1 -1
  236. package/dist/integrations/remote-retry-job.js +1 -1
  237. package/dist/integrations/remote-retry-job.js.map +1 -1
  238. package/dist/integrations/remote-run-events-store.d.ts.map +1 -1
  239. package/dist/integrations/remote-run-events-store.js +5 -1
  240. package/dist/integrations/remote-run-events-store.js.map +1 -1
  241. package/dist/integrations/thread-mapping-store.d.ts.map +1 -1
  242. package/dist/integrations/thread-mapping-store.js +5 -1
  243. package/dist/integrations/thread-mapping-store.js.map +1 -1
  244. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  245. package/dist/integrations/webhook-handler.js +10 -1
  246. package/dist/integrations/webhook-handler.js.map +1 -1
  247. package/dist/jobs/scheduler.d.ts.map +1 -1
  248. package/dist/jobs/scheduler.js +31 -15
  249. package/dist/jobs/scheduler.js.map +1 -1
  250. package/dist/jobs/tools.d.ts.map +1 -1
  251. package/dist/jobs/tools.js +4 -1
  252. package/dist/jobs/tools.js.map +1 -1
  253. package/dist/mcp/build-server.d.ts.map +1 -1
  254. package/dist/mcp/build-server.js +24 -9
  255. package/dist/mcp/build-server.js.map +1 -1
  256. package/dist/mcp/connect-store.d.ts +3 -4
  257. package/dist/mcp/connect-store.d.ts.map +1 -1
  258. package/dist/mcp/connect-store.js +5 -5
  259. package/dist/mcp/connect-store.js.map +1 -1
  260. package/dist/mcp-client/routes.js +6 -1
  261. package/dist/mcp-client/routes.js.map +1 -1
  262. package/dist/notifications/channels.d.ts.map +1 -1
  263. package/dist/notifications/channels.js +3 -2
  264. package/dist/notifications/channels.js.map +1 -1
  265. package/dist/oauth-tokens/store.d.ts.map +1 -1
  266. package/dist/oauth-tokens/store.js +5 -1
  267. package/dist/oauth-tokens/store.js.map +1 -1
  268. package/dist/observability/evals.d.ts.map +1 -1
  269. package/dist/observability/evals.js +7 -7
  270. package/dist/observability/evals.js.map +1 -1
  271. package/dist/observability/traces.d.ts.map +1 -1
  272. package/dist/observability/traces.js +15 -5
  273. package/dist/observability/traces.js.map +1 -1
  274. package/dist/org/accept-pending.js +1 -1
  275. package/dist/org/accept-pending.js.map +1 -1
  276. package/dist/org/handlers.d.ts.map +1 -1
  277. package/dist/org/handlers.js +3 -2
  278. package/dist/org/handlers.js.map +1 -1
  279. package/dist/progress/store.d.ts.map +1 -1
  280. package/dist/progress/store.js +11 -1
  281. package/dist/progress/store.js.map +1 -1
  282. package/dist/resources/handlers.d.ts +5 -5
  283. package/dist/resources/handlers.d.ts.map +1 -1
  284. package/dist/resources/handlers.js +0 -2
  285. package/dist/resources/handlers.js.map +1 -1
  286. package/dist/resources/store.d.ts.map +1 -1
  287. package/dist/resources/store.js +23 -13
  288. package/dist/resources/store.js.map +1 -1
  289. package/dist/scripts/db/query.d.ts.map +1 -1
  290. package/dist/scripts/db/query.js +1 -2
  291. package/dist/scripts/db/query.js.map +1 -1
  292. package/dist/scripts/db/schema.js.map +1 -1
  293. package/dist/server/action-discovery.d.ts.map +1 -1
  294. package/dist/server/action-discovery.js +10 -3
  295. package/dist/server/action-discovery.js.map +1 -1
  296. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  297. package/dist/server/agent-chat-plugin.js +3 -6
  298. package/dist/server/agent-chat-plugin.js.map +1 -1
  299. package/dist/server/auth.d.ts.map +1 -1
  300. package/dist/server/auth.js +13 -9
  301. package/dist/server/auth.js.map +1 -1
  302. package/dist/server/better-auth-instance.d.ts.map +1 -1
  303. package/dist/server/better-auth-instance.js +0 -3
  304. package/dist/server/better-auth-instance.js.map +1 -1
  305. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  306. package/dist/server/core-routes-plugin.js +1 -2
  307. package/dist/server/core-routes-plugin.js.map +1 -1
  308. package/dist/server/create-server.d.ts.map +1 -1
  309. package/dist/server/create-server.js +0 -23
  310. package/dist/server/create-server.js.map +1 -1
  311. package/dist/server/google-oauth.d.ts.map +1 -1
  312. package/dist/server/google-oauth.js +0 -3
  313. package/dist/server/google-oauth.js.map +1 -1
  314. package/dist/server/identity-sso-store.d.ts.map +1 -1
  315. package/dist/server/identity-sso-store.js +14 -3
  316. package/dist/server/identity-sso-store.js.map +1 -1
  317. package/dist/server/poll.d.ts.map +1 -1
  318. package/dist/server/poll.js +67 -18
  319. package/dist/server/poll.js.map +1 -1
  320. package/dist/server/schema-prompt.js +1 -1
  321. package/dist/server/schema-prompt.js.map +1 -1
  322. package/dist/server/security-headers.d.ts +5 -4
  323. package/dist/server/security-headers.d.ts.map +1 -1
  324. package/dist/server/security-headers.js +5 -4
  325. package/dist/server/security-headers.js.map +1 -1
  326. package/dist/settings/store.d.ts.map +1 -1
  327. package/dist/settings/store.js +5 -1
  328. package/dist/settings/store.js.map +1 -1
  329. package/dist/sharing/access.d.ts.map +1 -1
  330. package/dist/sharing/access.js +25 -4
  331. package/dist/sharing/access.js.map +1 -1
  332. package/dist/sharing/actions/set-resource-visibility.d.ts.map +1 -1
  333. package/dist/sharing/actions/set-resource-visibility.js +8 -1
  334. package/dist/sharing/actions/set-resource-visibility.js.map +1 -1
  335. package/dist/triggers/actions.d.ts.map +1 -1
  336. package/dist/triggers/actions.js +1 -2
  337. package/dist/triggers/actions.js.map +1 -1
  338. package/dist/triggers/dispatcher.d.ts.map +1 -1
  339. package/dist/triggers/dispatcher.js +36 -8
  340. package/dist/triggers/dispatcher.js.map +1 -1
  341. package/dist/usage/store.d.ts.map +1 -1
  342. package/dist/usage/store.js +5 -1
  343. package/dist/usage/store.js.map +1 -1
  344. package/dist/vite/client.d.ts.map +1 -1
  345. package/dist/vite/client.js +7 -5
  346. package/dist/vite/client.js.map +1 -1
  347. package/package.json +3 -2
  348. package/dist/client/conversation/AgentConversation.spec.d.ts +0 -2
  349. package/dist/client/conversation/AgentConversation.spec.d.ts.map +0 -1
  350. package/dist/client/conversation/AgentConversation.spec.js +0 -69
  351. package/dist/client/conversation/AgentConversation.spec.js.map +0 -1
  352. package/dist/client/extensions/AgentNativeExtensionFrame.e2e-host.d.ts +0 -2
  353. package/dist/client/extensions/AgentNativeExtensionFrame.e2e-host.d.ts.map +0 -1
  354. package/dist/client/extensions/AgentNativeExtensionFrame.e2e-host.js +0 -110
  355. package/dist/client/extensions/AgentNativeExtensionFrame.e2e-host.js.map +0 -1
  356. package/dist/client/extensions/AgentNativeExtensionFrame.spec.d.ts +0 -2
  357. package/dist/client/extensions/AgentNativeExtensionFrame.spec.d.ts.map +0 -1
  358. package/dist/client/extensions/AgentNativeExtensionFrame.spec.js +0 -68
  359. package/dist/client/extensions/AgentNativeExtensionFrame.spec.js.map +0 -1
  360. package/dist/client/extensions/ExtensionViewer.spec.d.ts +0 -2
  361. package/dist/client/extensions/ExtensionViewer.spec.d.ts.map +0 -1
  362. package/dist/client/extensions/ExtensionViewer.spec.js +0 -94
  363. package/dist/client/extensions/ExtensionViewer.spec.js.map +0 -1
  364. package/dist/client/guided-questions.flow.spec.d.ts +0 -2
  365. package/dist/client/guided-questions.flow.spec.d.ts.map +0 -1
  366. package/dist/client/guided-questions.flow.spec.js +0 -147
  367. package/dist/client/guided-questions.flow.spec.js.map +0 -1
  368. package/dist/client/settings/useBuilderStatus.spec.d.ts +0 -2
  369. package/dist/client/settings/useBuilderStatus.spec.d.ts.map +0 -1
  370. package/dist/client/settings/useBuilderStatus.spec.js +0 -487
  371. package/dist/client/settings/useBuilderStatus.spec.js.map +0 -1
  372. package/dist/client/sharing/ShareButton.spec.d.ts +0 -2
  373. package/dist/client/sharing/ShareButton.spec.d.ts.map +0 -1
  374. package/dist/client/sharing/ShareButton.spec.js +0 -196
  375. package/dist/client/sharing/ShareButton.spec.js.map +0 -1
  376. package/dist/client/use-chat-models.spec.d.ts +0 -2
  377. package/dist/client/use-chat-models.spec.d.ts.map +0 -1
  378. package/dist/client/use-chat-models.spec.js +0 -39
  379. package/dist/client/use-chat-models.spec.js.map +0 -1
  380. package/dist/client/use-chat-threads.spec.d.ts +0 -2
  381. package/dist/client/use-chat-threads.spec.d.ts.map +0 -1
  382. package/dist/client/use-chat-threads.spec.js +0 -760
  383. package/dist/client/use-chat-threads.spec.js.map +0 -1
  384. package/dist/client/use-db-sync.spec.d.ts +0 -2
  385. package/dist/client/use-db-sync.spec.d.ts.map +0 -1
  386. package/dist/client/use-db-sync.spec.js +0 -107
  387. package/dist/client/use-db-sync.spec.js.map +0 -1
  388. package/dist/server/script-discovery.d.ts +0 -6
  389. package/dist/server/script-discovery.d.ts.map +0 -1
  390. package/dist/server/script-discovery.js +0 -6
  391. package/dist/server/script-discovery.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IframeEmbed.d.ts","sourceRoot":"","sources":["../../src/client/IframeEmbed.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmBtE;AAiBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,2CAqE3E"}
1
+ {"version":3,"file":"IframeEmbed.d.ts","sourceRoot":"","sources":["../../src/client/IframeEmbed.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmBtE;AAiBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,2CAqE3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"IframeEmbed.js","sourceRoot":"","sources":["../../src/client/IframeEmbed.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AASzD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC;YAAE,SAAS;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,GAAG,KAAK,KAAK;YAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;aAC9B,IAAI,GAAG,KAAK,QAAQ;YAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;aACzC,IAAI,GAAG,KAAK,OAAO;YAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;aACvC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAoC;IACrE,OAAO,CACL,eAAK,SAAS,EAAC,iHAAiH,aAC9H,KAAC,iBAAiB,IAAC,SAAS,EAAC,6BAA6B,GAAG,EAC7D,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,6BAA6B,8BAAoB,EAChE,cAAK,SAAS,EAAC,QAAQ,YAAE,MAAM,GAAO,EACrC,GAAG,IAAI,CACN,cAAK,SAAS,EAAC,qCAAqC,YAAE,GAAG,GAAO,CACjE,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAoB;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,cAAc,GAClB,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,YAAY,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC;IACzD,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAC3C,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,SAAS,CAAC,CAAe;YAChC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO;YAChD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa;gBAAE,OAAO;YACzD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAiD,CAAC;YACjE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,2BAA2B;gBAAE,OAAO;YAC/D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO;YACxE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO;YACvC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAC,YAAY,IAAC,MAAM,EAAC,aAAa,GAAG,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAC,YAAY,IAAC,MAAM,EAAC,8BAA8B,EAAC,GAAG,EAAE,GAAG,GAAI,CAAC;IAC1E,CAAC;IAED,MAAM,KAAK,GAAwB,MAAM;QACvC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE;QAC3B,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtB,OAAO,CACL,eAAK,SAAS,EAAC,8EAA8E,aAC3F,eAAK,SAAS,EAAC,gFAAgF,aAC7F,eAAM,SAAS,EAAC,kEAAkE,wBAE3E,EACP,8BAAkB,MAAM,EAAC,SAAS,EAAC,6BAA6B,GAAG,EACnE,eACE,SAAS,EAAC,6DAA6D,EACvE,KAAK,EAAE,YAAY,YAElB,YAAY,GACR,IACH,EACN,eAAK,SAAS,EAAC,6BAA6B,EAAC,KAAK,EAAE,KAAK,aACtD,CAAC,MAAM,IAAI,CACV,cAAK,SAAS,EAAC,4CAA4C,GAAG,CAC/D,EACD,iBACE,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,YAAY,EACnB,OAAO,EAAC,0DAA0D,EAClE,cAAc,EAAC,aAAa,EAC5B,OAAO,EAAC,MAAM,EACd,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAC7B,SAAS,EAAC,wDAAwD,GAClE,IACE,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { IconAlertTriangle } from \"@tabler/icons-react\";\nimport { cn } from \"./utils.js\";\nimport { AGENT_NAVIGATE_MESSAGE_TYPE } from \"./embed.js\";\n\nexport interface IframeEmbedProps {\n src?: string;\n aspect?: string;\n title?: string;\n height?: number;\n}\n\nconst ALLOWED_ASPECTS = new Set([\"16/9\", \"4/3\", \"1/1\", \"21/9\", \"3/2\", \"2/1\"]);\n\nfunction isSameOriginSrc(src: string): boolean {\n if (typeof window === \"undefined\") return false;\n const trimmed = src.trim();\n if (!trimmed) return false;\n if (trimmed.startsWith(\"javascript:\") || trimmed.startsWith(\"data:\")) {\n return false;\n }\n if (trimmed.startsWith(\"/\") && !trimmed.startsWith(\"//\")) return true;\n if (trimmed.startsWith(\"./\") || trimmed.startsWith(\"../\")) return true;\n try {\n const url = new URL(trimmed, window.location.origin);\n return url.origin === window.location.origin;\n } catch {\n return false;\n }\n}\n\nfunction aspectToPaddingBottom(aspect: string): string {\n const [w, h] = aspect.split(\"/\").map((n) => Number(n.trim()));\n if (!w || !h) return \"56.25%\";\n return `${(h / w) * 100}%`;\n}\n\n/**\n * Parses the body of a ```embed fenced block. Accepts simple `key: value`\n * lines, ignoring blanks and unknown keys. No YAML — keeps the surface small.\n */\nexport function parseEmbedBody(body: string): Partial<IframeEmbedProps> {\n const out: Partial<IframeEmbedProps> = {};\n for (const raw of body.split(/\\r?\\n/)) {\n const line = raw.trim();\n if (!line || line.startsWith(\"#\")) continue;\n const idx = line.indexOf(\":\");\n if (idx <= 0) continue;\n const key = line.slice(0, idx).trim().toLowerCase();\n const value = line.slice(idx + 1).trim();\n if (!value) continue;\n if (key === \"src\") out.src = value;\n else if (key === \"aspect\") out.aspect = value;\n else if (key === \"title\") out.title = value;\n else if (key === \"height\") {\n const n = Number(value);\n if (Number.isFinite(n) && n > 0) out.height = n;\n }\n }\n return out;\n}\n\nfunction BlockedEmbed({ reason, src }: { reason: string; src?: string }) {\n return (\n <div className=\"my-2 rounded-lg border border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground flex items-start gap-2\">\n <IconAlertTriangle className=\"h-3.5 w-3.5 shrink-0 mt-0.5\" />\n <div className=\"min-w-0\">\n <div className=\"font-medium text-foreground\">Embed blocked</div>\n <div className=\"mt-0.5\">{reason}</div>\n {src && (\n <div className=\"mt-1 font-mono text-[10px] truncate\">{src}</div>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * Inline iframe embed for assistant chat. Rendered from a ```embed fenced\n * code block. Same-origin paths only; sandboxed.\n */\nexport function IframeEmbed({ src, aspect, title, height }: IframeEmbedProps) {\n const [loaded, setLoaded] = useState(false);\n const iframeRef = useRef<HTMLIFrameElement>(null);\n const resolvedAspect =\n aspect && ALLOWED_ASPECTS.has(aspect) ? aspect : \"16/9\";\n const displayTitle = title?.trim() || \"Embedded content\";\n const paddingBottom = useMemo(\n () => aspectToPaddingBottom(resolvedAspect),\n [resolvedAspect],\n );\n\n useEffect(() => {\n function onMessage(e: MessageEvent) {\n if (e.origin !== window.location.origin) return;\n const iframe = iframeRef.current;\n if (!iframe || e.source !== iframe.contentWindow) return;\n const data = e.data as { type?: unknown; path?: unknown } | null;\n if (!data || data.type !== AGENT_NAVIGATE_MESSAGE_TYPE) return;\n if (typeof data.path !== \"string\" || !data.path.startsWith(\"/\")) return;\n if (data.path.startsWith(\"//\")) return;\n window.history.pushState({}, \"\", data.path);\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n window.addEventListener(\"message\", onMessage);\n return () => window.removeEventListener(\"message\", onMessage);\n }, []);\n\n if (!src) {\n return <BlockedEmbed reason=\"Missing src\" />;\n }\n if (!isSameOriginSrc(src)) {\n return <BlockedEmbed reason=\"Cross-origin URL not allowed\" src={src} />;\n }\n\n const style: React.CSSProperties = height\n ? { height: `${height}px` }\n : { paddingBottom };\n\n return (\n <div className=\"my-2 w-full overflow-hidden rounded-lg border border-border bg-background/60\">\n <div className=\"flex min-h-8 items-center gap-2 border-b border-border bg-muted/30 px-3 py-1.5\">\n <span className=\"shrink-0 text-[10px] font-medium uppercase text-muted-foreground\">\n Preview\n </span>\n <span aria-hidden=\"true\" className=\"h-3 w-px shrink-0 bg-border\" />\n <span\n className=\"min-w-0 flex-1 truncate text-xs font-medium text-foreground\"\n title={displayTitle}\n >\n {displayTitle}\n </span>\n </div>\n <div className=\"relative w-full bg-muted/20\" style={style}>\n {!loaded && (\n <div className=\"absolute inset-0 animate-pulse bg-muted/40\" />\n )}\n <iframe\n ref={iframeRef}\n src={src}\n title={displayTitle}\n sandbox=\"allow-scripts allow-same-origin allow-forms allow-popups\"\n referrerPolicy=\"same-origin\"\n loading=\"lazy\"\n onLoad={() => setLoaded(true)}\n className=\"absolute inset-0 h-full w-full border-0 bg-transparent\"\n />\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"IframeEmbed.js","sourceRoot":"","sources":["../../src/client/IframeEmbed.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { IconAlertTriangle } from \"@tabler/icons-react\";\nimport { AGENT_NAVIGATE_MESSAGE_TYPE } from \"./embed.js\";\n\nexport interface IframeEmbedProps {\n src?: string;\n aspect?: string;\n title?: string;\n height?: number;\n}\n\nconst ALLOWED_ASPECTS = new Set([\"16/9\", \"4/3\", \"1/1\", \"21/9\", \"3/2\", \"2/1\"]);\n\nfunction isSameOriginSrc(src: string): boolean {\n if (typeof window === \"undefined\") return false;\n const trimmed = src.trim();\n if (!trimmed) return false;\n if (trimmed.startsWith(\"javascript:\") || trimmed.startsWith(\"data:\")) {\n return false;\n }\n if (trimmed.startsWith(\"/\") && !trimmed.startsWith(\"//\")) return true;\n if (trimmed.startsWith(\"./\") || trimmed.startsWith(\"../\")) return true;\n try {\n const url = new URL(trimmed, window.location.origin);\n return url.origin === window.location.origin;\n } catch {\n return false;\n }\n}\n\nfunction aspectToPaddingBottom(aspect: string): string {\n const [w, h] = aspect.split(\"/\").map((n) => Number(n.trim()));\n if (!w || !h) return \"56.25%\";\n return `${(h / w) * 100}%`;\n}\n\n/**\n * Parses the body of a ```embed fenced block. Accepts simple `key: value`\n * lines, ignoring blanks and unknown keys. No YAML — keeps the surface small.\n */\nexport function parseEmbedBody(body: string): Partial<IframeEmbedProps> {\n const out: Partial<IframeEmbedProps> = {};\n for (const raw of body.split(/\\r?\\n/)) {\n const line = raw.trim();\n if (!line || line.startsWith(\"#\")) continue;\n const idx = line.indexOf(\":\");\n if (idx <= 0) continue;\n const key = line.slice(0, idx).trim().toLowerCase();\n const value = line.slice(idx + 1).trim();\n if (!value) continue;\n if (key === \"src\") out.src = value;\n else if (key === \"aspect\") out.aspect = value;\n else if (key === \"title\") out.title = value;\n else if (key === \"height\") {\n const n = Number(value);\n if (Number.isFinite(n) && n > 0) out.height = n;\n }\n }\n return out;\n}\n\nfunction BlockedEmbed({ reason, src }: { reason: string; src?: string }) {\n return (\n <div className=\"my-2 rounded-lg border border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground flex items-start gap-2\">\n <IconAlertTriangle className=\"h-3.5 w-3.5 shrink-0 mt-0.5\" />\n <div className=\"min-w-0\">\n <div className=\"font-medium text-foreground\">Embed blocked</div>\n <div className=\"mt-0.5\">{reason}</div>\n {src && (\n <div className=\"mt-1 font-mono text-[10px] truncate\">{src}</div>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * Inline iframe embed for assistant chat. Rendered from a ```embed fenced\n * code block. Same-origin paths only; sandboxed.\n */\nexport function IframeEmbed({ src, aspect, title, height }: IframeEmbedProps) {\n const [loaded, setLoaded] = useState(false);\n const iframeRef = useRef<HTMLIFrameElement>(null);\n const resolvedAspect =\n aspect && ALLOWED_ASPECTS.has(aspect) ? aspect : \"16/9\";\n const displayTitle = title?.trim() || \"Embedded content\";\n const paddingBottom = useMemo(\n () => aspectToPaddingBottom(resolvedAspect),\n [resolvedAspect],\n );\n\n useEffect(() => {\n function onMessage(e: MessageEvent) {\n if (e.origin !== window.location.origin) return;\n const iframe = iframeRef.current;\n if (!iframe || e.source !== iframe.contentWindow) return;\n const data = e.data as { type?: unknown; path?: unknown } | null;\n if (!data || data.type !== AGENT_NAVIGATE_MESSAGE_TYPE) return;\n if (typeof data.path !== \"string\" || !data.path.startsWith(\"/\")) return;\n if (data.path.startsWith(\"//\")) return;\n window.history.pushState({}, \"\", data.path);\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n window.addEventListener(\"message\", onMessage);\n return () => window.removeEventListener(\"message\", onMessage);\n }, []);\n\n if (!src) {\n return <BlockedEmbed reason=\"Missing src\" />;\n }\n if (!isSameOriginSrc(src)) {\n return <BlockedEmbed reason=\"Cross-origin URL not allowed\" src={src} />;\n }\n\n const style: React.CSSProperties = height\n ? { height: `${height}px` }\n : { paddingBottom };\n\n return (\n <div className=\"my-2 w-full overflow-hidden rounded-lg border border-border bg-background/60\">\n <div className=\"flex min-h-8 items-center gap-2 border-b border-border bg-muted/30 px-3 py-1.5\">\n <span className=\"shrink-0 text-[10px] font-medium uppercase text-muted-foreground\">\n Preview\n </span>\n <span aria-hidden=\"true\" className=\"h-3 w-px shrink-0 bg-border\" />\n <span\n className=\"min-w-0 flex-1 truncate text-xs font-medium text-foreground\"\n title={displayTitle}\n >\n {displayTitle}\n </span>\n </div>\n <div className=\"relative w-full bg-muted/20\" style={style}>\n {!loaded && (\n <div className=\"absolute inset-0 animate-pulse bg-muted/40\" />\n )}\n <iframe\n ref={iframeRef}\n src={src}\n title={displayTitle}\n sandbox=\"allow-scripts allow-same-origin allow-forms allow-popups\"\n referrerPolicy=\"same-origin\"\n loading=\"lazy\"\n onLoad={() => setLoaded(true)}\n className=\"absolute inset-0 h-full w-full border-0 bg-transparent\"\n />\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiTabAssistantChat.d.ts","sourceRoot":"","sources":["../../src/client/MultiTabAssistantChat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAUf,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AAwnB/B,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IACzC,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,kBAAkB,EAClB,OAAO,GAAG,UAAU,CACrB,GAAG;IACF,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5E,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7E,sGAAsG;IACtG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,UAAiB,EACjB,YAAY,EACZ,aAAa,EACb,aAAqB,EACrB,MAAqD,EACrD,UAAU,EACV,mBAA0B,EAC1B,YAAY,EACZ,KAAY,EACZ,GAAG,KAAK,EACT,EAAE,0BAA0B,2CA+2C5B"}
1
+ {"version":3,"file":"MultiTabAssistantChat.d.ts","sourceRoot":"","sources":["../../src/client/MultiTabAssistantChat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAUf,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AAwnB/B,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IACzC,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,kBAAkB,EAClB,OAAO,GAAG,UAAU,CACrB,GAAG;IACF,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5E,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7E,sGAAsG;IACtG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,UAAiB,EACjB,YAAY,EACZ,aAAa,EACb,aAAqB,EACrB,MAAqD,EACrD,UAAU,EACV,mBAA0B,EAC1B,YAAY,EACZ,KAAY,EACZ,GAAG,KAAK,EACT,EAAE,0BAA0B,2CA82C5B"}
@@ -267,7 +267,7 @@ function HelpPopover({ onClose }) {
267
267
  return (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40", onClick: onClose }), _jsxs("div", { className: "absolute right-2 top-0 z-50 w-72 rounded-lg border border-border bg-popover shadow-lg", children: [_jsxs("div", { className: "flex items-center justify-between px-3 py-2 border-b border-border", children: [_jsx("span", { className: "text-xs font-medium text-foreground", children: "Available Commands" }), _jsx("button", { onClick: onClose, "aria-label": "Close help", className: "flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground", children: _jsx(IconX, { size: 12 }) })] }), _jsx("div", { className: "py-1", children: commands.map((cmd) => (_jsxs("div", { className: "px-3 py-1.5", children: [_jsx("div", { className: "text-xs font-medium text-foreground", children: cmd.name }), _jsx("div", { className: "text-[11px] text-muted-foreground", children: cmd.description })] }, cmd.name))) })] })] }));
268
268
  }
269
269
  export function MultiTabAssistantChat({ showTabBar = true, renderHeader, renderOverlay, contentHidden = false, apiUrl = agentNativePath("/_agent-native/agent-chat"), storageKey, restoreActiveThread = true, browserTabId, scope = null, ...props }) {
270
- const { threads, activeThreadId, isLoading, createThread, switchThread, deleteThread, detachThread, forkThread, saveThreadData, generateTitle, searchThreads, refreshThreads, isNewThread, } = useChatThreads(apiUrl, storageKey, scope, { restoreActiveThread });
270
+ const { threads, activeThreadId, isLoading, createThread, switchThread, detachThread, forkThread, saveThreadData, generateTitle, searchThreads, refreshThreads, isNewThread, } = useChatThreads(apiUrl, storageKey, scope, { restoreActiveThread });
271
271
  // Namespace all localStorage keys by storageKey when provided (for per-app isolation in frame)
272
272
  const keyPrefix = storageKey ? `:${storageKey}` : "";
273
273
  const modelSelectionKey = `${MODEL_SELECTION_STORAGE_KEY}${keyPrefix}`;