@agent-native/core 0.90.2 → 0.90.4

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 (530) hide show
  1. package/bin/agent-native.js +25 -3
  2. package/corpus/README.md +2 -2
  3. package/corpus/core/CHANGELOG.md +21 -0
  4. package/corpus/core/bin/agent-native.js +25 -3
  5. package/corpus/core/docs/content/agent-native-toolkit.mdx +87 -80
  6. package/corpus/core/docs/content/locales/ar-SA/agent-native-toolkit.mdx +89 -80
  7. package/corpus/core/docs/content/locales/de-DE/agent-native-toolkit.mdx +89 -80
  8. package/corpus/core/docs/content/locales/es-ES/agent-native-toolkit.mdx +89 -80
  9. package/corpus/core/docs/content/locales/fr-FR/agent-native-toolkit.mdx +89 -80
  10. package/corpus/core/docs/content/locales/hi-IN/agent-native-toolkit.mdx +89 -80
  11. package/corpus/core/docs/content/locales/ja-JP/agent-native-toolkit.mdx +89 -80
  12. package/corpus/core/docs/content/locales/ko-KR/agent-native-toolkit.mdx +89 -80
  13. package/corpus/core/docs/content/locales/pt-BR/agent-native-toolkit.mdx +89 -80
  14. package/corpus/core/docs/content/locales/zh-CN/agent-native-toolkit.mdx +89 -80
  15. package/corpus/core/docs/content/locales/zh-TW/agent-native-toolkit.mdx +89 -80
  16. package/corpus/core/docs/content/toolkit-agent-ux.mdx +43 -0
  17. package/corpus/core/docs/content/toolkit-app-adapters.mdx +9 -0
  18. package/corpus/core/docs/content/toolkit-collaboration-ui.mdx +12 -0
  19. package/corpus/core/docs/content/toolkit-collaboration.mdx +74 -0
  20. package/corpus/core/docs/content/toolkit-command-navigation.mdx +106 -0
  21. package/corpus/core/docs/content/toolkit-comments-review.mdx +98 -0
  22. package/corpus/core/docs/content/toolkit-history.mdx +95 -0
  23. package/corpus/core/docs/content/toolkit-observability.mdx +41 -0
  24. package/corpus/core/docs/content/toolkit-org-team.mdx +80 -0
  25. package/corpus/core/docs/content/toolkit-resources.mdx +57 -0
  26. package/corpus/core/docs/content/toolkit-settings.mdx +65 -0
  27. package/corpus/core/docs/content/toolkit-setup-connections.mdx +109 -0
  28. package/corpus/core/docs/content/toolkit-sharing-ui.mdx +18 -6
  29. package/corpus/core/docs/content/toolkit-sharing.mdx +81 -0
  30. package/corpus/core/docs/content/toolkit-shell-hooks.mdx +9 -0
  31. package/corpus/core/docs/content/toolkit-ui.mdx +9 -0
  32. package/corpus/core/package.json +35 -1
  33. package/corpus/core/src/agent/engine/ai-sdk-engine.ts +19 -1
  34. package/corpus/core/src/agent/engine/anthropic-engine.ts +25 -1
  35. package/corpus/core/src/agent/engine/index.ts +1 -0
  36. package/corpus/core/src/agent/engine/registry.ts +86 -18
  37. package/corpus/core/src/agent/production-agent.ts +37 -6
  38. package/corpus/core/src/cli/create.ts +35 -0
  39. package/corpus/core/src/cli/design-connect.ts +248 -0
  40. package/corpus/core/src/cli/index.ts +84 -7
  41. package/corpus/core/src/cli/workspacify.ts +34 -0
  42. package/corpus/core/src/client/command-navigation/index.ts +15 -0
  43. package/corpus/core/src/client/comments-review/index.ts +1 -0
  44. package/corpus/core/src/client/history/VersionHistoryPanel.tsx +175 -0
  45. package/corpus/core/src/client/history/index.ts +21 -0
  46. package/corpus/core/src/client/history/use-history.ts +114 -0
  47. package/corpus/core/src/client/index.ts +84 -9
  48. package/corpus/core/src/client/org/OrgSwitcher.tsx +6 -6
  49. package/corpus/core/src/client/org/RequireActiveOrg.tsx +2 -2
  50. package/corpus/core/src/client/org/TeamPage.tsx +3 -3
  51. package/corpus/core/src/client/org/hooks.ts +32 -0
  52. package/corpus/core/src/client/org/index.ts +30 -1
  53. package/corpus/core/src/client/org-team/index.ts +1 -0
  54. package/corpus/core/src/client/review/ReviewStatusBadge.tsx +39 -0
  55. package/corpus/core/src/client/review/ReviewThreadPanel.tsx +278 -0
  56. package/corpus/core/src/client/review/index.ts +30 -0
  57. package/corpus/core/src/client/review/use-review.ts +152 -0
  58. package/corpus/core/src/client/settings/index.ts +11 -1
  59. package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +94 -0
  60. package/corpus/core/src/client/setup-connections/ProviderReadinessBadge.tsx +73 -0
  61. package/corpus/core/src/client/setup-connections/SetupConnectionsPage.tsx +94 -0
  62. package/corpus/core/src/client/setup-connections/index.ts +46 -0
  63. package/corpus/core/src/client/sharing/ShareButton.tsx +20 -14
  64. package/corpus/core/src/client/sharing/ShareDialog.tsx +3 -3
  65. package/corpus/core/src/command-navigation/actions.ts +100 -0
  66. package/corpus/core/src/command-navigation/index.ts +12 -0
  67. package/corpus/core/src/comments-review/index.ts +1 -0
  68. package/corpus/core/src/file-upload/builder.ts +24 -3
  69. package/corpus/core/src/file-upload/types.ts +3 -1
  70. package/corpus/core/src/history/actions/create-resource-version.ts +92 -0
  71. package/corpus/core/src/history/actions/get-resource-version.ts +60 -0
  72. package/corpus/core/src/history/actions/list-resource-history.ts +53 -0
  73. package/corpus/core/src/history/actions/list-resource-versions.ts +43 -0
  74. package/corpus/core/src/history/actions/restore-resource-version.ts +96 -0
  75. package/corpus/core/src/history/index.ts +26 -0
  76. package/corpus/core/src/history/registry.ts +111 -0
  77. package/corpus/core/src/history/store.ts +379 -0
  78. package/corpus/core/src/history/types.ts +69 -0
  79. package/corpus/core/src/index.ts +10 -0
  80. package/corpus/core/src/navigation/index.ts +170 -0
  81. package/corpus/core/src/org/index.ts +8 -0
  82. package/corpus/core/src/org/permissions.ts +30 -0
  83. package/corpus/core/src/org-team/index.ts +1 -0
  84. package/corpus/core/src/private-blob/registry.ts +1 -0
  85. package/corpus/core/src/review/actions/consume-review-feedback.ts +48 -0
  86. package/corpus/core/src/review/actions/create-review-comment.ts +107 -0
  87. package/corpus/core/src/review/actions/delete-review-comment.ts +67 -0
  88. package/corpus/core/src/review/actions/get-review-feedback.ts +54 -0
  89. package/corpus/core/src/review/actions/list-review-comments.ts +53 -0
  90. package/corpus/core/src/review/actions/reply-review-comment.ts +107 -0
  91. package/corpus/core/src/review/actions/resolve-review-thread.ts +67 -0
  92. package/corpus/core/src/review/actions/set-review-status.ts +58 -0
  93. package/corpus/core/src/review/index.ts +31 -0
  94. package/corpus/core/src/review/mentions.ts +44 -0
  95. package/corpus/core/src/review/registry.ts +111 -0
  96. package/corpus/core/src/review/store.ts +690 -0
  97. package/corpus/core/src/review/types.ts +97 -0
  98. package/corpus/core/src/server/action-discovery.ts +54 -0
  99. package/corpus/core/src/server/agent-chat-plugin.ts +6 -0
  100. package/corpus/core/src/server/agent-engine-api-key-route.ts +5 -0
  101. package/corpus/core/src/server/credential-provider.ts +118 -0
  102. package/corpus/core/src/setup-connections/index.ts +89 -0
  103. package/corpus/core/src/setup-connections/onboarding.ts +47 -0
  104. package/corpus/core/src/transcription/builder-transcription.ts +9 -2
  105. package/corpus/core/src/vite/action-types-plugin.ts +52 -0
  106. package/corpus/templates/analytics/app/components/layout/Layout.tsx +2 -1
  107. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +2 -2
  108. package/corpus/templates/analytics/app/global.css +22 -10
  109. package/corpus/templates/analytics/app/i18n/zh-TW.ts +6 -1
  110. package/corpus/templates/analytics/app/i18n-data.ts +81 -13
  111. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +2 -2
  112. package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +2 -2
  113. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +528 -108
  114. package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +466 -183
  115. package/corpus/templates/analytics/changelog/2026-07-07-session-replays-load-sooner-show-clearer-activity-timelines-.md +6 -0
  116. package/corpus/templates/assets/actions/_preset-skeleton-validation.ts +11 -11
  117. package/corpus/templates/assets/actions/generate-image.ts +64 -28
  118. package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +1 -1
  119. package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +91 -74
  120. package/corpus/templates/assets/server/lib/generation.ts +29 -4
  121. package/corpus/templates/assets/server/lib/image-processing.ts +131 -0
  122. package/corpus/templates/brain/app/routes/settings.tsx +2 -2
  123. package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +24 -2
  124. package/corpus/templates/calendar/AGENTS.md +3 -0
  125. package/corpus/templates/calendar/actions/create-event.ts +8 -34
  126. package/corpus/templates/calendar/actions/event-action-helpers.ts +52 -0
  127. package/corpus/templates/calendar/actions/manage-event-draft.ts +7 -34
  128. package/corpus/templates/calendar/actions/update-event.ts +10 -23
  129. package/corpus/templates/calendar/app/components/calendar/AttendeeAutocomplete.tsx +79 -6
  130. package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +23 -0
  131. package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +59 -2
  132. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +40 -1
  133. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +154 -41
  134. package/corpus/templates/calendar/app/hooks/use-events.ts +6 -0
  135. package/corpus/templates/calendar/app/hooks/use-people.ts +55 -0
  136. package/corpus/templates/calendar/app/i18n/zh-TW.ts +4 -0
  137. package/corpus/templates/calendar/app/i18n-data.ts +40 -0
  138. package/corpus/templates/calendar/changelog/2026-07-07-guest-suggestions-now-find-coworkers-from-your-google-worksp.md +6 -0
  139. package/corpus/templates/calendar/changelog/2026-07-07-you-can-mark-event-guests-as-optional-while-inviting-them-or.md +6 -0
  140. package/corpus/templates/calendar/changelog/2026-07-07-zoom-stays-selected-after-connecting-it-from-a-draft-event.md +6 -0
  141. package/corpus/templates/calendar/server/handlers/events.ts +1 -0
  142. package/corpus/templates/calendar/server/lib/google-calendar.ts +4 -0
  143. package/corpus/templates/calendar/server/plugins/agent-chat.ts +1 -1
  144. package/corpus/templates/calendar/shared/api.ts +2 -0
  145. package/corpus/templates/clips/.agents/skills/ai-video-tools/SKILL.md +29 -3
  146. package/corpus/templates/clips/actions/create-recording.ts +5 -1
  147. package/corpus/templates/clips/actions/finalize-recording.ts +140 -1
  148. package/corpus/templates/clips/actions/generate-workflow.ts +19 -8
  149. package/corpus/templates/clips/actions/get-clips-ai-prefs.ts +36 -0
  150. package/corpus/templates/clips/actions/import-loom-recording.ts +1 -0
  151. package/corpus/templates/clips/actions/lib/clips-ai-prefs.ts +28 -0
  152. package/corpus/templates/clips/actions/lib/ensure-seekable-video.ts +1 -0
  153. package/corpus/templates/clips/actions/regenerate-chapters.ts +21 -7
  154. package/corpus/templates/clips/actions/regenerate-summary.ts +26 -8
  155. package/corpus/templates/clips/actions/regenerate-title.ts +44 -7
  156. package/corpus/templates/clips/actions/request-transcript.ts +31 -0
  157. package/corpus/templates/clips/actions/set-thumbnail.ts +2 -0
  158. package/corpus/templates/clips/actions/update-clips-ai-prefs.ts +50 -0
  159. package/corpus/templates/clips/app/components/library/organization-switcher.tsx +2 -2
  160. package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +7 -2
  161. package/corpus/templates/clips/app/components/player/scrubber-position.ts +9 -0
  162. package/corpus/templates/clips/app/components/player/scrubber.tsx +5 -2
  163. package/corpus/templates/clips/app/components/player/share-dialog.tsx +69 -41
  164. package/corpus/templates/clips/app/components/player/video-player.tsx +38 -1
  165. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +3 -3
  166. package/corpus/templates/clips/app/components/sharing/slack-share-hint.tsx +9 -19
  167. package/corpus/templates/clips/app/hooks/use-auto-title.ts +25 -10
  168. package/corpus/templates/clips/app/i18n/ar-SA.ts +28 -6
  169. package/corpus/templates/clips/app/i18n/de-DE.ts +28 -6
  170. package/corpus/templates/clips/app/i18n/en-US.ts +29 -6
  171. package/corpus/templates/clips/app/i18n/es-ES.ts +29 -6
  172. package/corpus/templates/clips/app/i18n/fr-FR.ts +30 -6
  173. package/corpus/templates/clips/app/i18n/hi-IN.ts +26 -6
  174. package/corpus/templates/clips/app/i18n/ja-JP.ts +27 -6
  175. package/corpus/templates/clips/app/i18n/ko-KR.ts +28 -6
  176. package/corpus/templates/clips/app/i18n/pt-BR.ts +28 -6
  177. package/corpus/templates/clips/app/i18n/zh-CN.ts +26 -6
  178. package/corpus/templates/clips/app/i18n/zh-TW.ts +25 -6
  179. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +73 -0
  180. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +1 -0
  181. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +79 -5
  182. package/corpus/templates/clips/app/routes/record.tsx +21 -12
  183. package/corpus/templates/clips/changelog/2026-07-02-recordings-now-wait-for-storage-media-to-serve-before-finishing.md +6 -0
  184. package/corpus/templates/clips/changelog/2026-07-07-a-pending-app-update-no-longer-blocks-screen-recording-updat.md +6 -0
  185. package/corpus/templates/clips/changelog/2026-07-07-ai-tools-can-include-the-full-video-not-just-the-transcript-.md +6 -0
  186. package/corpus/templates/clips/changelog/2026-07-07-chrome-extension-recordings-keep-audio-after-refreshing-tab.md +6 -0
  187. package/corpus/templates/clips/changelog/2026-07-07-clip-playback-progress-now-starts-and-finishes-at-the-right-times.md +6 -0
  188. package/corpus/templates/clips/changelog/2026-07-07-clips-desktop-now-surfaces-meetings-and-dictate-directly-in-.md +6 -0
  189. package/corpus/templates/clips/changelog/2026-07-07-meeting-notes-now-explain-exactly-how-to-start-granola-style.md +6 -0
  190. package/corpus/templates/clips/changelog/2026-07-07-meeting-start-alerts-now-include-separate-start-notes-and-jo.md +6 -0
  191. package/corpus/templates/clips/changelog/2026-07-07-recordings-start-more-predictably-and-newly-saved-clips-refr.md +6 -0
  192. package/corpus/templates/clips/changelog/2026-07-07-sharing-public-clips-now-stays-focused-on-the-normal-link-wi.md +6 -0
  193. package/corpus/templates/clips/chrome-extension/public/manifest.json +1 -1
  194. package/corpus/templates/clips/chrome-extension/src/background.ts +18 -0
  195. package/corpus/templates/clips/chrome-extension/src/offscreen.ts +23 -8
  196. package/corpus/templates/clips/desktop/src/app.tsx +475 -108
  197. package/corpus/templates/clips/desktop/src/hooks/useMediaDevices.ts +19 -7
  198. package/corpus/templates/clips/desktop/src/lib/permissions.ts +2 -0
  199. package/corpus/templates/clips/desktop/src/lib/recorder.ts +27 -21
  200. package/corpus/templates/clips/desktop/src/lib/updater.ts +25 -2
  201. package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +23 -22
  202. package/corpus/templates/clips/desktop/src/styles.css +167 -2
  203. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +8 -1
  204. package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +3 -7
  205. package/corpus/templates/clips/desktop/src-tauri/src/tray_meetings.rs +5 -4
  206. package/corpus/templates/clips/server/routes/_agent-native/clips/user-prefs.put.ts +16 -8
  207. package/corpus/templates/clips/server/routes/api/recordings/[recordingId]/thumbnail.post.ts +1 -0
  208. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/abort.post.ts +22 -5
  209. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +8 -0
  210. package/corpus/templates/clips/server/routes/api/video/[recordingId].get.ts +13 -6
  211. package/corpus/templates/clips/shared/clips-ai-prefs.ts +81 -0
  212. package/corpus/templates/clips/shared/finalize-recovery.ts +12 -0
  213. package/corpus/templates/content/actions/delete-document.ts +337 -52
  214. package/corpus/templates/content/changelog/2026-07-07-permanently-deleting-trashed-databases-now-finishes-reliably.md +6 -0
  215. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +16 -1
  216. package/corpus/templates/design/actions/add-localhost-screens.ts +1 -0
  217. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +345 -11
  218. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +89 -14
  219. package/corpus/templates/design/app/components/design/bridge-security.ts +7 -1
  220. package/corpus/templates/design/app/components/design/multi-screen/types.ts +1 -1
  221. package/corpus/templates/design/app/i18n/zh-TW.ts +3 -0
  222. package/corpus/templates/design/app/i18n-data.ts +41 -0
  223. package/corpus/templates/design/changelog/2026-07-07-local-visual-edit-uses-live-app-iframes-for-click-to-edit-pr.md +6 -0
  224. package/corpus/templates/slides/app/pages/DeckEditor.tsx +2 -2
  225. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  226. package/dist/agent/engine/ai-sdk-engine.js +15 -1
  227. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  228. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  229. package/dist/agent/engine/anthropic-engine.js +20 -1
  230. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  231. package/dist/agent/engine/index.d.ts +1 -1
  232. package/dist/agent/engine/index.d.ts.map +1 -1
  233. package/dist/agent/engine/index.js +1 -1
  234. package/dist/agent/engine/index.js.map +1 -1
  235. package/dist/agent/engine/registry.d.ts +14 -0
  236. package/dist/agent/engine/registry.d.ts.map +1 -1
  237. package/dist/agent/engine/registry.js +78 -16
  238. package/dist/agent/engine/registry.js.map +1 -1
  239. package/dist/agent/production-agent.d.ts.map +1 -1
  240. package/dist/agent/production-agent.js +27 -7
  241. package/dist/agent/production-agent.js.map +1 -1
  242. package/dist/cli/create.d.ts.map +1 -1
  243. package/dist/cli/create.js +31 -0
  244. package/dist/cli/create.js.map +1 -1
  245. package/dist/cli/design-connect.d.ts.map +1 -1
  246. package/dist/cli/design-connect.js +186 -0
  247. package/dist/cli/design-connect.js.map +1 -1
  248. package/dist/cli/index.js +76 -9
  249. package/dist/cli/index.js.map +1 -1
  250. package/dist/cli/workspacify.d.ts.map +1 -1
  251. package/dist/cli/workspacify.js +30 -0
  252. package/dist/cli/workspacify.js.map +1 -1
  253. package/dist/client/command-navigation/index.d.ts +4 -0
  254. package/dist/client/command-navigation/index.d.ts.map +1 -0
  255. package/dist/client/command-navigation/index.js +4 -0
  256. package/dist/client/command-navigation/index.js.map +1 -0
  257. package/dist/client/comments-review/index.d.ts +2 -0
  258. package/dist/client/comments-review/index.d.ts.map +1 -0
  259. package/dist/client/comments-review/index.js +2 -0
  260. package/dist/client/comments-review/index.js.map +1 -0
  261. package/dist/client/history/VersionHistoryPanel.d.ts +18 -0
  262. package/dist/client/history/VersionHistoryPanel.d.ts.map +1 -0
  263. package/dist/client/history/VersionHistoryPanel.js +31 -0
  264. package/dist/client/history/VersionHistoryPanel.js.map +1 -0
  265. package/dist/client/history/index.d.ts +3 -0
  266. package/dist/client/history/index.d.ts.map +1 -0
  267. package/dist/client/history/index.js +3 -0
  268. package/dist/client/history/index.js.map +1 -0
  269. package/dist/client/history/use-history.d.ts +58 -0
  270. package/dist/client/history/use-history.d.ts.map +1 -0
  271. package/dist/client/history/use-history.js +24 -0
  272. package/dist/client/history/use-history.js.map +1 -0
  273. package/dist/client/index.d.ts +6 -4
  274. package/dist/client/index.d.ts.map +1 -1
  275. package/dist/client/index.js +6 -4
  276. package/dist/client/index.js.map +1 -1
  277. package/dist/client/org/OrgSwitcher.js +5 -5
  278. package/dist/client/org/OrgSwitcher.js.map +1 -1
  279. package/dist/client/org/RequireActiveOrg.js +2 -2
  280. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  281. package/dist/client/org/TeamPage.js +3 -3
  282. package/dist/client/org/TeamPage.js.map +1 -1
  283. package/dist/client/org/hooks.d.ts +12 -1
  284. package/dist/client/org/hooks.d.ts.map +1 -1
  285. package/dist/client/org/hooks.js +15 -0
  286. package/dist/client/org/hooks.js.map +1 -1
  287. package/dist/client/org/index.d.ts +4 -2
  288. package/dist/client/org/index.d.ts.map +1 -1
  289. package/dist/client/org/index.js +3 -1
  290. package/dist/client/org/index.js.map +1 -1
  291. package/dist/client/org-team/index.d.ts +2 -0
  292. package/dist/client/org-team/index.d.ts.map +1 -0
  293. package/dist/client/org-team/index.js +2 -0
  294. package/dist/client/org-team/index.js.map +1 -0
  295. package/dist/client/review/ReviewStatusBadge.d.ts +7 -0
  296. package/dist/client/review/ReviewStatusBadge.d.ts.map +1 -0
  297. package/dist/client/review/ReviewStatusBadge.js +19 -0
  298. package/dist/client/review/ReviewStatusBadge.js.map +1 -0
  299. package/dist/client/review/ReviewThreadPanel.d.ts +20 -0
  300. package/dist/client/review/ReviewThreadPanel.d.ts.map +1 -0
  301. package/dist/client/review/ReviewThreadPanel.js +84 -0
  302. package/dist/client/review/ReviewThreadPanel.js.map +1 -0
  303. package/dist/client/review/index.d.ts +4 -0
  304. package/dist/client/review/index.d.ts.map +1 -0
  305. package/dist/client/review/index.js +4 -0
  306. package/dist/client/review/index.js.map +1 -0
  307. package/dist/client/review/use-review.d.ts +91 -0
  308. package/dist/client/review/use-review.d.ts.map +1 -0
  309. package/dist/client/review/use-review.js +30 -0
  310. package/dist/client/review/use-review.js.map +1 -0
  311. package/dist/client/settings/index.d.ts +1 -1
  312. package/dist/client/settings/index.d.ts.map +1 -1
  313. package/dist/client/settings/index.js +1 -1
  314. package/dist/client/settings/index.js.map +1 -1
  315. package/dist/client/setup-connections/BuilderConnectCard.d.ts +9 -0
  316. package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -0
  317. package/dist/client/setup-connections/BuilderConnectCard.js +25 -0
  318. package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -0
  319. package/dist/client/setup-connections/ProviderReadinessBadge.d.ts +8 -0
  320. package/dist/client/setup-connections/ProviderReadinessBadge.d.ts.map +1 -0
  321. package/dist/client/setup-connections/ProviderReadinessBadge.js +32 -0
  322. package/dist/client/setup-connections/ProviderReadinessBadge.js.map +1 -0
  323. package/dist/client/setup-connections/SetupConnectionsPage.d.ts +17 -0
  324. package/dist/client/setup-connections/SetupConnectionsPage.d.ts.map +1 -0
  325. package/dist/client/setup-connections/SetupConnectionsPage.js +10 -0
  326. package/dist/client/setup-connections/SetupConnectionsPage.js.map +1 -0
  327. package/dist/client/setup-connections/index.d.ts +7 -0
  328. package/dist/client/setup-connections/index.d.ts.map +1 -0
  329. package/dist/client/setup-connections/index.js +7 -0
  330. package/dist/client/setup-connections/index.js.map +1 -0
  331. package/dist/client/sharing/ShareButton.d.ts +4 -4
  332. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  333. package/dist/client/sharing/ShareButton.js +13 -7
  334. package/dist/client/sharing/ShareButton.js.map +1 -1
  335. package/dist/client/sharing/ShareDialog.js +3 -3
  336. package/dist/client/sharing/ShareDialog.js.map +1 -1
  337. package/dist/collab/awareness.d.ts +2 -2
  338. package/dist/collab/awareness.d.ts.map +1 -1
  339. package/dist/collab/routes.d.ts +1 -1
  340. package/dist/collab/struct-routes.d.ts +1 -1
  341. package/dist/command-navigation/actions.d.ts +25 -0
  342. package/dist/command-navigation/actions.d.ts.map +1 -0
  343. package/dist/command-navigation/actions.js +64 -0
  344. package/dist/command-navigation/actions.js.map +1 -0
  345. package/dist/command-navigation/index.d.ts +4 -0
  346. package/dist/command-navigation/index.d.ts.map +1 -0
  347. package/dist/command-navigation/index.js +4 -0
  348. package/dist/command-navigation/index.js.map +1 -0
  349. package/dist/comments-review/index.d.ts +2 -0
  350. package/dist/comments-review/index.d.ts.map +1 -0
  351. package/dist/comments-review/index.js +2 -0
  352. package/dist/comments-review/index.js.map +1 -0
  353. package/dist/file-upload/builder.d.ts.map +1 -1
  354. package/dist/file-upload/builder.js +18 -2
  355. package/dist/file-upload/builder.js.map +1 -1
  356. package/dist/file-upload/types.d.ts +3 -0
  357. package/dist/file-upload/types.d.ts.map +1 -1
  358. package/dist/file-upload/types.js.map +1 -1
  359. package/dist/history/actions/create-resource-version.d.ts +10 -0
  360. package/dist/history/actions/create-resource-version.d.ts.map +1 -0
  361. package/dist/history/actions/create-resource-version.js +68 -0
  362. package/dist/history/actions/create-resource-version.js.map +1 -0
  363. package/dist/history/actions/get-resource-version.d.ts +10 -0
  364. package/dist/history/actions/get-resource-version.d.ts.map +1 -0
  365. package/dist/history/actions/get-resource-version.js +38 -0
  366. package/dist/history/actions/get-resource-version.js.map +1 -0
  367. package/dist/history/actions/list-resource-history.d.ts +10 -0
  368. package/dist/history/actions/list-resource-history.d.ts.map +1 -0
  369. package/dist/history/actions/list-resource-history.js +45 -0
  370. package/dist/history/actions/list-resource-history.js.map +1 -0
  371. package/dist/history/actions/list-resource-versions.d.ts +10 -0
  372. package/dist/history/actions/list-resource-versions.d.ts.map +1 -0
  373. package/dist/history/actions/list-resource-versions.js +35 -0
  374. package/dist/history/actions/list-resource-versions.js.map +1 -0
  375. package/dist/history/actions/restore-resource-version.d.ts +11 -0
  376. package/dist/history/actions/restore-resource-version.d.ts.map +1 -0
  377. package/dist/history/actions/restore-resource-version.js +59 -0
  378. package/dist/history/actions/restore-resource-version.js.map +1 -0
  379. package/dist/history/index.d.ts +4 -0
  380. package/dist/history/index.d.ts.map +1 -0
  381. package/dist/history/index.js +3 -0
  382. package/dist/history/index.js.map +1 -0
  383. package/dist/history/registry.d.ts +10 -0
  384. package/dist/history/registry.d.ts.map +1 -0
  385. package/dist/history/registry.js +63 -0
  386. package/dist/history/registry.js.map +1 -0
  387. package/dist/history/store.d.ts +34 -0
  388. package/dist/history/store.d.ts.map +1 -0
  389. package/dist/history/store.js +290 -0
  390. package/dist/history/store.js.map +1 -0
  391. package/dist/history/types.d.ts +55 -0
  392. package/dist/history/types.d.ts.map +1 -0
  393. package/dist/history/types.js +2 -0
  394. package/dist/history/types.js.map +1 -0
  395. package/dist/index.d.ts +6 -0
  396. package/dist/index.d.ts.map +1 -1
  397. package/dist/index.js +6 -0
  398. package/dist/index.js.map +1 -1
  399. package/dist/navigation/index.d.ts +53 -0
  400. package/dist/navigation/index.d.ts.map +1 -0
  401. package/dist/navigation/index.js +105 -0
  402. package/dist/navigation/index.js.map +1 -0
  403. package/dist/observability/routes.d.ts +3 -3
  404. package/dist/org/index.d.ts +1 -0
  405. package/dist/org/index.d.ts.map +1 -1
  406. package/dist/org/index.js +1 -0
  407. package/dist/org/index.js.map +1 -1
  408. package/dist/org/permissions.d.ts +7 -0
  409. package/dist/org/permissions.d.ts.map +1 -0
  410. package/dist/org/permissions.js +21 -0
  411. package/dist/org/permissions.js.map +1 -0
  412. package/dist/org-team/index.d.ts +2 -0
  413. package/dist/org-team/index.d.ts.map +1 -0
  414. package/dist/org-team/index.js +2 -0
  415. package/dist/org-team/index.js.map +1 -0
  416. package/dist/private-blob/registry.d.ts.map +1 -1
  417. package/dist/private-blob/registry.js +1 -0
  418. package/dist/private-blob/registry.js.map +1 -1
  419. package/dist/progress/routes.d.ts +1 -1
  420. package/dist/resources/handlers.d.ts +2 -2
  421. package/dist/review/actions/consume-review-feedback.d.ts +10 -0
  422. package/dist/review/actions/consume-review-feedback.d.ts.map +1 -0
  423. package/dist/review/actions/consume-review-feedback.js +35 -0
  424. package/dist/review/actions/consume-review-feedback.js.map +1 -0
  425. package/dist/review/actions/create-review-comment.d.ts +18 -0
  426. package/dist/review/actions/create-review-comment.d.ts.map +1 -0
  427. package/dist/review/actions/create-review-comment.js +81 -0
  428. package/dist/review/actions/create-review-comment.js.map +1 -0
  429. package/dist/review/actions/delete-review-comment.d.ts +11 -0
  430. package/dist/review/actions/delete-review-comment.d.ts.map +1 -0
  431. package/dist/review/actions/delete-review-comment.js +53 -0
  432. package/dist/review/actions/delete-review-comment.js.map +1 -0
  433. package/dist/review/actions/get-review-feedback.d.ts +10 -0
  434. package/dist/review/actions/get-review-feedback.d.ts.map +1 -0
  435. package/dist/review/actions/get-review-feedback.js +45 -0
  436. package/dist/review/actions/get-review-feedback.js.map +1 -0
  437. package/dist/review/actions/list-review-comments.d.ts +13 -0
  438. package/dist/review/actions/list-review-comments.d.ts.map +1 -0
  439. package/dist/review/actions/list-review-comments.js +44 -0
  440. package/dist/review/actions/list-review-comments.js.map +1 -0
  441. package/dist/review/actions/reply-review-comment.d.ts +16 -0
  442. package/dist/review/actions/reply-review-comment.d.ts.map +1 -0
  443. package/dist/review/actions/reply-review-comment.js +84 -0
  444. package/dist/review/actions/reply-review-comment.js.map +1 -0
  445. package/dist/review/actions/resolve-review-thread.d.ts +12 -0
  446. package/dist/review/actions/resolve-review-thread.d.ts.map +1 -0
  447. package/dist/review/actions/resolve-review-thread.js +49 -0
  448. package/dist/review/actions/resolve-review-thread.js.map +1 -0
  449. package/dist/review/actions/set-review-status.d.ts +9 -0
  450. package/dist/review/actions/set-review-status.d.ts.map +1 -0
  451. package/dist/review/actions/set-review-status.js +43 -0
  452. package/dist/review/actions/set-review-status.js.map +1 -0
  453. package/dist/review/index.d.ts +5 -0
  454. package/dist/review/index.d.ts.map +1 -0
  455. package/dist/review/index.js +4 -0
  456. package/dist/review/index.js.map +1 -0
  457. package/dist/review/mentions.d.ts +4 -0
  458. package/dist/review/mentions.d.ts.map +1 -0
  459. package/dist/review/mentions.js +39 -0
  460. package/dist/review/mentions.js.map +1 -0
  461. package/dist/review/registry.d.ts +10 -0
  462. package/dist/review/registry.d.ts.map +1 -0
  463. package/dist/review/registry.js +63 -0
  464. package/dist/review/registry.js.map +1 -0
  465. package/dist/review/store.d.ts +63 -0
  466. package/dist/review/store.d.ts.map +1 -0
  467. package/dist/review/store.js +561 -0
  468. package/dist/review/store.js.map +1 -0
  469. package/dist/review/types.d.ts +77 -0
  470. package/dist/review/types.d.ts.map +1 -0
  471. package/dist/review/types.js +2 -0
  472. package/dist/review/types.js.map +1 -0
  473. package/dist/secrets/routes.d.ts +9 -9
  474. package/dist/server/action-discovery.d.ts.map +1 -1
  475. package/dist/server/action-discovery.js +54 -0
  476. package/dist/server/action-discovery.js.map +1 -1
  477. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  478. package/dist/server/agent-chat-plugin.js +5 -0
  479. package/dist/server/agent-chat-plugin.js.map +1 -1
  480. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  481. package/dist/server/agent-engine-api-key-route.d.ts.map +1 -1
  482. package/dist/server/agent-engine-api-key-route.js +5 -0
  483. package/dist/server/agent-engine-api-key-route.js.map +1 -1
  484. package/dist/server/credential-provider.d.ts +28 -0
  485. package/dist/server/credential-provider.d.ts.map +1 -1
  486. package/dist/server/credential-provider.js +92 -0
  487. package/dist/server/credential-provider.js.map +1 -1
  488. package/dist/setup-connections/index.d.ts +6 -0
  489. package/dist/setup-connections/index.d.ts.map +1 -0
  490. package/dist/setup-connections/index.js +6 -0
  491. package/dist/setup-connections/index.js.map +1 -0
  492. package/dist/setup-connections/onboarding.d.ts +14 -0
  493. package/dist/setup-connections/onboarding.d.ts.map +1 -0
  494. package/dist/setup-connections/onboarding.js +23 -0
  495. package/dist/setup-connections/onboarding.js.map +1 -0
  496. package/dist/transcription/builder-transcription.d.ts +1 -0
  497. package/dist/transcription/builder-transcription.d.ts.map +1 -1
  498. package/dist/transcription/builder-transcription.js +5 -2
  499. package/dist/transcription/builder-transcription.js.map +1 -1
  500. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  501. package/dist/vite/action-types-plugin.js +52 -0
  502. package/dist/vite/action-types-plugin.js.map +1 -1
  503. package/docs/content/agent-native-toolkit.mdx +87 -80
  504. package/docs/content/locales/ar-SA/agent-native-toolkit.mdx +89 -80
  505. package/docs/content/locales/de-DE/agent-native-toolkit.mdx +89 -80
  506. package/docs/content/locales/es-ES/agent-native-toolkit.mdx +89 -80
  507. package/docs/content/locales/fr-FR/agent-native-toolkit.mdx +89 -80
  508. package/docs/content/locales/hi-IN/agent-native-toolkit.mdx +89 -80
  509. package/docs/content/locales/ja-JP/agent-native-toolkit.mdx +89 -80
  510. package/docs/content/locales/ko-KR/agent-native-toolkit.mdx +89 -80
  511. package/docs/content/locales/pt-BR/agent-native-toolkit.mdx +89 -80
  512. package/docs/content/locales/zh-CN/agent-native-toolkit.mdx +89 -80
  513. package/docs/content/locales/zh-TW/agent-native-toolkit.mdx +89 -80
  514. package/docs/content/toolkit-agent-ux.mdx +43 -0
  515. package/docs/content/toolkit-app-adapters.mdx +9 -0
  516. package/docs/content/toolkit-collaboration-ui.mdx +12 -0
  517. package/docs/content/toolkit-collaboration.mdx +74 -0
  518. package/docs/content/toolkit-command-navigation.mdx +106 -0
  519. package/docs/content/toolkit-comments-review.mdx +98 -0
  520. package/docs/content/toolkit-history.mdx +95 -0
  521. package/docs/content/toolkit-observability.mdx +41 -0
  522. package/docs/content/toolkit-org-team.mdx +80 -0
  523. package/docs/content/toolkit-resources.mdx +57 -0
  524. package/docs/content/toolkit-settings.mdx +65 -0
  525. package/docs/content/toolkit-setup-connections.mdx +109 -0
  526. package/docs/content/toolkit-sharing-ui.mdx +18 -6
  527. package/docs/content/toolkit-sharing.mdx +81 -0
  528. package/docs/content/toolkit-shell-hooks.mdx +9 -0
  529. package/docs/content/toolkit-ui.mdx +9 -0
  530. package/package.json +36 -2
@@ -1,103 +1,112 @@
1
1
  ---
2
- title: "Toolkit"
3
- description: "Reusable app-building primitives that sit between @agent-native/core and template apps."
2
+ title: "Toolkits"
3
+ description: "Battle-tested reusable building blocks for high-quality agentic applications: collaboration, sharing, settings, teams, setup, navigation, resources, agent UX, history, comments, and observability."
4
4
  ---
5
5
 
6
- # Toolkit
6
+ <!-- i18n-docs-ignore -->
7
7
 
8
- `@agent-native/core` owns the foundational runtime: actions, app state, auth,
9
- SQL, server plugins, agent chat, sharing access checks, and collaboration
10
- transport. `@agent-native/toolkit` owns reusable app-building pieces that sit on
11
- top of that runtime: UI primitives, app-local adapters, shell helpers, sharing
12
- badges, and collaboration UI.
8
+ # Toolkits
13
9
 
14
- Apps should compose those pieces through local adapters. That keeps app UI easy
15
- to customize without copying Toolkit implementation code.
10
+ Toolkits are reusable, battle-tested building blocks for high-quality agentic
11
+ applications. They turn the hard product work that repeats across apps into
12
+ standard surfaces: realtime collaboration between humans and agents, sharing
13
+ with humans and agents, settings, teams, setup, resources, history, review, and
14
+ observability.
16
15
 
17
- <WireframeBlock id="doc-block-toolkit-layering">
16
+ Each kit packages the UI patterns, action contracts, app-state expectations,
17
+ access boundaries, and agent-visible behavior that users expect to work
18
+ consistently. Apps still own their domain model and visual identity; toolkits
19
+ make the common product systems feel complete from the first version instead of
20
+ being rebuilt in slightly different ways every time.
21
+
22
+ <WireframeBlock id="doc-block-toolkits-index">
18
23
  <Screen
19
24
  surface="desktop"
20
25
  html={
21
- "<div style='min-height:520px;box-sizing:border-box;padding:48px 36px;display:flex;align-items:center;justify-content:center'><div style='width:min(900px,100%);display:grid;grid-template-columns:1fr;gap:18px'><div class='wf-card' style='padding:22px 24px'><div style='display:flex;align-items:center;justify-content:space-between;gap:16px'><div><strong>App</strong><p class='wf-muted' style='margin:6px 0 0'>Domain routes, actions, local UI adapters, product-specific views</p></div><span class='wf-pill'>@/components/ui/button</span></div></div><div class='wf-card' style='padding:22px 24px;border-color:hsl(var(--primary))'><div style='display:flex;align-items:center;justify-content:space-between;gap:16px'><div><strong>Toolkit</strong><p class='wf-muted' style='margin:6px 0 0'>Reusable primitives, collab UI, sharing UI, app shell hooks</p></div><span class='wf-pill'>ToolkitProvider</span></div><div style='display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px'><span class='wf-pill'>UI</span><span class='wf-pill'>Collab UI</span><span class='wf-pill'>Sharing UI</span><span class='wf-pill'>Shell</span></div></div><div class='wf-card' style='padding:22px 24px'><div style='display:flex;align-items:center;justify-content:space-between;gap:16px'><div><strong>Core</strong><p class='wf-muted' style='margin:6px 0 0'>Actions, SQL, auth, sharing runtime, Yjs transport, app state</p></div><span class='wf-pill'>@agent-native/core</span></div></div></div></div>"
26
+ "<div style='min-height:560px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:230px 1fr;gap:18px'><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Toolkits</strong><div class='wf-pill'>Collaboration</div><div class='wf-pill'>Sharing</div><div class='wf-pill'>Settings</div><div class='wf-pill'>Org and Team</div><div class='wf-pill'>Agent UX</div><div class='wf-pill'>Observability</div></aside><main style='display:flex;flex-direction:column;gap:14px'><div class='wf-card' style='padding:18px'><h2 style='margin:0'>Agentic app building blocks</h2><p class='wf-muted' style='margin:8px 0 0'>Reusable systems for humans and agents working in the same product surface.</p></div><div style='display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px'><div class='wf-card'>Realtime editing<br/><span class='wf-muted'>presence and cursors</span></div><div class='wf-card'>Share controls<br/><span class='wf-muted'>humans and agents</span></div><div class='wf-card'>Settings tabs<br/><span class='wf-muted'>keys and providers</span></div><div class='wf-card'>Team workspace<br/><span class='wf-muted'>roles and invites</span></div><div class='wf-card'>Review layer<br/><span class='wf-muted'>comments and history</span></div><div class='wf-card'>Runs tray<br/><span class='wf-muted'>progress and recovery</span></div></div></main></div>"
22
27
  }
23
28
  />
24
29
  </WireframeBlock>
25
30
 
26
- ## What Ships Today {#what-ships-today}
27
-
28
- - **UI primitives**: shadcn-style components under
29
- `@agent-native/toolkit/ui/*`.
30
- - **App adapters**: template-local wrappers such as
31
- `@/components/ui/button` that re-export Toolkit primitives until an app wants
32
- to customize them.
33
- - **ToolkitProvider**: an override layer that lets reusable Toolkit UI use an
34
- app's local primitives, starting with `Button`.
35
- - **Collaboration UI**: presence avatars, live cursors, remote selection rings,
36
- recent edit highlights, and agent presence chips under
37
- `@agent-native/toolkit/collab-ui`.
38
- - **Sharing UI**: the reusable `VisibilityBadge` under
39
- `@agent-native/toolkit/sharing`.
40
- - **Shell and hooks**: app-shell header actions plus shared hooks such as
41
- `useIsMobile` and `useToast`.
42
-
43
- ## Compatibility {#compatibility}
44
-
45
- Existing imports from `@agent-native/core/client` keep working. Core now exposes
46
- thin re-export shims for Toolkit-owned visual pieces while keeping runtime
47
- behavior in core.
48
-
49
- Those core shims are temporary migration support, not the long-term dependency
50
- direction. The next major can remove them; after that, reusable app-building
51
- packages should import Toolkit directly, and behaviorful Toolkit kits may compose
52
- core runtime APIs as peer/runtime dependencies instead of pushing more UI back
53
- into core.
54
-
55
- Extract future behaviorful kits one at a time before broadening the split.
56
- Sharing is the first candidate to validate that model because it exercises
57
- access checks, action-backed data, and share-link UI together.
58
-
59
- That means this keeps working:
60
-
61
- ```tsx
62
- import { PresenceBar, VisibilityBadge } from "@agent-native/core/client";
31
+ <Diagram id="doc-block-toolkits-boundary" title="How kits fit" summary={"The framework runtime supplies durable guarantees. Toolkits turn those guarantees into reusable product systems. Apps add domain-specific data, routes, and visual identity."}>
32
+
33
+ ```html
34
+ <div class="diagram-row">
35
+ <div class="diagram-card">
36
+ <span class="diagram-pill accent">Runtime</span><br />
37
+ actions, SQL, auth, app state, access checks, realtime transport
38
+ </div>
39
+ <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
40
+ <div class="diagram-card">
41
+ <span class="diagram-pill accent">Toolkits</span><br />
42
+ collaboration, sharing, setup, review, history, observability
43
+ </div>
44
+ <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
45
+ <div class="diagram-card">
46
+ <span class="diagram-pill accent">Apps</span><br />
47
+ domain schema, routes, actions, branding, specialized workflows
48
+ </div>
49
+ </div>
63
50
  ```
64
51
 
65
- New reusable app code should prefer Toolkit or app-local adapters:
66
-
67
- ```tsx
68
- import { PresenceBar } from "@agent-native/toolkit/collab-ui";
69
- import { Button } from "@/components/ui/button";
52
+ ```css
53
+ .diagram-row {
54
+ display: flex;
55
+ gap: 12px;
56
+ align-items: stretch;
57
+ flex-wrap: wrap;
58
+ }
59
+ .diagram-row .diagram-card {
60
+ flex: 1 1 210px;
61
+ padding: 14px;
62
+ }
63
+ .diagram-row .diagram-arrow {
64
+ align-self: center;
65
+ font-size: 22px;
66
+ }
70
67
  ```
71
68
 
72
- ## Boundary {#boundary}
69
+ </Diagram>
73
70
 
74
- Move code into Toolkit when it is reusable app-building UI or a pure UI contract.
75
- Keep code in core when it owns access control, SQL, actions, request context,
76
- Yjs transport, auth, or other runtime guarantees.
71
+ ## The Kits {#the-kits}
77
72
 
78
- Good Toolkit candidates:
73
+ | Kit | Use it for |
74
+ | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
75
+ | [Sharing](/docs/toolkit-sharing) | Ownable resources, share dialogs, visibility badges, share actions, public/private/org access. |
76
+ | [Collaboration](/docs/toolkit-collaboration) | Realtime editing, presence, live cursors, recent-edit highlights, collaborative undo. |
77
+ | [Settings](/docs/toolkit-settings) | Standard settings pages and tabs so app settings and agent/provider settings live in one predictable place. |
78
+ | [Org & Team](/docs/toolkit-org-team) | Team pages, org switching, invites, org domains, roles, and app switching. |
79
+ | [Setup & Connections](/docs/toolkit-setup-connections) | Onboarding, secrets, workspace connections, OAuth/provider readiness, and Builder connect. |
80
+ | [Command & Navigation](/docs/toolkit-command-navigation) | Command menu, deep links, standard app routes, sidebar and shell patterns. |
81
+ | [Resources](/docs/toolkit-resources) | Resource trees, editors, file picker/search, attachments, and local file mode. |
82
+ | [Agent UX](/docs/toolkit-agent-ux) | Composer, model picker, context chips, approvals, run recovery, and the runs tray. |
83
+ | [History](/docs/toolkit-history) | Version history, audit logs, undo/redo, restore, and "what changed" surfaces. |
84
+ | [Comments & Review](/docs/toolkit-comments-review) | Inline comments, annotations, mentions, resolved threads, review status. |
85
+ | [Observability](/docs/toolkit-observability) | Usage, spend, feedback, replay, errors, and run diagnostics. |
79
86
 
80
- - Components that render the same interaction across apps.
81
- - Display-only helpers and structural prop types.
82
- - Base components that receive data and callbacks from an app or core wrapper.
83
- - App-shell hooks and adapters that do not own domain data.
87
+ ## Implementation Boundary {#implementation-boundary}
84
88
 
85
- Keep app-local:
89
+ Kits are product surfaces first. Some pieces are runtime-backed
90
+ (`@agent-native/core`), some are presentation primitives
91
+ (`@agent-native/toolkit`), and apps usually wrap both through local adapters.
92
+ Use the package path that owns the needed behavior, but design the user-facing
93
+ settings, collaboration, sharing, team, review, and setup experiences as one
94
+ coherent kit instead of exposing package boundaries in the app.
86
95
 
87
- - Domain-specific workflows.
88
- - Resource-specific mutations and routes.
89
- - Custom visual systems an app intentionally owns.
96
+ ## Foundation Pieces {#foundation-pieces}
90
97
 
91
- Keep core-owned:
92
-
93
- - Sharing actions and access checks.
94
- - Collaboration storage, awareness transport, and Yjs document sync.
95
- - Auth, sessions, app state, SQL, and server plugins.
96
-
97
- ## Pages {#pages}
98
-
99
- - [UI Primitives](/docs/toolkit-ui)
100
- - [App Adapters](/docs/toolkit-app-adapters)
101
- - [Collaboration UI](/docs/toolkit-collaboration-ui)
102
- - [Sharing UI](/docs/toolkit-sharing-ui)
103
- - [Shell & Hooks](/docs/toolkit-shell-hooks)
98
+ - [UI Primitives](/docs/toolkit-ui) cover shared shadcn-style primitives under
99
+ `@agent-native/toolkit/ui/*`.
100
+ - [App Adapters](/docs/toolkit-app-adapters) show how apps wrap Toolkit pieces
101
+ through local `@/components/*` adapters.
102
+ - [Shell & Hooks](/docs/toolkit-shell-hooks) cover header actions, mobile hooks,
103
+ toasts, and small app-shell helpers.
104
+ - [Component API](/docs/components) remains the lower-level reference for the
105
+ public React exports.
106
+
107
+ ## Design Rule {#design-rule}
108
+
109
+ Use a toolkit when the behavior repeats across apps and users expect it to feel
110
+ standard: sharing, settings, teams, comments, history, and agent progress should
111
+ not be slightly different in every template. Keep domain-specific data,
112
+ workflows, labels, and visual styling in the app.
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: "Agent UX Kit"
3
+ description: "Composer, model picker, context chips, approvals, run recovery, progress, and the runs tray."
4
+ ---
5
+
6
+ # Agent UX Kit
7
+
8
+ The Agent UX Kit packages the surfaces that make an app's agent feel trustworthy
9
+ and inspectable: composer, model picker, context chips, approvals, progress,
10
+ run recovery, and the runs tray.
11
+
12
+ <WireframeBlock id="doc-block-toolkit-agent-ux">
13
+ <Screen
14
+ surface="desktop"
15
+ html={
16
+ "<div style='min-height:560px;box-sizing:border-box;padding:26px;display:grid;grid-template-columns:1fr 320px;gap:16px'><main class='wf-card' style='display:flex;flex-direction:column;gap:12px'><h2 style='margin:0'>Ask the agent</h2><div class='wf-box' style='height:250px'>Conversation and native tool widgets</div><div class='wf-card' style='display:flex;flex-direction:column;gap:10px'><span class='wf-muted'>Ask about the current dashboard...</span><div style='display:flex;gap:8px'><span class='wf-pill'>Context: Q3 Forecast</span><span class='wf-pill'>GPT-5</span><span class='wf-pill'>Approval required</span><button class='primary'>Send</button></div></div></main><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Runs tray</strong><div class='wf-box'>Generating report - running</div><div class='wf-box'>Needs approval</div><div class='wf-box'>Recovered run</div></aside></div>"
17
+ }
18
+ />
19
+ </WireframeBlock>
20
+
21
+ ## Pieces {#pieces}
22
+
23
+ | Piece | Purpose |
24
+ | --------------------------------- | ---------------------------------------------------------------------------------- |
25
+ | `<AgentSidebar>` / `<AgentPanel>` | Complete agent surfaces for sidebars, pages, and dialogs. |
26
+ | `<PromptComposer>` | Standard rich composer with attachments, references, pasted text, and voice hooks. |
27
+ | Model picker | Standard model/provider choice in agent settings or composer chrome. |
28
+ | Context chips | Visible route, resource, file, and selection context sent to the agent. |
29
+ | Human approvals | Confirmation gates for sensitive or irreversible operations. |
30
+ | `<RunsTray>` | User-visible background run progress and recovery. |
31
+ | Run recovery | Hydrates dropped/stale foreground and background runs back into the UI. |
32
+
33
+ ## UX Standard {#ux-standard}
34
+
35
+ - Show what context the agent will use before the user sends.
36
+ - Model and key setup should link to the Settings Kit.
37
+ - Long-running work belongs in the runs tray, not as a frozen composer spinner.
38
+ - Approval prompts should name the action, data, and risk before proceeding.
39
+ - Recovered runs should be visible and explain what happened.
40
+
41
+ Related docs: [Using Your Agent](/docs/using-your-agent),
42
+ [Human Approval](/docs/human-approval), [Progress](/docs/progress),
43
+ [Native Chat UI](/docs/native-chat-ui).
@@ -8,6 +8,15 @@ description: "Use app-local wrappers so Toolkit components are reusable without
8
8
  Every template can expose local UI adapters under `@/components/ui/*` and local
9
9
  hook adapters under `@/hooks/*`. Most adapters are intentionally tiny:
10
10
 
11
+ <WireframeBlock id="doc-block-toolkit-app-adapters">
12
+ <Screen
13
+ surface="desktop"
14
+ html={
15
+ "<div style='min-height:480px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px'><div class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Toolkit primitive</strong><div class='wf-box'>@agent-native/toolkit/ui/button</div><div class='wf-box'>Default behavior and accessibility</div></div><div class='wf-card' style='display:flex;flex-direction:column;gap:10px;border-color:hsl(var(--primary))'><strong>App adapter</strong><div class='wf-box'>@/components/ui/button</div><div class='wf-box'>One stable import path</div></div><div class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>App screens</strong><div class='wf-box'>Settings page</div><div class='wf-box'>Share dialog</div><div class='wf-box'>Command menu</div></div></div>"
16
+ }
17
+ />
18
+ </WireframeBlock>
19
+
11
20
  ```tsx
12
21
  export * from "@agent-native/toolkit/ui/button";
13
22
  ```
@@ -8,6 +8,15 @@ description: "Reusable presence, cursor, selection, and recent-edit UI for colla
8
8
  `@agent-native/toolkit/collab-ui` contains the presentational collaboration
9
9
  pieces that do not own transport or storage:
10
10
 
11
+ <WireframeBlock id="doc-block-toolkit-collaboration-ui">
12
+ <Screen
13
+ surface="desktop"
14
+ html={
15
+ "<div style='min-height:500px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:1fr 290px;gap:16px'><main class='wf-card' style='position:relative;display:flex;flex-direction:column;gap:12px'><div style='display:flex;align-items:center;gap:8px'><h2 style='margin:0'>Editor canvas</h2><div style='flex:1'></div><span class='wf-pill'>Ava</span><span class='wf-pill'>Agent</span></div><div class='wf-box' style='height:92px;border-color:hsl(var(--primary))'>Remote selection ring</div><div class='wf-box' style='height:220px'>Recent edit highlight</div><span class='wf-pill' style='position:absolute;right:38px;top:205px'>Sam cursor</span></main><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Display layer</strong><div class='wf-box'>PresenceBar</div><div class='wf-box'>LiveCursorOverlay</div><div class='wf-box'>RecentEditHighlights</div><div class='wf-box'>AgentPresenceChip</div></aside></div>"
16
+ }
17
+ />
18
+ </WireframeBlock>
19
+
11
20
  ```tsx
12
21
  import {
13
22
  AgentPresenceChip,
@@ -30,6 +39,9 @@ import { PresenceBar } from "@agent-native/toolkit/collab-ui";
30
39
  Existing imports from `@agent-native/core/client` still work because core
31
40
  re-exports these Toolkit components as compatibility shims.
32
41
 
42
+ See the [Collaboration Kit](/docs/toolkit-collaboration) for the full runtime,
43
+ presence, and undo contract.
44
+
33
45
  ## Responsibilities {#responsibilities}
34
46
 
35
47
  Toolkit owns:
@@ -0,0 +1,74 @@
1
+ ---
2
+ title: "Collaboration Kit"
3
+ description: "Realtime editing, presence, live cursors, recent edit highlights, and undo primitives."
4
+ ---
5
+
6
+ # Collaboration Kit
7
+
8
+ The Collaboration Kit gives humans and agents the same live workspace:
9
+ collaborative documents, awareness, presence avatars, live cursors, recent edit
10
+ highlights, and undo that respects both CRDT-backed edits and app-local
11
+ operations.
12
+
13
+ <WireframeBlock id="doc-block-toolkit-collaboration">
14
+ <Screen
15
+ surface="desktop"
16
+ html={
17
+ "<div style='min-height:560px;box-sizing:border-box;padding:26px;display:grid;grid-template-columns:1fr 260px;gap:16px'><main class='wf-card' style='position:relative;display:flex;flex-direction:column;gap:12px'><div style='display:flex;align-items:center;gap:8px'><h2 style='margin:0'>Launch plan</h2><div style='flex:1'></div><span class='wf-pill'>Sam</span><span class='wf-pill'>Agent</span></div><div class='wf-box' style='height:84px'>Paragraph edited by Agent</div><div class='wf-box' style='height:84px;border-color:hsl(var(--primary))'>Live selection highlight</div><div class='wf-box' style='height:210px'>Editor canvas</div><span class='wf-pill' style='position:absolute;right:42px;top:190px'>Maya cursor</span></main><aside class='wf-card' style='display:flex;flex-direction:column;gap:12px'><strong>Collaboration</strong><div class='wf-box'>PresenceBar</div><div class='wf-box'>RecentEditHighlights</div><div class='wf-box'>Undo: 3 grouped edits</div><button>Follow Maya</button><button class='primary'>Restore local op</button></aside></div>"
18
+ }
19
+ />
20
+ </WireframeBlock>
21
+
22
+ ## Pieces {#pieces}
23
+
24
+ | Piece | Purpose |
25
+ | ------------------------ | ----------------------------------------------------------------------------------- |
26
+ | `createCollabPlugin()` | Server plugin that persists and syncs a collaborative resource. |
27
+ | `useCollaborativeDoc()` | Client hook for Yjs document, awareness, sync state, and agent presence. |
28
+ | `usePresence()` | Reads and publishes awareness fields such as cursor, selection, viewport, and mode. |
29
+ | `<PresenceBar>` | Shared avatar and agent-presence strip. |
30
+ | `<LiveCursorOverlay>` | Cursor labels over canvas or editor coordinates. |
31
+ | `<RecentEditHighlights>` | Fading highlights for human or agent edits. |
32
+ | `useCollabUndo()` | Yjs undo manager lifecycle for CRDT-backed surfaces. |
33
+ | `useLocalOpUndo()` | Inverse-operation undo for non-Yjs local operations. |
34
+
35
+ ## Server And Client Shape {#server-and-client-shape}
36
+
37
+ ```ts
38
+ // server/plugins/collab.ts
39
+ import { createCollabPlugin } from "@agent-native/core/server";
40
+
41
+ export default createCollabPlugin({
42
+ resourceType: "document",
43
+ table: "documents",
44
+ contentColumn: "content",
45
+ });
46
+ ```
47
+
48
+ ```tsx
49
+ import {
50
+ useCollaborativeDoc,
51
+ usePresence,
52
+ useCollabUndo,
53
+ } from "@agent-native/core/client/collab";
54
+ import {
55
+ LiveCursorOverlay,
56
+ PresenceBar,
57
+ RecentEditHighlights,
58
+ } from "@agent-native/toolkit/collab-ui";
59
+
60
+ const collab = useCollaborativeDoc({ docId, user });
61
+ const presence = usePresence(collab.awareness, collab.localClientId);
62
+ const undo = useCollabUndo(collab.ydoc, { trackedOrigins: [user.email] });
63
+ ```
64
+
65
+ ## UX Standard {#ux-standard}
66
+
67
+ - Show collaborators in the page header, not buried in a debug panel.
68
+ - Render the agent as a first-class participant when it edits.
69
+ - Highlight recent remote or agent edits long enough for users to orient.
70
+ - Keep undo local and predictable: CRDT undo for document operations, local-op
71
+ undo for app-specific commands.
72
+
73
+ Related docs: [Realtime Collaboration](/docs/real-time-collaboration),
74
+ [Component API](/docs/components#collab-presence).
@@ -0,0 +1,106 @@
1
+ ---
2
+ title: "Command & Navigation Kit"
3
+ description: "Command menu, deep links, standard routes, and app shell navigation patterns."
4
+ ---
5
+
6
+ # Command & Navigation Kit
7
+
8
+ The Command & Navigation Kit makes apps feel consistent under keyboard, sidebar,
9
+ URL, and agent control. It covers the command menu, deep links, standard app
10
+ routes, `navigate` actions, `view-screen`, and shell conventions.
11
+
12
+ <WireframeBlock id="doc-block-toolkit-command-navigation">
13
+ <Screen
14
+ surface="desktop"
15
+ html={
16
+ "<div style='min-height:540px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:230px 1fr;gap:18px'><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>App</strong><div class='wf-pill'>Home</div><div class='wf-pill'>Documents</div><div class='wf-pill'>Team</div><div class='wf-pill'>Settings</div></aside><main class='wf-card' style='display:flex;align-items:center;justify-content:center'><div class='wf-card' style='width:min(520px,100%);display:flex;flex-direction:column;gap:10px'><strong>Command menu</strong><div class='wf-box'>Open Q3 Forecast</div><div class='wf-box'>Share current resource</div><div class='wf-box'>Go to Settings: Connections</div><div class='wf-box'>Ask agent about this page</div></div></main></div>"
17
+ }
18
+ />
19
+ </WireframeBlock>
20
+
21
+ ## Pieces {#pieces}
22
+
23
+ | Piece | Purpose |
24
+ | -------------------------- | --------------------------------------------------------------------------- |
25
+ | `<CommandMenu>` | Reusable command palette with docs, changelog, actions, and agent fallback. |
26
+ | `useCommandMenuShortcut()` | Standard keyboard shortcut wiring. |
27
+ | `buildDeepLink()` | Server helper for action results that open the app focused on a resource. |
28
+ | `createNavigateAction()` | Generic agent-callable navigation action factory. |
29
+ | `createViewScreenAction()` | Generic current-screen action factory. |
30
+ | Route helpers | Standard settings, team, resource, and open-route builders. |
31
+ | App shell patterns | Persistent sidebar/header layout and route conventions. |
32
+
33
+ ## API {#api}
34
+
35
+ Client code imports the command menu and route helpers from the client kit:
36
+
37
+ ```tsx
38
+ import {
39
+ CommandMenu,
40
+ buildResourceRoute,
41
+ buildSettingsRoute,
42
+ useCommandMenuShortcut,
43
+ } from "@agent-native/core/client/command-navigation";
44
+
45
+ const settingsUrl = buildSettingsRoute("connections");
46
+ const documentUrl = buildResourceRoute("documents", documentId);
47
+ ```
48
+
49
+ Action code uses the server-safe kit:
50
+
51
+ ```ts
52
+ import {
53
+ buildDeepLink,
54
+ createNavigateAction,
55
+ createViewScreenAction,
56
+ } from "@agent-native/core/command-navigation";
57
+
58
+ export const navigate = createNavigateAction();
59
+ export const viewScreen = createViewScreenAction({
60
+ extraStateKeys: ["selected-resource"],
61
+ });
62
+
63
+ return {
64
+ link: {
65
+ label: "Open dashboard",
66
+ url: buildDeepLink({
67
+ app: "analytics",
68
+ view: "dashboard",
69
+ params: { dashboardId },
70
+ }),
71
+ },
72
+ };
73
+ ```
74
+
75
+ For `/_agent-native/open`, apps can provide a typed route map instead of
76
+ hand-parsing query strings:
77
+
78
+ ```ts
79
+ import { createStandardOpenPathResolver } from "@agent-native/core/navigation";
80
+
81
+ export const resolveOpenPath = createStandardOpenPathResolver({
82
+ dashboard: ({ dashboardId }) => `/dashboards/${dashboardId}`,
83
+ settings: "/settings",
84
+ });
85
+ ```
86
+
87
+ ## Route Standard {#route-standard}
88
+
89
+ Use a small predictable route set:
90
+
91
+ | Route | Purpose |
92
+ | --------------------------- | -------------------------------------------------------------------------- |
93
+ | `/` | Primary app surface. |
94
+ | `/settings` | Standard settings tabs. |
95
+ | `/team` or `/settings#team` | Team management. |
96
+ | Resource routes | `/documents/:id`, `/dashboards/:id`, or equivalent focused resource pages. |
97
+
98
+ ## UX Standard {#ux-standard}
99
+
100
+ - Command menu entries should map to real app routes or actions.
101
+ - Deep links carry pointers, not secret payloads.
102
+ - The agent reads `view-screen` before acting on the current page.
103
+ - The app shell should not remount when users navigate between app routes.
104
+
105
+ Related docs: [Routing](/docs/routing), [Context Awareness](/docs/context-awareness),
106
+ [External Agents](/docs/external-agents).
@@ -0,0 +1,98 @@
1
+ ---
2
+ title: "Comments & Review Kit"
3
+ description: "Inline comments, annotations, mentions, resolved threads, and review status surfaces."
4
+ ---
5
+
6
+ # Comments & Review Kit
7
+
8
+ The Comments & Review Kit gives collaborative apps a standard review layer:
9
+ inline comments, canvas annotations, mentions, replies, resolved threads, and
10
+ status such as draft, review, approved, or needs changes.
11
+
12
+ <WireframeBlock id="doc-block-toolkit-comments-review">
13
+ <Screen
14
+ surface="desktop"
15
+ html={
16
+ "<div style='min-height:560px;box-sizing:border-box;padding:26px;display:grid;grid-template-columns:1fr 300px;gap:16px'><main class='wf-card' style='display:flex;flex-direction:column;gap:12px'><div style='display:flex;align-items:center;gap:10px'><h2 style='margin:0'>Review draft</h2><span class='wf-pill'>In review</span><div style='flex:1'></div><button class='primary'>Approve</button></div><div class='wf-box' style='height:110px'>Inline comment anchor</div><div class='wf-box' style='height:220px'>Annotated wireframe region</div></main><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Comments</strong><div class='wf-box'>@Maya can we tighten this?</div><div class='wf-box'>Agent replied with fix</div><div class='wf-box'>Resolved: CTA copy</div><button>Add comment</button></aside></div>"
17
+ }
18
+ />
19
+ </WireframeBlock>
20
+
21
+ ## Pieces {#pieces}
22
+
23
+ | Piece | Purpose |
24
+ | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
25
+ | `registerReviewableResource()` | Register a resource type and optional access resolver for review actions. |
26
+ | Comment actions | `list-review-comments`, `create-review-comment`, `reply-review-comment`, `resolve-review-thread`, and `delete-review-comment`. |
27
+ | Feedback actions | `get-review-feedback` and `consume-review-feedback` for agent-readable review queues. |
28
+ | Review status action | `set-review-status` for draft, in review, approved, and changes requested states. |
29
+ | `ReviewThreadPanel` | Drop-in React panel with comment composer, replies, resolve, and delete controls. |
30
+ | `ReviewStatusBadge` | Controlled status badge for app headers, sidebars, and review panels. |
31
+ | Review hooks | `useReviewComments()`, `useCreateReviewComment()`, `useReplyReviewComment()`, `useResolveReviewThread()`, `useDeleteReviewComment()`, and `useSetReviewStatus()`. |
32
+ | Mentions helpers | `extractReviewMentions()` and `normalizeReviewMentions()` for `@[Label](mailto:email@example.com)` tokens. |
33
+
34
+ ## Shared Model {#shared-model}
35
+
36
+ Comments are resource-scoped, access-scoped, and agent-readable. The UI and
37
+ agent use the same actions to create, resolve, and list threads. Apps can
38
+ specialize anchor shapes, but the common model preserves:
39
+
40
+ - `resourceType` and `resourceId`
41
+ - `author`, `body`, `status`, and timestamps
42
+ - `parentCommentId` for replies
43
+ - optional `mentions`
44
+ - optional `anchor` or `resolutionTarget`
45
+
46
+ ## Register A Resource {#register-resource}
47
+
48
+ ```ts
49
+ import { registerReviewableResource } from "@agent-native/core/comments-review";
50
+
51
+ registerReviewableResource({
52
+ type: "document",
53
+ async resolveAccess(resourceId, ctx) {
54
+ return {
55
+ role: "owner",
56
+ ownerEmail: ctx?.userEmail,
57
+ orgId: ctx?.orgId,
58
+ visibility: "private",
59
+ };
60
+ },
61
+ });
62
+ ```
63
+
64
+ If the resource is already registered with the Sharing Kit, the review actions
65
+ reuse that access model. Add a review registration when the app needs a custom
66
+ access resolver or wants to make the resource type explicit in setup code.
67
+
68
+ ## UI Usage {#ui-usage}
69
+
70
+ ```tsx
71
+ import { ReviewThreadPanel } from "@agent-native/core/client/comments-review";
72
+
73
+ export function DocumentReview({ documentId }: { documentId: string }) {
74
+ return (
75
+ <ReviewThreadPanel
76
+ resourceType="document"
77
+ resourceId={documentId}
78
+ targetId="intro-section"
79
+ />
80
+ );
81
+ }
82
+ ```
83
+
84
+ The `anchor` field is intentionally `unknown`: editors, canvases, diagrams, and
85
+ documents can store the shape they need while still using the shared review
86
+ actions and thread UI.
87
+
88
+ ## UX Standard {#ux-standard}
89
+
90
+ - Comments live next to the thing being reviewed, not only in chat.
91
+ - Mentions resolve against team membership.
92
+ - Resolved threads remain visible in history.
93
+ - Agents can read open review feedback before changing code or content.
94
+ - `consumedAt` and `resolved` are separate. An agent can consume a piece of
95
+ feedback without closing the reviewer-visible thread.
96
+
97
+ Related docs: [Plan](/docs/template-plan), [Content](/docs/template-content),
98
+ [Sharing Kit](/docs/toolkit-sharing), [History Kit](/docs/toolkit-history).