@agent-native/core 0.141.6 → 0.144.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 (501) hide show
  1. package/agent-native.eject.json +9 -0
  2. package/corpus/README.md +1 -1
  3. package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +3 -14
  4. package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +11 -6
  5. package/corpus/templates/analytics/.agents/skills/prometheus/SKILL.md +5 -5
  6. package/corpus/templates/analytics/.agents/skills/provider-api/SKILL.md +19 -0
  7. package/corpus/templates/analytics/.agents/skills/turn-into-app/SKILL.md +296 -0
  8. package/corpus/templates/analytics/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  9. package/corpus/templates/analytics/.agents/skills/turn-into-skill/SKILL.md +112 -0
  10. package/corpus/templates/analytics/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  11. package/corpus/templates/analytics/AGENTS.md +37 -40
  12. package/corpus/templates/analytics/actions/compose-dashboard.ts +1 -1
  13. package/corpus/templates/analytics/actions/ensure-native-v2-dashboards.ts +1 -1
  14. package/corpus/templates/analytics/actions/list-dashboard-usage-stats.ts +17 -22
  15. package/corpus/templates/analytics/actions/migrate-first-party-analytics-to-bigquery.ts +135 -0
  16. package/corpus/templates/analytics/actions/navigate.ts +5 -6
  17. package/corpus/templates/analytics/actions/provider-api-register.ts +50 -0
  18. package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +46 -13
  19. package/corpus/templates/analytics/actions/test-custom-api-connection.ts +106 -0
  20. package/corpus/templates/analytics/actions/update-dashboard.ts +0 -1
  21. package/corpus/templates/analytics/actions/view-screen.ts +0 -20
  22. package/corpus/templates/analytics/app/components/CustomApiCard.tsx +430 -0
  23. package/corpus/templates/analytics/app/components/layout/Header.tsx +0 -1
  24. package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +5 -5
  25. package/corpus/templates/analytics/app/i18n-data.ts +682 -90
  26. package/corpus/templates/analytics/app/lib/native-mcp-exclusions.ts +6 -0
  27. package/corpus/templates/analytics/app/lib/sql-query.ts +33 -6
  28. package/corpus/templates/analytics/app/pages/Agents.tsx +0 -3
  29. package/corpus/templates/analytics/app/pages/DataSources.tsx +4 -0
  30. package/corpus/templates/analytics/app/pages/Settings.tsx +22 -43
  31. package/corpus/templates/analytics/app/pages/settings/settings-search.ts +23 -20
  32. package/corpus/templates/analytics/app/routes/extensions._index.tsx +1 -1
  33. package/corpus/templates/analytics/app/routes/settings.$.tsx +1 -0
  34. package/corpus/templates/analytics/app/routes/team.tsx +1 -1
  35. package/corpus/templates/analytics/changelog/2026-08-05-settings-no-longer-includes-an-unnecessary-about-section.md +6 -0
  36. package/corpus/templates/analytics/changelog/2026-08-06-analytics-dashboards-load-reliably-during-background-data-sw.md +6 -0
  37. package/corpus/templates/analytics/changelog/2026-08-06-analytics-dashboards-remain-responsive-while-historical-data.md +6 -0
  38. package/corpus/templates/analytics/changelog/2026-08-06-analytics-query-results-now-render-as-a-table-with-csv-downl.md +6 -0
  39. package/corpus/templates/analytics/changelog/2026-08-06-connect-public-https-custom-apis-and-hand-tested-endpoints-t.md +6 -0
  40. package/corpus/templates/analytics/changelog/2026-08-06-durable-agent-worker-memory.md +6 -0
  41. package/corpus/templates/analytics/changelog/2026-08-06-live-dashboard-panels-use-the-shared-query-timeout.md +6 -0
  42. package/corpus/templates/analytics/changelog/2026-08-06-on-demand-billing-is-available-as-a-native-dashboard-with-ta.md +6 -0
  43. package/corpus/templates/analytics/changelog/2026-08-06-visible-dashboard-names-are-unique.md +6 -0
  44. package/corpus/templates/analytics/docs/schemas/first-party-analytics.md +1 -1
  45. package/corpus/templates/analytics/netlify.toml +7 -0
  46. package/corpus/templates/analytics/scripts/emit-netlify-dashboard-report-cron.ts +4 -0
  47. package/corpus/templates/analytics/scripts/first-party-analytics-bigquery.sql +104 -0
  48. package/corpus/templates/analytics/server/db/index.ts +27 -0
  49. package/corpus/templates/analytics/server/db/schema.ts +10 -0
  50. package/corpus/templates/analytics/server/lib/agent-chat-plan-mode.ts +0 -2
  51. package/corpus/templates/analytics/server/lib/dashboards-store.ts +227 -60
  52. package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +1147 -0
  53. package/corpus/templates/analytics/server/lib/first-party-analytics-health.ts +34 -15
  54. package/corpus/templates/analytics/server/lib/first-party-analytics.ts +57 -4
  55. package/corpus/templates/analytics/server/lib/native-v2-dashboards.ts +227 -1
  56. package/corpus/templates/analytics/server/lib/real-data-actions.ts +1 -3
  57. package/corpus/templates/analytics/server/plugins/agent-chat.ts +7 -4
  58. package/corpus/templates/analytics/server/plugins/analytics-rollup-backfill-jobs.ts +1 -0
  59. package/corpus/templates/analytics/server/plugins/db.ts +52 -18
  60. package/corpus/templates/assets/.agents/skills/asset-generation/SKILL.md +36 -8
  61. package/corpus/templates/assets/.agents/skills/image-generation/SKILL.md +16 -1
  62. package/corpus/templates/assets/.agents/skills/library-management/SKILL.md +16 -1
  63. package/corpus/templates/assets/.agents/skills/turn-into-app/SKILL.md +296 -0
  64. package/corpus/templates/assets/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  65. package/corpus/templates/assets/.agents/skills/turn-into-skill/SKILL.md +112 -0
  66. package/corpus/templates/assets/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  67. package/corpus/templates/assets/AGENTS.md +1 -0
  68. package/corpus/templates/assets/actions/_helpers.ts +12 -0
  69. package/corpus/templates/assets/actions/generate-image.ts +9 -3
  70. package/corpus/templates/assets/actions/import-style-from-url.ts +115 -0
  71. package/corpus/templates/assets/app/hooks/use-navigation-state.ts +3 -1
  72. package/corpus/templates/assets/app/routes/extensions._index.tsx +1 -1
  73. package/corpus/templates/assets/app/routes/settings.$.tsx +1 -0
  74. package/corpus/templates/assets/app/routes/settings.tsx +5 -0
  75. package/corpus/templates/assets/app/routes/team.tsx +1 -1
  76. package/corpus/templates/assets/changelog/2026-08-05-brand-kits-can-import-a-website-s-hydrated-visual-language-a.md +6 -0
  77. package/corpus/templates/assets/changelog/2026-08-05-generated-images-now-hand-off-embeddable-previews-to-other-w.md +6 -0
  78. package/corpus/templates/assets/server/lib/generation.ts +58 -0
  79. package/corpus/templates/assets/shared/api.ts +12 -0
  80. package/corpus/templates/brain/.agents/skills/turn-into-app/SKILL.md +296 -0
  81. package/corpus/templates/brain/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  82. package/corpus/templates/brain/.agents/skills/turn-into-skill/SKILL.md +112 -0
  83. package/corpus/templates/brain/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  84. package/corpus/templates/brain/actions/list-connection-providers.ts +24 -3
  85. package/corpus/templates/brain/app/lib/dispatch-links.ts +44 -0
  86. package/corpus/templates/brain/app/routes/extensions._index.tsx +1 -1
  87. package/corpus/templates/brain/app/routes/sources.tsx +15 -7
  88. package/corpus/templates/brain/app/routes/team.tsx +1 -1
  89. package/corpus/templates/brain/app/routes.ts +1 -1
  90. package/corpus/templates/brain/changelog/2026-08-06-brain-provider-setup-links-open-dispatch-correctly-in-standa.md +6 -0
  91. package/corpus/templates/brain/server/plugins/agent-chat.ts +1 -0
  92. package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +26 -0
  93. package/corpus/templates/calendar/.agents/skills/turn-into-app/SKILL.md +296 -0
  94. package/corpus/templates/calendar/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  95. package/corpus/templates/calendar/.agents/skills/turn-into-skill/SKILL.md +112 -0
  96. package/corpus/templates/calendar/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  97. package/corpus/templates/calendar/AGENTS.md +11 -32
  98. package/corpus/templates/calendar/actions/update-event.ts +107 -1
  99. package/corpus/templates/calendar/app/components/calendar/EventCalendarSelect.tsx +83 -0
  100. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +57 -0
  101. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +59 -73
  102. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +3 -1
  103. package/corpus/templates/calendar/app/hooks/use-events.ts +4 -1
  104. package/corpus/templates/calendar/app/i18n-data.ts +20 -0
  105. package/corpus/templates/calendar/app/routes/_app.extensions._index.tsx +1 -1
  106. package/corpus/templates/calendar/app/routes/_app.settings.$.tsx +1 -0
  107. package/corpus/templates/calendar/app/routes/_app.team.tsx +1 -1
  108. package/corpus/templates/calendar/changelog/2026-08-06-delegated-requests-continue-in-the-background.md +6 -0
  109. package/corpus/templates/calendar/changelog/2026-08-06-existing-events-can-move-between-connected-google-account-ca.md +6 -0
  110. package/corpus/templates/calendar/server/lib/google-calendar.ts +101 -0
  111. package/corpus/templates/calendar/server/plugins/agent-chat.ts +7 -1
  112. package/corpus/templates/chat/.agents/skills/turn-into-app/SKILL.md +296 -0
  113. package/corpus/templates/chat/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  114. package/corpus/templates/chat/.agents/skills/turn-into-skill/SKILL.md +112 -0
  115. package/corpus/templates/chat/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  116. package/corpus/templates/chat/app/components/layout/Layout.tsx +1 -1
  117. package/corpus/templates/chat/app/hooks/use-navigation-state.ts +1 -1
  118. package/corpus/templates/chat/app/root.tsx +1 -1
  119. package/corpus/templates/chat/app/routes/agent.tsx +7 -7
  120. package/corpus/templates/chat/app/routes/extensions._index.tsx +1 -1
  121. package/corpus/templates/chat/app/routes/settings.$.tsx +1 -0
  122. package/corpus/templates/chat/app/routes/team.tsx +1 -1
  123. package/corpus/templates/clips/.agents/skills/turn-into-app/SKILL.md +296 -0
  124. package/corpus/templates/clips/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  125. package/corpus/templates/clips/.agents/skills/turn-into-skill/SKILL.md +112 -0
  126. package/corpus/templates/clips/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  127. package/corpus/templates/clips/app/components/editor/editor-layout.tsx +9 -24
  128. package/corpus/templates/clips/app/components/editor/timeline-geometry.ts +15 -0
  129. package/corpus/templates/clips/app/components/editor/waveform.tsx +4 -17
  130. package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -1
  131. package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +14 -3
  132. package/corpus/templates/clips/app/components/player/transcript-panel.tsx +1 -1
  133. package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +1 -1
  134. package/corpus/templates/clips/app/routes/_app.extensions._index.tsx +1 -1
  135. package/corpus/templates/clips/app/routes/_app.settings.$.tsx +1 -0
  136. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +28 -38
  137. package/corpus/templates/clips/app/routes/share.$shareId.tsx +21 -27
  138. package/corpus/templates/clips/changelog/2026-08-06-clips-recovers-from-stalled-recording-setup-without-requirin.md +6 -0
  139. package/corpus/templates/clips/changelog/2026-08-06-clips-starts-faster-after-a-deploy-or-idle-period-startup-no.md +6 -0
  140. package/corpus/templates/clips/changelog/2026-08-06-deleting-a-recording-returns-cleanly-to-the-library-and-fit-.md +6 -0
  141. package/corpus/templates/clips/changelog/2026-08-06-hide-clip-insights-from-viewers-without-analytics-access.md +6 -0
  142. package/corpus/templates/clips/desktop/src/app.tsx +48 -20
  143. package/corpus/templates/clips/desktop/src/lib/recorder.ts +275 -74
  144. package/corpus/templates/clips/desktop/src/lib/recording-start-guard.ts +84 -0
  145. package/corpus/templates/clips/desktop/src/overlays/toolbar.tsx +14 -4
  146. package/corpus/templates/clips/server/plugins/db.ts +214 -26
  147. package/corpus/templates/content/.agents/skills/turn-into-app/SKILL.md +296 -0
  148. package/corpus/templates/content/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  149. package/corpus/templates/content/.agents/skills/turn-into-skill/SKILL.md +112 -0
  150. package/corpus/templates/content/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  151. package/corpus/templates/content/app/routes/_app.extensions._index.tsx +1 -1
  152. package/corpus/templates/content/app/routes/_app.settings.$.tsx +1 -0
  153. package/corpus/templates/content/app/routes/_app.team.tsx +1 -1
  154. package/corpus/templates/content/e2e/global-setup.ts +1 -1
  155. package/corpus/templates/crm/.agents/skills/turn-into-app/SKILL.md +296 -0
  156. package/corpus/templates/crm/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  157. package/corpus/templates/crm/.agents/skills/turn-into-skill/SKILL.md +112 -0
  158. package/corpus/templates/crm/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  159. package/corpus/templates/crm/changelog/2026-08-06-crm-starts-faster-after-a-deploy-or-idle-period-one-time-dat.md +6 -0
  160. package/corpus/templates/crm/server/plugins/db.ts +11 -8
  161. package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +36 -1
  162. package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +6 -1
  163. package/corpus/templates/design/.agents/skills/turn-into-app/SKILL.md +296 -0
  164. package/corpus/templates/design/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  165. package/corpus/templates/design/.agents/skills/turn-into-skill/SKILL.md +112 -0
  166. package/corpus/templates/design/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  167. package/corpus/templates/design/actions/analyze-brand-assets.ts +7 -7
  168. package/corpus/templates/design/actions/import-from-url.ts +6 -5
  169. package/corpus/templates/design/app/components/design/LayersPanel.tsx +27 -18
  170. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +2 -2
  171. package/corpus/templates/design/app/pages/Index.tsx +6 -2
  172. package/corpus/templates/design/app/routes/extensions._index.tsx +1 -1
  173. package/corpus/templates/design/app/routes/settings.$.tsx +1 -0
  174. package/corpus/templates/design/app/routes/team.tsx +1 -1
  175. package/corpus/templates/design/changelog/2026-08-05-deleting-a-design-from-the-home-page-no-longer-leaves-the-ap.md +6 -0
  176. package/corpus/templates/design/changelog/2026-08-05-renaming-a-layer-now-focuses-its-name-field-automatically.md +6 -0
  177. package/corpus/templates/design/changelog/2026-08-05-website-url-imports-now-capture-hydrated-browser-computed-de.md +6 -0
  178. package/corpus/templates/design/e2e/global-setup.ts +1 -1
  179. package/corpus/templates/design/server/plugins/agent-chat.ts +2 -0
  180. package/corpus/templates/dispatch/.agents/skills/turn-into-app/SKILL.md +296 -0
  181. package/corpus/templates/dispatch/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  182. package/corpus/templates/dispatch/.agents/skills/turn-into-skill/SKILL.md +112 -0
  183. package/corpus/templates/dispatch/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  184. package/corpus/templates/dispatch/app/hooks/use-navigation-state.ts +1 -1
  185. package/corpus/templates/dispatch/app/routes/settings.$.tsx +1 -0
  186. package/corpus/templates/dispatch/app/routes/team.tsx +1 -1
  187. package/corpus/templates/dispatch/changelog/2026-08-06-ready-workspace-apps-stay-one-click-away-in-a-compact-dispat.md +6 -0
  188. package/corpus/templates/dispatch/changelog/2026-08-06-shared-vault-values-and-management-are-now-restricted-to-wor.md +6 -0
  189. package/corpus/templates/factory/.agents/skills/turn-into-app/SKILL.md +296 -0
  190. package/corpus/templates/factory/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  191. package/corpus/templates/factory/.agents/skills/turn-into-skill/SKILL.md +112 -0
  192. package/corpus/templates/factory/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  193. package/corpus/templates/factory/app/hooks/use-navigation-state.ts +1 -1
  194. package/corpus/templates/factory/app/routes/extensions._index.tsx +1 -1
  195. package/corpus/templates/factory/app/routes/settings.$.tsx +1 -0
  196. package/corpus/templates/factory/app/routes/team.tsx +1 -1
  197. package/corpus/templates/forms/.agents/skills/turn-into-app/SKILL.md +296 -0
  198. package/corpus/templates/forms/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  199. package/corpus/templates/forms/.agents/skills/turn-into-skill/SKILL.md +112 -0
  200. package/corpus/templates/forms/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  201. package/corpus/templates/forms/app/routes/_app.extensions._index.tsx +1 -1
  202. package/corpus/templates/forms/app/routes/_app.settings.$.tsx +1 -0
  203. package/corpus/templates/forms/app/routes/_app.team.tsx +1 -1
  204. package/corpus/templates/forms/changelog/2026-08-06-delegated-requests-continue-in-the-background.md +6 -0
  205. package/corpus/templates/forms/server/plugins/agent-chat.ts +4 -0
  206. package/corpus/templates/forms/shared/navigation.ts +1 -1
  207. package/corpus/templates/macros/.agents/skills/turn-into-app/SKILL.md +296 -0
  208. package/corpus/templates/macros/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  209. package/corpus/templates/macros/.agents/skills/turn-into-skill/SKILL.md +112 -0
  210. package/corpus/templates/macros/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  211. package/corpus/templates/macros/app/routes/extensions._index.tsx +1 -1
  212. package/corpus/templates/macros/app/routes/settings.$.tsx +1 -0
  213. package/corpus/templates/macros/app/routes/team.tsx +1 -1
  214. package/corpus/templates/mail/.agents/skills/turn-into-app/SKILL.md +296 -0
  215. package/corpus/templates/mail/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  216. package/corpus/templates/mail/.agents/skills/turn-into-skill/SKILL.md +112 -0
  217. package/corpus/templates/mail/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  218. package/corpus/templates/mail/app/routes/extensions._index.tsx +1 -1
  219. package/corpus/templates/mail/app/routes/settings.$.tsx +1 -0
  220. package/corpus/templates/mail/changelog/2026-08-06-delegated-requests-continue-in-the-background.md +6 -0
  221. package/corpus/templates/mail/server/plugins/agent-chat.ts +6 -0
  222. package/corpus/templates/plan/.agents/skills/turn-into-app/SKILL.md +296 -0
  223. package/corpus/templates/plan/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  224. package/corpus/templates/plan/.agents/skills/turn-into-skill/SKILL.md +112 -0
  225. package/corpus/templates/plan/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  226. package/corpus/templates/plan/app/hooks/use-navigation-state.ts +1 -1
  227. package/corpus/templates/plan/app/routes/extensions._index.tsx +1 -1
  228. package/corpus/templates/plan/app/routes/settings.$.tsx +1 -0
  229. package/corpus/templates/plan/app/routes/team.tsx +1 -1
  230. package/corpus/templates/slides/.agents/skills/create-deck/SKILL.md +48 -5
  231. package/corpus/templates/slides/.agents/skills/design-systems/SKILL.md +40 -2
  232. package/corpus/templates/slides/.agents/skills/image-generation-via-a2a/SKILL.md +6 -0
  233. package/corpus/templates/slides/.agents/skills/slide-editing/SKILL.md +15 -2
  234. package/corpus/templates/slides/.agents/skills/slide-images/SKILL.md +29 -24
  235. package/corpus/templates/slides/.agents/skills/turn-into-app/SKILL.md +296 -0
  236. package/corpus/templates/slides/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  237. package/corpus/templates/slides/.agents/skills/turn-into-skill/SKILL.md +112 -0
  238. package/corpus/templates/slides/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  239. package/corpus/templates/slides/AGENTS.md +7 -9
  240. package/corpus/templates/slides/_gitignore +1 -0
  241. package/corpus/templates/slides/actions/analyze-brand-assets.ts +7 -7
  242. package/corpus/templates/slides/actions/export-pptx.ts +402 -36
  243. package/corpus/templates/slides/actions/import-file.ts +46 -85
  244. package/corpus/templates/slides/actions/import-from-url.ts +6 -6
  245. package/corpus/templates/slides/actions/import-google-slides-reference.ts +271 -12
  246. package/corpus/templates/slides/actions/import-pptx.ts +85 -60
  247. package/corpus/templates/slides/app/components/deck/DeckCard.tsx +10 -13
  248. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +1 -1
  249. package/corpus/templates/slides/app/components/editor/AddSlidePopover.tsx +5 -1
  250. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +25 -12
  251. package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +112 -57
  252. package/corpus/templates/slides/app/components/editor/GoogleDriveConnectionCta.tsx +202 -0
  253. package/corpus/templates/slides/app/components/editor/GoogleSlidesReferenceImport.tsx +26 -14
  254. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +176 -0
  255. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +182 -141
  256. package/corpus/templates/slides/app/components/editor/canvas-interactions/index.ts +1 -0
  257. package/corpus/templates/slides/app/components/editor/canvas-interactions/slides-canvas-adapter.ts +18 -0
  258. package/corpus/templates/slides/app/components/editor/slide-text-targets.ts +85 -0
  259. package/corpus/templates/slides/app/components/layout/Layout.tsx +3 -0
  260. package/corpus/templates/slides/app/components/onboarding/FirstDeckOnboardingFlow.tsx +13 -3
  261. package/corpus/templates/slides/app/components/presentation/PresentationView.tsx +27 -1
  262. package/corpus/templates/slides/app/context/DeckContext.tsx +71 -20
  263. package/corpus/templates/slides/app/global.css +6 -0
  264. package/corpus/templates/slides/app/i18n/en-US.ts +1 -0
  265. package/corpus/templates/slides/app/lib/create-deck-generation.ts +10 -6
  266. package/corpus/templates/slides/app/lib/deck-preview-frame.ts +15 -0
  267. package/corpus/templates/slides/app/lib/deck-share-links.ts +9 -0
  268. package/corpus/templates/slides/app/lib/export-pptx-client.ts +89 -0
  269. package/corpus/templates/slides/app/lib/slide-animation-elements.ts +3 -0
  270. package/corpus/templates/slides/app/pages/DeckEditor.tsx +17 -0
  271. package/corpus/templates/slides/app/pages/Index.tsx +107 -6
  272. package/corpus/templates/slides/app/routes/extensions._index.tsx +1 -1
  273. package/corpus/templates/slides/app/routes/settings.$.tsx +1 -0
  274. package/corpus/templates/slides/app/routes/team.tsx +1 -1
  275. package/corpus/templates/slides/changelog/2026-08-05-failed-deck-creation-and-reference-uploads-now-recover-clean.md +6 -0
  276. package/corpus/templates/slides/changelog/2026-08-05-slides-recover-completed-generation-results-after-a-sync-hic.md +6 -0
  277. package/corpus/templates/slides/changelog/2026-08-05-website-url-imports-now-capture-hydrated-browser-computed-st.md +6 -0
  278. package/corpus/templates/slides/changelog/2026-08-06-clicking-the-gray-canvas-around-a-slide-clears-its-selection.md +6 -0
  279. package/corpus/templates/slides/changelog/2026-08-06-deck-thumbnails-keep-a-consistent-listing-frame-across-aspec.md +6 -0
  280. package/corpus/templates/slides/changelog/2026-08-06-deep-linked-decks-open-directly-instead-of-being-interrupted.md +6 -0
  281. package/corpus/templates/slides/changelog/2026-08-06-google-slides-exports-now-show-clear-import-steps-when-direc.md +6 -0
  282. package/corpus/templates/slides/changelog/2026-08-06-import-pdf-google-slides-and-powerpoint-decks-directly-from-.md +6 -0
  283. package/corpus/templates/slides/changelog/2026-08-06-imported-powerpoint-exports-keep-text-and-images-editable-an.md +6 -0
  284. package/corpus/templates/slides/changelog/2026-08-06-presentation-prompts-continue-adding-rendered-slides-until-t.md +6 -0
  285. package/corpus/templates/slides/changelog/2026-08-06-public-decks-now-share-read-only-presentation-links-by-defau.md +6 -0
  286. package/corpus/templates/slides/changelog/2026-08-06-slides-offers-a-direct-connect-google-button-when-a-drive-co.md +6 -0
  287. package/corpus/templates/slides/changelog/2026-08-06-slides-preserve-uploaded-pdf-layouts-accept-larger-reference.md +6 -0
  288. package/corpus/templates/slides/changelog/2026-08-06-styled-words-stay-part-of-their-text-box-instead-of-becoming.md +6 -0
  289. package/corpus/templates/slides/server/handlers/google-docs-auth.ts +7 -20
  290. package/corpus/templates/slides/server/handlers/import/html-converter.ts +236 -13
  291. package/corpus/templates/slides/server/handlers/import/pptx-assets.ts +67 -0
  292. package/corpus/templates/slides/server/handlers/import/pptx-parser.ts +2 -0
  293. package/corpus/templates/slides/server/handlers/uploads.ts +7 -3
  294. package/corpus/templates/slides/server/lib/chat-attachments.ts +6 -3
  295. package/corpus/templates/slides/server/lib/emails.ts +7 -2
  296. package/corpus/templates/slides/server/lib/google-docs-error.ts +50 -0
  297. package/corpus/templates/slides/server/lib/google-docs-oauth.ts +1 -0
  298. package/corpus/templates/slides/server/lib/import-asset-storage.ts +127 -0
  299. package/corpus/templates/slides/server/plugins/agent-chat.ts +4 -3
  300. package/corpus/templates/slides/server/routes/api/import-assets/[token].get.ts +70 -0
  301. package/corpus/templates/slides/shared/upload-types.ts +3 -0
  302. package/corpus/templates/tasks/.agents/skills/turn-into-app/SKILL.md +296 -0
  303. package/corpus/templates/tasks/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  304. package/corpus/templates/tasks/.agents/skills/turn-into-skill/SKILL.md +112 -0
  305. package/corpus/templates/tasks/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  306. package/corpus/templates/tasks/app/components/layout/Header.tsx +3 -1
  307. package/corpus/templates/tasks/app/routes/extensions._index.tsx +1 -1
  308. package/corpus/templates/tasks/app/routes/settings.$.tsx +1 -0
  309. package/dist/agent/engine/ai-sdk-engine.js +49 -3
  310. package/dist/agent/production-agent.d.ts +18 -0
  311. package/dist/agent/production-agent.js +80 -1
  312. package/dist/agent/types.d.ts +7 -0
  313. package/dist/cli/agent-plugin.d.ts +112 -0
  314. package/dist/cli/agent-plugin.js +1081 -0
  315. package/dist/cli/app-skill.js +39 -1
  316. package/dist/cli/code-agent-executor.d.ts +3 -0
  317. package/dist/cli/code-agent-executor.js +51 -13
  318. package/dist/cli/index.js +13 -0
  319. package/dist/cli/templates-meta.js +1 -1
  320. package/dist/client/AgentPanel.d.ts +3 -1
  321. package/dist/client/AgentPanel.js +9 -2
  322. package/dist/client/AssistantChat.d.ts +8 -0
  323. package/dist/client/AssistantChat.js +23 -8
  324. package/dist/client/NewWorkspaceAppFlow.js +1 -0
  325. package/dist/client/agent-chat-adapter.d.ts +1 -1
  326. package/dist/client/agent-chat-adapter.js +153 -7
  327. package/dist/client/agent-page/AgentWorkspaceContent.d.ts +1 -1
  328. package/dist/client/agent-page/AgentWorkspaceContent.js +13 -13
  329. package/dist/client/assistant-ui-recovery.d.ts +2 -1
  330. package/dist/client/assistant-ui-recovery.js +7 -3
  331. package/dist/client/chat/run-recovery.js +5 -1
  332. package/dist/client/embed-auth.js +6 -2
  333. package/dist/client/error-format.js +12 -0
  334. package/dist/client/integrations/IntegrationsPanel.js +40 -6
  335. package/dist/client/onboarding/FirstRunOnboarding.js +11 -4
  336. package/dist/client/org/OrgSwitcher.js +2 -2
  337. package/dist/client/org/TeamPage.js +92 -72
  338. package/dist/client/require-session.d.ts +1 -1
  339. package/dist/client/require-session.js +4 -4
  340. package/dist/client/resources/McpConnectionSuggestion.d.ts +1 -0
  341. package/dist/client/resources/McpConnectionSuggestion.js +27 -10
  342. package/dist/client/resources/McpIntegrationDialog.js +77 -45
  343. package/dist/client/resources/mcp-integration-catalog.d.ts +13 -1
  344. package/dist/client/resources/mcp-integration-catalog.js +255 -2
  345. package/dist/client/resources/mcp-integration-logos.js +18 -2
  346. package/dist/client/resources/use-mcp-servers.d.ts +5 -0
  347. package/dist/client/resources/use-mcp-servers.js +36 -0
  348. package/dist/client/settings/AccountSettingsCard.js +42 -36
  349. package/dist/client/settings/AutomationsSection.js +1 -1
  350. package/dist/client/settings/DemoModeSection.d.ts +3 -1
  351. package/dist/client/settings/DemoModeSection.js +4 -1
  352. package/dist/client/settings/ExtensionsSettingsContent.js +1 -1
  353. package/dist/client/settings/SchedulingTimezoneField.d.ts +3 -1
  354. package/dist/client/settings/SchedulingTimezoneField.js +9 -5
  355. package/dist/client/settings/SettingsPanel.d.ts +4 -1
  356. package/dist/client/settings/SettingsPanel.js +21 -21
  357. package/dist/client/settings/SettingsTabsPage.d.ts +2 -2
  358. package/dist/client/settings/SettingsTabsPage.js +98 -45
  359. package/dist/client/settings/VoiceTranscriptionSection.js +6 -1
  360. package/dist/client/settings/useSettingsPanelController.js +47 -8
  361. package/dist/collab/routes.d.ts +1 -1
  362. package/dist/db/client.d.ts +9 -0
  363. package/dist/db/client.js +51 -16
  364. package/dist/db/create-get-db.js +2 -2
  365. package/dist/db/ddl-guard.d.ts +11 -10
  366. package/dist/db/ddl-guard.js +40 -12
  367. package/dist/deploy/build.d.ts +2 -0
  368. package/dist/deploy/build.js +97 -4
  369. package/dist/deploy/workspace-deploy.js +0 -2
  370. package/dist/guards/no-env-credentials.js +9 -0
  371. package/dist/ingestion/index.d.ts +1 -1
  372. package/dist/ingestion/pptx.d.ts +68 -0
  373. package/dist/ingestion/pptx.js +660 -213
  374. package/dist/ingestion/website.d.ts +30 -0
  375. package/dist/integrations/plugin.js +9 -6
  376. package/dist/localization/default-messages.d.ts +59 -0
  377. package/dist/localization/default-messages.js +62 -2
  378. package/dist/mcp/screen-memory-stdio.d.ts +7 -7
  379. package/dist/mcp-client/oauth-routes.d.ts +2 -0
  380. package/dist/mcp-client/oauth-routes.js +74 -7
  381. package/dist/mcp-client/routes.d.ts +1 -0
  382. package/dist/mcp-client/routes.js +49 -0
  383. package/dist/navigation/index.js +16 -5
  384. package/dist/notifications/routes.d.ts +1 -1
  385. package/dist/observability/routes.d.ts +3 -3
  386. package/dist/onboarding/app-profile.js +11 -0
  387. package/dist/progress/routes.d.ts +1 -1
  388. package/dist/provider-api/actions/custom-provider-registration.d.ts +13 -13
  389. package/dist/provider-api/actions/provider-api.d.ts +11 -11
  390. package/dist/resources/store.js +15 -1
  391. package/dist/scripts/call-agent.js +45 -4
  392. package/dist/secrets/routes.d.ts +6 -6
  393. package/dist/server/agent-chat/action-filters-a2a.d.ts +1 -1
  394. package/dist/server/agent-chat/action-filters-a2a.js +36 -1
  395. package/dist/server/agent-chat-plugin.js +29 -8
  396. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  397. package/dist/server/auth.js +55 -17
  398. package/dist/server/better-auth-instance.js +5 -3
  399. package/dist/server/core-routes-plugin.d.ts +8 -1
  400. package/dist/server/core-routes-plugin.js +28 -3
  401. package/dist/server/credential-provider.d.ts +3 -3
  402. package/dist/server/credential-provider.js +90 -4
  403. package/dist/server/identity-sso.js +2 -1
  404. package/dist/server/onboarding-html.d.ts +2 -0
  405. package/dist/server/onboarding-html.js +171 -62
  406. package/dist/server/realtime-token.d.ts +1 -1
  407. package/dist/server/self-dispatch.d.ts +5 -4
  408. package/dist/server/self-dispatch.js +25 -14
  409. package/dist/server/ssr-handler.d.ts +1 -1
  410. package/dist/server/ssr-handler.js +1 -1
  411. package/dist/server/workspace-provider-oauth.js +1 -1
  412. package/dist/setup-connections/onboarding.js +1 -1
  413. package/dist/shared/cache-control.d.ts +26 -2
  414. package/dist/shared/cache-control.js +43 -2
  415. package/dist/shared/index.d.ts +1 -1
  416. package/dist/shared/index.js +1 -1
  417. package/dist/shared/password-policy.d.ts +3 -0
  418. package/dist/shared/password-policy.js +3 -0
  419. package/dist/shared/sign-in-journey.d.ts +5 -2
  420. package/dist/shared/sign-in-journey.js +10 -4
  421. package/dist/sharing/actions/set-resource-visibility.js +16 -4
  422. package/dist/sharing/registry.d.ts +14 -0
  423. package/dist/styles/agent-native.css +6 -0
  424. package/dist/templates/chat/.agents/skills/turn-into-app/SKILL.md +296 -0
  425. package/dist/templates/chat/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  426. package/dist/templates/chat/.agents/skills/turn-into-skill/SKILL.md +112 -0
  427. package/dist/templates/chat/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  428. package/dist/templates/chat/app/components/layout/Layout.tsx +1 -1
  429. package/dist/templates/chat/app/hooks/use-navigation-state.ts +1 -1
  430. package/dist/templates/chat/app/root.tsx +1 -1
  431. package/dist/templates/chat/app/routes/agent.tsx +7 -7
  432. package/dist/templates/chat/app/routes/extensions._index.tsx +1 -1
  433. package/dist/templates/chat/app/routes/settings.$.tsx +1 -0
  434. package/dist/templates/chat/app/routes/team.tsx +1 -1
  435. package/dist/templates/default/.agents/skills/turn-into-app/SKILL.md +296 -0
  436. package/dist/templates/default/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  437. package/dist/templates/default/.agents/skills/turn-into-skill/SKILL.md +112 -0
  438. package/dist/templates/default/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  439. package/dist/templates/headless/.agents/skills/turn-into-app/SKILL.md +296 -0
  440. package/dist/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  441. package/dist/templates/headless/.agents/skills/turn-into-skill/SKILL.md +112 -0
  442. package/dist/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  443. package/dist/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +6 -0
  444. package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +37 -6
  445. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +4 -2
  446. package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +51 -0
  447. package/dist/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +296 -0
  448. package/dist/templates/workspace-core/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  449. package/dist/templates/workspace-core/.agents/skills/turn-into-skill/SKILL.md +112 -0
  450. package/dist/templates/workspace-core/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  451. package/dist/templates/workspace-root/AGENTS.md +7 -0
  452. package/dist/user-profile/actions/change-password.js +8 -3
  453. package/dist/user-profile/actions/set-password.js +5 -1
  454. package/dist/vite/action-types-plugin.js +59 -0
  455. package/docs/content/authentication.mdx +4 -5
  456. package/docs/content/skills-guide.mdx +13 -0
  457. package/docs/content/template-analytics-developers.mdx +1 -1
  458. package/docs/content/template-calendar-developers.mdx +1 -1
  459. package/docs/content/template-chat-developers.mdx +2 -2
  460. package/docs/content/template-content-developers.mdx +1 -1
  461. package/docs/content/template-mail-developers.mdx +1 -1
  462. package/docs/content/template-plan-developers.mdx +1 -1
  463. package/docs/content/toolkit-command-navigation.mdx +6 -6
  464. package/docs/content/toolkit-org-team.mdx +1 -1
  465. package/docs/content/toolkit-settings.mdx +8 -8
  466. package/docs/content/toolkit-setup-connections.mdx +1 -1
  467. package/package.json +6 -2
  468. package/src/templates/chat/.agents/skills/turn-into-app/SKILL.md +296 -0
  469. package/src/templates/chat/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  470. package/src/templates/chat/.agents/skills/turn-into-skill/SKILL.md +112 -0
  471. package/src/templates/chat/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  472. package/src/templates/chat/app/components/layout/Layout.tsx +1 -1
  473. package/src/templates/chat/app/hooks/use-navigation-state.ts +1 -1
  474. package/src/templates/chat/app/root.tsx +1 -1
  475. package/src/templates/chat/app/routes/agent.tsx +7 -7
  476. package/src/templates/chat/app/routes/extensions._index.tsx +1 -1
  477. package/src/templates/chat/app/routes/settings.$.tsx +1 -0
  478. package/src/templates/chat/app/routes/team.tsx +1 -1
  479. package/src/templates/default/.agents/skills/turn-into-app/SKILL.md +296 -0
  480. package/src/templates/default/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  481. package/src/templates/default/.agents/skills/turn-into-skill/SKILL.md +112 -0
  482. package/src/templates/default/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  483. package/src/templates/headless/.agents/skills/turn-into-app/SKILL.md +296 -0
  484. package/src/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  485. package/src/templates/headless/.agents/skills/turn-into-skill/SKILL.md +112 -0
  486. package/src/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  487. package/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +6 -0
  488. package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +37 -6
  489. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +4 -2
  490. package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +51 -0
  491. package/src/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +296 -0
  492. package/src/templates/workspace-core/.agents/skills/turn-into-app/agents/openai.yaml +4 -0
  493. package/src/templates/workspace-core/.agents/skills/turn-into-skill/SKILL.md +112 -0
  494. package/src/templates/workspace-core/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  495. package/src/templates/workspace-root/AGENTS.md +7 -0
  496. package/corpus/templates/analytics/.agents/skills/dashboard-management/references/template-catalog-and-demo.md +0 -62
  497. package/corpus/templates/analytics/actions/install-dashboard-template.ts +0 -369
  498. package/corpus/templates/analytics/actions/list-dashboard-templates.ts +0 -47
  499. package/corpus/templates/analytics/actions/list-native-v2-dashboard-templates.ts +0 -34
  500. package/corpus/templates/analytics/app/routes/catalog.tsx +0 -240
  501. package/src/templates/default/actions/navigate.spec.ts +0 -53
@@ -19,7 +19,6 @@ const enUS = {
19
19
  monitoringErrors: "Errors",
20
20
  admin: "Admin",
21
21
  agents: "Agents",
22
- templateCatalog: "Catalog",
23
22
  dashboards: "Dashboards",
24
23
  analyses: "Analyses",
25
24
  explorer: "Explorer",
@@ -28,6 +27,7 @@ const enUS = {
28
27
  navigation: "Navigation",
29
28
  openNavigation: "Open navigation",
30
29
  loadingDashboardTitle: "Loading dashboard title",
30
+ templateCatalog: "Catalog",
31
31
  },
32
32
  dashboardHeader: {
33
33
  updated: "Updated {{date}}",
@@ -188,10 +188,6 @@ const enUS = {
188
188
  credentialsDescription:
189
189
  "API keys and credentials are managed on the Data Sources page.",
190
190
  manageDataSources: "Manage Data Sources",
191
- dashboardTemplates: "Dashboard templates",
192
- dashboardTemplatesDescription:
193
- "Install a source-controlled dashboard when you need a starting point.",
194
- openDashboardTemplates: "Open catalog",
195
191
  languageTitle: "Language",
196
192
  languageLabel: "Interface language",
197
193
  errorEmailNotifications: "Email new error alerts",
@@ -202,11 +198,6 @@ const enUS = {
202
198
  bellSoundDescription:
203
199
  "Play a sound when the agent finishes a run. Off by default.",
204
200
  bellSoundSaveFailed: "Couldn't save the sound preference.",
205
- about: "About",
206
- aboutDescription:
207
- "Analytics is a tool for connecting data sources and building custom dashboards. Connect Google Analytics, BigQuery, Stripe, and more, then ask the agent to create dashboards.",
208
- aboutUsage:
209
- "Use the Data Sources page to manage connections. Use the Query Explorer for ad-hoc BigQuery SQL.",
210
201
  replayStorage: "Session replay storage",
211
202
  replayStorageDescription:
212
203
  "Session replay recordings need a configured file-upload provider. Connect Builder.io for free-tier object storage, or use your own S3-compatible bucket.",
@@ -461,8 +452,8 @@ const enUS = {
461
452
  visibilityorg: "Shared with org",
462
453
  visibilitypublic: "Public",
463
454
  advanced: "Advanced",
464
- database: "App Databases",
465
455
  openCatalog: "Open catalog",
456
+ database: "App Databases",
466
457
  dbConnectionsTitle: "Connected app databases",
467
458
  dbConnectionsDescription:
468
459
  "Connect other agent-native app databases for admin-only inspection and repair. This does not expose Analytics data to every user.",
@@ -963,6 +954,73 @@ const enUS = {
963
954
  configuredCount: "{{count}} configured",
964
955
  searchPlaceholder: "Search data sources...",
965
956
  noMatch: 'No data sources match "{{search}}"',
957
+ customApi: {
958
+ title: "Custom API",
959
+ description:
960
+ "Connect an API endpoint and query its data in Analytics. Use a public HTTPS endpoint; hosted Analytics cannot reach localhost.",
961
+ expand: "Expand",
962
+ collapse: "Collapse",
963
+ endpointLabel: "Endpoint URL",
964
+ endpointPlaceholder: "https://api.example.com/v1/data",
965
+ methodLabel: "HTTP method",
966
+ authLabel: "Authentication",
967
+ authNone: "No authentication",
968
+ authApiKey: "API key",
969
+ authBearer: "Bearer token",
970
+ apiKeyLabel: "API key",
971
+ apiKeyPlaceholder: "Enter API key",
972
+ bearerTokenLabel: "Bearer token",
973
+ bearerTokenPlaceholder: "Enter bearer token",
974
+ setup: "Set up connection",
975
+ save: "Save connection",
976
+ test: "Test connection",
977
+ testing: "Testing connection…",
978
+ saving: "Saving connection…",
979
+ settingsKeyGuidance:
980
+ "Store secrets in Settings to reuse this connection.",
981
+ openSettings: "Open Settings",
982
+ connectionResult: "Connection result",
983
+ sampleResponse: "Sample response",
984
+ handoffButton: "Ask the agent to finish setup",
985
+ handoffPrompt: "Help me finish setting up this Custom API connection.",
986
+ requiredEndpoint: "Enter an endpoint URL.",
987
+ invalidEndpoint: "Enter a valid HTTP or HTTPS URL.",
988
+ requiredCredential:
989
+ "Enter the credential for this authentication method.",
990
+ testFailed: "Connection test failed. Check the endpoint and credentials.",
991
+ saveFailed: "Could not save this connection. Try again.",
992
+ authBasic: "Basic authentication",
993
+ invalidQuery: "Enter valid JSON query parameters.",
994
+ registerError: "Could not register this API.",
995
+ testError: "Could not test this API.",
996
+ agentPrompt: "Save this Custom API query as a reusable data program.",
997
+ keyHint: "Credential key:",
998
+ register: "Register API",
999
+ unknown: "Unknown",
1000
+ rowCount: "Rows",
1001
+ columns: "Columns",
1002
+ fields: {
1003
+ label: "Name",
1004
+ baseUrl: "Base URL",
1005
+ path: "Query path",
1006
+ query: "Query parameters",
1007
+ itemsPath: "Items path",
1008
+ docsUrl: "Documentation URL",
1009
+ authType: "Authentication type",
1010
+ usernameKey: "Username key",
1011
+ passwordKey: "Password key",
1012
+ credentialKey: "Credential key",
1013
+ headerName: "Header name",
1014
+ },
1015
+ placeholders: {
1016
+ label: "e.g. Weather API",
1017
+ baseUrl: "https://api.example.com",
1018
+ path: "/v1/forecast",
1019
+ query: '{ "limit": 100 }',
1020
+ itemsPath: "e.g. data.items",
1021
+ docsUrl: "https://docs.example.com",
1022
+ },
1023
+ },
966
1024
  },
967
1025
  analyticsBackend: {
968
1026
  recommendationTitle: "Use an external analytics backend for heavy history",
@@ -1469,6 +1527,71 @@ const analyticsSliceTranslations: {
1469
1527
  configuredCount: "{{count}}已配置",
1470
1528
  searchPlaceholder: "搜索数据源...",
1471
1529
  noMatch: "没有数据源匹配“{{search}}”",
1530
+ customApi: {
1531
+ title: "自定义 API",
1532
+ description:
1533
+ "连接 API 端点并在 Analytics 中查询数据。请使用公开 HTTPS 端点;托管版 Analytics 无法访问 localhost。",
1534
+ expand: "展开",
1535
+ collapse: "收起",
1536
+ endpointLabel: "端点 URL",
1537
+ endpointPlaceholder: "https://api.example.com/v1/data",
1538
+ methodLabel: "HTTP 方法",
1539
+ authLabel: "身份验证",
1540
+ authNone: "无需身份验证",
1541
+ authApiKey: "API 密钥",
1542
+ authBearer: "Bearer 令牌",
1543
+ apiKeyLabel: "API 密钥",
1544
+ apiKeyPlaceholder: "输入 API 密钥",
1545
+ bearerTokenLabel: "Bearer 令牌",
1546
+ bearerTokenPlaceholder: "输入 Bearer 令牌",
1547
+ setup: "设置连接",
1548
+ save: "保存连接",
1549
+ test: "测试连接",
1550
+ testing: "正在测试连接…",
1551
+ saving: "正在保存连接…",
1552
+ settingsKeyGuidance: "在设置中保存密钥,以便重复使用此连接。",
1553
+ openSettings: "打开设置",
1554
+ connectionResult: "连接结果",
1555
+ sampleResponse: "示例响应",
1556
+ handoffButton: "请代理完成设置",
1557
+ handoffPrompt: "帮我完成这个自定义 API 连接的设置。",
1558
+ requiredEndpoint: "请输入端点 URL。",
1559
+ invalidEndpoint: "请输入有效的 HTTP 或 HTTPS URL。",
1560
+ requiredCredential: "请输入此身份验证方式的凭据。",
1561
+ testFailed: "连接测试失败。请检查端点和凭据。",
1562
+ saveFailed: "无法保存连接,请重试。",
1563
+ authBasic: "基本身份验证",
1564
+ invalidQuery: "请输入有效的 JSON 查询参数。",
1565
+ registerError: "无法注册此 API。",
1566
+ testError: "无法测试此 API。",
1567
+ agentPrompt: "将此自定义 API 查询保存为可重复使用的数据程序。",
1568
+ keyHint: "凭据密钥:",
1569
+ register: "注册 API",
1570
+ unknown: "未知",
1571
+ rowCount: "行数",
1572
+ columns: "列",
1573
+ fields: {
1574
+ label: "名称",
1575
+ baseUrl: "基础 URL",
1576
+ path: "查询路径",
1577
+ query: "查询参数",
1578
+ itemsPath: "项目路径",
1579
+ docsUrl: "文档 URL",
1580
+ authType: "身份验证类型",
1581
+ usernameKey: "用户名密钥",
1582
+ passwordKey: "密码密钥",
1583
+ credentialKey: "凭据密钥",
1584
+ headerName: "标头名称",
1585
+ },
1586
+ placeholders: {
1587
+ label: "例如天气 API",
1588
+ baseUrl: "例如 https://api.example.com",
1589
+ path: "例如 /v1/forecast",
1590
+ query: '例如 { "limit": 100 }',
1591
+ itemsPath: "例如 data.items",
1592
+ docsUrl: "例如 https://docs.example.com",
1593
+ },
1594
+ },
1472
1595
  },
1473
1596
  panelEditor: {
1474
1597
  chartTypeLine: "线",
@@ -1789,6 +1912,75 @@ const analyticsSliceTranslations: {
1789
1912
  configuredCount: "{{count}} configurado",
1790
1913
  searchPlaceholder: "Buscar fuentes de datos...",
1791
1914
  noMatch: 'Ninguna fuente de datos coincide con "{{search}}"',
1915
+ customApi: {
1916
+ title: "API personalizada",
1917
+ description:
1918
+ "Conecta un endpoint API y consulta sus datos en Analytics. Usa un endpoint HTTPS público; Analytics alojado no puede acceder a localhost.",
1919
+ expand: "Expandir",
1920
+ collapse: "Contraer",
1921
+ endpointLabel: "URL del endpoint",
1922
+ endpointPlaceholder: "https://api.example.com/v1/data",
1923
+ methodLabel: "Método HTTP",
1924
+ authLabel: "Autenticación",
1925
+ authNone: "Sin autenticación",
1926
+ authApiKey: "Clave API",
1927
+ authBearer: "Token Bearer",
1928
+ apiKeyLabel: "Clave API",
1929
+ apiKeyPlaceholder: "Introduce la clave API",
1930
+ bearerTokenLabel: "Token Bearer",
1931
+ bearerTokenPlaceholder: "Introduce el token Bearer",
1932
+ setup: "Configurar conexión",
1933
+ save: "Guardar conexión",
1934
+ test: "Probar conexión",
1935
+ testing: "Probando conexión…",
1936
+ saving: "Guardando conexión…",
1937
+ settingsKeyGuidance:
1938
+ "Guarda los secretos en Configuración para reutilizar esta conexión.",
1939
+ openSettings: "Abrir configuración",
1940
+ connectionResult: "Resultado de conexión",
1941
+ sampleResponse: "Respuesta de ejemplo",
1942
+ handoffButton: "Pedir al agente que termine",
1943
+ handoffPrompt:
1944
+ "Ayúdame a terminar de configurar esta conexión de API personalizada.",
1945
+ requiredEndpoint: "Introduce una URL de endpoint.",
1946
+ invalidEndpoint: "Introduce una URL HTTP o HTTPS válida.",
1947
+ requiredCredential:
1948
+ "Introduce la credencial de este método de autenticación.",
1949
+ testFailed: "La prueba falló. Revisa el endpoint y las credenciales.",
1950
+ saveFailed: "No se pudo guardar la conexión. Inténtalo de nuevo.",
1951
+ authBasic: "Autenticación básica",
1952
+ invalidQuery: "Introduce parámetros JSON válidos.",
1953
+ registerError: "No se pudo registrar esta API.",
1954
+ testError: "No se pudo probar esta API.",
1955
+ agentPrompt:
1956
+ "Guarda esta consulta de API personalizada como un programa de datos reutilizable.",
1957
+ keyHint: "Clave de credencial:",
1958
+ register: "Registrar API",
1959
+ unknown: "Desconocido",
1960
+ rowCount: "Filas",
1961
+ columns: "Columnas",
1962
+ fields: {
1963
+ label: "Nombre",
1964
+ baseUrl: "URL base",
1965
+ path: "Ruta de consulta",
1966
+ query: "Parámetros de consulta",
1967
+ itemsPath: "Ruta de elementos",
1968
+ docsUrl: "URL de documentación",
1969
+ authType: "Tipo de autenticación",
1970
+ usernameKey: "Clave de usuario",
1971
+ passwordKey: "Clave de contraseña",
1972
+ credentialKey: "Clave de credencial",
1973
+ headerName: "Nombre del encabezado",
1974
+ },
1975
+ placeholders: {
1976
+ label: "p. ej., API del tiempo",
1977
+ baseUrl: "p. ej., https://api.example.com",
1978
+ path: "p. ej., /v1/forecast",
1979
+ query: 'p. ej., { "limit": 100 }',
1980
+ itemsPath: "p. ej., data.items",
1981
+ docsUrl: "p. ej., https://docs.example.com",
1982
+ },
1983
+ },
1792
1984
  },
1793
1985
  panelEditor: {
1794
1986
  chartTypeLine: "Línea",
@@ -2126,6 +2318,75 @@ const analyticsSliceTranslations: {
2126
2318
  configuredCount: "{{count}} configuré",
2127
2319
  searchPlaceholder: "Rechercher des sources de données...",
2128
2320
  noMatch: 'Aucune source de données ne correspond à "{{search}}"',
2321
+ customApi: {
2322
+ title: "API personnalisée",
2323
+ description:
2324
+ "Connectez un endpoint API et interrogez ses données dans Analytics. Utilisez un endpoint HTTPS public ; Analytics hébergé ne peut pas accéder à localhost.",
2325
+ expand: "Développer",
2326
+ collapse: "Réduire",
2327
+ endpointLabel: "URL de l’endpoint",
2328
+ endpointPlaceholder: "https://api.example.com/v1/data",
2329
+ methodLabel: "Méthode HTTP",
2330
+ authLabel: "Authentification",
2331
+ authNone: "Aucune authentification",
2332
+ authApiKey: "Clé API",
2333
+ authBearer: "Jeton Bearer",
2334
+ apiKeyLabel: "Clé API",
2335
+ apiKeyPlaceholder: "Saisissez la clé API",
2336
+ bearerTokenLabel: "Jeton Bearer",
2337
+ bearerTokenPlaceholder: "Saisissez le jeton Bearer",
2338
+ setup: "Configurer la connexion",
2339
+ save: "Enregistrer la connexion",
2340
+ test: "Tester la connexion",
2341
+ testing: "Test de la connexion…",
2342
+ saving: "Enregistrement…",
2343
+ settingsKeyGuidance:
2344
+ "Enregistrez les secrets dans Paramètres pour réutiliser cette connexion.",
2345
+ openSettings: "Ouvrir les paramètres",
2346
+ connectionResult: "Résultat de la connexion",
2347
+ sampleResponse: "Réponse exemple",
2348
+ handoffButton: "Demander à l’agent de terminer",
2349
+ handoffPrompt:
2350
+ "Aidez-moi à terminer la configuration de cette connexion API personnalisée.",
2351
+ requiredEndpoint: "Saisissez une URL d’endpoint.",
2352
+ invalidEndpoint: "Saisissez une URL HTTP ou HTTPS valide.",
2353
+ requiredCredential:
2354
+ "Saisissez l’identifiant requis pour cette authentification.",
2355
+ testFailed: "Échec du test. Vérifiez l’endpoint et les identifiants.",
2356
+ saveFailed: "Impossible d’enregistrer la connexion. Réessayez.",
2357
+ authBasic: "Authentification de base",
2358
+ invalidQuery: "Saisissez des paramètres JSON valides.",
2359
+ registerError: "Impossible d’enregistrer cette API.",
2360
+ testError: "Impossible de tester cette API.",
2361
+ agentPrompt:
2362
+ "Enregistrez cette requête d’API personnalisée comme programme de données réutilisable.",
2363
+ keyHint: "Clé d’identification :",
2364
+ register: "Enregistrer l’API",
2365
+ unknown: "Inconnu",
2366
+ rowCount: "Lignes",
2367
+ columns: "Colonnes",
2368
+ fields: {
2369
+ label: "Nom",
2370
+ baseUrl: "URL de base",
2371
+ path: "Chemin de requête",
2372
+ query: "Paramètres de requête",
2373
+ itemsPath: "Chemin des éléments",
2374
+ docsUrl: "URL de documentation",
2375
+ authType: "Type d’authentification",
2376
+ usernameKey: "Clé du nom d’utilisateur",
2377
+ passwordKey: "Clé du mot de passe",
2378
+ credentialKey: "Clé d’identification",
2379
+ headerName: "Nom de l’en-tête",
2380
+ },
2381
+ placeholders: {
2382
+ label: "ex. API météo",
2383
+ baseUrl: "ex. https://api.example.com",
2384
+ path: "ex. /v1/forecast",
2385
+ query: 'ex. { "limit": 100 }',
2386
+ itemsPath: "ex. data.items",
2387
+ docsUrl: "ex. https://docs.example.com",
2388
+ },
2389
+ },
2129
2390
  },
2130
2391
  panelEditor: {
2131
2392
  chartTypeLine: "Doubler",
@@ -2461,6 +2722,77 @@ const analyticsSliceTranslations: {
2461
2722
  configuredCount: "{{count}} konfiguriert",
2462
2723
  searchPlaceholder: "Datenquellen durchsuchen...",
2463
2724
  noMatch: "Keine Datenquelle entspricht „{{search}}“",
2725
+ customApi: {
2726
+ title: "Benutzerdefinierte API",
2727
+ description:
2728
+ "Verbinde einen API-Endpunkt und frage seine Daten in Analytics ab. Verwende einen öffentlichen HTTPS-Endpunkt; gehostetes Analytics kann localhost nicht erreichen.",
2729
+ expand: "Aufklappen",
2730
+ collapse: "Zuklappen",
2731
+ endpointLabel: "Endpunkt-URL",
2732
+ endpointPlaceholder: "https://api.example.com/v1/data",
2733
+ methodLabel: "HTTP-Methode",
2734
+ authLabel: "Authentifizierung",
2735
+ authNone: "Keine Authentifizierung",
2736
+ authApiKey: "API-Schlüssel",
2737
+ authBearer: "Bearer-Token",
2738
+ apiKeyLabel: "API-Schlüssel",
2739
+ apiKeyPlaceholder: "API-Schlüssel eingeben",
2740
+ bearerTokenLabel: "Bearer-Token",
2741
+ bearerTokenPlaceholder: "Bearer-Token eingeben",
2742
+ setup: "Verbindung einrichten",
2743
+ save: "Verbindung speichern",
2744
+ test: "Verbindung testen",
2745
+ testing: "Verbindung wird getestet…",
2746
+ saving: "Verbindung wird gespeichert…",
2747
+ settingsKeyGuidance:
2748
+ "Speichere Geheimnisse in den Einstellungen, um diese Verbindung wiederzuverwenden.",
2749
+ openSettings: "Einstellungen öffnen",
2750
+ connectionResult: "Verbindungsergebnis",
2751
+ sampleResponse: "Beispielantwort",
2752
+ handoffButton: "Agenten Einrichtung abschließen lassen",
2753
+ handoffPrompt:
2754
+ "Hilf mir, diese benutzerdefinierte API-Verbindung einzurichten.",
2755
+ requiredEndpoint: "Gib eine Endpunkt-URL ein.",
2756
+ invalidEndpoint: "Gib eine gültige HTTP- oder HTTPS-URL ein.",
2757
+ requiredCredential:
2758
+ "Gib die Anmeldedaten für diese Authentifizierung ein.",
2759
+ testFailed:
2760
+ "Verbindungstest fehlgeschlagen. Prüfe Endpunkt und Anmeldedaten.",
2761
+ saveFailed:
2762
+ "Verbindung konnte nicht gespeichert werden. Versuche es erneut.",
2763
+ authBasic: "Basisauthentifizierung",
2764
+ invalidQuery: "Gib gültige JSON-Abfrageparameter ein.",
2765
+ registerError: "Diese API konnte nicht registriert werden.",
2766
+ testError: "Diese API konnte nicht getestet werden.",
2767
+ agentPrompt:
2768
+ "Speichere diese benutzerdefinierte API-Abfrage als wiederverwendbares Datenprogramm.",
2769
+ keyHint: "Berechtigungsschlüssel:",
2770
+ register: "API registrieren",
2771
+ unknown: "Unbekannt",
2772
+ rowCount: "Zeilen",
2773
+ columns: "Spalten",
2774
+ fields: {
2775
+ label: "Name",
2776
+ baseUrl: "Basis-URL",
2777
+ path: "Abfragepfad",
2778
+ query: "Abfrageparameter",
2779
+ itemsPath: "Elementpfad",
2780
+ docsUrl: "Dokumentations-URL",
2781
+ authType: "Authentifizierungstyp",
2782
+ usernameKey: "Benutzerschlüssel",
2783
+ passwordKey: "Passwortschlüssel",
2784
+ credentialKey: "Berechtigungsschlüssel",
2785
+ headerName: "Headername",
2786
+ },
2787
+ placeholders: {
2788
+ label: "z. B. Wetter-API",
2789
+ baseUrl: "z. B. https://api.example.com",
2790
+ path: "z. B. /v1/forecast",
2791
+ query: 'z. B. { "limit": 100 }',
2792
+ itemsPath: "z. B. data.items",
2793
+ docsUrl: "z. B. https://docs.example.com",
2794
+ },
2795
+ },
2464
2796
  },
2465
2797
  panelEditor: {
2466
2798
  chartTypeLine: "Linie",
@@ -2791,6 +3123,75 @@ const analyticsSliceTranslations: {
2791
3123
  configuredCount: "{{count}}設定済み",
2792
3124
  searchPlaceholder: "データソースを検索...",
2793
3125
  noMatch: "「{{search}}」に一致するデータ ソースはありません",
3126
+ customApi: {
3127
+ title: "カスタム API",
3128
+ description:
3129
+ "API エンドポイントを接続し、Analytics でデータをクエリします。公開 HTTPS エンドポイントを使用してください。ホスト型 Analytics から localhost には接続できません。",
3130
+ expand: "展開",
3131
+ collapse: "折りたたむ",
3132
+ endpointLabel: "エンドポイント URL",
3133
+ endpointPlaceholder: "https://api.example.com/v1/data",
3134
+ methodLabel: "HTTP メソッド",
3135
+ authLabel: "認証",
3136
+ authNone: "認証なし",
3137
+ authApiKey: "API キー",
3138
+ authBearer: "Bearer トークン",
3139
+ apiKeyLabel: "API キー",
3140
+ apiKeyPlaceholder: "API キーを入力",
3141
+ bearerTokenLabel: "Bearer トークン",
3142
+ bearerTokenPlaceholder: "Bearer トークンを入力",
3143
+ setup: "接続を設定",
3144
+ save: "接続を保存",
3145
+ test: "接続をテスト",
3146
+ testing: "接続をテスト中…",
3147
+ saving: "接続を保存中…",
3148
+ settingsKeyGuidance:
3149
+ "設定にシークレットを保存すると、この接続を再利用できます。",
3150
+ openSettings: "設定を開く",
3151
+ connectionResult: "接続結果",
3152
+ sampleResponse: "レスポンス例",
3153
+ handoffButton: "エージェントに設定を任せる",
3154
+ handoffPrompt:
3155
+ "このカスタム API 接続の設定を完了するのを手伝ってください。",
3156
+ requiredEndpoint: "エンドポイント URL を入力してください。",
3157
+ invalidEndpoint: "有効な HTTP または HTTPS URL を入力してください。",
3158
+ requiredCredential: "この認証方式の認証情報を入力してください。",
3159
+ testFailed:
3160
+ "接続テストに失敗しました。エンドポイントと認証情報を確認してください。",
3161
+ saveFailed: "接続を保存できませんでした。もう一度お試しください。",
3162
+ authBasic: "Basic 認証",
3163
+ invalidQuery: "有効な JSON クエリパラメーターを入力してください。",
3164
+ registerError: "この API を登録できませんでした。",
3165
+ testError: "この API をテストできませんでした。",
3166
+ agentPrompt:
3167
+ "このカスタム API クエリを再利用可能なデータプログラムとして保存してください。",
3168
+ keyHint: "認証情報キー:",
3169
+ register: "API を登録",
3170
+ unknown: "不明",
3171
+ rowCount: "行",
3172
+ columns: "列",
3173
+ fields: {
3174
+ label: "名前",
3175
+ baseUrl: "ベース URL",
3176
+ path: "クエリパス",
3177
+ query: "クエリパラメーター",
3178
+ itemsPath: "項目パス",
3179
+ docsUrl: "ドキュメント URL",
3180
+ authType: "認証タイプ",
3181
+ usernameKey: "ユーザー名キー",
3182
+ passwordKey: "パスワードキー",
3183
+ credentialKey: "認証情報キー",
3184
+ headerName: "ヘッダー名",
3185
+ },
3186
+ placeholders: {
3187
+ label: "例:天気 API",
3188
+ baseUrl: "例:https://api.example.com",
3189
+ path: "例:/v1/forecast",
3190
+ query: '例:{ "limit": 100 }',
3191
+ itemsPath: "例:data.items",
3192
+ docsUrl: "例:https://docs.example.com",
3193
+ },
3194
+ },
2794
3195
  },
2795
3196
  panelEditor: {
2796
3197
  chartTypeLine: "ライン",
@@ -3116,6 +3517,74 @@ const analyticsSliceTranslations: {
3116
3517
  configuredCount: "{{count}} 구성됨",
3117
3518
  searchPlaceholder: "데이터 소스 검색...",
3118
3519
  noMatch: '"{{search}}"와 일치하는 데이터 소스가 없습니다.',
3520
+ customApi: {
3521
+ title: "사용자 지정 API",
3522
+ description:
3523
+ "API 엔드포인트를 연결하고 Analytics에서 데이터를 조회합니다. 공개 HTTPS 엔드포인트를 사용하세요. 호스팅된 Analytics에서는 localhost에 연결할 수 없습니다.",
3524
+ expand: "펼치기",
3525
+ collapse: "접기",
3526
+ endpointLabel: "엔드포인트 URL",
3527
+ endpointPlaceholder: "https://api.example.com/v1/data",
3528
+ methodLabel: "HTTP 메서드",
3529
+ authLabel: "인증",
3530
+ authNone: "인증 없음",
3531
+ authApiKey: "API 키",
3532
+ authBearer: "Bearer 토큰",
3533
+ apiKeyLabel: "API 키",
3534
+ apiKeyPlaceholder: "API 키 입력",
3535
+ bearerTokenLabel: "Bearer 토큰",
3536
+ bearerTokenPlaceholder: "Bearer 토큰 입력",
3537
+ setup: "연결 설정",
3538
+ save: "연결 저장",
3539
+ test: "연결 테스트",
3540
+ testing: "연결 테스트 중…",
3541
+ saving: "연결 저장 중…",
3542
+ settingsKeyGuidance:
3543
+ "설정에 비밀 키를 저장하면 이 연결을 재사용할 수 있습니다.",
3544
+ openSettings: "설정 열기",
3545
+ connectionResult: "연결 결과",
3546
+ sampleResponse: "샘플 응답",
3547
+ handoffButton: "에이전트에게 설정 완료 요청",
3548
+ handoffPrompt: "이 사용자 지정 API 연결 설정을 완료하도록 도와주세요.",
3549
+ requiredEndpoint: "엔드포인트 URL을 입력하세요.",
3550
+ invalidEndpoint: "유효한 HTTP 또는 HTTPS URL을 입력하세요.",
3551
+ requiredCredential: "이 인증 방식에 사용할 자격 증명을 입력하세요.",
3552
+ testFailed:
3553
+ "연결 테스트에 실패했습니다. 엔드포인트와 자격 증명을 확인하세요.",
3554
+ saveFailed: "연결을 저장하지 못했습니다. 다시 시도하세요.",
3555
+ authBasic: "기본 인증",
3556
+ invalidQuery: "유효한 JSON 쿼리 매개변수를 입력하세요.",
3557
+ registerError: "이 API를 등록할 수 없습니다.",
3558
+ testError: "이 API를 테스트할 수 없습니다.",
3559
+ agentPrompt:
3560
+ "이 사용자 지정 API 쿼리를 재사용 가능한 데이터 프로그램으로 저장하세요.",
3561
+ keyHint: "자격 증명 키:",
3562
+ register: "API 등록",
3563
+ unknown: "알 수 없음",
3564
+ rowCount: "행",
3565
+ columns: "열",
3566
+ fields: {
3567
+ label: "이름",
3568
+ baseUrl: "기본 URL",
3569
+ path: "쿼리 경로",
3570
+ query: "쿼리 매개변수",
3571
+ itemsPath: "항목 경로",
3572
+ docsUrl: "문서 URL",
3573
+ authType: "인증 유형",
3574
+ usernameKey: "사용자 이름 키",
3575
+ passwordKey: "비밀번호 키",
3576
+ credentialKey: "자격 증명 키",
3577
+ headerName: "헤더 이름",
3578
+ },
3579
+ placeholders: {
3580
+ label: "예: 날씨 API",
3581
+ baseUrl: "예: https://api.example.com",
3582
+ path: "예: /v1/forecast",
3583
+ query: '예: { "limit": 100 }',
3584
+ itemsPath: "예: data.items",
3585
+ docsUrl: "예: https://docs.example.com",
3586
+ },
3587
+ },
3119
3588
  },
3120
3589
  panelEditor: {
3121
3590
  chartTypeLine: "선",
@@ -3441,6 +3910,74 @@ const analyticsSliceTranslations: {
3441
3910
  configuredCount: "{{count}} configurado",
3442
3911
  searchPlaceholder: "Pesquisar fontes de dados...",
3443
3912
  noMatch: 'Nenhuma fonte de dados corresponde a "{{search}}"',
3913
+ customApi: {
3914
+ title: "API personalizada",
3915
+ description:
3916
+ "Conecte um endpoint de API e consulte seus dados no Analytics. Use um endpoint HTTPS público; o Analytics hospedado não pode acessar localhost.",
3917
+ expand: "Expandir",
3918
+ collapse: "Recolher",
3919
+ endpointLabel: "URL do endpoint",
3920
+ endpointPlaceholder: "https://api.example.com/v1/data",
3921
+ methodLabel: "Método HTTP",
3922
+ authLabel: "Autenticação",
3923
+ authNone: "Sem autenticação",
3924
+ authApiKey: "Chave de API",
3925
+ authBearer: "Token Bearer",
3926
+ apiKeyLabel: "Chave de API",
3927
+ apiKeyPlaceholder: "Insira a chave de API",
3928
+ bearerTokenLabel: "Token Bearer",
3929
+ bearerTokenPlaceholder: "Insira o token Bearer",
3930
+ setup: "Configurar conexão",
3931
+ save: "Salvar conexão",
3932
+ test: "Testar conexão",
3933
+ testing: "Testando conexão…",
3934
+ saving: "Salvando conexão…",
3935
+ settingsKeyGuidance:
3936
+ "Salve os segredos em Configurações para reutilizar esta conexão.",
3937
+ openSettings: "Abrir Configurações",
3938
+ connectionResult: "Resultado da conexão",
3939
+ sampleResponse: "Resposta de exemplo",
3940
+ handoffButton: "Pedir ao agente para concluir",
3941
+ handoffPrompt:
3942
+ "Ajude-me a concluir a configuração desta conexão de API personalizada.",
3943
+ requiredEndpoint: "Insira uma URL de endpoint.",
3944
+ invalidEndpoint: "Insira uma URL HTTP ou HTTPS válida.",
3945
+ requiredCredential: "Insira a credencial deste método de autenticação.",
3946
+ testFailed: "O teste falhou. Verifique o endpoint e as credenciais.",
3947
+ saveFailed: "Não foi possível salvar a conexão. Tente novamente.",
3948
+ authBasic: "Autenticação básica",
3949
+ invalidQuery: "Insira parâmetros JSON válidos.",
3950
+ registerError: "Não foi possível registrar esta API.",
3951
+ testError: "Não foi possível testar esta API.",
3952
+ agentPrompt:
3953
+ "Salve esta consulta de API personalizada como um programa de dados reutilizável.",
3954
+ keyHint: "Chave da credencial:",
3955
+ register: "Registrar API",
3956
+ unknown: "Desconhecido",
3957
+ rowCount: "Linhas",
3958
+ columns: "Colunas",
3959
+ fields: {
3960
+ label: "Nome",
3961
+ baseUrl: "URL base",
3962
+ path: "Caminho da consulta",
3963
+ query: "Parâmetros da consulta",
3964
+ itemsPath: "Caminho dos itens",
3965
+ docsUrl: "URL da documentação",
3966
+ authType: "Tipo de autenticação",
3967
+ usernameKey: "Chave do usuário",
3968
+ passwordKey: "Chave da senha",
3969
+ credentialKey: "Chave da credencial",
3970
+ headerName: "Nome do cabeçalho",
3971
+ },
3972
+ placeholders: {
3973
+ label: "ex.: API de clima",
3974
+ baseUrl: "ex.: https://api.example.com",
3975
+ path: "ex.: /v1/forecast",
3976
+ query: 'ex.: { "limit": 100 }',
3977
+ itemsPath: "ex.: data.items",
3978
+ docsUrl: "ex.: https://docs.example.com",
3979
+ },
3980
+ },
3444
3981
  },
3445
3982
  panelEditor: {
3446
3983
  chartTypeLine: "Linha",
@@ -3767,6 +4304,73 @@ const analyticsSliceTranslations: {
3767
4304
  configuredCount: "{{count}} कॉन्फ़िगर किया गया",
3768
4305
  searchPlaceholder: "डेटा स्रोत खोजें...",
3769
4306
  noMatch: 'कोई डेटा स्रोत "{{search}}" से मेल नहीं खाता',
4307
+ customApi: {
4308
+ title: "कस्टम API",
4309
+ description:
4310
+ "API एंडपॉइंट कनेक्ट करें और Analytics में उसका डेटा क्वेरी करें। सार्वजनिक HTTPS एंडपॉइंट का उपयोग करें; होस्टेड Analytics localhost तक नहीं पहुँच सकता।",
4311
+ expand: "विस्तार करें",
4312
+ collapse: "समेटें",
4313
+ endpointLabel: "एंडपॉइंट URL",
4314
+ endpointPlaceholder: "https://api.example.com/v1/data",
4315
+ methodLabel: "HTTP विधि",
4316
+ authLabel: "प्रमाणीकरण",
4317
+ authNone: "कोई प्रमाणीकरण नहीं",
4318
+ authApiKey: "API कुंजी",
4319
+ authBearer: "Bearer टोकन",
4320
+ apiKeyLabel: "API कुंजी",
4321
+ apiKeyPlaceholder: "API कुंजी दर्ज करें",
4322
+ bearerTokenLabel: "Bearer टोकन",
4323
+ bearerTokenPlaceholder: "Bearer टोकन दर्ज करें",
4324
+ setup: "कनेक्शन सेट अप करें",
4325
+ save: "कनेक्शन सहेजें",
4326
+ test: "कनेक्शन जाँचें",
4327
+ testing: "कनेक्शन जाँचा जा रहा है…",
4328
+ saving: "कनेक्शन सहेजा जा रहा है…",
4329
+ settingsKeyGuidance:
4330
+ "इस कनेक्शन का फिर उपयोग करने के लिए सीक्रेट Settings में सहेजें।",
4331
+ openSettings: "Settings खोलें",
4332
+ connectionResult: "कनेक्शन परिणाम",
4333
+ sampleResponse: "नमूना प्रतिक्रिया",
4334
+ handoffButton: "एजेंट से सेटअप पूरा करवाएँ",
4335
+ handoffPrompt: "इस कस्टम API कनेक्शन का सेटअप पूरा करने में मेरी मदद करें।",
4336
+ requiredEndpoint: "एंडपॉइंट URL दर्ज करें।",
4337
+ invalidEndpoint: "मान्य HTTP या HTTPS URL दर्ज करें।",
4338
+ requiredCredential: "इस प्रमाणीकरण विधि की क्रेडेंशियल दर्ज करें।",
4339
+ testFailed: "कनेक्शन जाँच विफल हुई। एंडपॉइंट और क्रेडेंशियल जाँचें।",
4340
+ saveFailed: "कनेक्शन सहेजा नहीं जा सका। फिर प्रयास करें।",
4341
+ authBasic: "बेसिक प्रमाणीकरण",
4342
+ invalidQuery: "मान्य JSON क्वेरी पैरामीटर दर्ज करें।",
4343
+ registerError: "इस API को पंजीकृत नहीं किया जा सका।",
4344
+ testError: "इस API का परीक्षण नहीं किया जा सका।",
4345
+ agentPrompt:
4346
+ "इस कस्टम API क्वेरी को पुन: उपयोग योग्य डेटा प्रोग्राम के रूप में सहेजें।",
4347
+ keyHint: "क्रेडेंशियल कुंजी:",
4348
+ register: "API पंजीकृत करें",
4349
+ unknown: "अज्ञात",
4350
+ rowCount: "पंक्तियाँ",
4351
+ columns: "कॉलम",
4352
+ fields: {
4353
+ label: "नाम",
4354
+ baseUrl: "बेस URL",
4355
+ path: "क्वेरी पथ",
4356
+ query: "क्वेरी पैरामीटर",
4357
+ itemsPath: "आइटम पथ",
4358
+ docsUrl: "दस्तावेज़ URL",
4359
+ authType: "प्रमाणीकरण प्रकार",
4360
+ usernameKey: "उपयोगकर्ता नाम कुंजी",
4361
+ passwordKey: "पासवर्ड कुंजी",
4362
+ credentialKey: "क्रेडेंशियल कुंजी",
4363
+ headerName: "हेडर नाम",
4364
+ },
4365
+ placeholders: {
4366
+ label: "उदा. मौसम API",
4367
+ baseUrl: "उदा. https://api.example.com",
4368
+ path: "उदा. /v1/forecast",
4369
+ query: 'उदा. { "limit": 100 }',
4370
+ itemsPath: "उदा. data.items",
4371
+ docsUrl: "उदा. https://docs.example.com",
4372
+ },
4373
+ },
3770
4374
  },
3771
4375
  panelEditor: {
3772
4376
  chartTypeLine: "रेखा",
@@ -4086,6 +4690,73 @@ const analyticsSliceTranslations: {
4086
4690
  configuredCount: "تكوين {{count}}",
4087
4691
  searchPlaceholder: "البحث في مصادر البيانات...",
4088
4692
  noMatch: 'لا توجد مصادر بيانات تطابق "{{search}}"',
4693
+ customApi: {
4694
+ title: "واجهة API مخصصة",
4695
+ description:
4696
+ "صِل نقطة نهاية API واستعلم عن بياناتها في Analytics. استخدم نقطة نهاية HTTPS عامة؛ لا يمكن لـ Analytics المستضاف الوصول إلى localhost.",
4697
+ expand: "توسيع",
4698
+ collapse: "طي",
4699
+ endpointLabel: "عنوان URL لنقطة النهاية",
4700
+ endpointPlaceholder: "https://api.example.com/v1/data",
4701
+ methodLabel: "طريقة HTTP",
4702
+ authLabel: "المصادقة",
4703
+ authNone: "بلا مصادقة",
4704
+ authApiKey: "مفتاح API",
4705
+ authBearer: "رمز Bearer",
4706
+ apiKeyLabel: "مفتاح API",
4707
+ apiKeyPlaceholder: "أدخل مفتاح API",
4708
+ bearerTokenLabel: "رمز Bearer",
4709
+ bearerTokenPlaceholder: "أدخل رمز Bearer",
4710
+ setup: "إعداد الاتصال",
4711
+ save: "حفظ الاتصال",
4712
+ test: "اختبار الاتصال",
4713
+ testing: "جارٍ اختبار الاتصال…",
4714
+ saving: "جارٍ حفظ الاتصال…",
4715
+ settingsKeyGuidance:
4716
+ "احفظ الأسرار في الإعدادات لإعادة استخدام هذا الاتصال.",
4717
+ openSettings: "فتح الإعدادات",
4718
+ connectionResult: "نتيجة الاتصال",
4719
+ sampleResponse: "استجابة نموذجية",
4720
+ handoffButton: "اطلب من الوكيل إكمال الإعداد",
4721
+ handoffPrompt: "ساعدني في إكمال إعداد اتصال API المخصص هذا.",
4722
+ requiredEndpoint: "أدخل عنوان URL لنقطة النهاية.",
4723
+ invalidEndpoint: "أدخل عنوان URL صالحًا يبدأ بـ HTTP أو HTTPS.",
4724
+ requiredCredential: "أدخل بيانات اعتماد طريقة المصادقة هذه.",
4725
+ testFailed: "فشل اختبار الاتصال. تحقق من نقطة النهاية وبيانات الاعتماد.",
4726
+ saveFailed: "تعذر حفظ الاتصال. حاول مرة أخرى.",
4727
+ authBasic: "مصادقة أساسية",
4728
+ invalidQuery: "أدخل معلمات استعلام JSON صالحة.",
4729
+ registerError: "تعذر تسجيل واجهة API هذه.",
4730
+ testError: "تعذر اختبار واجهة API هذه.",
4731
+ agentPrompt:
4732
+ "احفظ استعلام واجهة API المخصصة هذا كبرنامج بيانات قابل لإعادة الاستخدام.",
4733
+ keyHint: "مفتاح بيانات الاعتماد:",
4734
+ register: "تسجيل واجهة API",
4735
+ unknown: "غير معروف",
4736
+ rowCount: "صفوف",
4737
+ columns: "أعمدة",
4738
+ fields: {
4739
+ label: "الاسم",
4740
+ baseUrl: "عنوان URL الأساسي",
4741
+ path: "مسار الاستعلام",
4742
+ query: "معلمات الاستعلام",
4743
+ itemsPath: "مسار العناصر",
4744
+ docsUrl: "عنوان URL للتوثيق",
4745
+ authType: "نوع المصادقة",
4746
+ usernameKey: "مفتاح اسم المستخدم",
4747
+ passwordKey: "مفتاح كلمة المرور",
4748
+ credentialKey: "مفتاح بيانات الاعتماد",
4749
+ headerName: "اسم الرأس",
4750
+ },
4751
+ placeholders: {
4752
+ label: "مثال: واجهة الطقس",
4753
+ baseUrl: "مثال: https://api.example.com",
4754
+ path: "مثال: /v1/forecast",
4755
+ query: 'مثال: { "limit": 100 }',
4756
+ itemsPath: "مثال: data.items",
4757
+ docsUrl: "مثال: https://docs.example.com",
4758
+ },
4759
+ },
4089
4760
  },
4090
4761
  panelEditor: {
4091
4762
  chartTypeLine: "خط",
@@ -4439,9 +5110,6 @@ export const messagesByLocale = {
4439
5110
  credentials: "数据源凭据",
4440
5111
  credentialsDescription: "API 密钥和凭据在数据源页面管理。",
4441
5112
  manageDataSources: "管理数据源",
4442
- dashboardTemplates: "仪表板模板",
4443
- dashboardTemplatesDescription: "需要起点时,安装受源码管理的仪表板。",
4444
- openDashboardTemplates: "打开目录",
4445
5113
  languageTitle: "语言",
4446
5114
  languageLabel: "界面语言",
4447
5115
  errorEmailNotifications: "通过电子邮件接收新的错误提醒",
@@ -4451,10 +5119,6 @@ export const messagesByLocale = {
4451
5119
  bellSound: "提示音",
4452
5120
  bellSoundDescription: "代理完成运行时播放提示音。默认关闭。",
4453
5121
  bellSoundSaveFailed: "无法保存提示音偏好设置。",
4454
- about: "关于",
4455
- aboutDescription:
4456
- "Analytics 用于连接数据源并构建自定义仪表板。连接 Google Analytics、BigQuery、Stripe 等,然后让代理创建仪表板。",
4457
- aboutUsage: "在数据源页面管理连接。使用查询探索器运行临时 BigQuery SQL。",
4458
5122
  },
4459
5123
  chat: {
4460
5124
  emptyState: "让我分析仪表板、比较趋势或深入查看数据...",
@@ -4663,10 +5327,6 @@ export const messagesByLocale = {
4663
5327
  credentialsDescription:
4664
5328
  "Las claves API y credenciales se gestionan en la página Fuentes de datos.",
4665
5329
  manageDataSources: "Gestionar fuentes de datos",
4666
- dashboardTemplates: "Plantillas de paneles",
4667
- dashboardTemplatesDescription:
4668
- "Instala un panel controlado por código fuente cuando necesites un punto de partida.",
4669
- openDashboardTemplates: "Abrir catálogo",
4670
5330
  languageTitle: "Idioma",
4671
5331
  languageLabel: "Idioma de la interfaz",
4672
5332
  errorEmailNotifications: "Recibir nuevas alertas de errores por email",
@@ -4678,11 +5338,6 @@ export const messagesByLocale = {
4678
5338
  bellSoundDescription:
4679
5339
  "Reproduce un sonido cuando el agente termina una ejecución. Desactivado de forma predeterminada.",
4680
5340
  bellSoundSaveFailed: "No se pudo guardar la preferencia de sonido.",
4681
- about: "Acerca de",
4682
- aboutDescription:
4683
- "Analytics conecta fuentes de datos y crea paneles personalizados. Conecta Google Analytics, BigQuery, Stripe y más, y pide al agente que cree paneles.",
4684
- aboutUsage:
4685
- "Usa Fuentes de datos para gestionar conexiones. Usa el Explorador de consultas para SQL ad hoc de BigQuery.",
4686
5341
  },
4687
5342
  chat: {
4688
5343
  emptyState:
@@ -4894,10 +5549,6 @@ export const messagesByLocale = {
4894
5549
  credentialsDescription:
4895
5550
  "Les clés API et identifiants sont gérés sur la page Sources de données.",
4896
5551
  manageDataSources: "Gérer les sources de données",
4897
- dashboardTemplates: "Modèles de tableaux de bord",
4898
- dashboardTemplatesDescription:
4899
- "Installez un tableau de bord suivi dans le code source lorsque vous avez besoin d'un point de départ.",
4900
- openDashboardTemplates: "Ouvrir le catalogue",
4901
5552
  languageTitle: "Langue",
4902
5553
  languageLabel: "Langue de l'interface",
4903
5554
  errorEmailNotifications:
@@ -4910,11 +5561,6 @@ export const messagesByLocale = {
4910
5561
  bellSoundDescription:
4911
5562
  "Jouer un son lorsque l’agent termine une exécution. Désactivé par défaut.",
4912
5563
  bellSoundSaveFailed: "Impossible d’enregistrer la préférence sonore.",
4913
- about: "À propos",
4914
- aboutDescription:
4915
- "Analytics connecte des sources de données et crée des tableaux de bord personnalisés. Connectez Google Analytics, BigQuery, Stripe et plus encore, puis demandez à l'agent de créer des tableaux de bord.",
4916
- aboutUsage:
4917
- "Utilisez Sources de données pour gérer les connexions. Utilisez l'explorateur de requêtes pour le SQL BigQuery ad hoc.",
4918
5564
  },
4919
5565
  chat: {
4920
5566
  emptyState:
@@ -5133,10 +5779,6 @@ export const messagesByLocale = {
5133
5779
  credentialsDescription:
5134
5780
  "API-Schlüssel und Anmeldedaten werden auf der Seite Datenquellen verwaltet.",
5135
5781
  manageDataSources: "Datenquellen verwalten",
5136
- dashboardTemplates: "Dashboard-Vorlagen",
5137
- dashboardTemplatesDescription:
5138
- "Installiere ein quellkontrolliertes Dashboard, wenn du einen Ausgangspunkt brauchst.",
5139
- openDashboardTemplates: "Katalog öffnen",
5140
5782
  languageTitle: "Sprache",
5141
5783
  languageLabel: "Oberflächensprache",
5142
5784
  errorEmailNotifications: "Neue Fehlerwarnungen per E-Mail erhalten",
@@ -5149,11 +5791,6 @@ export const messagesByLocale = {
5149
5791
  "Einen Ton abspielen, wenn der Agent einen Lauf beendet. Standardmäßig deaktiviert.",
5150
5792
  bellSoundSaveFailed:
5151
5793
  "Die Toneinstellung konnte nicht gespeichert werden.",
5152
- about: "Info",
5153
- aboutDescription:
5154
- "Analytics verbindet Datenquellen und erstellt benutzerdefinierte Dashboards. Verbinde Google Analytics, BigQuery, Stripe und mehr und bitte den Agenten, Dashboards zu erstellen.",
5155
- aboutUsage:
5156
- "Verwalte Verbindungen auf der Seite Datenquellen. Nutze den Query Explorer für Ad-hoc-BigQuery-SQL.",
5157
5794
  },
5158
5795
  chat: {
5159
5796
  emptyState:
@@ -5363,10 +6000,6 @@ export const messagesByLocale = {
5363
6000
  credentialsDescription:
5364
6001
  "API キーと認証情報はデータソースページで管理します。",
5365
6002
  manageDataSources: "データソースを管理",
5366
- dashboardTemplates: "ダッシュボードテンプレート",
5367
- dashboardTemplatesDescription:
5368
- "出発点が必要なときは、ソース管理されたダッシュボードをインストールします。",
5369
- openDashboardTemplates: "カタログを開く",
5370
6003
  languageTitle: "言語",
5371
6004
  languageLabel: "インターフェース言語",
5372
6005
  errorEmailNotifications: "新しいエラーアラートをメールで受け取る",
@@ -5377,11 +6010,6 @@ export const messagesByLocale = {
5377
6010
  bellSoundDescription:
5378
6011
  "エージェントが実行を完了したときにサウンドを再生します。デフォルトでオフです。",
5379
6012
  bellSoundSaveFailed: "サウンド設定を保存できませんでした。",
5380
- about: "概要",
5381
- aboutDescription:
5382
- "Analytics はデータソースを接続し、カスタムダッシュボードを作成するツールです。Google Analytics、BigQuery、Stripe などを接続し、エージェントにダッシュボード作成を依頼できます。",
5383
- aboutUsage:
5384
- "接続はデータソースページで管理します。アドホックな BigQuery SQL にはクエリエクスプローラーを使います。",
5385
6013
  },
5386
6014
  chat: {
5387
6015
  emptyState:
@@ -5590,10 +6218,6 @@ export const messagesByLocale = {
5590
6218
  credentialsDescription:
5591
6219
  "API 키와 자격 증명은 데이터 소스 페이지에서 관리합니다.",
5592
6220
  manageDataSources: "데이터 소스 관리",
5593
- dashboardTemplates: "대시보드 템플릿",
5594
- dashboardTemplatesDescription:
5595
- "시작점이 필요할 때 소스 제어된 대시보드를 설치하세요.",
5596
- openDashboardTemplates: "카탈로그 열기",
5597
6221
  languageTitle: "언어",
5598
6222
  languageLabel: "인터페이스 언어",
5599
6223
  errorEmailNotifications: "새 오류 알림을 이메일로 받기",
@@ -5604,11 +6228,6 @@ export const messagesByLocale = {
5604
6228
  bellSoundDescription:
5605
6229
  "에이전트가 실행을 완료하면 소리를 재생합니다. 기본값은 꺼짐입니다.",
5606
6230
  bellSoundSaveFailed: "소리 설정을 저장하지 못했습니다.",
5607
- about: "정보",
5608
- aboutDescription:
5609
- "Analytics는 데이터 소스를 연결하고 사용자 지정 대시보드를 만드는 도구입니다. Google Analytics, BigQuery, Stripe 등을 연결한 뒤 에이전트에게 대시보드를 만들게 하세요.",
5610
- aboutUsage:
5611
- "데이터 소스 페이지에서 연결을 관리합니다. 임시 BigQuery SQL은 쿼리 탐색기를 사용하세요.",
5612
6231
  },
5613
6232
  chat: {
5614
6233
  emptyState:
@@ -5821,10 +6440,6 @@ export const messagesByLocale = {
5821
6440
  credentialsDescription:
5822
6441
  "Chaves de API e credenciais são gerenciadas na página Fontes de dados.",
5823
6442
  manageDataSources: "Gerenciar fontes de dados",
5824
- dashboardTemplates: "Modelos de dashboard",
5825
- dashboardTemplatesDescription:
5826
- "Instale um dashboard controlado por código-fonte quando precisar de um ponto de partida.",
5827
- openDashboardTemplates: "Abrir catálogo",
5828
6443
  languageTitle: "Idioma",
5829
6444
  languageLabel: "Idioma da interface",
5830
6445
  errorEmailNotifications: "Receber novos alertas de erro por e-mail",
@@ -5836,11 +6451,6 @@ export const messagesByLocale = {
5836
6451
  bellSoundDescription:
5837
6452
  "Reproduzir um som quando o agente concluir uma execução. Desativado por padrão.",
5838
6453
  bellSoundSaveFailed: "Não foi possível salvar a preferência de som.",
5839
- about: "Sobre",
5840
- aboutDescription:
5841
- "Analytics conecta fontes de dados e cria dashboards personalizados. Conecte Google Analytics, BigQuery, Stripe e outros, depois peça ao agente para criar dashboards.",
5842
- aboutUsage:
5843
- "Use Fontes de dados para gerenciar conexões. Use o Explorador de consultas para SQL ad hoc do BigQuery.",
5844
6454
  },
5845
6455
  chat: {
5846
6456
  emptyState:
@@ -6048,10 +6658,6 @@ export const messagesByLocale = {
6048
6658
  credentialsDescription:
6049
6659
  "API कुंजियां और क्रेडेंशियल डेटा स्रोत पेज पर प्रबंधित होते हैं।",
6050
6660
  manageDataSources: "डेटा स्रोत प्रबंधित करें",
6051
- dashboardTemplates: "डैशबोर्ड टेम्पलेट",
6052
- dashboardTemplatesDescription:
6053
- "जब आपको शुरुआत का आधार चाहिए, तो स्रोत-नियंत्रित डैशबोर्ड इंस्टॉल करें।",
6054
- openDashboardTemplates: "कैटलॉग खोलें",
6055
6661
  languageTitle: "भाषा",
6056
6662
  languageLabel: "इंटरफ़ेस भाषा",
6057
6663
  errorEmailNotifications: "नए त्रुटि अलर्ट ईमेल से प्राप्त करें",
@@ -6061,11 +6667,6 @@ export const messagesByLocale = {
6061
6667
  bellSound: "पूर्णता ध्वनि",
6062
6668
  bellSoundDescription: "एजेंट के रन पूरा करने पर ध्वनि चलाएं। डिफ़ॉल्ट रूप से बंद।",
6063
6669
  bellSoundSaveFailed: "ध्वनि प्राथमिकता सहेजी नहीं जा सकी।",
6064
- about: "परिचय",
6065
- aboutDescription:
6066
- "Analytics डेटा स्रोतों को जोड़ने और कस्टम डैशबोर्ड बनाने का टूल है। Google Analytics, BigQuery, Stripe आदि जोड़ें, फिर एजेंट से डैशबोर्ड बनवाएं।",
6067
- aboutUsage:
6068
- "कनेक्शन प्रबंधित करने के लिए डेटा स्रोत पेज का उपयोग करें। ad-hoc BigQuery SQL के लिए Query Explorer उपयोग करें।",
6069
6670
  },
6070
6671
  chat: {
6071
6672
  emptyState:
@@ -6272,10 +6873,6 @@ export const messagesByLocale = {
6272
6873
  credentialsDescription:
6273
6874
  "تتم إدارة مفاتيح API وبيانات الاعتماد من صفحة مصادر البيانات.",
6274
6875
  manageDataSources: "إدارة مصادر البيانات",
6275
- dashboardTemplates: "قوالب لوحات المعلومات",
6276
- dashboardTemplatesDescription:
6277
- "ثبّت لوحة معلومات مضبوطة في المصدر عندما تحتاج إلى نقطة بداية.",
6278
- openDashboardTemplates: "افتح الكتالوج",
6279
6876
  languageTitle: "اللغة",
6280
6877
  languageLabel: "لغة الواجهة",
6281
6878
  errorEmailNotifications:
@@ -6286,11 +6883,6 @@ export const messagesByLocale = {
6286
6883
  bellSound: "صوت الجرس",
6287
6884
  bellSoundDescription: "تشغيل صوت عند اكتمال تشغيل الوكيل. معطّل افتراضيًا.",
6288
6885
  bellSoundSaveFailed: "تعذّر حفظ تفضيل الصوت.",
6289
- about: "حول",
6290
- aboutDescription:
6291
- "Analytics أداة لربط مصادر البيانات وبناء لوحات معلومات مخصصة. اربط Google Analytics وBigQuery وStripe وغيرها، ثم اطلب من الوكيل إنشاء اللوحات.",
6292
- aboutUsage:
6293
- "استخدم صفحة مصادر البيانات لإدارة الاتصالات. استخدم مستكشف الاستعلامات لاستعلامات BigQuery SQL المخصصة.",
6294
6886
  },
6295
6887
  chat: {
6296
6888
  emptyState: