@agent-native/core 0.86.1 → 0.88.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 (1282) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +18 -0
  3. package/corpus/core/docs/content/agent-native-toolkit.mdx +162 -0
  4. package/corpus/core/docs/content/components.mdx +13 -0
  5. package/corpus/core/docs/content/creating-templates.mdx +7 -0
  6. package/corpus/core/docs/content/locales/ar-SA/agent-native-toolkit.mdx +73 -0
  7. package/corpus/core/docs/content/locales/ar-SA/components.mdx +9 -0
  8. package/corpus/core/docs/content/locales/ar-SA/creating-templates.mdx +2 -0
  9. package/corpus/core/docs/content/locales/ar-SA/sharing.mdx +15 -7
  10. package/corpus/core/docs/content/locales/ar-SA/template-analytics.mdx +6 -0
  11. package/corpus/core/docs/content/locales/ar-SA/template-clips.mdx +7 -0
  12. package/corpus/core/docs/content/locales/ar-SA/tracking.mdx +6 -0
  13. package/corpus/core/docs/content/locales/de-DE/agent-native-toolkit.mdx +77 -0
  14. package/corpus/core/docs/content/locales/de-DE/components.mdx +9 -0
  15. package/corpus/core/docs/content/locales/de-DE/creating-templates.mdx +2 -0
  16. package/corpus/core/docs/content/locales/de-DE/sharing.mdx +15 -7
  17. package/corpus/core/docs/content/locales/de-DE/template-analytics.mdx +6 -0
  18. package/corpus/core/docs/content/locales/de-DE/template-clips.mdx +7 -0
  19. package/corpus/core/docs/content/locales/de-DE/tracking.mdx +6 -0
  20. package/corpus/core/docs/content/locales/es-ES/agent-native-toolkit.mdx +77 -0
  21. package/corpus/core/docs/content/locales/es-ES/components.mdx +9 -0
  22. package/corpus/core/docs/content/locales/es-ES/creating-templates.mdx +2 -0
  23. package/corpus/core/docs/content/locales/es-ES/sharing.mdx +15 -7
  24. package/corpus/core/docs/content/locales/es-ES/template-analytics.mdx +6 -0
  25. package/corpus/core/docs/content/locales/es-ES/template-clips.mdx +7 -0
  26. package/corpus/core/docs/content/locales/es-ES/tracking.mdx +6 -0
  27. package/corpus/core/docs/content/locales/fr-FR/agent-native-toolkit.mdx +79 -0
  28. package/corpus/core/docs/content/locales/fr-FR/components.mdx +9 -0
  29. package/corpus/core/docs/content/locales/fr-FR/creating-templates.mdx +2 -0
  30. package/corpus/core/docs/content/locales/fr-FR/sharing.mdx +15 -7
  31. package/corpus/core/docs/content/locales/fr-FR/template-analytics.mdx +6 -0
  32. package/corpus/core/docs/content/locales/fr-FR/template-clips.mdx +7 -0
  33. package/corpus/core/docs/content/locales/fr-FR/tracking.mdx +6 -0
  34. package/corpus/core/docs/content/locales/hi-IN/agent-native-toolkit.mdx +74 -0
  35. package/corpus/core/docs/content/locales/hi-IN/components.mdx +9 -0
  36. package/corpus/core/docs/content/locales/hi-IN/creating-templates.mdx +2 -0
  37. package/corpus/core/docs/content/locales/hi-IN/sharing.mdx +15 -7
  38. package/corpus/core/docs/content/locales/hi-IN/template-analytics.mdx +6 -0
  39. package/corpus/core/docs/content/locales/hi-IN/template-clips.mdx +7 -0
  40. package/corpus/core/docs/content/locales/hi-IN/tracking.mdx +6 -0
  41. package/corpus/core/docs/content/locales/ja-JP/agent-native-toolkit.mdx +67 -0
  42. package/corpus/core/docs/content/locales/ja-JP/components.mdx +9 -0
  43. package/corpus/core/docs/content/locales/ja-JP/creating-templates.mdx +2 -0
  44. package/corpus/core/docs/content/locales/ja-JP/sharing.mdx +15 -7
  45. package/corpus/core/docs/content/locales/ja-JP/template-analytics.mdx +6 -0
  46. package/corpus/core/docs/content/locales/ja-JP/template-clips.mdx +7 -0
  47. package/corpus/core/docs/content/locales/ja-JP/tracking.mdx +6 -0
  48. package/corpus/core/docs/content/locales/ko-KR/agent-native-toolkit.mdx +63 -0
  49. package/corpus/core/docs/content/locales/ko-KR/components.mdx +9 -0
  50. package/corpus/core/docs/content/locales/ko-KR/creating-templates.mdx +2 -0
  51. package/corpus/core/docs/content/locales/ko-KR/sharing.mdx +15 -7
  52. package/corpus/core/docs/content/locales/ko-KR/template-analytics.mdx +6 -0
  53. package/corpus/core/docs/content/locales/ko-KR/template-clips.mdx +7 -0
  54. package/corpus/core/docs/content/locales/ko-KR/tracking.mdx +6 -0
  55. package/corpus/core/docs/content/locales/pt-BR/agent-native-toolkit.mdx +77 -0
  56. package/corpus/core/docs/content/locales/pt-BR/components.mdx +9 -0
  57. package/corpus/core/docs/content/locales/pt-BR/creating-templates.mdx +2 -0
  58. package/corpus/core/docs/content/locales/pt-BR/sharing.mdx +15 -7
  59. package/corpus/core/docs/content/locales/pt-BR/template-analytics.mdx +6 -0
  60. package/corpus/core/docs/content/locales/pt-BR/template-clips.mdx +7 -0
  61. package/corpus/core/docs/content/locales/pt-BR/tracking.mdx +6 -0
  62. package/corpus/core/docs/content/locales/zh-CN/agent-native-toolkit.mdx +61 -0
  63. package/corpus/core/docs/content/locales/zh-CN/components.mdx +9 -0
  64. package/corpus/core/docs/content/locales/zh-CN/creating-templates.mdx +2 -0
  65. package/corpus/core/docs/content/locales/zh-CN/sharing.mdx +15 -7
  66. package/corpus/core/docs/content/locales/zh-CN/template-analytics.mdx +6 -0
  67. package/corpus/core/docs/content/locales/zh-CN/template-clips.mdx +7 -0
  68. package/corpus/core/docs/content/locales/zh-CN/tracking.mdx +6 -0
  69. package/corpus/core/docs/content/locales/zh-TW/agent-native-toolkit.mdx +61 -0
  70. package/corpus/core/docs/content/locales/zh-TW/components.mdx +9 -0
  71. package/corpus/core/docs/content/locales/zh-TW/creating-templates.mdx +2 -0
  72. package/corpus/core/docs/content/locales/zh-TW/sharing.mdx +15 -7
  73. package/corpus/core/docs/content/locales/zh-TW/template-analytics.mdx +6 -0
  74. package/corpus/core/docs/content/locales/zh-TW/template-clips.mdx +7 -0
  75. package/corpus/core/docs/content/locales/zh-TW/tracking.mdx +6 -0
  76. package/corpus/core/docs/content/sharing.mdx +39 -7
  77. package/corpus/core/docs/content/template-analytics.mdx +6 -0
  78. package/corpus/core/docs/content/template-clips.mdx +7 -0
  79. package/corpus/core/docs/content/tracking.mdx +6 -0
  80. package/corpus/core/package.json +9 -1
  81. package/corpus/core/src/application-state/emitter.ts +37 -5
  82. package/corpus/core/src/cli/create.ts +55 -3
  83. package/corpus/core/src/cli/workspacify.ts +10 -4
  84. package/corpus/core/src/client/components/ui/dialog.tsx +1 -91
  85. package/corpus/core/src/client/components/ui/dropdown-menu.tsx +1 -191
  86. package/corpus/core/src/client/components/ui/hover-card.tsx +1 -29
  87. package/corpus/core/src/client/components/ui/popover.tsx +1 -31
  88. package/corpus/core/src/client/components/ui/sheet.tsx +1 -96
  89. package/corpus/core/src/client/components/ui/tooltip.tsx +1 -53
  90. package/corpus/core/src/secrets/crypto.ts +47 -9
  91. package/corpus/core/src/server/action-discovery.ts +4 -0
  92. package/corpus/core/src/server/action-routes.ts +8 -1
  93. package/corpus/core/src/server/agent-access.ts +72 -0
  94. package/corpus/core/src/server/h3-helpers.ts +14 -2
  95. package/corpus/core/src/server/index.ts +28 -0
  96. package/corpus/core/src/server/request-context.ts +64 -7
  97. package/corpus/core/src/shared/agent-access.ts +112 -0
  98. package/corpus/core/src/shared/agent-readable-resource.ts +111 -0
  99. package/corpus/core/src/shared/index.ts +23 -0
  100. package/corpus/core/src/sharing/actions/create-agent-resource-link.ts +91 -0
  101. package/corpus/core/src/sharing/registry.ts +19 -0
  102. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +92 -0
  103. package/corpus/core/src/vite/client.ts +1 -0
  104. package/corpus/templates/analytics/AGENTS.md +4 -0
  105. package/corpus/templates/analytics/actions/get-sql-dashboard.ts +9 -113
  106. package/corpus/templates/analytics/app/components/InlineMetric.tsx +2 -2
  107. package/corpus/templates/analytics/app/components/dashboard/CumulativeNetChart.tsx +7 -2
  108. package/corpus/templates/analytics/app/components/dashboard/DataTable.tsx +16 -11
  109. package/corpus/templates/analytics/app/components/dashboard/DateRangePicker.tsx +2 -1
  110. package/corpus/templates/analytics/app/components/dashboard/MetricCard.tsx +7 -2
  111. package/corpus/templates/analytics/app/components/dashboard/RecentActivity.tsx +6 -3
  112. package/corpus/templates/analytics/app/components/dashboard/RevenueChart.tsx +6 -1
  113. package/corpus/templates/analytics/app/components/dashboard/RevenueComparisonChart.tsx +7 -2
  114. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +15 -11
  115. package/corpus/templates/analytics/app/components/dashboard/StatsCard.tsx +7 -1
  116. package/corpus/templates/analytics/app/components/dashboard/TimeSeriesChart.tsx +7 -2
  117. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +16 -16
  118. package/corpus/templates/analytics/app/components/layout/HeaderActions.tsx +1 -2
  119. package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +5 -2
  120. package/corpus/templates/analytics/app/components/layout/NewAnalysisDialog.tsx +6 -6
  121. package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +3 -4
  122. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +12 -9
  123. package/corpus/templates/analytics/app/components/ui/calendar.tsx +1 -1
  124. package/corpus/templates/analytics/app/pages/Agents.tsx +19 -19
  125. package/corpus/templates/analytics/app/pages/DataDictionary.tsx +21 -21
  126. package/corpus/templates/analytics/app/pages/DataSources.tsx +28 -28
  127. package/corpus/templates/analytics/app/pages/NotFound.tsx +1 -2
  128. package/corpus/templates/analytics/app/pages/Placeholder.tsx +1 -2
  129. package/corpus/templates/analytics/app/pages/Settings.tsx +16 -16
  130. package/corpus/templates/analytics/app/pages/adhoc/DashboardSkeleton.tsx +2 -3
  131. package/corpus/templates/analytics/app/pages/adhoc/_shared/KpiChart.tsx +13 -8
  132. package/corpus/templates/analytics/app/pages/adhoc/_shared/components/DateRangeInput.tsx +2 -1
  133. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/ChartTypePicker.tsx +4 -2
  134. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/DateRangePicker.tsx +2 -1
  135. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventCombobox.tsx +7 -7
  136. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventPanel.tsx +1 -2
  137. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventRow.tsx +1 -2
  138. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/ExplorerChart.tsx +8 -3
  139. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/FilterBuilder.tsx +4 -5
  140. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/GroupByPicker.tsx +1 -2
  141. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/PropertyCombobox.tsx +7 -7
  142. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/PropertyValueCombobox.tsx +7 -7
  143. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/SqlPreview.tsx +1 -1
  144. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +16 -16
  145. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/ChartCard.tsx +21 -16
  146. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +32 -32
  147. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/DashboardFilterBar.tsx +14 -14
  148. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/EmailReportDialog.tsx +13 -14
  149. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +21 -13
  150. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +28 -23
  151. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewSqlPopover.tsx +12 -12
  152. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +15 -15
  153. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +33 -29
  154. package/corpus/templates/analytics/app/pages/analyses/AnalysesList.tsx +7 -8
  155. package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +19 -19
  156. package/corpus/templates/analytics/app/pages/analyses/LegacyFusionAnalysis.tsx +15 -11
  157. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +42 -23
  158. package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +12 -7
  159. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +12 -12
  160. package/corpus/templates/analytics/app/pages/settings/AlertRulesSettingsCard.tsx +25 -25
  161. package/corpus/templates/analytics/app/root.tsx +2 -2
  162. package/corpus/templates/analytics/app/routes/catalog.tsx +8 -8
  163. package/corpus/templates/analytics/package.json +1 -0
  164. package/corpus/templates/analytics/server/db/index.ts +14 -0
  165. package/corpus/templates/analytics/server/lib/agent-readable-resource-context.ts +156 -0
  166. package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +59 -59
  167. package/corpus/templates/analytics/server/routes/[...page].get.ts +92 -25
  168. package/corpus/templates/analytics/server/routes/api/analysis-agent-context.json.get.ts +94 -0
  169. package/corpus/templates/analytics/server/routes/api/dashboard-agent-context.json.get.ts +109 -0
  170. package/corpus/templates/analytics/shared/resource-agent-access.ts +6 -0
  171. package/corpus/templates/analytics/shared/session-replay-agent-access.ts +14 -3
  172. package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +2 -3
  173. package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +9 -9
  174. package/corpus/templates/assets/app/components/layout/Header.tsx +4 -2
  175. package/corpus/templates/assets/app/components/layout/Layout.tsx +1 -1
  176. package/corpus/templates/assets/app/components/layout/PageShell.tsx +5 -6
  177. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +12 -12
  178. package/corpus/templates/assets/app/components/library/CreateLibraryDialog.tsx +8 -8
  179. package/corpus/templates/assets/app/components/library/EditLibraryDialog.tsx +7 -7
  180. package/corpus/templates/assets/app/components/library/LibraryCard.tsx +8 -8
  181. package/corpus/templates/assets/app/components/library/LibraryPresetGrid.tsx +2 -3
  182. package/corpus/templates/assets/app/root.tsx +1 -1
  183. package/corpus/templates/assets/app/routes/asset.$id.tsx +19 -19
  184. package/corpus/templates/assets/app/routes/audit.tsx +14 -15
  185. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +54 -49
  186. package/corpus/templates/assets/app/routes/library.tsx +31 -31
  187. package/corpus/templates/assets/app/routes/settings.tsx +18 -18
  188. package/corpus/templates/assets/package.json +1 -0
  189. package/corpus/templates/brain/app/components/brain/CanonicalPreviewSheet.tsx +5 -6
  190. package/corpus/templates/brain/app/components/brain/Surface.tsx +8 -3
  191. package/corpus/templates/brain/app/components/layout/Layout.tsx +7 -7
  192. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +6 -6
  193. package/corpus/templates/brain/app/routes/knowledge.tsx +19 -19
  194. package/corpus/templates/brain/app/routes/ops.tsx +18 -18
  195. package/corpus/templates/brain/app/routes/review.tsx +27 -22
  196. package/corpus/templates/brain/app/routes/search.tsx +20 -20
  197. package/corpus/templates/brain/app/routes/settings.tsx +22 -22
  198. package/corpus/templates/brain/app/routes/sources.tsx +23 -23
  199. package/corpus/templates/brain/package.json +1 -0
  200. package/corpus/templates/calendar/app/components/ThemeToggle.tsx +5 -5
  201. package/corpus/templates/calendar/app/components/TimezoneCombobox.tsx +6 -6
  202. package/corpus/templates/calendar/app/components/booking/BookingConfirmation.tsx +1 -2
  203. package/corpus/templates/calendar/app/components/booking/BookingForm.tsx +8 -9
  204. package/corpus/templates/calendar/app/components/booking/DatePicker.tsx +2 -2
  205. package/corpus/templates/calendar/app/components/booking/TimeSlotPicker.tsx +2 -3
  206. package/corpus/templates/calendar/app/components/calendar/AddCalendarDialog.tsx +15 -10
  207. package/corpus/templates/calendar/app/components/calendar/AttendeeAutocomplete.tsx +6 -6
  208. package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +27 -27
  209. package/corpus/templates/calendar/app/components/calendar/DeleteEventDialog.tsx +12 -9
  210. package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +13 -10
  211. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +7 -7
  212. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +21 -21
  213. package/corpus/templates/calendar/app/components/calendar/EventDialog.tsx +11 -11
  214. package/corpus/templates/calendar/app/components/calendar/EventOptionControls.tsx +9 -9
  215. package/corpus/templates/calendar/app/components/calendar/FindTimePanel.tsx +9 -9
  216. package/corpus/templates/calendar/app/components/calendar/GoogleConnectBanner.tsx +6 -6
  217. package/corpus/templates/calendar/app/components/calendar/GoogleSetupWizard.tsx +3 -3
  218. package/corpus/templates/calendar/app/components/calendar/GoogleSyncButton.tsx +1 -1
  219. package/corpus/templates/calendar/app/components/calendar/GuestNotificationDialog.tsx +10 -8
  220. package/corpus/templates/calendar/app/components/calendar/IntegrationsSidebar.tsx +12 -12
  221. package/corpus/templates/calendar/app/components/calendar/KeyboardShortcutsHelp.tsx +2 -2
  222. package/corpus/templates/calendar/app/components/calendar/MonthView.tsx +1 -1
  223. package/corpus/templates/calendar/app/components/calendar/PeopleSearchDialog.tsx +6 -6
  224. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +6 -6
  225. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +2 -2
  226. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +16 -16
  227. package/corpus/templates/calendar/app/pages/AvailabilitySettings.tsx +11 -11
  228. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +50 -45
  229. package/corpus/templates/calendar/app/pages/BookingPage.tsx +2 -2
  230. package/corpus/templates/calendar/app/pages/BookingsList.tsx +12 -12
  231. package/corpus/templates/calendar/app/pages/CalendarView.tsx +17 -17
  232. package/corpus/templates/calendar/app/pages/ManageBookingPage.tsx +13 -13
  233. package/corpus/templates/calendar/app/pages/Settings.tsx +12 -12
  234. package/corpus/templates/calendar/app/routes/event.tsx +2 -2
  235. package/corpus/templates/calendar/package.json +1 -0
  236. package/corpus/templates/chat/app/components/layout/Header.tsx +4 -2
  237. package/corpus/templates/chat/app/components/layout/Layout.tsx +7 -7
  238. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +12 -12
  239. package/corpus/templates/chat/app/routes/database.tsx +1 -2
  240. package/corpus/templates/chat/app/routes/observability.tsx +1 -1
  241. package/corpus/templates/chat/app/routes/settings.tsx +5 -5
  242. package/corpus/templates/chat/package.json +1 -0
  243. package/corpus/templates/clips/AGENTS.md +5 -0
  244. package/corpus/templates/clips/actions/create-recording-agent-link.ts +15 -20
  245. package/corpus/templates/clips/actions/delete-recording-permanent.ts +74 -34
  246. package/corpus/templates/clips/app/components/capture-install-options.tsx +6 -6
  247. package/corpus/templates/clips/app/components/editable-recording-title.tsx +2 -2
  248. package/corpus/templates/clips/app/components/editor/chapters-editor.tsx +7 -7
  249. package/corpus/templates/clips/app/components/editor/editor-layout.tsx +165 -3
  250. package/corpus/templates/clips/app/components/editor/editor-toolbar.tsx +101 -57
  251. package/corpus/templates/clips/app/components/editor/split-button.tsx +4 -5
  252. package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +9 -9
  253. package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +16 -11
  254. package/corpus/templates/clips/app/components/editor/timeline.tsx +4 -6
  255. package/corpus/templates/clips/app/components/editor/transcript-editor.tsx +5 -5
  256. package/corpus/templates/clips/app/components/editor/trim-handles.tsx +4 -7
  257. package/corpus/templates/clips/app/components/editor/waveform.tsx +13 -4
  258. package/corpus/templates/clips/app/components/layout/Header.tsx +4 -2
  259. package/corpus/templates/clips/app/components/layout/Layout.tsx +2 -3
  260. package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +4 -4
  261. package/corpus/templates/clips/app/components/library/create-space-dialog.tsx +8 -8
  262. package/corpus/templates/clips/app/components/library/empty-state.tsx +1 -2
  263. package/corpus/templates/clips/app/components/library/folder-tree.tsx +14 -14
  264. package/corpus/templates/clips/app/components/library/library-grid.tsx +7 -7
  265. package/corpus/templates/clips/app/components/library/library-layout.tsx +16 -16
  266. package/corpus/templates/clips/app/components/library/organization-switcher.tsx +11 -11
  267. package/corpus/templates/clips/app/components/library/recording-card.tsx +16 -12
  268. package/corpus/templates/clips/app/components/library/search-bar.tsx +5 -5
  269. package/corpus/templates/clips/app/components/library/sort-menu.tsx +3 -4
  270. package/corpus/templates/clips/app/components/library/tag-input.tsx +4 -4
  271. package/corpus/templates/clips/app/components/meetings/attendee-stack.tsx +6 -2
  272. package/corpus/templates/clips/app/components/meetings/auto-record-prompt.tsx +1 -1
  273. package/corpus/templates/clips/app/components/meetings/bullet-link.tsx +4 -4
  274. package/corpus/templates/clips/app/components/meetings/canvas-editor.tsx +5 -5
  275. package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +3 -3
  276. package/corpus/templates/clips/app/components/meetings/quick-ask-sidebar.tsx +9 -9
  277. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +11 -6
  278. package/corpus/templates/clips/app/components/meetings/transcript-bubbles.tsx +4 -4
  279. package/corpus/templates/clips/app/components/player/access-password-prompt.tsx +2 -3
  280. package/corpus/templates/clips/app/components/player/comments-panel.tsx +14 -14
  281. package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +6 -7
  282. package/corpus/templates/clips/app/components/player/insights-panel.tsx +1 -2
  283. package/corpus/templates/clips/app/components/player/player-controls.tsx +15 -15
  284. package/corpus/templates/clips/app/components/player/reactions-tray.tsx +3 -3
  285. package/corpus/templates/clips/app/components/player/settings-panel.tsx +12 -13
  286. package/corpus/templates/clips/app/components/player/share-dialog.tsx +20 -11
  287. package/corpus/templates/clips/app/components/player/sign-in-prompt-dialog.tsx +2 -3
  288. package/corpus/templates/clips/app/components/player/timestamped-comment-button.tsx +2 -2
  289. package/corpus/templates/clips/app/components/player/transcript-panel.tsx +7 -7
  290. package/corpus/templates/clips/app/components/player/video-player.tsx +9 -9
  291. package/corpus/templates/clips/app/components/recorder/camera-visualizer.tsx +1 -1
  292. package/corpus/templates/clips/app/components/recorder/microphone-visualizer.tsx +1 -1
  293. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +21 -21
  294. package/corpus/templates/clips/app/components/recorder/recording-toolbar.tsx +5 -6
  295. package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +6 -7
  296. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +10 -10
  297. package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +9 -5
  298. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +19 -9
  299. package/corpus/templates/clips/app/components/workspace/invite-dialog.tsx +9 -10
  300. package/corpus/templates/clips/app/components/workspace/members-list.tsx +10 -11
  301. package/corpus/templates/clips/app/components/workspace/notifications-list.tsx +1 -2
  302. package/corpus/templates/clips/app/components/workspace/top-creators-table.tsx +2 -3
  303. package/corpus/templates/clips/app/components/workspace/top-videos-table.tsx +2 -3
  304. package/corpus/templates/clips/app/hooks/use-desktop-promo.ts +1 -2
  305. package/corpus/templates/clips/app/root.tsx +10 -10
  306. package/corpus/templates/clips/app/routes/_app.dictate.tsx +13 -13
  307. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +35 -26
  308. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +20 -20
  309. package/corpus/templates/clips/app/routes/_app.notifications.tsx +3 -3
  310. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +31 -31
  311. package/corpus/templates/clips/app/routes/_app.settings.organization.tsx +13 -8
  312. package/corpus/templates/clips/app/routes/_app.spaces._index.tsx +1 -1
  313. package/corpus/templates/clips/app/routes/_app.trash.tsx +10 -10
  314. package/corpus/templates/clips/app/routes/bug-report.done.tsx +1 -1
  315. package/corpus/templates/clips/app/routes/bug-report.tsx +11 -11
  316. package/corpus/templates/clips/app/routes/download.tsx +2 -2
  317. package/corpus/templates/clips/app/routes/embed.$shareId.tsx +1 -1
  318. package/corpus/templates/clips/app/routes/invite.$token.tsx +13 -8
  319. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +28 -23
  320. package/corpus/templates/clips/app/routes/record.tsx +3 -3
  321. package/corpus/templates/clips/app/routes/share.$shareId.tsx +41 -20
  322. package/corpus/templates/clips/app/routes/share.meeting.$meetingId.tsx +2 -2
  323. package/corpus/templates/clips/changelog/2026-07-05-desktop-full-screen-recordings-with-system-audio-now-finaliz.md +6 -0
  324. package/corpus/templates/clips/changelog/2026-07-05-desktop-recording-shortcut-start-stop.md +6 -0
  325. package/corpus/templates/clips/changelog/2026-07-05-desktop-recordings-no-longer-fail-when-saved-capture-constra.md +6 -0
  326. package/corpus/templates/clips/changelog/2026-07-05-permanently-deleted-clips-now-clean-up-s3-media-objects.md +6 -0
  327. package/corpus/templates/clips/changelog/2026-07-05-timeline-zoom-controls-are-now-visible-in-the-clip-editor-an.md +6 -0
  328. package/corpus/templates/clips/desktop/src/app.tsx +98 -1
  329. package/corpus/templates/clips/desktop/src/components/MediaDeviceRow.tsx +3 -2
  330. package/corpus/templates/clips/desktop/src/lib/media-capture-constraints.ts +121 -0
  331. package/corpus/templates/clips/desktop/src/lib/recorder.ts +55 -84
  332. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +77 -39
  333. package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +60 -8
  334. package/corpus/templates/clips/package.json +1 -0
  335. package/corpus/templates/clips/server/lib/public-agent-context.ts +17 -12
  336. package/corpus/templates/clips/server/lib/recording-media-cleanup.ts +110 -0
  337. package/corpus/templates/clips/server/lib/s3-upload-provider.ts +126 -0
  338. package/corpus/templates/clips/server/routes/api/public-recording.get.ts +47 -11
  339. package/corpus/templates/clips/shared/agent-context.ts +23 -21
  340. package/corpus/templates/content/app/blocks/contentBlockRegistry.tsx +4 -4
  341. package/corpus/templates/content/app/components/EmptyState.tsx +1 -1
  342. package/corpus/templates/content/app/components/ThemeToggle.tsx +6 -6
  343. package/corpus/templates/content/app/components/editor/BubbleToolbar.tsx +5 -5
  344. package/corpus/templates/content/app/components/editor/CommentsSidebar.tsx +5 -5
  345. package/corpus/templates/content/app/components/editor/ContentReferencePreview.tsx +1 -1
  346. package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +36 -36
  347. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +3 -3
  348. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +29 -29
  349. package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +23 -23
  350. package/corpus/templates/content/app/components/editor/EmojiPicker.tsx +4 -5
  351. package/corpus/templates/content/app/components/editor/LinkHoverPreview.tsx +4 -5
  352. package/corpus/templates/content/app/components/editor/NotionConflictBanner.tsx +1 -1
  353. package/corpus/templates/content/app/components/editor/NotionSyncBar.tsx +2 -2
  354. package/corpus/templates/content/app/components/editor/SlashCommandMenu.tsx +5 -5
  355. package/corpus/templates/content/app/components/editor/TableHoverControls.tsx +13 -13
  356. package/corpus/templates/content/app/components/editor/VersionHistoryPanel.tsx +10 -10
  357. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +41 -41
  358. package/corpus/templates/content/app/components/editor/database/shared.tsx +19 -19
  359. package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +8 -9
  360. package/corpus/templates/content/app/components/editor/extensions/AudioBlock.tsx +18 -19
  361. package/corpus/templates/content/app/components/editor/extensions/ImageBlock.tsx +20 -21
  362. package/corpus/templates/content/app/components/editor/extensions/LocalMdxComponentNode.tsx +8 -8
  363. package/corpus/templates/content/app/components/editor/extensions/VideoBlock.tsx +18 -19
  364. package/corpus/templates/content/app/components/layout/Header.tsx +4 -2
  365. package/corpus/templates/content/app/components/layout/Layout.tsx +3 -3
  366. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +22 -22
  367. package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +22 -22
  368. package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +11 -11
  369. package/corpus/templates/content/app/root.tsx +4 -5
  370. package/corpus/templates/content/app/routes/_app._index.tsx +1 -1
  371. package/corpus/templates/content/app/routes/_app.local-files.tsx +11 -11
  372. package/corpus/templates/content/app/routes/_app.settings.tsx +3 -3
  373. package/corpus/templates/content/app/routes/p.$id.tsx +114 -9
  374. package/corpus/templates/content/package.json +1 -0
  375. package/corpus/templates/content/server/db/index.ts +9 -0
  376. package/corpus/templates/content/server/routes/api/document-agent-context.json.get.ts +90 -0
  377. package/corpus/templates/content/shared/agent-readable.ts +56 -0
  378. package/corpus/templates/design/app/components/ThemeToggle.tsx +6 -6
  379. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +11 -11
  380. package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +2 -2
  381. package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +21 -16
  382. package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +3 -3
  383. package/corpus/templates/design/app/components/design/DrawOverlay.tsx +7 -7
  384. package/corpus/templates/design/app/components/design/EditPanel.tsx +30 -30
  385. package/corpus/templates/design/app/components/design/FusionAppBanner.tsx +8 -9
  386. package/corpus/templates/design/app/components/design/LayersPanel.tsx +14 -14
  387. package/corpus/templates/design/app/components/design/LocalhostWriteConsentDialog.tsx +5 -6
  388. package/corpus/templates/design/app/components/design/MotionDock.tsx +15 -15
  389. package/corpus/templates/design/app/components/design/QuestionFlow.tsx +3 -3
  390. package/corpus/templates/design/app/components/design/ReviewPanel.tsx +3 -3
  391. package/corpus/templates/design/app/components/design/StatesPanel.tsx +13 -13
  392. package/corpus/templates/design/app/components/design/TokensPanel.tsx +14 -14
  393. package/corpus/templates/design/app/components/design/TweaksPanel.tsx +6 -6
  394. package/corpus/templates/design/app/components/design/code-workbench/ActivityBar.tsx +3 -3
  395. package/corpus/templates/design/app/components/design/code-workbench/SideBar.tsx +3 -3
  396. package/corpus/templates/design/app/components/design/code-workbench/editor/EditorTabs.tsx +6 -6
  397. package/corpus/templates/design/app/components/design/code-workbench/editor/MonacoHost.tsx +1 -2
  398. package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +17 -17
  399. package/corpus/templates/design/app/components/design/code-workbench/search/SearchView.tsx +6 -6
  400. package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +3 -3
  401. package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +7 -7
  402. package/corpus/templates/design/app/components/design/inspector/ConstraintsWidget.tsx +3 -3
  403. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +18 -18
  404. package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +6 -6
  405. package/corpus/templates/design/app/components/design/inspector/ImageFillControls.tsx +6 -6
  406. package/corpus/templates/design/app/components/design/inspector/InspectorAiActions.tsx +7 -7
  407. package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +7 -7
  408. package/corpus/templates/design/app/components/design/inspector/ShaderControls.tsx +14 -14
  409. package/corpus/templates/design/app/components/design/inspector/ShaderEffectRow.tsx +9 -9
  410. package/corpus/templates/design/app/components/design/inspector/ShaderFillsPanel.tsx +6 -6
  411. package/corpus/templates/design/app/components/design-system/DesignSystemCard.tsx +2 -3
  412. package/corpus/templates/design/app/components/editor/PromptDialog.tsx +18 -15
  413. package/corpus/templates/design/app/components/layout/Header.tsx +4 -2
  414. package/corpus/templates/design/app/components/layout/Layout.tsx +1 -1
  415. package/corpus/templates/design/app/components/layout/Sidebar.tsx +5 -5
  416. package/corpus/templates/design/app/components/visual-editor/CanvasCommentPins.tsx +7 -7
  417. package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +7 -7
  418. package/corpus/templates/design/app/components/visual-editor/SaveStatusIndicator.tsx +3 -3
  419. package/corpus/templates/design/app/pages/DesignEditor.tsx +51 -47
  420. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +8 -8
  421. package/corpus/templates/design/app/pages/DesignSystems.tsx +32 -32
  422. package/corpus/templates/design/app/pages/Index.tsx +28 -28
  423. package/corpus/templates/design/app/pages/NotFound.tsx +1 -2
  424. package/corpus/templates/design/app/pages/Present.tsx +1 -2
  425. package/corpus/templates/design/app/pages/VisualEdit.tsx +1 -2
  426. package/corpus/templates/design/app/root.tsx +1 -1
  427. package/corpus/templates/design/app/routes/settings.tsx +3 -3
  428. package/corpus/templates/design/package.json +1 -0
  429. package/corpus/templates/design/server/db/index.ts +8 -0
  430. package/corpus/templates/design/server/routes/[...page].get.ts +94 -1
  431. package/corpus/templates/design/server/routes/api/design-agent-context.json.get.ts +84 -0
  432. package/corpus/templates/design/shared/agent-readable.ts +2 -0
  433. package/corpus/templates/forms/app/components/CloudUpgrade.tsx +10 -10
  434. package/corpus/templates/forms/app/components/ThemeToggle.tsx +5 -5
  435. package/corpus/templates/forms/app/components/builder/FieldPropertiesPanel.tsx +10 -11
  436. package/corpus/templates/forms/app/components/builder/FieldRenderer.tsx +13 -10
  437. package/corpus/templates/forms/app/components/layout/Header.tsx +4 -2
  438. package/corpus/templates/forms/app/components/layout/Layout.tsx +1 -1
  439. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +15 -15
  440. package/corpus/templates/forms/app/components/ui/calendar.tsx +1 -1
  441. package/corpus/templates/forms/app/components/ui/command.tsx +1 -1
  442. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +24 -24
  443. package/corpus/templates/forms/app/pages/FormFillPage.tsx +2 -2
  444. package/corpus/templates/forms/app/pages/FormsListPage.tsx +25 -25
  445. package/corpus/templates/forms/app/pages/ResponseInsightsPage.tsx +11 -11
  446. package/corpus/templates/forms/app/pages/ResponsesPage.tsx +4 -4
  447. package/corpus/templates/forms/app/routes/_app.settings.tsx +5 -5
  448. package/corpus/templates/forms/app/routes/form-preview.tsx +3 -3
  449. package/corpus/templates/forms/package.json +1 -0
  450. package/corpus/templates/macros/app/components/AddExerciseDialog.tsx +1 -1
  451. package/corpus/templates/macros/app/components/AddMealDialog.tsx +1 -1
  452. package/corpus/templates/macros/app/components/AddWeightDialog.tsx +1 -1
  453. package/corpus/templates/macros/app/components/DailyProgress.tsx +7 -7
  454. package/corpus/templates/macros/app/components/WeeklyCaloriesChart.tsx +1 -2
  455. package/corpus/templates/macros/app/components/WeightCard.tsx +10 -10
  456. package/corpus/templates/macros/app/components/WeightTracker.tsx +1 -1
  457. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +11 -7
  458. package/corpus/templates/macros/app/components/layout/Header.tsx +4 -2
  459. package/corpus/templates/macros/app/root.tsx +1 -1
  460. package/corpus/templates/macros/app/routes/_index.tsx +1 -1
  461. package/corpus/templates/macros/app/routes/analytics.tsx +9 -9
  462. package/corpus/templates/macros/app/routes/settings.tsx +2 -2
  463. package/corpus/templates/macros/package.json +1 -0
  464. package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +1 -1
  465. package/corpus/templates/mail/app/components/ThemeToggle.tsx +6 -6
  466. package/corpus/templates/mail/app/components/agent-engine-picker.tsx +10 -10
  467. package/corpus/templates/mail/app/components/email/CodeBlockLangPicker.tsx +3 -4
  468. package/corpus/templates/mail/app/components/email/ComposeBubbleToolbar.tsx +5 -5
  469. package/corpus/templates/mail/app/components/email/ComposeEditor.tsx +9 -9
  470. package/corpus/templates/mail/app/components/email/ComposeModal.tsx +18 -18
  471. package/corpus/templates/mail/app/components/email/EmailList.tsx +17 -17
  472. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +5 -5
  473. package/corpus/templates/mail/app/components/email/EmailThread.tsx +6 -6
  474. package/corpus/templates/mail/app/components/email/InlineReplyComposer.tsx +11 -11
  475. package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +13 -13
  476. package/corpus/templates/mail/app/components/email/MobileActionBar.tsx +13 -13
  477. package/corpus/templates/mail/app/components/email/RecipientInput.tsx +13 -13
  478. package/corpus/templates/mail/app/components/email/SendLaterButton.tsx +4 -5
  479. package/corpus/templates/mail/app/components/email/SnoozeModal.tsx +1 -1
  480. package/corpus/templates/mail/app/components/email/SnoozePopover.tsx +6 -6
  481. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +12 -12
  482. package/corpus/templates/mail/app/components/layout/SearchBar.tsx +5 -5
  483. package/corpus/templates/mail/app/components/settings/GmailFiltersSection.tsx +23 -23
  484. package/corpus/templates/mail/app/components/ui/calendar.tsx +1 -1
  485. package/corpus/templates/mail/app/components/ui/command.tsx +1 -1
  486. package/corpus/templates/mail/app/pages/DraftQueuePage.tsx +14 -14
  487. package/corpus/templates/mail/app/pages/NotFound.tsx +1 -2
  488. package/corpus/templates/mail/app/pages/SettingsPage.tsx +25 -25
  489. package/corpus/templates/mail/app/root.tsx +1 -1
  490. package/corpus/templates/mail/app/routes/_index.tsx +1 -2
  491. package/corpus/templates/mail/app/routes/email.tsx +2 -2
  492. package/corpus/templates/mail/package.json +1 -0
  493. package/corpus/templates/plan/app/components/layout/Header.tsx +4 -2
  494. package/corpus/templates/plan/app/components/layout/Layout.tsx +5 -6
  495. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +20 -20
  496. package/corpus/templates/plan/app/components/plan/CanvasArea.tsx +2 -3
  497. package/corpus/templates/plan/app/components/plan/DocumentArea.tsx +2 -2
  498. package/corpus/templates/plan/app/components/plan/GuestModeBanner.tsx +1 -2
  499. package/corpus/templates/plan/app/components/plan/LocalCodebasePicker.tsx +8 -8
  500. package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +1 -1
  501. package/corpus/templates/plan/app/components/plan/PlanImageViewer.tsx +83 -82
  502. package/corpus/templates/plan/app/components/plan/PlanVisualSurface.tsx +3 -3
  503. package/corpus/templates/plan/app/components/plan/planBlocks.tsx +4 -4
  504. package/corpus/templates/plan/app/pages/PlansPage.tsx +84 -77
  505. package/corpus/templates/plan/app/root.tsx +1 -1
  506. package/corpus/templates/plan/app/routes/_index.tsx +2 -1
  507. package/corpus/templates/plan/app/routes/local-plans.$slug.tsx +1 -1
  508. package/corpus/templates/plan/app/routes/plans.$id.tsx +2 -1
  509. package/corpus/templates/plan/app/routes/plans.tsx +2 -1
  510. package/corpus/templates/plan/app/routes/recaps.$id.tsx +2 -1
  511. package/corpus/templates/plan/app/routes/recaps.tsx +2 -1
  512. package/corpus/templates/plan/app/routes/settings.tsx +5 -5
  513. package/corpus/templates/plan/changelog/2026-07-05-images-in-plan-documents-open-reliably-in-the-full-size-prev.md +6 -0
  514. package/corpus/templates/plan/package.json +1 -0
  515. package/corpus/templates/plan/server/db/index.ts +12 -0
  516. package/corpus/templates/plan/server/plans.ts +25 -1
  517. package/corpus/templates/plan/server/routes/[...page].get.ts +107 -1
  518. package/corpus/templates/plan/server/routes/api/plan-agent-context.json.get.ts +65 -0
  519. package/corpus/templates/plan/shared/agent-readable.ts +2 -0
  520. package/corpus/templates/slides/app/components/ThemeToggle.tsx +6 -6
  521. package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +5 -5
  522. package/corpus/templates/slides/app/components/deck/DeckCard.tsx +7 -7
  523. package/corpus/templates/slides/app/components/deck/ExcalidrawSlide.tsx +1 -2
  524. package/corpus/templates/slides/app/components/deck/SlideRenderer.tsx +1 -1
  525. package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +2 -3
  526. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +13 -14
  527. package/corpus/templates/slides/app/components/editor/AnimationsPanel.tsx +7 -7
  528. package/corpus/templates/slides/app/components/editor/BlockBubbleMenu.tsx +5 -5
  529. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +6 -6
  530. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +13 -13
  531. package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +9 -10
  532. package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +5 -6
  533. package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +12 -12
  534. package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -4
  535. package/corpus/templates/slides/app/components/editor/ImageSearchPanel.tsx +4 -5
  536. package/corpus/templates/slides/app/components/editor/ImportButton.tsx +3 -4
  537. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +1 -2
  538. package/corpus/templates/slides/app/components/editor/ShareDialog.tsx +10 -10
  539. package/corpus/templates/slides/app/components/editor/SlideBubbleMenu.tsx +10 -10
  540. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +6 -6
  541. package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +1 -2
  542. package/corpus/templates/slides/app/components/editor/TweaksPanel.tsx +1 -1
  543. package/corpus/templates/slides/app/components/layout/Header.tsx +4 -2
  544. package/corpus/templates/slides/app/components/layout/Layout.tsx +1 -1
  545. package/corpus/templates/slides/app/components/layout/Sidebar.tsx +5 -5
  546. package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +6 -6
  547. package/corpus/templates/slides/app/components/visual-editor/DrawOverlay.tsx +7 -7
  548. package/corpus/templates/slides/app/pages/DeckEditor.tsx +3 -3
  549. package/corpus/templates/slides/app/pages/DesignSystems.tsx +5 -5
  550. package/corpus/templates/slides/app/pages/Index.tsx +18 -15
  551. package/corpus/templates/slides/app/root.tsx +3 -3
  552. package/corpus/templates/slides/app/routes/p.$id.tsx +126 -12
  553. package/corpus/templates/slides/app/routes/settings.tsx +5 -5
  554. package/corpus/templates/slides/app/routes/share.$token.tsx +55 -8
  555. package/corpus/templates/slides/package.json +1 -0
  556. package/corpus/templates/slides/server/db/index.ts +9 -0
  557. package/corpus/templates/slides/server/routes/api/deck-agent-context.json.get.ts +97 -0
  558. package/corpus/templates/slides/shared/agent-readable.ts +2 -0
  559. package/dist/application-state/emitter.d.ts +9 -2
  560. package/dist/application-state/emitter.d.ts.map +1 -1
  561. package/dist/application-state/emitter.js +25 -3
  562. package/dist/application-state/emitter.js.map +1 -1
  563. package/dist/cli/create.d.ts +2 -1
  564. package/dist/cli/create.d.ts.map +1 -1
  565. package/dist/cli/create.js +52 -4
  566. package/dist/cli/create.js.map +1 -1
  567. package/dist/cli/workspacify.d.ts +2 -0
  568. package/dist/cli/workspacify.d.ts.map +1 -1
  569. package/dist/cli/workspacify.js +8 -4
  570. package/dist/cli/workspacify.js.map +1 -1
  571. package/dist/client/components/ui/dialog.d.ts +1 -13
  572. package/dist/client/components/ui/dialog.d.ts.map +1 -1
  573. package/dist/client/components/ui/dialog.js +1 -20
  574. package/dist/client/components/ui/dialog.js.map +1 -1
  575. package/dist/client/components/ui/dropdown-menu.d.ts +1 -27
  576. package/dist/client/components/ui/dropdown-menu.d.ts.map +1 -1
  577. package/dist/client/components/ui/dropdown-menu.js +1 -33
  578. package/dist/client/components/ui/dropdown-menu.js.map +1 -1
  579. package/dist/client/components/ui/hover-card.d.ts +1 -6
  580. package/dist/client/components/ui/hover-card.d.ts.map +1 -1
  581. package/dist/client/components/ui/hover-card.js +1 -9
  582. package/dist/client/components/ui/hover-card.js.map +1 -1
  583. package/dist/client/components/ui/popover.d.ts +1 -7
  584. package/dist/client/components/ui/popover.d.ts.map +1 -1
  585. package/dist/client/components/ui/popover.js +1 -10
  586. package/dist/client/components/ui/popover.js.map +1 -1
  587. package/dist/client/components/ui/sheet.d.ts +1 -15
  588. package/dist/client/components/ui/sheet.d.ts.map +1 -1
  589. package/dist/client/components/ui/sheet.js +1 -22
  590. package/dist/client/components/ui/sheet.js.map +1 -1
  591. package/dist/client/components/ui/tooltip.d.ts +1 -8
  592. package/dist/client/components/ui/tooltip.d.ts.map +1 -1
  593. package/dist/client/components/ui/tooltip.js +1 -17
  594. package/dist/client/components/ui/tooltip.js.map +1 -1
  595. package/dist/collab/routes.d.ts +1 -1
  596. package/dist/collab/struct-routes.d.ts +1 -1
  597. package/dist/observability/routes.d.ts +5 -5
  598. package/dist/progress/routes.d.ts +1 -1
  599. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  600. package/dist/secrets/crypto.d.ts.map +1 -1
  601. package/dist/secrets/crypto.js +37 -4
  602. package/dist/secrets/crypto.js.map +1 -1
  603. package/dist/secrets/routes.d.ts +9 -9
  604. package/dist/server/action-discovery.d.ts.map +1 -1
  605. package/dist/server/action-discovery.js +4 -0
  606. package/dist/server/action-discovery.js.map +1 -1
  607. package/dist/server/action-routes.d.ts.map +1 -1
  608. package/dist/server/action-routes.js +8 -2
  609. package/dist/server/action-routes.js.map +1 -1
  610. package/dist/server/agent-access.d.ts +16 -0
  611. package/dist/server/agent-access.d.ts.map +1 -0
  612. package/dist/server/agent-access.js +25 -0
  613. package/dist/server/agent-access.js.map +1 -0
  614. package/dist/server/h3-helpers.d.ts.map +1 -1
  615. package/dist/server/h3-helpers.js +12 -2
  616. package/dist/server/h3-helpers.js.map +1 -1
  617. package/dist/server/index.d.ts +2 -0
  618. package/dist/server/index.d.ts.map +1 -1
  619. package/dist/server/index.js +2 -0
  620. package/dist/server/index.js.map +1 -1
  621. package/dist/server/request-context.d.ts +17 -0
  622. package/dist/server/request-context.d.ts.map +1 -1
  623. package/dist/server/request-context.js +46 -6
  624. package/dist/server/request-context.js.map +1 -1
  625. package/dist/server/transcribe-voice.d.ts +1 -1
  626. package/dist/shared/agent-access.d.ts +29 -0
  627. package/dist/shared/agent-access.d.ts.map +1 -0
  628. package/dist/shared/agent-access.js +57 -0
  629. package/dist/shared/agent-access.js.map +1 -0
  630. package/dist/shared/agent-readable-resource.d.ts +29 -0
  631. package/dist/shared/agent-readable-resource.d.ts.map +1 -0
  632. package/dist/shared/agent-readable-resource.js +60 -0
  633. package/dist/shared/agent-readable-resource.js.map +1 -0
  634. package/dist/shared/index.d.ts +2 -0
  635. package/dist/shared/index.d.ts.map +1 -1
  636. package/dist/shared/index.js +2 -0
  637. package/dist/shared/index.js.map +1 -1
  638. package/dist/sharing/actions/create-agent-resource-link.d.ts +13 -0
  639. package/dist/sharing/actions/create-agent-resource-link.d.ts.map +1 -0
  640. package/dist/sharing/actions/create-agent-resource-link.js +72 -0
  641. package/dist/sharing/actions/create-agent-resource-link.js.map +1 -0
  642. package/dist/sharing/registry.d.ts +17 -0
  643. package/dist/sharing/registry.d.ts.map +1 -1
  644. package/dist/sharing/registry.js.map +1 -1
  645. package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +92 -0
  646. package/dist/vite/client.d.ts.map +1 -1
  647. package/dist/vite/client.js +1 -0
  648. package/dist/vite/client.js.map +1 -1
  649. package/docs/content/agent-native-toolkit.mdx +162 -0
  650. package/docs/content/components.mdx +13 -0
  651. package/docs/content/creating-templates.mdx +7 -0
  652. package/docs/content/locales/ar-SA/agent-native-toolkit.mdx +73 -0
  653. package/docs/content/locales/ar-SA/components.mdx +9 -0
  654. package/docs/content/locales/ar-SA/creating-templates.mdx +2 -0
  655. package/docs/content/locales/ar-SA/sharing.mdx +15 -7
  656. package/docs/content/locales/ar-SA/template-analytics.mdx +6 -0
  657. package/docs/content/locales/ar-SA/template-clips.mdx +7 -0
  658. package/docs/content/locales/ar-SA/tracking.mdx +6 -0
  659. package/docs/content/locales/de-DE/agent-native-toolkit.mdx +77 -0
  660. package/docs/content/locales/de-DE/components.mdx +9 -0
  661. package/docs/content/locales/de-DE/creating-templates.mdx +2 -0
  662. package/docs/content/locales/de-DE/sharing.mdx +15 -7
  663. package/docs/content/locales/de-DE/template-analytics.mdx +6 -0
  664. package/docs/content/locales/de-DE/template-clips.mdx +7 -0
  665. package/docs/content/locales/de-DE/tracking.mdx +6 -0
  666. package/docs/content/locales/es-ES/agent-native-toolkit.mdx +77 -0
  667. package/docs/content/locales/es-ES/components.mdx +9 -0
  668. package/docs/content/locales/es-ES/creating-templates.mdx +2 -0
  669. package/docs/content/locales/es-ES/sharing.mdx +15 -7
  670. package/docs/content/locales/es-ES/template-analytics.mdx +6 -0
  671. package/docs/content/locales/es-ES/template-clips.mdx +7 -0
  672. package/docs/content/locales/es-ES/tracking.mdx +6 -0
  673. package/docs/content/locales/fr-FR/agent-native-toolkit.mdx +79 -0
  674. package/docs/content/locales/fr-FR/components.mdx +9 -0
  675. package/docs/content/locales/fr-FR/creating-templates.mdx +2 -0
  676. package/docs/content/locales/fr-FR/sharing.mdx +15 -7
  677. package/docs/content/locales/fr-FR/template-analytics.mdx +6 -0
  678. package/docs/content/locales/fr-FR/template-clips.mdx +7 -0
  679. package/docs/content/locales/fr-FR/tracking.mdx +6 -0
  680. package/docs/content/locales/hi-IN/agent-native-toolkit.mdx +74 -0
  681. package/docs/content/locales/hi-IN/components.mdx +9 -0
  682. package/docs/content/locales/hi-IN/creating-templates.mdx +2 -0
  683. package/docs/content/locales/hi-IN/sharing.mdx +15 -7
  684. package/docs/content/locales/hi-IN/template-analytics.mdx +6 -0
  685. package/docs/content/locales/hi-IN/template-clips.mdx +7 -0
  686. package/docs/content/locales/hi-IN/tracking.mdx +6 -0
  687. package/docs/content/locales/ja-JP/agent-native-toolkit.mdx +67 -0
  688. package/docs/content/locales/ja-JP/components.mdx +9 -0
  689. package/docs/content/locales/ja-JP/creating-templates.mdx +2 -0
  690. package/docs/content/locales/ja-JP/sharing.mdx +15 -7
  691. package/docs/content/locales/ja-JP/template-analytics.mdx +6 -0
  692. package/docs/content/locales/ja-JP/template-clips.mdx +7 -0
  693. package/docs/content/locales/ja-JP/tracking.mdx +6 -0
  694. package/docs/content/locales/ko-KR/agent-native-toolkit.mdx +63 -0
  695. package/docs/content/locales/ko-KR/components.mdx +9 -0
  696. package/docs/content/locales/ko-KR/creating-templates.mdx +2 -0
  697. package/docs/content/locales/ko-KR/sharing.mdx +15 -7
  698. package/docs/content/locales/ko-KR/template-analytics.mdx +6 -0
  699. package/docs/content/locales/ko-KR/template-clips.mdx +7 -0
  700. package/docs/content/locales/ko-KR/tracking.mdx +6 -0
  701. package/docs/content/locales/pt-BR/agent-native-toolkit.mdx +77 -0
  702. package/docs/content/locales/pt-BR/components.mdx +9 -0
  703. package/docs/content/locales/pt-BR/creating-templates.mdx +2 -0
  704. package/docs/content/locales/pt-BR/sharing.mdx +15 -7
  705. package/docs/content/locales/pt-BR/template-analytics.mdx +6 -0
  706. package/docs/content/locales/pt-BR/template-clips.mdx +7 -0
  707. package/docs/content/locales/pt-BR/tracking.mdx +6 -0
  708. package/docs/content/locales/zh-CN/agent-native-toolkit.mdx +61 -0
  709. package/docs/content/locales/zh-CN/components.mdx +9 -0
  710. package/docs/content/locales/zh-CN/creating-templates.mdx +2 -0
  711. package/docs/content/locales/zh-CN/sharing.mdx +15 -7
  712. package/docs/content/locales/zh-CN/template-analytics.mdx +6 -0
  713. package/docs/content/locales/zh-CN/template-clips.mdx +7 -0
  714. package/docs/content/locales/zh-CN/tracking.mdx +6 -0
  715. package/docs/content/locales/zh-TW/agent-native-toolkit.mdx +61 -0
  716. package/docs/content/locales/zh-TW/components.mdx +9 -0
  717. package/docs/content/locales/zh-TW/creating-templates.mdx +2 -0
  718. package/docs/content/locales/zh-TW/sharing.mdx +15 -7
  719. package/docs/content/locales/zh-TW/template-analytics.mdx +6 -0
  720. package/docs/content/locales/zh-TW/template-clips.mdx +7 -0
  721. package/docs/content/locales/zh-TW/tracking.mdx +6 -0
  722. package/docs/content/sharing.mdx +39 -7
  723. package/docs/content/template-analytics.mdx +6 -0
  724. package/docs/content/template-clips.mdx +7 -0
  725. package/docs/content/tracking.mdx +6 -0
  726. package/package.json +10 -2
  727. package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +92 -0
  728. package/corpus/templates/analytics/app/components/ui/accordion.tsx +0 -56
  729. package/corpus/templates/analytics/app/components/ui/alert-dialog.tsx +0 -139
  730. package/corpus/templates/analytics/app/components/ui/alert.tsx +0 -59
  731. package/corpus/templates/analytics/app/components/ui/aspect-ratio.tsx +0 -5
  732. package/corpus/templates/analytics/app/components/ui/avatar.tsx +0 -48
  733. package/corpus/templates/analytics/app/components/ui/badge.tsx +0 -37
  734. package/corpus/templates/analytics/app/components/ui/breadcrumb.tsx +0 -115
  735. package/corpus/templates/analytics/app/components/ui/button.tsx +0 -57
  736. package/corpus/templates/analytics/app/components/ui/card.tsx +0 -86
  737. package/corpus/templates/analytics/app/components/ui/carousel.tsx +0 -260
  738. package/corpus/templates/analytics/app/components/ui/checkbox.tsx +0 -28
  739. package/corpus/templates/analytics/app/components/ui/collapsible.tsx +0 -9
  740. package/corpus/templates/analytics/app/components/ui/command.tsx +0 -154
  741. package/corpus/templates/analytics/app/components/ui/context-menu.tsx +0 -202
  742. package/corpus/templates/analytics/app/components/ui/date-picker.tsx +0 -68
  743. package/corpus/templates/analytics/app/components/ui/dialog.tsx +0 -130
  744. package/corpus/templates/analytics/app/components/ui/drawer.tsx +0 -116
  745. package/corpus/templates/analytics/app/components/ui/dropdown-menu.tsx +0 -212
  746. package/corpus/templates/analytics/app/components/ui/form.tsx +0 -177
  747. package/corpus/templates/analytics/app/components/ui/hover-card.tsx +0 -27
  748. package/corpus/templates/analytics/app/components/ui/input-otp.tsx +0 -69
  749. package/corpus/templates/analytics/app/components/ui/input.tsx +0 -22
  750. package/corpus/templates/analytics/app/components/ui/label.tsx +0 -24
  751. package/corpus/templates/analytics/app/components/ui/menubar.tsx +0 -234
  752. package/corpus/templates/analytics/app/components/ui/navigation-menu.tsx +0 -128
  753. package/corpus/templates/analytics/app/components/ui/pagination.tsx +0 -121
  754. package/corpus/templates/analytics/app/components/ui/popover.tsx +0 -44
  755. package/corpus/templates/analytics/app/components/ui/progress.tsx +0 -26
  756. package/corpus/templates/analytics/app/components/ui/radio-group.tsx +0 -42
  757. package/corpus/templates/analytics/app/components/ui/resizable.tsx +0 -43
  758. package/corpus/templates/analytics/app/components/ui/scroll-area.tsx +0 -46
  759. package/corpus/templates/analytics/app/components/ui/select.tsx +0 -158
  760. package/corpus/templates/analytics/app/components/ui/separator.tsx +0 -29
  761. package/corpus/templates/analytics/app/components/ui/sheet.tsx +0 -160
  762. package/corpus/templates/analytics/app/components/ui/sidebar.tsx +0 -782
  763. package/corpus/templates/analytics/app/components/ui/skeleton.tsx +0 -15
  764. package/corpus/templates/analytics/app/components/ui/slider.tsx +0 -26
  765. package/corpus/templates/analytics/app/components/ui/sonner.tsx +0 -58
  766. package/corpus/templates/analytics/app/components/ui/spinner.tsx +0 -17
  767. package/corpus/templates/analytics/app/components/ui/switch.tsx +0 -27
  768. package/corpus/templates/analytics/app/components/ui/table.tsx +0 -117
  769. package/corpus/templates/analytics/app/components/ui/tabs.tsx +0 -53
  770. package/corpus/templates/analytics/app/components/ui/textarea.tsx +0 -23
  771. package/corpus/templates/analytics/app/components/ui/toast.tsx +0 -127
  772. package/corpus/templates/analytics/app/components/ui/toaster.tsx +0 -33
  773. package/corpus/templates/analytics/app/components/ui/toggle-group.tsx +0 -59
  774. package/corpus/templates/analytics/app/components/ui/toggle.tsx +0 -43
  775. package/corpus/templates/analytics/app/components/ui/tooltip.tsx +0 -30
  776. package/corpus/templates/analytics/app/components/ui/use-toast.ts +0 -3
  777. package/corpus/templates/analytics/app/hooks/use-mobile.tsx +0 -21
  778. package/corpus/templates/analytics/app/hooks/use-toast.ts +0 -188
  779. package/corpus/templates/assets/app/components/layout/HeaderActions.tsx +0 -84
  780. package/corpus/templates/assets/app/components/ui/alert-dialog.tsx +0 -139
  781. package/corpus/templates/assets/app/components/ui/alert.tsx +0 -59
  782. package/corpus/templates/assets/app/components/ui/avatar.tsx +0 -48
  783. package/corpus/templates/assets/app/components/ui/badge.tsx +0 -37
  784. package/corpus/templates/assets/app/components/ui/breadcrumb.tsx +0 -115
  785. package/corpus/templates/assets/app/components/ui/button.tsx +0 -57
  786. package/corpus/templates/assets/app/components/ui/card.tsx +0 -86
  787. package/corpus/templates/assets/app/components/ui/checkbox.tsx +0 -28
  788. package/corpus/templates/assets/app/components/ui/dialog.tsx +0 -130
  789. package/corpus/templates/assets/app/components/ui/dropdown-menu.tsx +0 -212
  790. package/corpus/templates/assets/app/components/ui/hover-card.tsx +0 -27
  791. package/corpus/templates/assets/app/components/ui/input.tsx +0 -22
  792. package/corpus/templates/assets/app/components/ui/label.tsx +0 -24
  793. package/corpus/templates/assets/app/components/ui/pagination.tsx +0 -121
  794. package/corpus/templates/assets/app/components/ui/popover.tsx +0 -44
  795. package/corpus/templates/assets/app/components/ui/progress.tsx +0 -26
  796. package/corpus/templates/assets/app/components/ui/scroll-area.tsx +0 -46
  797. package/corpus/templates/assets/app/components/ui/select.tsx +0 -158
  798. package/corpus/templates/assets/app/components/ui/separator.tsx +0 -29
  799. package/corpus/templates/assets/app/components/ui/sheet.tsx +0 -160
  800. package/corpus/templates/assets/app/components/ui/skeleton.tsx +0 -15
  801. package/corpus/templates/assets/app/components/ui/slider.tsx +0 -26
  802. package/corpus/templates/assets/app/components/ui/sonner.tsx +0 -58
  803. package/corpus/templates/assets/app/components/ui/spinner.tsx +0 -17
  804. package/corpus/templates/assets/app/components/ui/table.tsx +0 -117
  805. package/corpus/templates/assets/app/components/ui/tabs.tsx +0 -53
  806. package/corpus/templates/assets/app/components/ui/tooltip.tsx +0 -30
  807. package/corpus/templates/brain/app/components/ui/badge.tsx +0 -37
  808. package/corpus/templates/brain/app/components/ui/button.tsx +0 -57
  809. package/corpus/templates/brain/app/components/ui/card.tsx +0 -86
  810. package/corpus/templates/brain/app/components/ui/input.tsx +0 -22
  811. package/corpus/templates/brain/app/components/ui/label.tsx +0 -24
  812. package/corpus/templates/brain/app/components/ui/progress.tsx +0 -26
  813. package/corpus/templates/brain/app/components/ui/select.tsx +0 -158
  814. package/corpus/templates/brain/app/components/ui/separator.tsx +0 -29
  815. package/corpus/templates/brain/app/components/ui/sheet.tsx +0 -160
  816. package/corpus/templates/brain/app/components/ui/skeleton.tsx +0 -15
  817. package/corpus/templates/brain/app/components/ui/sonner.tsx +0 -58
  818. package/corpus/templates/brain/app/components/ui/switch.tsx +0 -27
  819. package/corpus/templates/brain/app/components/ui/table.tsx +0 -117
  820. package/corpus/templates/brain/app/components/ui/textarea.tsx +0 -23
  821. package/corpus/templates/brain/app/components/ui/tooltip.tsx +0 -30
  822. package/corpus/templates/calendar/app/components/ui/accordion.tsx +0 -56
  823. package/corpus/templates/calendar/app/components/ui/alert-dialog.tsx +0 -139
  824. package/corpus/templates/calendar/app/components/ui/alert.tsx +0 -59
  825. package/corpus/templates/calendar/app/components/ui/aspect-ratio.tsx +0 -5
  826. package/corpus/templates/calendar/app/components/ui/avatar.tsx +0 -48
  827. package/corpus/templates/calendar/app/components/ui/badge.tsx +0 -37
  828. package/corpus/templates/calendar/app/components/ui/breadcrumb.tsx +0 -115
  829. package/corpus/templates/calendar/app/components/ui/button.tsx +0 -57
  830. package/corpus/templates/calendar/app/components/ui/calendar.tsx +0 -68
  831. package/corpus/templates/calendar/app/components/ui/card.tsx +0 -86
  832. package/corpus/templates/calendar/app/components/ui/carousel.tsx +0 -260
  833. package/corpus/templates/calendar/app/components/ui/chart.tsx +0 -375
  834. package/corpus/templates/calendar/app/components/ui/checkbox.tsx +0 -28
  835. package/corpus/templates/calendar/app/components/ui/collapsible.tsx +0 -9
  836. package/corpus/templates/calendar/app/components/ui/command.tsx +0 -154
  837. package/corpus/templates/calendar/app/components/ui/context-menu.tsx +0 -202
  838. package/corpus/templates/calendar/app/components/ui/dialog.tsx +0 -130
  839. package/corpus/templates/calendar/app/components/ui/drawer.tsx +0 -116
  840. package/corpus/templates/calendar/app/components/ui/dropdown-menu.tsx +0 -212
  841. package/corpus/templates/calendar/app/components/ui/form.tsx +0 -177
  842. package/corpus/templates/calendar/app/components/ui/hover-card.tsx +0 -27
  843. package/corpus/templates/calendar/app/components/ui/input-otp.tsx +0 -69
  844. package/corpus/templates/calendar/app/components/ui/input.tsx +0 -22
  845. package/corpus/templates/calendar/app/components/ui/label.tsx +0 -24
  846. package/corpus/templates/calendar/app/components/ui/menubar.tsx +0 -234
  847. package/corpus/templates/calendar/app/components/ui/navigation-menu.tsx +0 -128
  848. package/corpus/templates/calendar/app/components/ui/pagination.tsx +0 -121
  849. package/corpus/templates/calendar/app/components/ui/popover.tsx +0 -44
  850. package/corpus/templates/calendar/app/components/ui/progress.tsx +0 -26
  851. package/corpus/templates/calendar/app/components/ui/radio-group.tsx +0 -42
  852. package/corpus/templates/calendar/app/components/ui/resizable.tsx +0 -43
  853. package/corpus/templates/calendar/app/components/ui/scroll-area.tsx +0 -46
  854. package/corpus/templates/calendar/app/components/ui/select.tsx +0 -158
  855. package/corpus/templates/calendar/app/components/ui/separator.tsx +0 -29
  856. package/corpus/templates/calendar/app/components/ui/sheet.tsx +0 -160
  857. package/corpus/templates/calendar/app/components/ui/sidebar.tsx +0 -782
  858. package/corpus/templates/calendar/app/components/ui/skeleton.tsx +0 -15
  859. package/corpus/templates/calendar/app/components/ui/slider.tsx +0 -26
  860. package/corpus/templates/calendar/app/components/ui/spinner.tsx +0 -17
  861. package/corpus/templates/calendar/app/components/ui/switch.tsx +0 -27
  862. package/corpus/templates/calendar/app/components/ui/table.tsx +0 -117
  863. package/corpus/templates/calendar/app/components/ui/tabs.tsx +0 -53
  864. package/corpus/templates/calendar/app/components/ui/textarea.tsx +0 -23
  865. package/corpus/templates/calendar/app/components/ui/toast.tsx +0 -127
  866. package/corpus/templates/calendar/app/components/ui/toaster.tsx +0 -33
  867. package/corpus/templates/calendar/app/components/ui/toggle-group.tsx +0 -59
  868. package/corpus/templates/calendar/app/components/ui/toggle.tsx +0 -43
  869. package/corpus/templates/calendar/app/components/ui/tooltip.tsx +0 -30
  870. package/corpus/templates/calendar/app/components/ui/use-toast.ts +0 -3
  871. package/corpus/templates/calendar/app/hooks/use-mobile.tsx +0 -21
  872. package/corpus/templates/calendar/app/hooks/use-toast.ts +0 -188
  873. package/corpus/templates/chat/app/components/layout/HeaderActions.tsx +0 -84
  874. package/corpus/templates/chat/app/components/ui/accordion.tsx +0 -56
  875. package/corpus/templates/chat/app/components/ui/alert-dialog.tsx +0 -139
  876. package/corpus/templates/chat/app/components/ui/alert.tsx +0 -59
  877. package/corpus/templates/chat/app/components/ui/aspect-ratio.tsx +0 -5
  878. package/corpus/templates/chat/app/components/ui/avatar.tsx +0 -48
  879. package/corpus/templates/chat/app/components/ui/badge.tsx +0 -37
  880. package/corpus/templates/chat/app/components/ui/breadcrumb.tsx +0 -115
  881. package/corpus/templates/chat/app/components/ui/button.tsx +0 -57
  882. package/corpus/templates/chat/app/components/ui/calendar.tsx +0 -68
  883. package/corpus/templates/chat/app/components/ui/card.tsx +0 -86
  884. package/corpus/templates/chat/app/components/ui/carousel.tsx +0 -260
  885. package/corpus/templates/chat/app/components/ui/chart.tsx +0 -375
  886. package/corpus/templates/chat/app/components/ui/checkbox.tsx +0 -28
  887. package/corpus/templates/chat/app/components/ui/collapsible.tsx +0 -9
  888. package/corpus/templates/chat/app/components/ui/command.tsx +0 -154
  889. package/corpus/templates/chat/app/components/ui/context-menu.tsx +0 -202
  890. package/corpus/templates/chat/app/components/ui/dialog.tsx +0 -130
  891. package/corpus/templates/chat/app/components/ui/drawer.tsx +0 -116
  892. package/corpus/templates/chat/app/components/ui/dropdown-menu.tsx +0 -212
  893. package/corpus/templates/chat/app/components/ui/form.tsx +0 -177
  894. package/corpus/templates/chat/app/components/ui/hover-card.tsx +0 -27
  895. package/corpus/templates/chat/app/components/ui/input-otp.tsx +0 -69
  896. package/corpus/templates/chat/app/components/ui/input.tsx +0 -22
  897. package/corpus/templates/chat/app/components/ui/label.tsx +0 -24
  898. package/corpus/templates/chat/app/components/ui/menubar.tsx +0 -234
  899. package/corpus/templates/chat/app/components/ui/navigation-menu.tsx +0 -128
  900. package/corpus/templates/chat/app/components/ui/pagination.tsx +0 -121
  901. package/corpus/templates/chat/app/components/ui/popover.tsx +0 -44
  902. package/corpus/templates/chat/app/components/ui/progress.tsx +0 -26
  903. package/corpus/templates/chat/app/components/ui/radio-group.tsx +0 -42
  904. package/corpus/templates/chat/app/components/ui/resizable.tsx +0 -43
  905. package/corpus/templates/chat/app/components/ui/scroll-area.tsx +0 -46
  906. package/corpus/templates/chat/app/components/ui/select.tsx +0 -158
  907. package/corpus/templates/chat/app/components/ui/separator.tsx +0 -29
  908. package/corpus/templates/chat/app/components/ui/sheet.tsx +0 -160
  909. package/corpus/templates/chat/app/components/ui/sidebar.tsx +0 -782
  910. package/corpus/templates/chat/app/components/ui/skeleton.tsx +0 -15
  911. package/corpus/templates/chat/app/components/ui/slider.tsx +0 -26
  912. package/corpus/templates/chat/app/components/ui/sonner.tsx +0 -58
  913. package/corpus/templates/chat/app/components/ui/spinner.tsx +0 -17
  914. package/corpus/templates/chat/app/components/ui/switch.tsx +0 -27
  915. package/corpus/templates/chat/app/components/ui/table.tsx +0 -117
  916. package/corpus/templates/chat/app/components/ui/tabs.tsx +0 -53
  917. package/corpus/templates/chat/app/components/ui/textarea.tsx +0 -23
  918. package/corpus/templates/chat/app/components/ui/toast.tsx +0 -127
  919. package/corpus/templates/chat/app/components/ui/toaster.tsx +0 -33
  920. package/corpus/templates/chat/app/components/ui/toggle-group.tsx +0 -59
  921. package/corpus/templates/chat/app/components/ui/toggle.tsx +0 -43
  922. package/corpus/templates/chat/app/components/ui/tooltip.tsx +0 -30
  923. package/corpus/templates/chat/app/components/ui/use-toast.ts +0 -3
  924. package/corpus/templates/chat/app/hooks/use-mobile.tsx +0 -21
  925. package/corpus/templates/chat/app/hooks/use-toast.ts +0 -188
  926. package/corpus/templates/clips/app/components/layout/HeaderActions.tsx +0 -84
  927. package/corpus/templates/clips/app/components/ui/accordion.tsx +0 -56
  928. package/corpus/templates/clips/app/components/ui/alert-dialog.tsx +0 -139
  929. package/corpus/templates/clips/app/components/ui/alert.tsx +0 -59
  930. package/corpus/templates/clips/app/components/ui/aspect-ratio.tsx +0 -5
  931. package/corpus/templates/clips/app/components/ui/avatar.tsx +0 -48
  932. package/corpus/templates/clips/app/components/ui/badge.tsx +0 -37
  933. package/corpus/templates/clips/app/components/ui/breadcrumb.tsx +0 -115
  934. package/corpus/templates/clips/app/components/ui/button.tsx +0 -57
  935. package/corpus/templates/clips/app/components/ui/calendar.tsx +0 -68
  936. package/corpus/templates/clips/app/components/ui/card.tsx +0 -86
  937. package/corpus/templates/clips/app/components/ui/carousel.tsx +0 -260
  938. package/corpus/templates/clips/app/components/ui/chart.tsx +0 -375
  939. package/corpus/templates/clips/app/components/ui/checkbox.tsx +0 -28
  940. package/corpus/templates/clips/app/components/ui/collapsible.tsx +0 -9
  941. package/corpus/templates/clips/app/components/ui/command.tsx +0 -154
  942. package/corpus/templates/clips/app/components/ui/context-menu.tsx +0 -202
  943. package/corpus/templates/clips/app/components/ui/dialog.tsx +0 -130
  944. package/corpus/templates/clips/app/components/ui/drawer.tsx +0 -116
  945. package/corpus/templates/clips/app/components/ui/dropdown-menu.tsx +0 -212
  946. package/corpus/templates/clips/app/components/ui/form.tsx +0 -177
  947. package/corpus/templates/clips/app/components/ui/hover-card.tsx +0 -27
  948. package/corpus/templates/clips/app/components/ui/input-otp.tsx +0 -69
  949. package/corpus/templates/clips/app/components/ui/input.tsx +0 -22
  950. package/corpus/templates/clips/app/components/ui/label.tsx +0 -24
  951. package/corpus/templates/clips/app/components/ui/menubar.tsx +0 -234
  952. package/corpus/templates/clips/app/components/ui/navigation-menu.tsx +0 -128
  953. package/corpus/templates/clips/app/components/ui/pagination.tsx +0 -121
  954. package/corpus/templates/clips/app/components/ui/popover.tsx +0 -44
  955. package/corpus/templates/clips/app/components/ui/progress.tsx +0 -26
  956. package/corpus/templates/clips/app/components/ui/radio-group.tsx +0 -42
  957. package/corpus/templates/clips/app/components/ui/resizable.tsx +0 -43
  958. package/corpus/templates/clips/app/components/ui/scroll-area.tsx +0 -46
  959. package/corpus/templates/clips/app/components/ui/select.tsx +0 -158
  960. package/corpus/templates/clips/app/components/ui/separator.tsx +0 -29
  961. package/corpus/templates/clips/app/components/ui/sheet.tsx +0 -160
  962. package/corpus/templates/clips/app/components/ui/sidebar.tsx +0 -782
  963. package/corpus/templates/clips/app/components/ui/skeleton.tsx +0 -15
  964. package/corpus/templates/clips/app/components/ui/slider.tsx +0 -26
  965. package/corpus/templates/clips/app/components/ui/sonner.tsx +0 -58
  966. package/corpus/templates/clips/app/components/ui/spinner.tsx +0 -17
  967. package/corpus/templates/clips/app/components/ui/switch.tsx +0 -27
  968. package/corpus/templates/clips/app/components/ui/table.tsx +0 -117
  969. package/corpus/templates/clips/app/components/ui/tabs.tsx +0 -53
  970. package/corpus/templates/clips/app/components/ui/textarea.tsx +0 -23
  971. package/corpus/templates/clips/app/components/ui/toast.tsx +0 -127
  972. package/corpus/templates/clips/app/components/ui/toaster.tsx +0 -33
  973. package/corpus/templates/clips/app/components/ui/toggle-group.tsx +0 -59
  974. package/corpus/templates/clips/app/components/ui/toggle.tsx +0 -43
  975. package/corpus/templates/clips/app/components/ui/tooltip.tsx +0 -30
  976. package/corpus/templates/clips/app/components/ui/use-toast.ts +0 -3
  977. package/corpus/templates/clips/app/hooks/use-mobile.tsx +0 -21
  978. package/corpus/templates/clips/app/hooks/use-toast.ts +0 -188
  979. package/corpus/templates/content/app/components/layout/HeaderActions.tsx +0 -84
  980. package/corpus/templates/content/app/components/ui/alert-dialog.tsx +0 -139
  981. package/corpus/templates/content/app/components/ui/button.tsx +0 -57
  982. package/corpus/templates/content/app/components/ui/dialog.tsx +0 -130
  983. package/corpus/templates/content/app/components/ui/dropdown-menu.tsx +0 -212
  984. package/corpus/templates/content/app/components/ui/input.tsx +0 -22
  985. package/corpus/templates/content/app/components/ui/label.tsx +0 -24
  986. package/corpus/templates/content/app/components/ui/popover.tsx +0 -44
  987. package/corpus/templates/content/app/components/ui/separator.tsx +0 -29
  988. package/corpus/templates/content/app/components/ui/sheet.tsx +0 -160
  989. package/corpus/templates/content/app/components/ui/skeleton.tsx +0 -15
  990. package/corpus/templates/content/app/components/ui/sonner.tsx +0 -58
  991. package/corpus/templates/content/app/components/ui/spinner.tsx +0 -17
  992. package/corpus/templates/content/app/components/ui/table.tsx +0 -117
  993. package/corpus/templates/content/app/components/ui/toast.tsx +0 -127
  994. package/corpus/templates/content/app/components/ui/toaster.tsx +0 -33
  995. package/corpus/templates/content/app/components/ui/toggle.tsx +0 -43
  996. package/corpus/templates/content/app/components/ui/tooltip.tsx +0 -30
  997. package/corpus/templates/content/app/components/ui/use-toast.ts +0 -3
  998. package/corpus/templates/content/app/hooks/use-mobile.tsx +0 -21
  999. package/corpus/templates/content/app/hooks/use-toast.ts +0 -188
  1000. package/corpus/templates/design/app/components/layout/HeaderActions.tsx +0 -84
  1001. package/corpus/templates/design/app/components/ui/accordion.tsx +0 -56
  1002. package/corpus/templates/design/app/components/ui/alert-dialog.tsx +0 -139
  1003. package/corpus/templates/design/app/components/ui/alert.tsx +0 -59
  1004. package/corpus/templates/design/app/components/ui/aspect-ratio.tsx +0 -5
  1005. package/corpus/templates/design/app/components/ui/avatar.tsx +0 -48
  1006. package/corpus/templates/design/app/components/ui/badge.tsx +0 -37
  1007. package/corpus/templates/design/app/components/ui/breadcrumb.tsx +0 -115
  1008. package/corpus/templates/design/app/components/ui/button.tsx +0 -57
  1009. package/corpus/templates/design/app/components/ui/calendar.tsx +0 -68
  1010. package/corpus/templates/design/app/components/ui/card.tsx +0 -86
  1011. package/corpus/templates/design/app/components/ui/carousel.tsx +0 -260
  1012. package/corpus/templates/design/app/components/ui/chart.tsx +0 -375
  1013. package/corpus/templates/design/app/components/ui/checkbox.tsx +0 -28
  1014. package/corpus/templates/design/app/components/ui/collapsible.tsx +0 -9
  1015. package/corpus/templates/design/app/components/ui/command.tsx +0 -154
  1016. package/corpus/templates/design/app/components/ui/context-menu.tsx +0 -202
  1017. package/corpus/templates/design/app/components/ui/dialog.tsx +0 -130
  1018. package/corpus/templates/design/app/components/ui/drawer.tsx +0 -116
  1019. package/corpus/templates/design/app/components/ui/dropdown-menu.tsx +0 -212
  1020. package/corpus/templates/design/app/components/ui/form.tsx +0 -177
  1021. package/corpus/templates/design/app/components/ui/hover-card.tsx +0 -27
  1022. package/corpus/templates/design/app/components/ui/input-otp.tsx +0 -69
  1023. package/corpus/templates/design/app/components/ui/input.tsx +0 -22
  1024. package/corpus/templates/design/app/components/ui/label.tsx +0 -24
  1025. package/corpus/templates/design/app/components/ui/menubar.tsx +0 -234
  1026. package/corpus/templates/design/app/components/ui/navigation-menu.tsx +0 -128
  1027. package/corpus/templates/design/app/components/ui/pagination.tsx +0 -121
  1028. package/corpus/templates/design/app/components/ui/popover.tsx +0 -44
  1029. package/corpus/templates/design/app/components/ui/progress.tsx +0 -26
  1030. package/corpus/templates/design/app/components/ui/radio-group.tsx +0 -42
  1031. package/corpus/templates/design/app/components/ui/resizable.tsx +0 -43
  1032. package/corpus/templates/design/app/components/ui/scroll-area.tsx +0 -46
  1033. package/corpus/templates/design/app/components/ui/select.tsx +0 -158
  1034. package/corpus/templates/design/app/components/ui/separator.tsx +0 -29
  1035. package/corpus/templates/design/app/components/ui/sheet.tsx +0 -160
  1036. package/corpus/templates/design/app/components/ui/sidebar.tsx +0 -782
  1037. package/corpus/templates/design/app/components/ui/skeleton.tsx +0 -15
  1038. package/corpus/templates/design/app/components/ui/slider.tsx +0 -26
  1039. package/corpus/templates/design/app/components/ui/sonner.tsx +0 -58
  1040. package/corpus/templates/design/app/components/ui/spinner.tsx +0 -17
  1041. package/corpus/templates/design/app/components/ui/switch.tsx +0 -27
  1042. package/corpus/templates/design/app/components/ui/table.tsx +0 -117
  1043. package/corpus/templates/design/app/components/ui/tabs.tsx +0 -53
  1044. package/corpus/templates/design/app/components/ui/textarea.tsx +0 -23
  1045. package/corpus/templates/design/app/components/ui/toast.tsx +0 -127
  1046. package/corpus/templates/design/app/components/ui/toaster.tsx +0 -33
  1047. package/corpus/templates/design/app/components/ui/toggle-group.tsx +0 -59
  1048. package/corpus/templates/design/app/components/ui/toggle.tsx +0 -43
  1049. package/corpus/templates/design/app/components/ui/tooltip.tsx +0 -30
  1050. package/corpus/templates/design/app/components/ui/use-toast.ts +0 -3
  1051. package/corpus/templates/design/app/hooks/use-mobile.tsx +0 -21
  1052. package/corpus/templates/design/app/hooks/use-toast.ts +0 -188
  1053. package/corpus/templates/forms/app/components/layout/HeaderActions.tsx +0 -84
  1054. package/corpus/templates/forms/app/components/ui/accordion.tsx +0 -56
  1055. package/corpus/templates/forms/app/components/ui/alert-dialog.tsx +0 -139
  1056. package/corpus/templates/forms/app/components/ui/alert.tsx +0 -59
  1057. package/corpus/templates/forms/app/components/ui/aspect-ratio.tsx +0 -5
  1058. package/corpus/templates/forms/app/components/ui/avatar.tsx +0 -48
  1059. package/corpus/templates/forms/app/components/ui/badge.tsx +0 -37
  1060. package/corpus/templates/forms/app/components/ui/breadcrumb.tsx +0 -115
  1061. package/corpus/templates/forms/app/components/ui/button.tsx +0 -57
  1062. package/corpus/templates/forms/app/components/ui/card.tsx +0 -86
  1063. package/corpus/templates/forms/app/components/ui/carousel.tsx +0 -260
  1064. package/corpus/templates/forms/app/components/ui/checkbox.tsx +0 -28
  1065. package/corpus/templates/forms/app/components/ui/collapsible.tsx +0 -9
  1066. package/corpus/templates/forms/app/components/ui/dialog.tsx +0 -130
  1067. package/corpus/templates/forms/app/components/ui/drawer.tsx +0 -116
  1068. package/corpus/templates/forms/app/components/ui/dropdown-menu.tsx +0 -212
  1069. package/corpus/templates/forms/app/components/ui/form.tsx +0 -177
  1070. package/corpus/templates/forms/app/components/ui/hover-card.tsx +0 -27
  1071. package/corpus/templates/forms/app/components/ui/input-otp.tsx +0 -69
  1072. package/corpus/templates/forms/app/components/ui/input.tsx +0 -22
  1073. package/corpus/templates/forms/app/components/ui/label.tsx +0 -24
  1074. package/corpus/templates/forms/app/components/ui/navigation-menu.tsx +0 -128
  1075. package/corpus/templates/forms/app/components/ui/pagination.tsx +0 -121
  1076. package/corpus/templates/forms/app/components/ui/popover.tsx +0 -44
  1077. package/corpus/templates/forms/app/components/ui/progress.tsx +0 -26
  1078. package/corpus/templates/forms/app/components/ui/radio-group.tsx +0 -42
  1079. package/corpus/templates/forms/app/components/ui/resizable.tsx +0 -43
  1080. package/corpus/templates/forms/app/components/ui/scroll-area.tsx +0 -46
  1081. package/corpus/templates/forms/app/components/ui/select.tsx +0 -158
  1082. package/corpus/templates/forms/app/components/ui/separator.tsx +0 -29
  1083. package/corpus/templates/forms/app/components/ui/sheet.tsx +0 -160
  1084. package/corpus/templates/forms/app/components/ui/sidebar.tsx +0 -782
  1085. package/corpus/templates/forms/app/components/ui/skeleton.tsx +0 -15
  1086. package/corpus/templates/forms/app/components/ui/slider.tsx +0 -26
  1087. package/corpus/templates/forms/app/components/ui/sonner.tsx +0 -58
  1088. package/corpus/templates/forms/app/components/ui/spinner.tsx +0 -17
  1089. package/corpus/templates/forms/app/components/ui/switch.tsx +0 -27
  1090. package/corpus/templates/forms/app/components/ui/table.tsx +0 -117
  1091. package/corpus/templates/forms/app/components/ui/tabs.tsx +0 -53
  1092. package/corpus/templates/forms/app/components/ui/textarea.tsx +0 -23
  1093. package/corpus/templates/forms/app/components/ui/toast.tsx +0 -127
  1094. package/corpus/templates/forms/app/components/ui/toaster.tsx +0 -33
  1095. package/corpus/templates/forms/app/components/ui/toggle-group.tsx +0 -59
  1096. package/corpus/templates/forms/app/components/ui/toggle.tsx +0 -43
  1097. package/corpus/templates/forms/app/components/ui/tooltip.tsx +0 -30
  1098. package/corpus/templates/forms/app/hooks/use-mobile.tsx +0 -21
  1099. package/corpus/templates/forms/app/hooks/use-toast.ts +0 -188
  1100. package/corpus/templates/macros/app/components/layout/HeaderActions.tsx +0 -84
  1101. package/corpus/templates/macros/app/components/ui/accordion.tsx +0 -56
  1102. package/corpus/templates/macros/app/components/ui/alert-dialog.tsx +0 -139
  1103. package/corpus/templates/macros/app/components/ui/alert.tsx +0 -59
  1104. package/corpus/templates/macros/app/components/ui/aspect-ratio.tsx +0 -5
  1105. package/corpus/templates/macros/app/components/ui/avatar.tsx +0 -48
  1106. package/corpus/templates/macros/app/components/ui/badge.tsx +0 -37
  1107. package/corpus/templates/macros/app/components/ui/breadcrumb.tsx +0 -115
  1108. package/corpus/templates/macros/app/components/ui/chart.tsx +0 -375
  1109. package/corpus/templates/macros/app/components/ui/checkbox.tsx +0 -28
  1110. package/corpus/templates/macros/app/components/ui/collapsible.tsx +0 -9
  1111. package/corpus/templates/macros/app/components/ui/command.tsx +0 -154
  1112. package/corpus/templates/macros/app/components/ui/context-menu.tsx +0 -202
  1113. package/corpus/templates/macros/app/components/ui/drawer.tsx +0 -116
  1114. package/corpus/templates/macros/app/components/ui/dropdown-menu.tsx +0 -212
  1115. package/corpus/templates/macros/app/components/ui/form.tsx +0 -177
  1116. package/corpus/templates/macros/app/components/ui/hover-card.tsx +0 -27
  1117. package/corpus/templates/macros/app/components/ui/label.tsx +0 -24
  1118. package/corpus/templates/macros/app/components/ui/logo.tsx +0 -36
  1119. package/corpus/templates/macros/app/components/ui/navigation-menu.tsx +0 -128
  1120. package/corpus/templates/macros/app/components/ui/pagination.tsx +0 -121
  1121. package/corpus/templates/macros/app/components/ui/popover.tsx +0 -44
  1122. package/corpus/templates/macros/app/components/ui/radio-group.tsx +0 -42
  1123. package/corpus/templates/macros/app/components/ui/scroll-area.tsx +0 -46
  1124. package/corpus/templates/macros/app/components/ui/select.tsx +0 -158
  1125. package/corpus/templates/macros/app/components/ui/separator.tsx +0 -29
  1126. package/corpus/templates/macros/app/components/ui/sheet.tsx +0 -160
  1127. package/corpus/templates/macros/app/components/ui/skeleton.tsx +0 -15
  1128. package/corpus/templates/macros/app/components/ui/slider.tsx +0 -26
  1129. package/corpus/templates/macros/app/components/ui/sonner.tsx +0 -58
  1130. package/corpus/templates/macros/app/components/ui/switch.tsx +0 -27
  1131. package/corpus/templates/macros/app/components/ui/table.tsx +0 -117
  1132. package/corpus/templates/macros/app/components/ui/toast.tsx +0 -127
  1133. package/corpus/templates/macros/app/components/ui/toggle-group.tsx +0 -59
  1134. package/corpus/templates/macros/app/components/ui/toggle.tsx +0 -43
  1135. package/corpus/templates/macros/app/components/ui/tooltip.tsx +0 -30
  1136. package/corpus/templates/mail/app/components/ui/accordion.tsx +0 -56
  1137. package/corpus/templates/mail/app/components/ui/alert-dialog.tsx +0 -139
  1138. package/corpus/templates/mail/app/components/ui/alert.tsx +0 -59
  1139. package/corpus/templates/mail/app/components/ui/aspect-ratio.tsx +0 -5
  1140. package/corpus/templates/mail/app/components/ui/avatar.tsx +0 -48
  1141. package/corpus/templates/mail/app/components/ui/badge.tsx +0 -37
  1142. package/corpus/templates/mail/app/components/ui/breadcrumb.tsx +0 -115
  1143. package/corpus/templates/mail/app/components/ui/button.tsx +0 -57
  1144. package/corpus/templates/mail/app/components/ui/card.tsx +0 -86
  1145. package/corpus/templates/mail/app/components/ui/carousel.tsx +0 -260
  1146. package/corpus/templates/mail/app/components/ui/checkbox.tsx +0 -28
  1147. package/corpus/templates/mail/app/components/ui/collapsible.tsx +0 -9
  1148. package/corpus/templates/mail/app/components/ui/dialog.tsx +0 -130
  1149. package/corpus/templates/mail/app/components/ui/drawer.tsx +0 -116
  1150. package/corpus/templates/mail/app/components/ui/dropdown-menu.tsx +0 -212
  1151. package/corpus/templates/mail/app/components/ui/form.tsx +0 -177
  1152. package/corpus/templates/mail/app/components/ui/hover-card.tsx +0 -27
  1153. package/corpus/templates/mail/app/components/ui/input-otp.tsx +0 -69
  1154. package/corpus/templates/mail/app/components/ui/label.tsx +0 -24
  1155. package/corpus/templates/mail/app/components/ui/navigation-menu.tsx +0 -128
  1156. package/corpus/templates/mail/app/components/ui/pagination.tsx +0 -121
  1157. package/corpus/templates/mail/app/components/ui/popover.tsx +0 -44
  1158. package/corpus/templates/mail/app/components/ui/progress.tsx +0 -26
  1159. package/corpus/templates/mail/app/components/ui/radio-group.tsx +0 -42
  1160. package/corpus/templates/mail/app/components/ui/resizable.tsx +0 -43
  1161. package/corpus/templates/mail/app/components/ui/scroll-area.tsx +0 -46
  1162. package/corpus/templates/mail/app/components/ui/select.tsx +0 -158
  1163. package/corpus/templates/mail/app/components/ui/separator.tsx +0 -29
  1164. package/corpus/templates/mail/app/components/ui/sheet.tsx +0 -160
  1165. package/corpus/templates/mail/app/components/ui/sidebar.tsx +0 -782
  1166. package/corpus/templates/mail/app/components/ui/skeleton.tsx +0 -15
  1167. package/corpus/templates/mail/app/components/ui/slider.tsx +0 -26
  1168. package/corpus/templates/mail/app/components/ui/spinner.tsx +0 -17
  1169. package/corpus/templates/mail/app/components/ui/switch.tsx +0 -27
  1170. package/corpus/templates/mail/app/components/ui/table.tsx +0 -117
  1171. package/corpus/templates/mail/app/components/ui/tabs.tsx +0 -53
  1172. package/corpus/templates/mail/app/components/ui/toast.tsx +0 -127
  1173. package/corpus/templates/mail/app/components/ui/toaster.tsx +0 -33
  1174. package/corpus/templates/mail/app/components/ui/toggle-group.tsx +0 -59
  1175. package/corpus/templates/mail/app/components/ui/toggle.tsx +0 -43
  1176. package/corpus/templates/mail/app/components/ui/tooltip.tsx +0 -30
  1177. package/corpus/templates/mail/app/hooks/use-toast.ts +0 -188
  1178. package/corpus/templates/plan/app/components/layout/HeaderActions.tsx +0 -84
  1179. package/corpus/templates/plan/app/components/ui/accordion.tsx +0 -56
  1180. package/corpus/templates/plan/app/components/ui/alert-dialog.tsx +0 -139
  1181. package/corpus/templates/plan/app/components/ui/alert.tsx +0 -59
  1182. package/corpus/templates/plan/app/components/ui/aspect-ratio.tsx +0 -5
  1183. package/corpus/templates/plan/app/components/ui/avatar.tsx +0 -48
  1184. package/corpus/templates/plan/app/components/ui/badge.tsx +0 -37
  1185. package/corpus/templates/plan/app/components/ui/breadcrumb.tsx +0 -115
  1186. package/corpus/templates/plan/app/components/ui/button.tsx +0 -57
  1187. package/corpus/templates/plan/app/components/ui/calendar.tsx +0 -68
  1188. package/corpus/templates/plan/app/components/ui/card.tsx +0 -86
  1189. package/corpus/templates/plan/app/components/ui/carousel.tsx +0 -260
  1190. package/corpus/templates/plan/app/components/ui/chart.tsx +0 -375
  1191. package/corpus/templates/plan/app/components/ui/checkbox.tsx +0 -28
  1192. package/corpus/templates/plan/app/components/ui/collapsible.tsx +0 -9
  1193. package/corpus/templates/plan/app/components/ui/command.tsx +0 -154
  1194. package/corpus/templates/plan/app/components/ui/context-menu.tsx +0 -202
  1195. package/corpus/templates/plan/app/components/ui/dialog.tsx +0 -130
  1196. package/corpus/templates/plan/app/components/ui/drawer.tsx +0 -116
  1197. package/corpus/templates/plan/app/components/ui/dropdown-menu.tsx +0 -212
  1198. package/corpus/templates/plan/app/components/ui/form.tsx +0 -177
  1199. package/corpus/templates/plan/app/components/ui/hover-card.tsx +0 -27
  1200. package/corpus/templates/plan/app/components/ui/input-otp.tsx +0 -69
  1201. package/corpus/templates/plan/app/components/ui/input.tsx +0 -22
  1202. package/corpus/templates/plan/app/components/ui/label.tsx +0 -24
  1203. package/corpus/templates/plan/app/components/ui/menubar.tsx +0 -234
  1204. package/corpus/templates/plan/app/components/ui/navigation-menu.tsx +0 -128
  1205. package/corpus/templates/plan/app/components/ui/pagination.tsx +0 -121
  1206. package/corpus/templates/plan/app/components/ui/popover.tsx +0 -44
  1207. package/corpus/templates/plan/app/components/ui/progress.tsx +0 -26
  1208. package/corpus/templates/plan/app/components/ui/radio-group.tsx +0 -42
  1209. package/corpus/templates/plan/app/components/ui/resizable.tsx +0 -43
  1210. package/corpus/templates/plan/app/components/ui/scroll-area.tsx +0 -46
  1211. package/corpus/templates/plan/app/components/ui/select.tsx +0 -158
  1212. package/corpus/templates/plan/app/components/ui/separator.tsx +0 -29
  1213. package/corpus/templates/plan/app/components/ui/sheet.tsx +0 -160
  1214. package/corpus/templates/plan/app/components/ui/sidebar.tsx +0 -782
  1215. package/corpus/templates/plan/app/components/ui/skeleton.tsx +0 -15
  1216. package/corpus/templates/plan/app/components/ui/slider.tsx +0 -26
  1217. package/corpus/templates/plan/app/components/ui/sonner.tsx +0 -58
  1218. package/corpus/templates/plan/app/components/ui/spinner.tsx +0 -17
  1219. package/corpus/templates/plan/app/components/ui/switch.tsx +0 -27
  1220. package/corpus/templates/plan/app/components/ui/table.tsx +0 -117
  1221. package/corpus/templates/plan/app/components/ui/textarea.tsx +0 -23
  1222. package/corpus/templates/plan/app/components/ui/toast.tsx +0 -127
  1223. package/corpus/templates/plan/app/components/ui/toaster.tsx +0 -33
  1224. package/corpus/templates/plan/app/components/ui/toggle-group.tsx +0 -59
  1225. package/corpus/templates/plan/app/components/ui/toggle.tsx +0 -43
  1226. package/corpus/templates/plan/app/components/ui/tooltip.tsx +0 -30
  1227. package/corpus/templates/plan/app/components/ui/use-toast.ts +0 -3
  1228. package/corpus/templates/plan/app/hooks/use-mobile.tsx +0 -21
  1229. package/corpus/templates/plan/app/hooks/use-toast.ts +0 -188
  1230. package/corpus/templates/slides/app/components/layout/HeaderActions.tsx +0 -84
  1231. package/corpus/templates/slides/app/components/ui/accordion.tsx +0 -56
  1232. package/corpus/templates/slides/app/components/ui/alert-dialog.tsx +0 -139
  1233. package/corpus/templates/slides/app/components/ui/alert.tsx +0 -59
  1234. package/corpus/templates/slides/app/components/ui/aspect-ratio.tsx +0 -5
  1235. package/corpus/templates/slides/app/components/ui/avatar.tsx +0 -48
  1236. package/corpus/templates/slides/app/components/ui/badge.tsx +0 -37
  1237. package/corpus/templates/slides/app/components/ui/breadcrumb.tsx +0 -115
  1238. package/corpus/templates/slides/app/components/ui/button.tsx +0 -57
  1239. package/corpus/templates/slides/app/components/ui/calendar.tsx +0 -68
  1240. package/corpus/templates/slides/app/components/ui/card.tsx +0 -86
  1241. package/corpus/templates/slides/app/components/ui/carousel.tsx +0 -260
  1242. package/corpus/templates/slides/app/components/ui/chart.tsx +0 -375
  1243. package/corpus/templates/slides/app/components/ui/checkbox.tsx +0 -28
  1244. package/corpus/templates/slides/app/components/ui/collapsible.tsx +0 -9
  1245. package/corpus/templates/slides/app/components/ui/command.tsx +0 -154
  1246. package/corpus/templates/slides/app/components/ui/context-menu.tsx +0 -202
  1247. package/corpus/templates/slides/app/components/ui/dialog.tsx +0 -130
  1248. package/corpus/templates/slides/app/components/ui/drawer.tsx +0 -116
  1249. package/corpus/templates/slides/app/components/ui/dropdown-menu.tsx +0 -212
  1250. package/corpus/templates/slides/app/components/ui/form.tsx +0 -177
  1251. package/corpus/templates/slides/app/components/ui/hover-card.tsx +0 -27
  1252. package/corpus/templates/slides/app/components/ui/input-otp.tsx +0 -69
  1253. package/corpus/templates/slides/app/components/ui/input.tsx +0 -22
  1254. package/corpus/templates/slides/app/components/ui/label.tsx +0 -24
  1255. package/corpus/templates/slides/app/components/ui/menubar.tsx +0 -234
  1256. package/corpus/templates/slides/app/components/ui/navigation-menu.tsx +0 -128
  1257. package/corpus/templates/slides/app/components/ui/pagination.tsx +0 -121
  1258. package/corpus/templates/slides/app/components/ui/popover.tsx +0 -44
  1259. package/corpus/templates/slides/app/components/ui/progress.tsx +0 -26
  1260. package/corpus/templates/slides/app/components/ui/radio-group.tsx +0 -42
  1261. package/corpus/templates/slides/app/components/ui/resizable.tsx +0 -43
  1262. package/corpus/templates/slides/app/components/ui/scroll-area.tsx +0 -46
  1263. package/corpus/templates/slides/app/components/ui/select.tsx +0 -158
  1264. package/corpus/templates/slides/app/components/ui/separator.tsx +0 -29
  1265. package/corpus/templates/slides/app/components/ui/sheet.tsx +0 -160
  1266. package/corpus/templates/slides/app/components/ui/sidebar.tsx +0 -782
  1267. package/corpus/templates/slides/app/components/ui/skeleton.tsx +0 -15
  1268. package/corpus/templates/slides/app/components/ui/slider.tsx +0 -26
  1269. package/corpus/templates/slides/app/components/ui/sonner.tsx +0 -58
  1270. package/corpus/templates/slides/app/components/ui/spinner.tsx +0 -17
  1271. package/corpus/templates/slides/app/components/ui/switch.tsx +0 -27
  1272. package/corpus/templates/slides/app/components/ui/table.tsx +0 -117
  1273. package/corpus/templates/slides/app/components/ui/tabs.tsx +0 -53
  1274. package/corpus/templates/slides/app/components/ui/textarea.tsx +0 -23
  1275. package/corpus/templates/slides/app/components/ui/toast.tsx +0 -127
  1276. package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -33
  1277. package/corpus/templates/slides/app/components/ui/toggle-group.tsx +0 -59
  1278. package/corpus/templates/slides/app/components/ui/toggle.tsx +0 -43
  1279. package/corpus/templates/slides/app/components/ui/tooltip.tsx +0 -30
  1280. package/corpus/templates/slides/app/components/ui/use-toast.ts +0 -3
  1281. package/corpus/templates/slides/app/hooks/use-mobile.tsx +0 -21
  1282. package/corpus/templates/slides/app/hooks/use-toast.ts +0 -188
@@ -16,25 +16,61 @@
16
16
  * lets readers distinguish ciphertext from legacy plaintext during migration.
17
17
  */
18
18
 
19
- import {
20
- randomBytes,
21
- createCipheriv,
22
- createDecipheriv,
23
- createHash,
24
- } from "node:crypto";
19
+ type NodeCryptoModule = typeof import("node:crypto");
20
+
21
+ function getNodeCrypto(): NodeCryptoModule | undefined {
22
+ if (
23
+ typeof window !== "undefined" ||
24
+ typeof process === "undefined" ||
25
+ !process.versions?.node ||
26
+ typeof process.getBuiltinModule !== "function"
27
+ ) {
28
+ return undefined;
29
+ }
30
+ return process.getBuiltinModule("node:crypto") as
31
+ | NodeCryptoModule
32
+ | undefined;
33
+ }
34
+
35
+ const nodeCrypto = getNodeCrypto();
25
36
 
26
37
  let _warnedFallback = false;
27
38
 
39
+ function requireNodeCrypto(): NonNullable<typeof nodeCrypto> {
40
+ if (!nodeCrypto) {
41
+ throw new Error(
42
+ "[agent-native/secrets] Secret encryption is only available in server/runtime code.",
43
+ );
44
+ }
45
+ return nodeCrypto;
46
+ }
47
+
48
+ function processNodeEnv(): string | undefined {
49
+ if (typeof process === "undefined") return undefined;
50
+ return process.env.NODE_ENV;
51
+ }
52
+
53
+ function processCwd(): string {
54
+ if (typeof process === "undefined") return ".";
55
+ return process.cwd();
56
+ }
57
+
28
58
  /**
29
59
  * Derive a 32-byte AES key from the configured secret material via SHA-256.
30
60
  * Re-derived per call (cheap, stateless, and makes rotation easy).
31
61
  */
32
62
  export function getSecretEncryptionKey(): Buffer {
63
+ const { createHash } = requireNodeCrypto();
33
64
  const explicit =
34
- process.env.SECRETS_ENCRYPTION_KEY || process.env.BETTER_AUTH_SECRET;
65
+ (typeof process === "undefined"
66
+ ? undefined
67
+ : process.env.SECRETS_ENCRYPTION_KEY) ||
68
+ (typeof process === "undefined"
69
+ ? undefined
70
+ : process.env.BETTER_AUTH_SECRET);
35
71
 
36
72
  if (!explicit) {
37
- if (process.env.NODE_ENV === "production") {
73
+ if (processNodeEnv() === "production") {
38
74
  throw new Error(
39
75
  "[agent-native/secrets] Refusing to start in production without an encryption key. " +
40
76
  "Set SECRETS_ENCRYPTION_KEY (preferred) or BETTER_AUTH_SECRET in the deploy environment. " +
@@ -53,12 +89,13 @@ export function getSecretEncryptionKey(): Buffer {
53
89
  }
54
90
  }
55
91
 
56
- const material = explicit || `agent-native-secrets:${process.cwd()}`;
92
+ const material = explicit || `agent-native-secrets:${processCwd()}`;
57
93
  return createHash("sha256").update(material).digest();
58
94
  }
59
95
 
60
96
  /** Encrypt a plain-text value. Returns `v1:<iv-hex>:<ct-hex>:<tag-hex>`. */
61
97
  export function encryptSecretValue(plaintext: string): string {
98
+ const { createCipheriv, randomBytes } = requireNodeCrypto();
62
99
  const key = getSecretEncryptionKey();
63
100
  const iv = randomBytes(12);
64
101
  const cipher = createCipheriv("aes-256-gcm", key, iv);
@@ -69,6 +106,7 @@ export function encryptSecretValue(plaintext: string): string {
69
106
 
70
107
  /** Decrypt a value produced by `encryptSecretValue`. Throws on tampering. */
71
108
  export function decryptSecretValue(encrypted: string): string {
109
+ const { createDecipheriv } = requireNodeCrypto();
72
110
  if (!encrypted.startsWith("v1:")) {
73
111
  throw new Error("Unrecognised secret encoding");
74
112
  }
@@ -562,6 +562,10 @@ export async function mergeCoreSharingActions(
562
562
  "set-resource-visibility",
563
563
  () => import("../sharing/actions/set-resource-visibility.js"),
564
564
  ],
565
+ [
566
+ "create-agent-resource-link",
567
+ () => import("../sharing/actions/create-agent-resource-link.js"),
568
+ ],
565
569
  ["upload-image", () => import("../file-upload/actions/upload-image.js")],
566
570
  [
567
571
  "context-manifest-get",
@@ -5,6 +5,7 @@ import {
5
5
  getMethod,
6
6
  getQuery,
7
7
  getHeader,
8
+ getRequestURL,
8
9
  } from "h3";
9
10
 
10
11
  import { isAgentActionStopError } from "../action.js";
@@ -282,7 +283,13 @@ export function mountActionRoutes(
282
283
  const timezone = readTimezoneHeader(event);
283
284
 
284
285
  return runWithRequestContext(
285
- { userEmail, userName, orgId, timezone },
286
+ {
287
+ userEmail,
288
+ userName,
289
+ orgId,
290
+ timezone,
291
+ requestOrigin: getRequestURL(event).origin,
292
+ },
286
293
  async () => {
287
294
  // Reject oversize bodies from Content-Length before parsing, so a
288
295
  // public no-auth POST can't force parse work on a huge request.
@@ -0,0 +1,72 @@
1
+ import {
2
+ DEFAULT_AGENT_ACCESS_TTL_SECONDS,
3
+ scopedAgentAccessResourceId,
4
+ type AgentAccessResourceScope,
5
+ } from "../shared/agent-access.js";
6
+ import {
7
+ signShortLivedToken,
8
+ verifyShortLivedToken,
9
+ type VerifyResult,
10
+ } from "./short-lived-token.js";
11
+
12
+ export {
13
+ AGENT_ACCESS_PARAM,
14
+ DEFAULT_AGENT_ACCESS_TTL_SECONDS,
15
+ appendAgentAccessParam,
16
+ buildAgentAccessApiUrl,
17
+ buildAgentAccessUrl,
18
+ normalizeAgentAccessBasePath,
19
+ normalizeAgentAccessOrigin,
20
+ scopedAgentAccessResourceId,
21
+ toAgentAccessUrl,
22
+ type AgentAccessApiUrlOptions,
23
+ type AgentAccessResourceScope,
24
+ type AgentAccessUrlOptions,
25
+ } from "../shared/agent-access.js";
26
+
27
+ export interface ScopedAgentAccessTokenOptions extends AgentAccessResourceScope {
28
+ viewerEmail?: string;
29
+ ttlSeconds?: number;
30
+ }
31
+
32
+ export interface ScopedAgentAccessGrant {
33
+ token: string;
34
+ expiresAt: string;
35
+ ttlSeconds: number;
36
+ }
37
+
38
+ export function signScopedAgentAccessToken({
39
+ resourceKind,
40
+ resourceId,
41
+ viewerEmail,
42
+ ttlSeconds = DEFAULT_AGENT_ACCESS_TTL_SECONDS,
43
+ }: ScopedAgentAccessTokenOptions): string {
44
+ return signShortLivedToken({
45
+ resourceId: scopedAgentAccessResourceId(resourceKind, resourceId),
46
+ viewerEmail,
47
+ ttlSeconds,
48
+ });
49
+ }
50
+
51
+ export function verifyScopedAgentAccessToken(
52
+ token: string,
53
+ scope: AgentAccessResourceScope,
54
+ ): VerifyResult {
55
+ if (!token) return { ok: false, reason: "missing" };
56
+ return verifyShortLivedToken(
57
+ token,
58
+ scopedAgentAccessResourceId(scope.resourceKind, scope.resourceId),
59
+ );
60
+ }
61
+
62
+ export function createScopedAgentAccessGrant(
63
+ options: ScopedAgentAccessTokenOptions,
64
+ ): ScopedAgentAccessGrant {
65
+ const ttlSeconds = options.ttlSeconds ?? DEFAULT_AGENT_ACCESS_TTL_SECONDS;
66
+ const token = signScopedAgentAccessToken({ ...options, ttlSeconds });
67
+ return {
68
+ token,
69
+ expiresAt: new Date(Date.now() + ttlSeconds * 1000).toISOString(),
70
+ ttlSeconds,
71
+ };
72
+ }
@@ -1,5 +1,4 @@
1
1
  import type { ReadStream } from "node:fs";
2
- import { Readable } from "node:stream";
3
2
 
4
3
  /**
5
4
  * Small helpers around h3 v2 that polish ergonomics for templates.
@@ -158,5 +157,18 @@ export async function readBodyWithSizeLimit<T = any>(
158
157
  * return streamFile(fs.createReadStream(filePath));
159
158
  */
160
159
  export function streamFile(stream: ReadStream): ReadableStream {
161
- return Readable.toWeb(stream) as ReadableStream;
160
+ return new ReadableStream<Uint8Array>({
161
+ start(controller) {
162
+ stream.on("data", (chunk: string | Uint8Array) => {
163
+ controller.enqueue(
164
+ typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk,
165
+ );
166
+ });
167
+ stream.on("end", () => controller.close());
168
+ stream.on("error", (error) => controller.error(error));
169
+ },
170
+ cancel() {
171
+ stream.destroy();
172
+ },
173
+ });
162
174
  }
@@ -459,6 +459,34 @@ export {
459
459
  type ShortLivedTokenClaims,
460
460
  type VerifyResult as ShortLivedTokenVerifyResult,
461
461
  } from "./short-lived-token.js";
462
+ export {
463
+ AGENT_ACCESS_PARAM,
464
+ DEFAULT_AGENT_ACCESS_TTL_SECONDS,
465
+ appendAgentAccessParam,
466
+ buildAgentAccessApiUrl,
467
+ buildAgentAccessUrl,
468
+ createScopedAgentAccessGrant,
469
+ normalizeAgentAccessBasePath,
470
+ normalizeAgentAccessOrigin,
471
+ scopedAgentAccessResourceId,
472
+ signScopedAgentAccessToken,
473
+ toAgentAccessUrl,
474
+ verifyScopedAgentAccessToken,
475
+ type AgentAccessApiUrlOptions,
476
+ type AgentAccessResourceScope,
477
+ type AgentAccessUrlOptions,
478
+ type ScopedAgentAccessGrant,
479
+ type ScopedAgentAccessTokenOptions,
480
+ } from "./agent-access.js";
481
+ export {
482
+ AGENT_READABLE_RESOURCE_PAYLOAD_TYPE,
483
+ AGENT_READABLE_RESOURCE_SCRIPT_TYPE,
484
+ buildAgentReadableResourceDiscovery,
485
+ renderAgentReadableResourceDiscoveryScript,
486
+ safeJsonForHtml,
487
+ type AgentReadableResourceDiscovery,
488
+ type BuildAgentReadableResourceDiscoveryOptions,
489
+ } from "../shared/agent-readable-resource.js";
462
490
 
463
491
  // SSR handler is NOT re-exported here — it uses a virtual module
464
492
  // (virtual:react-router/server-build) that only exists at Vite dev/build time.
@@ -15,7 +15,62 @@
15
15
  * process.env so existing `AGENT_USER_EMAIL=x pnpm action foo` invocations
16
16
  * continue to work.
17
17
  */
18
- import { AsyncLocalStorage } from "node:async_hooks";
18
+
19
+ type AsyncLocalStorageLike<T> = {
20
+ getStore(): T | undefined;
21
+ run<R>(store: T, callback: () => R): R;
22
+ };
23
+
24
+ type AsyncLocalStorageCtor = new <T>() => AsyncLocalStorageLike<T>;
25
+
26
+ class StackAsyncLocalStorage<T> implements AsyncLocalStorageLike<T> {
27
+ private readonly stack: T[] = [];
28
+
29
+ getStore(): T | undefined {
30
+ return this.stack.at(-1);
31
+ }
32
+
33
+ run<R>(store: T, callback: () => R): R {
34
+ this.stack.push(store);
35
+ try {
36
+ const result = callback();
37
+ const maybePromise = result as unknown as
38
+ | { finally?: (callback: () => void) => unknown }
39
+ | undefined;
40
+ if (maybePromise && typeof maybePromise.finally === "function") {
41
+ return maybePromise.finally(() => {
42
+ this.stack.pop();
43
+ }) as R;
44
+ }
45
+ this.stack.pop();
46
+ return result;
47
+ } catch (error) {
48
+ this.stack.pop();
49
+ throw error;
50
+ }
51
+ }
52
+ }
53
+
54
+ function getAsyncLocalStorageCtor(): AsyncLocalStorageCtor | undefined {
55
+ if (
56
+ typeof window !== "undefined" ||
57
+ typeof process === "undefined" ||
58
+ !process.versions?.node ||
59
+ typeof process.getBuiltinModule !== "function"
60
+ ) {
61
+ return undefined;
62
+ }
63
+ return process.getBuiltinModule("node:async_hooks")?.AsyncLocalStorage as
64
+ | AsyncLocalStorageCtor
65
+ | undefined;
66
+ }
67
+
68
+ const AsyncLocalStorageCtor = getAsyncLocalStorageCtor();
69
+
70
+ function processEnv(name: string): string | undefined {
71
+ if (typeof process === "undefined") return undefined;
72
+ return process.env?.[name];
73
+ }
19
74
 
20
75
  /**
21
76
  * Per-request agent-run state. Lives on `RequestContext.run` so the
@@ -114,12 +169,14 @@ const GLOBAL_KEY = "__agentNativeRequestContextAls" as const;
114
169
  const OBSERVERS_KEY = "__agentNativeRequestContextObservers" as const;
115
170
  type RequestContextObserver = (ctx: RequestContext) => void;
116
171
  type GlobalWithRequestContext = typeof globalThis & {
117
- [GLOBAL_KEY]?: AsyncLocalStorage<RequestContext>;
172
+ [GLOBAL_KEY]?: AsyncLocalStorageLike<RequestContext>;
118
173
  [OBSERVERS_KEY]?: RequestContextObserver[];
119
174
  };
120
175
  const globalRef = globalThis as GlobalWithRequestContext;
121
176
  if (!globalRef[GLOBAL_KEY]) {
122
- globalRef[GLOBAL_KEY] = new AsyncLocalStorage<RequestContext>();
177
+ globalRef[GLOBAL_KEY] = AsyncLocalStorageCtor
178
+ ? new AsyncLocalStorageCtor<RequestContext>()
179
+ : new StackAsyncLocalStorage<RequestContext>();
123
180
  }
124
181
  if (!globalRef[OBSERVERS_KEY]) {
125
182
  globalRef[OBSERVERS_KEY] = [];
@@ -211,7 +268,7 @@ export function getRequestUserEmail(): string | undefined {
211
268
  if (store.userEmail) markAuthContextAccess(store);
212
269
  return store.userEmail;
213
270
  }
214
- return process.env.AGENT_USER_EMAIL;
271
+ return processEnv("AGENT_USER_EMAIL");
215
272
  }
216
273
 
217
274
  /**
@@ -227,7 +284,7 @@ export function getRequestUserName(): string | undefined {
227
284
  if (store.userName) markAuthContextAccess(store);
228
285
  return store.userName;
229
286
  }
230
- return process.env.AGENT_USER_NAME;
287
+ return processEnv("AGENT_USER_NAME");
231
288
  }
232
289
 
233
290
  /**
@@ -243,7 +300,7 @@ export function getRequestOrgId(): string | undefined {
243
300
  if (store.orgId) markAuthContextAccess(store);
244
301
  return store.orgId;
245
302
  }
246
- return process.env.AGENT_ORG_ID;
303
+ return processEnv("AGENT_ORG_ID");
247
304
  }
248
305
 
249
306
  function markAuthContextAccess(ctx: RequestContext | undefined) {
@@ -267,7 +324,7 @@ export function hasAuthContextAccess(ctx: RequestContext | undefined): boolean {
267
324
  export function getRequestTimezone(): string | undefined {
268
325
  const store = als.getStore();
269
326
  if (store !== undefined) return store.timezone;
270
- return process.env.AGENT_USER_TIMEZONE;
327
+ return processEnv("AGENT_USER_TIMEZONE");
271
328
  }
272
329
 
273
330
  /**
@@ -0,0 +1,112 @@
1
+ export const AGENT_ACCESS_PARAM = "agent_access";
2
+ export const DEFAULT_AGENT_ACCESS_TTL_SECONDS = 2 * 60 * 60;
3
+
4
+ export interface AgentAccessResourceScope {
5
+ resourceKind: string;
6
+ resourceId: string;
7
+ }
8
+
9
+ export interface AgentAccessUrlOptions {
10
+ origin?: string;
11
+ basePath?: string;
12
+ tokenParam?: string;
13
+ }
14
+
15
+ export interface AgentAccessApiUrlOptions extends AgentAccessUrlOptions {
16
+ endpoint: string;
17
+ resourceId: string;
18
+ idParam?: string;
19
+ token?: string | null;
20
+ extraParams?: Array<[string, string | number | boolean | null | undefined]>;
21
+ }
22
+
23
+ function normalizeResourcePart(value: string, label: string): string {
24
+ const trimmed = value.trim();
25
+ if (!trimmed) throw new Error(`${label} is required`);
26
+ return trimmed;
27
+ }
28
+
29
+ export function scopedAgentAccessResourceId(
30
+ resourceKind: string,
31
+ resourceId: string,
32
+ ): string {
33
+ return `${normalizeResourcePart(resourceKind, "resourceKind")}:${normalizeResourcePart(resourceId, "resourceId")}`;
34
+ }
35
+
36
+ function trimSlashes(value: string): string {
37
+ return value.replace(/^\/+|\/+$/g, "");
38
+ }
39
+
40
+ export function normalizeAgentAccessBasePath(basePath?: string): string {
41
+ const trimmed = trimSlashes(basePath ?? "");
42
+ return trimmed ? `/${trimmed}` : "";
43
+ }
44
+
45
+ export function normalizeAgentAccessOrigin(origin?: string): string {
46
+ if (!origin) return "";
47
+ return origin.replace(/\/+$/g, "");
48
+ }
49
+
50
+ function isAbsoluteUrl(value: string): boolean {
51
+ return /^[a-z][a-z0-9+.-]*:\/\//i.test(value);
52
+ }
53
+
54
+ export function toAgentAccessUrl(
55
+ pathOrUrl: string,
56
+ options: Pick<AgentAccessUrlOptions, "origin" | "basePath"> = {},
57
+ ): string {
58
+ if (isAbsoluteUrl(pathOrUrl)) return pathOrUrl;
59
+ const path = pathOrUrl.startsWith("/") ? pathOrUrl : `/${pathOrUrl}`;
60
+ return `${normalizeAgentAccessOrigin(options.origin)}${normalizeAgentAccessBasePath(options.basePath)}${path}`;
61
+ }
62
+
63
+ export function appendAgentAccessParam(
64
+ urlOrPath: string,
65
+ token: string,
66
+ param = AGENT_ACCESS_PARAM,
67
+ ): string {
68
+ const hashIndex = urlOrPath.indexOf("#");
69
+ const base = hashIndex >= 0 ? urlOrPath.slice(0, hashIndex) : urlOrPath;
70
+ const hash = hashIndex >= 0 ? urlOrPath.slice(hashIndex) : "";
71
+ const sep = base.includes("?") ? "&" : "?";
72
+ return `${base}${sep}${encodeURIComponent(param)}=${encodeURIComponent(token)}${hash}`;
73
+ }
74
+
75
+ export function buildAgentAccessUrl({
76
+ path,
77
+ token,
78
+ origin,
79
+ basePath,
80
+ tokenParam = AGENT_ACCESS_PARAM,
81
+ }: AgentAccessUrlOptions & {
82
+ path: string;
83
+ token: string;
84
+ }): string {
85
+ return appendAgentAccessParam(
86
+ toAgentAccessUrl(path, { origin, basePath }),
87
+ token,
88
+ tokenParam,
89
+ );
90
+ }
91
+
92
+ export function buildAgentAccessApiUrl({
93
+ endpoint,
94
+ resourceId,
95
+ idParam = "id",
96
+ token,
97
+ tokenParam = AGENT_ACCESS_PARAM,
98
+ extraParams,
99
+ origin,
100
+ basePath,
101
+ }: AgentAccessApiUrlOptions): string {
102
+ const params = new URLSearchParams({ [idParam]: resourceId });
103
+ if (token) params.set(tokenParam, token);
104
+ for (const [key, value] of extraParams ?? []) {
105
+ if (value === undefined || value === null || value === "") continue;
106
+ params.set(key, String(value));
107
+ }
108
+ return toAgentAccessUrl(`${endpoint}?${params.toString()}`, {
109
+ origin,
110
+ basePath,
111
+ });
112
+ }
@@ -0,0 +1,111 @@
1
+ import {
2
+ AGENT_ACCESS_PARAM,
3
+ buildAgentAccessApiUrl,
4
+ buildAgentAccessUrl,
5
+ toAgentAccessUrl,
6
+ type AgentAccessUrlOptions,
7
+ } from "./agent-access.js";
8
+
9
+ export const AGENT_READABLE_RESOURCE_SCRIPT_TYPE =
10
+ "application/agent-native+json";
11
+ export const AGENT_READABLE_RESOURCE_PAYLOAD_TYPE =
12
+ "agent-native.resource.discovery";
13
+
14
+ export interface AgentReadableResourceDiscovery {
15
+ type: typeof AGENT_READABLE_RESOURCE_PAYLOAD_TYPE;
16
+ resourceType: string;
17
+ resourceId: string;
18
+ title?: string;
19
+ url?: string;
20
+ contextUrl: string;
21
+ expiresAt?: string;
22
+ instructions?: string;
23
+ }
24
+
25
+ export interface BuildAgentReadableResourceDiscoveryOptions extends AgentAccessUrlOptions {
26
+ resourceType: string;
27
+ resourceId: string;
28
+ title?: string | null;
29
+ path?: string | null;
30
+ contextEndpoint: string;
31
+ token?: string | null;
32
+ expiresAt?: string | null;
33
+ instructions?: string | null;
34
+ }
35
+
36
+ export function safeJsonForHtml(value: unknown): string {
37
+ return JSON.stringify(value).replace(/[<>&\u2028\u2029]/g, (char) => {
38
+ switch (char) {
39
+ case "<":
40
+ return "\\u003c";
41
+ case ">":
42
+ return "\\u003e";
43
+ case "&":
44
+ return "\\u0026";
45
+ case "\u2028":
46
+ return "\\u2028";
47
+ case "\u2029":
48
+ return "\\u2029";
49
+ default:
50
+ return char;
51
+ }
52
+ });
53
+ }
54
+
55
+ export function buildAgentReadableResourceDiscovery({
56
+ resourceType,
57
+ resourceId,
58
+ title,
59
+ path,
60
+ contextEndpoint,
61
+ token,
62
+ expiresAt,
63
+ instructions,
64
+ origin,
65
+ basePath,
66
+ tokenParam = AGENT_ACCESS_PARAM,
67
+ }: BuildAgentReadableResourceDiscoveryOptions): AgentReadableResourceDiscovery {
68
+ return {
69
+ type: AGENT_READABLE_RESOURCE_PAYLOAD_TYPE,
70
+ resourceType,
71
+ resourceId,
72
+ ...(title ? { title } : {}),
73
+ ...(path
74
+ ? {
75
+ url: token
76
+ ? buildAgentAccessUrl({
77
+ path,
78
+ token,
79
+ origin,
80
+ basePath,
81
+ tokenParam,
82
+ })
83
+ : toAgentAccessUrl(path, { origin, basePath }),
84
+ }
85
+ : {}),
86
+ contextUrl: buildAgentAccessApiUrl({
87
+ endpoint: contextEndpoint,
88
+ resourceId,
89
+ token,
90
+ origin,
91
+ basePath,
92
+ tokenParam,
93
+ }),
94
+ ...(expiresAt ? { expiresAt } : {}),
95
+ ...(instructions ? { instructions } : {}),
96
+ };
97
+ }
98
+
99
+ export function renderAgentReadableResourceDiscoveryScript(
100
+ discovery: AgentReadableResourceDiscovery,
101
+ options: { id?: string } = {},
102
+ ): string {
103
+ const id = options.id ? ` id="${escapeHtmlAttribute(options.id)}"` : "";
104
+ return `<script type="${AGENT_READABLE_RESOURCE_SCRIPT_TYPE}"${id}>${safeJsonForHtml(
105
+ discovery,
106
+ )}</script>`;
107
+ }
108
+
109
+ function escapeHtmlAttribute(value: string): string {
110
+ return value.replace(/[&"]/g, (char) => (char === "&" ? "&amp;" : "&quot;"));
111
+ }
@@ -58,3 +58,26 @@ export {
58
58
  EMBED_START_PATH,
59
59
  EMBED_TOKEN_QUERY_PARAM,
60
60
  } from "./embed-auth.js";
61
+ export {
62
+ AGENT_ACCESS_PARAM,
63
+ DEFAULT_AGENT_ACCESS_TTL_SECONDS,
64
+ appendAgentAccessParam,
65
+ buildAgentAccessApiUrl,
66
+ buildAgentAccessUrl,
67
+ normalizeAgentAccessBasePath,
68
+ normalizeAgentAccessOrigin,
69
+ scopedAgentAccessResourceId,
70
+ toAgentAccessUrl,
71
+ type AgentAccessApiUrlOptions,
72
+ type AgentAccessResourceScope,
73
+ type AgentAccessUrlOptions,
74
+ } from "./agent-access.js";
75
+ export {
76
+ AGENT_READABLE_RESOURCE_PAYLOAD_TYPE,
77
+ AGENT_READABLE_RESOURCE_SCRIPT_TYPE,
78
+ buildAgentReadableResourceDiscovery,
79
+ renderAgentReadableResourceDiscoveryScript,
80
+ safeJsonForHtml,
81
+ type AgentReadableResourceDiscovery,
82
+ type BuildAgentReadableResourceDiscoveryOptions,
83
+ } from "./agent-readable-resource.js";