@agent-native/core 0.90.10 → 0.91.0

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 (360) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +30 -0
  3. package/corpus/core/docs/content/toolkit-settings.mdx +56 -3
  4. package/corpus/core/package.json +2 -1
  5. package/corpus/core/src/agent/durable-background.ts +5 -5
  6. package/corpus/core/src/agent/engine/ai-sdk-engine.ts +40 -8
  7. package/corpus/core/src/agent/engine/anthropic-engine.ts +25 -7
  8. package/corpus/core/src/agent/engine/output-tokens.ts +94 -0
  9. package/corpus/core/src/agent/production-agent.ts +34 -6
  10. package/corpus/core/src/agent/run-ownership.ts +29 -1
  11. package/corpus/core/src/agent/types.ts +3 -2
  12. package/corpus/core/src/changelog/parse.ts +78 -0
  13. package/corpus/core/src/chat-threads/schema.ts +43 -0
  14. package/corpus/core/src/chat-threads/store.ts +144 -12
  15. package/corpus/core/src/cli/workspace-dev.ts +25 -5
  16. package/corpus/core/src/client/AgentPanel.tsx +79 -14
  17. package/corpus/core/src/client/AssistantChat.tsx +359 -425
  18. package/corpus/core/src/client/analytics-session.ts +70 -0
  19. package/corpus/core/src/client/analytics.ts +175 -49
  20. package/corpus/core/src/client/chat/message-components.tsx +22 -2
  21. package/corpus/core/src/client/components/ui/message-scroller.tsx +131 -0
  22. package/corpus/core/src/client/conversation/AgentConversation.tsx +63 -41
  23. package/corpus/core/src/client/error-capture.ts +616 -0
  24. package/corpus/core/src/client/index.ts +12 -0
  25. package/corpus/core/src/client/session-replay.ts +57 -7
  26. package/corpus/core/src/client/settings/SettingsPanel.tsx +123 -1
  27. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +292 -45
  28. package/corpus/core/src/client/settings/index.ts +1 -0
  29. package/corpus/core/src/client/sharing/ShareButton.tsx +14 -11
  30. package/corpus/core/src/client/sharing/ShareDialog.tsx +13 -10
  31. package/corpus/core/src/db/client.ts +12 -9
  32. package/corpus/core/src/mcp/builtin-tools.ts +29 -2
  33. package/corpus/core/src/server/agent-chat-plugin.ts +174 -79
  34. package/corpus/core/src/server/onboarding-html.ts +28 -16
  35. package/corpus/core/src/shared/reasoning-effort.ts +23 -0
  36. package/corpus/core/src/sharing/actions/list-resource-shares.ts +45 -1
  37. package/corpus/core/src/sharing/actions/share-resource.ts +9 -0
  38. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +4 -2
  39. package/corpus/core/src/templates/workspace-core/.agents/skills/changelog/SKILL.md +9 -6
  40. package/corpus/core/src/vite/client.ts +217 -35
  41. package/corpus/templates/analytics/.agents/skills/adhoc-analysis/SKILL.md +8 -7
  42. package/corpus/templates/analytics/.agents/skills/analysis-workspace/SKILL.md +14 -10
  43. package/corpus/templates/analytics/.agents/skills/bigquery/SKILL.md +15 -15
  44. package/corpus/templates/analytics/.agents/skills/cross-source-analysis/SKILL.md +1 -0
  45. package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +38 -22
  46. package/corpus/templates/analytics/.agents/skills/data-programs/SKILL.md +114 -61
  47. package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +1 -0
  48. package/corpus/templates/analytics/.agents/skills/gong/SKILL.md +7 -7
  49. package/corpus/templates/analytics/.agents/skills/hubspot/SKILL.md +1 -0
  50. package/corpus/templates/analytics/.agents/skills/prometheus/SKILL.md +1 -1
  51. package/corpus/templates/analytics/.builder/skills/bigquery/SKILL.md +17 -17
  52. package/corpus/templates/analytics/.builder/skills/gcloud/SKILL.md +5 -5
  53. package/corpus/templates/analytics/.builder/skills/github/SKILL.md +7 -7
  54. package/corpus/templates/analytics/.builder/skills/gong/SKILL.md +12 -12
  55. package/corpus/templates/analytics/.builder/skills/grafana/SKILL.md +7 -7
  56. package/corpus/templates/analytics/.builder/skills/sentry/SKILL.md +7 -7
  57. package/corpus/templates/analytics/.builder/skills/slack/SKILL.md +6 -6
  58. package/corpus/templates/analytics/.builder/skills/stripe/SKILL.md +7 -7
  59. package/corpus/templates/analytics/AGENTS.md +47 -2
  60. package/corpus/templates/analytics/actions/add-status-page-monitor.ts +36 -0
  61. package/corpus/templates/analytics/actions/capture-test-error.ts +33 -0
  62. package/corpus/templates/analytics/actions/delete-monitor.ts +24 -0
  63. package/corpus/templates/analytics/actions/delete-status-page.ts +23 -0
  64. package/corpus/templates/analytics/actions/get-error-issue.ts +36 -0
  65. package/corpus/templates/analytics/actions/get-monitor-stats.ts +55 -0
  66. package/corpus/templates/analytics/actions/get-monitor.ts +27 -0
  67. package/corpus/templates/analytics/actions/get-public-status-page.ts +41 -0
  68. package/corpus/templates/analytics/actions/get-status-page.ts +29 -0
  69. package/corpus/templates/analytics/actions/list-error-issues.ts +40 -0
  70. package/corpus/templates/analytics/actions/list-monitors.ts +21 -0
  71. package/corpus/templates/analytics/actions/list-status-pages.ts +21 -0
  72. package/corpus/templates/analytics/actions/match-error-issues.ts +51 -0
  73. package/corpus/templates/analytics/actions/navigate.ts +58 -4
  74. package/corpus/templates/analytics/actions/remove-status-page-monitor.ts +22 -0
  75. package/corpus/templates/analytics/actions/reorder-status-page-monitors.ts +25 -0
  76. package/corpus/templates/analytics/actions/resolve-error-issue.ts +38 -0
  77. package/corpus/templates/analytics/actions/run-monitor-check.ts +23 -0
  78. package/corpus/templates/analytics/actions/save-analysis.ts +1 -0
  79. package/corpus/templates/analytics/actions/save-monitor.ts +145 -0
  80. package/corpus/templates/analytics/actions/save-status-page.ts +47 -0
  81. package/corpus/templates/analytics/actions/view-screen.ts +212 -0
  82. package/corpus/templates/analytics/app/components/layout/Header.tsx +1 -0
  83. package/corpus/templates/analytics/app/components/layout/Layout.tsx +10 -1
  84. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +134 -39
  85. package/corpus/templates/analytics/app/components/monitoring/PublicStatusView.tsx +351 -0
  86. package/corpus/templates/analytics/app/components/monitoring/ResponseTimeChart.tsx +174 -0
  87. package/corpus/templates/analytics/app/components/monitoring/UptimeStatCards.tsx +85 -0
  88. package/corpus/templates/analytics/app/components/monitoring/UptimeTimelineBars.tsx +106 -0
  89. package/corpus/templates/analytics/app/components/monitoring/chart-utils.ts +101 -0
  90. package/corpus/templates/analytics/app/components/monitoring/index.ts +28 -0
  91. package/corpus/templates/analytics/app/components/monitoring/types.ts +42 -0
  92. package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +34 -0
  93. package/corpus/templates/analytics/app/i18n/zh-TW.ts +6 -0
  94. package/corpus/templates/analytics/app/i18n-data.ts +33 -0
  95. package/corpus/templates/analytics/app/pages/DataSources.tsx +28 -0
  96. package/corpus/templates/analytics/app/pages/Settings.tsx +77 -9
  97. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +3 -3
  98. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/dashboard-layout.ts +7 -0
  99. package/corpus/templates/analytics/app/pages/monitoring/ErrorsPanel.tsx +205 -0
  100. package/corpus/templates/analytics/app/pages/monitoring/MonitoringPage.tsx +100 -0
  101. package/corpus/templates/analytics/app/pages/monitoring/UptimePanel.tsx +475 -0
  102. package/corpus/templates/analytics/app/pages/monitoring/errors/IssueDetail.tsx +372 -0
  103. package/corpus/templates/analytics/app/pages/monitoring/errors/IssueList.tsx +360 -0
  104. package/corpus/templates/analytics/app/pages/monitoring/errors/Sparkline.tsx +55 -0
  105. package/corpus/templates/analytics/app/pages/monitoring/errors/i18n.ts +106 -0
  106. package/corpus/templates/analytics/app/pages/monitoring/errors/types.ts +75 -0
  107. package/corpus/templates/analytics/app/pages/monitoring/errors/utils.ts +132 -0
  108. package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorDetail.tsx +535 -0
  109. package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorFormPage.tsx +1026 -0
  110. package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorList.tsx +311 -0
  111. package/corpus/templates/analytics/app/pages/monitoring/uptime/i18n.ts +235 -0
  112. package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/StatusPageEditor.tsx +661 -0
  113. package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/StatusPagesView.tsx +355 -0
  114. package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/i18n.ts +106 -0
  115. package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/slug.ts +24 -0
  116. package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/types.ts +20 -0
  117. package/corpus/templates/analytics/app/pages/monitoring/uptime/status-summary.ts +87 -0
  118. package/corpus/templates/analytics/app/pages/monitoring/uptime/types.ts +161 -0
  119. package/corpus/templates/analytics/app/pages/monitoring/uptime/utils.ts +210 -0
  120. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +76 -1
  121. package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +74 -9
  122. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +197 -20
  123. package/corpus/templates/analytics/app/root.tsx +33 -1
  124. package/corpus/templates/analytics/app/routes/monitoring._index.tsx +10 -0
  125. package/corpus/templates/analytics/app/routes/status.$slug.tsx +118 -0
  126. package/corpus/templates/analytics/changelog/2026-07-08-add-uptime-monitors-that-ping-your-urls-and-alert-you-when-t.md +6 -0
  127. package/corpus/templates/analytics/changelog/2026-07-08-analytics-chats-keep-large-data-dictionaries-compact-so-prov.md +6 -0
  128. package/corpus/templates/analytics/changelog/2026-07-08-create-public-status-pages-that-share-the-live-health-of-cho.md +6 -0
  129. package/corpus/templates/analytics/changelog/2026-07-08-dashboard-extension-panels-use-clearer-open-copy.md +6 -0
  130. package/corpus/templates/analytics/changelog/2026-07-08-error-capture.md +6 -0
  131. package/corpus/templates/analytics/changelog/2026-07-08-fixed-single-panel-dashboard-drags-so-they-no-longer-rewrite.md +6 -0
  132. package/corpus/templates/analytics/changelog/2026-07-08-jump-straight-from-an-error-in-a-session-recording-to-its-fu.md +6 -0
  133. package/corpus/templates/analytics/changelog/2026-07-08-monitor-detail-and-list-now-show-colorful-uptime-timelines-r.md +6 -0
  134. package/corpus/templates/analytics/changelog/2026-07-08-pinned-ask-chats-now-show-a-pin-icon-in-the-sidebar.md +6 -0
  135. package/corpus/templates/analytics/changelog/2026-07-08-publish-a-public-uptime-status-page-with-colorful-uptime-tim.md +6 -0
  136. package/corpus/templates/analytics/changelog/2026-07-08-sessions-now-hide-visitor-emails-in-demo-mode-and-show-clean.md +6 -0
  137. package/corpus/templates/analytics/changelog/2026-07-08-settings-are-cleaner-searchable-and-alerts-have-their-own-tab.md +5 -0
  138. package/corpus/templates/analytics/changelog/2026-07-08-sidebar-sections-stay-collapsed-until-opened.md +5 -0
  139. package/corpus/templates/analytics/changelog/2026-07-08-the-uptime-monitor-list-now-has-a-current-status-overview-wi.md +6 -0
  140. package/corpus/templates/analytics/docs/error-capture.md +172 -0
  141. package/corpus/templates/analytics/docs/uptime-monitoring.md +150 -0
  142. package/corpus/templates/analytics/server/db/schema-errors.ts +150 -0
  143. package/corpus/templates/analytics/server/db/schema-monitoring.ts +177 -0
  144. package/corpus/templates/analytics/server/db/schema.ts +6 -0
  145. package/corpus/templates/analytics/server/jobs/uptime-monitors.ts +123 -0
  146. package/corpus/templates/analytics/server/lib/agent-chat-plan-mode.ts +41 -0
  147. package/corpus/templates/analytics/server/lib/data-dictionary-context.ts +55 -12
  148. package/corpus/templates/analytics/server/lib/error-capture.ts +1331 -0
  149. package/corpus/templates/analytics/server/lib/first-party-analytics.ts +47 -1
  150. package/corpus/templates/analytics/server/lib/monitor-stats.ts +494 -0
  151. package/corpus/templates/analytics/server/lib/status-pages.ts +798 -0
  152. package/corpus/templates/analytics/server/lib/uptime-monitors.ts +1665 -0
  153. package/corpus/templates/analytics/server/plugins/agent-chat.ts +7 -37
  154. package/corpus/templates/analytics/server/plugins/auth.ts +11 -1
  155. package/corpus/templates/analytics/server/plugins/db.ts +408 -0
  156. package/corpus/templates/analytics/server/plugins/uptime-monitor-jobs.ts +63 -0
  157. package/corpus/templates/assets/app/routes/_index.tsx +1 -1
  158. package/corpus/templates/assets/app/routes/settings.tsx +22 -1
  159. package/corpus/templates/assets/changelog/2026-07-08-recent-drafts-keep-comfortable-side-padding.md +6 -0
  160. package/corpus/templates/assets/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  161. package/corpus/templates/brain/app/routes/settings.tsx +43 -5
  162. package/corpus/templates/brain/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  163. package/corpus/templates/calendar/app/pages/Settings.tsx +44 -6
  164. package/corpus/templates/calendar/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  165. package/corpus/templates/chat/app/routes/settings.tsx +16 -1
  166. package/corpus/templates/chat/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  167. package/corpus/templates/clips/actions/lib/audio-only-transcription.ts +79 -37
  168. package/corpus/templates/clips/actions/regenerate-chapters.ts +7 -0
  169. package/corpus/templates/clips/app/components/player/player-controls.tsx +35 -0
  170. package/corpus/templates/clips/app/components/player/video-player.tsx +162 -18
  171. package/corpus/templates/clips/app/hooks/use-auto-title.ts +15 -5
  172. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +63 -6
  173. package/corpus/templates/clips/app/routes/download.tsx +12 -4
  174. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +1 -0
  175. package/corpus/templates/clips/app/routes/record.tsx +18 -1
  176. package/corpus/templates/clips/changelog/2026-07-07-auto-generated-chapter-requests-now-open-the-matching-agent-.md +6 -0
  177. package/corpus/templates/clips/changelog/2026-07-07-shared-clips-start-playback-reliably-from-the-first-play-click.md +6 -0
  178. package/corpus/templates/clips/changelog/2026-07-07-the-clips-desktop-download-page-now-uses-the-agent-native-ap.md +6 -0
  179. package/corpus/templates/clips/changelog/2026-07-08-chrome-extension-camera-and-microphone-menus-now-show-which-.md +6 -0
  180. package/corpus/templates/clips/changelog/2026-07-08-chrome-extension-copies-new-clip-links-after-saving.md +6 -0
  181. package/corpus/templates/clips/changelog/2026-07-08-chrome-extension-recordings-now-continue-after-granting-came.md +6 -0
  182. package/corpus/templates/clips/changelog/2026-07-08-mobile-shared-clips-now-have-loom-style-tap-and-skip-controls.md +6 -0
  183. package/corpus/templates/clips/changelog/2026-07-08-recordings-and-uploads-copy-links-after-saving.md +6 -0
  184. package/corpus/templates/clips/changelog/2026-07-08-settings-are-cleaner-searchable-and-collapse-s3-with-builder.md +5 -0
  185. package/corpus/templates/clips/changelog/2026-07-08-transcripts-are-more-reliable-for-longer-desktop-recordings-.md +6 -0
  186. package/corpus/templates/clips/chrome-extension/public/manifest.json +1 -0
  187. package/corpus/templates/clips/chrome-extension/src/background.ts +162 -13
  188. package/corpus/templates/clips/chrome-extension/src/content-script.ts +14 -0
  189. package/corpus/templates/clips/chrome-extension/src/offscreen.ts +36 -0
  190. package/corpus/templates/clips/chrome-extension/src/overlay.ts +99 -25
  191. package/corpus/templates/clips/chrome-extension/src/permission.ts +63 -14
  192. package/corpus/templates/clips/chrome-extension/src/popup.ts +123 -23
  193. package/corpus/templates/content/actions/_builder-cms-read-client.ts +47 -0
  194. package/corpus/templates/content/actions/_database-source-utils.ts +33 -4
  195. package/corpus/templates/content/actions/add-content-database-source-field-property.ts +214 -29
  196. package/corpus/templates/content/actions/attach-content-database-source.ts +3 -0
  197. package/corpus/templates/content/actions/change-content-database-source-role.ts +1 -0
  198. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +42 -32
  199. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +352 -81
  200. package/corpus/templates/content/app/components/editor/database/settings.tsx +49 -24
  201. package/corpus/templates/content/app/routes/_app.settings.tsx +19 -1
  202. package/corpus/templates/content/changelog/2026-07-07-builder-source-tag-fields-now-import-as-multi-select.md +6 -0
  203. package/corpus/templates/content/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  204. package/corpus/templates/content/shared/api.ts +3 -0
  205. package/corpus/templates/content/shared/properties.ts +42 -0
  206. package/corpus/templates/design/actions/generate-design.ts +3 -0
  207. package/corpus/templates/design/actions/get-design-system.ts +147 -1
  208. package/corpus/templates/design/app/routes/settings.tsx +16 -1
  209. package/corpus/templates/design/changelog/2026-07-08-design-generation-now-follows-hydrated-builder-design-system.md +6 -0
  210. package/corpus/templates/design/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  211. package/corpus/templates/dispatch/app/routes/settings.tsx +23 -2
  212. package/corpus/templates/dispatch/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  213. package/corpus/templates/forms/app/routes/_app.settings.tsx +16 -1
  214. package/corpus/templates/forms/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  215. package/corpus/templates/macros/app/routes/settings.tsx +16 -1
  216. package/corpus/templates/macros/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  217. package/corpus/templates/mail/app/components/settings/GmailFiltersSection.tsx +1 -1
  218. package/corpus/templates/mail/app/components/settings/SnippetsSection.tsx +1 -1
  219. package/corpus/templates/mail/app/pages/SettingsPage.tsx +123 -105
  220. package/corpus/templates/mail/changelog/2026-07-08-settings-redesigned-with-a-consistent-searchable-layout.md +5 -0
  221. package/corpus/templates/plan/app/routes/settings.tsx +23 -2
  222. package/corpus/templates/plan/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  223. package/corpus/templates/slides/actions/add-slide.ts +1 -0
  224. package/corpus/templates/slides/actions/get-design-system.ts +147 -1
  225. package/corpus/templates/slides/app/pages/Index.tsx +46 -1
  226. package/corpus/templates/slides/app/routes/settings.tsx +16 -1
  227. package/corpus/templates/slides/changelog/2026-07-08-deck-generation-now-follows-hydrated-builder-design-system-g.md +6 -0
  228. package/corpus/templates/slides/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  229. package/dist/agent/durable-background.d.ts +1 -1
  230. package/dist/agent/durable-background.d.ts.map +1 -1
  231. package/dist/agent/durable-background.js +5 -3
  232. package/dist/agent/durable-background.js.map +1 -1
  233. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  234. package/dist/agent/engine/ai-sdk-engine.js +24 -4
  235. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  236. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  237. package/dist/agent/engine/anthropic-engine.js +13 -3
  238. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  239. package/dist/agent/engine/output-tokens.d.ts +27 -0
  240. package/dist/agent/engine/output-tokens.d.ts.map +1 -1
  241. package/dist/agent/engine/output-tokens.js +70 -0
  242. package/dist/agent/engine/output-tokens.js.map +1 -1
  243. package/dist/agent/production-agent.d.ts.map +1 -1
  244. package/dist/agent/production-agent.js +28 -7
  245. package/dist/agent/production-agent.js.map +1 -1
  246. package/dist/agent/run-ownership.d.ts +6 -0
  247. package/dist/agent/run-ownership.d.ts.map +1 -1
  248. package/dist/agent/run-ownership.js +11 -1
  249. package/dist/agent/run-ownership.js.map +1 -1
  250. package/dist/agent/types.d.ts +3 -2
  251. package/dist/agent/types.d.ts.map +1 -1
  252. package/dist/agent/types.js.map +1 -1
  253. package/dist/changelog/parse.d.ts +7 -0
  254. package/dist/changelog/parse.d.ts.map +1 -1
  255. package/dist/changelog/parse.js +64 -0
  256. package/dist/changelog/parse.js.map +1 -1
  257. package/dist/chat-threads/schema.d.ts +445 -0
  258. package/dist/chat-threads/schema.d.ts.map +1 -0
  259. package/dist/chat-threads/schema.js +39 -0
  260. package/dist/chat-threads/schema.js.map +1 -0
  261. package/dist/chat-threads/store.d.ts +12 -0
  262. package/dist/chat-threads/store.d.ts.map +1 -1
  263. package/dist/chat-threads/store.js +99 -10
  264. package/dist/chat-threads/store.js.map +1 -1
  265. package/dist/cli/workspace-dev.d.ts.map +1 -1
  266. package/dist/cli/workspace-dev.js +20 -5
  267. package/dist/cli/workspace-dev.js.map +1 -1
  268. package/dist/client/AgentPanel.d.ts.map +1 -1
  269. package/dist/client/AgentPanel.js +35 -7
  270. package/dist/client/AgentPanel.js.map +1 -1
  271. package/dist/client/AssistantChat.d.ts.map +1 -1
  272. package/dist/client/AssistantChat.js +105 -183
  273. package/dist/client/AssistantChat.js.map +1 -1
  274. package/dist/client/analytics-session.d.ts +3 -0
  275. package/dist/client/analytics-session.d.ts.map +1 -0
  276. package/dist/client/analytics-session.js +66 -0
  277. package/dist/client/analytics-session.js.map +1 -0
  278. package/dist/client/analytics.d.ts +32 -0
  279. package/dist/client/analytics.d.ts.map +1 -1
  280. package/dist/client/analytics.js +116 -46
  281. package/dist/client/analytics.js.map +1 -1
  282. package/dist/client/chat/message-components.d.ts +2 -1
  283. package/dist/client/chat/message-components.d.ts.map +1 -1
  284. package/dist/client/chat/message-components.js +16 -6
  285. package/dist/client/chat/message-components.js.map +1 -1
  286. package/dist/client/components/ui/message-scroller.d.ts +16 -0
  287. package/dist/client/components/ui/message-scroller.d.ts.map +1 -0
  288. package/dist/client/components/ui/message-scroller.js +25 -0
  289. package/dist/client/components/ui/message-scroller.js.map +1 -0
  290. package/dist/client/conversation/AgentConversation.d.ts +1 -1
  291. package/dist/client/conversation/AgentConversation.d.ts.map +1 -1
  292. package/dist/client/conversation/AgentConversation.js +3 -8
  293. package/dist/client/conversation/AgentConversation.js.map +1 -1
  294. package/dist/client/error-capture.d.ts +99 -0
  295. package/dist/client/error-capture.d.ts.map +1 -0
  296. package/dist/client/error-capture.js +437 -0
  297. package/dist/client/error-capture.js.map +1 -0
  298. package/dist/client/index.d.ts +2 -2
  299. package/dist/client/index.d.ts.map +1 -1
  300. package/dist/client/index.js +3 -1
  301. package/dist/client/index.js.map +1 -1
  302. package/dist/client/session-replay.d.ts +22 -0
  303. package/dist/client/session-replay.d.ts.map +1 -1
  304. package/dist/client/session-replay.js +45 -4
  305. package/dist/client/session-replay.js.map +1 -1
  306. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  307. package/dist/client/settings/SettingsPanel.js +100 -5
  308. package/dist/client/settings/SettingsPanel.js.map +1 -1
  309. package/dist/client/settings/SettingsTabsPage.d.ts +49 -1
  310. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  311. package/dist/client/settings/SettingsTabsPage.js +131 -19
  312. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  313. package/dist/client/settings/index.d.ts +1 -1
  314. package/dist/client/settings/index.d.ts.map +1 -1
  315. package/dist/client/settings/index.js.map +1 -1
  316. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  317. package/dist/client/sharing/ShareButton.js +13 -8
  318. package/dist/client/sharing/ShareButton.js.map +1 -1
  319. package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
  320. package/dist/client/sharing/ShareDialog.js +12 -7
  321. package/dist/client/sharing/ShareDialog.js.map +1 -1
  322. package/dist/collab/routes.d.ts +1 -1
  323. package/dist/collab/struct-routes.d.ts +1 -1
  324. package/dist/db/client.d.ts.map +1 -1
  325. package/dist/db/client.js +12 -7
  326. package/dist/db/client.js.map +1 -1
  327. package/dist/mcp/builtin-tools.d.ts.map +1 -1
  328. package/dist/mcp/builtin-tools.js +21 -2
  329. package/dist/mcp/builtin-tools.js.map +1 -1
  330. package/dist/notifications/routes.d.ts +1 -1
  331. package/dist/observability/routes.d.ts +5 -5
  332. package/dist/org/schema.d.ts +15 -15
  333. package/dist/progress/routes.d.ts +1 -1
  334. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  335. package/dist/resources/handlers.d.ts +3 -3
  336. package/dist/secrets/routes.d.ts +9 -9
  337. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  338. package/dist/server/agent-chat-plugin.js +109 -73
  339. package/dist/server/agent-chat-plugin.js.map +1 -1
  340. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  341. package/dist/server/onboarding-html.d.ts.map +1 -1
  342. package/dist/server/onboarding-html.js +28 -16
  343. package/dist/server/onboarding-html.js.map +1 -1
  344. package/dist/shared/reasoning-effort.d.ts +1 -0
  345. package/dist/shared/reasoning-effort.d.ts.map +1 -1
  346. package/dist/shared/reasoning-effort.js +18 -0
  347. package/dist/shared/reasoning-effort.js.map +1 -1
  348. package/dist/sharing/actions/list-resource-shares.js +30 -1
  349. package/dist/sharing/actions/list-resource-shares.js.map +1 -1
  350. package/dist/sharing/actions/share-resource.js +6 -0
  351. package/dist/sharing/actions/share-resource.js.map +1 -1
  352. package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +4 -2
  353. package/dist/templates/workspace-core/.agents/skills/changelog/SKILL.md +9 -6
  354. package/dist/vite/client.d.ts.map +1 -1
  355. package/dist/vite/client.js +192 -30
  356. package/dist/vite/client.js.map +1 -1
  357. package/docs/content/toolkit-settings.mdx +56 -3
  358. package/package.json +2 -1
  359. package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +4 -2
  360. package/src/templates/workspace-core/.agents/skills/changelog/SKILL.md +9 -6
@@ -3,6 +3,7 @@ import fs from "fs";
3
3
  import { createRequire, syncBuiltinESMExports } from "module";
4
4
  import path from "path";
5
5
  import { fileURLToPath } from "url";
6
+ import { mergePendingChangelog, parsePendingEntry, } from "../changelog/parse.js";
6
7
  import { getViteDevRecoveryScript } from "../client/vite-dev-recovery-script.js";
7
8
  import { findWorkspaceRoot } from "../scripts/utils.js";
8
9
  import { verifyEmbedSessionToken } from "../server/embed-session.js";
@@ -255,9 +256,7 @@ function findWorkspaceCoreSync(startDir) {
255
256
  }
256
257
  return null;
257
258
  }
258
- function findLocalWorkspacePackageDeps(startDir, workspaceRoot) {
259
- if (!workspaceRoot)
260
- return [];
259
+ function findLocalWorkspacePackageDeps(startDir, _workspaceRoot) {
261
260
  const pkgPath = path.join(startDir, "package.json");
262
261
  if (!fs.existsSync(pkgPath))
263
262
  return [];
@@ -268,22 +267,25 @@ function findLocalWorkspacePackageDeps(startDir, workspaceRoot) {
268
267
  ...(pkg.devDependencies ?? {}),
269
268
  ...(pkg.peerDependencies ?? {}),
270
269
  };
271
- const req = createRequire(pkgPath);
272
270
  const seen = new Set();
273
271
  const packages = [];
274
272
  for (const [packageName, range] of Object.entries(deps)) {
275
- if (!range.startsWith("workspace:"))
276
- continue;
277
273
  if (seen.has(packageName))
278
274
  continue;
279
275
  seen.add(packageName);
280
276
  try {
281
- const packageJsonPath = findInstalledPackageJsonPath(pkgPath, packageName) ??
282
- findPackageJsonFromEntry(req.resolve(packageName));
277
+ let packageJsonPath = null;
278
+ if (range.startsWith("file:")) {
279
+ packageJsonPath = findFilePackageJsonPath(pkgPath, range);
280
+ }
281
+ else {
282
+ continue;
283
+ }
283
284
  if (!packageJsonPath)
284
285
  continue;
285
286
  const packageDir = fs.realpathSync(path.dirname(packageJsonPath));
286
- if (!packageDir.startsWith(path.join(workspaceRoot, "packages")))
287
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
288
+ if (packageJson?.name !== packageName)
287
289
  continue;
288
290
  packages.push({ packageName, packageDir });
289
291
  }
@@ -297,24 +299,13 @@ function findLocalWorkspacePackageDeps(startDir, workspaceRoot) {
297
299
  return [];
298
300
  }
299
301
  }
300
- function findInstalledPackageJsonPath(pkgPath, packageName) {
301
- const candidate = path.join(path.dirname(pkgPath), "node_modules", ...packageName.split("/"), "package.json");
302
- return fs.existsSync(candidate) ? candidate : null;
303
- }
304
- function findPackageJsonFromEntry(entryPath) {
305
- let dir = fs.statSync(entryPath).isDirectory()
306
- ? entryPath
307
- : path.dirname(entryPath);
308
- for (let i = 0; i < 20; i++) {
309
- const candidate = path.join(dir, "package.json");
310
- if (fs.existsSync(candidate))
311
- return candidate;
312
- const parent = path.dirname(dir);
313
- if (parent === dir)
314
- break;
315
- dir = parent;
316
- }
317
- return null;
302
+ function findFilePackageJsonPath(pkgPath, range) {
303
+ const spec = range.slice("file:".length);
304
+ const packageDir = spec.startsWith("//")
305
+ ? fileURLToPath(range)
306
+ : path.resolve(path.dirname(pkgPath), spec);
307
+ const packageJsonPath = path.join(packageDir, "package.json");
308
+ return fs.existsSync(packageJsonPath) ? packageJsonPath : null;
318
309
  }
319
310
  function findPnpmWorkspaceRoot(startDir) {
320
311
  let dir = path.resolve(startDir);
@@ -524,6 +515,17 @@ const CORE_CLIENT_SUBPATHS = [
524
515
  "@agent-native/core/client/transcription/use-live-transcription",
525
516
  "@agent-native/core/voice",
526
517
  ];
518
+ const TOOLKIT_CLIENT_SUBPATHS = [
519
+ "@agent-native/toolkit",
520
+ "@agent-native/toolkit/app-shell",
521
+ "@agent-native/toolkit/collab-ui",
522
+ "@agent-native/toolkit/hooks",
523
+ "@agent-native/toolkit/onboarding",
524
+ "@agent-native/toolkit/provider",
525
+ "@agent-native/toolkit/sharing",
526
+ "@agent-native/toolkit/ui",
527
+ "@agent-native/toolkit/utils",
528
+ ];
527
529
  const NODE_SSR_NATIVE_EXTERNALS = ["better-sqlite3", "bindings"];
528
530
  function getDefaultOptimizeDeps(cwd) {
529
531
  const inMonorepo = findCoreSrcDir(cwd) !== null;
@@ -581,6 +583,10 @@ function getDefaultOptimizeDeps(cwd) {
581
583
  specifier: "@agent-native/core/client/tools",
582
584
  packageName: "@agent-native/core",
583
585
  },
586
+ ...TOOLKIT_CLIENT_SUBPATHS.map((specifier) => ({
587
+ specifier,
588
+ packageName: "@agent-native/toolkit",
589
+ })),
584
590
  ]),
585
591
  { specifier: "@libsql/client" },
586
592
  { specifier: "@amplitude/analytics-browser" },
@@ -1471,6 +1477,119 @@ function ssrStubPlugin(packages) {
1471
1477
  },
1472
1478
  };
1473
1479
  }
1480
+ function splitViteRequest(id) {
1481
+ const queryIndex = id.indexOf("?");
1482
+ if (queryIndex === -1)
1483
+ return null;
1484
+ return {
1485
+ file: id.slice(0, queryIndex),
1486
+ query: id.slice(queryIndex + 1),
1487
+ };
1488
+ }
1489
+ function hasRawQuery(query) {
1490
+ return new URLSearchParams(query).has("raw");
1491
+ }
1492
+ function normalizeViteFilePath(file) {
1493
+ if (!file || file.startsWith("\0"))
1494
+ return null;
1495
+ const fsPath = file.startsWith("/@fs/") ? file.slice("/@fs".length) : file;
1496
+ try {
1497
+ return decodeURI(fsPath);
1498
+ }
1499
+ catch {
1500
+ return fsPath;
1501
+ }
1502
+ }
1503
+ function changelogRawPathFromId(id) {
1504
+ const request = splitViteRequest(id);
1505
+ if (!request || !hasRawQuery(request.query))
1506
+ return null;
1507
+ const file = normalizeViteFilePath(request.file);
1508
+ if (!file || path.basename(file) !== "CHANGELOG.md")
1509
+ return null;
1510
+ return path.resolve(file);
1511
+ }
1512
+ function resolveChangelogRawImport(source, importer) {
1513
+ const request = splitViteRequest(source);
1514
+ if (!request || !hasRawQuery(request.query))
1515
+ return null;
1516
+ const rawFile = normalizeViteFilePath(request.file);
1517
+ if (!rawFile || path.basename(rawFile) !== "CHANGELOG.md")
1518
+ return null;
1519
+ const rawImporter = importer?.split("?")[0];
1520
+ const importerFile = (rawImporter && normalizeViteFilePath(rawImporter)) ||
1521
+ rawImporter ||
1522
+ path.join(process.cwd(), "index.ts");
1523
+ const resolved = path.isAbsolute(rawFile)
1524
+ ? rawFile
1525
+ : path.resolve(path.dirname(importerFile), rawFile);
1526
+ return `${resolved}?${request.query}`;
1527
+ }
1528
+ function readAppChangelogMarkdown(changelogPath, watchFile) {
1529
+ // Only ever register real files with Vite's `addWatchFile`. Passing a
1530
+ // directory makes import-analysis try to resolve it as a module and fail
1531
+ // with "Failed to resolve import .../changelog", which breaks hydration for
1532
+ // every template in dev. New/removed pending files are still picked up via
1533
+ // `handleHotUpdate` (Vite watches the project root recursively).
1534
+ watchFile(changelogPath);
1535
+ const existing = fs.existsSync(changelogPath)
1536
+ ? fs.readFileSync(changelogPath, "utf-8")
1537
+ : "";
1538
+ const pendingDir = path.join(path.dirname(changelogPath), "changelog");
1539
+ if (!fs.existsSync(pendingDir)) {
1540
+ return existing;
1541
+ }
1542
+ const pending = fs
1543
+ .readdirSync(pendingDir)
1544
+ .filter((file) => file.endsWith(".md") && file.toLowerCase() !== "readme.md")
1545
+ .sort()
1546
+ .map((file) => {
1547
+ const filePath = path.join(pendingDir, file);
1548
+ watchFile(filePath);
1549
+ return parsePendingEntry(fs.readFileSync(filePath, "utf-8"));
1550
+ });
1551
+ return mergePendingChangelog(existing, pending);
1552
+ }
1553
+ function isChangelogSourceFile(file) {
1554
+ if (path.basename(file) === "CHANGELOG.md")
1555
+ return true;
1556
+ return (path.basename(path.dirname(file)) === "changelog" &&
1557
+ file.endsWith(".md") &&
1558
+ path.basename(file).toLowerCase() !== "readme.md");
1559
+ }
1560
+ function invalidateChangelogRawModules(server) {
1561
+ const moduleGraph = server.moduleGraph;
1562
+ if (!moduleGraph?.idToModuleMap || !moduleGraph.invalidateModule)
1563
+ return;
1564
+ for (const mod of moduleGraph.idToModuleMap.values()) {
1565
+ if (!mod?.id || !changelogRawPathFromId(mod.id))
1566
+ continue;
1567
+ moduleGraph.invalidateModule(mod);
1568
+ }
1569
+ }
1570
+ function appChangelogRawPlugin() {
1571
+ return {
1572
+ name: "agent-native-app-changelog-raw",
1573
+ enforce: "pre",
1574
+ resolveId(source, importer) {
1575
+ return resolveChangelogRawImport(source, importer);
1576
+ },
1577
+ load(id) {
1578
+ const changelogPath = changelogRawPathFromId(id);
1579
+ if (!changelogPath)
1580
+ return null;
1581
+ const markdown = readAppChangelogMarkdown(changelogPath, (file) => this.addWatchFile(file));
1582
+ return `export default ${JSON.stringify(markdown)};`;
1583
+ },
1584
+ handleHotUpdate(ctx) {
1585
+ if (!isChangelogSourceFile(ctx.file))
1586
+ return;
1587
+ invalidateChangelogRawModules(ctx.server);
1588
+ ctx.server.ws.send({ type: "full-reload" });
1589
+ return [];
1590
+ },
1591
+ };
1592
+ }
1474
1593
  /**
1475
1594
  * Expose the resolved Vite dev server port as process.env.PORT so that
1476
1595
  * in-process scripts (which use localFetch → http://localhost:${PORT}/api/...)
@@ -1659,12 +1778,13 @@ function localWorkspacePackageAliases(packages) {
1659
1778
  if (!exportsMap || typeof exportsMap !== "object")
1660
1779
  continue;
1661
1780
  for (const [exportPath, target] of Object.entries(exportsMap)) {
1662
- if (typeof target !== "string")
1781
+ const exportTarget = localWorkspaceExportTarget(packageDir, target);
1782
+ if (!exportTarget)
1663
1783
  continue;
1664
1784
  const importPath = exportPath === "."
1665
1785
  ? packageName
1666
1786
  : `${packageName}${exportPath.slice(1)}`;
1667
- const replacement = path.resolve(packageDir, target);
1787
+ const replacement = path.resolve(packageDir, exportTarget);
1668
1788
  if (importPath.includes("*") || replacement.includes("*")) {
1669
1789
  aliases.push({
1670
1790
  find: new RegExp(`^${escapeRegex(importPath).replace("\\*", "(.+)")}$`),
@@ -1684,6 +1804,48 @@ function localWorkspacePackageAliases(packages) {
1684
1804
  }
1685
1805
  return aliases;
1686
1806
  }
1807
+ function localWorkspaceExportTarget(packageDir, target) {
1808
+ const rawTarget = pickLocalWorkspaceExportTarget(target);
1809
+ if (!rawTarget)
1810
+ return null;
1811
+ return distExportToSourceTarget(packageDir, rawTarget);
1812
+ }
1813
+ function pickLocalWorkspaceExportTarget(target) {
1814
+ if (typeof target === "string")
1815
+ return target;
1816
+ if (!target || typeof target !== "object" || Array.isArray(target)) {
1817
+ return null;
1818
+ }
1819
+ const record = target;
1820
+ for (const condition of ["development", "browser", "import", "default"]) {
1821
+ const resolved = pickLocalWorkspaceExportTarget(record[condition]);
1822
+ if (resolved)
1823
+ return resolved;
1824
+ }
1825
+ return null;
1826
+ }
1827
+ function distExportToSourceTarget(packageDir, target) {
1828
+ if (!target.startsWith("./dist/"))
1829
+ return target;
1830
+ if (target.includes("*")) {
1831
+ return target
1832
+ .replace("./dist/", "./src/")
1833
+ .replace(/\.d\.ts$/, "")
1834
+ .replace(/\.js$/, "");
1835
+ }
1836
+ const sourceBase = target
1837
+ .replace("./dist/", "./src/")
1838
+ .replace(/\.d\.ts$/, "")
1839
+ .replace(/\.js$/, "");
1840
+ const candidates = target.endsWith(".css")
1841
+ ? [sourceBase]
1842
+ : [`${sourceBase}.tsx`, `${sourceBase}.ts`, sourceBase];
1843
+ for (const candidate of candidates) {
1844
+ if (fs.existsSync(path.resolve(packageDir, candidate)))
1845
+ return candidate;
1846
+ }
1847
+ return target;
1848
+ }
1687
1849
  function aliasArrayFrom(alias) {
1688
1850
  if (!alias)
1689
1851
  return [];
@@ -1701,7 +1863,6 @@ const DEFAULT_VITE_WATCH_IGNORES = [
1701
1863
  "**/.generated/**",
1702
1864
  "**/.agents/**",
1703
1865
  "**/.claude/**",
1704
- "**/changelog/**",
1705
1866
  "**/data/**",
1706
1867
  "**/dist/**",
1707
1868
  "**/build/**",
@@ -1722,6 +1883,7 @@ function createAgentNativePlugins(options, { command, includeReactTransform, use
1722
1883
  // the server, so we can't blanket-stub it here).
1723
1884
  ssrStubPlugin(options.ssrStubs ?? []),
1724
1885
  ...userPlugins,
1886
+ appChangelogRawPlugin(),
1725
1887
  actionTypesPlugin(),
1726
1888
  agentsBundlePlugin(),
1727
1889
  autoReloadOnOptimizeDep(),