@agent-native/core 0.91.2 → 0.92.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +31 -0
  3. package/corpus/core/docs/content/faq.mdx +17 -0
  4. package/corpus/core/docs/content/notifications.mdx +12 -6
  5. package/corpus/core/package.json +1 -1
  6. package/corpus/core/src/agent/production-agent.ts +140 -46
  7. package/corpus/core/src/agent/tool-search.ts +71 -4
  8. package/corpus/core/src/application-state/store.ts +12 -1
  9. package/corpus/core/src/cli/index.ts +20 -0
  10. package/corpus/core/src/cli/upgrade.ts +798 -0
  11. package/corpus/core/src/client/AssistantChat.tsx +28 -15
  12. package/corpus/core/src/client/HighlightedCodeBlock.tsx +20 -3
  13. package/corpus/core/src/client/PoweredByBadge.tsx +1 -8
  14. package/corpus/core/src/client/agent-chat-adapter.ts +68 -16
  15. package/corpus/core/src/client/chat/message-components.tsx +85 -8
  16. package/corpus/core/src/client/chat/tool-call-display.tsx +355 -144
  17. package/corpus/core/src/client/chat/widgets/DataTableWidget.tsx +52 -1
  18. package/corpus/core/src/client/code-agent-chat-adapter.ts +2 -9
  19. package/corpus/core/src/client/db-admin/TableEditor.tsx +49 -0
  20. package/corpus/core/src/client/db-admin/export-utils.ts +13 -4
  21. package/corpus/core/src/client/db-admin/useAgentSync.ts +72 -0
  22. package/corpus/core/src/client/error-capture.ts +69 -7
  23. package/corpus/core/src/client/extensions/EmbeddedExtension.tsx +5 -1
  24. package/corpus/core/src/client/extensions/ExtensionViewer.tsx +53 -8
  25. package/corpus/core/src/client/extensions/InlineExtensionFrame.tsx +5 -1
  26. package/corpus/core/src/client/extensions/portable-extension.ts +1 -0
  27. package/corpus/core/src/client/org/OrgSwitcher.tsx +12 -9
  28. package/corpus/core/src/client/org/TeamPage.tsx +77 -71
  29. package/corpus/core/src/client/session-replay.ts +3 -97
  30. package/corpus/core/src/client/settings/SettingsPanel.tsx +738 -441
  31. package/corpus/core/src/client/settings/SettingsSection.tsx +161 -17
  32. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +25 -9
  33. package/corpus/core/src/client/sse-event-processor.ts +29 -2
  34. package/corpus/core/src/db-admin/agent-tools.ts +8 -2
  35. package/corpus/core/src/db-admin/operations.ts +116 -4
  36. package/corpus/core/src/db-admin/routes.ts +1 -0
  37. package/corpus/core/src/db-admin/types.ts +4 -0
  38. package/corpus/core/src/extensions/actions.ts +113 -5
  39. package/corpus/core/src/extensions/html-shell.ts +5 -4
  40. package/corpus/core/src/extensions/routes.ts +10 -0
  41. package/corpus/core/src/navigation/index.ts +1 -1
  42. package/corpus/core/src/notifications/channels.ts +88 -25
  43. package/corpus/core/src/notifications/registry.ts +17 -3
  44. package/corpus/core/src/notifications/types.ts +4 -1
  45. package/corpus/core/src/resources/handlers.ts +10 -8
  46. package/corpus/core/src/server/agent-chat-plugin.ts +7 -3
  47. package/corpus/core/src/server/poll.ts +293 -8
  48. package/corpus/core/src/server/request-context.ts +7 -0
  49. package/corpus/core/src/styles/agent-conversation.css +1 -1
  50. package/corpus/core/src/styles/agent-native.css +27 -0
  51. package/corpus/core/src/templates/default/.agents/skills/actions/SKILL.md +5 -0
  52. package/corpus/core/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  53. package/corpus/core/src/templates/default/.agents/skills/real-time-sync/SKILL.md +1 -1
  54. package/corpus/core/src/templates/default/.agents/skills/security/SKILL.md +7 -0
  55. package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +20 -2
  56. package/corpus/core/src/templates/default/.agents/skills/storing-data/SKILL.md +5 -1
  57. package/corpus/core/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  58. package/corpus/core/src/templates/default/AGENTS.md +14 -5
  59. package/corpus/core/src/templates/default/package.json +2 -1
  60. package/corpus/core/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  61. package/corpus/core/src/templates/headless/AGENTS.md +13 -3
  62. package/corpus/core/src/templates/headless/package.json +1 -0
  63. package/corpus/core/src/templates/workspace-core/.agents/skills/actions/SKILL.md +5 -0
  64. package/corpus/core/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  65. package/corpus/core/src/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +4 -0
  66. package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +6 -0
  67. package/corpus/core/src/templates/workspace-core/.agents/skills/performance/SKILL.md +4 -0
  68. package/corpus/core/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +1 -1
  69. package/corpus/core/src/templates/workspace-core/.agents/skills/security/SKILL.md +7 -0
  70. package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +20 -2
  71. package/corpus/core/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +5 -1
  72. package/corpus/core/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  73. package/corpus/core/src/templates/workspace-core/AGENTS.md +7 -1
  74. package/corpus/core/src/templates/workspace-root/AGENTS.md +17 -5
  75. package/corpus/core/src/templates/workspace-root/package.json +1 -0
  76. package/corpus/templates/analytics/.agents/skills/actions/SKILL.md +5 -0
  77. package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +10 -0
  78. package/corpus/templates/analytics/.agents/skills/real-time-sync/SKILL.md +1 -1
  79. package/corpus/templates/analytics/.agents/skills/security/SKILL.md +7 -0
  80. package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +20 -2
  81. package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +5 -6
  82. package/corpus/templates/analytics/.agents/skills/storing-data/SKILL.md +5 -1
  83. package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  84. package/corpus/templates/analytics/AGENTS.md +39 -18
  85. package/corpus/templates/analytics/actions/capture-test-error.ts +4 -0
  86. package/corpus/templates/analytics/actions/get-analytics-alert-rule-defaults.ts +23 -0
  87. package/corpus/templates/analytics/actions/get-error-issue.ts +1 -1
  88. package/corpus/templates/analytics/actions/list-analysis-revisions.ts +40 -0
  89. package/corpus/templates/analytics/actions/list-dashboard-revisions.ts +40 -0
  90. package/corpus/templates/analytics/actions/list-dashboard-usage-stats.ts +299 -0
  91. package/corpus/templates/analytics/actions/navigate.ts +4 -2
  92. package/corpus/templates/analytics/actions/restore-analysis-revision.ts +43 -0
  93. package/corpus/templates/analytics/actions/restore-dashboard-revision.ts +68 -0
  94. package/corpus/templates/analytics/actions/save-analytics-alert-rule.ts +14 -0
  95. package/corpus/templates/analytics/actions/save-monitor.ts +15 -1
  96. package/corpus/templates/analytics/actions/view-screen.ts +24 -0
  97. package/corpus/templates/analytics/app/components/analysis/AnalysisHistoryPanel.tsx +181 -0
  98. package/corpus/templates/analytics/app/components/dashboard/DashboardHistoryPanel.tsx +184 -0
  99. package/corpus/templates/analytics/app/components/dashboard/DataTable.tsx +41 -6
  100. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +122 -11
  101. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +22 -16
  102. package/corpus/templates/analytics/app/components/layout/Header.tsx +1 -1
  103. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +27 -21
  104. package/corpus/templates/analytics/app/hooks/use-analysis-revisions.ts +43 -0
  105. package/corpus/templates/analytics/app/hooks/use-dashboard-chat-context.ts +110 -0
  106. package/corpus/templates/analytics/app/hooks/use-dashboard-revisions.ts +43 -0
  107. package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +8 -3
  108. package/corpus/templates/analytics/app/i18n/zh-TW.ts +64 -2
  109. package/corpus/templates/analytics/app/i18n-data.ts +783 -3
  110. package/corpus/templates/analytics/app/pages/Agents.tsx +359 -19
  111. package/corpus/templates/analytics/app/pages/Settings.tsx +3 -2
  112. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +34 -1
  113. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +28 -0
  114. package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +18 -1
  115. package/corpus/templates/analytics/app/pages/monitoring/ErrorsPanel.tsx +7 -10
  116. package/corpus/templates/analytics/app/pages/monitoring/MonitoringPage.tsx +8 -2
  117. package/corpus/templates/analytics/app/pages/monitoring/errors/IssueDetail.tsx +479 -23
  118. package/corpus/templates/analytics/app/pages/monitoring/errors/IssueList.tsx +0 -9
  119. package/corpus/templates/analytics/app/pages/monitoring/errors/i18n.ts +11 -0
  120. package/corpus/templates/analytics/app/pages/monitoring/errors/types.ts +9 -1
  121. package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorFormPage.tsx +157 -35
  122. package/corpus/templates/analytics/app/pages/monitoring/uptime/i18n.ts +17 -2
  123. package/corpus/templates/analytics/app/pages/monitoring/uptime/types.ts +4 -0
  124. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +80 -220
  125. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +9 -99
  126. package/corpus/templates/analytics/app/pages/settings/AlertRulesSettingsCard.tsx +262 -104
  127. package/corpus/templates/analytics/app/routes/team.tsx +1 -1
  128. package/corpus/templates/analytics/changelog/2026-07-08-admins-can-audit-dashboard-usage-ownership-and-cleanup-signa.md +6 -0
  129. package/corpus/templates/analytics/changelog/2026-07-08-agent-monitoring-stays-available-to-non-admins.md +6 -0
  130. package/corpus/templates/analytics/changelog/2026-07-08-alert-rules-are-easier-to-scan-expand-and-edit-from-settings.md +6 -0
  131. package/corpus/templates/analytics/changelog/2026-07-08-analytics-alert-forms-remember-last-email-recipients.md +6 -0
  132. package/corpus/templates/analytics/changelog/2026-07-08-analytics-alert-rules-can-now-use-per-rule-slack-and-webhook.md +6 -0
  133. package/corpus/templates/analytics/changelog/2026-07-08-dashboard-history-and-chat-context.md +5 -0
  134. package/corpus/templates/analytics/changelog/2026-07-08-dashboard-tables-keep-their-size-while-loading.md +6 -0
  135. package/corpus/templates/analytics/changelog/2026-07-08-dashboard-usage-now-counts-explorer-dashboard-traffic.md +6 -0
  136. package/corpus/templates/analytics/changelog/2026-07-08-demo-mode-session-emails-are-filtered-and-anonymized.md +6 -0
  137. package/corpus/templates/analytics/changelog/2026-07-08-error-issue-detail-adds-stack-traces-and-frequency-bars.md +6 -0
  138. package/corpus/templates/analytics/changelog/2026-07-08-error-issue-detail-now-shows-the-latest-occurrence-message-a.md +6 -0
  139. package/corpus/templates/analytics/changelog/2026-07-08-monitoring-errors-only-show-test-action-when-empty.md +6 -0
  140. package/corpus/templates/analytics/changelog/2026-07-08-monitoring-uptime-and-errors-tabs-now-clearly-show-which-view-is-active.md +6 -0
  141. package/corpus/templates/analytics/changelog/2026-07-08-production-session-replay-now-requires-private-blob-storage-.md +6 -0
  142. package/corpus/templates/analytics/changelog/2026-07-08-session-replay-uses-stock-rrweb-sizing-again-so-recorded.md +6 -0
  143. package/corpus/templates/analytics/changelog/2026-07-08-shared-extension-links-now-show-a-clear-message-when-you-do-.md +6 -0
  144. package/corpus/templates/analytics/changelog/2026-07-08-sidebar-dashboard-menus-now-open-above-the-dashboard-canvas.md +6 -0
  145. package/corpus/templates/analytics/changelog/2026-07-08-team-settings-show-access-controls-next-to-member-lists.md +6 -0
  146. package/corpus/templates/analytics/changelog/2026-07-08-uptime-alerting-clarifies-in-app-inbox-vs-email-and-lets-you-paste-slack-or-webhook-urls-per-monitor.md +6 -0
  147. package/corpus/templates/analytics/changelog/2026-07-08-uptime-monitors-now-use-a-10-second-request-timeout-by-defau.md +6 -0
  148. package/corpus/templates/analytics/docs/uptime-monitoring.md +13 -11
  149. package/corpus/templates/analytics/server/db/schema-monitoring.ts +5 -1
  150. package/corpus/templates/analytics/server/db/schema.ts +56 -0
  151. package/corpus/templates/analytics/server/lib/analytics-alerts.ts +92 -0
  152. package/corpus/templates/analytics/server/lib/dashboards-store.ts +334 -5
  153. package/corpus/templates/analytics/server/lib/error-capture.ts +231 -36
  154. package/corpus/templates/analytics/server/lib/session-replay.ts +114 -8
  155. package/corpus/templates/analytics/server/lib/uptime-monitors.ts +65 -16
  156. package/corpus/templates/analytics/server/plugins/db.ts +122 -2
  157. package/corpus/templates/analytics/server/routes/api/dashboard-agent-context.json.get.ts +1 -0
  158. package/corpus/templates/assets/.agents/skills/actions/SKILL.md +5 -0
  159. package/corpus/templates/assets/.agents/skills/real-time-sync/SKILL.md +1 -1
  160. package/corpus/templates/assets/.agents/skills/security/SKILL.md +7 -0
  161. package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +20 -2
  162. package/corpus/templates/assets/.agents/skills/storing-data/SKILL.md +5 -1
  163. package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  164. package/corpus/templates/assets/AGENTS.md +4 -0
  165. package/corpus/templates/assets/app/routes/settings.tsx +1 -1
  166. package/corpus/templates/assets/app/routes/team.tsx +1 -1
  167. package/corpus/templates/brain/.agents/skills/actions/SKILL.md +5 -0
  168. package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +5 -0
  169. package/corpus/templates/brain/.agents/skills/real-time-sync/SKILL.md +1 -1
  170. package/corpus/templates/brain/.agents/skills/security/SKILL.md +7 -0
  171. package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +20 -2
  172. package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  173. package/corpus/templates/brain/AGENTS.md +4 -0
  174. package/corpus/templates/brain/app/routes/team.tsx +1 -1
  175. package/corpus/templates/calendar/.agents/skills/actions/SKILL.md +5 -0
  176. package/corpus/templates/calendar/.agents/skills/real-time-sync/SKILL.md +1 -1
  177. package/corpus/templates/calendar/.agents/skills/security/SKILL.md +7 -0
  178. package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +20 -2
  179. package/corpus/templates/calendar/.agents/skills/storing-data/SKILL.md +5 -1
  180. package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  181. package/corpus/templates/calendar/AGENTS.md +4 -0
  182. package/corpus/templates/calendar/app/components/calendar/DayView.tsx +11 -2
  183. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +21 -8
  184. package/corpus/templates/calendar/app/components/calendar/MonthView.tsx +7 -1
  185. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +11 -2
  186. package/corpus/templates/calendar/app/lib/popover-click-guard.ts +48 -4
  187. package/corpus/templates/calendar/app/pages/Settings.tsx +1 -1
  188. package/corpus/templates/calendar/app/routes/_app.team.tsx +1 -1
  189. package/corpus/templates/calendar/changelog/2026-07-08-clicking-empty-calendar-space-closes-an-open-event-popover-b.md +6 -0
  190. package/corpus/templates/chat/.agents/skills/actions/SKILL.md +5 -0
  191. package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +5 -0
  192. package/corpus/templates/chat/.agents/skills/real-time-sync/SKILL.md +1 -1
  193. package/corpus/templates/chat/.agents/skills/security/SKILL.md +7 -0
  194. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +20 -2
  195. package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  196. package/corpus/templates/chat/AGENTS.md +4 -0
  197. package/corpus/templates/chat/app/hooks/use-navigation-state.ts +1 -1
  198. package/corpus/templates/chat/app/routes/settings.tsx +2 -2
  199. package/corpus/templates/chat/app/routes/team.tsx +1 -1
  200. package/corpus/templates/clips/.agents/skills/actions/SKILL.md +5 -0
  201. package/corpus/templates/clips/.agents/skills/security/SKILL.md +7 -0
  202. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +20 -2
  203. package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  204. package/corpus/templates/clips/AGENTS.md +4 -0
  205. package/corpus/templates/clips/actions/finalize-recording.ts +9 -3
  206. package/corpus/templates/clips/actions/set-thumbnail.ts +11 -2
  207. package/corpus/templates/clips/app/components/meetings/canvas-editor.tsx +1 -7
  208. package/corpus/templates/clips/app/components/player/player-controls.tsx +21 -13
  209. package/corpus/templates/clips/app/components/player/video-player.tsx +30 -75
  210. package/corpus/templates/clips/app/i18n/ar-SA.ts +6 -5
  211. package/corpus/templates/clips/app/i18n/de-DE.ts +6 -6
  212. package/corpus/templates/clips/app/i18n/en-US.ts +6 -5
  213. package/corpus/templates/clips/app/i18n/es-ES.ts +6 -5
  214. package/corpus/templates/clips/app/i18n/fr-FR.ts +6 -6
  215. package/corpus/templates/clips/app/i18n/hi-IN.ts +6 -5
  216. package/corpus/templates/clips/app/i18n/ja-JP.ts +6 -5
  217. package/corpus/templates/clips/app/i18n/ko-KR.ts +6 -5
  218. package/corpus/templates/clips/app/i18n/pt-BR.ts +6 -5
  219. package/corpus/templates/clips/app/i18n/zh-CN.ts +6 -5
  220. package/corpus/templates/clips/app/i18n/zh-TW.ts +6 -5
  221. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +51 -118
  222. package/corpus/templates/clips/changelog/2026-07-08-desktop-meeting-notes-stay-active-from-tray-and-shortcut-controls.md +6 -0
  223. package/corpus/templates/clips/changelog/2026-07-08-desktop-meeting-popovers-can-start-notes-and-join-the-meetin.md +6 -0
  224. package/corpus/templates/clips/changelog/2026-07-08-hosted-clip-uploads-now-clear-failed-buffered-chunks.md +6 -0
  225. package/corpus/templates/clips/changelog/2026-07-08-hosted-recording-uploads-now-avoid-sql-chunk-storage.md +6 -0
  226. package/corpus/templates/clips/changelog/2026-07-08-meeting-notes-keep-their-recording-state-when-the-desktop.md +6 -0
  227. package/corpus/templates/clips/changelog/2026-07-08-meeting-recaps-now-keep-summaries-action-items-and-transcrip.md +6 -0
  228. package/corpus/templates/clips/changelog/2026-07-08-meeting-reminder-dropdowns-now-expand-fully-instead-of-being.md +6 -0
  229. package/corpus/templates/clips/changelog/2026-07-08-video-playback-controls-now-match-loom-style-5-second-skips-.md +6 -0
  230. package/corpus/templates/clips/desktop/src/app.tsx +123 -3
  231. package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +15 -1
  232. package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +23 -0
  233. package/corpus/templates/clips/desktop/src/styles.css +23 -1
  234. package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +1 -3
  235. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +40 -6
  236. package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +4 -2
  237. package/corpus/templates/clips/desktop/src-tauri/src/meetings_watcher.rs +3 -5
  238. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +23 -19
  239. package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +3 -3
  240. package/corpus/templates/clips/desktop/src-tauri/src/silence_detector.rs +0 -1
  241. package/corpus/templates/clips/desktop/src-tauri/src/state.rs +5 -0
  242. package/corpus/templates/clips/desktop/src-tauri/src/tray.rs +18 -6
  243. package/corpus/templates/clips/server/lib/recording-upload-state.ts +63 -0
  244. package/corpus/templates/clips/server/lib/video-storage.ts +4 -0
  245. package/corpus/templates/clips/server/routes/api/recordings/[recordingId]/thumbnail.post.ts +19 -13
  246. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +40 -1
  247. package/corpus/templates/content/.agents/skills/actions/SKILL.md +5 -0
  248. package/corpus/templates/content/.agents/skills/real-time-sync/SKILL.md +1 -1
  249. package/corpus/templates/content/.agents/skills/security/SKILL.md +7 -0
  250. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +20 -2
  251. package/corpus/templates/content/.agents/skills/storing-data/SKILL.md +5 -1
  252. package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  253. package/corpus/templates/content/AGENTS.md +4 -0
  254. package/corpus/templates/content/actions/_batch-utils.ts +8 -0
  255. package/corpus/templates/content/actions/_builder-cms-read-client.ts +7 -5
  256. package/corpus/templates/content/actions/_database-source-utils.ts +776 -319
  257. package/corpus/templates/content/actions/_database-utils.ts +6 -1
  258. package/corpus/templates/content/actions/_property-utils.ts +168 -0
  259. package/corpus/templates/content/actions/add-content-database-source-field-property.ts +19 -12
  260. package/corpus/templates/content/actions/bind-content-database-source-field.ts +19 -12
  261. package/corpus/templates/content/actions/delete-document.ts +9 -13
  262. package/corpus/templates/content/actions/refresh-content-database-source.ts +5 -5
  263. package/corpus/templates/content/app/components/editor/body-hydration.ts +35 -11
  264. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +47 -5
  265. package/corpus/templates/content/app/hooks/use-documents.ts +8 -2
  266. package/corpus/templates/content/app/routes/_app.settings.tsx +2 -2
  267. package/corpus/templates/content/app/routes/_app.team.tsx +1 -1
  268. package/corpus/templates/content/changelog/2026-07-08-builder-source-sync-now-completes-reliably-on-hosted-databases.md +6 -0
  269. package/corpus/templates/content/changelog/2026-07-08-fixed-builder-database-sync-so-large-sources-continue-past-t.md +6 -0
  270. package/corpus/templates/content/server/plugins/db.ts +19 -0
  271. package/corpus/templates/design/.agents/skills/actions/SKILL.md +5 -0
  272. package/corpus/templates/design/.agents/skills/security/SKILL.md +7 -0
  273. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +20 -2
  274. package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  275. package/corpus/templates/design/AGENTS.md +4 -0
  276. package/corpus/templates/design/actions/take-design-screenshot.ts +12 -9
  277. package/corpus/templates/design/app/components/design/inspector/ImageFillControls.tsx +57 -13
  278. package/corpus/templates/design/app/routes/team.tsx +1 -1
  279. package/corpus/templates/design/changelog/2026-07-08-local-images-added-to-designs-now-upload-to-file-storage-ins.md +6 -0
  280. package/corpus/templates/dispatch/.agents/skills/actions/SKILL.md +5 -0
  281. package/corpus/templates/dispatch/.agents/skills/security/SKILL.md +7 -0
  282. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +20 -2
  283. package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  284. package/corpus/templates/dispatch/AGENTS.md +4 -0
  285. package/corpus/templates/dispatch/app/hooks/use-navigation-state.ts +1 -1
  286. package/corpus/templates/dispatch/app/routes/settings.tsx +2 -2
  287. package/corpus/templates/dispatch/app/routes/team.tsx +1 -1
  288. package/corpus/templates/forms/.agents/skills/actions/SKILL.md +5 -0
  289. package/corpus/templates/forms/.agents/skills/real-time-sync/SKILL.md +1 -1
  290. package/corpus/templates/forms/.agents/skills/security/SKILL.md +7 -0
  291. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +20 -2
  292. package/corpus/templates/forms/.agents/skills/storing-data/SKILL.md +5 -1
  293. package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  294. package/corpus/templates/forms/AGENTS.md +4 -0
  295. package/corpus/templates/forms/app/routes/_app.settings.tsx +2 -2
  296. package/corpus/templates/forms/app/routes/_app.team.tsx +1 -1
  297. package/corpus/templates/forms/shared/navigation.ts +1 -1
  298. package/corpus/templates/macros/.agents/skills/security/SKILL.md +7 -0
  299. package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  300. package/corpus/templates/macros/AGENTS.md +4 -0
  301. package/corpus/templates/macros/app/routes/settings.tsx +2 -2
  302. package/corpus/templates/macros/app/routes/team.tsx +1 -1
  303. package/corpus/templates/mail/.agents/skills/actions/SKILL.md +5 -0
  304. package/corpus/templates/mail/.agents/skills/email-drafts/SKILL.md +1 -1
  305. package/corpus/templates/mail/.agents/skills/real-time-sync/SKILL.md +1 -1
  306. package/corpus/templates/mail/.agents/skills/security/SKILL.md +7 -0
  307. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +20 -2
  308. package/corpus/templates/mail/.agents/skills/storing-data/SKILL.md +5 -1
  309. package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  310. package/corpus/templates/mail/AGENTS.md +4 -0
  311. package/corpus/templates/mail/changelog/2026-07-08-mail-attachments-in-hosted-environments-now-require-file-sto.md +6 -0
  312. package/corpus/templates/mail/server/handlers/media.ts +26 -1
  313. package/corpus/templates/mail/server/lib/outgoing-email.ts +24 -1
  314. package/corpus/templates/mail/server/lib/upload-store.ts +2 -1
  315. package/corpus/templates/plan/.agents/skills/actions/SKILL.md +5 -0
  316. package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +5 -0
  317. package/corpus/templates/plan/.agents/skills/real-time-sync/SKILL.md +1 -1
  318. package/corpus/templates/plan/.agents/skills/security/SKILL.md +7 -0
  319. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +20 -2
  320. package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  321. package/corpus/templates/plan/AGENTS.md +4 -0
  322. package/corpus/templates/plan/app/hooks/use-navigation-state.ts +1 -1
  323. package/corpus/templates/plan/app/routes/settings.tsx +2 -2
  324. package/corpus/templates/plan/app/routes/team.tsx +1 -1
  325. package/corpus/templates/plan/changelog/2026-07-08-hosted-plan-images-now-require-connected-storage.md +6 -0
  326. package/corpus/templates/plan/server/lib/plan-assets.ts +33 -4
  327. package/corpus/templates/slides/.agents/skills/actions/SKILL.md +5 -0
  328. package/corpus/templates/slides/.agents/skills/security/SKILL.md +7 -0
  329. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +20 -2
  330. package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  331. package/corpus/templates/slides/AGENTS.md +4 -0
  332. package/corpus/templates/slides/actions/generate-image-api.ts +15 -3
  333. package/corpus/templates/slides/app/routes/settings.tsx +2 -2
  334. package/corpus/templates/slides/app/routes/team.tsx +1 -1
  335. package/corpus/templates/slides/changelog/2026-07-08-generated-slide-images-now-return-hosted-file-storage-urls-i.md +6 -0
  336. package/corpus/templates/slides/shared/api.ts +1 -1
  337. package/corpus/templates/videos/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  338. package/corpus/templates/voice/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  339. package/dist/agent/production-agent.d.ts +5 -1
  340. package/dist/agent/production-agent.d.ts.map +1 -1
  341. package/dist/agent/production-agent.js +112 -42
  342. package/dist/agent/production-agent.js.map +1 -1
  343. package/dist/agent/tool-search.d.ts +2 -0
  344. package/dist/agent/tool-search.d.ts.map +1 -1
  345. package/dist/agent/tool-search.js +60 -4
  346. package/dist/agent/tool-search.js.map +1 -1
  347. package/dist/application-state/store.d.ts.map +1 -1
  348. package/dist/application-state/store.js +8 -2
  349. package/dist/application-state/store.js.map +1 -1
  350. package/dist/cli/index.js +19 -0
  351. package/dist/cli/index.js.map +1 -1
  352. package/dist/cli/upgrade.d.ts +100 -0
  353. package/dist/cli/upgrade.d.ts.map +1 -0
  354. package/dist/cli/upgrade.js +678 -0
  355. package/dist/cli/upgrade.js.map +1 -0
  356. package/dist/client/AssistantChat.d.ts.map +1 -1
  357. package/dist/client/AssistantChat.js +25 -14
  358. package/dist/client/AssistantChat.js.map +1 -1
  359. package/dist/client/HighlightedCodeBlock.d.ts +2 -0
  360. package/dist/client/HighlightedCodeBlock.d.ts.map +1 -1
  361. package/dist/client/HighlightedCodeBlock.js +10 -1
  362. package/dist/client/HighlightedCodeBlock.js.map +1 -1
  363. package/dist/client/PoweredByBadge.d.ts +1 -1
  364. package/dist/client/PoweredByBadge.d.ts.map +1 -1
  365. package/dist/client/PoweredByBadge.js +3 -9
  366. package/dist/client/PoweredByBadge.js.map +1 -1
  367. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  368. package/dist/client/agent-chat-adapter.js +60 -13
  369. package/dist/client/agent-chat-adapter.js.map +1 -1
  370. package/dist/client/chat/message-components.d.ts.map +1 -1
  371. package/dist/client/chat/message-components.js +61 -8
  372. package/dist/client/chat/message-components.js.map +1 -1
  373. package/dist/client/chat/tool-call-display.d.ts +12 -0
  374. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  375. package/dist/client/chat/tool-call-display.js +136 -42
  376. package/dist/client/chat/tool-call-display.js.map +1 -1
  377. package/dist/client/chat/widgets/DataTableWidget.d.ts.map +1 -1
  378. package/dist/client/chat/widgets/DataTableWidget.js +19 -2
  379. package/dist/client/chat/widgets/DataTableWidget.js.map +1 -1
  380. package/dist/client/code-agent-chat-adapter.js +2 -9
  381. package/dist/client/code-agent-chat-adapter.js.map +1 -1
  382. package/dist/client/db-admin/TableEditor.d.ts.map +1 -1
  383. package/dist/client/db-admin/TableEditor.js +19 -2
  384. package/dist/client/db-admin/TableEditor.js.map +1 -1
  385. package/dist/client/db-admin/export-utils.d.ts +2 -0
  386. package/dist/client/db-admin/export-utils.d.ts.map +1 -1
  387. package/dist/client/db-admin/export-utils.js +11 -3
  388. package/dist/client/db-admin/export-utils.js.map +1 -1
  389. package/dist/client/db-admin/useAgentSync.d.ts.map +1 -1
  390. package/dist/client/db-admin/useAgentSync.js +63 -0
  391. package/dist/client/db-admin/useAgentSync.js.map +1 -1
  392. package/dist/client/error-capture.d.ts.map +1 -1
  393. package/dist/client/error-capture.js +41 -7
  394. package/dist/client/error-capture.js.map +1 -1
  395. package/dist/client/extensions/EmbeddedExtension.d.ts.map +1 -1
  396. package/dist/client/extensions/EmbeddedExtension.js +3 -1
  397. package/dist/client/extensions/EmbeddedExtension.js.map +1 -1
  398. package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
  399. package/dist/client/extensions/ExtensionViewer.js +32 -5
  400. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  401. package/dist/client/extensions/InlineExtensionFrame.d.ts.map +1 -1
  402. package/dist/client/extensions/InlineExtensionFrame.js +3 -1
  403. package/dist/client/extensions/InlineExtensionFrame.js.map +1 -1
  404. package/dist/client/extensions/portable-extension.d.ts.map +1 -1
  405. package/dist/client/extensions/portable-extension.js +1 -0
  406. package/dist/client/extensions/portable-extension.js.map +1 -1
  407. package/dist/client/org/OrgSwitcher.d.ts +1 -1
  408. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  409. package/dist/client/org/OrgSwitcher.js +11 -6
  410. package/dist/client/org/OrgSwitcher.js.map +1 -1
  411. package/dist/client/org/TeamPage.d.ts.map +1 -1
  412. package/dist/client/org/TeamPage.js +5 -5
  413. package/dist/client/org/TeamPage.js.map +1 -1
  414. package/dist/client/session-replay.d.ts +0 -8
  415. package/dist/client/session-replay.d.ts.map +1 -1
  416. package/dist/client/session-replay.js +3 -80
  417. package/dist/client/session-replay.js.map +1 -1
  418. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  419. package/dist/client/settings/SettingsPanel.js +89 -33
  420. package/dist/client/settings/SettingsPanel.js.map +1 -1
  421. package/dist/client/settings/SettingsSection.d.ts +19 -4
  422. package/dist/client/settings/SettingsSection.d.ts.map +1 -1
  423. package/dist/client/settings/SettingsSection.js +33 -4
  424. package/dist/client/settings/SettingsSection.js.map +1 -1
  425. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  426. package/dist/client/settings/SettingsTabsPage.js +21 -10
  427. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  428. package/dist/client/sse-event-processor.d.ts +9 -0
  429. package/dist/client/sse-event-processor.d.ts.map +1 -1
  430. package/dist/client/sse-event-processor.js +20 -2
  431. package/dist/client/sse-event-processor.js.map +1 -1
  432. package/dist/db-admin/agent-tools.d.ts.map +1 -1
  433. package/dist/db-admin/agent-tools.js +7 -2
  434. package/dist/db-admin/agent-tools.js.map +1 -1
  435. package/dist/db-admin/operations.d.ts.map +1 -1
  436. package/dist/db-admin/operations.js +90 -4
  437. package/dist/db-admin/operations.js.map +1 -1
  438. package/dist/db-admin/routes.d.ts.map +1 -1
  439. package/dist/db-admin/routes.js +1 -0
  440. package/dist/db-admin/routes.js.map +1 -1
  441. package/dist/db-admin/types.d.ts +4 -0
  442. package/dist/db-admin/types.d.ts.map +1 -1
  443. package/dist/db-admin/types.js.map +1 -1
  444. package/dist/extensions/actions.d.ts.map +1 -1
  445. package/dist/extensions/actions.js +85 -5
  446. package/dist/extensions/actions.js.map +1 -1
  447. package/dist/extensions/html-shell.d.ts +5 -4
  448. package/dist/extensions/html-shell.d.ts.map +1 -1
  449. package/dist/extensions/html-shell.js.map +1 -1
  450. package/dist/extensions/routes.d.ts.map +1 -1
  451. package/dist/extensions/routes.js +8 -0
  452. package/dist/extensions/routes.js.map +1 -1
  453. package/dist/navigation/index.d.ts +1 -1
  454. package/dist/navigation/index.d.ts.map +1 -1
  455. package/dist/navigation/index.js +1 -1
  456. package/dist/navigation/index.js.map +1 -1
  457. package/dist/notifications/channels.d.ts +8 -3
  458. package/dist/notifications/channels.d.ts.map +1 -1
  459. package/dist/notifications/channels.js +61 -22
  460. package/dist/notifications/channels.js.map +1 -1
  461. package/dist/notifications/registry.d.ts.map +1 -1
  462. package/dist/notifications/registry.js +14 -3
  463. package/dist/notifications/registry.js.map +1 -1
  464. package/dist/notifications/types.d.ts +4 -1
  465. package/dist/notifications/types.d.ts.map +1 -1
  466. package/dist/notifications/types.js.map +1 -1
  467. package/dist/resources/handlers.d.ts +5 -0
  468. package/dist/resources/handlers.d.ts.map +1 -1
  469. package/dist/resources/handlers.js +9 -8
  470. package/dist/resources/handlers.js.map +1 -1
  471. package/dist/server/agent-chat-plugin.d.ts +5 -1
  472. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  473. package/dist/server/agent-chat-plugin.js +2 -2
  474. package/dist/server/agent-chat-plugin.js.map +1 -1
  475. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  476. package/dist/server/poll.d.ts +12 -4
  477. package/dist/server/poll.d.ts.map +1 -1
  478. package/dist/server/poll.js +236 -9
  479. package/dist/server/poll.js.map +1 -1
  480. package/dist/server/request-context.d.ts +7 -0
  481. package/dist/server/request-context.d.ts.map +1 -1
  482. package/dist/server/request-context.js.map +1 -1
  483. package/dist/styles/agent-conversation.css +1 -1
  484. package/dist/styles/agent-native.css +27 -0
  485. package/dist/templates/default/.agents/skills/actions/SKILL.md +5 -0
  486. package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  487. package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +1 -1
  488. package/dist/templates/default/.agents/skills/security/SKILL.md +7 -0
  489. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +20 -2
  490. package/dist/templates/default/.agents/skills/storing-data/SKILL.md +5 -1
  491. package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  492. package/dist/templates/default/AGENTS.md +14 -5
  493. package/dist/templates/default/package.json +2 -1
  494. package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  495. package/dist/templates/headless/AGENTS.md +13 -3
  496. package/dist/templates/headless/package.json +1 -0
  497. package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +5 -0
  498. package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  499. package/dist/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +4 -0
  500. package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +6 -0
  501. package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +4 -0
  502. package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +1 -1
  503. package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +7 -0
  504. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +20 -2
  505. package/dist/templates/workspace-core/.agents/skills/storing-data/SKILL.md +5 -1
  506. package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  507. package/dist/templates/workspace-core/AGENTS.md +7 -1
  508. package/dist/templates/workspace-root/AGENTS.md +17 -5
  509. package/dist/templates/workspace-root/package.json +1 -0
  510. package/docs/content/faq.mdx +17 -0
  511. package/docs/content/notifications.mdx +12 -6
  512. package/package.json +2 -2
  513. package/src/templates/default/.agents/skills/actions/SKILL.md +5 -0
  514. package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  515. package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +1 -1
  516. package/src/templates/default/.agents/skills/security/SKILL.md +7 -0
  517. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +20 -2
  518. package/src/templates/default/.agents/skills/storing-data/SKILL.md +5 -1
  519. package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  520. package/src/templates/default/AGENTS.md +14 -5
  521. package/src/templates/default/package.json +2 -1
  522. package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  523. package/src/templates/headless/AGENTS.md +13 -3
  524. package/src/templates/headless/package.json +1 -0
  525. package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +5 -0
  526. package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  527. package/src/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +4 -0
  528. package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +6 -0
  529. package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +4 -0
  530. package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +1 -1
  531. package/src/templates/workspace-core/.agents/skills/security/SKILL.md +7 -0
  532. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +20 -2
  533. package/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +5 -1
  534. package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  535. package/src/templates/workspace-core/AGENTS.md +7 -1
  536. package/src/templates/workspace-root/AGENTS.md +17 -5
  537. package/src/templates/workspace-root/package.json +1 -0
  538. package/corpus/templates/analytics/changelog/2026-07-08-session-replay-clamps-ultra-wide-viewports-while-keeping-the.md +0 -6
@@ -17,6 +17,7 @@ const enUS = {
17
17
  monitoring: "Monitoring",
18
18
  monitoringUptime: "Uptime",
19
19
  monitoringErrors: "Errors",
20
+ admin: "Admin",
20
21
  agents: "Agents",
21
22
  templateCatalog: "Catalog",
22
23
  dashboards: "Dashboards",
@@ -33,6 +34,17 @@ const enUS = {
33
34
  created: "Created {{date}}",
34
35
  },
35
36
  dashboard: {
37
+ historyTitle: "Dashboard history",
38
+ historyDescription:
39
+ "Restore a previous dashboard state. Restoring snapshots the current state first.",
40
+ historyEmpty:
41
+ "No history yet. Changes are saved here automatically after the next edit.",
42
+ historyRestore: "Restore",
43
+ historyRestored: "Dashboard restored",
44
+ historyRestoreFailed: "Couldn't restore dashboard",
45
+ historyRestoreQuestion: "Restore this dashboard version?",
46
+ historyRestoreWarning:
47
+ "This replaces the current dashboard layout and saves the current state in history.",
36
48
  panelSettings: "Panel settings",
37
49
  revenueOverTime: "Revenue over time",
38
50
  recentSales: "Recent Sales",
@@ -263,6 +275,14 @@ const enUS = {
263
275
  alertChannels: "Channels",
264
276
  alertCustomChannels: "Additional channels",
265
277
  alertCustomChannelsPlaceholder: "pagerduty, opsgenie",
278
+ alertSlackWebhookUrl: "Slack webhook URL",
279
+ alertSlackWebhookUrlPlaceholder: "https://hooks.slack.com/services/...",
280
+ alertSlackWebhookUrlHint:
281
+ "Leave blank to use the workspace default, if configured.",
282
+ alertWebhookUrl: "Webhook URL",
283
+ alertWebhookUrlPlaceholder: "https://example.com/webhook",
284
+ alertWebhookUrlHint:
285
+ "Leave blank to use the workspace default, if configured.",
266
286
  alertEmailRecipients: "Email recipients",
267
287
  alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com",
268
288
  alertEnabled: "Enabled",
@@ -272,6 +292,8 @@ const enUS = {
272
292
  alertFiltersInvalid: "Invalid filters JSON: {{message}}",
273
293
  alertNameRequired: "Add an alert name.",
274
294
  alertChannelRequired: "Select at least one notification channel.",
295
+ alertSlackWebhookUrlInvalid: "Enter a valid Slack webhook http(s) URL.",
296
+ alertWebhookUrlInvalid: "Enter a valid webhook http(s) URL.",
275
297
  alertSaved: "Alert rule saved.",
276
298
  alertSaveFailed: "Couldn't save alert rule: {{message}}",
277
299
  alertEnabledToast: "Alert enabled.",
@@ -322,6 +344,7 @@ const enUS = {
322
344
  newAnalysisPlaceholder: "Describe the question you want to investigate...",
323
345
  },
324
346
  common: {
347
+ cancel: "Cancel",
325
348
  docs: "Docs",
326
349
  noData: "No data",
327
350
  noDataAvailable: "No data available",
@@ -342,6 +365,8 @@ const enUS = {
342
365
  editSqlQuery: "Edit SQL Query",
343
366
  chartUnavailable: "Chart unavailable",
344
367
  failedToDecodePanel: "Failed to decode panel",
368
+ untitledAnalysis: "Untitled analysis",
369
+ untitledDashboard: "Untitled dashboard",
345
370
  },
346
371
  routeTitles: {
347
372
  notFound: "Not Found - Analytics",
@@ -353,7 +378,7 @@ const enUS = {
353
378
  dataSources: "Data Sources - Analytics",
354
379
  sessions: "Sessions - Analytics",
355
380
  monitoring: "Monitoring - Analytics",
356
- agents: "Agents - Analytics",
381
+ agents: "Admin - Analytics",
357
382
  session: "Session Replay - Analytics",
358
383
  tool: "Tool - Analytics",
359
384
  extensions: "Extensions - Analytics",
@@ -367,12 +392,44 @@ const enUS = {
367
392
  embeddedContent: "Embedded content",
368
393
  },
369
394
  agents: {
370
- title: "Agents",
395
+ title: "Admin",
371
396
  description:
372
- "Monitor agent runs, evals, experiments, feedback, and connected app databases that admins can inspect behind the scenes.",
397
+ "Monitor agent runs, dashboard usage, evals, experiments, feedback, and connected app databases that admins can inspect behind the scenes.",
373
398
  monitoring: "Monitoring",
374
399
  monitoringDescription:
375
400
  "Core observability stays here: runs, traces, evals, experiments, and feedback. Install the LLM observability dashboard from the catalog when you want first-party token, latency, and cost charts.",
401
+ dashboardUsage: "Dashboard Usage",
402
+ dashboardUsageTitle: "Dashboard usage",
403
+ dashboardUsageDescription:
404
+ "Audit dashboard lifecycle, traffic, engagement, and ownership across the active organization. Existing dashboards only show a modifier after they are changed with updated attribution.",
405
+ dashboardUsageTotal: "Dashboards",
406
+ dashboardUsageActive: "{{count}} active",
407
+ dashboardUsageViews: "Views",
408
+ dashboardUsageTop: "Top: {{name}}",
409
+ dashboardUsageEngagements: "Engagements",
410
+ dashboardUsageEngagementsHint: "Non-pageview events plus saved views",
411
+ dashboardUsageStale: "No views",
412
+ dashboardUsageStaleHint: "Active dashboards without tracked views",
413
+ dashboardUsageDashboard: "Dashboard",
414
+ dashboardUsageOwner: "Owner",
415
+ dashboardUsageUsers: "Users",
416
+ dashboardUsageModified: "Modified",
417
+ dashboardUsageCreated: "Created",
418
+ dashboardUsageState: "State",
419
+ dashboardUsagePanels: "{{count}} panels",
420
+ dashboardUsageSavedViews: "{{count}} saved views",
421
+ dashboardUsageHidden: "Hidden",
422
+ dashboardUsageArchived: "Archived",
423
+ dashboardUsageEmpty: "No dashboards yet",
424
+ dashboardUsageEmptyDescription:
425
+ "Dashboards created in this organization will appear here with usage and cleanup signals.",
426
+ adminOnlyTitle: "Admin access required",
427
+ adminOnlyDescription:
428
+ "Only organization owners and admins can open Analytics admin tools.",
429
+ notTracked: "Not tracked",
430
+ visibilityprivate: "Private",
431
+ visibilityorg: "Shared with org",
432
+ visibilitypublic: "Public",
376
433
  advanced: "Advanced",
377
434
  database: "App Databases",
378
435
  openCatalog: "Open catalog",
@@ -636,6 +693,17 @@ const enUS = {
636
693
  allAnalyses: "All analyses",
637
694
  updated: "Updated {{date}}",
638
695
  created: "Created {{date}}",
696
+ historyTitle: "Analysis history",
697
+ historyDescription:
698
+ "Restore a previous saved analysis state. Restoring snapshots the current state first.",
699
+ historyEmpty:
700
+ "No history yet. Changes are saved here automatically after the next re-run.",
701
+ historyRestore: "Restore",
702
+ historyRestored: "Analysis restored",
703
+ historyRestoreFailed: "Couldn't restore analysis",
704
+ historyRestoreQuestion: "Restore this analysis version?",
705
+ historyRestoreWarning:
706
+ "This replaces the current saved findings and keeps the current state in history.",
639
707
  public: "Public",
640
708
  sharedWithOrg: "Shared with org",
641
709
  private: "Private",
@@ -959,6 +1027,7 @@ const enUS = {
959
1027
  allTime: "All time",
960
1028
  showing: "{{count}} sessions",
961
1029
  eventCountCompact: "{{count}} events",
1030
+ pageCountCompactSingular: "{{count}} page",
962
1031
  pageCountCompact: "{{count}} pages",
963
1032
  truncated: "Showing the first replay events only.",
964
1033
  session: "Session",
@@ -10669,3 +10738,714 @@ for (const [locale, overrides] of Object.entries(
10669
10738
  Object.assign(messages[section], sectionOverrides);
10670
10739
  }
10671
10740
  }
10741
+
10742
+ const translatedDashboardAdminTranslations = {
10743
+ "zh-CN": {
10744
+ navigation: {
10745
+ admin: "管理",
10746
+ },
10747
+ agents: {
10748
+ dashboardUsage: "仪表板使用情况",
10749
+ dashboardUsageTitle: "仪表板使用情况",
10750
+ dashboardUsageDescription:
10751
+ "审计当前组织中的仪表板生命周期、流量、互动和所有权。现有仪表板只有在启用更新归因后再次修改,才会显示修改人。",
10752
+ dashboardUsageTotal: "仪表板",
10753
+ dashboardUsageActive: "{{count}} 个活跃",
10754
+ dashboardUsageViews: "浏览量",
10755
+ dashboardUsageTop: "最高:{{name}}",
10756
+ dashboardUsageEngagements: "互动",
10757
+ dashboardUsageEngagementsHint: "非页面浏览事件加已保存视图",
10758
+ dashboardUsageStale: "无浏览",
10759
+ dashboardUsageStaleHint: "没有已跟踪浏览量的活跃仪表板",
10760
+ dashboardUsageDashboard: "仪表板",
10761
+ dashboardUsageOwner: "所有者",
10762
+ dashboardUsageUsers: "用户",
10763
+ dashboardUsageModified: "修改时间",
10764
+ dashboardUsageCreated: "创建时间",
10765
+ dashboardUsageState: "状态",
10766
+ dashboardUsagePanels: "{{count}} 个面板",
10767
+ dashboardUsageSavedViews: "{{count}} 个已保存视图",
10768
+ dashboardUsageHidden: "已隐藏",
10769
+ dashboardUsageArchived: "已归档",
10770
+ dashboardUsageEmpty: "还没有仪表板",
10771
+ dashboardUsageEmptyDescription:
10772
+ "此组织中创建的仪表板会在这里显示使用情况和清理信号。",
10773
+ adminOnlyTitle: "需要管理员权限",
10774
+ adminOnlyDescription:
10775
+ "只有组织所有者和管理员可以打开 Analytics 管理工具。",
10776
+ notTracked: "未跟踪",
10777
+ visibilityprivate: "私有",
10778
+ visibilityorg: "与组织共享",
10779
+ visibilitypublic: "公开",
10780
+ },
10781
+ },
10782
+ "es-ES": {
10783
+ navigation: {
10784
+ admin: "Administración",
10785
+ },
10786
+ agents: {
10787
+ dashboardUsage: "Uso de paneles",
10788
+ dashboardUsageTitle: "Uso de paneles",
10789
+ dashboardUsageDescription:
10790
+ "Audita el ciclo de vida, el tráfico, la interacción y la propiedad de los paneles en la organización activa. Los paneles existentes solo mostrarán quién los modificó después de cambiarse con atribución actualizada.",
10791
+ dashboardUsageTotal: "Paneles",
10792
+ dashboardUsageActive: "{{count}} activos",
10793
+ dashboardUsageViews: "Vistas",
10794
+ dashboardUsageTop: "Principal: {{name}}",
10795
+ dashboardUsageEngagements: "Interacciones",
10796
+ dashboardUsageEngagementsHint:
10797
+ "Eventos que no son pageview más vistas guardadas",
10798
+ dashboardUsageStale: "Sin vistas",
10799
+ dashboardUsageStaleHint: "Paneles activos sin vistas registradas",
10800
+ dashboardUsageDashboard: "Panel",
10801
+ dashboardUsageOwner: "Propietario",
10802
+ dashboardUsageUsers: "Usuarios",
10803
+ dashboardUsageModified: "Modificado",
10804
+ dashboardUsageCreated: "Creado",
10805
+ dashboardUsageState: "Estado",
10806
+ dashboardUsagePanels: "{{count}} paneles",
10807
+ dashboardUsageSavedViews: "{{count}} vistas guardadas",
10808
+ dashboardUsageHidden: "Oculto",
10809
+ dashboardUsageArchived: "Archivado",
10810
+ dashboardUsageEmpty: "Aún no hay paneles",
10811
+ dashboardUsageEmptyDescription:
10812
+ "Los paneles creados en esta organización aparecerán aquí con señales de uso y limpieza.",
10813
+ adminOnlyTitle: "Se requiere acceso de administrador",
10814
+ adminOnlyDescription:
10815
+ "Solo los propietarios y administradores de la organización pueden abrir las herramientas de administración de Analytics.",
10816
+ notTracked: "No registrado",
10817
+ visibilityprivate: "Privado",
10818
+ visibilityorg: "Compartido con la organización",
10819
+ visibilitypublic: "Público",
10820
+ },
10821
+ },
10822
+ "fr-FR": {
10823
+ navigation: {
10824
+ admin: "Admin",
10825
+ },
10826
+ agents: {
10827
+ dashboardUsage: "Utilisation des tableaux de bord",
10828
+ dashboardUsageTitle: "Utilisation des tableaux de bord",
10829
+ dashboardUsageDescription:
10830
+ "Auditez le cycle de vie, le trafic, l'engagement et la propriété des tableaux de bord dans l'organisation active. Les tableaux de bord existants n'affichent un modificateur qu'après une modification avec attribution mise à jour.",
10831
+ dashboardUsageTotal: "Tableaux de bord",
10832
+ dashboardUsageActive: "{{count}} actifs",
10833
+ dashboardUsageViews: "Vues",
10834
+ dashboardUsageTop: "Meilleur : {{name}}",
10835
+ dashboardUsageEngagements: "Engagements",
10836
+ dashboardUsageEngagementsHint:
10837
+ "Événements hors pageview plus vues enregistrées",
10838
+ dashboardUsageStale: "Aucune vue",
10839
+ dashboardUsageStaleHint: "Tableaux de bord actifs sans vues suivies",
10840
+ dashboardUsageDashboard: "Tableau de bord",
10841
+ dashboardUsageOwner: "Propriétaire",
10842
+ dashboardUsageUsers: "Utilisateurs",
10843
+ dashboardUsageModified: "Modifié",
10844
+ dashboardUsageCreated: "Créé",
10845
+ dashboardUsageState: "État",
10846
+ dashboardUsagePanels: "{{count}} panneaux",
10847
+ dashboardUsageSavedViews: "{{count}} vues enregistrées",
10848
+ dashboardUsageHidden: "Masqué",
10849
+ dashboardUsageArchived: "Archivé",
10850
+ dashboardUsageEmpty: "Aucun tableau de bord pour l'instant",
10851
+ dashboardUsageEmptyDescription:
10852
+ "Les tableaux de bord créés dans cette organisation apparaîtront ici avec les signaux d'utilisation et de nettoyage.",
10853
+ adminOnlyTitle: "Accès administrateur requis",
10854
+ adminOnlyDescription:
10855
+ "Seuls les propriétaires et administrateurs de l'organisation peuvent ouvrir les outils d'administration Analytics.",
10856
+ notTracked: "Non suivi",
10857
+ visibilityprivate: "Privé",
10858
+ visibilityorg: "Partagé avec l'organisation",
10859
+ visibilitypublic: "Public",
10860
+ },
10861
+ },
10862
+ "de-DE": {
10863
+ navigation: {
10864
+ admin: "Admin",
10865
+ },
10866
+ agents: {
10867
+ dashboardUsage: "Dashboard-Nutzung",
10868
+ dashboardUsageTitle: "Dashboard-Nutzung",
10869
+ dashboardUsageDescription:
10870
+ "Prüfe Lebenszyklus, Traffic, Engagement und Besitz von Dashboards in der aktiven Organisation. Bestehende Dashboards zeigen einen Bearbeiter erst nach einer Änderung mit aktualisierter Zuordnung.",
10871
+ dashboardUsageTotal: "Dashboards",
10872
+ dashboardUsageActive: "{{count}} aktiv",
10873
+ dashboardUsageViews: "Aufrufe",
10874
+ dashboardUsageTop: "Top: {{name}}",
10875
+ dashboardUsageEngagements: "Interaktionen",
10876
+ dashboardUsageEngagementsHint:
10877
+ "Nicht-Pageview-Ereignisse plus gespeicherte Ansichten",
10878
+ dashboardUsageStale: "Keine Aufrufe",
10879
+ dashboardUsageStaleHint: "Aktive Dashboards ohne erfasste Aufrufe",
10880
+ dashboardUsageDashboard: "Dashboard",
10881
+ dashboardUsageOwner: "Besitzer",
10882
+ dashboardUsageUsers: "Benutzer",
10883
+ dashboardUsageModified: "Geändert",
10884
+ dashboardUsageCreated: "Erstellt",
10885
+ dashboardUsageState: "Status",
10886
+ dashboardUsagePanels: "{{count}} Panels",
10887
+ dashboardUsageSavedViews: "{{count}} gespeicherte Ansichten",
10888
+ dashboardUsageHidden: "Ausgeblendet",
10889
+ dashboardUsageArchived: "Archiviert",
10890
+ dashboardUsageEmpty: "Noch keine Dashboards",
10891
+ dashboardUsageEmptyDescription:
10892
+ "In dieser Organisation erstellte Dashboards erscheinen hier mit Nutzungs- und Aufräumsignalen.",
10893
+ adminOnlyTitle: "Adminzugriff erforderlich",
10894
+ adminOnlyDescription:
10895
+ "Nur Organisationsinhaber und Administratoren können Analytics-Admin-Tools öffnen.",
10896
+ notTracked: "Nicht erfasst",
10897
+ visibilityprivate: "Privat",
10898
+ visibilityorg: "Mit Organisation geteilt",
10899
+ visibilitypublic: "Öffentlich",
10900
+ },
10901
+ },
10902
+ "ja-JP": {
10903
+ navigation: {
10904
+ admin: "管理",
10905
+ },
10906
+ agents: {
10907
+ dashboardUsage: "ダッシュボード使用状況",
10908
+ dashboardUsageTitle: "ダッシュボード使用状況",
10909
+ dashboardUsageDescription:
10910
+ "アクティブな組織全体で、ダッシュボードのライフサイクル、トラフィック、エンゲージメント、所有者を監査します。既存のダッシュボードは、更新の帰属が記録された後に変更されると編集者が表示されます。",
10911
+ dashboardUsageTotal: "ダッシュボード",
10912
+ dashboardUsageActive: "{{count}} 件がアクティブ",
10913
+ dashboardUsageViews: "閲覧数",
10914
+ dashboardUsageTop: "トップ:{{name}}",
10915
+ dashboardUsageEngagements: "エンゲージメント",
10916
+ dashboardUsageEngagementsHint:
10917
+ "ページビュー以外のイベントと保存済みビュー",
10918
+ dashboardUsageStale: "閲覧なし",
10919
+ dashboardUsageStaleHint: "追跡された閲覧がないアクティブなダッシュボード",
10920
+ dashboardUsageDashboard: "ダッシュボード",
10921
+ dashboardUsageOwner: "所有者",
10922
+ dashboardUsageUsers: "ユーザー",
10923
+ dashboardUsageModified: "更新日",
10924
+ dashboardUsageCreated: "作成日",
10925
+ dashboardUsageState: "状態",
10926
+ dashboardUsagePanels: "{{count}} パネル",
10927
+ dashboardUsageSavedViews: "{{count}} 件の保存済みビュー",
10928
+ dashboardUsageHidden: "非表示",
10929
+ dashboardUsageArchived: "アーカイブ済み",
10930
+ dashboardUsageEmpty: "まだダッシュボードがありません",
10931
+ dashboardUsageEmptyDescription:
10932
+ "この組織で作成されたダッシュボードは、使用状況と整理のシグナルとともにここに表示されます。",
10933
+ adminOnlyTitle: "管理者アクセスが必要です",
10934
+ adminOnlyDescription:
10935
+ "組織の所有者と管理者のみが Analytics 管理ツールを開けます。",
10936
+ notTracked: "未追跡",
10937
+ visibilityprivate: "非公開",
10938
+ visibilityorg: "組織と共有",
10939
+ visibilitypublic: "公開",
10940
+ },
10941
+ },
10942
+ "ko-KR": {
10943
+ navigation: {
10944
+ admin: "관리",
10945
+ },
10946
+ agents: {
10947
+ dashboardUsage: "대시보드 사용량",
10948
+ dashboardUsageTitle: "대시보드 사용량",
10949
+ dashboardUsageDescription:
10950
+ "활성 조직 전체의 대시보드 수명 주기, 트래픽, 참여도, 소유권을 감사합니다. 기존 대시보드는 업데이트 귀속이 적용된 뒤 변경되어야 수정자가 표시됩니다.",
10951
+ dashboardUsageTotal: "대시보드",
10952
+ dashboardUsageActive: "{{count}}개 활성",
10953
+ dashboardUsageViews: "조회수",
10954
+ dashboardUsageTop: "상위: {{name}}",
10955
+ dashboardUsageEngagements: "참여",
10956
+ dashboardUsageEngagementsHint: "페이지뷰 외 이벤트와 저장된 보기",
10957
+ dashboardUsageStale: "조회 없음",
10958
+ dashboardUsageStaleHint: "추적된 조회가 없는 활성 대시보드",
10959
+ dashboardUsageDashboard: "대시보드",
10960
+ dashboardUsageOwner: "소유자",
10961
+ dashboardUsageUsers: "사용자",
10962
+ dashboardUsageModified: "수정됨",
10963
+ dashboardUsageCreated: "생성됨",
10964
+ dashboardUsageState: "상태",
10965
+ dashboardUsagePanels: "{{count}}개 패널",
10966
+ dashboardUsageSavedViews: "{{count}}개 저장된 보기",
10967
+ dashboardUsageHidden: "숨김",
10968
+ dashboardUsageArchived: "보관됨",
10969
+ dashboardUsageEmpty: "아직 대시보드가 없습니다",
10970
+ dashboardUsageEmptyDescription:
10971
+ "이 조직에서 생성된 대시보드는 사용량 및 정리 신호와 함께 여기에 표시됩니다.",
10972
+ adminOnlyTitle: "관리자 권한 필요",
10973
+ adminOnlyDescription:
10974
+ "조직 소유자와 관리자만 Analytics 관리 도구를 열 수 있습니다.",
10975
+ notTracked: "추적 안 됨",
10976
+ visibilityprivate: "비공개",
10977
+ visibilityorg: "조직과 공유됨",
10978
+ visibilitypublic: "공개",
10979
+ },
10980
+ },
10981
+ "pt-BR": {
10982
+ navigation: {
10983
+ admin: "Administração",
10984
+ },
10985
+ agents: {
10986
+ dashboardUsage: "Uso dos painéis",
10987
+ dashboardUsageTitle: "Uso dos painéis",
10988
+ dashboardUsageDescription:
10989
+ "Audite ciclo de vida, tráfego, engajamento e propriedade dos painéis na organização ativa. Painéis existentes só mostram quem modificou depois de uma alteração com atribuição atualizada.",
10990
+ dashboardUsageTotal: "Painéis",
10991
+ dashboardUsageActive: "{{count}} ativos",
10992
+ dashboardUsageViews: "Visualizações",
10993
+ dashboardUsageTop: "Principal: {{name}}",
10994
+ dashboardUsageEngagements: "Engajamentos",
10995
+ dashboardUsageEngagementsHint:
10996
+ "Eventos que não são pageview mais visualizações salvas",
10997
+ dashboardUsageStale: "Sem visualizações",
10998
+ dashboardUsageStaleHint: "Painéis ativos sem visualizações rastreadas",
10999
+ dashboardUsageDashboard: "Painel",
11000
+ dashboardUsageOwner: "Proprietário",
11001
+ dashboardUsageUsers: "Usuários",
11002
+ dashboardUsageModified: "Modificado",
11003
+ dashboardUsageCreated: "Criado",
11004
+ dashboardUsageState: "Estado",
11005
+ dashboardUsagePanels: "{{count}} painéis",
11006
+ dashboardUsageSavedViews: "{{count}} visualizações salvas",
11007
+ dashboardUsageHidden: "Oculto",
11008
+ dashboardUsageArchived: "Arquivado",
11009
+ dashboardUsageEmpty: "Ainda não há painéis",
11010
+ dashboardUsageEmptyDescription:
11011
+ "Painéis criados nesta organização aparecerão aqui com sinais de uso e limpeza.",
11012
+ adminOnlyTitle: "Acesso de administrador necessário",
11013
+ adminOnlyDescription:
11014
+ "Somente proprietários e administradores da organização podem abrir as ferramentas administrativas do Analytics.",
11015
+ notTracked: "Não rastreado",
11016
+ visibilityprivate: "Privado",
11017
+ visibilityorg: "Compartilhado com a organização",
11018
+ visibilitypublic: "Público",
11019
+ },
11020
+ },
11021
+ "hi-IN": {
11022
+ navigation: {
11023
+ admin: "एडमिन",
11024
+ },
11025
+ agents: {
11026
+ dashboardUsage: "डैशबोर्ड उपयोग",
11027
+ dashboardUsageTitle: "डैशबोर्ड उपयोग",
11028
+ dashboardUsageDescription:
11029
+ "सक्रिय संगठन में डैशबोर्ड lifecycle, traffic, engagement, और ownership का audit करें। मौजूदा dashboards में modifier तभी दिखेगा जब वे updated attribution के साथ बदले जाएँगे।",
11030
+ dashboardUsageTotal: "डैशबोर्ड",
11031
+ dashboardUsageActive: "{{count}} सक्रिय",
11032
+ dashboardUsageViews: "व्यू",
11033
+ dashboardUsageTop: "शीर्ष: {{name}}",
11034
+ dashboardUsageEngagements: "एंगेजमेंट",
11035
+ dashboardUsageEngagementsHint: "Non-pageview events और saved views",
11036
+ dashboardUsageStale: "कोई व्यू नहीं",
11037
+ dashboardUsageStaleHint: "Tracked views के बिना सक्रिय dashboards",
11038
+ dashboardUsageDashboard: "डैशबोर्ड",
11039
+ dashboardUsageOwner: "स्वामी",
11040
+ dashboardUsageUsers: "यूज़र",
11041
+ dashboardUsageModified: "संशोधित",
11042
+ dashboardUsageCreated: "बनाया गया",
11043
+ dashboardUsageState: "स्थिति",
11044
+ dashboardUsagePanels: "{{count}} पैनल",
11045
+ dashboardUsageSavedViews: "{{count}} saved views",
11046
+ dashboardUsageHidden: "छिपा हुआ",
11047
+ dashboardUsageArchived: "आर्काइव किया गया",
11048
+ dashboardUsageEmpty: "अभी कोई डैशबोर्ड नहीं",
11049
+ dashboardUsageEmptyDescription:
11050
+ "इस संगठन में बनाए गए dashboards usage और cleanup signals के साथ यहाँ दिखेंगे।",
11051
+ adminOnlyTitle: "एडमिन access आवश्यक है",
11052
+ adminOnlyDescription:
11053
+ "केवल organization owners और admins Analytics admin tools खोल सकते हैं।",
11054
+ notTracked: "ट्रैक नहीं किया गया",
11055
+ visibilityprivate: "निजी",
11056
+ visibilityorg: "संगठन के साथ साझा",
11057
+ visibilitypublic: "सार्वजनिक",
11058
+ },
11059
+ },
11060
+ "ar-SA": {
11061
+ navigation: {
11062
+ admin: "الإدارة",
11063
+ },
11064
+ agents: {
11065
+ dashboardUsage: "استخدام لوحات المعلومات",
11066
+ dashboardUsageTitle: "استخدام لوحات المعلومات",
11067
+ dashboardUsageDescription:
11068
+ "راجع دورة حياة لوحات المعلومات وحركة المرور والتفاعل والملكية عبر المؤسسة النشطة. لا تعرض اللوحات الحالية آخر معدّل إلا بعد تغييرها مع تفعيل الإسناد المحدّث.",
11069
+ dashboardUsageTotal: "لوحات المعلومات",
11070
+ dashboardUsageActive: "{{count}} نشطة",
11071
+ dashboardUsageViews: "المشاهدات",
11072
+ dashboardUsageTop: "الأعلى: {{name}}",
11073
+ dashboardUsageEngagements: "التفاعلات",
11074
+ dashboardUsageEngagementsHint:
11075
+ "أحداث غير pageview بالإضافة إلى طرق العرض المحفوظة",
11076
+ dashboardUsageStale: "بلا مشاهدات",
11077
+ dashboardUsageStaleHint: "لوحات نشطة بلا مشاهدات متتبعة",
11078
+ dashboardUsageDashboard: "لوحة المعلومات",
11079
+ dashboardUsageOwner: "المالك",
11080
+ dashboardUsageUsers: "المستخدمون",
11081
+ dashboardUsageModified: "عُدّلت",
11082
+ dashboardUsageCreated: "أُنشئت",
11083
+ dashboardUsageState: "الحالة",
11084
+ dashboardUsagePanels: "{{count}} لوحات",
11085
+ dashboardUsageSavedViews: "{{count}} طرق عرض محفوظة",
11086
+ dashboardUsageHidden: "مخفية",
11087
+ dashboardUsageArchived: "مؤرشفة",
11088
+ dashboardUsageEmpty: "لا توجد لوحات معلومات بعد",
11089
+ dashboardUsageEmptyDescription:
11090
+ "ستظهر لوحات المعلومات التي تُنشأ في هذه المؤسسة هنا مع إشارات الاستخدام والتنظيف.",
11091
+ adminOnlyTitle: "مطلوب وصول مسؤول",
11092
+ adminOnlyDescription:
11093
+ "يمكن لمالكي المؤسسة والمسؤولين فقط فتح أدوات إدارة Analytics.",
11094
+ notTracked: "غير متتبع",
11095
+ visibilityprivate: "خاص",
11096
+ visibilityorg: "مشترك مع المؤسسة",
11097
+ visibilitypublic: "عام",
11098
+ },
11099
+ },
11100
+ } satisfies Partial<Record<LocaleCode, AnalyticsPartialMessages>>;
11101
+
11102
+ for (const [locale, overrides] of Object.entries(
11103
+ translatedDashboardAdminTranslations,
11104
+ ) as Array<[LocaleCode, AnalyticsPartialMessages]>) {
11105
+ const messages = messagesByLocale[locale];
11106
+ if (!messages) continue;
11107
+
11108
+ for (const [section, sectionOverrides] of Object.entries(overrides) as Array<
11109
+ [Section, Partial<Messages[Section]>]
11110
+ >) {
11111
+ Object.assign(messages[section], sectionOverrides);
11112
+ }
11113
+ }
11114
+
11115
+ const translatedHistoryTranslations = {
11116
+ "zh-TW": {
11117
+ common: {
11118
+ cancel: "取消",
11119
+ untitledAnalysis: "未命名分析",
11120
+ untitledDashboard: "未命名儀表板",
11121
+ },
11122
+ dashboard: {
11123
+ historyTitle: "儀表板歷史記錄",
11124
+ historyDescription: "還原先前的儀表板狀態。還原前會先保存目前狀態。",
11125
+ historyEmpty: "尚無歷史記錄。下一次編輯後,變更會自動保存在這裡。",
11126
+ historyRestore: "還原",
11127
+ historyRestored: "儀表板已還原",
11128
+ historyRestoreFailed: "無法還原儀表板",
11129
+ historyRestoreQuestion: "要還原此儀表板版本嗎?",
11130
+ historyRestoreWarning:
11131
+ "這會取代目前的儀表板版面,並將目前狀態保存到歷史記錄。",
11132
+ },
11133
+ analyses: {
11134
+ historyTitle: "分析歷史記錄",
11135
+ historyDescription: "還原先前保存的分析狀態。還原前會先保存目前狀態。",
11136
+ historyEmpty: "尚無歷史記錄。下一次重新執行後,變更會自動保存在這裡。",
11137
+ historyRestore: "還原",
11138
+ historyRestored: "分析已還原",
11139
+ historyRestoreFailed: "無法還原分析",
11140
+ historyRestoreQuestion: "要還原此分析版本嗎?",
11141
+ historyRestoreWarning:
11142
+ "這會取代目前保存的發現,並將目前狀態保留在歷史記錄。",
11143
+ },
11144
+ },
11145
+ "zh-CN": {
11146
+ common: {
11147
+ cancel: "取消",
11148
+ untitledAnalysis: "未命名分析",
11149
+ untitledDashboard: "未命名仪表板",
11150
+ },
11151
+ dashboard: {
11152
+ historyTitle: "仪表板历史记录",
11153
+ historyDescription: "还原之前的仪表板状态。还原前会先保存当前状态。",
11154
+ historyEmpty: "还没有历史记录。下一次编辑后,变更会自动保存到这里。",
11155
+ historyRestore: "还原",
11156
+ historyRestored: "仪表板已还原",
11157
+ historyRestoreFailed: "无法还原仪表板",
11158
+ historyRestoreQuestion: "要还原此仪表板版本吗?",
11159
+ historyRestoreWarning:
11160
+ "这会替换当前仪表板布局,并把当前状态保存到历史记录。",
11161
+ },
11162
+ analyses: {
11163
+ historyTitle: "分析历史记录",
11164
+ historyDescription: "还原之前保存的分析状态。还原前会先保存当前状态。",
11165
+ historyEmpty: "还没有历史记录。下一次重新运行后,变更会自动保存到这里。",
11166
+ historyRestore: "还原",
11167
+ historyRestored: "分析已还原",
11168
+ historyRestoreFailed: "无法还原分析",
11169
+ historyRestoreQuestion: "要还原此分析版本吗?",
11170
+ historyRestoreWarning:
11171
+ "这会替换当前保存的发现,并把当前状态保留在历史记录中。",
11172
+ },
11173
+ },
11174
+ "es-ES": {
11175
+ common: {
11176
+ cancel: "Cancelar",
11177
+ untitledAnalysis: "Análisis sin título",
11178
+ untitledDashboard: "Panel sin título",
11179
+ },
11180
+ dashboard: {
11181
+ historyTitle: "Historial del panel",
11182
+ historyDescription:
11183
+ "Restaura un estado anterior del panel. Al restaurar, primero se guarda una instantánea del estado actual.",
11184
+ historyEmpty:
11185
+ "Aún no hay historial. Los cambios se guardarán aquí automáticamente tras la próxima edición.",
11186
+ historyRestore: "Restaurar",
11187
+ historyRestored: "Panel restaurado",
11188
+ historyRestoreFailed: "No se pudo restaurar el panel",
11189
+ historyRestoreQuestion: "¿Restaurar esta versión del panel?",
11190
+ historyRestoreWarning:
11191
+ "Esto reemplaza el diseño actual del panel y guarda el estado actual en el historial.",
11192
+ },
11193
+ analyses: {
11194
+ historyTitle: "Historial del análisis",
11195
+ historyDescription:
11196
+ "Restaura un estado anterior del análisis guardado. Al restaurar, primero se guarda una instantánea del estado actual.",
11197
+ historyEmpty:
11198
+ "Aún no hay historial. Los cambios se guardarán aquí automáticamente tras la próxima nueva ejecución.",
11199
+ historyRestore: "Restaurar",
11200
+ historyRestored: "Análisis restaurado",
11201
+ historyRestoreFailed: "No se pudo restaurar el análisis",
11202
+ historyRestoreQuestion: "¿Restaurar esta versión del análisis?",
11203
+ historyRestoreWarning:
11204
+ "Esto reemplaza los hallazgos guardados actuales y conserva el estado actual en el historial.",
11205
+ },
11206
+ },
11207
+ "fr-FR": {
11208
+ common: {
11209
+ cancel: "Annuler",
11210
+ untitledAnalysis: "Analyse sans titre",
11211
+ untitledDashboard: "Tableau de bord sans titre",
11212
+ },
11213
+ dashboard: {
11214
+ historyTitle: "Historique du tableau de bord",
11215
+ historyDescription:
11216
+ "Restaurez un état précédent du tableau de bord. La restauration enregistre d'abord l'état actuel.",
11217
+ historyEmpty:
11218
+ "Aucun historique pour l'instant. Les changements seront enregistrés ici automatiquement après la prochaine modification.",
11219
+ historyRestore: "Restaurer",
11220
+ historyRestored: "Tableau de bord restauré",
11221
+ historyRestoreFailed: "Impossible de restaurer le tableau de bord",
11222
+ historyRestoreQuestion: "Restaurer cette version du tableau de bord ?",
11223
+ historyRestoreWarning:
11224
+ "Cela remplace la mise en page actuelle du tableau de bord et enregistre l'état actuel dans l'historique.",
11225
+ },
11226
+ analyses: {
11227
+ historyTitle: "Historique de l'analyse",
11228
+ historyDescription:
11229
+ "Restaurez un état précédent de l'analyse enregistrée. La restauration enregistre d'abord l'état actuel.",
11230
+ historyEmpty:
11231
+ "Aucun historique pour l'instant. Les changements seront enregistrés ici automatiquement après la prochaine réexécution.",
11232
+ historyRestore: "Restaurer",
11233
+ historyRestored: "Analyse restaurée",
11234
+ historyRestoreFailed: "Impossible de restaurer l'analyse",
11235
+ historyRestoreQuestion: "Restaurer cette version de l'analyse ?",
11236
+ historyRestoreWarning:
11237
+ "Cela remplace les résultats enregistrés actuels et conserve l'état actuel dans l'historique.",
11238
+ },
11239
+ },
11240
+ "de-DE": {
11241
+ common: {
11242
+ cancel: "Abbrechen",
11243
+ untitledAnalysis: "Unbenannte Analyse",
11244
+ untitledDashboard: "Unbenanntes Dashboard",
11245
+ },
11246
+ dashboard: {
11247
+ historyTitle: "Dashboard-Verlauf",
11248
+ historyDescription:
11249
+ "Stelle einen früheren Dashboard-Stand wieder her. Vor der Wiederherstellung wird der aktuelle Stand gespeichert.",
11250
+ historyEmpty:
11251
+ "Noch kein Verlauf. Änderungen werden nach der nächsten Bearbeitung automatisch hier gespeichert.",
11252
+ historyRestore: "Wiederherstellen",
11253
+ historyRestored: "Dashboard wiederhergestellt",
11254
+ historyRestoreFailed: "Dashboard konnte nicht wiederhergestellt werden",
11255
+ historyRestoreQuestion: "Diese Dashboard-Version wiederherstellen?",
11256
+ historyRestoreWarning:
11257
+ "Dies ersetzt das aktuelle Dashboard-Layout und speichert den aktuellen Stand im Verlauf.",
11258
+ },
11259
+ analyses: {
11260
+ historyTitle: "Analyseverlauf",
11261
+ historyDescription:
11262
+ "Stelle einen früheren Stand der gespeicherten Analyse wieder her. Vor der Wiederherstellung wird der aktuelle Stand gespeichert.",
11263
+ historyEmpty:
11264
+ "Noch kein Verlauf. Änderungen werden nach der nächsten erneuten Ausführung automatisch hier gespeichert.",
11265
+ historyRestore: "Wiederherstellen",
11266
+ historyRestored: "Analyse wiederhergestellt",
11267
+ historyRestoreFailed: "Analyse konnte nicht wiederhergestellt werden",
11268
+ historyRestoreQuestion: "Diese Analyseversion wiederherstellen?",
11269
+ historyRestoreWarning:
11270
+ "Dies ersetzt die aktuell gespeicherten Erkenntnisse und behält den aktuellen Stand im Verlauf.",
11271
+ },
11272
+ },
11273
+ "ja-JP": {
11274
+ common: {
11275
+ cancel: "キャンセル",
11276
+ untitledAnalysis: "無題の分析",
11277
+ untitledDashboard: "無題のダッシュボード",
11278
+ },
11279
+ dashboard: {
11280
+ historyTitle: "ダッシュボード履歴",
11281
+ historyDescription:
11282
+ "以前のダッシュボード状態を復元します。復元前に現在の状態を履歴に保存します。",
11283
+ historyEmpty:
11284
+ "まだ履歴はありません。次回の編集後、変更はここに自動保存されます。",
11285
+ historyRestore: "復元",
11286
+ historyRestored: "ダッシュボードを復元しました",
11287
+ historyRestoreFailed: "ダッシュボードを復元できませんでした",
11288
+ historyRestoreQuestion: "このダッシュボード版を復元しますか?",
11289
+ historyRestoreWarning:
11290
+ "現在のダッシュボードレイアウトを置き換え、現在の状態を履歴に保存します。",
11291
+ },
11292
+ analyses: {
11293
+ historyTitle: "分析履歴",
11294
+ historyDescription:
11295
+ "以前の保存済み分析状態を復元します。復元前に現在の状態を履歴に保存します。",
11296
+ historyEmpty:
11297
+ "まだ履歴はありません。次回の再実行後、変更はここに自動保存されます。",
11298
+ historyRestore: "復元",
11299
+ historyRestored: "分析を復元しました",
11300
+ historyRestoreFailed: "分析を復元できませんでした",
11301
+ historyRestoreQuestion: "この分析版を復元しますか?",
11302
+ historyRestoreWarning:
11303
+ "現在保存されている結果を置き換え、現在の状態を履歴に保持します。",
11304
+ },
11305
+ },
11306
+ "ko-KR": {
11307
+ common: {
11308
+ cancel: "취소",
11309
+ untitledAnalysis: "제목 없는 분석",
11310
+ untitledDashboard: "제목 없는 대시보드",
11311
+ },
11312
+ dashboard: {
11313
+ historyTitle: "대시보드 기록",
11314
+ historyDescription:
11315
+ "이전 대시보드 상태를 복원합니다. 복원하기 전에 현재 상태를 먼저 기록에 저장합니다.",
11316
+ historyEmpty:
11317
+ "아직 기록이 없습니다. 다음 편집 후 변경 사항이 여기에 자동으로 저장됩니다.",
11318
+ historyRestore: "복원",
11319
+ historyRestored: "대시보드가 복원되었습니다",
11320
+ historyRestoreFailed: "대시보드를 복원할 수 없습니다",
11321
+ historyRestoreQuestion: "이 대시보드 버전을 복원할까요?",
11322
+ historyRestoreWarning:
11323
+ "현재 대시보드 레이아웃을 대체하고 현재 상태를 기록에 저장합니다.",
11324
+ },
11325
+ analyses: {
11326
+ historyTitle: "분석 기록",
11327
+ historyDescription:
11328
+ "이전 저장된 분석 상태를 복원합니다. 복원하기 전에 현재 상태를 먼저 기록에 저장합니다.",
11329
+ historyEmpty:
11330
+ "아직 기록이 없습니다. 다음 재실행 후 변경 사항이 여기에 자동으로 저장됩니다.",
11331
+ historyRestore: "복원",
11332
+ historyRestored: "분석이 복원되었습니다",
11333
+ historyRestoreFailed: "분석을 복원할 수 없습니다",
11334
+ historyRestoreQuestion: "이 분석 버전을 복원할까요?",
11335
+ historyRestoreWarning:
11336
+ "현재 저장된 결과를 대체하고 현재 상태를 기록에 보관합니다.",
11337
+ },
11338
+ },
11339
+ "pt-BR": {
11340
+ common: {
11341
+ cancel: "Cancelar",
11342
+ untitledAnalysis: "Análise sem título",
11343
+ untitledDashboard: "Painel sem título",
11344
+ },
11345
+ dashboard: {
11346
+ historyTitle: "Histórico do painel",
11347
+ historyDescription:
11348
+ "Restaure um estado anterior do painel. A restauração salva primeiro um snapshot do estado atual.",
11349
+ historyEmpty:
11350
+ "Ainda não há histórico. As alterações serão salvas aqui automaticamente após a próxima edição.",
11351
+ historyRestore: "Restaurar",
11352
+ historyRestored: "Painel restaurado",
11353
+ historyRestoreFailed: "Não foi possível restaurar o painel",
11354
+ historyRestoreQuestion: "Restaurar esta versão do painel?",
11355
+ historyRestoreWarning:
11356
+ "Isso substitui o layout atual do painel e salva o estado atual no histórico.",
11357
+ },
11358
+ analyses: {
11359
+ historyTitle: "Histórico da análise",
11360
+ historyDescription:
11361
+ "Restaure um estado anterior da análise salva. A restauração salva primeiro um snapshot do estado atual.",
11362
+ historyEmpty:
11363
+ "Ainda não há histórico. As alterações serão salvas aqui automaticamente após a próxima nova execução.",
11364
+ historyRestore: "Restaurar",
11365
+ historyRestored: "Análise restaurada",
11366
+ historyRestoreFailed: "Não foi possível restaurar a análise",
11367
+ historyRestoreQuestion: "Restaurar esta versão da análise?",
11368
+ historyRestoreWarning:
11369
+ "Isso substitui as descobertas salvas atuais e mantém o estado atual no histórico.",
11370
+ },
11371
+ },
11372
+ "hi-IN": {
11373
+ common: {
11374
+ cancel: "रद्द करें",
11375
+ untitledAnalysis: "बिना शीर्षक वाला विश्लेषण",
11376
+ untitledDashboard: "बिना शीर्षक वाला डैशबोर्ड",
11377
+ },
11378
+ dashboard: {
11379
+ historyTitle: "डैशबोर्ड इतिहास",
11380
+ historyDescription:
11381
+ "पिछली डैशबोर्ड स्थिति को पुनर्स्थापित करें। पुनर्स्थापना से पहले वर्तमान स्थिति का snapshot सहेजा जाता है।",
11382
+ historyEmpty:
11383
+ "अभी कोई इतिहास नहीं है। अगले edit के बाद बदलाव यहाँ अपने-आप सहेजे जाएँगे।",
11384
+ historyRestore: "पुनर्स्थापित करें",
11385
+ historyRestored: "डैशबोर्ड पुनर्स्थापित हुआ",
11386
+ historyRestoreFailed: "डैशबोर्ड पुनर्स्थापित नहीं किया जा सका",
11387
+ historyRestoreQuestion: "इस डैशबोर्ड संस्करण को पुनर्स्थापित करें?",
11388
+ historyRestoreWarning:
11389
+ "यह वर्तमान डैशबोर्ड layout को बदल देगा और वर्तमान स्थिति को इतिहास में सहेजेगा।",
11390
+ },
11391
+ analyses: {
11392
+ historyTitle: "विश्लेषण इतिहास",
11393
+ historyDescription:
11394
+ "पिछली सहेजी गई विश्लेषण स्थिति को पुनर्स्थापित करें। पुनर्स्थापना से पहले वर्तमान स्थिति का snapshot सहेजा जाता है।",
11395
+ historyEmpty:
11396
+ "अभी कोई इतिहास नहीं है। अगली re-run के बाद बदलाव यहाँ अपने-आप सहेजे जाएँगे।",
11397
+ historyRestore: "पुनर्स्थापित करें",
11398
+ historyRestored: "विश्लेषण पुनर्स्थापित हुआ",
11399
+ historyRestoreFailed: "विश्लेषण पुनर्स्थापित नहीं किया जा सका",
11400
+ historyRestoreQuestion: "इस विश्लेषण संस्करण को पुनर्स्थापित करें?",
11401
+ historyRestoreWarning:
11402
+ "यह वर्तमान सहेजे गए findings को बदल देगा और वर्तमान स्थिति को इतिहास में रखेगा।",
11403
+ },
11404
+ },
11405
+ "ar-SA": {
11406
+ common: {
11407
+ cancel: "إلغاء",
11408
+ untitledAnalysis: "تحليل بلا عنوان",
11409
+ untitledDashboard: "لوحة معلومات بلا عنوان",
11410
+ },
11411
+ dashboard: {
11412
+ historyTitle: "سجل لوحة المعلومات",
11413
+ historyDescription:
11414
+ "استعد حالة سابقة للوحة المعلومات. تحفظ الاستعادة لقطة من الحالة الحالية أولاً.",
11415
+ historyEmpty:
11416
+ "لا يوجد سجل بعد. ستُحفظ التغييرات هنا تلقائياً بعد التعديل التالي.",
11417
+ historyRestore: "استعادة",
11418
+ historyRestored: "تمت استعادة لوحة المعلومات",
11419
+ historyRestoreFailed: "تعذرت استعادة لوحة المعلومات",
11420
+ historyRestoreQuestion: "هل تريد استعادة هذا الإصدار من لوحة المعلومات؟",
11421
+ historyRestoreWarning:
11422
+ "سيستبدل هذا تخطيط لوحة المعلومات الحالي ويحفظ الحالة الحالية في السجل.",
11423
+ },
11424
+ analyses: {
11425
+ historyTitle: "سجل التحليل",
11426
+ historyDescription:
11427
+ "استعد حالة سابقة للتحليل المحفوظ. تحفظ الاستعادة لقطة من الحالة الحالية أولاً.",
11428
+ historyEmpty:
11429
+ "لا يوجد سجل بعد. ستُحفظ التغييرات هنا تلقائياً بعد إعادة التشغيل التالية.",
11430
+ historyRestore: "استعادة",
11431
+ historyRestored: "تمت استعادة التحليل",
11432
+ historyRestoreFailed: "تعذرت استعادة التحليل",
11433
+ historyRestoreQuestion: "هل تريد استعادة هذا الإصدار من التحليل؟",
11434
+ historyRestoreWarning:
11435
+ "سيستبدل هذا النتائج المحفوظة الحالية ويحتفظ بالحالة الحالية في السجل.",
11436
+ },
11437
+ },
11438
+ } satisfies Partial<Record<LocaleCode, AnalyticsPartialMessages>>;
11439
+
11440
+ for (const [locale, overrides] of Object.entries(
11441
+ translatedHistoryTranslations,
11442
+ ) as Array<[LocaleCode, AnalyticsPartialMessages]>) {
11443
+ const messages = messagesByLocale[locale];
11444
+ if (!messages) continue;
11445
+
11446
+ for (const [section, sectionOverrides] of Object.entries(overrides) as Array<
11447
+ [Section, Partial<Messages[Section]>]
11448
+ >) {
11449
+ Object.assign(messages[section], sectionOverrides);
11450
+ }
11451
+ }