@agent-native/core 0.7.13 → 0.7.15

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 (908) hide show
  1. package/README.md +56 -6
  2. package/dist/a2a/client.d.ts +44 -1
  3. package/dist/a2a/client.d.ts.map +1 -1
  4. package/dist/a2a/client.js +88 -11
  5. package/dist/a2a/client.js.map +1 -1
  6. package/dist/a2a/handlers.d.ts +10 -0
  7. package/dist/a2a/handlers.d.ts.map +1 -1
  8. package/dist/a2a/handlers.js +417 -67
  9. package/dist/a2a/handlers.js.map +1 -1
  10. package/dist/a2a/server.d.ts.map +1 -1
  11. package/dist/a2a/server.js +212 -19
  12. package/dist/a2a/server.js.map +1 -1
  13. package/dist/a2a/task-store.d.ts +20 -1
  14. package/dist/a2a/task-store.d.ts.map +1 -1
  15. package/dist/a2a/task-store.js +72 -2
  16. package/dist/a2a/task-store.js.map +1 -1
  17. package/dist/agent/default-model.d.ts +21 -0
  18. package/dist/agent/default-model.d.ts.map +1 -0
  19. package/dist/agent/default-model.js +21 -0
  20. package/dist/agent/default-model.js.map +1 -0
  21. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  22. package/dist/agent/engine/ai-sdk-engine.js +7 -4
  23. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  24. package/dist/agent/engine/anthropic-engine.d.ts +1 -1
  25. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  26. package/dist/agent/engine/anthropic-engine.js +10 -4
  27. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  28. package/dist/agent/engine/builder-engine.d.ts +1 -1
  29. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  30. package/dist/agent/engine/builder-engine.js +11 -26
  31. package/dist/agent/engine/builder-engine.js.map +1 -1
  32. package/dist/agent/engine/builtin.js +1 -1
  33. package/dist/agent/engine/builtin.js.map +1 -1
  34. package/dist/agent/engine/registry.d.ts +27 -7
  35. package/dist/agent/engine/registry.d.ts.map +1 -1
  36. package/dist/agent/engine/registry.js +101 -20
  37. package/dist/agent/engine/registry.js.map +1 -1
  38. package/dist/agent/index.d.ts +1 -0
  39. package/dist/agent/index.d.ts.map +1 -1
  40. package/dist/agent/index.js +1 -0
  41. package/dist/agent/index.js.map +1 -1
  42. package/dist/agent/production-agent.d.ts +25 -3
  43. package/dist/agent/production-agent.d.ts.map +1 -1
  44. package/dist/agent/production-agent.js +227 -36
  45. package/dist/agent/production-agent.js.map +1 -1
  46. package/dist/application-state/handlers.d.ts.map +1 -1
  47. package/dist/application-state/handlers.js +10 -6
  48. package/dist/application-state/handlers.js.map +1 -1
  49. package/dist/application-state/script-helpers.d.ts +1 -1
  50. package/dist/application-state/script-helpers.d.ts.map +1 -1
  51. package/dist/application-state/script-helpers.js +12 -8
  52. package/dist/application-state/script-helpers.js.map +1 -1
  53. package/dist/application-state/store.d.ts.map +1 -1
  54. package/dist/application-state/store.js +19 -10
  55. package/dist/application-state/store.js.map +1 -1
  56. package/dist/chat-threads/store.d.ts +3 -0
  57. package/dist/chat-threads/store.d.ts.map +1 -1
  58. package/dist/chat-threads/store.js +36 -1
  59. package/dist/chat-threads/store.js.map +1 -1
  60. package/dist/cli/create.d.ts.map +1 -1
  61. package/dist/cli/create.js +79 -13
  62. package/dist/cli/create.js.map +1 -1
  63. package/dist/cli/index.js +97 -39
  64. package/dist/cli/index.js.map +1 -1
  65. package/dist/cli/templates-meta.d.ts +4 -0
  66. package/dist/cli/templates-meta.d.ts.map +1 -1
  67. package/dist/cli/templates-meta.js +67 -12
  68. package/dist/cli/templates-meta.js.map +1 -1
  69. package/dist/cli/workspacify.d.ts +2 -0
  70. package/dist/cli/workspacify.d.ts.map +1 -1
  71. package/dist/cli/workspacify.js +5 -4
  72. package/dist/cli/workspacify.js.map +1 -1
  73. package/dist/client/AgentPanel.d.ts +7 -2
  74. package/dist/client/AgentPanel.d.ts.map +1 -1
  75. package/dist/client/AgentPanel.js +81 -32
  76. package/dist/client/AgentPanel.js.map +1 -1
  77. package/dist/client/AgentTaskCard.d.ts.map +1 -1
  78. package/dist/client/AgentTaskCard.js +5 -2
  79. package/dist/client/AgentTaskCard.js.map +1 -1
  80. package/dist/client/AssistantChat.d.ts +2 -0
  81. package/dist/client/AssistantChat.d.ts.map +1 -1
  82. package/dist/client/AssistantChat.js +183 -84
  83. package/dist/client/AssistantChat.js.map +1 -1
  84. package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
  85. package/dist/client/ConnectBuilderCard.js +2 -1
  86. package/dist/client/ConnectBuilderCard.js.map +1 -1
  87. package/dist/client/DefaultSpinner.d.ts +1 -1
  88. package/dist/client/DefaultSpinner.d.ts.map +1 -1
  89. package/dist/client/DefaultSpinner.js +2 -9
  90. package/dist/client/DefaultSpinner.js.map +1 -1
  91. package/dist/client/ErrorBoundary.d.ts +1 -3
  92. package/dist/client/ErrorBoundary.d.ts.map +1 -1
  93. package/dist/client/ErrorBoundary.js +37 -9
  94. package/dist/client/ErrorBoundary.js.map +1 -1
  95. package/dist/client/FeedbackButton.d.ts.map +1 -1
  96. package/dist/client/FeedbackButton.js +4 -3
  97. package/dist/client/FeedbackButton.js.map +1 -1
  98. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  99. package/dist/client/MultiTabAssistantChat.js +165 -68
  100. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  101. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  102. package/dist/client/agent-chat-adapter.js +2 -1
  103. package/dist/client/agent-chat-adapter.js.map +1 -1
  104. package/dist/client/agent-chat.d.ts +11 -0
  105. package/dist/client/agent-chat.d.ts.map +1 -1
  106. package/dist/client/agent-chat.js +4 -2
  107. package/dist/client/agent-chat.js.map +1 -1
  108. package/dist/client/analytics.d.ts.map +1 -1
  109. package/dist/client/analytics.js +70 -1
  110. package/dist/client/analytics.js.map +1 -1
  111. package/dist/client/api-path.d.ts +5 -0
  112. package/dist/client/api-path.d.ts.map +1 -0
  113. package/dist/client/api-path.js +48 -0
  114. package/dist/client/api-path.js.map +1 -0
  115. package/dist/client/components/AgentPresenceChip.d.ts +12 -0
  116. package/dist/client/components/AgentPresenceChip.d.ts.map +1 -0
  117. package/dist/client/components/AgentPresenceChip.js +42 -0
  118. package/dist/client/components/AgentPresenceChip.js.map +1 -0
  119. package/dist/client/components/ApiKeySettings.d.ts.map +1 -1
  120. package/dist/client/components/ApiKeySettings.js +3 -2
  121. package/dist/client/components/ApiKeySettings.js.map +1 -1
  122. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  123. package/dist/client/components/CodeRequiredDialog.js +3 -2
  124. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  125. package/dist/client/components/PresenceBar.d.ts +17 -0
  126. package/dist/client/components/PresenceBar.d.ts.map +1 -0
  127. package/dist/client/components/PresenceBar.js +118 -0
  128. package/dist/client/components/PresenceBar.js.map +1 -0
  129. package/dist/client/composer/ComposerPlusMenu.d.ts +6 -1
  130. package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
  131. package/dist/client/composer/ComposerPlusMenu.js +22 -83
  132. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  133. package/dist/client/composer/TiptapComposer.d.ts +3 -1
  134. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  135. package/dist/client/composer/TiptapComposer.js +245 -23
  136. package/dist/client/composer/TiptapComposer.js.map +1 -1
  137. package/dist/client/composer/draft-key.d.ts +2 -0
  138. package/dist/client/composer/draft-key.d.ts.map +1 -0
  139. package/dist/client/composer/draft-key.js +8 -0
  140. package/dist/client/composer/draft-key.js.map +1 -0
  141. package/dist/client/composer/types.d.ts +1 -0
  142. package/dist/client/composer/types.d.ts.map +1 -1
  143. package/dist/client/composer/use-file-search.d.ts.map +1 -1
  144. package/dist/client/composer/use-file-search.js +2 -1
  145. package/dist/client/composer/use-file-search.js.map +1 -1
  146. package/dist/client/composer/use-mention-search.d.ts.map +1 -1
  147. package/dist/client/composer/use-mention-search.js +2 -1
  148. package/dist/client/composer/use-mention-search.js.map +1 -1
  149. package/dist/client/composer/use-skills.d.ts.map +1 -1
  150. package/dist/client/composer/use-skills.js +2 -1
  151. package/dist/client/composer/use-skills.js.map +1 -1
  152. package/dist/client/composer/useVoiceDictation.d.ts +3 -1
  153. package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
  154. package/dist/client/composer/useVoiceDictation.js +101 -18
  155. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  156. package/dist/client/dev-mode.d.ts +14 -0
  157. package/dist/client/dev-mode.d.ts.map +1 -0
  158. package/dist/client/dev-mode.js +14 -0
  159. package/dist/client/dev-mode.js.map +1 -0
  160. package/dist/client/dev-overlay/DevOverlay.d.ts +26 -0
  161. package/dist/client/dev-overlay/DevOverlay.d.ts.map +1 -0
  162. package/dist/client/dev-overlay/DevOverlay.js +315 -0
  163. package/dist/client/dev-overlay/DevOverlay.js.map +1 -0
  164. package/dist/client/dev-overlay/builtins.d.ts +6 -0
  165. package/dist/client/dev-overlay/builtins.d.ts.map +1 -0
  166. package/dist/client/dev-overlay/builtins.js +35 -0
  167. package/dist/client/dev-overlay/builtins.js.map +1 -0
  168. package/dist/client/dev-overlay/index.d.ts +6 -0
  169. package/dist/client/dev-overlay/index.d.ts.map +1 -0
  170. package/dist/client/dev-overlay/index.js +5 -0
  171. package/dist/client/dev-overlay/index.js.map +1 -0
  172. package/dist/client/dev-overlay/registry.d.ts +13 -0
  173. package/dist/client/dev-overlay/registry.d.ts.map +1 -0
  174. package/dist/client/dev-overlay/registry.js +63 -0
  175. package/dist/client/dev-overlay/registry.js.map +1 -0
  176. package/dist/client/dev-overlay/types.d.ts +56 -0
  177. package/dist/client/dev-overlay/types.d.ts.map +1 -0
  178. package/dist/client/dev-overlay/types.js +9 -0
  179. package/dist/client/dev-overlay/types.js.map +1 -0
  180. package/dist/client/dev-overlay/use-dev-option.d.ts +12 -0
  181. package/dist/client/dev-overlay/use-dev-option.d.ts.map +1 -0
  182. package/dist/client/dev-overlay/use-dev-option.js +73 -0
  183. package/dist/client/dev-overlay/use-dev-option.js.map +1 -0
  184. package/dist/client/dev-overlay/use-dev-overlay-shortcut.d.ts +6 -0
  185. package/dist/client/dev-overlay/use-dev-overlay-shortcut.d.ts.map +1 -0
  186. package/dist/client/dev-overlay/use-dev-overlay-shortcut.js +29 -0
  187. package/dist/client/dev-overlay/use-dev-overlay-shortcut.js.map +1 -0
  188. package/dist/client/frame.d.ts +1 -0
  189. package/dist/client/frame.d.ts.map +1 -1
  190. package/dist/client/frame.js +32 -11
  191. package/dist/client/frame.js.map +1 -1
  192. package/dist/client/index.d.ts +7 -0
  193. package/dist/client/index.d.ts.map +1 -1
  194. package/dist/client/index.js +9 -0
  195. package/dist/client/index.js.map +1 -1
  196. package/dist/client/integrations/IntegrationCard.d.ts.map +1 -1
  197. package/dist/client/integrations/IntegrationCard.js +3 -2
  198. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  199. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
  200. package/dist/client/integrations/IntegrationsPanel.js +3 -2
  201. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  202. package/dist/client/integrations/useIntegrationStatus.d.ts.map +1 -1
  203. package/dist/client/integrations/useIntegrationStatus.js +2 -1
  204. package/dist/client/integrations/useIntegrationStatus.js.map +1 -1
  205. package/dist/client/notifications/NotificationsBell.d.ts.map +1 -1
  206. package/dist/client/notifications/NotificationsBell.js +26 -8
  207. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  208. package/dist/client/observability/ThumbsFeedback.d.ts.map +1 -1
  209. package/dist/client/observability/ThumbsFeedback.js +2 -1
  210. package/dist/client/observability/ThumbsFeedback.js.map +1 -1
  211. package/dist/client/observability/useObservability.d.ts.map +1 -1
  212. package/dist/client/observability/useObservability.js +2 -1
  213. package/dist/client/observability/useObservability.js.map +1 -1
  214. package/dist/client/onboarding/OnboardingPanel.d.ts +0 -7
  215. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  216. package/dist/client/onboarding/OnboardingPanel.js +20 -10
  217. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  218. package/dist/client/onboarding/index.d.ts +1 -0
  219. package/dist/client/onboarding/index.d.ts.map +1 -1
  220. package/dist/client/onboarding/index.js +1 -0
  221. package/dist/client/onboarding/index.js.map +1 -1
  222. package/dist/client/onboarding/use-onboarding.d.ts +1 -7
  223. package/dist/client/onboarding/use-onboarding.d.ts.map +1 -1
  224. package/dist/client/onboarding/use-onboarding.js +27 -13
  225. package/dist/client/onboarding/use-onboarding.js.map +1 -1
  226. package/dist/client/onboarding/use-preview-mode.d.ts +10 -0
  227. package/dist/client/onboarding/use-preview-mode.d.ts.map +1 -0
  228. package/dist/client/onboarding/use-preview-mode.js +35 -0
  229. package/dist/client/onboarding/use-preview-mode.js.map +1 -0
  230. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  231. package/dist/client/org/OrgSwitcher.js +2 -1
  232. package/dist/client/org/OrgSwitcher.js.map +1 -1
  233. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
  234. package/dist/client/org/RequireActiveOrg.js +15 -10
  235. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  236. package/dist/client/org/TeamPage.d.ts.map +1 -1
  237. package/dist/client/org/TeamPage.js +132 -9
  238. package/dist/client/org/TeamPage.js.map +1 -1
  239. package/dist/client/org/hooks.d.ts +30 -0
  240. package/dist/client/org/hooks.d.ts.map +1 -1
  241. package/dist/client/org/hooks.js +67 -1
  242. package/dist/client/org/hooks.js.map +1 -1
  243. package/dist/client/org/index.d.ts +2 -2
  244. package/dist/client/org/index.d.ts.map +1 -1
  245. package/dist/client/org/index.js +1 -1
  246. package/dist/client/org/index.js.map +1 -1
  247. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  248. package/dist/client/progress/RunsTray.js +2 -1
  249. package/dist/client/progress/RunsTray.js.map +1 -1
  250. package/dist/client/resources/McpServerDetail.d.ts +0 -8
  251. package/dist/client/resources/McpServerDetail.d.ts.map +1 -1
  252. package/dist/client/resources/McpServerDetail.js +6 -1
  253. package/dist/client/resources/McpServerDetail.js.map +1 -1
  254. package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
  255. package/dist/client/resources/ResourceEditor.js +2 -1
  256. package/dist/client/resources/ResourceEditor.js.map +1 -1
  257. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  258. package/dist/client/resources/ResourcesPanel.js +7 -2
  259. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  260. package/dist/client/resources/use-mcp-servers.d.ts.map +1 -1
  261. package/dist/client/resources/use-mcp-servers.js +7 -2
  262. package/dist/client/resources/use-mcp-servers.js.map +1 -1
  263. package/dist/client/resources/use-resources.d.ts.map +1 -1
  264. package/dist/client/resources/use-resources.js +9 -7
  265. package/dist/client/resources/use-resources.js.map +1 -1
  266. package/dist/client/settings/AgentsSection.d.ts.map +1 -1
  267. package/dist/client/settings/AgentsSection.js +7 -5
  268. package/dist/client/settings/AgentsSection.js.map +1 -1
  269. package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
  270. package/dist/client/settings/AutomationsSection.js +10 -5
  271. package/dist/client/settings/AutomationsSection.js.map +1 -1
  272. package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -1
  273. package/dist/client/settings/BackgroundAgentSection.js +2 -1
  274. package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
  275. package/dist/client/settings/SecretsSection.d.ts.map +1 -1
  276. package/dist/client/settings/SecretsSection.js +12 -4
  277. package/dist/client/settings/SecretsSection.js.map +1 -1
  278. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  279. package/dist/client/settings/SettingsPanel.js +38 -33
  280. package/dist/client/settings/SettingsPanel.js.map +1 -1
  281. package/dist/client/settings/UsageSection.d.ts.map +1 -1
  282. package/dist/client/settings/UsageSection.js +2 -1
  283. package/dist/client/settings/UsageSection.js.map +1 -1
  284. package/dist/client/settings/VoiceTranscriptionSection.d.ts +2 -4
  285. package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
  286. package/dist/client/settings/VoiceTranscriptionSection.js +66 -23
  287. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  288. package/dist/client/settings/useBuilderStatus.d.ts +9 -0
  289. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  290. package/dist/client/settings/useBuilderStatus.js +31 -3
  291. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  292. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  293. package/dist/client/sharing/ShareButton.js +7 -2
  294. package/dist/client/sharing/ShareButton.js.map +1 -1
  295. package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
  296. package/dist/client/sharing/ShareDialog.js +4 -3
  297. package/dist/client/sharing/ShareDialog.js.map +1 -1
  298. package/dist/client/sse-event-processor.d.ts.map +1 -1
  299. package/dist/client/sse-event-processor.js +10 -0
  300. package/dist/client/sse-event-processor.js.map +1 -1
  301. package/dist/client/terminal/AgentTerminal.d.ts +1 -0
  302. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  303. package/dist/client/terminal/AgentTerminal.js +12 -8
  304. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  305. package/dist/client/tools/EmbeddedTool.d.ts +20 -0
  306. package/dist/client/tools/EmbeddedTool.d.ts.map +1 -0
  307. package/dist/client/tools/EmbeddedTool.js +113 -0
  308. package/dist/client/tools/EmbeddedTool.js.map +1 -0
  309. package/dist/client/tools/ExtensionSlot.d.ts +27 -0
  310. package/dist/client/tools/ExtensionSlot.d.ts.map +1 -0
  311. package/dist/client/tools/ExtensionSlot.js +96 -0
  312. package/dist/client/tools/ExtensionSlot.js.map +1 -0
  313. package/dist/client/tools/ToolEditor.d.ts +5 -0
  314. package/dist/client/tools/ToolEditor.d.ts.map +1 -0
  315. package/dist/client/tools/ToolEditor.js +99 -0
  316. package/dist/client/tools/ToolEditor.js.map +1 -0
  317. package/dist/client/tools/ToolViewer.d.ts +5 -0
  318. package/dist/client/tools/ToolViewer.d.ts.map +1 -0
  319. package/dist/client/tools/ToolViewer.js +275 -0
  320. package/dist/client/tools/ToolViewer.js.map +1 -0
  321. package/dist/client/tools/ToolViewerPage.d.ts +2 -0
  322. package/dist/client/tools/ToolViewerPage.d.ts.map +1 -0
  323. package/dist/client/tools/ToolViewerPage.js +24 -0
  324. package/dist/client/tools/ToolViewerPage.js.map +1 -0
  325. package/dist/client/tools/ToolsListPage.d.ts +2 -0
  326. package/dist/client/tools/ToolsListPage.d.ts.map +1 -0
  327. package/dist/client/tools/ToolsListPage.js +73 -0
  328. package/dist/client/tools/ToolsListPage.js.map +1 -0
  329. package/dist/client/tools/ToolsSidebarSection.d.ts +2 -0
  330. package/dist/client/tools/ToolsSidebarSection.d.ts.map +1 -0
  331. package/dist/client/tools/ToolsSidebarSection.js +189 -0
  332. package/dist/client/tools/ToolsSidebarSection.js.map +1 -0
  333. package/dist/client/tools/iframe-bridge.d.ts +16 -0
  334. package/dist/client/tools/iframe-bridge.d.ts.map +1 -0
  335. package/dist/client/tools/iframe-bridge.js +118 -0
  336. package/dist/client/tools/iframe-bridge.js.map +1 -0
  337. package/dist/client/tools/index.d.ts +8 -0
  338. package/dist/client/tools/index.d.ts.map +1 -0
  339. package/dist/client/tools/index.js +8 -0
  340. package/dist/client/tools/index.js.map +1 -0
  341. package/dist/client/use-action.d.ts.map +1 -1
  342. package/dist/client/use-action.js +2 -1
  343. package/dist/client/use-action.js.map +1 -1
  344. package/dist/client/use-avatar.d.ts.map +1 -1
  345. package/dist/client/use-avatar.js +3 -2
  346. package/dist/client/use-avatar.js.map +1 -1
  347. package/dist/client/use-builder-enabled.d.ts.map +1 -1
  348. package/dist/client/use-builder-enabled.js +2 -1
  349. package/dist/client/use-builder-enabled.js.map +1 -1
  350. package/dist/client/use-chat-threads.d.ts +1 -0
  351. package/dist/client/use-chat-threads.d.ts.map +1 -1
  352. package/dist/client/use-chat-threads.js +31 -1
  353. package/dist/client/use-chat-threads.js.map +1 -1
  354. package/dist/client/use-db-sync.d.ts.map +1 -1
  355. package/dist/client/use-db-sync.js +9 -8
  356. package/dist/client/use-db-sync.js.map +1 -1
  357. package/dist/client/use-dev-mode.d.ts.map +1 -1
  358. package/dist/client/use-dev-mode.js +2 -1
  359. package/dist/client/use-dev-mode.js.map +1 -1
  360. package/dist/client/use-send-to-agent-chat.d.ts.map +1 -1
  361. package/dist/client/use-send-to-agent-chat.js +3 -1
  362. package/dist/client/use-send-to-agent-chat.js.map +1 -1
  363. package/dist/client/use-session.d.ts.map +1 -1
  364. package/dist/client/use-session.js +2 -1
  365. package/dist/client/use-session.js.map +1 -1
  366. package/dist/client/useProductionAgent.d.ts.map +1 -1
  367. package/dist/client/useProductionAgent.js +2 -1
  368. package/dist/client/useProductionAgent.js.map +1 -1
  369. package/dist/collab/agent-identity.d.ts +15 -0
  370. package/dist/collab/agent-identity.d.ts.map +1 -0
  371. package/dist/collab/agent-identity.js +14 -0
  372. package/dist/collab/agent-identity.js.map +1 -0
  373. package/dist/collab/agent-presence.d.ts +59 -0
  374. package/dist/collab/agent-presence.d.ts.map +1 -0
  375. package/dist/collab/agent-presence.js +165 -0
  376. package/dist/collab/agent-presence.js.map +1 -0
  377. package/dist/collab/awareness.d.ts +7 -0
  378. package/dist/collab/awareness.d.ts.map +1 -1
  379. package/dist/collab/awareness.js +2 -2
  380. package/dist/collab/awareness.js.map +1 -1
  381. package/dist/collab/client-struct.d.ts +43 -0
  382. package/dist/collab/client-struct.d.ts.map +1 -0
  383. package/dist/collab/client-struct.js +272 -0
  384. package/dist/collab/client-struct.js.map +1 -0
  385. package/dist/collab/client.d.ts +2 -0
  386. package/dist/collab/client.d.ts.map +1 -1
  387. package/dist/collab/client.js +18 -3
  388. package/dist/collab/client.js.map +1 -1
  389. package/dist/collab/index.d.ts +6 -1
  390. package/dist/collab/index.d.ts.map +1 -1
  391. package/dist/collab/index.js +11 -1
  392. package/dist/collab/index.js.map +1 -1
  393. package/dist/collab/json-to-yjs.d.ts +72 -0
  394. package/dist/collab/json-to-yjs.d.ts.map +1 -0
  395. package/dist/collab/json-to-yjs.js +456 -0
  396. package/dist/collab/json-to-yjs.js.map +1 -0
  397. package/dist/collab/struct-routes.d.ts +52 -0
  398. package/dist/collab/struct-routes.d.ts.map +1 -0
  399. package/dist/collab/struct-routes.js +74 -0
  400. package/dist/collab/struct-routes.js.map +1 -0
  401. package/dist/collab/ydoc-manager.d.ts +19 -0
  402. package/dist/collab/ydoc-manager.d.ts.map +1 -1
  403. package/dist/collab/ydoc-manager.js +49 -0
  404. package/dist/collab/ydoc-manager.js.map +1 -1
  405. package/dist/credentials/index.d.ts +27 -10
  406. package/dist/credentials/index.d.ts.map +1 -1
  407. package/dist/credentials/index.js +61 -19
  408. package/dist/credentials/index.js.map +1 -1
  409. package/dist/db/client.d.ts.map +1 -1
  410. package/dist/db/client.js +10 -1
  411. package/dist/db/client.js.map +1 -1
  412. package/dist/db/migrations.d.ts +13 -5
  413. package/dist/db/migrations.d.ts.map +1 -1
  414. package/dist/db/migrations.js +9 -2
  415. package/dist/db/migrations.js.map +1 -1
  416. package/dist/deploy/build.d.ts +12 -1
  417. package/dist/deploy/build.d.ts.map +1 -1
  418. package/dist/deploy/build.js +196 -24
  419. package/dist/deploy/build.js.map +1 -1
  420. package/dist/file-upload/builder.d.ts.map +1 -1
  421. package/dist/file-upload/builder.js +2 -1
  422. package/dist/file-upload/builder.js.map +1 -1
  423. package/dist/file-upload/registry.d.ts.map +1 -1
  424. package/dist/file-upload/registry.js +25 -1
  425. package/dist/file-upload/registry.js.map +1 -1
  426. package/dist/index.d.ts +1 -1
  427. package/dist/index.d.ts.map +1 -1
  428. package/dist/index.js +1 -1
  429. package/dist/index.js.map +1 -1
  430. package/dist/integrations/adapters/email.d.ts +17 -0
  431. package/dist/integrations/adapters/email.d.ts.map +1 -0
  432. package/dist/integrations/adapters/email.js +740 -0
  433. package/dist/integrations/adapters/email.js.map +1 -0
  434. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  435. package/dist/integrations/adapters/slack.js +190 -32
  436. package/dist/integrations/adapters/slack.js.map +1 -1
  437. package/dist/integrations/adapters/telegram.d.ts.map +1 -1
  438. package/dist/integrations/adapters/telegram.js +56 -5
  439. package/dist/integrations/adapters/telegram.js.map +1 -1
  440. package/dist/integrations/adapters/whatsapp.d.ts.map +1 -1
  441. package/dist/integrations/adapters/whatsapp.js +91 -12
  442. package/dist/integrations/adapters/whatsapp.js.map +1 -1
  443. package/dist/integrations/google-docs-poller.d.ts.map +1 -1
  444. package/dist/integrations/google-docs-poller.js +5 -2
  445. package/dist/integrations/google-docs-poller.js.map +1 -1
  446. package/dist/integrations/index.d.ts +1 -0
  447. package/dist/integrations/index.d.ts.map +1 -1
  448. package/dist/integrations/index.js +1 -0
  449. package/dist/integrations/index.js.map +1 -1
  450. package/dist/integrations/internal-token.d.ts +18 -0
  451. package/dist/integrations/internal-token.d.ts.map +1 -0
  452. package/dist/integrations/internal-token.js +102 -0
  453. package/dist/integrations/internal-token.js.map +1 -0
  454. package/dist/integrations/pending-tasks-retry-job.d.ts +15 -0
  455. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -0
  456. package/dist/integrations/pending-tasks-retry-job.js +210 -0
  457. package/dist/integrations/pending-tasks-retry-job.js.map +1 -0
  458. package/dist/integrations/pending-tasks-store.d.ts +56 -0
  459. package/dist/integrations/pending-tasks-store.d.ts.map +1 -0
  460. package/dist/integrations/pending-tasks-store.js +204 -0
  461. package/dist/integrations/pending-tasks-store.js.map +1 -0
  462. package/dist/integrations/plugin.d.ts.map +1 -1
  463. package/dist/integrations/plugin.js +340 -15
  464. package/dist/integrations/plugin.js.map +1 -1
  465. package/dist/integrations/task-queue-stats.d.ts +22 -0
  466. package/dist/integrations/task-queue-stats.d.ts.map +1 -0
  467. package/dist/integrations/task-queue-stats.js +117 -0
  468. package/dist/integrations/task-queue-stats.js.map +1 -0
  469. package/dist/integrations/types.d.ts +35 -2
  470. package/dist/integrations/types.d.ts.map +1 -1
  471. package/dist/integrations/webhook-handler.d.ts +29 -4
  472. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  473. package/dist/integrations/webhook-handler.js +323 -85
  474. package/dist/integrations/webhook-handler.js.map +1 -1
  475. package/dist/jobs/cron.d.ts.map +1 -1
  476. package/dist/jobs/cron.js +12 -4
  477. package/dist/jobs/cron.js.map +1 -1
  478. package/dist/jobs/scheduler.d.ts.map +1 -1
  479. package/dist/jobs/scheduler.js +141 -16
  480. package/dist/jobs/scheduler.js.map +1 -1
  481. package/dist/jobs/tools.d.ts.map +1 -1
  482. package/dist/jobs/tools.js +94 -3
  483. package/dist/jobs/tools.js.map +1 -1
  484. package/dist/mcp/server.d.ts.map +1 -1
  485. package/dist/mcp/server.js +128 -62
  486. package/dist/mcp/server.js.map +1 -1
  487. package/dist/mcp-client/hub-routes.d.ts +14 -0
  488. package/dist/mcp-client/hub-routes.d.ts.map +1 -1
  489. package/dist/mcp-client/hub-routes.js +42 -2
  490. package/dist/mcp-client/hub-routes.js.map +1 -1
  491. package/dist/mcp-client/index.d.ts +1 -1
  492. package/dist/mcp-client/index.d.ts.map +1 -1
  493. package/dist/mcp-client/index.js +1 -1
  494. package/dist/mcp-client/index.js.map +1 -1
  495. package/dist/mcp-client/manager.d.ts +3 -0
  496. package/dist/mcp-client/manager.d.ts.map +1 -1
  497. package/dist/mcp-client/manager.js +33 -3
  498. package/dist/mcp-client/manager.js.map +1 -1
  499. package/dist/mcp-client/remote-store.d.ts +49 -1
  500. package/dist/mcp-client/remote-store.d.ts.map +1 -1
  501. package/dist/mcp-client/remote-store.js +253 -6
  502. package/dist/mcp-client/remote-store.js.map +1 -1
  503. package/dist/mcp-client/routes.d.ts.map +1 -1
  504. package/dist/mcp-client/routes.js +11 -9
  505. package/dist/mcp-client/routes.js.map +1 -1
  506. package/dist/mcp-client/visibility.d.ts +7 -3
  507. package/dist/mcp-client/visibility.d.ts.map +1 -1
  508. package/dist/mcp-client/visibility.js +16 -7
  509. package/dist/mcp-client/visibility.js.map +1 -1
  510. package/dist/notifications/actions.d.ts.map +1 -1
  511. package/dist/notifications/actions.js +7 -1
  512. package/dist/notifications/actions.js.map +1 -1
  513. package/dist/notifications/routes.d.ts +1 -1
  514. package/dist/notifications/routes.d.ts.map +1 -1
  515. package/dist/notifications/routes.js +20 -3
  516. package/dist/notifications/routes.js.map +1 -1
  517. package/dist/notifications/store.d.ts.map +1 -1
  518. package/dist/notifications/store.js +6 -1
  519. package/dist/notifications/store.js.map +1 -1
  520. package/dist/oauth-tokens/google-refresh.d.ts.map +1 -1
  521. package/dist/oauth-tokens/google-refresh.js +6 -0
  522. package/dist/oauth-tokens/google-refresh.js.map +1 -1
  523. package/dist/oauth-tokens/store.d.ts +43 -2
  524. package/dist/oauth-tokens/store.d.ts.map +1 -1
  525. package/dist/oauth-tokens/store.js +83 -14
  526. package/dist/oauth-tokens/store.js.map +1 -1
  527. package/dist/observability/experiments.js +5 -5
  528. package/dist/observability/experiments.js.map +1 -1
  529. package/dist/observability/routes.d.ts.map +1 -1
  530. package/dist/observability/routes.js +37 -8
  531. package/dist/observability/routes.js.map +1 -1
  532. package/dist/observability/store.d.ts.map +1 -1
  533. package/dist/observability/store.js +19 -3
  534. package/dist/observability/store.js.map +1 -1
  535. package/dist/observability/types.d.ts +7 -0
  536. package/dist/observability/types.d.ts.map +1 -1
  537. package/dist/observability/types.js.map +1 -1
  538. package/dist/onboarding/default-steps.d.ts.map +1 -1
  539. package/dist/onboarding/default-steps.js +10 -4
  540. package/dist/onboarding/default-steps.js.map +1 -1
  541. package/dist/onboarding/plugin.d.ts.map +1 -1
  542. package/dist/onboarding/plugin.js +63 -32
  543. package/dist/onboarding/plugin.js.map +1 -1
  544. package/dist/onboarding/types.d.ts +6 -1
  545. package/dist/onboarding/types.d.ts.map +1 -1
  546. package/dist/org/accept-pending.d.ts.map +1 -1
  547. package/dist/org/accept-pending.js +2 -1
  548. package/dist/org/accept-pending.js.map +1 -1
  549. package/dist/org/context.d.ts +35 -0
  550. package/dist/org/context.d.ts.map +1 -1
  551. package/dist/org/context.js +136 -0
  552. package/dist/org/context.js.map +1 -1
  553. package/dist/org/handlers.d.ts +76 -0
  554. package/dist/org/handlers.d.ts.map +1 -1
  555. package/dist/org/handlers.js +411 -2
  556. package/dist/org/handlers.js.map +1 -1
  557. package/dist/org/index.d.ts +2 -2
  558. package/dist/org/index.d.ts.map +1 -1
  559. package/dist/org/index.js +2 -2
  560. package/dist/org/index.js.map +1 -1
  561. package/dist/org/migrations.d.ts.map +1 -1
  562. package/dist/org/migrations.js +8 -0
  563. package/dist/org/migrations.js.map +1 -1
  564. package/dist/org/plugin.d.ts +6 -0
  565. package/dist/org/plugin.d.ts.map +1 -1
  566. package/dist/org/plugin.js +71 -7
  567. package/dist/org/plugin.js.map +1 -1
  568. package/dist/org/schema.d.ts +38 -0
  569. package/dist/org/schema.d.ts.map +1 -1
  570. package/dist/org/schema.js +2 -0
  571. package/dist/org/schema.js.map +1 -1
  572. package/dist/org/types.d.ts +7 -0
  573. package/dist/org/types.d.ts.map +1 -1
  574. package/dist/progress/actions.d.ts.map +1 -1
  575. package/dist/progress/actions.js +10 -1
  576. package/dist/progress/actions.js.map +1 -1
  577. package/dist/progress/routes.d.ts +1 -1
  578. package/dist/progress/routes.d.ts.map +1 -1
  579. package/dist/progress/routes.js +20 -3
  580. package/dist/progress/routes.js.map +1 -1
  581. package/dist/progress/store.d.ts.map +1 -1
  582. package/dist/progress/store.js +6 -1
  583. package/dist/progress/store.js.map +1 -1
  584. package/dist/resources/handlers.d.ts.map +1 -1
  585. package/dist/resources/handlers.js +35 -7
  586. package/dist/resources/handlers.js.map +1 -1
  587. package/dist/resources/script-helpers.d.ts.map +1 -1
  588. package/dist/resources/script-helpers.js +15 -3
  589. package/dist/resources/script-helpers.js.map +1 -1
  590. package/dist/resources/store.d.ts.map +1 -1
  591. package/dist/resources/store.js +12 -4
  592. package/dist/resources/store.js.map +1 -1
  593. package/dist/scripts/call-agent.d.ts +1 -0
  594. package/dist/scripts/call-agent.d.ts.map +1 -1
  595. package/dist/scripts/call-agent.js +146 -36
  596. package/dist/scripts/call-agent.js.map +1 -1
  597. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  598. package/dist/scripts/chat/search-chats.js +3 -2
  599. package/dist/scripts/chat/search-chats.js.map +1 -1
  600. package/dist/scripts/db/exec.d.ts +1 -1
  601. package/dist/scripts/db/exec.d.ts.map +1 -1
  602. package/dist/scripts/db/exec.js +22 -3
  603. package/dist/scripts/db/exec.js.map +1 -1
  604. package/dist/scripts/db/index.d.ts.map +1 -1
  605. package/dist/scripts/db/index.js +2 -0
  606. package/dist/scripts/db/index.js.map +1 -1
  607. package/dist/scripts/db/migrate-user-api-keys.d.ts +24 -0
  608. package/dist/scripts/db/migrate-user-api-keys.d.ts.map +1 -0
  609. package/dist/scripts/db/migrate-user-api-keys.js +234 -0
  610. package/dist/scripts/db/migrate-user-api-keys.js.map +1 -0
  611. package/dist/scripts/db/query.d.ts +1 -1
  612. package/dist/scripts/db/query.d.ts.map +1 -1
  613. package/dist/scripts/db/query.js +22 -3
  614. package/dist/scripts/db/query.js.map +1 -1
  615. package/dist/scripts/db/scoping.d.ts.map +1 -1
  616. package/dist/scripts/db/scoping.js +15 -9
  617. package/dist/scripts/db/scoping.js.map +1 -1
  618. package/dist/scripts/db/wipe-leaked-builder-keys.d.ts +27 -0
  619. package/dist/scripts/db/wipe-leaked-builder-keys.d.ts.map +1 -0
  620. package/dist/scripts/db/wipe-leaked-builder-keys.js +163 -0
  621. package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -0
  622. package/dist/scripts/dev/shell.d.ts.map +1 -1
  623. package/dist/scripts/dev/shell.js +3 -1
  624. package/dist/scripts/dev/shell.js.map +1 -1
  625. package/dist/scripts/resources/delete-memory.d.ts.map +1 -1
  626. package/dist/scripts/resources/delete-memory.js +2 -1
  627. package/dist/scripts/resources/delete-memory.js.map +1 -1
  628. package/dist/scripts/resources/delete.d.ts.map +1 -1
  629. package/dist/scripts/resources/delete.js +2 -1
  630. package/dist/scripts/resources/delete.js.map +1 -1
  631. package/dist/scripts/resources/list.d.ts.map +1 -1
  632. package/dist/scripts/resources/list.js +2 -1
  633. package/dist/scripts/resources/list.js.map +1 -1
  634. package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
  635. package/dist/scripts/resources/migrate-learnings.js +2 -1
  636. package/dist/scripts/resources/migrate-learnings.js.map +1 -1
  637. package/dist/scripts/resources/read.d.ts.map +1 -1
  638. package/dist/scripts/resources/read.js +2 -1
  639. package/dist/scripts/resources/read.js.map +1 -1
  640. package/dist/scripts/resources/save-memory.d.ts.map +1 -1
  641. package/dist/scripts/resources/save-memory.js +2 -1
  642. package/dist/scripts/resources/save-memory.js.map +1 -1
  643. package/dist/scripts/resources/write.d.ts.map +1 -1
  644. package/dist/scripts/resources/write.js +2 -1
  645. package/dist/scripts/resources/write.js.map +1 -1
  646. package/dist/secrets/onboarding.d.ts.map +1 -1
  647. package/dist/secrets/onboarding.js +24 -16
  648. package/dist/secrets/onboarding.js.map +1 -1
  649. package/dist/secrets/register-framework-secrets.d.ts +5 -0
  650. package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
  651. package/dist/secrets/register-framework-secrets.js +7 -44
  652. package/dist/secrets/register-framework-secrets.js.map +1 -1
  653. package/dist/secrets/routes.d.ts.map +1 -1
  654. package/dist/secrets/routes.js +139 -37
  655. package/dist/secrets/routes.js.map +1 -1
  656. package/dist/secrets/storage.d.ts.map +1 -1
  657. package/dist/secrets/storage.js +23 -12
  658. package/dist/secrets/storage.js.map +1 -1
  659. package/dist/secrets/substitution.d.ts +24 -2
  660. package/dist/secrets/substitution.d.ts.map +1 -1
  661. package/dist/secrets/substitution.js +58 -8
  662. package/dist/secrets/substitution.js.map +1 -1
  663. package/dist/server/action-discovery.d.ts.map +1 -1
  664. package/dist/server/action-discovery.js +54 -51
  665. package/dist/server/action-discovery.js.map +1 -1
  666. package/dist/server/action-routes.d.ts.map +1 -1
  667. package/dist/server/action-routes.js +42 -15
  668. package/dist/server/action-routes.js.map +1 -1
  669. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  670. package/dist/server/agent-chat-plugin.js +632 -373
  671. package/dist/server/agent-chat-plugin.js.map +1 -1
  672. package/dist/server/agent-discovery.d.ts +8 -0
  673. package/dist/server/agent-discovery.d.ts.map +1 -1
  674. package/dist/server/agent-discovery.js +39 -12
  675. package/dist/server/agent-discovery.js.map +1 -1
  676. package/dist/server/agent-teams.d.ts.map +1 -1
  677. package/dist/server/agent-teams.js +4 -1
  678. package/dist/server/agent-teams.js.map +1 -1
  679. package/dist/server/analytics.d.ts +0 -1
  680. package/dist/server/analytics.d.ts.map +1 -1
  681. package/dist/server/analytics.js +0 -1
  682. package/dist/server/analytics.js.map +1 -1
  683. package/dist/server/app-base-path.d.ts +4 -0
  684. package/dist/server/app-base-path.d.ts.map +1 -0
  685. package/dist/server/app-base-path.js +33 -0
  686. package/dist/server/app-base-path.js.map +1 -0
  687. package/dist/server/auth.d.ts +29 -0
  688. package/dist/server/auth.d.ts.map +1 -1
  689. package/dist/server/auth.js +629 -82
  690. package/dist/server/auth.js.map +1 -1
  691. package/dist/server/better-auth-instance.d.ts +1 -0
  692. package/dist/server/better-auth-instance.d.ts.map +1 -1
  693. package/dist/server/better-auth-instance.js +67 -15
  694. package/dist/server/better-auth-instance.js.map +1 -1
  695. package/dist/server/builder-browser.d.ts +16 -1
  696. package/dist/server/builder-browser.d.ts.map +1 -1
  697. package/dist/server/builder-browser.js +102 -16
  698. package/dist/server/builder-browser.js.map +1 -1
  699. package/dist/server/cli-capture.d.ts +31 -0
  700. package/dist/server/cli-capture.d.ts.map +1 -0
  701. package/dist/server/cli-capture.js +120 -0
  702. package/dist/server/cli-capture.js.map +1 -0
  703. package/dist/server/collab-plugin.d.ts +16 -0
  704. package/dist/server/collab-plugin.d.ts.map +1 -1
  705. package/dist/server/collab-plugin.js +87 -19
  706. package/dist/server/collab-plugin.js.map +1 -1
  707. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  708. package/dist/server/core-routes-plugin.js +499 -164
  709. package/dist/server/core-routes-plugin.js.map +1 -1
  710. package/dist/server/create-server.d.ts +2 -0
  711. package/dist/server/create-server.d.ts.map +1 -1
  712. package/dist/server/create-server.js +82 -11
  713. package/dist/server/create-server.js.map +1 -1
  714. package/dist/server/credential-provider.d.ts +54 -2
  715. package/dist/server/credential-provider.d.ts.map +1 -1
  716. package/dist/server/credential-provider.js +164 -2
  717. package/dist/server/credential-provider.js.map +1 -1
  718. package/dist/server/csrf.d.ts +58 -0
  719. package/dist/server/csrf.d.ts.map +1 -0
  720. package/dist/server/csrf.js +165 -0
  721. package/dist/server/csrf.js.map +1 -0
  722. package/dist/server/design-token-utils.d.ts +132 -0
  723. package/dist/server/design-token-utils.d.ts.map +1 -0
  724. package/dist/server/design-token-utils.js +714 -0
  725. package/dist/server/design-token-utils.js.map +1 -0
  726. package/dist/server/email.d.ts +10 -0
  727. package/dist/server/email.d.ts.map +1 -1
  728. package/dist/server/email.js +63 -16
  729. package/dist/server/email.js.map +1 -1
  730. package/dist/server/framework-request-handler.d.ts +20 -0
  731. package/dist/server/framework-request-handler.d.ts.map +1 -1
  732. package/dist/server/framework-request-handler.js +140 -24
  733. package/dist/server/framework-request-handler.js.map +1 -1
  734. package/dist/server/google-auth-plugin.d.ts.map +1 -1
  735. package/dist/server/google-auth-plugin.js +10 -2
  736. package/dist/server/google-auth-plugin.js.map +1 -1
  737. package/dist/server/google-oauth.d.ts +102 -3
  738. package/dist/server/google-oauth.d.ts.map +1 -1
  739. package/dist/server/google-oauth.js +263 -43
  740. package/dist/server/google-oauth.js.map +1 -1
  741. package/dist/server/index.d.ts +5 -5
  742. package/dist/server/index.d.ts.map +1 -1
  743. package/dist/server/index.js +5 -5
  744. package/dist/server/index.js.map +1 -1
  745. package/dist/server/oauth-helpers.d.ts +8 -3
  746. package/dist/server/oauth-helpers.d.ts.map +1 -1
  747. package/dist/server/oauth-helpers.js +12 -8
  748. package/dist/server/oauth-helpers.js.map +1 -1
  749. package/dist/server/onboarding-html.d.ts.map +1 -1
  750. package/dist/server/onboarding-html.js +50 -9
  751. package/dist/server/onboarding-html.js.map +1 -1
  752. package/dist/server/poll.d.ts +33 -0
  753. package/dist/server/poll.d.ts.map +1 -1
  754. package/dist/server/poll.js +43 -2
  755. package/dist/server/poll.js.map +1 -1
  756. package/dist/server/request-context.d.ts +102 -3
  757. package/dist/server/request-context.d.ts.map +1 -1
  758. package/dist/server/request-context.js +100 -7
  759. package/dist/server/request-context.js.map +1 -1
  760. package/dist/server/security-headers.d.ts +51 -0
  761. package/dist/server/security-headers.d.ts.map +1 -0
  762. package/dist/server/security-headers.js +90 -0
  763. package/dist/server/security-headers.js.map +1 -0
  764. package/dist/server/ssr-handler.d.ts.map +1 -1
  765. package/dist/server/ssr-handler.js +96 -2
  766. package/dist/server/ssr-handler.js.map +1 -1
  767. package/dist/server/transcribe-voice.d.ts.map +1 -1
  768. package/dist/server/transcribe-voice.js +376 -60
  769. package/dist/server/transcribe-voice.js.map +1 -1
  770. package/dist/server/voice-providers-status.d.ts +12 -0
  771. package/dist/server/voice-providers-status.d.ts.map +1 -0
  772. package/dist/server/voice-providers-status.js +71 -0
  773. package/dist/server/voice-providers-status.js.map +1 -0
  774. package/dist/sharing/access.d.ts.map +1 -1
  775. package/dist/sharing/access.js +16 -13
  776. package/dist/sharing/access.js.map +1 -1
  777. package/dist/sharing/actions/share-resource.d.ts +1 -0
  778. package/dist/sharing/actions/share-resource.d.ts.map +1 -1
  779. package/dist/sharing/actions/share-resource.js +45 -0
  780. package/dist/sharing/actions/share-resource.js.map +1 -1
  781. package/dist/sharing/schema.d.ts +1 -1
  782. package/dist/styles/agent-native.css +5 -0
  783. package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +54 -0
  784. package/dist/templates/default/app/root.tsx +51 -14
  785. package/dist/templates/default/app/routes/_index.tsx +6 -1
  786. package/dist/templates/default/public/favicon.svg +13 -0
  787. package/dist/templates/default/public/icon-180.svg +12 -3
  788. package/dist/templates/default/public/icon-192.svg +12 -3
  789. package/dist/templates/default/public/icon-512.svg +12 -3
  790. package/dist/templates/default/react-router.config.ts +3 -0
  791. package/dist/templates/workspace-core/package.json +22 -4
  792. package/dist/templates/workspace-core/src/credentials.ts +32 -5
  793. package/dist/templates/workspace-core/tsconfig.json +4 -1
  794. package/dist/terminal/pty-server.d.ts.map +1 -1
  795. package/dist/terminal/pty-server.js +7 -1
  796. package/dist/terminal/pty-server.js.map +1 -1
  797. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  798. package/dist/terminal/terminal-plugin.js +26 -6
  799. package/dist/terminal/terminal-plugin.js.map +1 -1
  800. package/dist/tools/actions.d.ts +3 -0
  801. package/dist/tools/actions.d.ts.map +1 -0
  802. package/dist/tools/actions.js +270 -0
  803. package/dist/tools/actions.js.map +1 -0
  804. package/dist/tools/fetch-tool.d.ts +1 -0
  805. package/dist/tools/fetch-tool.d.ts.map +1 -1
  806. package/dist/tools/fetch-tool.js +39 -17
  807. package/dist/tools/fetch-tool.js.map +1 -1
  808. package/dist/tools/html-shell.d.ts +44 -0
  809. package/dist/tools/html-shell.d.ts.map +1 -0
  810. package/dist/tools/html-shell.js +485 -0
  811. package/dist/tools/html-shell.js.map +1 -0
  812. package/dist/tools/proxy-security.d.ts +12 -0
  813. package/dist/tools/proxy-security.d.ts.map +1 -0
  814. package/dist/tools/proxy-security.js +158 -0
  815. package/dist/tools/proxy-security.js.map +1 -0
  816. package/dist/tools/routes.d.ts +2 -0
  817. package/dist/tools/routes.d.ts.map +1 -0
  818. package/dist/tools/routes.js +629 -0
  819. package/dist/tools/routes.js.map +1 -0
  820. package/dist/tools/schema.d.ts +578 -0
  821. package/dist/tools/schema.d.ts.map +1 -0
  822. package/dist/tools/schema.js +115 -0
  823. package/dist/tools/schema.js.map +1 -0
  824. package/dist/tools/slots/routes.d.ts +15 -0
  825. package/dist/tools/slots/routes.d.ts.map +1 -0
  826. package/dist/tools/slots/routes.js +94 -0
  827. package/dist/tools/slots/routes.js.map +1 -0
  828. package/dist/tools/slots/schema.d.ts +303 -0
  829. package/dist/tools/slots/schema.d.ts.map +1 -0
  830. package/dist/tools/slots/schema.js +76 -0
  831. package/dist/tools/slots/schema.js.map +1 -0
  832. package/dist/tools/slots/store.d.ts +66 -0
  833. package/dist/tools/slots/store.d.ts.map +1 -0
  834. package/dist/tools/slots/store.js +227 -0
  835. package/dist/tools/slots/store.js.map +1 -0
  836. package/dist/tools/store.d.ts +40 -0
  837. package/dist/tools/store.d.ts.map +1 -0
  838. package/dist/tools/store.js +181 -0
  839. package/dist/tools/store.js.map +1 -0
  840. package/dist/tools/theme.d.ts +2 -0
  841. package/dist/tools/theme.d.ts.map +1 -0
  842. package/dist/tools/theme.js +67 -0
  843. package/dist/tools/theme.js.map +1 -0
  844. package/dist/tools/url-safety.d.ts +24 -0
  845. package/dist/tools/url-safety.d.ts.map +1 -0
  846. package/dist/tools/url-safety.js +224 -0
  847. package/dist/tools/url-safety.js.map +1 -0
  848. package/dist/tracking/providers.d.ts.map +1 -1
  849. package/dist/tracking/providers.js +28 -11
  850. package/dist/tracking/providers.js.map +1 -1
  851. package/dist/tracking/registry.d.ts.map +1 -1
  852. package/dist/tracking/registry.js +7 -3
  853. package/dist/tracking/registry.js.map +1 -1
  854. package/dist/transcription/builder-transcription.d.ts.map +1 -1
  855. package/dist/transcription/builder-transcription.js +26 -14
  856. package/dist/transcription/builder-transcription.js.map +1 -1
  857. package/dist/triggers/actions.d.ts.map +1 -1
  858. package/dist/triggers/actions.js +11 -6
  859. package/dist/triggers/actions.js.map +1 -1
  860. package/dist/triggers/condition-evaluator.d.ts +8 -0
  861. package/dist/triggers/condition-evaluator.d.ts.map +1 -1
  862. package/dist/triggers/condition-evaluator.js +39 -4
  863. package/dist/triggers/condition-evaluator.js.map +1 -1
  864. package/dist/triggers/dispatcher.d.ts.map +1 -1
  865. package/dist/triggers/dispatcher.js +67 -4
  866. package/dist/triggers/dispatcher.js.map +1 -1
  867. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  868. package/dist/vite/action-types-plugin.js +18 -7
  869. package/dist/vite/action-types-plugin.js.map +1 -1
  870. package/dist/vite/client.d.ts +2 -0
  871. package/dist/vite/client.d.ts.map +1 -1
  872. package/dist/vite/client.js +240 -8
  873. package/dist/vite/client.js.map +1 -1
  874. package/docs/content/a2a-protocol.md +2 -2
  875. package/docs/content/authentication.md +78 -12
  876. package/docs/content/cloneable-saas.md +59 -62
  877. package/docs/content/drop-in-agent.md +2 -2
  878. package/docs/content/faq.md +73 -43
  879. package/docs/content/getting-started.md +37 -61
  880. package/docs/content/mcp-clients.md +14 -1
  881. package/docs/content/messaging.md +324 -0
  882. package/docs/content/onboarding.md +82 -12
  883. package/docs/content/pure-agent-apps.md +55 -28
  884. package/docs/content/template-analytics.md +65 -59
  885. package/docs/content/template-calendar.md +61 -56
  886. package/docs/content/template-clips.md +25 -23
  887. package/docs/content/template-content.md +36 -26
  888. package/docs/content/template-design.md +55 -0
  889. package/docs/content/template-dispatch.md +15 -1
  890. package/docs/content/template-forms.md +19 -16
  891. package/docs/content/template-mail.md +78 -80
  892. package/docs/content/template-slides.md +43 -31
  893. package/docs/content/template-video.md +49 -22
  894. package/docs/content/tools.md +107 -0
  895. package/docs/content/what-is-agent-native.md +89 -105
  896. package/package.json +5 -1
  897. package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +54 -0
  898. package/src/templates/default/app/root.tsx +51 -14
  899. package/src/templates/default/app/routes/_index.tsx +6 -1
  900. package/src/templates/default/public/favicon.svg +13 -0
  901. package/src/templates/default/public/icon-180.svg +12 -3
  902. package/src/templates/default/public/icon-192.svg +12 -3
  903. package/src/templates/default/public/icon-512.svg +12 -3
  904. package/src/templates/default/react-router.config.ts +3 -0
  905. package/src/templates/workspace-core/package.json +22 -4
  906. package/src/templates/workspace-core/src/credentials.ts +32 -5
  907. package/src/templates/workspace-core/tsconfig.json +4 -1
  908. package/docs/content/integrations.md +0 -198
@@ -0,0 +1,714 @@
1
+ /**
2
+ * Shared design-token extraction utilities.
3
+ *
4
+ * Pure functions for parsing Tailwind configs, CSS files, package.json,
5
+ * documents, and URLs to extract colors, fonts, spacing, border-radius,
6
+ * and CSS custom properties. Used by the import-* actions across all
7
+ * templates (design, slides, videos).
8
+ *
9
+ * No framework dependencies — no defineAction, no zod, no drizzle.
10
+ */
11
+ // ---------------------------------------------------------------------------
12
+ // Constants
13
+ // ---------------------------------------------------------------------------
14
+ /** Maximum number of files to fetch from a single GitHub repo. */
15
+ export const MAX_FILES = 10;
16
+ /** Maximum individual file size (100 KB). */
17
+ export const MAX_FILE_SIZE = 100 * 1024;
18
+ /** Timeout for GitHub API / URL fetch calls (ms). */
19
+ export const FETCH_TIMEOUT = 15000;
20
+ /** File-name patterns to look for at the repo root. */
21
+ export const ROOT_PATTERNS = [
22
+ /^tailwind\.config\.\w+$/,
23
+ /^postcss\.config\.\w+$/,
24
+ /^\.?theme\.\w+$/,
25
+ /^\.?tokens\.\w+$/,
26
+ /^package\.json$/,
27
+ /\.css$/,
28
+ ];
29
+ /** Secondary paths (files and directories) to check for design tokens. */
30
+ export const SECONDARY_PATHS = [
31
+ "src/styles",
32
+ "styles",
33
+ "src/theme",
34
+ "app/globals.css",
35
+ "src/globals.css",
36
+ "src/index.css",
37
+ "app/layout.tsx",
38
+ "src/app/globals.css",
39
+ ];
40
+ /** Maximum files accepted in import-code. */
41
+ export const CODE_MAX_FILES = 20;
42
+ /** Maximum total bytes accepted in import-code. */
43
+ export const CODE_MAX_TOTAL_BYTES = 500 * 1024;
44
+ /** Regex for hex colors (3-8 digit, including alpha). */
45
+ export const HEX_COLOR_RE = /#(?:[0-9a-fA-F]{3,4}){1,2}\b/g;
46
+ /** Regex for well-known named CSS colors. */
47
+ export const NAMED_COLOR_RE = /\b(red|blue|green|yellow|orange|purple|pink|cyan|magenta|teal|navy|maroon|coral|salmon|gold|silver|gray|grey|indigo|violet|lime|olive|aqua|fuchsia|crimson|turquoise|ivory|beige|lavender|tan|khaki|plum|orchid|sienna)\b/gi;
48
+ /** Regex for well-known font family names found in documents. */
49
+ export const FONT_NAME_RE = /\b(Helvetica|Arial|Times New Roman|Georgia|Garamond|Futura|Bodoni|Avenir|Proxima Nova|Montserrat|Open Sans|Lato|Poppins|Raleway|Playfair Display|Merriweather|Source Sans|Noto Sans|Work Sans|Nunito|Rubik|Oswald|Roboto|Inter|DM Sans|Space Grotesk|SF Pro|Segoe UI|Calibri|Cambria|Century Gothic|Franklin Gothic|Gill Sans|Fira Sans|Barlow|Manrope|Sora|Plus Jakarta Sans|IBM Plex Sans|IBM Plex Serif|Libre Baskerville|Cormorant|Crimson Text)\b/gi;
50
+ /** Regex matching CSS custom property values that look like colors. */
51
+ export const COLOR_VAR_PATTERN = /^(#[0-9a-fA-F]{3,8}|rgba?\(|hsla?\(|oklch\(|color\()/;
52
+ /** Well-known styling framework deps to detect in package.json. */
53
+ export const FRAMEWORK_DETECTORS = [
54
+ { name: "tailwindcss", label: "tailwind" },
55
+ { name: "@tailwindcss/cli", label: "tailwind" },
56
+ { name: "styled-components", label: "styled-components" },
57
+ { name: "@emotion/react", label: "emotion" },
58
+ { name: "@emotion/styled", label: "emotion" },
59
+ { name: "sass", label: "sass" },
60
+ { name: "less", label: "less" },
61
+ { name: "postcss", label: "postcss" },
62
+ { name: "css-modules", label: "css-modules" },
63
+ { name: "@vanilla-extract/css", label: "vanilla-extract" },
64
+ { name: "stitches", label: "stitches" },
65
+ { name: "panda-css", label: "panda-css" },
66
+ { name: "@pandacss/dev", label: "panda-css" },
67
+ { name: "unocss", label: "unocss" },
68
+ { name: "windicss", label: "windi" },
69
+ ];
70
+ // ---------------------------------------------------------------------------
71
+ // SSRF Guard
72
+ // ---------------------------------------------------------------------------
73
+ /** Validate a URL is safe to fetch (blocks localhost, private IPs, metadata endpoints). */
74
+ export function validateUrl(url) {
75
+ const parsed = new URL(url);
76
+ if (!["http:", "https:"].includes(parsed.protocol)) {
77
+ throw new Error("Only http and https URLs are allowed");
78
+ }
79
+ const hostname = parsed.hostname;
80
+ if (hostname === "localhost" ||
81
+ hostname === "127.0.0.1" ||
82
+ hostname === "0.0.0.0" ||
83
+ hostname === "[::1]" ||
84
+ hostname.startsWith("10.") ||
85
+ hostname.startsWith("172.16.") ||
86
+ hostname.startsWith("172.17.") ||
87
+ hostname.startsWith("172.18.") ||
88
+ hostname.startsWith("172.19.") ||
89
+ hostname.startsWith("172.2") ||
90
+ hostname.startsWith("172.30.") ||
91
+ hostname.startsWith("172.31.") ||
92
+ hostname.startsWith("192.168.") ||
93
+ hostname.endsWith(".internal") ||
94
+ hostname.endsWith(".local") ||
95
+ hostname === "metadata.google.internal" ||
96
+ hostname === "169.254.169.254") {
97
+ throw new Error("Internal/private URLs are not allowed");
98
+ }
99
+ }
100
+ // ---------------------------------------------------------------------------
101
+ // GitHub helpers
102
+ // ---------------------------------------------------------------------------
103
+ /** Parse a GitHub URL or "org/repo" shorthand into owner + repo. */
104
+ export function parseOwnerRepo(raw) {
105
+ const shorthand = raw.match(/^([^/]+)\/([^/]+)$/);
106
+ if (shorthand) {
107
+ return { owner: shorthand[1], repo: shorthand[2] };
108
+ }
109
+ const urlMatch = raw.match(/github\.com\/([^/]+)\/([^/]+?)(?:\.git)?(?:\/.*)?$/);
110
+ if (urlMatch) {
111
+ return { owner: urlMatch[1], repo: urlMatch[2] };
112
+ }
113
+ throw new Error("Could not parse GitHub owner/repo from URL. " +
114
+ 'Expected format: "https://github.com/org/repo" or "org/repo"');
115
+ }
116
+ /** Fetch a path from the GitHub Contents API as JSON. Returns null on error. */
117
+ export async function fetchGitHubJson(owner, repo, path) {
118
+ const url = `https://api.github.com/repos/${owner}/${repo}/contents/${path}`;
119
+ validateUrl(url);
120
+ const res = await fetch(url, {
121
+ headers: {
122
+ Accept: "application/vnd.github.v3+json",
123
+ "User-Agent": "AgentNative/1.0",
124
+ },
125
+ signal: AbortSignal.timeout(FETCH_TIMEOUT),
126
+ });
127
+ if (!res.ok)
128
+ return null;
129
+ return res.json();
130
+ }
131
+ /** Fetch raw file content from the GitHub Contents API. Returns null on error or oversize. */
132
+ export async function fetchGitHubRaw(owner, repo, path) {
133
+ const url = `https://api.github.com/repos/${owner}/${repo}/contents/${path}`;
134
+ validateUrl(url);
135
+ const res = await fetch(url, {
136
+ headers: {
137
+ Accept: "application/vnd.github.v3.raw",
138
+ "User-Agent": "AgentNative/1.0",
139
+ },
140
+ signal: AbortSignal.timeout(FETCH_TIMEOUT),
141
+ });
142
+ if (!res.ok)
143
+ return null;
144
+ const cl = res.headers.get("content-length");
145
+ if (cl && parseInt(cl, 10) > MAX_FILE_SIZE)
146
+ return null;
147
+ const text = await res.text();
148
+ if (text.length > MAX_FILE_SIZE)
149
+ return null;
150
+ return text;
151
+ }
152
+ // ---------------------------------------------------------------------------
153
+ // Tailwind config parser
154
+ // ---------------------------------------------------------------------------
155
+ /** Extract colors, fonts, spacing, borderRadius from a Tailwind config file string. */
156
+ export function parseTailwindConfig(content) {
157
+ const result = {};
158
+ const colorsMatch = content.match(/colors\s*:\s*(\{[\s\S]*?\n\s{4}\}|\{[^}]+\})/);
159
+ if (colorsMatch) {
160
+ try {
161
+ const colors = {};
162
+ const pairs = colorsMatch[1].matchAll(/['"]?([\w-]+)['"]?\s*:\s*['"]([^'"]+)['"]/g);
163
+ for (const p of pairs) {
164
+ colors[p[1]] = p[2];
165
+ }
166
+ if (Object.keys(colors).length > 0)
167
+ result.colors = colors;
168
+ }
169
+ catch {
170
+ // skip
171
+ }
172
+ }
173
+ const fontMatch = content.match(/fontFamily\s*:\s*(\{[\s\S]*?\n\s{4}\}|\{[^}]+\})/);
174
+ if (fontMatch) {
175
+ const fonts = {};
176
+ const pairs = fontMatch[1].matchAll(/['"]?([\w-]+)['"]?\s*:\s*\[?\s*['"]([^'"]+)['"]/g);
177
+ for (const p of pairs) {
178
+ fonts[p[1]] = p[2];
179
+ }
180
+ if (Object.keys(fonts).length > 0)
181
+ result.fontFamily = fonts;
182
+ }
183
+ const spacingMatch = content.match(/spacing\s*:\s*(\{[\s\S]*?\n\s{4}\}|\{[^}]+\})/);
184
+ if (spacingMatch) {
185
+ const spacing = {};
186
+ const pairs = spacingMatch[1].matchAll(/['"]?([\w.-]+)['"]?\s*:\s*['"]([^'"]+)['"]/g);
187
+ for (const p of pairs) {
188
+ spacing[p[1]] = p[2];
189
+ }
190
+ if (Object.keys(spacing).length > 0)
191
+ result.spacing = spacing;
192
+ }
193
+ const radiusMatch = content.match(/borderRadius\s*:\s*(\{[\s\S]*?\n\s{4}\}|\{[^}]+\})/);
194
+ if (radiusMatch) {
195
+ const radii = {};
196
+ const pairs = radiusMatch[1].matchAll(/['"]?([\w-]+)['"]?\s*:\s*['"]([^'"]+)['"]/g);
197
+ for (const p of pairs) {
198
+ radii[p[1]] = p[2];
199
+ }
200
+ if (Object.keys(radii).length > 0)
201
+ result.borderRadius = radii;
202
+ }
203
+ return result;
204
+ }
205
+ // ---------------------------------------------------------------------------
206
+ // CSS parser
207
+ // ---------------------------------------------------------------------------
208
+ /** Extract CSS custom properties and @font-face / Google Fonts from CSS content. */
209
+ export function parseCss(content) {
210
+ const cssCustomProperties = {};
211
+ const varMatches = content.matchAll(/--([\w-]+)\s*:\s*([^;}\n]+)/g);
212
+ for (const m of varMatches) {
213
+ cssCustomProperties[`--${m[1]}`] = m[2].trim();
214
+ }
215
+ const fonts = [];
216
+ const fontFaceMatches = content.matchAll(/@font-face\s*\{([^}]+)\}/g);
217
+ for (const m of fontFaceMatches) {
218
+ const familyMatch = m[1].match(/font-family\s*:\s*["']?([^"';]+)["']?/);
219
+ if (familyMatch)
220
+ fonts.push(familyMatch[1].trim());
221
+ }
222
+ const importMatches = content.matchAll(/@import\s+url\(\s*['"]?(fonts\.googleapis\.com[^'")\s]+)['"]?\s*\)/g);
223
+ for (const m of importMatches) {
224
+ const familyParam = m[1].match(/family=([^&"')\s]+)/);
225
+ if (familyParam) {
226
+ fonts.push(decodeURIComponent(familyParam[1]).replace(/\+/g, " "));
227
+ }
228
+ }
229
+ return {
230
+ cssCustomProperties: Object.keys(cssCustomProperties).length > 0
231
+ ? cssCustomProperties
232
+ : undefined,
233
+ fonts: fonts.length > 0 ? [...new Set(fonts)] : undefined,
234
+ };
235
+ }
236
+ // ---------------------------------------------------------------------------
237
+ // Styling framework detection
238
+ // ---------------------------------------------------------------------------
239
+ /** Detect the styling framework from a package.json string. */
240
+ export function detectStylingFramework(content) {
241
+ try {
242
+ const pkg = JSON.parse(content);
243
+ const all = {
244
+ ...pkg.dependencies,
245
+ ...pkg.devDependencies,
246
+ };
247
+ if (all["tailwindcss"] || all["@tailwindcss/cli"])
248
+ return "tailwindcss";
249
+ if (all["styled-components"])
250
+ return "styled-components";
251
+ if (all["@emotion/react"] || all["@emotion/styled"])
252
+ return "emotion";
253
+ if (all["sass"] || all["node-sass"])
254
+ return "sass";
255
+ if (all["less"])
256
+ return "less";
257
+ if (all["@vanilla-extract/css"])
258
+ return "vanilla-extract";
259
+ if (all["windicss"])
260
+ return "windicss";
261
+ if (all["unocss"])
262
+ return "unocss";
263
+ return undefined;
264
+ }
265
+ catch {
266
+ return undefined;
267
+ }
268
+ }
269
+ // ---------------------------------------------------------------------------
270
+ // Code file analysis helpers (import-code)
271
+ // ---------------------------------------------------------------------------
272
+ /** Create a fresh state object for code file analysis. */
273
+ export function createCodeAnalysisState() {
274
+ return {
275
+ colors: {},
276
+ cssCustomProperties: {},
277
+ fonts: [],
278
+ spacing: {},
279
+ borderRadius: {},
280
+ stylingFramework: null,
281
+ rawExtracts: [],
282
+ seenFonts: new Set(),
283
+ };
284
+ }
285
+ /** De-duplicate and add a font to the analysis state. */
286
+ export function addFont(state, family, source) {
287
+ const normalized = family.trim().replace(/["']/g, "");
288
+ if (!normalized || state.seenFonts.has(normalized.toLowerCase()))
289
+ return;
290
+ state.seenFonts.add(normalized.toLowerCase());
291
+ state.fonts.push({ family: normalized, source });
292
+ }
293
+ /** Extract CSS custom properties, classifying them by name into colors/spacing/radius. */
294
+ export function extractCssVars(state, content) {
295
+ const pattern = /--([\w-]+)\s*:\s*([^;}\n]+)/g;
296
+ let match;
297
+ while ((match = pattern.exec(content)) !== null) {
298
+ const name = `--${match[1]}`;
299
+ const value = match[2].trim();
300
+ state.cssCustomProperties[name] = value;
301
+ if (/color|bg|background|text|border|accent|primary|secondary|surface|muted|foreground/i.test(match[1])) {
302
+ state.colors[name] = value;
303
+ }
304
+ else if (/spacing|gap|padding|margin|space/i.test(match[1])) {
305
+ state.spacing[name] = value;
306
+ }
307
+ else if (/radius|rounded/i.test(match[1])) {
308
+ state.borderRadius[name] = value;
309
+ }
310
+ }
311
+ }
312
+ /** Extract literal color values (hex, rgb, hsl, oklch) from content. */
313
+ export function extractCodeColors(state, content) {
314
+ const hexPattern = /#[0-9a-fA-F]{3,8}\b/g;
315
+ let m;
316
+ while ((m = hexPattern.exec(content)) !== null) {
317
+ state.colors[m[0]] = m[0];
318
+ }
319
+ const rgbPattern = /rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+(?:\s*,\s*[\d.]+)?\s*\)/g;
320
+ while ((m = rgbPattern.exec(content)) !== null) {
321
+ state.colors[m[0]] = m[0];
322
+ }
323
+ const hslPattern = /hsla?\(\s*\d+\s*,\s*[\d.]+%\s*,\s*[\d.]+%(?:\s*,\s*[\d.]+)?\s*\)/g;
324
+ while ((m = hslPattern.exec(content)) !== null) {
325
+ state.colors[m[0]] = m[0];
326
+ }
327
+ const oklchPattern = /oklch\(\s*[\d.]+%?\s+[\d.]+\s+[\d.]+(?:\s*\/\s*[\d.]+)?\s*\)/g;
328
+ while ((m = oklchPattern.exec(content)) !== null) {
329
+ state.colors[m[0]] = m[0];
330
+ }
331
+ }
332
+ /** Extract font-family declarations and @font-face blocks from CSS-like content. */
333
+ export function extractCodeFonts(state, content, filename) {
334
+ const fontFamilyPattern = /font-family\s*:\s*["']?([^"';}\n]+)/g;
335
+ let m;
336
+ while ((m = fontFamilyPattern.exec(content)) !== null) {
337
+ const families = m[1].split(",");
338
+ for (const fam of families) {
339
+ const trimmed = fam.trim().replace(/["']/g, "");
340
+ if (trimmed &&
341
+ !/^(sans-serif|serif|monospace|cursive|fantasy|system-ui|inherit|initial)$/i.test(trimmed)) {
342
+ addFont(state, trimmed, filename);
343
+ }
344
+ }
345
+ }
346
+ const fontFacePattern = /@font-face\s*\{([^}]+)\}/g;
347
+ while ((m = fontFacePattern.exec(content)) !== null) {
348
+ const block = m[1];
349
+ const familyMatch = block.match(/font-family\s*:\s*["']?([^"';]+)["']?/);
350
+ if (familyMatch) {
351
+ addFont(state, familyMatch[1], filename);
352
+ }
353
+ }
354
+ }
355
+ /** Analyze a CSS/SCSS/LESS file, extracting vars, colors, and fonts. */
356
+ export function analyzeCssFile(state, content, filename) {
357
+ extractCssVars(state, content);
358
+ extractCodeColors(state, content);
359
+ extractCodeFonts(state, content, filename);
360
+ state.rawExtracts.push({ filename, type: "css", data: { parsed: true } });
361
+ }
362
+ /** Analyze a Tailwind config file for tokens. */
363
+ export function analyzeTailwindConfig(state, content, filename) {
364
+ state.stylingFramework = "tailwind";
365
+ const colorsBlockMatch = content.match(/colors\s*:\s*\{([\s\S]*?)\}/);
366
+ if (colorsBlockMatch) {
367
+ const pairPattern = /["']?([\w-]+)["']?\s*:\s*["']([^"']+)["']/g;
368
+ let m;
369
+ while ((m = pairPattern.exec(colorsBlockMatch[1])) !== null) {
370
+ state.colors[m[1]] = m[2];
371
+ }
372
+ }
373
+ const fontFamilyBlockMatch = content.match(/fontFamily\s*:\s*\{([\s\S]*?)\}/);
374
+ if (fontFamilyBlockMatch) {
375
+ const fontPairPattern = /["']?([\w-]+)["']?\s*:\s*\[?\s*["']([^"']+)["']/g;
376
+ let m;
377
+ while ((m = fontPairPattern.exec(fontFamilyBlockMatch[1])) !== null) {
378
+ addFont(state, m[2], filename);
379
+ }
380
+ }
381
+ const spacingBlockMatch = content.match(/spacing\s*:\s*\{([\s\S]*?)\}/);
382
+ if (spacingBlockMatch) {
383
+ const pairPattern = /["']?([\w.-]+)["']?\s*:\s*["']([^"']+)["']/g;
384
+ let m;
385
+ while ((m = pairPattern.exec(spacingBlockMatch[1])) !== null) {
386
+ state.spacing[m[1]] = m[2];
387
+ }
388
+ }
389
+ const radiusBlockMatch = content.match(/borderRadius\s*:\s*\{([\s\S]*?)\}/);
390
+ if (radiusBlockMatch) {
391
+ const pairPattern = /["']?([\w-]+)["']?\s*:\s*["']([^"']+)["']/g;
392
+ let m;
393
+ while ((m = pairPattern.exec(radiusBlockMatch[1])) !== null) {
394
+ state.borderRadius[m[1]] = m[2];
395
+ }
396
+ }
397
+ extractCodeColors(state, content);
398
+ state.rawExtracts.push({
399
+ filename,
400
+ type: "tailwind-config",
401
+ data: {
402
+ hasColors: !!colorsBlockMatch,
403
+ hasFontFamily: !!fontFamilyBlockMatch,
404
+ hasSpacing: !!spacingBlockMatch,
405
+ hasBorderRadius: !!radiusBlockMatch,
406
+ },
407
+ });
408
+ }
409
+ /** Walk a parsed JSON theme object, extracting tokens into state. */
410
+ export function analyzeJsonTheme(state, content, filename) {
411
+ try {
412
+ const json = JSON.parse(content);
413
+ const walk = (obj, prefix) => {
414
+ for (const [key, value] of Object.entries(obj)) {
415
+ const path = prefix ? `${prefix}.${key}` : key;
416
+ if (typeof value === "string") {
417
+ const lower = key.toLowerCase();
418
+ if (/color|bg|background|text|border|accent|primary|secondary|surface/i.test(lower) ||
419
+ /^#[0-9a-fA-F]{3,8}$/.test(value)) {
420
+ state.colors[path] = value;
421
+ }
422
+ else if (/font|family|typeface/i.test(lower)) {
423
+ addFont(state, value, filename);
424
+ }
425
+ else if (/spacing|gap|padding|margin|space/i.test(lower)) {
426
+ state.spacing[path] = value;
427
+ }
428
+ else if (/radius|rounded/i.test(lower)) {
429
+ state.borderRadius[path] = value;
430
+ }
431
+ }
432
+ else if (value &&
433
+ typeof value === "object" &&
434
+ !Array.isArray(value)) {
435
+ walk(value, path);
436
+ }
437
+ }
438
+ };
439
+ walk(json, "");
440
+ state.rawExtracts.push({
441
+ filename,
442
+ type: "json-theme",
443
+ data: { keys: Object.keys(json) },
444
+ });
445
+ }
446
+ catch {
447
+ state.rawExtracts.push({
448
+ filename,
449
+ type: "json-theme",
450
+ data: { parseError: true },
451
+ });
452
+ }
453
+ }
454
+ /** Analyze package.json for styling framework deps. */
455
+ export function analyzePackageJson(state, content, filename) {
456
+ try {
457
+ const json = JSON.parse(content);
458
+ const allDeps = {
459
+ ...json.dependencies,
460
+ ...json.devDependencies,
461
+ };
462
+ const detected = [];
463
+ for (const fw of FRAMEWORK_DETECTORS) {
464
+ if (allDeps && fw.name in allDeps) {
465
+ detected.push(fw.label);
466
+ if (!state.stylingFramework) {
467
+ state.stylingFramework = fw.label;
468
+ }
469
+ }
470
+ }
471
+ state.rawExtracts.push({
472
+ filename,
473
+ type: "package-json",
474
+ data: { stylingDeps: detected },
475
+ });
476
+ }
477
+ catch {
478
+ state.rawExtracts.push({
479
+ filename,
480
+ type: "package-json",
481
+ data: { parseError: true },
482
+ });
483
+ }
484
+ }
485
+ /** Analyze a theme source file (theme.ts, tokens.ts) for design tokens. */
486
+ export function analyzeThemeSourceFile(state, content, filename) {
487
+ const namedHexPattern = /(?:const|let|var|export)\s+(\w+)\s*=\s*["']?(#[0-9a-fA-F]{3,8})\b/g;
488
+ let m;
489
+ while ((m = namedHexPattern.exec(content)) !== null) {
490
+ state.colors[m[1]] = m[2];
491
+ }
492
+ const kvHexPattern = /["']?([\w-]+)["']?\s*:\s*["'](#[0-9a-fA-F]{3,8})["']/g;
493
+ while ((m = kvHexPattern.exec(content)) !== null) {
494
+ state.colors[m[1]] = m[2];
495
+ }
496
+ const fontStringPattern = /(?:font|family|typeface)\w*\s*[:=]\s*["']([^"']+)["']/gi;
497
+ while ((m = fontStringPattern.exec(content)) !== null) {
498
+ addFont(state, m[1], filename);
499
+ }
500
+ const spacingPattern = /(?:spacing|gap|padding|margin)\w*\s*[:=]\s*["']([^"']+)["']/gi;
501
+ while ((m = spacingPattern.exec(content)) !== null) {
502
+ state.spacing[m[0].split(/[:=]/)[0].trim()] = m[1];
503
+ }
504
+ extractCodeColors(state, content);
505
+ state.rawExtracts.push({
506
+ filename,
507
+ type: "theme-source",
508
+ data: { parsed: true },
509
+ });
510
+ }
511
+ /** Route a file to the correct analyzer based on filename. */
512
+ export function analyzeCodeFile(state, filename, content) {
513
+ const name = filename.toLowerCase();
514
+ const basename = name.split("/").pop() ?? name;
515
+ if (basename.startsWith("tailwind.config")) {
516
+ analyzeTailwindConfig(state, content, filename);
517
+ }
518
+ else if (basename === "package.json") {
519
+ analyzePackageJson(state, content, filename);
520
+ }
521
+ else if (basename === "theme.json" ||
522
+ basename === "tokens.json" ||
523
+ basename.endsWith(".tokens.json")) {
524
+ analyzeJsonTheme(state, content, filename);
525
+ }
526
+ else if (name.endsWith(".css")) {
527
+ analyzeCssFile(state, content, filename);
528
+ }
529
+ else if (/^theme\.(ts|js)$/.test(basename) ||
530
+ /^tokens\.(ts|js)$/.test(basename)) {
531
+ analyzeThemeSourceFile(state, content, filename);
532
+ }
533
+ else if (name.endsWith(".ts") ||
534
+ name.endsWith(".tsx") ||
535
+ name.endsWith(".js") ||
536
+ name.endsWith(".jsx")) {
537
+ extractCodeColors(state, content);
538
+ extractCodeFonts(state, content, filename);
539
+ extractCssVars(state, content);
540
+ state.rawExtracts.push({
541
+ filename,
542
+ type: "source",
543
+ data: { lightPass: true },
544
+ });
545
+ }
546
+ else if (name.endsWith(".json")) {
547
+ analyzeJsonTheme(state, content, filename);
548
+ }
549
+ else if (name.endsWith(".scss") ||
550
+ name.endsWith(".sass") ||
551
+ name.endsWith(".less")) {
552
+ analyzeCssFile(state, content, filename);
553
+ if (!state.stylingFramework) {
554
+ state.stylingFramework = name.endsWith(".less") ? "less" : "sass";
555
+ }
556
+ }
557
+ }
558
+ // ---------------------------------------------------------------------------
559
+ // Document analysis helpers (import-document)
560
+ // ---------------------------------------------------------------------------
561
+ /** Deduplicate and trim an array of strings. */
562
+ export function unique(arr) {
563
+ return [...new Set(arr.map((s) => s.trim()))];
564
+ }
565
+ /** Extract hex and named colors from plain text. */
566
+ export function extractDocumentColors(text) {
567
+ const hex = text.match(HEX_COLOR_RE) ?? [];
568
+ const named = text.match(NAMED_COLOR_RE) ?? [];
569
+ return unique([...hex, ...named.map((n) => n.toLowerCase())]);
570
+ }
571
+ /** Extract known font family names from plain text. */
572
+ export function extractDocumentFonts(text) {
573
+ const matches = text.match(FONT_NAME_RE) ?? [];
574
+ return unique(matches);
575
+ }
576
+ /** Classify a file type string into a content category. */
577
+ export function classifyFile(fileType) {
578
+ const ft = fileType.toLowerCase();
579
+ if (ft.includes("pptx") ||
580
+ ft.includes("ppt") ||
581
+ ft.includes("presentation") ||
582
+ ft.includes("keynote"))
583
+ return "presentation";
584
+ if (ft.includes("docx") ||
585
+ ft.includes("doc") ||
586
+ ft.includes("document") ||
587
+ ft.includes("rtf"))
588
+ return "document";
589
+ if (ft.includes("xlsx") ||
590
+ ft.includes("xls") ||
591
+ ft.includes("spreadsheet") ||
592
+ ft.includes("csv"))
593
+ return "spreadsheet";
594
+ if (ft.includes("pdf"))
595
+ return "pdf";
596
+ return "other";
597
+ }
598
+ /** Return per-type suggestions for how to use a document for design extraction. */
599
+ export function suggestionsForType(contentType, hasText) {
600
+ const base = [];
601
+ switch (contentType) {
602
+ case "presentation":
603
+ base.push("Look for slide master/theme colors — these define the brand palette", "Check heading fonts on title slides for the brand typeface", "Note any accent colors used for callouts or highlights", "Slide backgrounds may reveal primary and secondary brand colors", "Chart/graph colors often match the brand accent palette");
604
+ break;
605
+ case "document":
606
+ base.push("Heading styles reveal the typographic hierarchy and heading font", "Body text font is likely the primary readable typeface", "Look for colored headings or accent text for brand colors", "Document margins and spacing suggest preferred density", "Header/footer formatting may include brand colors or logos");
607
+ break;
608
+ case "spreadsheet":
609
+ base.push("Header row colors often reflect the brand palette", "Conditional formatting colors may indicate status/accent colors", "Chart and graph colors are strong brand palette signals", "Cell background highlighting colors suggest accent palette");
610
+ break;
611
+ case "pdf":
612
+ base.push("PDF may contain embedded brand guidelines or style specs", "Look for consistent heading colors and font choices", "Background colors and accent bars reveal brand palette");
613
+ break;
614
+ case "other":
615
+ base.push("Examine any visual elements for recurring color patterns", "Note any typography that appears intentionally branded");
616
+ break;
617
+ }
618
+ if (!hasText) {
619
+ base.push("No text content was extracted — ask the user to paste key sections or send the file as a chat attachment for visual analysis");
620
+ }
621
+ return base;
622
+ }
623
+ // ---------------------------------------------------------------------------
624
+ // URL scraping helpers (import-from-url)
625
+ // ---------------------------------------------------------------------------
626
+ /** Fetch and extract design tokens from a URL's HTML. */
627
+ export async function extractDesignTokensFromUrl(rawUrl) {
628
+ const url = rawUrl.startsWith("http") ? rawUrl : `https://${rawUrl}`;
629
+ validateUrl(url);
630
+ const response = await fetch(url, {
631
+ headers: {
632
+ "User-Agent": "Mozilla/5.0 (compatible; AgentNative/1.0; +https://agent-native.com)",
633
+ },
634
+ signal: AbortSignal.timeout(10000),
635
+ });
636
+ const html = await response.text();
637
+ const result = { url };
638
+ // Title
639
+ const titleMatch = html.match(/<title[^>]*>([^<]+)<\/title>/i);
640
+ if (titleMatch) {
641
+ result.pageTitle = titleMatch[1].trim();
642
+ }
643
+ // Meta description
644
+ const descMatch = html.match(/<meta[^>]*name=["']description["'][^>]*content=["']([^"']+)["']/i);
645
+ if (descMatch) {
646
+ result.metaDescription = descMatch[1];
647
+ }
648
+ // Meta theme-color
649
+ const themeColorMatch = html.match(/<meta[^>]*name=["']theme-color["'][^>]*content=["']([^"']+)["']/i);
650
+ if (themeColorMatch) {
651
+ result.themeColor = themeColorMatch[1];
652
+ }
653
+ // CSS custom properties
654
+ const cssVarMatches = html.matchAll(/--([\w-]+)\s*:\s*([^;}\n]+)/g);
655
+ const cssVars = {};
656
+ for (const match of cssVarMatches) {
657
+ cssVars[`--${match[1]}`] = match[2].trim();
658
+ }
659
+ if (Object.keys(cssVars).length > 0) {
660
+ const entries = Object.entries(cssVars).slice(0, 50);
661
+ result.cssCustomProperties = Object.fromEntries(entries);
662
+ }
663
+ // Inline colors (hex, rgb)
664
+ const colorMatches = new Set();
665
+ const hexPattern = /#[0-9a-fA-F]{3,8}\b/g;
666
+ let hexMatch;
667
+ while ((hexMatch = hexPattern.exec(html)) !== null) {
668
+ colorMatches.add(hexMatch[0]);
669
+ }
670
+ const rgbPattern = /rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+(?:\s*,\s*[\d.]+)?\s*\)/g;
671
+ let rgbMatch;
672
+ while ((rgbMatch = rgbPattern.exec(html)) !== null) {
673
+ colorMatches.add(rgbMatch[0]);
674
+ }
675
+ if (colorMatches.size > 0) {
676
+ result.colors = [...colorMatches].slice(0, 30);
677
+ }
678
+ // @font-face
679
+ const fontFaceMatches = html.matchAll(/@font-face\s*\{([^}]+)\}/g);
680
+ const fonts = [];
681
+ for (const match of fontFaceMatches) {
682
+ const block = match[1];
683
+ const familyMatch = block.match(/font-family\s*:\s*["']?([^"';]+)["']?/);
684
+ const srcMatch = block.match(/src\s*:\s*([^;]+)/);
685
+ fonts.push({
686
+ family: familyMatch?.[1]?.trim(),
687
+ src: srcMatch?.[1]?.trim()?.slice(0, 200),
688
+ });
689
+ }
690
+ if (fonts.length > 0) {
691
+ result.fontFaces = fonts.slice(0, 20);
692
+ }
693
+ // Google Fonts
694
+ const googleFontMatches = html.matchAll(/fonts\.googleapis\.com\/css2?\?[^"'>\s]+/g);
695
+ const googleFonts = [];
696
+ for (const match of googleFontMatches) {
697
+ googleFonts.push(match[0]);
698
+ }
699
+ if (googleFonts.length > 0) {
700
+ result.googleFonts = googleFonts;
701
+ }
702
+ // OG image
703
+ const ogImageMatch = html.match(/<meta[^>]*property=["']og:image["'][^>]*content=["']([^"']+)["']/i);
704
+ if (ogImageMatch) {
705
+ result.ogImage = ogImageMatch[1];
706
+ }
707
+ // Favicon
708
+ const faviconMatch = html.match(/<link[^>]*rel=["'](?:icon|shortcut icon)["'][^>]*href=["']([^"']+)["']/i);
709
+ if (faviconMatch) {
710
+ result.favicon = faviconMatch[1];
711
+ }
712
+ return result;
713
+ }
714
+ //# sourceMappingURL=design-token-utils.js.map