@agent-native/core 0.117.2 → 0.118.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 (776) hide show
  1. package/corpus/README.md +3 -3
  2. package/corpus/core/CHANGELOG.md +51 -0
  3. package/corpus/core/docs/content/custom-design-system.mdx +445 -0
  4. package/corpus/core/docs/content/toolkit-ui.mdx +16 -0
  5. package/corpus/core/package.json +1 -1
  6. package/corpus/core/src/a2a/client.ts +32 -10
  7. package/corpus/core/src/a2a/types.ts +1 -0
  8. package/corpus/core/src/agent/types.ts +1 -1
  9. package/corpus/core/src/cli/index.ts +18 -10
  10. package/corpus/core/src/cli/multi-frontier-runs.ts +5 -3
  11. package/corpus/core/src/cli/templates-meta.ts +0 -12
  12. package/corpus/core/src/cli/workspace-dev.ts +1 -1
  13. package/corpus/core/src/client/AgentPanel.tsx +99 -108
  14. package/corpus/core/src/client/AssistantChat.tsx +30 -13
  15. package/corpus/core/src/client/CommandMenu.tsx +68 -178
  16. package/corpus/core/src/client/RunStuckBanner.tsx +39 -47
  17. package/corpus/core/src/client/agent-chat-adapter.ts +3 -1
  18. package/corpus/core/src/client/app-providers.tsx +1 -1
  19. package/corpus/core/src/client/chat/action-chat-ui-surface.tsx +32 -0
  20. package/corpus/core/src/client/chat/message-components.tsx +169 -18
  21. package/corpus/core/src/client/chat/tool-call-display.tsx +50 -14
  22. package/corpus/core/src/client/chat/widgets/InlineExtensionWidget.tsx +13 -40
  23. package/corpus/core/src/client/chat/widgets/builtin-tool-renderers.tsx +7 -3
  24. package/corpus/core/src/client/components/ui/message-scroller.tsx +15 -1
  25. package/corpus/core/src/client/conversation/AgentConversation.tsx +12 -1
  26. package/corpus/core/src/client/error-capture.ts +2 -6
  27. package/corpus/core/src/client/i18n.tsx +22 -0
  28. package/corpus/core/src/client/index.ts +17 -0
  29. package/corpus/core/src/client/org/TeamPage.tsx +257 -153
  30. package/corpus/core/src/client/progress/RunsTray.tsx +89 -88
  31. package/corpus/core/src/client/resources/McpConnectionSuggestion.tsx +25 -16
  32. package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +34 -13
  33. package/corpus/core/src/client/resources/ResourcesPanel.tsx +5 -1
  34. package/corpus/core/src/client/resources/mcp-integration-catalog.ts +20 -17
  35. package/corpus/core/src/client/resources/mcp-integration-logos.ts +2 -2
  36. package/corpus/core/src/client/route-chunk-recovery.ts +5 -3
  37. package/corpus/core/src/client/session-replay.ts +3 -3
  38. package/corpus/core/src/client/settings/DemoModeSection.tsx +6 -18
  39. package/corpus/core/src/client/settings/SecretsSection.tsx +97 -52
  40. package/corpus/core/src/client/settings/SettingsPanel.tsx +217 -252
  41. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +23 -2
  42. package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
  43. package/corpus/core/src/client/settings/index.ts +7 -0
  44. package/corpus/core/src/client/settings/useSettingsPanelController.ts +155 -0
  45. package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
  46. package/corpus/core/src/client/setup-connections/index.ts +10 -0
  47. package/corpus/core/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
  48. package/corpus/core/src/client/sharing/ShareButton.tsx +64 -586
  49. package/corpus/core/src/client/sharing/ShareDialog.tsx +299 -633
  50. package/corpus/core/src/client/sharing/index.ts +42 -0
  51. package/corpus/core/src/client/sharing/share-controller-helpers.ts +318 -0
  52. package/corpus/core/src/client/sharing/useShareButtonController.ts +600 -0
  53. package/corpus/core/src/client/sharing/useShareDialogController.ts +559 -0
  54. package/corpus/core/src/client/sse-event-processor.ts +23 -0
  55. package/corpus/core/src/client/tool-display.ts +71 -0
  56. package/corpus/core/src/client/transcription/use-live-transcription.ts +64 -45
  57. package/corpus/core/src/client/use-agent-engine-configured.ts +12 -19
  58. package/corpus/core/src/client/use-chat-threads.ts +33 -12
  59. package/corpus/core/src/deploy/build.ts +2 -1
  60. package/corpus/core/src/guards/db-tool-scoping.ts +1 -1
  61. package/corpus/core/src/integrations/adapters/slack.ts +84 -5
  62. package/corpus/core/src/integrations/index.ts +5 -1
  63. package/corpus/core/src/localization/default-messages.ts +6 -1
  64. package/corpus/core/src/mcp-client/oauth-routes.ts +61 -14
  65. package/corpus/core/src/scripts/call-agent.ts +5 -1
  66. package/corpus/core/src/server/realtime-voice.ts +5 -2
  67. package/corpus/core/src/styles/agent-native.css +0 -24
  68. package/corpus/core/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  69. package/corpus/core/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  70. package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
  71. package/corpus/core/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
  72. package/corpus/core/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
  73. package/corpus/core/src/templates/default/app/design-system.ts +3 -0
  74. package/corpus/core/src/templates/default/app/root.tsx +5 -2
  75. package/corpus/core/src/templates/default/package.json +1 -0
  76. package/corpus/core/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  77. package/corpus/core/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  78. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  79. package/corpus/core/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  80. package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
  81. package/corpus/core/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
  82. package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +7 -5
  83. package/corpus/core/src/terminal/cli-registry.ts +1 -1
  84. package/corpus/core/src/vite/client.ts +205 -1
  85. package/corpus/templates/analytics/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  86. package/corpus/templates/analytics/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  87. package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +22 -2
  88. package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +28 -4
  89. package/corpus/templates/analytics/app/components/ui/toolkit-provider.tsx +6 -1
  90. package/corpus/templates/analytics/app/design-system.ts +3 -0
  91. package/corpus/templates/analytics/app/hooks/use-dashboard-views.ts +13 -1
  92. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +10 -0
  93. package/corpus/templates/analytics/changelog/2026-07-22-show-a-useful-error-when-saving-a-dashboard-view-fails.md +6 -0
  94. package/corpus/templates/assets/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  95. package/corpus/templates/assets/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  96. package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +22 -2
  97. package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +28 -4
  98. package/corpus/templates/assets/app/components/ui/alert.tsx +1 -0
  99. package/corpus/templates/assets/app/components/ui/toolkit-provider.tsx +6 -1
  100. package/corpus/templates/assets/app/design-system.ts +3 -0
  101. package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +26 -30
  102. package/corpus/templates/brain/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  103. package/corpus/templates/brain/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  104. package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +22 -2
  105. package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +28 -4
  106. package/corpus/templates/brain/app/components/ui/dialog.tsx +1 -0
  107. package/corpus/templates/brain/app/components/ui/toolkit-provider.tsx +6 -1
  108. package/corpus/templates/brain/app/design-system.ts +3 -0
  109. package/corpus/templates/brain/app/routes/sources.tsx +189 -122
  110. package/corpus/templates/calendar/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  111. package/corpus/templates/calendar/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  112. package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +22 -2
  113. package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +28 -4
  114. package/corpus/templates/calendar/app/components/ui/toolkit-provider.tsx +6 -1
  115. package/corpus/templates/calendar/app/design-system.ts +3 -0
  116. package/corpus/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  117. package/corpus/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  118. package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
  119. package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
  120. package/corpus/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
  121. package/corpus/templates/chat/app/design-system.ts +3 -0
  122. package/corpus/templates/clips/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  123. package/corpus/templates/clips/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  124. package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +22 -2
  125. package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +28 -4
  126. package/corpus/templates/clips/AGENTS.md +8 -6
  127. package/corpus/templates/clips/actions/request-transcript.ts +90 -420
  128. package/corpus/templates/clips/actions/save-browser-transcript.ts +11 -28
  129. package/corpus/templates/clips/app/components/capture-install-options.tsx +5 -3
  130. package/corpus/templates/clips/app/components/player/transcript-panel.tsx +3 -136
  131. package/corpus/templates/clips/app/components/ui/toolkit-provider.tsx +6 -1
  132. package/corpus/templates/clips/app/design-system.ts +3 -0
  133. package/corpus/templates/clips/app/lib/capture-install-options.ts +15 -4
  134. package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -1
  135. package/corpus/templates/clips/app/routes/download.tsx +3 -2
  136. package/corpus/templates/clips/changelog/2026-07-22-fixed-an-intermittent-hydration-error-on-the-download-page.md +6 -0
  137. package/corpus/templates/clips/changelog/2026-07-22-fixed-transcript-generation-when-native-speech-capture-retur.md +6 -0
  138. package/corpus/templates/clips/changelog/2026-07-22-fixed-windows-recordings-aborting-during-the-countdown.md +6 -0
  139. package/corpus/templates/clips/changelog/2026-07-22-permissions-and-rewind-controls-are-now-grouped-with-clearer.md +6 -0
  140. package/corpus/templates/clips/changelog/2026-07-22-the-desktop-popover-opens-centered-under-the-menu-bar-icon-o.md +6 -0
  141. package/corpus/templates/clips/changelog/2026-07-22-transcript-generation-now-retries-with-backup-speech-recogni.md +6 -0
  142. package/corpus/templates/clips/desktop/src/app.tsx +86 -82
  143. package/corpus/templates/clips/desktop/src/styles.css +13 -0
  144. package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +10 -1
  145. package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +37 -2
  146. package/corpus/templates/clips/desktop/src-tauri/src/tray.rs +18 -0
  147. package/corpus/templates/clips/server/lib/public-agent-context.ts +2 -2
  148. package/corpus/templates/clips/server/register-secrets.ts +7 -6
  149. package/corpus/templates/content/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  150. package/corpus/templates/content/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  151. package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +22 -2
  152. package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +28 -4
  153. package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +41 -59
  154. package/corpus/templates/content/app/components/editor/SlashCommandMenu.tsx +16 -84
  155. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +13 -7
  156. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +41 -41
  157. package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +2 -1
  158. package/corpus/templates/content/app/components/editor/database/ListView.tsx +2 -1
  159. package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +9 -9
  160. package/corpus/templates/content/app/components/editor/database/sidebar.tsx +7 -7
  161. package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +11 -11
  162. package/corpus/templates/content/app/components/editor/extensions/ImageBlock.tsx +2 -2
  163. package/corpus/templates/content/app/components/ui/checkbox.tsx +1 -0
  164. package/corpus/templates/content/app/components/ui/collapsible.tsx +1 -0
  165. package/corpus/templates/content/app/components/ui/toolkit-provider.tsx +6 -1
  166. package/corpus/templates/content/app/design-system.ts +3 -0
  167. package/corpus/templates/content/app/global.css +29 -3
  168. package/corpus/templates/content/app/i18n-data.ts +10 -0
  169. package/corpus/templates/content/changelog/2026-07-22-page-actions-are-grouped-into-the-three-dots-menu-for-a-clea.md +6 -0
  170. package/corpus/templates/design/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  171. package/corpus/templates/design/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  172. package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +22 -2
  173. package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +28 -4
  174. package/corpus/templates/design/app/components/editor/PromptDialog.tsx +8 -8
  175. package/corpus/templates/design/app/components/ui/command.tsx +1 -0
  176. package/corpus/templates/design/app/components/ui/toolkit-provider.tsx +6 -1
  177. package/corpus/templates/design/app/design-system.ts +3 -0
  178. package/corpus/templates/design/server/lib/fig-file-decoder.ts +1 -0
  179. package/corpus/templates/dispatch/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  180. package/corpus/templates/dispatch/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  181. package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +22 -2
  182. package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +28 -4
  183. package/corpus/templates/dispatch/app/components/ui/button.tsx +1 -0
  184. package/corpus/templates/dispatch/app/components/ui/toolkit-provider.tsx +17 -0
  185. package/corpus/templates/dispatch/app/design-system.ts +3 -0
  186. package/corpus/templates/dispatch/app/root.tsx +10 -7
  187. package/corpus/templates/dispatch/package.json +1 -0
  188. package/corpus/templates/forms/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  189. package/corpus/templates/forms/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  190. package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +22 -2
  191. package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +28 -4
  192. package/corpus/templates/forms/app/components/ui/toolkit-provider.tsx +6 -1
  193. package/corpus/templates/forms/app/design-system.ts +3 -0
  194. package/corpus/templates/macros/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  195. package/corpus/templates/macros/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  196. package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +22 -2
  197. package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +28 -4
  198. package/corpus/templates/macros/app/components/ui/toolkit-provider.tsx +6 -1
  199. package/corpus/templates/macros/app/design-system.ts +3 -0
  200. package/corpus/templates/mail/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  201. package/corpus/templates/mail/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  202. package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +22 -2
  203. package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +28 -4
  204. package/corpus/templates/mail/app/components/email/EmailThread.tsx +134 -93
  205. package/corpus/templates/mail/app/components/email/email-iframe-document.ts +8 -2
  206. package/corpus/templates/mail/app/components/ui/textarea.tsx +1 -21
  207. package/corpus/templates/mail/app/components/ui/toolkit-provider.tsx +6 -1
  208. package/corpus/templates/mail/app/design-system.ts +3 -0
  209. package/corpus/templates/mail/changelog/2026-07-22-email-messages-no-longer-flash-with-an-unstyled-page-while-l.md +6 -0
  210. package/corpus/templates/plan/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  211. package/corpus/templates/plan/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  212. package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +22 -2
  213. package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +28 -4
  214. package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +1 -1
  215. package/corpus/templates/plan/app/components/ui/toolkit-provider.tsx +6 -1
  216. package/corpus/templates/plan/app/design-system.ts +3 -0
  217. package/corpus/templates/plan/app/entry.client.tsx +3 -0
  218. package/corpus/templates/plan/changelog/2026-07-22-recover-stale-pages-after-a-deployment-refresh-automatically.md +6 -0
  219. package/corpus/templates/slides/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  220. package/corpus/templates/slides/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  221. package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +22 -2
  222. package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +28 -4
  223. package/corpus/templates/slides/app/components/ui/toolkit-provider.tsx +6 -1
  224. package/corpus/templates/slides/app/design-system.ts +3 -0
  225. package/corpus/templates/slides/app/hooks/use-agent-generating.ts +10 -3
  226. package/corpus/templates/slides/app/pages/Index.tsx +1 -0
  227. package/corpus/templates/slides/changelog/2026-07-22-new-deck-prompts-now-open-in-their-own-visible-chat-thread.md +6 -0
  228. package/corpus/templates/tasks/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  229. package/corpus/templates/tasks/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  230. package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +22 -2
  231. package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +28 -4
  232. package/corpus/templates/tasks/app/components/ui/toolkit-provider.tsx +17 -0
  233. package/corpus/templates/tasks/app/design-system.ts +3 -0
  234. package/corpus/templates/tasks/app/root.tsx +5 -2
  235. package/corpus/toolkit/CHANGELOG.md +23 -0
  236. package/corpus/toolkit/agent-native.eject.json +71 -0
  237. package/corpus/toolkit/package.json +31 -1
  238. package/corpus/toolkit/src/chat-history/ChatHistoryRail.tsx +100 -39
  239. package/corpus/toolkit/src/chat-history/index.ts +9 -0
  240. package/corpus/toolkit/src/chat-history/useChatHistoryRailController.ts +76 -0
  241. package/corpus/toolkit/src/chat-history.css +2 -0
  242. package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +11 -8
  243. package/corpus/toolkit/src/composer/PromptComposer.tsx +32 -7
  244. package/corpus/toolkit/src/composer/RealtimeVoiceMode.tsx +119 -31
  245. package/corpus/toolkit/src/composer/useRealtimeVoiceMode.tsx +124 -9
  246. package/corpus/toolkit/src/conformance/__fixtures__/css-in-js-adapter.tsx +401 -0
  247. package/corpus/toolkit/src/conformance/index.ts +3 -0
  248. package/corpus/toolkit/src/conformance/runner.tsx +862 -0
  249. package/corpus/toolkit/src/conformance/types.ts +45 -0
  250. package/corpus/toolkit/src/conformance/version.ts +22 -0
  251. package/corpus/toolkit/src/design-system/components.tsx +146 -0
  252. package/corpus/toolkit/src/design-system/context.tsx +31 -0
  253. package/corpus/toolkit/src/design-system/default-adapter.tsx +915 -0
  254. package/corpus/toolkit/src/design-system/definition.ts +14 -0
  255. package/corpus/toolkit/src/design-system/error-boundary.tsx +37 -0
  256. package/corpus/toolkit/src/design-system/index.ts +7 -0
  257. package/corpus/toolkit/src/design-system/theme.ts +145 -0
  258. package/corpus/toolkit/src/design-system/types.ts +363 -0
  259. package/corpus/toolkit/src/editor/SharedRichEditor.tsx +13 -2
  260. package/corpus/toolkit/src/editor/SlashCommandMenu.tsx +20 -0
  261. package/corpus/toolkit/src/editor/index.ts +2 -0
  262. package/corpus/toolkit/src/provider.tsx +98 -5
  263. package/corpus/toolkit/src/styles.css +52 -23
  264. package/corpus/toolkit/src/ui/button.tsx +95 -6
  265. package/corpus/toolkit/src/ui/dialog.tsx +48 -23
  266. package/corpus/toolkit/src/ui/popover.tsx +16 -2
  267. package/corpus/toolkit/src/ui/select.tsx +7 -3
  268. package/corpus/toolkit/src/ui/sidebar.tsx +47 -48
  269. package/corpus/toolkit/src/ui/tooltip.tsx +7 -3
  270. package/dist/a2a/client.d.ts +3 -1
  271. package/dist/a2a/client.d.ts.map +1 -1
  272. package/dist/a2a/client.js +17 -12
  273. package/dist/a2a/client.js.map +1 -1
  274. package/dist/a2a/types.d.ts +1 -1
  275. package/dist/a2a/types.d.ts.map +1 -1
  276. package/dist/a2a/types.js.map +1 -1
  277. package/dist/agent/types.d.ts +1 -1
  278. package/dist/agent/types.d.ts.map +1 -1
  279. package/dist/agent/types.js.map +1 -1
  280. package/dist/cli/index.js +18 -8
  281. package/dist/cli/index.js.map +1 -1
  282. package/dist/cli/multi-frontier-runs.js +3 -3
  283. package/dist/cli/multi-frontier-runs.js.map +1 -1
  284. package/dist/cli/templates-meta.d.ts.map +1 -1
  285. package/dist/cli/templates-meta.js +0 -12
  286. package/dist/cli/templates-meta.js.map +1 -1
  287. package/dist/cli/workspace-dev.js +1 -1
  288. package/dist/cli/workspace-dev.js.map +1 -1
  289. package/dist/client/AgentPanel.d.ts.map +1 -1
  290. package/dist/client/AgentPanel.js +18 -15
  291. package/dist/client/AgentPanel.js.map +1 -1
  292. package/dist/client/AssistantChat.d.ts.map +1 -1
  293. package/dist/client/AssistantChat.js +26 -15
  294. package/dist/client/AssistantChat.js.map +1 -1
  295. package/dist/client/CommandMenu.d.ts.map +1 -1
  296. package/dist/client/CommandMenu.js +18 -106
  297. package/dist/client/CommandMenu.js.map +1 -1
  298. package/dist/client/RunStuckBanner.d.ts +3 -5
  299. package/dist/client/RunStuckBanner.d.ts.map +1 -1
  300. package/dist/client/RunStuckBanner.js +17 -18
  301. package/dist/client/RunStuckBanner.js.map +1 -1
  302. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  303. package/dist/client/agent-chat-adapter.js +2 -1
  304. package/dist/client/agent-chat-adapter.js.map +1 -1
  305. package/dist/client/app-providers.d.ts.map +1 -1
  306. package/dist/client/app-providers.js +1 -1
  307. package/dist/client/app-providers.js.map +1 -1
  308. package/dist/client/chat/action-chat-ui-surface.d.ts +8 -0
  309. package/dist/client/chat/action-chat-ui-surface.d.ts.map +1 -0
  310. package/dist/client/chat/action-chat-ui-surface.js +10 -0
  311. package/dist/client/chat/action-chat-ui-surface.js.map +1 -0
  312. package/dist/client/chat/message-components.d.ts +12 -1
  313. package/dist/client/chat/message-components.d.ts.map +1 -1
  314. package/dist/client/chat/message-components.js +102 -14
  315. package/dist/client/chat/message-components.js.map +1 -1
  316. package/dist/client/chat/tool-call-display.d.ts +3 -1
  317. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  318. package/dist/client/chat/tool-call-display.js +33 -14
  319. package/dist/client/chat/tool-call-display.js.map +1 -1
  320. package/dist/client/chat/widgets/InlineExtensionWidget.d.ts.map +1 -1
  321. package/dist/client/chat/widgets/InlineExtensionWidget.js +9 -12
  322. package/dist/client/chat/widgets/InlineExtensionWidget.js.map +1 -1
  323. package/dist/client/chat/widgets/builtin-tool-renderers.d.ts.map +1 -1
  324. package/dist/client/chat/widgets/builtin-tool-renderers.js +5 -3
  325. package/dist/client/chat/widgets/builtin-tool-renderers.js.map +1 -1
  326. package/dist/client/components/ui/message-scroller.d.ts +1 -1
  327. package/dist/client/components/ui/message-scroller.d.ts.map +1 -1
  328. package/dist/client/components/ui/message-scroller.js +4 -3
  329. package/dist/client/components/ui/message-scroller.js.map +1 -1
  330. package/dist/client/conversation/AgentConversation.d.ts.map +1 -1
  331. package/dist/client/conversation/AgentConversation.js +3 -2
  332. package/dist/client/conversation/AgentConversation.js.map +1 -1
  333. package/dist/client/error-capture.d.ts.map +1 -1
  334. package/dist/client/error-capture.js +2 -2
  335. package/dist/client/error-capture.js.map +1 -1
  336. package/dist/client/i18n.d.ts.map +1 -1
  337. package/dist/client/i18n.js +9 -0
  338. package/dist/client/i18n.js.map +1 -1
  339. package/dist/client/index.d.ts +2 -2
  340. package/dist/client/index.d.ts.map +1 -1
  341. package/dist/client/index.js +2 -2
  342. package/dist/client/index.js.map +1 -1
  343. package/dist/client/org/TeamPage.d.ts.map +1 -1
  344. package/dist/client/org/TeamPage.js +41 -33
  345. package/dist/client/org/TeamPage.js.map +1 -1
  346. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  347. package/dist/client/progress/RunsTray.js +9 -10
  348. package/dist/client/progress/RunsTray.js.map +1 -1
  349. package/dist/client/resources/McpConnectionSuggestion.d.ts +1 -0
  350. package/dist/client/resources/McpConnectionSuggestion.d.ts.map +1 -1
  351. package/dist/client/resources/McpConnectionSuggestion.js +14 -12
  352. package/dist/client/resources/McpConnectionSuggestion.js.map +1 -1
  353. package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
  354. package/dist/client/resources/McpIntegrationDialog.js +10 -8
  355. package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
  356. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  357. package/dist/client/resources/ResourcesPanel.js +3 -1
  358. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  359. package/dist/client/resources/mcp-integration-catalog.d.ts +2 -0
  360. package/dist/client/resources/mcp-integration-catalog.d.ts.map +1 -1
  361. package/dist/client/resources/mcp-integration-catalog.js +17 -17
  362. package/dist/client/resources/mcp-integration-catalog.js.map +1 -1
  363. package/dist/client/resources/mcp-integration-logos.js +2 -2
  364. package/dist/client/resources/mcp-integration-logos.js.map +1 -1
  365. package/dist/client/route-chunk-recovery.d.ts.map +1 -1
  366. package/dist/client/route-chunk-recovery.js +5 -3
  367. package/dist/client/route-chunk-recovery.js.map +1 -1
  368. package/dist/client/session-replay.js +3 -3
  369. package/dist/client/session-replay.js.map +1 -1
  370. package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
  371. package/dist/client/settings/DemoModeSection.js +2 -5
  372. package/dist/client/settings/DemoModeSection.js.map +1 -1
  373. package/dist/client/settings/SecretsSection.d.ts.map +1 -1
  374. package/dist/client/settings/SecretsSection.js +18 -6
  375. package/dist/client/settings/SecretsSection.js.map +1 -1
  376. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  377. package/dist/client/settings/SettingsPanel.js +53 -118
  378. package/dist/client/settings/SettingsPanel.js.map +1 -1
  379. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  380. package/dist/client/settings/SettingsTabsPage.js +16 -1
  381. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  382. package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
  383. package/dist/client/settings/VoiceTranscriptionSection.js +2 -5
  384. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  385. package/dist/client/settings/index.d.ts +1 -0
  386. package/dist/client/settings/index.d.ts.map +1 -1
  387. package/dist/client/settings/index.js +1 -0
  388. package/dist/client/settings/index.js.map +1 -1
  389. package/dist/client/settings/useSettingsPanelController.d.ts +22 -0
  390. package/dist/client/settings/useSettingsPanelController.d.ts.map +1 -0
  391. package/dist/client/settings/useSettingsPanelController.js +103 -0
  392. package/dist/client/settings/useSettingsPanelController.js.map +1 -0
  393. package/dist/client/setup-connections/BuilderConnectCard.d.ts +14 -6
  394. package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -1
  395. package/dist/client/setup-connections/BuilderConnectCard.js +24 -16
  396. package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -1
  397. package/dist/client/setup-connections/index.d.ts +2 -1
  398. package/dist/client/setup-connections/index.d.ts.map +1 -1
  399. package/dist/client/setup-connections/index.js +2 -1
  400. package/dist/client/setup-connections/index.js.map +1 -1
  401. package/dist/client/setup-connections/useBuilderConnectCardController.d.ts +34 -0
  402. package/dist/client/setup-connections/useBuilderConnectCardController.d.ts.map +1 -0
  403. package/dist/client/setup-connections/useBuilderConnectCardController.js +39 -0
  404. package/dist/client/setup-connections/useBuilderConnectCardController.js.map +1 -0
  405. package/dist/client/sharing/ShareButton.d.ts +2 -1
  406. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  407. package/dist/client/sharing/ShareButton.js +17 -463
  408. package/dist/client/sharing/ShareButton.js.map +1 -1
  409. package/dist/client/sharing/ShareDialog.d.ts +6 -6
  410. package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
  411. package/dist/client/sharing/ShareDialog.js +69 -283
  412. package/dist/client/sharing/ShareDialog.js.map +1 -1
  413. package/dist/client/sharing/index.d.ts +3 -0
  414. package/dist/client/sharing/index.d.ts.map +1 -1
  415. package/dist/client/sharing/index.js +3 -0
  416. package/dist/client/sharing/index.js.map +1 -1
  417. package/dist/client/sharing/share-controller-helpers.d.ts +70 -0
  418. package/dist/client/sharing/share-controller-helpers.d.ts.map +1 -0
  419. package/dist/client/sharing/share-controller-helpers.js +224 -0
  420. package/dist/client/sharing/share-controller-helpers.js.map +1 -0
  421. package/dist/client/sharing/useShareButtonController.d.ts +91 -0
  422. package/dist/client/sharing/useShareButtonController.d.ts.map +1 -0
  423. package/dist/client/sharing/useShareButtonController.js +397 -0
  424. package/dist/client/sharing/useShareButtonController.js.map +1 -0
  425. package/dist/client/sharing/useShareDialogController.d.ts +109 -0
  426. package/dist/client/sharing/useShareDialogController.d.ts.map +1 -0
  427. package/dist/client/sharing/useShareDialogController.js +348 -0
  428. package/dist/client/sharing/useShareDialogController.js.map +1 -0
  429. package/dist/client/sse-event-processor.d.ts.map +1 -1
  430. package/dist/client/sse-event-processor.js +21 -0
  431. package/dist/client/sse-event-processor.js.map +1 -1
  432. package/dist/client/tool-display.d.ts +16 -0
  433. package/dist/client/tool-display.d.ts.map +1 -1
  434. package/dist/client/tool-display.js +52 -0
  435. package/dist/client/tool-display.js.map +1 -1
  436. package/dist/client/transcription/use-live-transcription.d.ts +3 -3
  437. package/dist/client/transcription/use-live-transcription.d.ts.map +1 -1
  438. package/dist/client/transcription/use-live-transcription.js +22 -11
  439. package/dist/client/transcription/use-live-transcription.js.map +1 -1
  440. package/dist/client/use-agent-engine-configured.d.ts +3 -2
  441. package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
  442. package/dist/client/use-agent-engine-configured.js +7 -19
  443. package/dist/client/use-agent-engine-configured.js.map +1 -1
  444. package/dist/client/use-chat-threads.d.ts.map +1 -1
  445. package/dist/client/use-chat-threads.js +21 -8
  446. package/dist/client/use-chat-threads.js.map +1 -1
  447. package/dist/collab/routes.d.ts +1 -1
  448. package/dist/collab/struct-routes.d.ts +1 -1
  449. package/dist/deploy/build.d.ts.map +1 -1
  450. package/dist/deploy/build.js +1 -1
  451. package/dist/deploy/build.js.map +1 -1
  452. package/dist/guards/db-tool-scoping.js +1 -1
  453. package/dist/guards/db-tool-scoping.js.map +1 -1
  454. package/dist/integrations/adapters/slack.d.ts +1 -0
  455. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  456. package/dist/integrations/adapters/slack.js +61 -5
  457. package/dist/integrations/adapters/slack.js.map +1 -1
  458. package/dist/integrations/index.d.ts +1 -1
  459. package/dist/integrations/index.d.ts.map +1 -1
  460. package/dist/integrations/index.js +1 -1
  461. package/dist/integrations/index.js.map +1 -1
  462. package/dist/localization/default-messages.d.ts +4 -0
  463. package/dist/localization/default-messages.d.ts.map +1 -1
  464. package/dist/localization/default-messages.js +5 -1
  465. package/dist/localization/default-messages.js.map +1 -1
  466. package/dist/mcp-client/oauth-routes.d.ts +5 -0
  467. package/dist/mcp-client/oauth-routes.d.ts.map +1 -1
  468. package/dist/mcp-client/oauth-routes.js +53 -14
  469. package/dist/mcp-client/oauth-routes.js.map +1 -1
  470. package/dist/notifications/routes.d.ts +2 -2
  471. package/dist/observability/routes.d.ts +1 -1
  472. package/dist/provider-api/actions/custom-provider-registration.d.ts +12 -12
  473. package/dist/provider-api/actions/provider-api.d.ts +11 -11
  474. package/dist/scripts/call-agent.d.ts.map +1 -1
  475. package/dist/scripts/call-agent.js +5 -1
  476. package/dist/scripts/call-agent.js.map +1 -1
  477. package/dist/secrets/routes.d.ts +6 -6
  478. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  479. package/dist/server/realtime-voice.d.ts.map +1 -1
  480. package/dist/server/realtime-voice.js +2 -2
  481. package/dist/server/realtime-voice.js.map +1 -1
  482. package/dist/styles/agent-native.css +0 -24
  483. package/dist/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  484. package/dist/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  485. package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
  486. package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
  487. package/dist/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
  488. package/dist/templates/chat/app/design-system.ts +3 -0
  489. package/dist/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  490. package/dist/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  491. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
  492. package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
  493. package/dist/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
  494. package/dist/templates/default/app/design-system.ts +3 -0
  495. package/dist/templates/default/app/root.tsx +5 -2
  496. package/dist/templates/default/package.json +1 -0
  497. package/dist/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  498. package/dist/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  499. package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  500. package/dist/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  501. package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
  502. package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
  503. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +7 -5
  504. package/dist/terminal/cli-registry.js +1 -1
  505. package/dist/terminal/cli-registry.js.map +1 -1
  506. package/dist/vite/client.d.ts +11 -1
  507. package/dist/vite/client.d.ts.map +1 -1
  508. package/dist/vite/client.js +144 -2
  509. package/dist/vite/client.js.map +1 -1
  510. package/docs/content/custom-design-system.mdx +445 -0
  511. package/docs/content/toolkit-ui.mdx +16 -0
  512. package/package.json +2 -2
  513. package/src/a2a/client.ts +32 -10
  514. package/src/a2a/types.ts +1 -0
  515. package/src/agent/types.ts +1 -1
  516. package/src/cli/index.ts +18 -10
  517. package/src/cli/multi-frontier-runs.ts +5 -3
  518. package/src/cli/templates-meta.ts +0 -12
  519. package/src/cli/workspace-dev.ts +1 -1
  520. package/src/client/AgentPanel.tsx +99 -108
  521. package/src/client/AssistantChat.tsx +30 -13
  522. package/src/client/CommandMenu.tsx +68 -178
  523. package/src/client/RunStuckBanner.tsx +39 -47
  524. package/src/client/agent-chat-adapter.ts +3 -1
  525. package/src/client/app-providers.tsx +1 -1
  526. package/src/client/chat/action-chat-ui-surface.tsx +32 -0
  527. package/src/client/chat/message-components.tsx +169 -18
  528. package/src/client/chat/tool-call-display.tsx +50 -14
  529. package/src/client/chat/widgets/InlineExtensionWidget.tsx +13 -40
  530. package/src/client/chat/widgets/builtin-tool-renderers.tsx +7 -3
  531. package/src/client/components/ui/message-scroller.tsx +15 -1
  532. package/src/client/conversation/AgentConversation.tsx +12 -1
  533. package/src/client/error-capture.ts +2 -6
  534. package/src/client/i18n.tsx +22 -0
  535. package/src/client/index.ts +17 -0
  536. package/src/client/org/TeamPage.tsx +257 -153
  537. package/src/client/progress/RunsTray.tsx +89 -88
  538. package/src/client/resources/McpConnectionSuggestion.tsx +25 -16
  539. package/src/client/resources/McpIntegrationDialog.tsx +34 -13
  540. package/src/client/resources/ResourcesPanel.tsx +5 -1
  541. package/src/client/resources/mcp-integration-catalog.ts +20 -17
  542. package/src/client/resources/mcp-integration-logos.ts +2 -2
  543. package/src/client/route-chunk-recovery.ts +5 -3
  544. package/src/client/session-replay.ts +3 -3
  545. package/src/client/settings/DemoModeSection.tsx +6 -18
  546. package/src/client/settings/SecretsSection.tsx +97 -52
  547. package/src/client/settings/SettingsPanel.tsx +217 -252
  548. package/src/client/settings/SettingsTabsPage.tsx +23 -2
  549. package/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
  550. package/src/client/settings/index.ts +7 -0
  551. package/src/client/settings/useSettingsPanelController.ts +155 -0
  552. package/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
  553. package/src/client/setup-connections/index.ts +10 -0
  554. package/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
  555. package/src/client/sharing/ShareButton.tsx +64 -586
  556. package/src/client/sharing/ShareDialog.tsx +299 -633
  557. package/src/client/sharing/index.ts +42 -0
  558. package/src/client/sharing/share-controller-helpers.ts +318 -0
  559. package/src/client/sharing/useShareButtonController.ts +600 -0
  560. package/src/client/sharing/useShareDialogController.ts +559 -0
  561. package/src/client/sse-event-processor.ts +23 -0
  562. package/src/client/tool-display.ts +71 -0
  563. package/src/client/transcription/use-live-transcription.ts +64 -45
  564. package/src/client/use-agent-engine-configured.ts +12 -19
  565. package/src/client/use-chat-threads.ts +33 -12
  566. package/src/deploy/build.ts +2 -1
  567. package/src/guards/db-tool-scoping.ts +1 -1
  568. package/src/integrations/adapters/slack.ts +84 -5
  569. package/src/integrations/index.ts +5 -1
  570. package/src/localization/default-messages.ts +6 -1
  571. package/src/mcp-client/oauth-routes.ts +61 -14
  572. package/src/scripts/call-agent.ts +5 -1
  573. package/src/server/realtime-voice.ts +5 -2
  574. package/src/styles/agent-native.css +0 -24
  575. package/src/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  576. package/src/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  577. package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
  578. package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
  579. package/src/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
  580. package/src/templates/chat/app/design-system.ts +3 -0
  581. package/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  582. package/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  583. package/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
  584. package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
  585. package/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
  586. package/src/templates/default/app/design-system.ts +3 -0
  587. package/src/templates/default/app/root.tsx +5 -2
  588. package/src/templates/default/package.json +1 -0
  589. package/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  590. package/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  591. package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
  592. package/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
  593. package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
  594. package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
  595. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +7 -5
  596. package/src/terminal/cli-registry.ts +1 -1
  597. package/src/vite/client.ts +205 -1
  598. package/corpus/templates/analytics/app/components/ui/calendar.tsx +0 -70
  599. package/corpus/templates/analytics/app/components/ui/chart.tsx +0 -386
  600. package/corpus/templates/calendar/app/components/ui/sonner.tsx +0 -58
  601. package/corpus/templates/crm/.agents/skills/agent-native-docs/SKILL.md +0 -115
  602. package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +0 -142
  603. package/corpus/templates/crm/.agents/skills/crm/SKILL.md +0 -128
  604. package/corpus/templates/crm/.agents/skills/customizing-agent-native/SKILL.md +0 -145
  605. package/corpus/templates/crm/.agents/skills/feature-flags/SKILL.md +0 -169
  606. package/corpus/templates/crm/.agents/skills/upgrade-agent-native/SKILL.md +0 -100
  607. package/corpus/templates/crm/.env.example +0 -5
  608. package/corpus/templates/crm/AGENTS.md +0 -120
  609. package/corpus/templates/crm/CHANGELOG.md +0 -1
  610. package/corpus/templates/crm/DEVELOPING.md +0 -66
  611. package/corpus/templates/crm/README.md +0 -106
  612. package/corpus/templates/crm/_gitignore +0 -12
  613. package/corpus/templates/crm/actions/_crm-action-utils.ts +0 -87
  614. package/corpus/templates/crm/actions/_crm-dashboard.ts +0 -69
  615. package/corpus/templates/crm/actions/_crm-data-program-actions.ts +0 -15
  616. package/corpus/templates/crm/actions/_crm-signal-utils.ts +0 -79
  617. package/corpus/templates/crm/actions/apply-crm-proposals.ts +0 -203
  618. package/corpus/templates/crm/actions/attach-call-evidence.ts +0 -170
  619. package/corpus/templates/crm/actions/configure-crm-connection.ts +0 -126
  620. package/corpus/templates/crm/actions/configure-native-crm.ts +0 -44
  621. package/corpus/templates/crm/actions/create-crm-record.ts +0 -148
  622. package/corpus/templates/crm/actions/create-crm-signal-tracker.ts +0 -58
  623. package/corpus/templates/crm/actions/delete-staged-dataset.ts +0 -14
  624. package/corpus/templates/crm/actions/get-crm-automation-recipe.ts +0 -36
  625. package/corpus/templates/crm/actions/get-crm-dashboard-panel.ts +0 -35
  626. package/corpus/templates/crm/actions/get-crm-dashboard.ts +0 -14
  627. package/corpus/templates/crm/actions/get-crm-overview.ts +0 -13
  628. package/corpus/templates/crm/actions/get-crm-pipeline-data.ts +0 -61
  629. package/corpus/templates/crm/actions/get-crm-record.ts +0 -75
  630. package/corpus/templates/crm/actions/install-crm-pipeline-dashboard.ts +0 -81
  631. package/corpus/templates/crm/actions/list-crm-dashboard-revisions.ts +0 -15
  632. package/corpus/templates/crm/actions/list-crm-dashboards.ts +0 -15
  633. package/corpus/templates/crm/actions/list-crm-proposals.ts +0 -31
  634. package/corpus/templates/crm/actions/list-crm-records.ts +0 -79
  635. package/corpus/templates/crm/actions/list-crm-saved-views.ts +0 -15
  636. package/corpus/templates/crm/actions/list-crm-signal-hits.ts +0 -43
  637. package/corpus/templates/crm/actions/list-crm-signal-trackers.ts +0 -32
  638. package/corpus/templates/crm/actions/list-crm-tasks.ts +0 -22
  639. package/corpus/templates/crm/actions/list-staged-datasets.ts +0 -14
  640. package/corpus/templates/crm/actions/list-workspace-connections.ts +0 -47
  641. package/corpus/templates/crm/actions/manage-crm-signal-tracker.ts +0 -87
  642. package/corpus/templates/crm/actions/manage-crm-task.ts +0 -132
  643. package/corpus/templates/crm/actions/navigate.ts +0 -63
  644. package/corpus/templates/crm/actions/provider-api-catalog.ts +0 -22
  645. package/corpus/templates/crm/actions/provider-api-docs.ts +0 -54
  646. package/corpus/templates/crm/actions/provider-api-request.ts +0 -92
  647. package/corpus/templates/crm/actions/query-staged-dataset.ts +0 -44
  648. package/corpus/templates/crm/actions/record-crm-call-insight.ts +0 -160
  649. package/corpus/templates/crm/actions/record-crm-smart-signal.ts +0 -150
  650. package/corpus/templates/crm/actions/restore-crm-dashboard-revision.ts +0 -23
  651. package/corpus/templates/crm/actions/review-crm-signal.ts +0 -31
  652. package/corpus/templates/crm/actions/run-crm-saved-view-program.ts +0 -103
  653. package/corpus/templates/crm/actions/run-crm-signal-trackers.ts +0 -275
  654. package/corpus/templates/crm/actions/run.ts +0 -7
  655. package/corpus/templates/crm/actions/save-crm-dashboard.ts +0 -51
  656. package/corpus/templates/crm/actions/save-crm-saved-view.ts +0 -119
  657. package/corpus/templates/crm/actions/sync-crm.ts +0 -146
  658. package/corpus/templates/crm/actions/update-crm-record.ts +0 -510
  659. package/corpus/templates/crm/actions/view-screen.ts +0 -218
  660. package/corpus/templates/crm/agent-native.app-skill.json +0 -58
  661. package/corpus/templates/crm/app/components/crm/CreateCrmRecordDialog.tsx +0 -158
  662. package/corpus/templates/crm/app/components/crm/CrmDashboardPanel.tsx +0 -83
  663. package/corpus/templates/crm/app/components/crm/CrmSignalsPanel.tsx +0 -225
  664. package/corpus/templates/crm/app/components/crm/IntelligenceSettings.tsx +0 -413
  665. package/corpus/templates/crm/app/components/crm/RecordActions.tsx +0 -510
  666. package/corpus/templates/crm/app/components/crm/RecordGrid.tsx +0 -134
  667. package/corpus/templates/crm/app/components/crm/RecordWorkspace.tsx +0 -367
  668. package/corpus/templates/crm/app/components/crm/SavedViewDataProgram.tsx +0 -92
  669. package/corpus/templates/crm/app/components/crm/Surface.tsx +0 -96
  670. package/corpus/templates/crm/app/components/crm/WorkOverview.tsx +0 -180
  671. package/corpus/templates/crm/app/components/layout/CrmLayout.tsx +0 -112
  672. package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +0 -84
  673. package/corpus/templates/crm/app/entry.client.tsx +0 -16
  674. package/corpus/templates/crm/app/entry.server.tsx +0 -10
  675. package/corpus/templates/crm/app/global.css +0 -167
  676. package/corpus/templates/crm/app/hooks/use-navigation-state.ts +0 -60
  677. package/corpus/templates/crm/app/i18n/en-US.ts +0 -89
  678. package/corpus/templates/crm/app/i18n/index.ts +0 -34
  679. package/corpus/templates/crm/app/lib/dashboard.ts +0 -13
  680. package/corpus/templates/crm/app/lib/navigation.ts +0 -54
  681. package/corpus/templates/crm/app/lib/tab-id.ts +0 -1
  682. package/corpus/templates/crm/app/lib/types.ts +0 -172
  683. package/corpus/templates/crm/app/lib/utils.ts +0 -1
  684. package/corpus/templates/crm/app/root.tsx +0 -88
  685. package/corpus/templates/crm/app/routes/_index.tsx +0 -26
  686. package/corpus/templates/crm/app/routes/accounts.tsx +0 -41
  687. package/corpus/templates/crm/app/routes/agent.tsx +0 -5
  688. package/corpus/templates/crm/app/routes/ask.tsx +0 -53
  689. package/corpus/templates/crm/app/routes/dashboard.tsx +0 -118
  690. package/corpus/templates/crm/app/routes/opportunities.tsx +0 -41
  691. package/corpus/templates/crm/app/routes/people.tsx +0 -41
  692. package/corpus/templates/crm/app/routes/proposals.tsx +0 -266
  693. package/corpus/templates/crm/app/routes/records.$recordId.tsx +0 -35
  694. package/corpus/templates/crm/app/routes/settings.tsx +0 -63
  695. package/corpus/templates/crm/app/routes/setup.tsx +0 -308
  696. package/corpus/templates/crm/app/routes/tasks.tsx +0 -252
  697. package/corpus/templates/crm/app/routes/views.tsx +0 -333
  698. package/corpus/templates/crm/app/routes.ts +0 -17
  699. package/corpus/templates/crm/app/vite-env.d.ts +0 -6
  700. package/corpus/templates/crm/changelog/2026-07-21-agent-native-crm.md +0 -6
  701. package/corpus/templates/crm/changelog/2026-07-21-clips-call-evidence-review-recipe.md +0 -6
  702. package/corpus/templates/crm/changelog/2026-07-21-crm-can-now-find-and-review-evidence-grounded-call-signals-w.md +0 -6
  703. package/corpus/templates/crm/changelog/2026-07-21-crm-can-now-manage-keyword-and-smart-call-signal-trackers-fr.md +0 -6
  704. package/corpus/templates/crm/changelog/2026-07-21-delegated-local-crm-automation.md +0 -6
  705. package/corpus/templates/crm/changelog/2026-07-21-native-sql.md +0 -6
  706. package/corpus/templates/crm/changelog/2026-07-21-pipeline-dashboard.md +0 -6
  707. package/corpus/templates/crm/changelog/2026-07-21-pipeline-dashboards-now-install-correctly-from-the-crm-actio.md +0 -6
  708. package/corpus/templates/crm/changelog/2026-07-21-salesforce-connection.md +0 -6
  709. package/corpus/templates/crm/changelog/2026-07-22-crm-field-validation-now-explains-which-fields-cannot-be-edi.md +0 -6
  710. package/corpus/templates/crm/changelog/2026-07-22-fixed-hubspot-contact-syncs-missing-records-updated-after-th.md +0 -6
  711. package/corpus/templates/crm/changelog/2026-07-22-fixed-pipeline-dashboard-panels-so-their-opportunity-data-lo.md +0 -6
  712. package/corpus/templates/crm/changelog/2026-07-22-full-page-chat-keeps-the-active-conversation-when-moving-to-.md +0 -6
  713. package/corpus/templates/crm/components.json +0 -20
  714. package/corpus/templates/crm/docs/architecture/crm-contract.md +0 -180
  715. package/corpus/templates/crm/learnings.defaults.md +0 -5
  716. package/corpus/templates/crm/package.json +0 -59
  717. package/corpus/templates/crm/public/favicon.svg +0 -1
  718. package/corpus/templates/crm/public/icon-180.svg +0 -1
  719. package/corpus/templates/crm/public/manifest.json +0 -11
  720. package/corpus/templates/crm/react-router.config.ts +0 -7
  721. package/corpus/templates/crm/server/crm/adapter.ts +0 -32
  722. package/corpus/templates/crm/server/crm/crm-field-firewall.ts +0 -64
  723. package/corpus/templates/crm/server/crm/crm-mirror.ts +0 -711
  724. package/corpus/templates/crm/server/crm/hubspot-adapter.ts +0 -1146
  725. package/corpus/templates/crm/server/crm/native-adapter.ts +0 -1715
  726. package/corpus/templates/crm/server/crm/read-through.ts +0 -207
  727. package/corpus/templates/crm/server/crm/salesforce-adapter.ts +0 -1255
  728. package/corpus/templates/crm/server/db/crm-store.ts +0 -1170
  729. package/corpus/templates/crm/server/db/index.ts +0 -169
  730. package/corpus/templates/crm/server/db/schema.ts +0 -441
  731. package/corpus/templates/crm/server/lib/intelligence/default-detectors.ts +0 -65
  732. package/corpus/templates/crm/server/lib/intelligence/evidence.ts +0 -105
  733. package/corpus/templates/crm/server/lib/intelligence/keyword-detector.ts +0 -100
  734. package/corpus/templates/crm/server/lib/intelligence/smart-detector.ts +0 -144
  735. package/corpus/templates/crm/server/lib/intelligence/summary.ts +0 -141
  736. package/corpus/templates/crm/server/lib/provider-api.ts +0 -64
  737. package/corpus/templates/crm/server/middleware/auth.ts +0 -4
  738. package/corpus/templates/crm/server/plugins/agent-chat.ts +0 -68
  739. package/corpus/templates/crm/server/plugins/auth.ts +0 -14
  740. package/corpus/templates/crm/server/plugins/core-routes.ts +0 -17
  741. package/corpus/templates/crm/server/plugins/db.ts +0 -454
  742. package/corpus/templates/crm/server/routes/[...page].get.ts +0 -5
  743. package/corpus/templates/crm/shared/crm-automation-recipes.ts +0 -132
  744. package/corpus/templates/crm/shared/crm-contract.ts +0 -254
  745. package/corpus/templates/crm/shared/crm-sales-config.ts +0 -63
  746. package/corpus/templates/crm/ssr-entry.ts +0 -11
  747. package/corpus/templates/crm/tsconfig.json +0 -24
  748. package/corpus/templates/crm/vite.config.ts +0 -15
  749. package/corpus/templates/crm/vitest.config.ts +0 -5
  750. package/corpus/templates/forms/app/components/ui/calendar.tsx +0 -214
  751. package/corpus/templates/forms/app/components/ui/chart.tsx +0 -379
  752. package/corpus/templates/forms/app/components/ui/command.tsx +0 -153
  753. package/corpus/templates/forms/app/components/ui/context-menu.tsx +0 -198
  754. package/corpus/templates/forms/app/components/ui/menubar.tsx +0 -254
  755. package/corpus/templates/macros/app/components/ui/menubar.tsx +0 -238
  756. package/corpus/templates/macros/app/components/ui/progress.tsx +0 -26
  757. package/corpus/templates/mail/app/components/ui/calendar.tsx +0 -211
  758. package/corpus/templates/mail/app/components/ui/chart.tsx +0 -379
  759. package/corpus/templates/mail/app/components/ui/command.tsx +0 -153
  760. package/corpus/templates/mail/app/components/ui/context-menu.tsx +0 -198
  761. package/corpus/templates/mail/app/components/ui/menubar.tsx +0 -254
  762. package/corpus/templates/tasks/app/components/ui/accordion.tsx +0 -56
  763. package/corpus/templates/tasks/app/components/ui/aspect-ratio.tsx +0 -5
  764. package/corpus/templates/tasks/app/components/ui/breadcrumb.tsx +0 -115
  765. package/corpus/templates/tasks/app/components/ui/calendar.tsx +0 -70
  766. package/corpus/templates/tasks/app/components/ui/carousel.tsx +0 -260
  767. package/corpus/templates/tasks/app/components/ui/chart.tsx +0 -379
  768. package/corpus/templates/tasks/app/components/ui/form.tsx +0 -177
  769. package/corpus/templates/tasks/app/components/ui/hover-card.tsx +0 -27
  770. package/corpus/templates/tasks/app/components/ui/input-otp.tsx +0 -69
  771. package/corpus/templates/tasks/app/components/ui/menubar.tsx +0 -254
  772. package/corpus/templates/tasks/app/components/ui/navigation-menu.tsx +0 -128
  773. package/corpus/templates/tasks/app/components/ui/pagination.tsx +0 -121
  774. package/corpus/templates/tasks/app/components/ui/resizable.tsx +0 -43
  775. package/corpus/templates/tasks/app/components/ui/sidebar.tsx +0 -782
  776. package/corpus/templates/tasks/app/components/ui/toggle.tsx +0 -43
package/corpus/README.md CHANGED
@@ -28,6 +28,6 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
28
28
 
29
29
  ## Generated Counts
30
30
 
31
- - core files: 1536
32
- - toolkit files: 145
33
- - template files: 6441
31
+ - core files: 1545
32
+ - toolkit files: 159
33
+ - template files: 6295
@@ -1,5 +1,56 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.118.1
4
+
5
+ ### Patch Changes
6
+
7
+ - c15d20f: Only show in-chat connection suggestions for exact provider brands or provider-owned URLs found in user-authored text.
8
+ - c15d20f: Harden browser and CLI error handling and hide editor commands for disabled features.
9
+ - c15d20f: Keep remote MCP OAuth flow state in browser-safe cookie chunks and show Granola's official provider icon.
10
+ - c15d20f: Keep completed chat turns with interactive custom UI expanded and frame custom action UI in a padded card.
11
+ - c15d20f: Pin Slack delivery to the app that received the event and reject legacy bot tokens from a different Slack app.
12
+ - c15d20f: Keep healthy long-running tool and agent calls out of the stuck-run warning, add space below long-running tool hints, and prevent a hung remote status request from bypassing the A2A call timeout.
13
+ - c15d20f: Wait for Nitro's Vite environment before serving initial development requests, and keep published Core installs from enabling framework-monorepo dependency optimization.
14
+ - c15d20f: Consume agent-authored URL navigation commands from full-page chat surfaces.
15
+ - c15d20f: Remove the obsolete active-tool row selector so stale styles cannot paint the shine outside the label text.
16
+ - c15d20f: Shorten the MCP OAuth connection action label to Connect.
17
+ - c15d20f: Show a soft rotating blue glow for live realtime voice sessions and brighten it while the agent is working.
18
+ - c15d20f: Synchronize the chat response regenerate control and timestamp fade transitions.
19
+ - Updated dependencies [c15d20f]
20
+ - Updated dependencies [c15d20f]
21
+ - Updated dependencies [c15d20f]
22
+ - @agent-native/toolkit@0.10.1
23
+
24
+ ## 0.118.0
25
+
26
+ ### Minor Changes
27
+
28
+ - f0da2e0: Add the styling-runtime-agnostic custom design system contract, safe component adapters, semantic theme tokens, and build-time theme CSS generation. New scaffolded apps now include the explicit design-system module, ToolkitProvider seam, and toolkit dependency so custom adapters can be registered from the first render.
29
+
30
+ ### Patch Changes
31
+
32
+ - f0da2e0: Harden custom design system color gamut handling, semantic default-adapter behavior, sharing controller reuse, and build-time theme cascade ordering. Add complete MUI and Ant Design Chat examples that exercise the public conformance contract, and route normalized settings, sharing, sidebar, and agent-panel chrome through the registered semantic adapters.
33
+ - f0da2e0: Preserve staged cookies across MCP OAuth redirects so browser callbacks retain their authorization flow state.
34
+ - f0da2e0: Add horizontal breathing room around in-chat MCP connection suggestions.
35
+ - f0da2e0: Keep parent chats alive while a delegated A2A task is actively processing.
36
+ - f0da2e0: Clip the active tool-call shine to the tool label instead of painting it across the full row.
37
+ - f0da2e0: Preserve normalized core control icon sizing and semantic button styling while keeping settings defaults and sharing overlays consistent.
38
+ - f0da2e0: Preserve the active chat when page chat and sidebar chat share a thread store.
39
+ - f0da2e0: Serialize realtime voice responses and recover from overlapping response requests without ending the voice session.
40
+ - f0da2e0: Make the Dispatch chat composer recover from unavailable AI status checks and keep its Add menu clickable.
41
+ - f0da2e0: Route the Builder connection card and chat history rail through semantic design-system components while preserving their default presentation and shared controller paths.
42
+ - f0da2e0: Consolidate sharing query, mutation, member-search, optimistic-cache, and
43
+ error-handling primitives behind the ShareButton and ShareDialog controllers.
44
+ - f0da2e0: ShareButton and ShareDialog controllers now share optimistic updates, rollback handling, organization-member search, and error reporting while preserving pending state across close and reopen.
45
+ - f0da2e0: Show a pending spinner while an MCP OAuth connection is preparing its redirect.
46
+ - Updated dependencies [f0da2e0]
47
+ - Updated dependencies [f0da2e0]
48
+ - Updated dependencies [f0da2e0]
49
+ - Updated dependencies [f0da2e0]
50
+ - Updated dependencies [f0da2e0]
51
+ - Updated dependencies [f0da2e0]
52
+ - @agent-native/toolkit@0.10.0
53
+
3
54
  ## 0.117.2
4
55
 
5
56
  ### Patch Changes
@@ -0,0 +1,445 @@
1
+ ---
2
+ title: "Custom Design Systems"
3
+ description: "Use your company’s React design system across Agent Native apps and shared Toolkit experiences without replacing Agent Native behavior."
4
+ ---
5
+
6
+ # Custom Design Systems
7
+
8
+ Agent Native can render app-owned screens and shared Toolkit experiences with
9
+ your company’s React components. Register an explicit, typed adapter once; the
10
+ same feature controllers continue to own actions, state, accessibility
11
+ requirements, and agent-visible behavior.
12
+
13
+ The adapter contract does not require Tailwind, shadcn, Radix, `className`, or
14
+ any particular styling runtime. A component may use a theme provider,
15
+ CSS-in-JS, CSS Modules, React Aria, or ordinary CSS. `className` and `style` are
16
+ optional interoperability hooks, not styling requirements.
17
+
18
+ See the runnable [Material UI Chat example](https://github.com/BuilderIO/agent-native/tree/main/examples/chat-mui) and [Ant Design Chat example](https://github.com/BuilderIO/agent-native/tree/main/examples/chat-antd) for complete adapters, theme-provider wiring, dark mode, and documented v1 gaps.
19
+
20
+ ## Choose the smallest customization tier
21
+
22
+ | Tier | Use it for | What remains shared |
23
+ | ----------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
24
+ | **Theme tokens** | Fast brand alignment across default and not-yet-adapted surfaces | Toolkit components, controllers, and behavior |
25
+ | **Semantic components** | Company controls such as buttons, fields, pickers, dialogs, menus, and surfaces | Feature controllers and product contracts |
26
+ | **Product slots** | A company-specific layout for one feature, such as the connection card or chat-history rail | The feature’s controller and actions |
27
+ | **Eject** | Product behavior or structure that cannot be expressed by a supported slot | Core runtime contracts; the ejected feature becomes app-owned |
28
+
29
+ Start with tokens, add semantic components where your system has an equivalent,
30
+ use a product slot for feature-level composition, and eject only the smallest
31
+ unit that still needs ownership.
32
+
33
+ ## Register an adapter
34
+
35
+ Customer adapters are ordinary npm packages. Import one explicitly in
36
+ `app/design-system.ts`; Agent Native never scans dependencies, auto-detects a
37
+ library, or loads components from JSON.
38
+
39
+ Keep the build-time theme in a dependency-light module so Vite does not need to
40
+ evaluate the customer React package while loading its config:
41
+
42
+ ```ts filename="app/design-system-theme.ts"
43
+ import { defineTheme } from "@agent-native/toolkit/design-system";
44
+
45
+ export const acmeTheme = defineTheme({
46
+ colors: {
47
+ light: {
48
+ background: "#ffffff",
49
+ foreground: "oklch(24% 0.03 255)",
50
+ primary: "rgb(33 82 255)",
51
+ "primary-foreground": "white",
52
+ border: "hsl(218 20% 88%)",
53
+ },
54
+ dark: {
55
+ background: "#11131a",
56
+ foreground: "#f7f8fb",
57
+ primary: "oklch(72% 0.17 259)",
58
+ "primary-foreground": "#07102f",
59
+ },
60
+ },
61
+ radius: "0.625rem",
62
+ typography: { fontFamily: "Acme Sans, sans-serif" },
63
+ });
64
+ ```
65
+
66
+ ```tsx filename="app/design-system.ts"
67
+ import { defineDesignSystem } from "@agent-native/toolkit/design-system";
68
+ import { acmeComponents } from "@acme/agent-native-design-system";
69
+
70
+ import { acmeTheme } from "@/design-system-theme";
71
+
72
+ export const designSystem = defineDesignSystem({
73
+ name: "Acme",
74
+ theme: acmeTheme,
75
+ components: acmeComponents,
76
+ });
77
+ ```
78
+
79
+ Wire the definition through the app’s provider seam:
80
+
81
+ ```tsx filename="app/components/ui/toolkit-provider.tsx"
82
+ import { ToolkitProvider } from "@agent-native/toolkit/provider";
83
+
84
+ import { designSystem } from "@/design-system";
85
+
86
+ export function AppToolkitProvider({
87
+ children,
88
+ }: {
89
+ children: React.ReactNode;
90
+ }) {
91
+ return (
92
+ <ToolkitProvider designSystem={designSystem}>{children}</ToolkitProvider>
93
+ );
94
+ }
95
+ ```
96
+
97
+ Partial adapters are supported. Any component you omit uses Agent Native’s
98
+ default adapter. If one custom component throws while rendering, a
99
+ per-component error boundary logs the failure and renders the default component
100
+ for that control; the rest of the custom system stays active.
101
+
102
+ Two complete Chat applications keep this contract honest against real design
103
+ systems: [the Material UI example](https://github.com/BuilderIO/agent-native/tree/main/examples/chat-mui)
104
+ uses Emotion, `ThemeProvider`, and MUI’s overlay stack, while [the Ant Design
105
+ example](https://github.com/BuilderIO/agent-native/tree/main/examples/chat-antd)
106
+ uses `ConfigProvider` and Ant Design’s form and overlay primitives. Their
107
+ `app/design-system.tsx` files are the primary integration references; the Acme
108
+ fixture above remains intentionally small and is used for unit tests.
109
+
110
+ The older `components={{ Button }}` provider API remains compatible and is
111
+ treated as the lowest-precedence `ActionButton` adapter. If both are supplied,
112
+ `designSystem.components.ActionButton` wins and development builds log a
113
+ warning.
114
+
115
+ ## Build-time theme tokens
116
+
117
+ `defineTheme` accepts standard CSS colors, including hex, `rgb()`, `hsl()`, and
118
+ OKLCH. The Core Vite plugin validates and normalizes them to Agent Native’s
119
+ existing semantic variables. Dark colors fall back token-by-token to the light
120
+ palette; Agent Native does not derive a dark palette automatically.
121
+
122
+ Pass the theme to the Vite plugin:
123
+
124
+ ```tsx filename="vite.config.ts"
125
+ import { agentNative } from "@agent-native/core/vite";
126
+ import { defineConfig } from "vite";
127
+
128
+ import { acmeTheme } from "./app/design-system-theme";
129
+
130
+ export default defineConfig({
131
+ plugins: [...agentNative({ designSystemTheme: acmeTheme })],
132
+ });
133
+ ```
134
+
135
+ Import the virtual stylesheet once from the app root so both development and
136
+ React Router production builds include it:
137
+
138
+ ```tsx filename="app/root.tsx"
139
+ import "virtual:agent-native-theme.css";
140
+ ```
141
+
142
+ The plugin generates that virtual theme CSS at build time. Its semantic tokens
143
+ override the scaffold's fallback values without removing fallback-only tokens.
144
+ Version 1 does not choose a theme per request or per organization.
145
+
146
+ ## The 17 semantic contracts
147
+
148
+ The contract is deliberately about meaning and behavior, not DOM shape or
149
+ visual implementation. Values and open state are controlled wherever product
150
+ state must remain portable.
151
+
152
+ ### Leaf contracts
153
+
154
+ | Component | Required contract | Important optional semantics |
155
+ | -------------- | ------------------------------------- | -------------------------------------------------------------------------------- |
156
+ | `ActionButton` | `children` and `onPress` as needed | `intent`, `emphasis`, `size`, `pending`, icons, disabled state, button type, ref |
157
+ | `IconButton` | accessible `label`, `icon` | button semantics matching `ActionButton` |
158
+ | `TextField` | controlled string `value`, `onChange` | label, description, error, input type/mode, validation, adornments, events, ref |
159
+ | `TextArea` | controlled string `value`, `onChange` | label, description, error, rows, validation, events, ref |
160
+ | `Spinner` | progress indicator | accessible label and semantic size |
161
+ | `Skeleton` | non-interactive placeholder | width, height, line/rectangle/circle shape |
162
+ | `Status` | `children` | neutral/info/success/warning/danger tone, icon, size |
163
+ | `Surface` | `children` | semantic element, elevation, padding, interactive press behavior |
164
+ | `Avatar` | accessible `name` | image source, fallback, size, presence status, image ref |
165
+
166
+ ### Behavior contracts
167
+
168
+ | Component | Required contract | Behavior the adapter owns |
169
+ | ---------- | -------------------------------------------------- | -------------------------------------------------------------------------------- |
170
+ | `Tooltip` | trigger and content | controlled/uncontrolled open state, delay, placement, portal behavior |
171
+ | `Menu` | trigger, items/sections, `onAction` | keyboard navigation, nested items, selection, dismissal, portal behavior |
172
+ | `Popover` | trigger and children | controlled/uncontrolled open state, dismissal, focus, modality, portal behavior |
173
+ | `Dialog` | controlled `open`, `onOpenChange`, title, children | dialog semantics, dismissal, initial/restore focus, portal and stacking behavior |
174
+ | `Picker` | `mode`, options, controlled `value`, `onChange` | select/combobox semantics, search/open state, validation, loading/empty state |
175
+ | `Checkbox` | controlled `checked`, `onChange` | checkbox semantics, indeterminate/required/invalid state |
176
+ | `Switch` | controlled `checked`, `onChange` | switch semantics and disabled state |
177
+ | `Tabs` | items, controlled `value`, `onChange` | tab semantics, orientation, automatic/manual activation |
178
+
179
+ `intent` is `primary`, `neutral`, or `danger`; `emphasis` is `solid`,
180
+ `outline`, or `ghost`; and size is `compact`, `default`, or `large`. These
181
+ values describe purpose, not a class or variant name from the default UI.
182
+
183
+ The default adapter gives these visual props observable behavior as well as
184
+ semantic attributes: button, spinner, status, skeleton, avatar, and dialog
185
+ sizes select concrete variants; skeleton shape and avatar presence status
186
+ change their presentation; menu selection and `closeOnAction` affect behavior.
187
+ Custom adapters remain responsible for mapping the same meanings to their own
188
+ visual vocabulary.
189
+
190
+ `Picker` covers select and combobox behavior only. Date picking is not part of
191
+ the version 1 semantic contract.
192
+
193
+ ### What the Chat examples actually render
194
+
195
+ The runnable MUI and Ant Design Chat examples register all 17 components and
196
+ render 16/17 through those adapters in the normalized shared surfaces:
197
+
198
+ | Adapter component | Reachable proving surface |
199
+ | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
200
+ | `ActionButton`, `IconButton` | Chat-history rail, settings actions, sharing actions |
201
+ | `TextField`, `TextArea`, `Picker`, `Checkbox`, `Switch`, `Tabs` | Settings and sharing controls |
202
+ | `Dialog`, `Avatar`, `Status` | Core Share dialog on each example's shipped `/design-system-proof` route |
203
+ | `Tooltip`, `Popover`, `Spinner`, `Skeleton` | Agent-panel, runs-tray, and sidebar chrome |
204
+ | `Surface` | Builder connection card |
205
+ | `Menu` | Explicit gap: the agent-panel header menu embeds the live `RunsTrayMenuItem` compound submenu, which the v1 data-only menu contract cannot express |
206
+
207
+ The `Menu` row is intentionally called out rather than counted as bridged.
208
+ The everyday Chat share button remains the legacy popover; the proof route makes
209
+ the complete Core `ShareDialog` reachable without misrepresenting that popover.
210
+ The assistant-ui composer/message renderer, cmdk command-menu internals, and
211
+ Tiptap editor remain v1 non-goals. Their surrounding chrome is tokenized or
212
+ bridged where the semantic contract fits. If a product needs arbitrary nested
213
+ menu content, use a product slot or propose a contract extension instead of
214
+ silently mixing the default menu into a custom adapter.
215
+
216
+ The framework-owned sign-in shell is outside both the semantic bridge and the
217
+ build-time token tier in v1; the authenticated settings, sharing, history rail,
218
+ and agent-panel surfaces are the design-system proving surfaces. The main Chat
219
+ canvas remains tokens-only because the assistant-ui renderer is a documented
220
+ v1 non-goal. In the runnable examples, dark mode is exercised from the
221
+ `Cmd/Ctrl+K` Appearance command rather than a second settings section.
222
+
223
+ ## Overlays, portals, and focus
224
+
225
+ Behavior components may use your design system’s overlay and focus
226
+ implementation wholesale. They do not need to wrap Radix. They must honor the
227
+ semantic contract, including controlled state, accessible roles, and the
228
+ provided `portalContainer`, `initialFocusRef`, and `restoreFocusRef` seams.
229
+
230
+ This matters when a native design-system dialog opens from a Radix-hosted
231
+ Toolkit surface. The adapter owns its overlay stack, while the seams let both
232
+ systems agree on the portal layer, z-index order, initial focus, and focus
233
+ restoration. Test nested and adjacent overlays in the real app, not only in an
234
+ isolated component explorer.
235
+
236
+ ## Headless feature controllers and product slots
237
+
238
+ Semantic components are the shared vocabulary. Feature controllers are the
239
+ behavior boundary. A controller owns state transitions, actions, tracking, and
240
+ the view model; both the default view and a product slot consume that same
241
+ controller.
242
+
243
+ ```tsx
244
+ <BuilderConnectCard
245
+ className="connection-card"
246
+ render={({ viewModel, className }) => (
247
+ <AcmeConnectionPanel
248
+ className={className}
249
+ title={viewModel.title}
250
+ status={viewModel.status}
251
+ pending={viewModel.action?.pending ?? false}
252
+ onConnect={viewModel.action?.onPress}
253
+ />
254
+ )}
255
+ />
256
+ ```
257
+
258
+ This is feature-level headless UI, not a second set of low-level hooks for every
259
+ widget. `BuilderConnectCard` and `ChatHistoryRail` are the first proving slices;
260
+ settings and sharing follow the same controller/default-view/custom-view
261
+ invariant.
262
+
263
+ `ChatHistoryRail` keeps one deliberately opaque `renderRail` slot in v1. The
264
+ slot replaces the rail view wholesale and receives the shared controller plus
265
+ list props; discrete header, footer, and row slots are deferred until a second
266
+ product needs them. This bounds the API while keeping history state and actions
267
+ on the shared controller.
268
+
269
+ If a slot cannot express the required product change, inspect and eject the
270
+ smallest published unit:
271
+
272
+ ```bash
273
+ agent-native eject --list
274
+ agent-native eject inspect toolkit/design-system
275
+ agent-native eject toolkit/design-system --app my-app --apply
276
+ ```
277
+
278
+ Ejection transfers ownership; it does not fork Core auth, actions, persistence,
279
+ access checks, chat transport, or agent execution.
280
+
281
+ ## Run the conformance kit
282
+
283
+ Export a complete component map from the customer package and run the shipped
284
+ test kit in a browser-like test environment:
285
+
286
+ ```tsx filename="design-system.conformance.spec.tsx"
287
+ import { describe, it } from "vitest";
288
+ import { assertDesignSystemConformance } from "@agent-native/toolkit/conformance";
289
+ import { DESIGN_SYSTEM_CONTRACT_VERSION } from "@agent-native/toolkit/design-system";
290
+ import { acmeComponents } from "@acme/agent-native-design-system";
291
+
292
+ describe("Acme Agent Native adapter", () => {
293
+ it("conforms", async () => {
294
+ await assertDesignSystemConformance({
295
+ adapterName: "Acme",
296
+ components: acmeComponents,
297
+ contractVersion: DESIGN_SYSTEM_CONTRACT_VERSION,
298
+ });
299
+ });
300
+ });
301
+ ```
302
+
303
+ The suite checks all 17 exports, controlled values and open state, accessible
304
+ roles, keyboard interaction, selection, portal targeting, z-index
305
+ interoperability, initial focus, and focus restoration. Run it in the adapter
306
+ package’s CI and retain a small app-level overlay test for provider-specific
307
+ composition.
308
+
309
+ Contract evolution follows semantic versioning:
310
+
311
+ - New components and optional props are a compatible minor change.
312
+ - New required props, removed components/props, or behavioral contract changes
313
+ require a new contract major.
314
+ - The conformance kit fails when the adapter’s contract major and Toolkit’s
315
+ contract major differ.
316
+
317
+ ## Adapter recipes
318
+
319
+ ### MUI-style theme-provider systems
320
+
321
+ The [Chat + Material UI example](https://github.com/BuilderIO/agent-native/tree/main/examples/chat-mui) is the primary worked reference. Its single
322
+ `app/design-system.tsx` module exports the semantic adapter, the MUI light and
323
+ dark `createTheme` values, and the `defineTheme` token source. The app's
324
+ `AppToolkitProvider` keeps the MUI `ThemeProvider` above shared Toolkit
325
+ surfaces, while `vite.config.ts` imports that same `theme` value for build-time
326
+ CSS generation. This keeps Emotion styles, MUI portals, and Agent Native
327
+ tokens on one source of truth.
328
+
329
+ Keep the company theme provider above `AppToolkitProvider`, and adapt semantic
330
+ props at the package boundary. Map `intent`, `emphasis`, and `size` to your
331
+ system’s own vocabulary inside the adapter—not in Agent Native feature code.
332
+ For overlays, forward `portalContainer` to the design system’s container or
333
+ portal prop and implement `initialFocusRef`/`restoreFocusRef` using its focus
334
+ manager.
335
+
336
+ ```tsx
337
+ export const ActionButton: DesignSystemComponents["ActionButton"] = ({
338
+ intent = "neutral",
339
+ emphasis = "solid",
340
+ pending,
341
+ onPress,
342
+ children,
343
+ ...props
344
+ }) => (
345
+ <CompanyButton
346
+ {...props}
347
+ color={intent === "danger" ? "error" : intent}
348
+ variant={emphasis === "solid" ? "contained" : emphasis}
349
+ loading={pending}
350
+ onClick={onPress}
351
+ >
352
+ {children}
353
+ </CompanyButton>
354
+ );
355
+ ```
356
+
357
+ Do not copy a feature’s theme provider into each adapter component. Install it
358
+ once at the app boundary so portals and overlays inherit the same context.
359
+
360
+ The [Chat MUI adapter](https://github.com/BuilderIO/agent-native/blob/main/examples/chat-mui/app/design-system.tsx)
361
+ is the worked example: it exports one `defineTheme` value, imports that value
362
+ into `defineDesignSystem`, and imports the same module from `vite.config.ts`.
363
+ That single source of truth keeps the MUI light/dark provider tokens and the
364
+ build-time semantic CSS tokens aligned without runtime theme generation.
365
+
366
+ ### React Aria-based systems
367
+
368
+ Use React Aria components or hooks to implement the semantics directly. Preserve
369
+ controlled `value`/`open` props and forward their change callbacks rather than
370
+ creating a second state store. For behavior contracts, use your overlay provider
371
+ and focus scope, set its portal root from `portalContainer`, and connect
372
+ initial/restore refs to the focus-management API. The conformance suite is the
373
+ minimum behavior check; your design system remains responsible for its full
374
+ keyboard and screen-reader test matrix.
375
+
376
+ ```tsx
377
+ export const Checkbox: DesignSystemComponents["Checkbox"] = ({
378
+ checked,
379
+ onChange,
380
+ label,
381
+ ...props
382
+ }) => (
383
+ <AriaCheckbox {...props} isSelected={checked} onChange={onChange}>
384
+ {label}
385
+ </AriaCheckbox>
386
+ );
387
+ ```
388
+
389
+ ### CSS Modules and plain React
390
+
391
+ The adapter can be ordinary React and CSS Modules. Ignore `className` entirely
392
+ when it would bypass your component’s style contract; it is optional. Keep DOM
393
+ roles, accessible names, keyboard behavior, and controlled state explicit.
394
+
395
+ ```tsx
396
+ import styles from "./action-button.module.css";
397
+
398
+ export const ActionButton: DesignSystemComponents["ActionButton"] = ({
399
+ intent = "neutral",
400
+ emphasis = "solid",
401
+ pending,
402
+ disabled,
403
+ onPress,
404
+ children,
405
+ elementRef,
406
+ }) => (
407
+ <button
408
+ ref={elementRef}
409
+ className={styles[`${intent}-${emphasis}`]}
410
+ disabled={disabled || pending}
411
+ aria-busy={pending || undefined}
412
+ onClick={onPress}
413
+ >
414
+ {children}
415
+ </button>
416
+ );
417
+ ```
418
+
419
+ ## Version 1 boundaries
420
+
421
+ The semantic bridge does not replace every third-party UI ecosystem in version
422
+
423
+ 1. These surfaces receive theme tokens and feature slots where available, but
424
+ their internal widgets are not semantic-adapter contracts yet:
425
+
426
+ - `@assistant-ui/react` chat and composer internals
427
+ - Tiptap editor kits
428
+ - `cmdk`, `vaul`, Recharts, and `react-day-picker`
429
+ - date-picker components (the `Picker` contract is select/combobox only)
430
+ - Dispatch’s independent primitive fork
431
+ - Pinpoint’s Solid.js and Shadow DOM UI
432
+
433
+ These boundaries are explicit so an adapter package can make accurate support
434
+ claims. Propose a new semantic component only when the same meaning and behavior
435
+ is useful across more than one feature; use product slots or eject for
436
+ one-feature differences.
437
+
438
+ ## What’s next
439
+
440
+ - [**Toolkit UI Primitives**](/docs/toolkit-ui) — local adapters, provider
441
+ wiring, and shared primitive imports.
442
+ - [**Agent-Native Toolkit**](/docs/agent-native-toolkit) — reusable feature
443
+ ownership and package boundaries.
444
+ - [**Settings Kit**](/docs/toolkit-settings) and [**Sharing Kit**](/docs/toolkit-sharing)
445
+ — shared feature controllers that preserve app actions and access contracts.
@@ -8,6 +8,14 @@ description: "How to use @agent-native/toolkit UI primitives, the local app-adap
8
8
  Toolkit UI primitives live under `@agent-native/toolkit/ui/*`. They are the
9
9
  shared shadcn-style building blocks used by templates and reusable kits.
10
10
 
11
+ If your company already has a React component library, register it through the
12
+ semantic design-system bridge instead of replacing feature code. The bridge is
13
+ styling-runtime agnostic, supports partial adapters with per-control fallback,
14
+ and lets shared Toolkit and Core-owned feature views consume the same company
15
+ components. See [Custom Design Systems](/docs/custom-design-system) for the 17
16
+ semantic contracts, build-time theme tokens, conformance tests, and adapter
17
+ recipes.
18
+
11
19
  <WireframeBlock id="doc-block-toolkit-ui-primitives">
12
20
  <Screen
13
21
  surface="desktop"
@@ -105,6 +113,14 @@ keep importing `@agent-native/toolkit/ui/*` without adopting local adapters.
105
113
  Core also keeps old imports working through its own re-export shims for code
106
114
  written before Toolkit adapters existed.
107
115
 
116
+ For new customization, prefer `designSystem={designSystem}` over the legacy
117
+ `components={{ Button }}` override. The design-system adapter uses semantic
118
+ props such as intent, emphasis, pending state, controlled values, and controlled
119
+ open state rather than shadcn variant names. When both APIs provide the button,
120
+ `designSystem.components.ActionButton` wins. A missing or failed custom control
121
+ falls back to Toolkit’s default adapter without disabling the rest of the
122
+ registered system.
123
+
108
124
  ## Shell hooks {#shell-hooks}
109
125
 
110
126
  Toolkit includes small shell helpers and hooks that are useful across apps:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.117.2",
3
+ "version": "0.118.1",
4
4
  "description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -14,6 +14,8 @@ import type {
14
14
  Task,
15
15
  } from "./types.js";
16
16
 
17
+ const DEFAULT_A2A_POLL_REQUEST_TIMEOUT_MS = 15_000;
18
+
17
19
  export class A2ATaskTimeoutError extends Error {
18
20
  readonly taskId: string;
19
21
  readonly lastTask: Task;
@@ -171,6 +173,7 @@ export class A2AClient {
171
173
  private async rpc(
172
174
  method: string,
173
175
  params: Record<string, unknown>,
176
+ options?: { requestTimeoutMs?: number },
174
177
  ): Promise<JsonRpcResponse> {
175
178
  const body: JsonRpcRequest = {
176
179
  jsonrpc: "2.0",
@@ -186,7 +189,12 @@ export class A2AClient {
186
189
  for (let i = 0; i < this.apiKeyAttempts.length; i++) {
187
190
  console.log(`[A2A Client] POST ${url} method=${method}`);
188
191
  const startTime = Date.now();
189
- const res = await this.postJson(url, body, this.apiKeyAttempts[i]);
192
+ const res = await this.postJson(
193
+ url,
194
+ body,
195
+ this.apiKeyAttempts[i],
196
+ options?.requestTimeoutMs,
197
+ );
190
198
  console.log(
191
199
  `[A2A Client] Response: ${res.status} in ${Date.now() - startTime}ms`,
192
200
  );
@@ -278,8 +286,15 @@ export class A2AClient {
278
286
  /**
279
287
  * Poll for a task by id. Used in async mode after `send({ async: true })`.
280
288
  */
281
- async getTask(taskId: string): Promise<Task> {
282
- const response = await this.rpc("tasks/get", { id: taskId });
289
+ async getTask(
290
+ taskId: string,
291
+ opts?: { requestTimeoutMs?: number },
292
+ ): Promise<Task> {
293
+ const response = await this.rpc(
294
+ "tasks/get",
295
+ { id: taskId },
296
+ { requestTimeoutMs: opts?.requestTimeoutMs },
297
+ );
283
298
  if (response.error) {
284
299
  throw new Error(
285
300
  `A2A error (${response.error.code}): ${response.error.message}`,
@@ -392,9 +407,17 @@ export class A2AClient {
392
407
 
393
408
  let current = submitted;
394
409
  while (Date.now() < deadline) {
395
- await new Promise((r) => setTimeout(r, pollMs));
410
+ const sleepMs = Math.min(pollMs, Math.max(0, deadline - Date.now()));
411
+ await new Promise((r) => setTimeout(r, sleepMs));
412
+ const remainingMs = deadline - Date.now();
413
+ if (remainingMs <= 0) break;
396
414
  try {
397
- current = await this.getTask(submitted.id);
415
+ current = await this.getTask(submitted.id, {
416
+ requestTimeoutMs: Math.min(
417
+ this.requestTimeoutMs ?? DEFAULT_A2A_POLL_REQUEST_TIMEOUT_MS,
418
+ remainingMs,
419
+ ),
420
+ });
398
421
  opts?.onUpdate?.(current);
399
422
  } catch {
400
423
  // Transient fetch failure — keep polling until the deadline.
@@ -509,13 +532,12 @@ export class A2AClient {
509
532
  url: string,
510
533
  body: JsonRpcRequest,
511
534
  apiKey = this.apiKey,
535
+ requestTimeoutMs = this.requestTimeoutMs,
512
536
  ): Promise<Response> {
513
- const controller = this.requestTimeoutMs
514
- ? new AbortController()
515
- : undefined;
537
+ const controller = requestTimeoutMs ? new AbortController() : undefined;
516
538
  const timer =
517
- controller && this.requestTimeoutMs
518
- ? setTimeout(() => controller.abort(), this.requestTimeoutMs)
539
+ controller && requestTimeoutMs
540
+ ? setTimeout(() => controller.abort(), requestTimeoutMs)
519
541
  : undefined;
520
542
  try {
521
543
  return await ssrfSafeFetch(
@@ -36,6 +36,7 @@ export interface Message {
36
36
  export type TaskState =
37
37
  | "submitted"
38
38
  | "working"
39
+ | "processing"
39
40
  | "completed"
40
41
  | "failed"
41
42
  | "canceled"
@@ -290,7 +290,7 @@ export type AgentChatEvent =
290
290
  */
291
291
  type: "agent_call_progress";
292
292
  agent: string;
293
- /** Remote A2A task state for this poll, e.g. "working" | "submitted". */
293
+ /** Remote A2A task state for this poll, e.g. "working" | "processing". */
294
294
  state: string;
295
295
  /** Elapsed wall-clock seconds since the cross-app call began. */
296
296
  elapsedSeconds: number;