@agent-native/core 0.86.0 → 0.87.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 (1331) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +21 -0
  3. package/corpus/core/docs/content/components.mdx +13 -0
  4. package/corpus/core/docs/content/creating-templates.mdx +7 -0
  5. package/corpus/core/docs/content/locales/ar-SA/components.mdx +9 -0
  6. package/corpus/core/docs/content/locales/ar-SA/creating-templates.mdx +2 -0
  7. package/corpus/core/docs/content/locales/ar-SA/template-analytics.mdx +6 -0
  8. package/corpus/core/docs/content/locales/ar-SA/template-clips.mdx +7 -0
  9. package/corpus/core/docs/content/locales/ar-SA/tracking.mdx +6 -0
  10. package/corpus/core/docs/content/locales/de-DE/components.mdx +9 -0
  11. package/corpus/core/docs/content/locales/de-DE/creating-templates.mdx +2 -0
  12. package/corpus/core/docs/content/locales/de-DE/template-analytics.mdx +6 -0
  13. package/corpus/core/docs/content/locales/de-DE/template-clips.mdx +7 -0
  14. package/corpus/core/docs/content/locales/de-DE/tracking.mdx +6 -0
  15. package/corpus/core/docs/content/locales/es-ES/components.mdx +9 -0
  16. package/corpus/core/docs/content/locales/es-ES/creating-templates.mdx +2 -0
  17. package/corpus/core/docs/content/locales/es-ES/template-analytics.mdx +6 -0
  18. package/corpus/core/docs/content/locales/es-ES/template-clips.mdx +7 -0
  19. package/corpus/core/docs/content/locales/es-ES/tracking.mdx +6 -0
  20. package/corpus/core/docs/content/locales/fr-FR/components.mdx +9 -0
  21. package/corpus/core/docs/content/locales/fr-FR/creating-templates.mdx +2 -0
  22. package/corpus/core/docs/content/locales/fr-FR/template-analytics.mdx +6 -0
  23. package/corpus/core/docs/content/locales/fr-FR/template-clips.mdx +7 -0
  24. package/corpus/core/docs/content/locales/fr-FR/tracking.mdx +6 -0
  25. package/corpus/core/docs/content/locales/hi-IN/components.mdx +9 -0
  26. package/corpus/core/docs/content/locales/hi-IN/creating-templates.mdx +2 -0
  27. package/corpus/core/docs/content/locales/hi-IN/template-analytics.mdx +6 -0
  28. package/corpus/core/docs/content/locales/hi-IN/template-clips.mdx +7 -0
  29. package/corpus/core/docs/content/locales/hi-IN/tracking.mdx +6 -0
  30. package/corpus/core/docs/content/locales/ja-JP/components.mdx +9 -0
  31. package/corpus/core/docs/content/locales/ja-JP/creating-templates.mdx +2 -0
  32. package/corpus/core/docs/content/locales/ja-JP/template-analytics.mdx +6 -0
  33. package/corpus/core/docs/content/locales/ja-JP/template-clips.mdx +7 -0
  34. package/corpus/core/docs/content/locales/ja-JP/tracking.mdx +6 -0
  35. package/corpus/core/docs/content/locales/ko-KR/components.mdx +9 -0
  36. package/corpus/core/docs/content/locales/ko-KR/creating-templates.mdx +2 -0
  37. package/corpus/core/docs/content/locales/ko-KR/template-analytics.mdx +6 -0
  38. package/corpus/core/docs/content/locales/ko-KR/template-clips.mdx +7 -0
  39. package/corpus/core/docs/content/locales/ko-KR/tracking.mdx +6 -0
  40. package/corpus/core/docs/content/locales/pt-BR/components.mdx +9 -0
  41. package/corpus/core/docs/content/locales/pt-BR/creating-templates.mdx +2 -0
  42. package/corpus/core/docs/content/locales/pt-BR/template-analytics.mdx +6 -0
  43. package/corpus/core/docs/content/locales/pt-BR/template-clips.mdx +7 -0
  44. package/corpus/core/docs/content/locales/pt-BR/tracking.mdx +6 -0
  45. package/corpus/core/docs/content/locales/zh-CN/components.mdx +9 -0
  46. package/corpus/core/docs/content/locales/zh-CN/creating-templates.mdx +2 -0
  47. package/corpus/core/docs/content/locales/zh-CN/template-analytics.mdx +6 -0
  48. package/corpus/core/docs/content/locales/zh-CN/template-clips.mdx +7 -0
  49. package/corpus/core/docs/content/locales/zh-CN/tracking.mdx +6 -0
  50. package/corpus/core/docs/content/locales/zh-TW/components.mdx +9 -0
  51. package/corpus/core/docs/content/locales/zh-TW/creating-templates.mdx +2 -0
  52. package/corpus/core/docs/content/locales/zh-TW/template-analytics.mdx +6 -0
  53. package/corpus/core/docs/content/locales/zh-TW/template-clips.mdx +7 -0
  54. package/corpus/core/docs/content/locales/zh-TW/tracking.mdx +6 -0
  55. package/corpus/core/docs/content/template-analytics.mdx +6 -0
  56. package/corpus/core/docs/content/template-clips.mdx +7 -0
  57. package/corpus/core/docs/content/tracking.mdx +6 -0
  58. package/corpus/core/package.json +9 -1
  59. package/corpus/core/src/application-state/emitter.ts +37 -5
  60. package/corpus/core/src/cli/create.ts +55 -3
  61. package/corpus/core/src/cli/workspacify.ts +10 -4
  62. package/corpus/core/src/client/AgentPanel.tsx +10 -0
  63. package/corpus/core/src/client/AssistantChat.tsx +91 -27
  64. package/corpus/core/src/client/ErrorBoundary.tsx +67 -12
  65. package/corpus/core/src/client/ErrorReportActions.tsx +69 -0
  66. package/corpus/core/src/client/FeedbackButton.tsx +8 -4
  67. package/corpus/core/src/client/components/ui/dialog.tsx +1 -91
  68. package/corpus/core/src/client/components/ui/dropdown-menu.tsx +1 -191
  69. package/corpus/core/src/client/components/ui/hover-card.tsx +1 -29
  70. package/corpus/core/src/client/components/ui/popover.tsx +1 -31
  71. package/corpus/core/src/client/components/ui/sheet.tsx +1 -96
  72. package/corpus/core/src/client/components/ui/tooltip.tsx +1 -53
  73. package/corpus/core/src/client/db-admin/DbAdminPage.tsx +41 -13
  74. package/corpus/core/src/client/db-admin/SqlEditor.tsx +10 -3
  75. package/corpus/core/src/client/db-admin/TableEditor.tsx +12 -5
  76. package/corpus/core/src/client/db-admin/useAgentSync.ts +10 -3
  77. package/corpus/core/src/client/db-admin/useDbAdmin.ts +65 -16
  78. package/corpus/core/src/client/error-reporting.ts +100 -0
  79. package/corpus/core/src/client/index.ts +11 -0
  80. package/corpus/core/src/client/org/RequireActiveOrg.tsx +12 -0
  81. package/corpus/core/src/client/visual-style-controls.tsx +615 -2
  82. package/corpus/core/src/db-admin/index.ts +26 -0
  83. package/corpus/core/src/db-admin/operations.ts +87 -49
  84. package/corpus/core/src/localization/default-messages.ts +4 -0
  85. package/corpus/core/src/secrets/crypto.ts +47 -9
  86. package/corpus/core/src/server/agent-access.ts +72 -0
  87. package/corpus/core/src/server/builder-design-systems.ts +328 -9
  88. package/corpus/core/src/server/h3-helpers.ts +14 -2
  89. package/corpus/core/src/server/index.ts +34 -0
  90. package/corpus/core/src/server/request-context.ts +64 -7
  91. package/corpus/core/src/shared/agent-access.ts +112 -0
  92. package/corpus/core/src/shared/index.ts +14 -0
  93. package/corpus/core/src/templates/default/app/root.tsx +47 -0
  94. package/corpus/templates/analytics/AGENTS.md +10 -4
  95. package/corpus/templates/analytics/actions/delete-db-admin-connection.ts +19 -0
  96. package/corpus/templates/analytics/actions/list-db-admin-connections.ts +18 -0
  97. package/corpus/templates/analytics/actions/navigate.ts +17 -3
  98. package/corpus/templates/analytics/actions/save-db-admin-connection.ts +33 -0
  99. package/corpus/templates/analytics/actions/view-screen.ts +11 -3
  100. package/corpus/templates/analytics/app/components/InlineMetric.tsx +2 -2
  101. package/corpus/templates/analytics/app/components/dashboard/CumulativeNetChart.tsx +7 -2
  102. package/corpus/templates/analytics/app/components/dashboard/DataTable.tsx +16 -11
  103. package/corpus/templates/analytics/app/components/dashboard/DateRangePicker.tsx +2 -1
  104. package/corpus/templates/analytics/app/components/dashboard/MetricCard.tsx +7 -2
  105. package/corpus/templates/analytics/app/components/dashboard/RecentActivity.tsx +6 -3
  106. package/corpus/templates/analytics/app/components/dashboard/RevenueChart.tsx +6 -1
  107. package/corpus/templates/analytics/app/components/dashboard/RevenueComparisonChart.tsx +7 -2
  108. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +15 -11
  109. package/corpus/templates/analytics/app/components/dashboard/StatsCard.tsx +7 -1
  110. package/corpus/templates/analytics/app/components/dashboard/TimeSeriesChart.tsx +7 -2
  111. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +16 -16
  112. package/corpus/templates/analytics/app/components/layout/HeaderActions.tsx +1 -2
  113. package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +5 -2
  114. package/corpus/templates/analytics/app/components/layout/NewAnalysisDialog.tsx +6 -6
  115. package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +3 -4
  116. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +12 -9
  117. package/corpus/templates/analytics/app/components/ui/calendar.tsx +1 -1
  118. package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +11 -2
  119. package/corpus/templates/analytics/app/i18n/zh-TW.ts +23 -2
  120. package/corpus/templates/analytics/app/i18n-data.ts +230 -20
  121. package/corpus/templates/analytics/app/pages/Agents.tsx +406 -12
  122. package/corpus/templates/analytics/app/pages/DataDictionary.tsx +21 -21
  123. package/corpus/templates/analytics/app/pages/DataSources.tsx +28 -28
  124. package/corpus/templates/analytics/app/pages/NotFound.tsx +1 -2
  125. package/corpus/templates/analytics/app/pages/Placeholder.tsx +1 -2
  126. package/corpus/templates/analytics/app/pages/Settings.tsx +16 -16
  127. package/corpus/templates/analytics/app/pages/adhoc/DashboardSkeleton.tsx +2 -3
  128. package/corpus/templates/analytics/app/pages/adhoc/_shared/KpiChart.tsx +13 -8
  129. package/corpus/templates/analytics/app/pages/adhoc/_shared/components/DateRangeInput.tsx +2 -1
  130. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/ChartTypePicker.tsx +4 -2
  131. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/DateRangePicker.tsx +2 -1
  132. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventCombobox.tsx +7 -7
  133. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventPanel.tsx +1 -2
  134. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventRow.tsx +1 -2
  135. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/ExplorerChart.tsx +8 -3
  136. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/FilterBuilder.tsx +4 -5
  137. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/GroupByPicker.tsx +1 -2
  138. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/PropertyCombobox.tsx +7 -7
  139. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/PropertyValueCombobox.tsx +7 -7
  140. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/SqlPreview.tsx +1 -1
  141. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +16 -16
  142. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/ChartCard.tsx +21 -16
  143. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +32 -32
  144. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/DashboardFilterBar.tsx +14 -14
  145. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/EmailReportDialog.tsx +13 -14
  146. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +21 -13
  147. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +28 -23
  148. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewSqlPopover.tsx +12 -12
  149. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +15 -15
  150. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +33 -29
  151. package/corpus/templates/analytics/app/pages/analyses/AnalysesList.tsx +7 -8
  152. package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +19 -19
  153. package/corpus/templates/analytics/app/pages/analyses/LegacyFusionAnalysis.tsx +15 -11
  154. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +42 -23
  155. package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +12 -7
  156. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +12 -12
  157. package/corpus/templates/analytics/app/pages/settings/AlertRulesSettingsCard.tsx +25 -25
  158. package/corpus/templates/analytics/app/root.tsx +2 -2
  159. package/corpus/templates/analytics/app/routes/catalog.tsx +8 -8
  160. package/corpus/templates/analytics/changelog/2026-07-03-connect-other-app-databases-from-analytics.md +6 -0
  161. package/corpus/templates/analytics/package.json +1 -0
  162. package/corpus/templates/analytics/server/db/schema.ts +27 -0
  163. package/corpus/templates/analytics/server/lib/db-admin-connections.ts +458 -0
  164. package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +59 -59
  165. package/corpus/templates/analytics/server/plugins/db.ts +35 -0
  166. package/corpus/templates/analytics/server/routes/[base]/_agent-native/analytics-db-admin/[...path].ts +1 -0
  167. package/corpus/templates/analytics/server/routes/_agent-native/analytics-db-admin/[...path].ts +160 -0
  168. package/corpus/templates/analytics/shared/session-replay-agent-access.ts +14 -3
  169. package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +2 -3
  170. package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +9 -9
  171. package/corpus/templates/assets/app/components/layout/Header.tsx +4 -2
  172. package/corpus/templates/assets/app/components/layout/Layout.tsx +1 -1
  173. package/corpus/templates/assets/app/components/layout/PageShell.tsx +5 -6
  174. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +12 -12
  175. package/corpus/templates/assets/app/components/library/CreateLibraryDialog.tsx +8 -8
  176. package/corpus/templates/assets/app/components/library/EditLibraryDialog.tsx +7 -7
  177. package/corpus/templates/assets/app/components/library/LibraryCard.tsx +8 -8
  178. package/corpus/templates/assets/app/components/library/LibraryPresetGrid.tsx +2 -3
  179. package/corpus/templates/assets/app/root.tsx +1 -1
  180. package/corpus/templates/assets/app/routes/asset.$id.tsx +19 -19
  181. package/corpus/templates/assets/app/routes/audit.tsx +14 -15
  182. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +54 -49
  183. package/corpus/templates/assets/app/routes/library.tsx +31 -31
  184. package/corpus/templates/assets/app/routes/settings.tsx +18 -18
  185. package/corpus/templates/assets/package.json +1 -0
  186. package/corpus/templates/brain/app/components/brain/CanonicalPreviewSheet.tsx +5 -6
  187. package/corpus/templates/brain/app/components/brain/Surface.tsx +8 -3
  188. package/corpus/templates/brain/app/components/layout/Layout.tsx +7 -7
  189. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +6 -6
  190. package/corpus/templates/brain/app/routes/knowledge.tsx +19 -19
  191. package/corpus/templates/brain/app/routes/ops.tsx +18 -18
  192. package/corpus/templates/brain/app/routes/review.tsx +27 -22
  193. package/corpus/templates/brain/app/routes/search.tsx +20 -20
  194. package/corpus/templates/brain/app/routes/settings.tsx +22 -22
  195. package/corpus/templates/brain/app/routes/sources.tsx +23 -23
  196. package/corpus/templates/brain/package.json +1 -0
  197. package/corpus/templates/calendar/app/components/ThemeToggle.tsx +5 -5
  198. package/corpus/templates/calendar/app/components/TimezoneCombobox.tsx +6 -6
  199. package/corpus/templates/calendar/app/components/booking/BookingConfirmation.tsx +1 -2
  200. package/corpus/templates/calendar/app/components/booking/BookingForm.tsx +8 -9
  201. package/corpus/templates/calendar/app/components/booking/DatePicker.tsx +2 -2
  202. package/corpus/templates/calendar/app/components/booking/TimeSlotPicker.tsx +2 -3
  203. package/corpus/templates/calendar/app/components/calendar/AddCalendarDialog.tsx +15 -10
  204. package/corpus/templates/calendar/app/components/calendar/AttendeeAutocomplete.tsx +6 -6
  205. package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +27 -27
  206. package/corpus/templates/calendar/app/components/calendar/DeleteEventDialog.tsx +12 -9
  207. package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +13 -10
  208. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +7 -7
  209. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +21 -21
  210. package/corpus/templates/calendar/app/components/calendar/EventDialog.tsx +11 -11
  211. package/corpus/templates/calendar/app/components/calendar/EventOptionControls.tsx +9 -9
  212. package/corpus/templates/calendar/app/components/calendar/FindTimePanel.tsx +9 -9
  213. package/corpus/templates/calendar/app/components/calendar/GoogleConnectBanner.tsx +6 -6
  214. package/corpus/templates/calendar/app/components/calendar/GoogleSetupWizard.tsx +3 -3
  215. package/corpus/templates/calendar/app/components/calendar/GoogleSyncButton.tsx +1 -1
  216. package/corpus/templates/calendar/app/components/calendar/GuestNotificationDialog.tsx +10 -8
  217. package/corpus/templates/calendar/app/components/calendar/IntegrationsSidebar.tsx +12 -12
  218. package/corpus/templates/calendar/app/components/calendar/KeyboardShortcutsHelp.tsx +2 -2
  219. package/corpus/templates/calendar/app/components/calendar/MonthView.tsx +1 -1
  220. package/corpus/templates/calendar/app/components/calendar/PeopleSearchDialog.tsx +6 -6
  221. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +6 -6
  222. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +2 -2
  223. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +16 -16
  224. package/corpus/templates/calendar/app/pages/AvailabilitySettings.tsx +11 -11
  225. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +50 -45
  226. package/corpus/templates/calendar/app/pages/BookingPage.tsx +2 -2
  227. package/corpus/templates/calendar/app/pages/BookingsList.tsx +12 -12
  228. package/corpus/templates/calendar/app/pages/CalendarView.tsx +17 -17
  229. package/corpus/templates/calendar/app/pages/ManageBookingPage.tsx +13 -13
  230. package/corpus/templates/calendar/app/pages/Settings.tsx +12 -12
  231. package/corpus/templates/calendar/app/routes/event.tsx +2 -2
  232. package/corpus/templates/calendar/package.json +1 -0
  233. package/corpus/templates/chat/app/components/layout/Header.tsx +4 -2
  234. package/corpus/templates/chat/app/components/layout/Layout.tsx +7 -7
  235. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +12 -12
  236. package/corpus/templates/chat/app/routes/database.tsx +1 -2
  237. package/corpus/templates/chat/app/routes/observability.tsx +1 -1
  238. package/corpus/templates/chat/app/routes/settings.tsx +5 -5
  239. package/corpus/templates/chat/package.json +1 -0
  240. package/corpus/templates/clips/AGENTS.md +5 -0
  241. package/corpus/templates/clips/actions/create-recording-agent-link.ts +15 -20
  242. package/corpus/templates/clips/actions/delete-recording-permanent.ts +74 -34
  243. package/corpus/templates/clips/app/components/capture-install-options.tsx +6 -6
  244. package/corpus/templates/clips/app/components/editable-recording-title.tsx +2 -2
  245. package/corpus/templates/clips/app/components/editor/chapters-editor.tsx +7 -7
  246. package/corpus/templates/clips/app/components/editor/editor-layout.tsx +165 -3
  247. package/corpus/templates/clips/app/components/editor/editor-toolbar.tsx +101 -57
  248. package/corpus/templates/clips/app/components/editor/split-button.tsx +4 -5
  249. package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +9 -9
  250. package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +16 -11
  251. package/corpus/templates/clips/app/components/editor/timeline.tsx +4 -6
  252. package/corpus/templates/clips/app/components/editor/transcript-editor.tsx +5 -5
  253. package/corpus/templates/clips/app/components/editor/trim-handles.tsx +4 -7
  254. package/corpus/templates/clips/app/components/editor/waveform.tsx +13 -4
  255. package/corpus/templates/clips/app/components/layout/Header.tsx +4 -2
  256. package/corpus/templates/clips/app/components/layout/Layout.tsx +2 -3
  257. package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +4 -4
  258. package/corpus/templates/clips/app/components/library/create-space-dialog.tsx +8 -8
  259. package/corpus/templates/clips/app/components/library/empty-state.tsx +1 -2
  260. package/corpus/templates/clips/app/components/library/folder-tree.tsx +14 -14
  261. package/corpus/templates/clips/app/components/library/library-grid.tsx +7 -7
  262. package/corpus/templates/clips/app/components/library/library-layout.tsx +16 -16
  263. package/corpus/templates/clips/app/components/library/organization-switcher.tsx +11 -11
  264. package/corpus/templates/clips/app/components/library/recording-card.tsx +16 -12
  265. package/corpus/templates/clips/app/components/library/search-bar.tsx +5 -5
  266. package/corpus/templates/clips/app/components/library/sort-menu.tsx +3 -4
  267. package/corpus/templates/clips/app/components/library/tag-input.tsx +4 -4
  268. package/corpus/templates/clips/app/components/meetings/attendee-stack.tsx +6 -2
  269. package/corpus/templates/clips/app/components/meetings/auto-record-prompt.tsx +1 -1
  270. package/corpus/templates/clips/app/components/meetings/bullet-link.tsx +4 -4
  271. package/corpus/templates/clips/app/components/meetings/canvas-editor.tsx +5 -5
  272. package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +3 -3
  273. package/corpus/templates/clips/app/components/meetings/quick-ask-sidebar.tsx +9 -9
  274. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +11 -6
  275. package/corpus/templates/clips/app/components/meetings/transcript-bubbles.tsx +4 -4
  276. package/corpus/templates/clips/app/components/player/access-password-prompt.tsx +2 -3
  277. package/corpus/templates/clips/app/components/player/comments-panel.tsx +14 -14
  278. package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +6 -7
  279. package/corpus/templates/clips/app/components/player/insights-panel.tsx +1 -2
  280. package/corpus/templates/clips/app/components/player/player-controls.tsx +15 -15
  281. package/corpus/templates/clips/app/components/player/reactions-tray.tsx +3 -3
  282. package/corpus/templates/clips/app/components/player/settings-panel.tsx +12 -13
  283. package/corpus/templates/clips/app/components/player/share-dialog.tsx +20 -11
  284. package/corpus/templates/clips/app/components/player/sign-in-prompt-dialog.tsx +2 -3
  285. package/corpus/templates/clips/app/components/player/timestamped-comment-button.tsx +2 -2
  286. package/corpus/templates/clips/app/components/player/transcript-panel.tsx +7 -7
  287. package/corpus/templates/clips/app/components/player/video-player.tsx +9 -9
  288. package/corpus/templates/clips/app/components/recorder/camera-visualizer.tsx +1 -1
  289. package/corpus/templates/clips/app/components/recorder/microphone-visualizer.tsx +1 -1
  290. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +21 -21
  291. package/corpus/templates/clips/app/components/recorder/recording-toolbar.tsx +5 -6
  292. package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +6 -7
  293. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +10 -10
  294. package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +9 -5
  295. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +19 -9
  296. package/corpus/templates/clips/app/components/workspace/invite-dialog.tsx +9 -10
  297. package/corpus/templates/clips/app/components/workspace/members-list.tsx +10 -11
  298. package/corpus/templates/clips/app/components/workspace/notifications-list.tsx +1 -2
  299. package/corpus/templates/clips/app/components/workspace/top-creators-table.tsx +2 -3
  300. package/corpus/templates/clips/app/components/workspace/top-videos-table.tsx +2 -3
  301. package/corpus/templates/clips/app/hooks/use-desktop-promo.ts +1 -2
  302. package/corpus/templates/clips/app/root.tsx +10 -10
  303. package/corpus/templates/clips/app/routes/_app.dictate.tsx +13 -13
  304. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +35 -26
  305. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +20 -20
  306. package/corpus/templates/clips/app/routes/_app.notifications.tsx +3 -3
  307. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +31 -31
  308. package/corpus/templates/clips/app/routes/_app.settings.organization.tsx +13 -8
  309. package/corpus/templates/clips/app/routes/_app.spaces._index.tsx +1 -1
  310. package/corpus/templates/clips/app/routes/_app.trash.tsx +10 -10
  311. package/corpus/templates/clips/app/routes/bug-report.done.tsx +1 -1
  312. package/corpus/templates/clips/app/routes/bug-report.tsx +11 -11
  313. package/corpus/templates/clips/app/routes/download.tsx +2 -2
  314. package/corpus/templates/clips/app/routes/embed.$shareId.tsx +1 -1
  315. package/corpus/templates/clips/app/routes/invite.$token.tsx +13 -8
  316. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +28 -23
  317. package/corpus/templates/clips/app/routes/record.tsx +3 -3
  318. package/corpus/templates/clips/app/routes/share.$shareId.tsx +41 -20
  319. package/corpus/templates/clips/app/routes/share.meeting.$meetingId.tsx +2 -2
  320. package/corpus/templates/clips/changelog/2026-07-05-desktop-full-screen-recordings-with-system-audio-now-finaliz.md +6 -0
  321. package/corpus/templates/clips/changelog/2026-07-05-desktop-recording-shortcut-start-stop.md +6 -0
  322. package/corpus/templates/clips/changelog/2026-07-05-desktop-recordings-no-longer-fail-when-saved-capture-constra.md +6 -0
  323. package/corpus/templates/clips/changelog/2026-07-05-permanently-deleted-clips-now-clean-up-s3-media-objects.md +6 -0
  324. package/corpus/templates/clips/changelog/2026-07-05-timeline-zoom-controls-are-now-visible-in-the-clip-editor-an.md +6 -0
  325. package/corpus/templates/clips/desktop/src/app.tsx +98 -1
  326. package/corpus/templates/clips/desktop/src/components/MediaDeviceRow.tsx +3 -2
  327. package/corpus/templates/clips/desktop/src/lib/media-capture-constraints.ts +121 -0
  328. package/corpus/templates/clips/desktop/src/lib/recorder.ts +55 -84
  329. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +77 -39
  330. package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +60 -8
  331. package/corpus/templates/clips/package.json +1 -0
  332. package/corpus/templates/clips/server/lib/public-agent-context.ts +17 -12
  333. package/corpus/templates/clips/server/lib/recording-media-cleanup.ts +110 -0
  334. package/corpus/templates/clips/server/lib/s3-upload-provider.ts +126 -0
  335. package/corpus/templates/clips/server/routes/api/public-recording.get.ts +47 -11
  336. package/corpus/templates/clips/shared/agent-context.ts +23 -21
  337. package/corpus/templates/content/app/blocks/contentBlockRegistry.tsx +4 -4
  338. package/corpus/templates/content/app/components/EmptyState.tsx +1 -1
  339. package/corpus/templates/content/app/components/ThemeToggle.tsx +6 -6
  340. package/corpus/templates/content/app/components/editor/BubbleToolbar.tsx +5 -5
  341. package/corpus/templates/content/app/components/editor/CommentsSidebar.tsx +5 -5
  342. package/corpus/templates/content/app/components/editor/ContentReferencePreview.tsx +1 -1
  343. package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +36 -36
  344. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +3 -3
  345. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +29 -29
  346. package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +23 -23
  347. package/corpus/templates/content/app/components/editor/EmojiPicker.tsx +4 -5
  348. package/corpus/templates/content/app/components/editor/LinkHoverPreview.tsx +4 -5
  349. package/corpus/templates/content/app/components/editor/NotionConflictBanner.tsx +1 -1
  350. package/corpus/templates/content/app/components/editor/NotionSyncBar.tsx +2 -2
  351. package/corpus/templates/content/app/components/editor/SlashCommandMenu.tsx +5 -5
  352. package/corpus/templates/content/app/components/editor/TableHoverControls.tsx +13 -13
  353. package/corpus/templates/content/app/components/editor/VersionHistoryPanel.tsx +10 -10
  354. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +41 -41
  355. package/corpus/templates/content/app/components/editor/database/shared.tsx +19 -19
  356. package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +8 -9
  357. package/corpus/templates/content/app/components/editor/extensions/AudioBlock.tsx +18 -19
  358. package/corpus/templates/content/app/components/editor/extensions/ImageBlock.tsx +20 -21
  359. package/corpus/templates/content/app/components/editor/extensions/LocalMdxComponentNode.tsx +8 -8
  360. package/corpus/templates/content/app/components/editor/extensions/VideoBlock.tsx +18 -19
  361. package/corpus/templates/content/app/components/layout/Header.tsx +4 -2
  362. package/corpus/templates/content/app/components/layout/Layout.tsx +3 -3
  363. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +22 -22
  364. package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +22 -22
  365. package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +11 -11
  366. package/corpus/templates/content/app/root.tsx +13 -5
  367. package/corpus/templates/content/app/routes/_app._index.tsx +1 -1
  368. package/corpus/templates/content/app/routes/_app.local-files.tsx +11 -11
  369. package/corpus/templates/content/app/routes/_app.settings.tsx +3 -3
  370. package/corpus/templates/content/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
  371. package/corpus/templates/content/package.json +1 -0
  372. package/corpus/templates/design/AGENTS.md +13 -7
  373. package/corpus/templates/design/actions/get-design-system.ts +21 -0
  374. package/corpus/templates/design/actions/index-design-system-with-builder.ts +14 -37
  375. package/corpus/templates/design/app/components/ThemeToggle.tsx +6 -6
  376. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +11 -11
  377. package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +2 -2
  378. package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +21 -16
  379. package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +3 -3
  380. package/corpus/templates/design/app/components/design/DrawOverlay.tsx +7 -7
  381. package/corpus/templates/design/app/components/design/EditPanel.tsx +30 -30
  382. package/corpus/templates/design/app/components/design/FusionAppBanner.tsx +8 -9
  383. package/corpus/templates/design/app/components/design/LayersPanel.tsx +14 -14
  384. package/corpus/templates/design/app/components/design/LocalhostWriteConsentDialog.tsx +5 -6
  385. package/corpus/templates/design/app/components/design/MotionDock.tsx +15 -15
  386. package/corpus/templates/design/app/components/design/QuestionFlow.tsx +3 -3
  387. package/corpus/templates/design/app/components/design/ReviewPanel.tsx +3 -3
  388. package/corpus/templates/design/app/components/design/StatesPanel.tsx +13 -13
  389. package/corpus/templates/design/app/components/design/TokensPanel.tsx +14 -14
  390. package/corpus/templates/design/app/components/design/TweaksPanel.tsx +6 -6
  391. package/corpus/templates/design/app/components/design/code-workbench/ActivityBar.tsx +3 -3
  392. package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +3 -3
  393. package/corpus/templates/design/app/components/design/code-workbench/SideBar.tsx +70 -9
  394. package/corpus/templates/design/app/components/design/code-workbench/editor/EditorTabs.tsx +17 -8
  395. package/corpus/templates/design/app/components/design/code-workbench/editor/MonacoHost.tsx +2 -3
  396. package/corpus/templates/design/app/components/design/code-workbench/editor/StatusBar.tsx +1 -1
  397. package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +8 -2
  398. package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +24 -20
  399. package/corpus/templates/design/app/components/design/code-workbench/search/SearchView.tsx +6 -6
  400. package/corpus/templates/design/app/components/design/code-workbench/store.tsx +48 -0
  401. package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +3 -3
  402. package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +7 -7
  403. package/corpus/templates/design/app/components/design/inspector/ConstraintsWidget.tsx +3 -3
  404. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +18 -18
  405. package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +6 -6
  406. package/corpus/templates/design/app/components/design/inspector/ImageFillControls.tsx +6 -6
  407. package/corpus/templates/design/app/components/design/inspector/InspectorAiActions.tsx +7 -7
  408. package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +7 -7
  409. package/corpus/templates/design/app/components/design/inspector/ShaderControls.tsx +14 -14
  410. package/corpus/templates/design/app/components/design/inspector/ShaderEffectRow.tsx +9 -9
  411. package/corpus/templates/design/app/components/design/inspector/ShaderFillsPanel.tsx +6 -6
  412. package/corpus/templates/design/app/components/design-system/DesignSystemCard.tsx +2 -3
  413. package/corpus/templates/design/app/components/editor/PromptDialog.tsx +18 -15
  414. package/corpus/templates/design/app/components/layout/Header.tsx +4 -2
  415. package/corpus/templates/design/app/components/layout/Layout.tsx +1 -1
  416. package/corpus/templates/design/app/components/layout/Sidebar.tsx +5 -5
  417. package/corpus/templates/design/app/components/visual-editor/CanvasCommentPins.tsx +7 -7
  418. package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +7 -7
  419. package/corpus/templates/design/app/components/visual-editor/SaveStatusIndicator.tsx +3 -3
  420. package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +6 -0
  421. package/corpus/templates/design/app/i18n/zh-TW.ts +15 -14
  422. package/corpus/templates/design/app/i18n-data.ts +154 -142
  423. package/corpus/templates/design/app/pages/DesignEditor.tsx +51 -47
  424. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +40 -22
  425. package/corpus/templates/design/app/pages/DesignSystems.tsx +32 -32
  426. package/corpus/templates/design/app/pages/Index.tsx +28 -28
  427. package/corpus/templates/design/app/pages/NotFound.tsx +1 -2
  428. package/corpus/templates/design/app/pages/Present.tsx +1 -2
  429. package/corpus/templates/design/app/pages/VisualEdit.tsx +1 -2
  430. package/corpus/templates/design/app/root.tsx +1 -1
  431. package/corpus/templates/design/app/routes/settings.tsx +3 -3
  432. package/corpus/templates/design/changelog/2026-07-03-design-system-setup-now-indexes-figma-code-and-design-md-sou.md +6 -0
  433. package/corpus/templates/design/changelog/2026-07-03-the-code-editor-is-easier-to-use-with-top-sidebar-tabs-clear.md +6 -0
  434. package/corpus/templates/design/package.json +1 -0
  435. package/corpus/templates/design/server/lib/builder-design-system-proxy.ts +16 -106
  436. package/corpus/templates/forms/app/components/CloudUpgrade.tsx +10 -10
  437. package/corpus/templates/forms/app/components/ThemeToggle.tsx +5 -5
  438. package/corpus/templates/forms/app/components/builder/FieldPropertiesPanel.tsx +10 -11
  439. package/corpus/templates/forms/app/components/builder/FieldRenderer.tsx +13 -10
  440. package/corpus/templates/forms/app/components/layout/Header.tsx +4 -2
  441. package/corpus/templates/forms/app/components/layout/Layout.tsx +1 -1
  442. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +15 -15
  443. package/corpus/templates/forms/app/components/ui/calendar.tsx +1 -1
  444. package/corpus/templates/forms/app/components/ui/command.tsx +1 -1
  445. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +24 -24
  446. package/corpus/templates/forms/app/pages/FormFillPage.tsx +2 -2
  447. package/corpus/templates/forms/app/pages/FormsListPage.tsx +25 -25
  448. package/corpus/templates/forms/app/pages/ResponseInsightsPage.tsx +11 -11
  449. package/corpus/templates/forms/app/pages/ResponsesPage.tsx +4 -4
  450. package/corpus/templates/forms/app/routes/_app.settings.tsx +5 -5
  451. package/corpus/templates/forms/app/routes/form-preview.tsx +3 -3
  452. package/corpus/templates/forms/package.json +1 -0
  453. package/corpus/templates/macros/app/components/AddExerciseDialog.tsx +1 -1
  454. package/corpus/templates/macros/app/components/AddMealDialog.tsx +1 -1
  455. package/corpus/templates/macros/app/components/AddWeightDialog.tsx +1 -1
  456. package/corpus/templates/macros/app/components/DailyProgress.tsx +7 -7
  457. package/corpus/templates/macros/app/components/WeeklyCaloriesChart.tsx +1 -2
  458. package/corpus/templates/macros/app/components/WeightCard.tsx +10 -10
  459. package/corpus/templates/macros/app/components/WeightTracker.tsx +1 -1
  460. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +11 -7
  461. package/corpus/templates/macros/app/components/layout/Header.tsx +4 -2
  462. package/corpus/templates/macros/app/root.tsx +1 -1
  463. package/corpus/templates/macros/app/routes/_index.tsx +1 -1
  464. package/corpus/templates/macros/app/routes/analytics.tsx +9 -9
  465. package/corpus/templates/macros/app/routes/settings.tsx +2 -2
  466. package/corpus/templates/macros/package.json +1 -0
  467. package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +1 -1
  468. package/corpus/templates/mail/app/components/ThemeToggle.tsx +6 -6
  469. package/corpus/templates/mail/app/components/agent-engine-picker.tsx +10 -10
  470. package/corpus/templates/mail/app/components/email/CodeBlockLangPicker.tsx +3 -4
  471. package/corpus/templates/mail/app/components/email/ComposeBubbleToolbar.tsx +5 -5
  472. package/corpus/templates/mail/app/components/email/ComposeEditor.tsx +9 -9
  473. package/corpus/templates/mail/app/components/email/ComposeModal.tsx +18 -18
  474. package/corpus/templates/mail/app/components/email/EmailList.tsx +17 -17
  475. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +5 -5
  476. package/corpus/templates/mail/app/components/email/EmailThread.tsx +6 -6
  477. package/corpus/templates/mail/app/components/email/InlineReplyComposer.tsx +11 -11
  478. package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +13 -13
  479. package/corpus/templates/mail/app/components/email/MobileActionBar.tsx +13 -13
  480. package/corpus/templates/mail/app/components/email/RecipientInput.tsx +13 -13
  481. package/corpus/templates/mail/app/components/email/SendLaterButton.tsx +4 -5
  482. package/corpus/templates/mail/app/components/email/SnoozeModal.tsx +1 -1
  483. package/corpus/templates/mail/app/components/email/SnoozePopover.tsx +6 -6
  484. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +12 -12
  485. package/corpus/templates/mail/app/components/layout/SearchBar.tsx +5 -5
  486. package/corpus/templates/mail/app/components/settings/GmailFiltersSection.tsx +23 -23
  487. package/corpus/templates/mail/app/components/ui/calendar.tsx +1 -1
  488. package/corpus/templates/mail/app/components/ui/command.tsx +1 -1
  489. package/corpus/templates/mail/app/pages/DraftQueuePage.tsx +14 -14
  490. package/corpus/templates/mail/app/pages/NotFound.tsx +1 -2
  491. package/corpus/templates/mail/app/pages/SettingsPage.tsx +25 -25
  492. package/corpus/templates/mail/app/root.tsx +61 -2
  493. package/corpus/templates/mail/app/routes/_index.tsx +1 -2
  494. package/corpus/templates/mail/app/routes/email.tsx +2 -2
  495. package/corpus/templates/mail/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
  496. package/corpus/templates/mail/package.json +1 -0
  497. package/corpus/templates/plan/app/components/layout/Header.tsx +4 -2
  498. package/corpus/templates/plan/app/components/layout/Layout.tsx +5 -6
  499. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +20 -20
  500. package/corpus/templates/plan/app/components/plan/CanvasArea.tsx +2 -3
  501. package/corpus/templates/plan/app/components/plan/DocumentArea.tsx +2 -2
  502. package/corpus/templates/plan/app/components/plan/GuestModeBanner.tsx +1 -2
  503. package/corpus/templates/plan/app/components/plan/LocalCodebasePicker.tsx +8 -8
  504. package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +1 -1
  505. package/corpus/templates/plan/app/components/plan/PlanImageViewer.tsx +83 -82
  506. package/corpus/templates/plan/app/components/plan/PlanVisualSurface.tsx +3 -3
  507. package/corpus/templates/plan/app/components/plan/planBlocks.tsx +4 -4
  508. package/corpus/templates/plan/app/i18n/ar-SA.ts +3 -0
  509. package/corpus/templates/plan/app/i18n/de-DE.ts +4 -0
  510. package/corpus/templates/plan/app/i18n/en-US.ts +4 -0
  511. package/corpus/templates/plan/app/i18n/es-ES.ts +4 -0
  512. package/corpus/templates/plan/app/i18n/fr-FR.ts +4 -0
  513. package/corpus/templates/plan/app/i18n/hi-IN.ts +3 -0
  514. package/corpus/templates/plan/app/i18n/ja-JP.ts +4 -0
  515. package/corpus/templates/plan/app/i18n/ko-KR.ts +4 -0
  516. package/corpus/templates/plan/app/i18n/pt-BR.ts +4 -0
  517. package/corpus/templates/plan/app/i18n/zh-CN.ts +3 -0
  518. package/corpus/templates/plan/app/i18n/zh-TW.ts +3 -0
  519. package/corpus/templates/plan/app/pages/PlansPage.tsx +158 -80
  520. package/corpus/templates/plan/app/root.tsx +1 -1
  521. package/corpus/templates/plan/app/routes/_index.tsx +2 -1
  522. package/corpus/templates/plan/app/routes/local-plans.$slug.tsx +1 -1
  523. package/corpus/templates/plan/app/routes/plans.$id.tsx +2 -1
  524. package/corpus/templates/plan/app/routes/plans.tsx +2 -1
  525. package/corpus/templates/plan/app/routes/recaps.$id.tsx +2 -1
  526. package/corpus/templates/plan/app/routes/recaps.tsx +2 -1
  527. package/corpus/templates/plan/app/routes/settings.tsx +5 -5
  528. package/corpus/templates/plan/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
  529. package/corpus/templates/plan/changelog/2026-07-05-images-in-plan-documents-open-reliably-in-the-full-size-prev.md +6 -0
  530. package/corpus/templates/plan/package.json +1 -0
  531. package/corpus/templates/slides/AGENTS.md +7 -3
  532. package/corpus/templates/slides/actions/get-design-system.ts +21 -0
  533. package/corpus/templates/slides/actions/import-file.ts +15 -7
  534. package/corpus/templates/slides/actions/index-design-system-with-builder.ts +14 -37
  535. package/corpus/templates/slides/app/components/ThemeToggle.tsx +6 -6
  536. package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +5 -5
  537. package/corpus/templates/slides/app/components/deck/DeckCard.tsx +7 -7
  538. package/corpus/templates/slides/app/components/deck/ExcalidrawSlide.tsx +1 -2
  539. package/corpus/templates/slides/app/components/deck/SlideRenderer.tsx +1 -1
  540. package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +2 -3
  541. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +45 -22
  542. package/corpus/templates/slides/app/components/editor/AnimationsPanel.tsx +7 -7
  543. package/corpus/templates/slides/app/components/editor/BlockBubbleMenu.tsx +5 -5
  544. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +8 -8
  545. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +15 -17
  546. package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +9 -10
  547. package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +5 -6
  548. package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +12 -12
  549. package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -4
  550. package/corpus/templates/slides/app/components/editor/ImageSearchPanel.tsx +4 -5
  551. package/corpus/templates/slides/app/components/editor/ImportButton.tsx +3 -4
  552. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +1 -2
  553. package/corpus/templates/slides/app/components/editor/ShareDialog.tsx +10 -10
  554. package/corpus/templates/slides/app/components/editor/SlideBubbleMenu.tsx +10 -10
  555. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +169 -160
  556. package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +20 -17
  557. package/corpus/templates/slides/app/components/editor/SpeakerNotesPanel.tsx +56 -6
  558. package/corpus/templates/slides/app/components/editor/TweaksPanel.tsx +1 -1
  559. package/corpus/templates/slides/app/components/layout/Header.tsx +4 -2
  560. package/corpus/templates/slides/app/components/layout/Layout.tsx +7 -2
  561. package/corpus/templates/slides/app/components/layout/Sidebar.tsx +5 -5
  562. package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +6 -6
  563. package/corpus/templates/slides/app/components/visual-editor/DrawOverlay.tsx +7 -7
  564. package/corpus/templates/slides/app/i18n/ar-SA.ts +8 -7
  565. package/corpus/templates/slides/app/i18n/de-DE.ts +7 -8
  566. package/corpus/templates/slides/app/i18n/en-US.ts +8 -7
  567. package/corpus/templates/slides/app/i18n/es-ES.ts +7 -8
  568. package/corpus/templates/slides/app/i18n/fr-FR.ts +7 -8
  569. package/corpus/templates/slides/app/i18n/hi-IN.ts +8 -7
  570. package/corpus/templates/slides/app/i18n/ja-JP.ts +7 -8
  571. package/corpus/templates/slides/app/i18n/ko-KR.ts +7 -7
  572. package/corpus/templates/slides/app/i18n/pt-BR.ts +7 -8
  573. package/corpus/templates/slides/app/i18n/zh-CN.ts +8 -7
  574. package/corpus/templates/slides/app/i18n/zh-TW.ts +8 -7
  575. package/corpus/templates/slides/app/lib/canvas-zoom.ts +16 -1
  576. package/corpus/templates/slides/app/pages/DeckEditor.tsx +6 -6
  577. package/corpus/templates/slides/app/pages/DesignSystems.tsx +5 -5
  578. package/corpus/templates/slides/app/pages/Index.tsx +18 -15
  579. package/corpus/templates/slides/app/root.tsx +3 -3
  580. package/corpus/templates/slides/app/routes/settings.tsx +5 -5
  581. package/corpus/templates/slides/changelog/2026-07-03-design-system-setup-now-indexes-figma-code-and-design-md-sou.md +6 -0
  582. package/corpus/templates/slides/changelog/2026-07-03-slide-editing-now-keeps-thumbnails-speaker-notes-styling-and.md +6 -0
  583. package/corpus/templates/slides/package.json +1 -0
  584. package/corpus/templates/slides/server/lib/builder-design-system-proxy.ts +16 -104
  585. package/dist/application-state/emitter.d.ts +9 -2
  586. package/dist/application-state/emitter.d.ts.map +1 -1
  587. package/dist/application-state/emitter.js +25 -3
  588. package/dist/application-state/emitter.js.map +1 -1
  589. package/dist/cli/create.d.ts +2 -1
  590. package/dist/cli/create.d.ts.map +1 -1
  591. package/dist/cli/create.js +52 -4
  592. package/dist/cli/create.js.map +1 -1
  593. package/dist/cli/workspacify.d.ts +2 -0
  594. package/dist/cli/workspacify.d.ts.map +1 -1
  595. package/dist/cli/workspacify.js +8 -4
  596. package/dist/cli/workspacify.js.map +1 -1
  597. package/dist/client/AgentPanel.d.ts.map +1 -1
  598. package/dist/client/AgentPanel.js +2 -1
  599. package/dist/client/AgentPanel.js.map +1 -1
  600. package/dist/client/AssistantChat.d.ts.map +1 -1
  601. package/dist/client/AssistantChat.js +77 -25
  602. package/dist/client/AssistantChat.js.map +1 -1
  603. package/dist/client/ErrorBoundary.d.ts.map +1 -1
  604. package/dist/client/ErrorBoundary.js +37 -2
  605. package/dist/client/ErrorBoundary.js.map +1 -1
  606. package/dist/client/ErrorReportActions.d.ts +13 -0
  607. package/dist/client/ErrorReportActions.d.ts.map +1 -0
  608. package/dist/client/ErrorReportActions.js +14 -0
  609. package/dist/client/ErrorReportActions.js.map +1 -0
  610. package/dist/client/FeedbackButton.d.ts +3 -1
  611. package/dist/client/FeedbackButton.d.ts.map +1 -1
  612. package/dist/client/FeedbackButton.js +6 -5
  613. package/dist/client/FeedbackButton.js.map +1 -1
  614. package/dist/client/components/ui/dialog.d.ts +1 -13
  615. package/dist/client/components/ui/dialog.d.ts.map +1 -1
  616. package/dist/client/components/ui/dialog.js +1 -20
  617. package/dist/client/components/ui/dialog.js.map +1 -1
  618. package/dist/client/components/ui/dropdown-menu.d.ts +1 -27
  619. package/dist/client/components/ui/dropdown-menu.d.ts.map +1 -1
  620. package/dist/client/components/ui/dropdown-menu.js +1 -33
  621. package/dist/client/components/ui/dropdown-menu.js.map +1 -1
  622. package/dist/client/components/ui/hover-card.d.ts +1 -6
  623. package/dist/client/components/ui/hover-card.d.ts.map +1 -1
  624. package/dist/client/components/ui/hover-card.js +1 -9
  625. package/dist/client/components/ui/hover-card.js.map +1 -1
  626. package/dist/client/components/ui/popover.d.ts +1 -7
  627. package/dist/client/components/ui/popover.d.ts.map +1 -1
  628. package/dist/client/components/ui/popover.js +1 -10
  629. package/dist/client/components/ui/popover.js.map +1 -1
  630. package/dist/client/components/ui/sheet.d.ts +1 -15
  631. package/dist/client/components/ui/sheet.d.ts.map +1 -1
  632. package/dist/client/components/ui/sheet.js +1 -22
  633. package/dist/client/components/ui/sheet.js.map +1 -1
  634. package/dist/client/components/ui/tooltip.d.ts +1 -8
  635. package/dist/client/components/ui/tooltip.d.ts.map +1 -1
  636. package/dist/client/components/ui/tooltip.js +1 -17
  637. package/dist/client/components/ui/tooltip.js.map +1 -1
  638. package/dist/client/db-admin/DbAdminPage.d.ts +9 -1
  639. package/dist/client/db-admin/DbAdminPage.d.ts.map +1 -1
  640. package/dist/client/db-admin/DbAdminPage.js +17 -13
  641. package/dist/client/db-admin/DbAdminPage.js.map +1 -1
  642. package/dist/client/db-admin/SqlEditor.d.ts +3 -1
  643. package/dist/client/db-admin/SqlEditor.d.ts.map +1 -1
  644. package/dist/client/db-admin/SqlEditor.js +3 -3
  645. package/dist/client/db-admin/SqlEditor.js.map +1 -1
  646. package/dist/client/db-admin/TableEditor.d.ts +3 -1
  647. package/dist/client/db-admin/TableEditor.d.ts.map +1 -1
  648. package/dist/client/db-admin/TableEditor.js +6 -6
  649. package/dist/client/db-admin/TableEditor.js.map +1 -1
  650. package/dist/client/db-admin/useAgentSync.d.ts +3 -2
  651. package/dist/client/db-admin/useAgentSync.d.ts.map +1 -1
  652. package/dist/client/db-admin/useAgentSync.js +8 -4
  653. package/dist/client/db-admin/useAgentSync.js.map +1 -1
  654. package/dist/client/db-admin/useDbAdmin.d.ts +11 -7
  655. package/dist/client/db-admin/useDbAdmin.d.ts.map +1 -1
  656. package/dist/client/db-admin/useDbAdmin.js +45 -20
  657. package/dist/client/db-admin/useDbAdmin.js.map +1 -1
  658. package/dist/client/error-reporting.d.ts +19 -0
  659. package/dist/client/error-reporting.d.ts.map +1 -0
  660. package/dist/client/error-reporting.js +71 -0
  661. package/dist/client/error-reporting.js.map +1 -0
  662. package/dist/client/index.d.ts +3 -1
  663. package/dist/client/index.d.ts.map +1 -1
  664. package/dist/client/index.js +3 -1
  665. package/dist/client/index.js.map +1 -1
  666. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
  667. package/dist/client/org/RequireActiveOrg.js +2 -1
  668. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  669. package/dist/client/visual-style-controls.d.ts +11 -0
  670. package/dist/client/visual-style-controls.d.ts.map +1 -1
  671. package/dist/client/visual-style-controls.js +350 -1
  672. package/dist/client/visual-style-controls.js.map +1 -1
  673. package/dist/collab/routes.d.ts +1 -1
  674. package/dist/collab/struct-routes.d.ts +1 -1
  675. package/dist/db-admin/index.d.ts +3 -0
  676. package/dist/db-admin/index.d.ts.map +1 -0
  677. package/dist/db-admin/index.js +2 -0
  678. package/dist/db-admin/index.js.map +1 -0
  679. package/dist/db-admin/operations.d.ts +26 -5
  680. package/dist/db-admin/operations.d.ts.map +1 -1
  681. package/dist/db-admin/operations.js +66 -55
  682. package/dist/db-admin/operations.js.map +1 -1
  683. package/dist/localization/default-messages.d.ts +3 -0
  684. package/dist/localization/default-messages.d.ts.map +1 -1
  685. package/dist/localization/default-messages.js +3 -0
  686. package/dist/localization/default-messages.js.map +1 -1
  687. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  688. package/dist/secrets/crypto.d.ts.map +1 -1
  689. package/dist/secrets/crypto.js +37 -4
  690. package/dist/secrets/crypto.js.map +1 -1
  691. package/dist/secrets/routes.d.ts +9 -9
  692. package/dist/server/agent-access.d.ts +16 -0
  693. package/dist/server/agent-access.d.ts.map +1 -0
  694. package/dist/server/agent-access.js +25 -0
  695. package/dist/server/agent-access.js.map +1 -0
  696. package/dist/server/builder-design-systems.d.ts +61 -0
  697. package/dist/server/builder-design-systems.d.ts.map +1 -1
  698. package/dist/server/builder-design-systems.js +219 -14
  699. package/dist/server/builder-design-systems.js.map +1 -1
  700. package/dist/server/h3-helpers.d.ts.map +1 -1
  701. package/dist/server/h3-helpers.js +12 -2
  702. package/dist/server/h3-helpers.js.map +1 -1
  703. package/dist/server/index.d.ts +2 -1
  704. package/dist/server/index.d.ts.map +1 -1
  705. package/dist/server/index.js +2 -1
  706. package/dist/server/index.js.map +1 -1
  707. package/dist/server/request-context.d.ts +17 -0
  708. package/dist/server/request-context.d.ts.map +1 -1
  709. package/dist/server/request-context.js +46 -6
  710. package/dist/server/request-context.js.map +1 -1
  711. package/dist/shared/agent-access.d.ts +29 -0
  712. package/dist/shared/agent-access.d.ts.map +1 -0
  713. package/dist/shared/agent-access.js +57 -0
  714. package/dist/shared/agent-access.js.map +1 -0
  715. package/dist/shared/index.d.ts +1 -0
  716. package/dist/shared/index.d.ts.map +1 -1
  717. package/dist/shared/index.js +1 -0
  718. package/dist/shared/index.js.map +1 -1
  719. package/dist/templates/default/app/root.tsx +47 -0
  720. package/docs/content/components.mdx +13 -0
  721. package/docs/content/creating-templates.mdx +7 -0
  722. package/docs/content/locales/ar-SA/components.mdx +9 -0
  723. package/docs/content/locales/ar-SA/creating-templates.mdx +2 -0
  724. package/docs/content/locales/ar-SA/template-analytics.mdx +6 -0
  725. package/docs/content/locales/ar-SA/template-clips.mdx +7 -0
  726. package/docs/content/locales/ar-SA/tracking.mdx +6 -0
  727. package/docs/content/locales/de-DE/components.mdx +9 -0
  728. package/docs/content/locales/de-DE/creating-templates.mdx +2 -0
  729. package/docs/content/locales/de-DE/template-analytics.mdx +6 -0
  730. package/docs/content/locales/de-DE/template-clips.mdx +7 -0
  731. package/docs/content/locales/de-DE/tracking.mdx +6 -0
  732. package/docs/content/locales/es-ES/components.mdx +9 -0
  733. package/docs/content/locales/es-ES/creating-templates.mdx +2 -0
  734. package/docs/content/locales/es-ES/template-analytics.mdx +6 -0
  735. package/docs/content/locales/es-ES/template-clips.mdx +7 -0
  736. package/docs/content/locales/es-ES/tracking.mdx +6 -0
  737. package/docs/content/locales/fr-FR/components.mdx +9 -0
  738. package/docs/content/locales/fr-FR/creating-templates.mdx +2 -0
  739. package/docs/content/locales/fr-FR/template-analytics.mdx +6 -0
  740. package/docs/content/locales/fr-FR/template-clips.mdx +7 -0
  741. package/docs/content/locales/fr-FR/tracking.mdx +6 -0
  742. package/docs/content/locales/hi-IN/components.mdx +9 -0
  743. package/docs/content/locales/hi-IN/creating-templates.mdx +2 -0
  744. package/docs/content/locales/hi-IN/template-analytics.mdx +6 -0
  745. package/docs/content/locales/hi-IN/template-clips.mdx +7 -0
  746. package/docs/content/locales/hi-IN/tracking.mdx +6 -0
  747. package/docs/content/locales/ja-JP/components.mdx +9 -0
  748. package/docs/content/locales/ja-JP/creating-templates.mdx +2 -0
  749. package/docs/content/locales/ja-JP/template-analytics.mdx +6 -0
  750. package/docs/content/locales/ja-JP/template-clips.mdx +7 -0
  751. package/docs/content/locales/ja-JP/tracking.mdx +6 -0
  752. package/docs/content/locales/ko-KR/components.mdx +9 -0
  753. package/docs/content/locales/ko-KR/creating-templates.mdx +2 -0
  754. package/docs/content/locales/ko-KR/template-analytics.mdx +6 -0
  755. package/docs/content/locales/ko-KR/template-clips.mdx +7 -0
  756. package/docs/content/locales/ko-KR/tracking.mdx +6 -0
  757. package/docs/content/locales/pt-BR/components.mdx +9 -0
  758. package/docs/content/locales/pt-BR/creating-templates.mdx +2 -0
  759. package/docs/content/locales/pt-BR/template-analytics.mdx +6 -0
  760. package/docs/content/locales/pt-BR/template-clips.mdx +7 -0
  761. package/docs/content/locales/pt-BR/tracking.mdx +6 -0
  762. package/docs/content/locales/zh-CN/components.mdx +9 -0
  763. package/docs/content/locales/zh-CN/creating-templates.mdx +2 -0
  764. package/docs/content/locales/zh-CN/template-analytics.mdx +6 -0
  765. package/docs/content/locales/zh-CN/template-clips.mdx +7 -0
  766. package/docs/content/locales/zh-CN/tracking.mdx +6 -0
  767. package/docs/content/locales/zh-TW/components.mdx +9 -0
  768. package/docs/content/locales/zh-TW/creating-templates.mdx +2 -0
  769. package/docs/content/locales/zh-TW/template-analytics.mdx +6 -0
  770. package/docs/content/locales/zh-TW/template-clips.mdx +7 -0
  771. package/docs/content/locales/zh-TW/tracking.mdx +6 -0
  772. package/docs/content/template-analytics.mdx +6 -0
  773. package/docs/content/template-clips.mdx +7 -0
  774. package/docs/content/tracking.mdx +6 -0
  775. package/package.json +10 -2
  776. package/src/templates/default/app/root.tsx +47 -0
  777. package/corpus/templates/analytics/app/components/ui/accordion.tsx +0 -56
  778. package/corpus/templates/analytics/app/components/ui/alert-dialog.tsx +0 -139
  779. package/corpus/templates/analytics/app/components/ui/alert.tsx +0 -59
  780. package/corpus/templates/analytics/app/components/ui/aspect-ratio.tsx +0 -5
  781. package/corpus/templates/analytics/app/components/ui/avatar.tsx +0 -48
  782. package/corpus/templates/analytics/app/components/ui/badge.tsx +0 -37
  783. package/corpus/templates/analytics/app/components/ui/breadcrumb.tsx +0 -115
  784. package/corpus/templates/analytics/app/components/ui/button.tsx +0 -57
  785. package/corpus/templates/analytics/app/components/ui/card.tsx +0 -86
  786. package/corpus/templates/analytics/app/components/ui/carousel.tsx +0 -260
  787. package/corpus/templates/analytics/app/components/ui/checkbox.tsx +0 -28
  788. package/corpus/templates/analytics/app/components/ui/collapsible.tsx +0 -9
  789. package/corpus/templates/analytics/app/components/ui/command.tsx +0 -154
  790. package/corpus/templates/analytics/app/components/ui/context-menu.tsx +0 -202
  791. package/corpus/templates/analytics/app/components/ui/date-picker.tsx +0 -68
  792. package/corpus/templates/analytics/app/components/ui/dialog.tsx +0 -130
  793. package/corpus/templates/analytics/app/components/ui/drawer.tsx +0 -116
  794. package/corpus/templates/analytics/app/components/ui/dropdown-menu.tsx +0 -212
  795. package/corpus/templates/analytics/app/components/ui/form.tsx +0 -177
  796. package/corpus/templates/analytics/app/components/ui/hover-card.tsx +0 -27
  797. package/corpus/templates/analytics/app/components/ui/input-otp.tsx +0 -69
  798. package/corpus/templates/analytics/app/components/ui/input.tsx +0 -22
  799. package/corpus/templates/analytics/app/components/ui/label.tsx +0 -24
  800. package/corpus/templates/analytics/app/components/ui/menubar.tsx +0 -234
  801. package/corpus/templates/analytics/app/components/ui/navigation-menu.tsx +0 -128
  802. package/corpus/templates/analytics/app/components/ui/pagination.tsx +0 -121
  803. package/corpus/templates/analytics/app/components/ui/popover.tsx +0 -44
  804. package/corpus/templates/analytics/app/components/ui/progress.tsx +0 -26
  805. package/corpus/templates/analytics/app/components/ui/radio-group.tsx +0 -42
  806. package/corpus/templates/analytics/app/components/ui/resizable.tsx +0 -43
  807. package/corpus/templates/analytics/app/components/ui/scroll-area.tsx +0 -46
  808. package/corpus/templates/analytics/app/components/ui/select.tsx +0 -158
  809. package/corpus/templates/analytics/app/components/ui/separator.tsx +0 -29
  810. package/corpus/templates/analytics/app/components/ui/sheet.tsx +0 -160
  811. package/corpus/templates/analytics/app/components/ui/sidebar.tsx +0 -782
  812. package/corpus/templates/analytics/app/components/ui/skeleton.tsx +0 -15
  813. package/corpus/templates/analytics/app/components/ui/slider.tsx +0 -26
  814. package/corpus/templates/analytics/app/components/ui/sonner.tsx +0 -58
  815. package/corpus/templates/analytics/app/components/ui/spinner.tsx +0 -17
  816. package/corpus/templates/analytics/app/components/ui/switch.tsx +0 -27
  817. package/corpus/templates/analytics/app/components/ui/table.tsx +0 -117
  818. package/corpus/templates/analytics/app/components/ui/tabs.tsx +0 -53
  819. package/corpus/templates/analytics/app/components/ui/textarea.tsx +0 -23
  820. package/corpus/templates/analytics/app/components/ui/toast.tsx +0 -127
  821. package/corpus/templates/analytics/app/components/ui/toaster.tsx +0 -33
  822. package/corpus/templates/analytics/app/components/ui/toggle-group.tsx +0 -59
  823. package/corpus/templates/analytics/app/components/ui/toggle.tsx +0 -43
  824. package/corpus/templates/analytics/app/components/ui/tooltip.tsx +0 -30
  825. package/corpus/templates/analytics/app/components/ui/use-toast.ts +0 -3
  826. package/corpus/templates/analytics/app/hooks/use-mobile.tsx +0 -21
  827. package/corpus/templates/analytics/app/hooks/use-toast.ts +0 -188
  828. package/corpus/templates/assets/app/components/layout/HeaderActions.tsx +0 -84
  829. package/corpus/templates/assets/app/components/ui/alert-dialog.tsx +0 -139
  830. package/corpus/templates/assets/app/components/ui/alert.tsx +0 -59
  831. package/corpus/templates/assets/app/components/ui/avatar.tsx +0 -48
  832. package/corpus/templates/assets/app/components/ui/badge.tsx +0 -37
  833. package/corpus/templates/assets/app/components/ui/breadcrumb.tsx +0 -115
  834. package/corpus/templates/assets/app/components/ui/button.tsx +0 -57
  835. package/corpus/templates/assets/app/components/ui/card.tsx +0 -86
  836. package/corpus/templates/assets/app/components/ui/checkbox.tsx +0 -28
  837. package/corpus/templates/assets/app/components/ui/dialog.tsx +0 -130
  838. package/corpus/templates/assets/app/components/ui/dropdown-menu.tsx +0 -212
  839. package/corpus/templates/assets/app/components/ui/hover-card.tsx +0 -27
  840. package/corpus/templates/assets/app/components/ui/input.tsx +0 -22
  841. package/corpus/templates/assets/app/components/ui/label.tsx +0 -24
  842. package/corpus/templates/assets/app/components/ui/pagination.tsx +0 -121
  843. package/corpus/templates/assets/app/components/ui/popover.tsx +0 -44
  844. package/corpus/templates/assets/app/components/ui/progress.tsx +0 -26
  845. package/corpus/templates/assets/app/components/ui/scroll-area.tsx +0 -46
  846. package/corpus/templates/assets/app/components/ui/select.tsx +0 -158
  847. package/corpus/templates/assets/app/components/ui/separator.tsx +0 -29
  848. package/corpus/templates/assets/app/components/ui/sheet.tsx +0 -160
  849. package/corpus/templates/assets/app/components/ui/skeleton.tsx +0 -15
  850. package/corpus/templates/assets/app/components/ui/slider.tsx +0 -26
  851. package/corpus/templates/assets/app/components/ui/sonner.tsx +0 -58
  852. package/corpus/templates/assets/app/components/ui/spinner.tsx +0 -17
  853. package/corpus/templates/assets/app/components/ui/table.tsx +0 -117
  854. package/corpus/templates/assets/app/components/ui/tabs.tsx +0 -53
  855. package/corpus/templates/assets/app/components/ui/tooltip.tsx +0 -30
  856. package/corpus/templates/brain/app/components/ui/badge.tsx +0 -37
  857. package/corpus/templates/brain/app/components/ui/button.tsx +0 -57
  858. package/corpus/templates/brain/app/components/ui/card.tsx +0 -86
  859. package/corpus/templates/brain/app/components/ui/input.tsx +0 -22
  860. package/corpus/templates/brain/app/components/ui/label.tsx +0 -24
  861. package/corpus/templates/brain/app/components/ui/progress.tsx +0 -26
  862. package/corpus/templates/brain/app/components/ui/select.tsx +0 -158
  863. package/corpus/templates/brain/app/components/ui/separator.tsx +0 -29
  864. package/corpus/templates/brain/app/components/ui/sheet.tsx +0 -160
  865. package/corpus/templates/brain/app/components/ui/skeleton.tsx +0 -15
  866. package/corpus/templates/brain/app/components/ui/sonner.tsx +0 -58
  867. package/corpus/templates/brain/app/components/ui/switch.tsx +0 -27
  868. package/corpus/templates/brain/app/components/ui/table.tsx +0 -117
  869. package/corpus/templates/brain/app/components/ui/textarea.tsx +0 -23
  870. package/corpus/templates/brain/app/components/ui/tooltip.tsx +0 -30
  871. package/corpus/templates/calendar/app/components/ui/accordion.tsx +0 -56
  872. package/corpus/templates/calendar/app/components/ui/alert-dialog.tsx +0 -139
  873. package/corpus/templates/calendar/app/components/ui/alert.tsx +0 -59
  874. package/corpus/templates/calendar/app/components/ui/aspect-ratio.tsx +0 -5
  875. package/corpus/templates/calendar/app/components/ui/avatar.tsx +0 -48
  876. package/corpus/templates/calendar/app/components/ui/badge.tsx +0 -37
  877. package/corpus/templates/calendar/app/components/ui/breadcrumb.tsx +0 -115
  878. package/corpus/templates/calendar/app/components/ui/button.tsx +0 -57
  879. package/corpus/templates/calendar/app/components/ui/calendar.tsx +0 -68
  880. package/corpus/templates/calendar/app/components/ui/card.tsx +0 -86
  881. package/corpus/templates/calendar/app/components/ui/carousel.tsx +0 -260
  882. package/corpus/templates/calendar/app/components/ui/chart.tsx +0 -375
  883. package/corpus/templates/calendar/app/components/ui/checkbox.tsx +0 -28
  884. package/corpus/templates/calendar/app/components/ui/collapsible.tsx +0 -9
  885. package/corpus/templates/calendar/app/components/ui/command.tsx +0 -154
  886. package/corpus/templates/calendar/app/components/ui/context-menu.tsx +0 -202
  887. package/corpus/templates/calendar/app/components/ui/dialog.tsx +0 -130
  888. package/corpus/templates/calendar/app/components/ui/drawer.tsx +0 -116
  889. package/corpus/templates/calendar/app/components/ui/dropdown-menu.tsx +0 -212
  890. package/corpus/templates/calendar/app/components/ui/form.tsx +0 -177
  891. package/corpus/templates/calendar/app/components/ui/hover-card.tsx +0 -27
  892. package/corpus/templates/calendar/app/components/ui/input-otp.tsx +0 -69
  893. package/corpus/templates/calendar/app/components/ui/input.tsx +0 -22
  894. package/corpus/templates/calendar/app/components/ui/label.tsx +0 -24
  895. package/corpus/templates/calendar/app/components/ui/menubar.tsx +0 -234
  896. package/corpus/templates/calendar/app/components/ui/navigation-menu.tsx +0 -128
  897. package/corpus/templates/calendar/app/components/ui/pagination.tsx +0 -121
  898. package/corpus/templates/calendar/app/components/ui/popover.tsx +0 -44
  899. package/corpus/templates/calendar/app/components/ui/progress.tsx +0 -26
  900. package/corpus/templates/calendar/app/components/ui/radio-group.tsx +0 -42
  901. package/corpus/templates/calendar/app/components/ui/resizable.tsx +0 -43
  902. package/corpus/templates/calendar/app/components/ui/scroll-area.tsx +0 -46
  903. package/corpus/templates/calendar/app/components/ui/select.tsx +0 -158
  904. package/corpus/templates/calendar/app/components/ui/separator.tsx +0 -29
  905. package/corpus/templates/calendar/app/components/ui/sheet.tsx +0 -160
  906. package/corpus/templates/calendar/app/components/ui/sidebar.tsx +0 -782
  907. package/corpus/templates/calendar/app/components/ui/skeleton.tsx +0 -15
  908. package/corpus/templates/calendar/app/components/ui/slider.tsx +0 -26
  909. package/corpus/templates/calendar/app/components/ui/spinner.tsx +0 -17
  910. package/corpus/templates/calendar/app/components/ui/switch.tsx +0 -27
  911. package/corpus/templates/calendar/app/components/ui/table.tsx +0 -117
  912. package/corpus/templates/calendar/app/components/ui/tabs.tsx +0 -53
  913. package/corpus/templates/calendar/app/components/ui/textarea.tsx +0 -23
  914. package/corpus/templates/calendar/app/components/ui/toast.tsx +0 -127
  915. package/corpus/templates/calendar/app/components/ui/toaster.tsx +0 -33
  916. package/corpus/templates/calendar/app/components/ui/toggle-group.tsx +0 -59
  917. package/corpus/templates/calendar/app/components/ui/toggle.tsx +0 -43
  918. package/corpus/templates/calendar/app/components/ui/tooltip.tsx +0 -30
  919. package/corpus/templates/calendar/app/components/ui/use-toast.ts +0 -3
  920. package/corpus/templates/calendar/app/hooks/use-mobile.tsx +0 -21
  921. package/corpus/templates/calendar/app/hooks/use-toast.ts +0 -188
  922. package/corpus/templates/chat/app/components/layout/HeaderActions.tsx +0 -84
  923. package/corpus/templates/chat/app/components/ui/accordion.tsx +0 -56
  924. package/corpus/templates/chat/app/components/ui/alert-dialog.tsx +0 -139
  925. package/corpus/templates/chat/app/components/ui/alert.tsx +0 -59
  926. package/corpus/templates/chat/app/components/ui/aspect-ratio.tsx +0 -5
  927. package/corpus/templates/chat/app/components/ui/avatar.tsx +0 -48
  928. package/corpus/templates/chat/app/components/ui/badge.tsx +0 -37
  929. package/corpus/templates/chat/app/components/ui/breadcrumb.tsx +0 -115
  930. package/corpus/templates/chat/app/components/ui/button.tsx +0 -57
  931. package/corpus/templates/chat/app/components/ui/calendar.tsx +0 -68
  932. package/corpus/templates/chat/app/components/ui/card.tsx +0 -86
  933. package/corpus/templates/chat/app/components/ui/carousel.tsx +0 -260
  934. package/corpus/templates/chat/app/components/ui/chart.tsx +0 -375
  935. package/corpus/templates/chat/app/components/ui/checkbox.tsx +0 -28
  936. package/corpus/templates/chat/app/components/ui/collapsible.tsx +0 -9
  937. package/corpus/templates/chat/app/components/ui/command.tsx +0 -154
  938. package/corpus/templates/chat/app/components/ui/context-menu.tsx +0 -202
  939. package/corpus/templates/chat/app/components/ui/dialog.tsx +0 -130
  940. package/corpus/templates/chat/app/components/ui/drawer.tsx +0 -116
  941. package/corpus/templates/chat/app/components/ui/dropdown-menu.tsx +0 -212
  942. package/corpus/templates/chat/app/components/ui/form.tsx +0 -177
  943. package/corpus/templates/chat/app/components/ui/hover-card.tsx +0 -27
  944. package/corpus/templates/chat/app/components/ui/input-otp.tsx +0 -69
  945. package/corpus/templates/chat/app/components/ui/input.tsx +0 -22
  946. package/corpus/templates/chat/app/components/ui/label.tsx +0 -24
  947. package/corpus/templates/chat/app/components/ui/menubar.tsx +0 -234
  948. package/corpus/templates/chat/app/components/ui/navigation-menu.tsx +0 -128
  949. package/corpus/templates/chat/app/components/ui/pagination.tsx +0 -121
  950. package/corpus/templates/chat/app/components/ui/popover.tsx +0 -44
  951. package/corpus/templates/chat/app/components/ui/progress.tsx +0 -26
  952. package/corpus/templates/chat/app/components/ui/radio-group.tsx +0 -42
  953. package/corpus/templates/chat/app/components/ui/resizable.tsx +0 -43
  954. package/corpus/templates/chat/app/components/ui/scroll-area.tsx +0 -46
  955. package/corpus/templates/chat/app/components/ui/select.tsx +0 -158
  956. package/corpus/templates/chat/app/components/ui/separator.tsx +0 -29
  957. package/corpus/templates/chat/app/components/ui/sheet.tsx +0 -160
  958. package/corpus/templates/chat/app/components/ui/sidebar.tsx +0 -782
  959. package/corpus/templates/chat/app/components/ui/skeleton.tsx +0 -15
  960. package/corpus/templates/chat/app/components/ui/slider.tsx +0 -26
  961. package/corpus/templates/chat/app/components/ui/sonner.tsx +0 -58
  962. package/corpus/templates/chat/app/components/ui/spinner.tsx +0 -17
  963. package/corpus/templates/chat/app/components/ui/switch.tsx +0 -27
  964. package/corpus/templates/chat/app/components/ui/table.tsx +0 -117
  965. package/corpus/templates/chat/app/components/ui/tabs.tsx +0 -53
  966. package/corpus/templates/chat/app/components/ui/textarea.tsx +0 -23
  967. package/corpus/templates/chat/app/components/ui/toast.tsx +0 -127
  968. package/corpus/templates/chat/app/components/ui/toaster.tsx +0 -33
  969. package/corpus/templates/chat/app/components/ui/toggle-group.tsx +0 -59
  970. package/corpus/templates/chat/app/components/ui/toggle.tsx +0 -43
  971. package/corpus/templates/chat/app/components/ui/tooltip.tsx +0 -30
  972. package/corpus/templates/chat/app/components/ui/use-toast.ts +0 -3
  973. package/corpus/templates/chat/app/hooks/use-mobile.tsx +0 -21
  974. package/corpus/templates/chat/app/hooks/use-toast.ts +0 -188
  975. package/corpus/templates/clips/app/components/layout/HeaderActions.tsx +0 -84
  976. package/corpus/templates/clips/app/components/ui/accordion.tsx +0 -56
  977. package/corpus/templates/clips/app/components/ui/alert-dialog.tsx +0 -139
  978. package/corpus/templates/clips/app/components/ui/alert.tsx +0 -59
  979. package/corpus/templates/clips/app/components/ui/aspect-ratio.tsx +0 -5
  980. package/corpus/templates/clips/app/components/ui/avatar.tsx +0 -48
  981. package/corpus/templates/clips/app/components/ui/badge.tsx +0 -37
  982. package/corpus/templates/clips/app/components/ui/breadcrumb.tsx +0 -115
  983. package/corpus/templates/clips/app/components/ui/button.tsx +0 -57
  984. package/corpus/templates/clips/app/components/ui/calendar.tsx +0 -68
  985. package/corpus/templates/clips/app/components/ui/card.tsx +0 -86
  986. package/corpus/templates/clips/app/components/ui/carousel.tsx +0 -260
  987. package/corpus/templates/clips/app/components/ui/chart.tsx +0 -375
  988. package/corpus/templates/clips/app/components/ui/checkbox.tsx +0 -28
  989. package/corpus/templates/clips/app/components/ui/collapsible.tsx +0 -9
  990. package/corpus/templates/clips/app/components/ui/command.tsx +0 -154
  991. package/corpus/templates/clips/app/components/ui/context-menu.tsx +0 -202
  992. package/corpus/templates/clips/app/components/ui/dialog.tsx +0 -130
  993. package/corpus/templates/clips/app/components/ui/drawer.tsx +0 -116
  994. package/corpus/templates/clips/app/components/ui/dropdown-menu.tsx +0 -212
  995. package/corpus/templates/clips/app/components/ui/form.tsx +0 -177
  996. package/corpus/templates/clips/app/components/ui/hover-card.tsx +0 -27
  997. package/corpus/templates/clips/app/components/ui/input-otp.tsx +0 -69
  998. package/corpus/templates/clips/app/components/ui/input.tsx +0 -22
  999. package/corpus/templates/clips/app/components/ui/label.tsx +0 -24
  1000. package/corpus/templates/clips/app/components/ui/menubar.tsx +0 -234
  1001. package/corpus/templates/clips/app/components/ui/navigation-menu.tsx +0 -128
  1002. package/corpus/templates/clips/app/components/ui/pagination.tsx +0 -121
  1003. package/corpus/templates/clips/app/components/ui/popover.tsx +0 -44
  1004. package/corpus/templates/clips/app/components/ui/progress.tsx +0 -26
  1005. package/corpus/templates/clips/app/components/ui/radio-group.tsx +0 -42
  1006. package/corpus/templates/clips/app/components/ui/resizable.tsx +0 -43
  1007. package/corpus/templates/clips/app/components/ui/scroll-area.tsx +0 -46
  1008. package/corpus/templates/clips/app/components/ui/select.tsx +0 -158
  1009. package/corpus/templates/clips/app/components/ui/separator.tsx +0 -29
  1010. package/corpus/templates/clips/app/components/ui/sheet.tsx +0 -160
  1011. package/corpus/templates/clips/app/components/ui/sidebar.tsx +0 -782
  1012. package/corpus/templates/clips/app/components/ui/skeleton.tsx +0 -15
  1013. package/corpus/templates/clips/app/components/ui/slider.tsx +0 -26
  1014. package/corpus/templates/clips/app/components/ui/sonner.tsx +0 -58
  1015. package/corpus/templates/clips/app/components/ui/spinner.tsx +0 -17
  1016. package/corpus/templates/clips/app/components/ui/switch.tsx +0 -27
  1017. package/corpus/templates/clips/app/components/ui/table.tsx +0 -117
  1018. package/corpus/templates/clips/app/components/ui/tabs.tsx +0 -53
  1019. package/corpus/templates/clips/app/components/ui/textarea.tsx +0 -23
  1020. package/corpus/templates/clips/app/components/ui/toast.tsx +0 -127
  1021. package/corpus/templates/clips/app/components/ui/toaster.tsx +0 -33
  1022. package/corpus/templates/clips/app/components/ui/toggle-group.tsx +0 -59
  1023. package/corpus/templates/clips/app/components/ui/toggle.tsx +0 -43
  1024. package/corpus/templates/clips/app/components/ui/tooltip.tsx +0 -30
  1025. package/corpus/templates/clips/app/components/ui/use-toast.ts +0 -3
  1026. package/corpus/templates/clips/app/hooks/use-mobile.tsx +0 -21
  1027. package/corpus/templates/clips/app/hooks/use-toast.ts +0 -188
  1028. package/corpus/templates/content/app/components/layout/HeaderActions.tsx +0 -84
  1029. package/corpus/templates/content/app/components/ui/alert-dialog.tsx +0 -139
  1030. package/corpus/templates/content/app/components/ui/button.tsx +0 -57
  1031. package/corpus/templates/content/app/components/ui/dialog.tsx +0 -130
  1032. package/corpus/templates/content/app/components/ui/dropdown-menu.tsx +0 -212
  1033. package/corpus/templates/content/app/components/ui/input.tsx +0 -22
  1034. package/corpus/templates/content/app/components/ui/label.tsx +0 -24
  1035. package/corpus/templates/content/app/components/ui/popover.tsx +0 -44
  1036. package/corpus/templates/content/app/components/ui/separator.tsx +0 -29
  1037. package/corpus/templates/content/app/components/ui/sheet.tsx +0 -160
  1038. package/corpus/templates/content/app/components/ui/skeleton.tsx +0 -15
  1039. package/corpus/templates/content/app/components/ui/sonner.tsx +0 -58
  1040. package/corpus/templates/content/app/components/ui/spinner.tsx +0 -17
  1041. package/corpus/templates/content/app/components/ui/table.tsx +0 -117
  1042. package/corpus/templates/content/app/components/ui/toast.tsx +0 -127
  1043. package/corpus/templates/content/app/components/ui/toaster.tsx +0 -33
  1044. package/corpus/templates/content/app/components/ui/toggle.tsx +0 -43
  1045. package/corpus/templates/content/app/components/ui/tooltip.tsx +0 -30
  1046. package/corpus/templates/content/app/components/ui/use-toast.ts +0 -3
  1047. package/corpus/templates/content/app/hooks/use-mobile.tsx +0 -21
  1048. package/corpus/templates/content/app/hooks/use-toast.ts +0 -188
  1049. package/corpus/templates/design/app/components/layout/HeaderActions.tsx +0 -84
  1050. package/corpus/templates/design/app/components/ui/accordion.tsx +0 -56
  1051. package/corpus/templates/design/app/components/ui/alert-dialog.tsx +0 -139
  1052. package/corpus/templates/design/app/components/ui/alert.tsx +0 -59
  1053. package/corpus/templates/design/app/components/ui/aspect-ratio.tsx +0 -5
  1054. package/corpus/templates/design/app/components/ui/avatar.tsx +0 -48
  1055. package/corpus/templates/design/app/components/ui/badge.tsx +0 -37
  1056. package/corpus/templates/design/app/components/ui/breadcrumb.tsx +0 -115
  1057. package/corpus/templates/design/app/components/ui/button.tsx +0 -57
  1058. package/corpus/templates/design/app/components/ui/calendar.tsx +0 -68
  1059. package/corpus/templates/design/app/components/ui/card.tsx +0 -86
  1060. package/corpus/templates/design/app/components/ui/carousel.tsx +0 -260
  1061. package/corpus/templates/design/app/components/ui/chart.tsx +0 -375
  1062. package/corpus/templates/design/app/components/ui/checkbox.tsx +0 -28
  1063. package/corpus/templates/design/app/components/ui/collapsible.tsx +0 -9
  1064. package/corpus/templates/design/app/components/ui/command.tsx +0 -154
  1065. package/corpus/templates/design/app/components/ui/context-menu.tsx +0 -202
  1066. package/corpus/templates/design/app/components/ui/dialog.tsx +0 -130
  1067. package/corpus/templates/design/app/components/ui/drawer.tsx +0 -116
  1068. package/corpus/templates/design/app/components/ui/dropdown-menu.tsx +0 -212
  1069. package/corpus/templates/design/app/components/ui/form.tsx +0 -177
  1070. package/corpus/templates/design/app/components/ui/hover-card.tsx +0 -27
  1071. package/corpus/templates/design/app/components/ui/input-otp.tsx +0 -69
  1072. package/corpus/templates/design/app/components/ui/input.tsx +0 -22
  1073. package/corpus/templates/design/app/components/ui/label.tsx +0 -24
  1074. package/corpus/templates/design/app/components/ui/menubar.tsx +0 -234
  1075. package/corpus/templates/design/app/components/ui/navigation-menu.tsx +0 -128
  1076. package/corpus/templates/design/app/components/ui/pagination.tsx +0 -121
  1077. package/corpus/templates/design/app/components/ui/popover.tsx +0 -44
  1078. package/corpus/templates/design/app/components/ui/progress.tsx +0 -26
  1079. package/corpus/templates/design/app/components/ui/radio-group.tsx +0 -42
  1080. package/corpus/templates/design/app/components/ui/resizable.tsx +0 -43
  1081. package/corpus/templates/design/app/components/ui/scroll-area.tsx +0 -46
  1082. package/corpus/templates/design/app/components/ui/select.tsx +0 -158
  1083. package/corpus/templates/design/app/components/ui/separator.tsx +0 -29
  1084. package/corpus/templates/design/app/components/ui/sheet.tsx +0 -160
  1085. package/corpus/templates/design/app/components/ui/sidebar.tsx +0 -782
  1086. package/corpus/templates/design/app/components/ui/skeleton.tsx +0 -15
  1087. package/corpus/templates/design/app/components/ui/slider.tsx +0 -26
  1088. package/corpus/templates/design/app/components/ui/sonner.tsx +0 -58
  1089. package/corpus/templates/design/app/components/ui/spinner.tsx +0 -17
  1090. package/corpus/templates/design/app/components/ui/switch.tsx +0 -27
  1091. package/corpus/templates/design/app/components/ui/table.tsx +0 -117
  1092. package/corpus/templates/design/app/components/ui/tabs.tsx +0 -53
  1093. package/corpus/templates/design/app/components/ui/textarea.tsx +0 -23
  1094. package/corpus/templates/design/app/components/ui/toast.tsx +0 -127
  1095. package/corpus/templates/design/app/components/ui/toaster.tsx +0 -33
  1096. package/corpus/templates/design/app/components/ui/toggle-group.tsx +0 -59
  1097. package/corpus/templates/design/app/components/ui/toggle.tsx +0 -43
  1098. package/corpus/templates/design/app/components/ui/tooltip.tsx +0 -30
  1099. package/corpus/templates/design/app/components/ui/use-toast.ts +0 -3
  1100. package/corpus/templates/design/app/hooks/use-mobile.tsx +0 -21
  1101. package/corpus/templates/design/app/hooks/use-toast.ts +0 -188
  1102. package/corpus/templates/forms/app/components/layout/HeaderActions.tsx +0 -84
  1103. package/corpus/templates/forms/app/components/ui/accordion.tsx +0 -56
  1104. package/corpus/templates/forms/app/components/ui/alert-dialog.tsx +0 -139
  1105. package/corpus/templates/forms/app/components/ui/alert.tsx +0 -59
  1106. package/corpus/templates/forms/app/components/ui/aspect-ratio.tsx +0 -5
  1107. package/corpus/templates/forms/app/components/ui/avatar.tsx +0 -48
  1108. package/corpus/templates/forms/app/components/ui/badge.tsx +0 -37
  1109. package/corpus/templates/forms/app/components/ui/breadcrumb.tsx +0 -115
  1110. package/corpus/templates/forms/app/components/ui/button.tsx +0 -57
  1111. package/corpus/templates/forms/app/components/ui/card.tsx +0 -86
  1112. package/corpus/templates/forms/app/components/ui/carousel.tsx +0 -260
  1113. package/corpus/templates/forms/app/components/ui/checkbox.tsx +0 -28
  1114. package/corpus/templates/forms/app/components/ui/collapsible.tsx +0 -9
  1115. package/corpus/templates/forms/app/components/ui/dialog.tsx +0 -130
  1116. package/corpus/templates/forms/app/components/ui/drawer.tsx +0 -116
  1117. package/corpus/templates/forms/app/components/ui/dropdown-menu.tsx +0 -212
  1118. package/corpus/templates/forms/app/components/ui/form.tsx +0 -177
  1119. package/corpus/templates/forms/app/components/ui/hover-card.tsx +0 -27
  1120. package/corpus/templates/forms/app/components/ui/input-otp.tsx +0 -69
  1121. package/corpus/templates/forms/app/components/ui/input.tsx +0 -22
  1122. package/corpus/templates/forms/app/components/ui/label.tsx +0 -24
  1123. package/corpus/templates/forms/app/components/ui/navigation-menu.tsx +0 -128
  1124. package/corpus/templates/forms/app/components/ui/pagination.tsx +0 -121
  1125. package/corpus/templates/forms/app/components/ui/popover.tsx +0 -44
  1126. package/corpus/templates/forms/app/components/ui/progress.tsx +0 -26
  1127. package/corpus/templates/forms/app/components/ui/radio-group.tsx +0 -42
  1128. package/corpus/templates/forms/app/components/ui/resizable.tsx +0 -43
  1129. package/corpus/templates/forms/app/components/ui/scroll-area.tsx +0 -46
  1130. package/corpus/templates/forms/app/components/ui/select.tsx +0 -158
  1131. package/corpus/templates/forms/app/components/ui/separator.tsx +0 -29
  1132. package/corpus/templates/forms/app/components/ui/sheet.tsx +0 -160
  1133. package/corpus/templates/forms/app/components/ui/sidebar.tsx +0 -782
  1134. package/corpus/templates/forms/app/components/ui/skeleton.tsx +0 -15
  1135. package/corpus/templates/forms/app/components/ui/slider.tsx +0 -26
  1136. package/corpus/templates/forms/app/components/ui/sonner.tsx +0 -58
  1137. package/corpus/templates/forms/app/components/ui/spinner.tsx +0 -17
  1138. package/corpus/templates/forms/app/components/ui/switch.tsx +0 -27
  1139. package/corpus/templates/forms/app/components/ui/table.tsx +0 -117
  1140. package/corpus/templates/forms/app/components/ui/tabs.tsx +0 -53
  1141. package/corpus/templates/forms/app/components/ui/textarea.tsx +0 -23
  1142. package/corpus/templates/forms/app/components/ui/toast.tsx +0 -127
  1143. package/corpus/templates/forms/app/components/ui/toaster.tsx +0 -33
  1144. package/corpus/templates/forms/app/components/ui/toggle-group.tsx +0 -59
  1145. package/corpus/templates/forms/app/components/ui/toggle.tsx +0 -43
  1146. package/corpus/templates/forms/app/components/ui/tooltip.tsx +0 -30
  1147. package/corpus/templates/forms/app/hooks/use-mobile.tsx +0 -21
  1148. package/corpus/templates/forms/app/hooks/use-toast.ts +0 -188
  1149. package/corpus/templates/macros/app/components/layout/HeaderActions.tsx +0 -84
  1150. package/corpus/templates/macros/app/components/ui/accordion.tsx +0 -56
  1151. package/corpus/templates/macros/app/components/ui/alert-dialog.tsx +0 -139
  1152. package/corpus/templates/macros/app/components/ui/alert.tsx +0 -59
  1153. package/corpus/templates/macros/app/components/ui/aspect-ratio.tsx +0 -5
  1154. package/corpus/templates/macros/app/components/ui/avatar.tsx +0 -48
  1155. package/corpus/templates/macros/app/components/ui/badge.tsx +0 -37
  1156. package/corpus/templates/macros/app/components/ui/breadcrumb.tsx +0 -115
  1157. package/corpus/templates/macros/app/components/ui/chart.tsx +0 -375
  1158. package/corpus/templates/macros/app/components/ui/checkbox.tsx +0 -28
  1159. package/corpus/templates/macros/app/components/ui/collapsible.tsx +0 -9
  1160. package/corpus/templates/macros/app/components/ui/command.tsx +0 -154
  1161. package/corpus/templates/macros/app/components/ui/context-menu.tsx +0 -202
  1162. package/corpus/templates/macros/app/components/ui/drawer.tsx +0 -116
  1163. package/corpus/templates/macros/app/components/ui/dropdown-menu.tsx +0 -212
  1164. package/corpus/templates/macros/app/components/ui/form.tsx +0 -177
  1165. package/corpus/templates/macros/app/components/ui/hover-card.tsx +0 -27
  1166. package/corpus/templates/macros/app/components/ui/label.tsx +0 -24
  1167. package/corpus/templates/macros/app/components/ui/logo.tsx +0 -36
  1168. package/corpus/templates/macros/app/components/ui/navigation-menu.tsx +0 -128
  1169. package/corpus/templates/macros/app/components/ui/pagination.tsx +0 -121
  1170. package/corpus/templates/macros/app/components/ui/popover.tsx +0 -44
  1171. package/corpus/templates/macros/app/components/ui/radio-group.tsx +0 -42
  1172. package/corpus/templates/macros/app/components/ui/scroll-area.tsx +0 -46
  1173. package/corpus/templates/macros/app/components/ui/select.tsx +0 -158
  1174. package/corpus/templates/macros/app/components/ui/separator.tsx +0 -29
  1175. package/corpus/templates/macros/app/components/ui/sheet.tsx +0 -160
  1176. package/corpus/templates/macros/app/components/ui/skeleton.tsx +0 -15
  1177. package/corpus/templates/macros/app/components/ui/slider.tsx +0 -26
  1178. package/corpus/templates/macros/app/components/ui/sonner.tsx +0 -58
  1179. package/corpus/templates/macros/app/components/ui/switch.tsx +0 -27
  1180. package/corpus/templates/macros/app/components/ui/table.tsx +0 -117
  1181. package/corpus/templates/macros/app/components/ui/toast.tsx +0 -127
  1182. package/corpus/templates/macros/app/components/ui/toggle-group.tsx +0 -59
  1183. package/corpus/templates/macros/app/components/ui/toggle.tsx +0 -43
  1184. package/corpus/templates/macros/app/components/ui/tooltip.tsx +0 -30
  1185. package/corpus/templates/mail/app/components/ui/accordion.tsx +0 -56
  1186. package/corpus/templates/mail/app/components/ui/alert-dialog.tsx +0 -139
  1187. package/corpus/templates/mail/app/components/ui/alert.tsx +0 -59
  1188. package/corpus/templates/mail/app/components/ui/aspect-ratio.tsx +0 -5
  1189. package/corpus/templates/mail/app/components/ui/avatar.tsx +0 -48
  1190. package/corpus/templates/mail/app/components/ui/badge.tsx +0 -37
  1191. package/corpus/templates/mail/app/components/ui/breadcrumb.tsx +0 -115
  1192. package/corpus/templates/mail/app/components/ui/button.tsx +0 -57
  1193. package/corpus/templates/mail/app/components/ui/card.tsx +0 -86
  1194. package/corpus/templates/mail/app/components/ui/carousel.tsx +0 -260
  1195. package/corpus/templates/mail/app/components/ui/checkbox.tsx +0 -28
  1196. package/corpus/templates/mail/app/components/ui/collapsible.tsx +0 -9
  1197. package/corpus/templates/mail/app/components/ui/dialog.tsx +0 -130
  1198. package/corpus/templates/mail/app/components/ui/drawer.tsx +0 -116
  1199. package/corpus/templates/mail/app/components/ui/dropdown-menu.tsx +0 -212
  1200. package/corpus/templates/mail/app/components/ui/form.tsx +0 -177
  1201. package/corpus/templates/mail/app/components/ui/hover-card.tsx +0 -27
  1202. package/corpus/templates/mail/app/components/ui/input-otp.tsx +0 -69
  1203. package/corpus/templates/mail/app/components/ui/label.tsx +0 -24
  1204. package/corpus/templates/mail/app/components/ui/navigation-menu.tsx +0 -128
  1205. package/corpus/templates/mail/app/components/ui/pagination.tsx +0 -121
  1206. package/corpus/templates/mail/app/components/ui/popover.tsx +0 -44
  1207. package/corpus/templates/mail/app/components/ui/progress.tsx +0 -26
  1208. package/corpus/templates/mail/app/components/ui/radio-group.tsx +0 -42
  1209. package/corpus/templates/mail/app/components/ui/resizable.tsx +0 -43
  1210. package/corpus/templates/mail/app/components/ui/scroll-area.tsx +0 -46
  1211. package/corpus/templates/mail/app/components/ui/select.tsx +0 -158
  1212. package/corpus/templates/mail/app/components/ui/separator.tsx +0 -29
  1213. package/corpus/templates/mail/app/components/ui/sheet.tsx +0 -160
  1214. package/corpus/templates/mail/app/components/ui/sidebar.tsx +0 -782
  1215. package/corpus/templates/mail/app/components/ui/skeleton.tsx +0 -15
  1216. package/corpus/templates/mail/app/components/ui/slider.tsx +0 -26
  1217. package/corpus/templates/mail/app/components/ui/spinner.tsx +0 -17
  1218. package/corpus/templates/mail/app/components/ui/switch.tsx +0 -27
  1219. package/corpus/templates/mail/app/components/ui/table.tsx +0 -117
  1220. package/corpus/templates/mail/app/components/ui/tabs.tsx +0 -53
  1221. package/corpus/templates/mail/app/components/ui/toast.tsx +0 -127
  1222. package/corpus/templates/mail/app/components/ui/toaster.tsx +0 -33
  1223. package/corpus/templates/mail/app/components/ui/toggle-group.tsx +0 -59
  1224. package/corpus/templates/mail/app/components/ui/toggle.tsx +0 -43
  1225. package/corpus/templates/mail/app/components/ui/tooltip.tsx +0 -30
  1226. package/corpus/templates/mail/app/hooks/use-toast.ts +0 -188
  1227. package/corpus/templates/plan/app/components/layout/HeaderActions.tsx +0 -84
  1228. package/corpus/templates/plan/app/components/ui/accordion.tsx +0 -56
  1229. package/corpus/templates/plan/app/components/ui/alert-dialog.tsx +0 -139
  1230. package/corpus/templates/plan/app/components/ui/alert.tsx +0 -59
  1231. package/corpus/templates/plan/app/components/ui/aspect-ratio.tsx +0 -5
  1232. package/corpus/templates/plan/app/components/ui/avatar.tsx +0 -48
  1233. package/corpus/templates/plan/app/components/ui/badge.tsx +0 -37
  1234. package/corpus/templates/plan/app/components/ui/breadcrumb.tsx +0 -115
  1235. package/corpus/templates/plan/app/components/ui/button.tsx +0 -57
  1236. package/corpus/templates/plan/app/components/ui/calendar.tsx +0 -68
  1237. package/corpus/templates/plan/app/components/ui/card.tsx +0 -86
  1238. package/corpus/templates/plan/app/components/ui/carousel.tsx +0 -260
  1239. package/corpus/templates/plan/app/components/ui/chart.tsx +0 -375
  1240. package/corpus/templates/plan/app/components/ui/checkbox.tsx +0 -28
  1241. package/corpus/templates/plan/app/components/ui/collapsible.tsx +0 -9
  1242. package/corpus/templates/plan/app/components/ui/command.tsx +0 -154
  1243. package/corpus/templates/plan/app/components/ui/context-menu.tsx +0 -202
  1244. package/corpus/templates/plan/app/components/ui/dialog.tsx +0 -130
  1245. package/corpus/templates/plan/app/components/ui/drawer.tsx +0 -116
  1246. package/corpus/templates/plan/app/components/ui/dropdown-menu.tsx +0 -212
  1247. package/corpus/templates/plan/app/components/ui/form.tsx +0 -177
  1248. package/corpus/templates/plan/app/components/ui/hover-card.tsx +0 -27
  1249. package/corpus/templates/plan/app/components/ui/input-otp.tsx +0 -69
  1250. package/corpus/templates/plan/app/components/ui/input.tsx +0 -22
  1251. package/corpus/templates/plan/app/components/ui/label.tsx +0 -24
  1252. package/corpus/templates/plan/app/components/ui/menubar.tsx +0 -234
  1253. package/corpus/templates/plan/app/components/ui/navigation-menu.tsx +0 -128
  1254. package/corpus/templates/plan/app/components/ui/pagination.tsx +0 -121
  1255. package/corpus/templates/plan/app/components/ui/popover.tsx +0 -44
  1256. package/corpus/templates/plan/app/components/ui/progress.tsx +0 -26
  1257. package/corpus/templates/plan/app/components/ui/radio-group.tsx +0 -42
  1258. package/corpus/templates/plan/app/components/ui/resizable.tsx +0 -43
  1259. package/corpus/templates/plan/app/components/ui/scroll-area.tsx +0 -46
  1260. package/corpus/templates/plan/app/components/ui/select.tsx +0 -158
  1261. package/corpus/templates/plan/app/components/ui/separator.tsx +0 -29
  1262. package/corpus/templates/plan/app/components/ui/sheet.tsx +0 -160
  1263. package/corpus/templates/plan/app/components/ui/sidebar.tsx +0 -782
  1264. package/corpus/templates/plan/app/components/ui/skeleton.tsx +0 -15
  1265. package/corpus/templates/plan/app/components/ui/slider.tsx +0 -26
  1266. package/corpus/templates/plan/app/components/ui/sonner.tsx +0 -58
  1267. package/corpus/templates/plan/app/components/ui/spinner.tsx +0 -17
  1268. package/corpus/templates/plan/app/components/ui/switch.tsx +0 -27
  1269. package/corpus/templates/plan/app/components/ui/table.tsx +0 -117
  1270. package/corpus/templates/plan/app/components/ui/textarea.tsx +0 -23
  1271. package/corpus/templates/plan/app/components/ui/toast.tsx +0 -127
  1272. package/corpus/templates/plan/app/components/ui/toaster.tsx +0 -33
  1273. package/corpus/templates/plan/app/components/ui/toggle-group.tsx +0 -59
  1274. package/corpus/templates/plan/app/components/ui/toggle.tsx +0 -43
  1275. package/corpus/templates/plan/app/components/ui/tooltip.tsx +0 -30
  1276. package/corpus/templates/plan/app/components/ui/use-toast.ts +0 -3
  1277. package/corpus/templates/plan/app/hooks/use-mobile.tsx +0 -21
  1278. package/corpus/templates/plan/app/hooks/use-toast.ts +0 -188
  1279. package/corpus/templates/slides/app/components/layout/HeaderActions.tsx +0 -84
  1280. package/corpus/templates/slides/app/components/ui/accordion.tsx +0 -56
  1281. package/corpus/templates/slides/app/components/ui/alert-dialog.tsx +0 -139
  1282. package/corpus/templates/slides/app/components/ui/alert.tsx +0 -59
  1283. package/corpus/templates/slides/app/components/ui/aspect-ratio.tsx +0 -5
  1284. package/corpus/templates/slides/app/components/ui/avatar.tsx +0 -48
  1285. package/corpus/templates/slides/app/components/ui/badge.tsx +0 -37
  1286. package/corpus/templates/slides/app/components/ui/breadcrumb.tsx +0 -115
  1287. package/corpus/templates/slides/app/components/ui/button.tsx +0 -57
  1288. package/corpus/templates/slides/app/components/ui/calendar.tsx +0 -68
  1289. package/corpus/templates/slides/app/components/ui/card.tsx +0 -86
  1290. package/corpus/templates/slides/app/components/ui/carousel.tsx +0 -260
  1291. package/corpus/templates/slides/app/components/ui/chart.tsx +0 -375
  1292. package/corpus/templates/slides/app/components/ui/checkbox.tsx +0 -28
  1293. package/corpus/templates/slides/app/components/ui/collapsible.tsx +0 -9
  1294. package/corpus/templates/slides/app/components/ui/command.tsx +0 -154
  1295. package/corpus/templates/slides/app/components/ui/context-menu.tsx +0 -202
  1296. package/corpus/templates/slides/app/components/ui/dialog.tsx +0 -130
  1297. package/corpus/templates/slides/app/components/ui/drawer.tsx +0 -116
  1298. package/corpus/templates/slides/app/components/ui/dropdown-menu.tsx +0 -212
  1299. package/corpus/templates/slides/app/components/ui/form.tsx +0 -177
  1300. package/corpus/templates/slides/app/components/ui/hover-card.tsx +0 -27
  1301. package/corpus/templates/slides/app/components/ui/input-otp.tsx +0 -69
  1302. package/corpus/templates/slides/app/components/ui/input.tsx +0 -22
  1303. package/corpus/templates/slides/app/components/ui/label.tsx +0 -24
  1304. package/corpus/templates/slides/app/components/ui/menubar.tsx +0 -234
  1305. package/corpus/templates/slides/app/components/ui/navigation-menu.tsx +0 -128
  1306. package/corpus/templates/slides/app/components/ui/pagination.tsx +0 -121
  1307. package/corpus/templates/slides/app/components/ui/popover.tsx +0 -44
  1308. package/corpus/templates/slides/app/components/ui/progress.tsx +0 -26
  1309. package/corpus/templates/slides/app/components/ui/radio-group.tsx +0 -42
  1310. package/corpus/templates/slides/app/components/ui/resizable.tsx +0 -43
  1311. package/corpus/templates/slides/app/components/ui/scroll-area.tsx +0 -46
  1312. package/corpus/templates/slides/app/components/ui/select.tsx +0 -158
  1313. package/corpus/templates/slides/app/components/ui/separator.tsx +0 -29
  1314. package/corpus/templates/slides/app/components/ui/sheet.tsx +0 -160
  1315. package/corpus/templates/slides/app/components/ui/sidebar.tsx +0 -782
  1316. package/corpus/templates/slides/app/components/ui/skeleton.tsx +0 -15
  1317. package/corpus/templates/slides/app/components/ui/slider.tsx +0 -26
  1318. package/corpus/templates/slides/app/components/ui/sonner.tsx +0 -58
  1319. package/corpus/templates/slides/app/components/ui/spinner.tsx +0 -17
  1320. package/corpus/templates/slides/app/components/ui/switch.tsx +0 -27
  1321. package/corpus/templates/slides/app/components/ui/table.tsx +0 -117
  1322. package/corpus/templates/slides/app/components/ui/tabs.tsx +0 -53
  1323. package/corpus/templates/slides/app/components/ui/textarea.tsx +0 -23
  1324. package/corpus/templates/slides/app/components/ui/toast.tsx +0 -127
  1325. package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -33
  1326. package/corpus/templates/slides/app/components/ui/toggle-group.tsx +0 -59
  1327. package/corpus/templates/slides/app/components/ui/toggle.tsx +0 -43
  1328. package/corpus/templates/slides/app/components/ui/tooltip.tsx +0 -30
  1329. package/corpus/templates/slides/app/components/ui/use-toast.ts +0 -3
  1330. package/corpus/templates/slides/app/hooks/use-mobile.tsx +0 -21
  1331. package/corpus/templates/slides/app/hooks/use-toast.ts +0 -188
@@ -1,18 +1,24 @@
1
1
  /**
2
- * Dev-mode database admin operations.
2
+ * Database admin operations.
3
3
  *
4
4
  * Pure, dialect-agnostic, RAW/UNSCOPED helpers backing the Supabase-Studio-like
5
5
  * DB admin. These run the FULL database with no per-user `accessFilter`
6
- * scoping they are a developer tool, gated to dev + localhost at the route
7
- * and agent-tool layers. Do NOT call these from any production-reachable
8
- * surface.
6
+ * scoping. Callers MUST gate access before invoking them. The built-in core
7
+ * route gates this to dev + localhost; production-reachable surfaces must pass
8
+ * an explicit runtime for the target database and enforce their own admin-only
9
+ * checks before reading or mutating.
9
10
  *
10
11
  * All access goes through the unified `getDbExec()` client, which uses `?`
11
12
  * placeholders (auto-converted to `$1,$2,…` for Postgres) and returns rows
12
13
  * keyed by column name. Identifiers are validated against a strict pattern and
13
14
  * always double-quoted; values are ALWAYS parameterized — never interpolated.
14
15
  */
15
- import { getDbExec, getDialect, isPostgres } from "../db/client.js";
16
+ import {
17
+ getDbExec,
18
+ getDialect,
19
+ type DbExec,
20
+ type Dialect,
21
+ } from "../db/client.js";
16
22
  import { notifyActionChange } from "../server/action-change.js";
17
23
  import type {
18
24
  DbAdminColumn,
@@ -35,6 +41,12 @@ import type {
35
41
 
36
42
  const IDENT_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
37
43
 
44
+ export interface DbAdminRuntime {
45
+ db?: DbExec;
46
+ dialect?: Dialect;
47
+ notifyChange?: () => Promise<void>;
48
+ }
49
+
38
50
  /** Throw on any identifier that isn't a plain `[A-Za-z_][A-Za-z0-9_]*`. */
39
51
  function assertIdent(name: string, kind = "identifier"): string {
40
52
  if (typeof name !== "string" || !IDENT_RE.test(name)) {
@@ -48,15 +60,27 @@ function quoteIdent(name: string): string {
48
60
  return `"${assertIdent(name)}"`;
49
61
  }
50
62
 
51
- function dialect(): DbAdminDialect {
52
- return getDialect();
63
+ function db(runtime?: DbAdminRuntime): DbExec {
64
+ return runtime?.db ?? getDbExec();
65
+ }
66
+
67
+ function dialect(runtime?: DbAdminRuntime): DbAdminDialect {
68
+ return (runtime?.dialect ?? getDialect()) as DbAdminDialect;
69
+ }
70
+
71
+ function isPostgresRuntime(runtime?: DbAdminRuntime): boolean {
72
+ return dialect(runtime) === "postgres";
53
73
  }
54
74
 
55
75
  // ---------------------------------------------------------------------------
56
76
  // Notify the UI after a real mutation so polling refetches.
57
77
  // ---------------------------------------------------------------------------
58
78
 
59
- async function notifyDbAdminChange(): Promise<void> {
79
+ async function notifyDbAdminChange(runtime?: DbAdminRuntime): Promise<void> {
80
+ if (runtime?.notifyChange) {
81
+ await runtime.notifyChange();
82
+ return;
83
+ }
60
84
  // The UI keys on useChangeVersions(["db-admin","action"]). notifyActionChange
61
85
  // records a "db-admin" change AND a marker; the action route layer's generic
62
86
  // "action" source is covered by passing the db-admin action name through the
@@ -68,15 +92,15 @@ async function notifyDbAdminChange(): Promise<void> {
68
92
  // listTables
69
93
  // ---------------------------------------------------------------------------
70
94
 
71
- export async function listTables(): Promise<{
95
+ export async function listTables(runtime?: DbAdminRuntime): Promise<{
72
96
  dialect: DbAdminDialect;
73
97
  tables: DbAdminTableSummary[];
74
98
  }> {
75
- const db = getDbExec();
99
+ const client = db(runtime);
76
100
  const summaries: DbAdminTableSummary[] = [];
77
101
 
78
- if (isPostgres()) {
79
- const res = await db.execute(
102
+ if (isPostgresRuntime(runtime)) {
103
+ const res = await client.execute(
80
104
  `SELECT table_name AS name, table_type AS type
81
105
  FROM information_schema.tables
82
106
  WHERE table_schema = 'public'
@@ -89,11 +113,11 @@ export async function listTables(): Promise<{
89
113
  summaries.push({
90
114
  name,
91
115
  type,
92
- rowCount: type === "view" ? null : await safeRowCount(name),
116
+ rowCount: type === "view" ? null : await safeRowCount(name, runtime),
93
117
  });
94
118
  }
95
119
  } else {
96
- const res = await db.execute(
120
+ const res = await client.execute(
97
121
  `SELECT name, type FROM sqlite_master
98
122
  WHERE type IN ('table', 'view')
99
123
  AND name NOT LIKE 'sqlite_%'
@@ -105,18 +129,21 @@ export async function listTables(): Promise<{
105
129
  summaries.push({
106
130
  name,
107
131
  type,
108
- rowCount: type === "view" ? null : await safeRowCount(name),
132
+ rowCount: type === "view" ? null : await safeRowCount(name, runtime),
109
133
  });
110
134
  }
111
135
  }
112
136
 
113
- return { dialect: dialect(), tables: summaries };
137
+ return { dialect: dialect(runtime), tables: summaries };
114
138
  }
115
139
 
116
- async function safeRowCount(table: string): Promise<number | null> {
140
+ async function safeRowCount(
141
+ table: string,
142
+ runtime?: DbAdminRuntime,
143
+ ): Promise<number | null> {
117
144
  try {
118
- const db = getDbExec();
119
- const res = await db.execute(
145
+ const client = db(runtime);
146
+ const res = await client.execute(
120
147
  `SELECT COUNT(*) AS c FROM ${quoteIdent(table)}`,
121
148
  );
122
149
  const c = (res.rows[0] as any)?.c;
@@ -133,26 +160,28 @@ async function safeRowCount(table: string): Promise<number | null> {
133
160
 
134
161
  export async function getTableSchema(
135
162
  table: string,
163
+ runtime?: DbAdminRuntime,
136
164
  ): Promise<DbAdminTableSchema> {
137
165
  assertIdent(table, "table name");
138
- return isPostgres()
139
- ? getTableSchemaPostgres(table)
140
- : getTableSchemaSqlite(table);
166
+ return isPostgresRuntime(runtime)
167
+ ? getTableSchemaPostgres(table, runtime)
168
+ : getTableSchemaSqlite(table, runtime);
141
169
  }
142
170
 
143
171
  async function getTableSchemaPostgres(
144
172
  table: string,
173
+ runtime?: DbAdminRuntime,
145
174
  ): Promise<DbAdminTableSchema> {
146
- const db = getDbExec();
175
+ const client = db(runtime);
147
176
 
148
- const typeRes = await db.execute({
177
+ const typeRes = await client.execute({
149
178
  sql: `SELECT table_type AS type FROM information_schema.tables
150
179
  WHERE table_schema = 'public' AND table_name = ?`,
151
180
  args: [table],
152
181
  });
153
182
  const type = (typeRes.rows[0] as any)?.type === "VIEW" ? "view" : "table";
154
183
 
155
- const colRes = await db.execute({
184
+ const colRes = await client.execute({
156
185
  sql: `SELECT
157
186
  column_name AS name,
158
187
  data_type AS type,
@@ -164,7 +193,7 @@ async function getTableSchemaPostgres(
164
193
  args: [table],
165
194
  });
166
195
 
167
- const pkRes = await db.execute({
196
+ const pkRes = await client.execute({
168
197
  sql: `SELECT kcu.column_name AS col
169
198
  FROM information_schema.table_constraints tc
170
199
  JOIN information_schema.key_column_usage kcu
@@ -179,7 +208,7 @@ async function getTableSchemaPostgres(
179
208
  const primaryKey = pkRes.rows.map((r) => String((r as any).col));
180
209
  const pkSet = new Set(primaryKey);
181
210
 
182
- const fkRes = await db.execute({
211
+ const fkRes = await client.execute({
183
212
  sql: `SELECT
184
213
  kcu.column_name AS col,
185
214
  ccu.table_name AS ref_table,
@@ -202,7 +231,7 @@ async function getTableSchemaPostgres(
202
231
  refColumn: String((r as any).ref_col),
203
232
  }));
204
233
 
205
- const idxRes = await db.execute({
234
+ const idxRes = await client.execute({
206
235
  sql: `SELECT indexname AS name, indexdef AS def
207
236
  FROM pg_indexes
208
237
  WHERE schemaname = 'public' AND tablename = ?`,
@@ -248,22 +277,25 @@ async function getTableSchemaPostgres(
248
277
  primaryKey,
249
278
  foreignKeys,
250
279
  indexes,
251
- rowCount: type === "view" ? null : await safeRowCount(table),
280
+ rowCount: type === "view" ? null : await safeRowCount(table, runtime),
252
281
  };
253
282
  }
254
283
 
255
284
  async function getTableSchemaSqlite(
256
285
  table: string,
286
+ runtime?: DbAdminRuntime,
257
287
  ): Promise<DbAdminTableSchema> {
258
- const db = getDbExec();
288
+ const client = db(runtime);
259
289
 
260
- const typeRes = await db.execute({
290
+ const typeRes = await client.execute({
261
291
  sql: `SELECT type FROM sqlite_master WHERE name = ? AND type IN ('table','view')`,
262
292
  args: [table],
263
293
  });
264
294
  const type = (typeRes.rows[0] as any)?.type === "view" ? "view" : "table";
265
295
 
266
- const colRes = await db.execute(`PRAGMA table_info(${quoteIdent(table)})`);
296
+ const colRes = await client.execute(
297
+ `PRAGMA table_info(${quoteIdent(table)})`,
298
+ );
267
299
  const columns: DbAdminColumn[] = colRes.rows.map((r) => {
268
300
  const name = String((r as any).name);
269
301
  const dflt = (r as any).dflt_value;
@@ -290,7 +322,7 @@ async function getTableSchemaSqlite(
290
322
  }
291
323
  }
292
324
 
293
- const fkRes = await db.execute(
325
+ const fkRes = await client.execute(
294
326
  `PRAGMA foreign_key_list(${quoteIdent(table)})`,
295
327
  );
296
328
  const foreignKeys: DbAdminForeignKey[] = fkRes.rows.map((r) => ({
@@ -299,14 +331,14 @@ async function getTableSchemaSqlite(
299
331
  refColumn: String((r as any).to),
300
332
  }));
301
333
 
302
- const idxListRes = await db.execute(
334
+ const idxListRes = await client.execute(
303
335
  `PRAGMA index_list(${quoteIdent(table)})`,
304
336
  );
305
337
  const indexes: DbAdminIndex[] = [];
306
338
  for (const idx of idxListRes.rows) {
307
339
  const idxName = String((idx as any).name);
308
340
  if (idxName.startsWith("sqlite_")) continue;
309
- const infoRes = await db.execute(
341
+ const infoRes = await client.execute(
310
342
  `PRAGMA index_info(${quoteIdent(idxName)})`,
311
343
  );
312
344
  indexes.push({
@@ -325,7 +357,7 @@ async function getTableSchemaSqlite(
325
357
  primaryKey,
326
358
  foreignKeys,
327
359
  indexes,
328
- rowCount: type === "view" ? null : await safeRowCount(table),
360
+ rowCount: type === "view" ? null : await safeRowCount(table, runtime),
329
361
  };
330
362
  }
331
363
 
@@ -358,7 +390,10 @@ const OP_SQL: Record<string, string> = {
358
390
  };
359
391
 
360
392
  /** Build a parameterized WHERE clause + args from filters. */
361
- function buildWhere(filters: DbAdminFilter[] | undefined): {
393
+ function buildWhere(
394
+ filters: DbAdminFilter[] | undefined,
395
+ runtime?: DbAdminRuntime,
396
+ ): {
362
397
  clause: string;
363
398
  args: unknown[];
364
399
  } {
@@ -391,7 +426,7 @@ function buildWhere(filters: DbAdminFilter[] | undefined): {
391
426
  case "ilike": {
392
427
  // SQLite LIKE is case-insensitive for ASCII by default; Postgres has
393
428
  // a dedicated ILIKE operator.
394
- if (isPostgres()) {
429
+ if (isPostgresRuntime(runtime)) {
395
430
  parts.push(`${col} ILIKE ?`);
396
431
  } else {
397
432
  parts.push(`${col} LIKE ?`);
@@ -421,26 +456,27 @@ function buildOrderBy(sort: DbAdminRowsRequest["sort"]): string {
421
456
  export async function getRows(
422
457
  table: string,
423
458
  req: DbAdminRowsRequest,
459
+ runtime?: DbAdminRuntime,
424
460
  ): Promise<DbAdminRowsResult> {
425
461
  assertIdent(table, "table name");
426
- const db = getDbExec();
427
- const schema = await getTableSchema(table);
462
+ const client = db(runtime);
463
+ const schema = await getTableSchema(table, runtime);
428
464
 
429
465
  const page = Math.max(1, Math.floor(req.page) || 1);
430
466
  const pageSize = Math.min(1000, Math.max(1, Math.floor(req.pageSize) || 50));
431
467
  const offset = (page - 1) * pageSize;
432
468
 
433
- const where = buildWhere(req.filters);
469
+ const where = buildWhere(req.filters, runtime);
434
470
  const orderBy = buildOrderBy(req.sort);
435
471
  const quoted = quoteIdent(table);
436
472
 
437
- const countRes = await db.execute({
473
+ const countRes = await client.execute({
438
474
  sql: `SELECT COUNT(*) AS c FROM ${quoted}${where.clause}`,
439
475
  args: where.args,
440
476
  });
441
477
  const total = Number((countRes.rows[0] as any)?.c ?? 0) || 0;
442
478
 
443
- const rowsRes = await db.execute({
479
+ const rowsRes = await client.execute({
444
480
  sql: `SELECT * FROM ${quoted}${where.clause}${orderBy} LIMIT ? OFFSET ?`,
445
481
  args: [...where.args, pageSize, offset],
446
482
  });
@@ -512,6 +548,7 @@ function buildDelete(
512
548
  export async function applyMutations(
513
549
  table: string,
514
550
  m: DbAdminMutation,
551
+ runtime?: DbAdminRuntime,
515
552
  ): Promise<DbAdminMutationResult> {
516
553
  assertIdent(table, "table name");
517
554
 
@@ -540,13 +577,13 @@ export async function applyMutations(
540
577
  // sequentially. A failure mid-batch surfaces as a thrown error with the
541
578
  // counts accumulated so far; callers should treat a partial batch as a
542
579
  // failure and re-run with a corrected payload.
543
- const db = getDbExec();
580
+ const client = db(runtime);
544
581
  const insertCount = m.inserts?.length ?? 0;
545
582
  const updateCount = m.updates?.length ?? 0;
546
583
 
547
584
  let executed = 0;
548
585
  for (const stmt of statements) {
549
- const res = await db.execute({ sql: stmt.sql, args: stmt.args });
586
+ const res = await client.execute({ sql: stmt.sql, args: stmt.args });
550
587
  if (executed < insertCount) {
551
588
  result.inserted += 1;
552
589
  } else if (executed < insertCount + updateCount) {
@@ -557,7 +594,7 @@ export async function applyMutations(
557
594
  executed += 1;
558
595
  }
559
596
 
560
- if (statements.length > 0) await notifyDbAdminChange();
597
+ if (statements.length > 0) await notifyDbAdminChange(runtime);
561
598
  return result;
562
599
  }
563
600
 
@@ -611,6 +648,7 @@ export async function runSql(
611
648
  sql: string,
612
649
  params: unknown[] | undefined,
613
650
  opts: { confirmDestructive?: boolean } = {},
651
+ runtime?: DbAdminRuntime,
614
652
  ): Promise<DbAdminQueryResult> {
615
653
  if (typeof sql !== "string" || !sql.trim()) {
616
654
  throw new Error("SQL is required");
@@ -629,9 +667,9 @@ export async function runSql(
629
667
  finalSql = `${finalSql} LIMIT 100`;
630
668
  }
631
669
 
632
- const db = getDbExec();
670
+ const client = db(runtime);
633
671
  const started = Date.now();
634
- const res = await db.execute(
672
+ const res = await client.execute(
635
673
  params && params.length > 0 ? { sql: finalSql, args: params } : finalSql,
636
674
  );
637
675
  const durationMs = Date.now() - started;
@@ -642,7 +680,7 @@ export async function runSql(
642
680
  ? Object.keys(rows[0])
643
681
  : [];
644
682
 
645
- if (isMutatingSql(finalSql)) await notifyDbAdminChange();
683
+ if (isMutatingSql(finalSql)) await notifyDbAdminChange(runtime);
646
684
 
647
685
  return {
648
686
  columns,
@@ -362,6 +362,10 @@ const messages = {
362
362
  loadErrorTitle: "Couldn't load organization",
363
363
  loadErrorFallback: "Couldn't load organization.",
364
364
  tryAgain: "Try again",
365
+ sendFeedback: "Send feedback",
366
+ feedbackPlaceholder:
367
+ "Describe what happened before this organization error appeared.",
368
+ openGitHubIssue: "Open GitHub issue",
365
369
  yourOrganization: "Your organization",
366
370
  joinYourTeam: "Join your team",
367
371
  openToDomainEmails: "Open to @{{domain}} emails",
@@ -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
  }
@@ -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
+ }