@agent-native/core 0.141.4 → 0.141.6

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 (55) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +13 -6
  3. package/corpus/templates/analytics/actions/get-first-party-analytics-health.ts +15 -1
  4. package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +2 -2
  5. package/corpus/templates/analytics/app/i18n-data.ts +328 -0
  6. package/corpus/templates/analytics/app/pages/DataSources.tsx +66 -30
  7. package/corpus/templates/analytics/changelog/2026-08-05-historical-analytics-rollups-now-repair-automatically-after-.md +6 -0
  8. package/corpus/templates/analytics/netlify.toml +4 -0
  9. package/corpus/templates/analytics/scripts/emit-netlify-dashboard-report-cron.ts +109 -0
  10. package/corpus/templates/analytics/server/jobs/analytics-rollup-backfill.ts +342 -0
  11. package/corpus/templates/analytics/server/lib/analytics-rollup-lock.ts +8 -0
  12. package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +11 -29
  13. package/corpus/templates/analytics/server/lib/dashboards-store.ts +55 -0
  14. package/corpus/templates/analytics/server/lib/first-party-analytics-health.ts +117 -31
  15. package/corpus/templates/analytics/server/lib/first-party-analytics-rollups.ts +15 -9
  16. package/corpus/templates/analytics/server/lib/first-party-analytics.ts +5 -16
  17. package/corpus/templates/analytics/server/plugins/analytics-rollup-backfill-jobs.ts +61 -0
  18. package/corpus/templates/analytics/server/plugins/db.ts +58 -187
  19. package/corpus/templates/analytics/server/routes/api/analytics-rollups/backfill.post.ts +53 -0
  20. package/corpus/templates/clips/changelog/2026-08-05-clips-overlays-now-use-clean-surfaces-without-clipped-shadow.md +6 -0
  21. package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +2 -2
  22. package/corpus/templates/clips/desktop/src/styles.css +3 -54
  23. package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +3 -3
  24. package/corpus/templates/design/actions/get-design-system.ts +3 -1
  25. package/corpus/templates/design/changelog/2026-08-05-missing-design-systems-now-return-a-clear-not-found-response.md +6 -0
  26. package/corpus/templates/slides/app/components/deck/DeckCard.tsx +2 -2
  27. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +1 -1
  28. package/corpus/templates/slides/app/i18n/en-US.ts +5 -5
  29. package/corpus/templates/slides/changelog/2026-08-05-new-presentation-prompts-now-clearly-describe-presentation-g.md +6 -0
  30. package/dist/client/AssistantChat.js +1 -1
  31. package/dist/client/chat/run-recovery.d.ts +2 -1
  32. package/dist/client/chat/run-recovery.js +10 -3
  33. package/dist/client/error-format.d.ts +1 -0
  34. package/dist/client/error-format.js +4 -2
  35. package/dist/collab/routes.d.ts +1 -1
  36. package/dist/notifications/routes.d.ts +1 -1
  37. package/dist/resources/handlers.d.ts +1 -1
  38. package/dist/secrets/routes.d.ts +3 -3
  39. package/docs/AGENTS.md +1 -1
  40. package/docs/content/actions.mdx +1 -1
  41. package/docs/content/agent-surfaces.mdx +1 -1
  42. package/docs/content/agents.mdx +9 -0
  43. package/docs/content/database.mdx +2 -2
  44. package/docs/content/drop-in-agent.mdx +1 -1
  45. package/docs/content/notifications.mdx +1 -1
  46. package/docs/content/routing.mdx +1 -1
  47. package/docs/content/server-database.mdx +437 -0
  48. package/docs/content/server-middleware.mdx +151 -0
  49. package/docs/content/server-overview.mdx +234 -0
  50. package/docs/content/server-plugins.mdx +147 -0
  51. package/docs/content/server-routes.mdx +194 -0
  52. package/package.json +1 -1
  53. package/corpus/templates/analytics/changelog/2026-08-05-historical-analytics-rollups-stay-complete-and-atomic.md +0 -6
  54. package/corpus/templates/analytics/changelog/2026-08-05-historical-rollups-stay-complete-while-live-events-arrive.md +0 -6
  55. package/docs/content/server.mdx +0 -469
package/corpus/README.md CHANGED
@@ -31,4 +31,4 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
31
31
 
32
32
  ## Generated Counts
33
33
 
34
- - template files: 7678
34
+ - template files: 7684
@@ -28,12 +28,19 @@ does not require a customer warehouse connection.
28
28
  Before a large or historical first-party query, call
29
29
  `get-first-party-analytics-health`. Keep Neon as the default while its status is
30
30
  `healthy` or `monitor`; a `recommend_bigquery` result means the app has observed
31
- 1M+ events, repeated slow queries, or a timeout/30-second query. If BigQuery is
32
- not configured, use the returned setup link or `data-source-status --key
33
- bigquery` to guide the user through the existing Data Sources walkthrough. Do
34
- not silently move the collector: `/track` still lands in first-party Analytics,
35
- and BigQuery is the opt-in backend for high-volume or historical analysis after
36
- the user connects it.
31
+ 1M+ events, repeated slow queries, or a timeout/30-second query. Treat that
32
+ status as a compatibility name for an external-backend recommendation, not as
33
+ a requirement to use BigQuery. The health result lists the supported options:
34
+
35
+ - BigQuery for warehouse SQL and complete historical analysis.
36
+ - Amplitude for product analytics, funnels, and retention.
37
+
38
+ If a suitable backend is not configured, use its returned setup link or
39
+ `data-source-status --key <provider>` to guide the user through the existing
40
+ Data Sources walkthrough. Do not silently move the collector: `/track` still
41
+ lands in first-party Analytics, and connecting a query backend does not
42
+ automatically copy existing Neon events. Use the provider's explicit collection
43
+ or export path before querying that backend.
37
44
 
38
45
  Example pageviews query for a local calendar day:
39
46
 
@@ -19,6 +19,17 @@ function resolveScope() {
19
19
  const healthSchema = z.object({
20
20
  status: z.enum(["healthy", "monitor", "recommend_bigquery", "unavailable"]),
21
21
  recommendation: z.enum(["none", "connect_bigquery", "use_bigquery"]),
22
+ externalBackendRecommendation: z.enum(["none", "connect", "use", "unknown"]),
23
+ externalBackends: z.array(
24
+ z.object({
25
+ id: z.enum(["bigquery", "amplitude"]),
26
+ label: z.string(),
27
+ role: z.enum(["warehouse", "product-analytics"]),
28
+ configured: z.boolean().nullable(),
29
+ missingRequiredKeys: z.array(z.string()),
30
+ setupLink: z.string(),
31
+ }),
32
+ ),
22
33
  reasons: z.array(z.enum(["event_volume", "slow_queries", "query_timeout"])),
23
34
  observedAt: z.string(),
24
35
  metrics: z.object({
@@ -39,6 +50,9 @@ const healthSchema = z.object({
39
50
  recommendMaxQueryMs: z.number(),
40
51
  }),
41
52
  bigQuery: z.object({
53
+ id: z.literal("bigquery"),
54
+ label: z.string(),
55
+ role: z.literal("warehouse"),
42
56
  configured: z.boolean().nullable(),
43
57
  missingRequiredKeys: z.array(z.string()),
44
58
  setupLink: z.string(),
@@ -47,7 +61,7 @@ const healthSchema = z.object({
47
61
 
48
62
  export default defineAction({
49
63
  description:
50
- "Check whether the built-in first-party Analytics source is still a good fit for Neon/Postgres. Use this before recommending BigQuery for tracking data. It reads compact daily rollups and the small slow-query pressure ledger, never the raw event table. `healthy` means Neon is fine, `monitor` means keep Neon but watch growth, and `recommend_bigquery` means connect or use BigQuery for high-volume or historical queries. A recommendation is based on 1M+ observed events, three or more slow queries in 24 hours, or any query timeout/30-second query. The result also includes BigQuery credential status and a safe setup link without revealing credential values.",
64
+ "Check whether the built-in first-party Analytics source is still a good fit for Neon/Postgres. Use this before a large or historical query. It reads compact daily rollups and the small slow-query pressure ledger, never the raw event table. `healthy` means Neon is fine, `monitor` means keep Neon but watch growth, and `recommend_bigquery` means use a configured external analytics backend for high-volume or historical queries. The result reports the two supported external options with safe setup links: BigQuery for warehouse SQL and history, and Amplitude for product analytics, funnels, and retention. A recommendation is based on 1M+ observed events, three or more slow queries in 24 hours, or any query timeout/30-second query. Connecting a backend does not silently reroute `/track` events or backfill existing Neon events.",
51
65
  schema: z.object({}),
52
66
  outputSchema: healthSchema,
53
67
  http: { method: "GET" },
@@ -15,12 +15,12 @@ function resolveScope() {
15
15
 
16
16
  export default defineAction({
17
17
  description:
18
- "Query the built-in first-party Analytics source: events recorded through this app's analytics collector endpoint (/track), compact daily rollups, identifiable user-day rollups, and session replay summaries recorded through /api/analytics/replay. This source does not require an external provider connection. Use it for questions about app/site traffic, product events, template/app usage, conversions, session recordings, LLM/agent observability, model cost, token volume, latency, and other first-party data collected by this analytics app. Use source-specific actions such as BigQuery, GA4, Mixpanel, PostHog, or Amplitude when the user asks for those sources or the relevant data lives there. SQL may read analytics_events, analytics_event_daily_rollups, analytics_user_days, and session_recordings; session_replay_chunks is intentionally unavailable, and reads are automatically scoped to the current user/org. Prefer analytics_event_daily_rollups for event counts and analytics_user_days for active-user or retention questions. The rollups are backfilled from existing analytics_events when this schema is upgraded and are updated transactionally with new ingest. Use analytics_events only for bounded recent drill-downs with an explicit event_date or timestamp range. Aggregate, project only needed columns, and add a LIMIT for raw or high-cardinality reads; do not issue an unbounded raw-event scan or paginate a large cohort. An explicit all-time or lifetime request remains all-time, so do not invent a default lower time bound. Safe scoped results are cached for up to five minutes for this agent action. analytics_events columns include event_name, timestamp, event_date, user_id, anonymous_id, user_key, session_id, app, template, signed_in, url, path, hostname, referrer, properties, and context. analytics_event_daily_rollups columns include tenant_key, owner_email, org_id, event_date, event_name, app, template, and event_count. analytics_user_days columns include tenant_key, owner_email, org_id, event_date, and user_key. LLM observability events use event_name = '$ai_generation'; useful properties include $ai_trace_id/run_id, $ai_session_id/thread_id, $ai_model/model, $ai_provider/provider, $ai_input_tokens/input_tokens, $ai_output_tokens/output_tokens, cache_read_tokens, cache_write_tokens, cost_cents_x100, $ai_total_cost_usd/cost_usd, duration_ms/$ai_latency, status, tool_calls, successful_tools, failed_tools, tools, tools_truncated, delegated, delegation_protocol, caller_app, delegation_task_id, a2a_task_id, parent_run_id, parent_turn_id, and error_message/$ai_error. Agent Teams child runs use delegation_protocol = 'agent-team' and retain their own run_id while linking to the launching run through parent_run_id. The bounded tools array contains names, relative start times, durations, statuses, and coarse error classes only, never args or results; failed runs and interrupted tools remain queryable. session_recordings columns include id, session_id, user_id, anonymous_id, user_key, started_at, ended_at, duration_ms, chunk_count, event_count, page_count, error_count, rage_click_count, app, template, status, first_url, last_url, path, hostname, referrer, and metadata.",
18
+ "Query the built-in first-party Analytics source: events recorded through this app's analytics collector endpoint (/track), compact daily rollups, identifiable user-day rollups, and session replay summaries recorded through /api/analytics/replay. This source does not require an external provider connection. Use it for questions about app/site traffic, product events, template/app usage, conversions, session recordings, LLM/agent observability, model cost, token volume, latency, and other first-party data collected by this analytics app. Use source-specific actions such as BigQuery, GA4, Mixpanel, PostHog, or Amplitude when the user asks for those sources or the relevant data lives there. SQL may read analytics_events, analytics_event_daily_rollups, analytics_user_days, and session_recordings; session_replay_chunks is intentionally unavailable, and reads are automatically scoped to the current user/org. Prefer analytics_event_daily_rollups for event counts and analytics_user_days for active-user or retention questions. The rollups are updated transactionally with new ingest, and a durable scheduled job backfills existing analytics_events after deployment. Until that job completes, use analytics_events only for bounded recent drill-downs with an explicit event_date or timestamp range. Before a large or historical query, call get-first-party-analytics-health and use a configured external backend when it recommends one: BigQuery supports warehouse SQL and historical analysis, while Amplitude supports product analytics, funnels, and retention. Connecting a backend does not automatically reroute /track events or copy existing Neon events, so use that provider's explicit collection or export path before querying it. Aggregate, project only needed columns, and add a LIMIT for raw or high-cardinality reads; do not issue an unbounded raw-event scan or paginate a large cohort. An explicit all-time or lifetime request remains all-time, so do not invent a default lower time bound. Safe scoped results are cached for up to five minutes for this agent action. analytics_events columns include event_name, timestamp, event_date, user_id, anonymous_id, user_key, session_id, app, template, signed_in, url, path, hostname, referrer, properties, and context. analytics_event_daily_rollups columns include tenant_key, owner_email, org_id, event_date, event_name, app, template, and event_count. analytics_user_days columns include tenant_key, owner_email, org_id, event_date, and user_key. LLM observability events use event_name = '$ai_generation'; useful properties include $ai_trace_id/run_id, $ai_session_id/thread_id, $ai_model/model, $ai_provider/provider, $ai_input_tokens/input_tokens, $ai_output_tokens/output_tokens, cache_read_tokens, cache_write_tokens, cost_cents_x100, $ai_total_cost_usd/cost_usd, duration_ms/$ai_latency, status, tool_calls, successful_tools, failed_tools, tools, tools_truncated, delegated, delegation_protocol, caller_app, delegation_task_id, a2a_task_id, parent_run_id, parent_turn_id, and error_message/$ai_error. Agent Teams child runs use delegation_protocol = 'agent-team' and retain their own run_id while linking to the launching run through parent_run_id. The bounded tools array contains names, relative start times, durations, statuses, and coarse error classes only, never args or results; failed runs and interrupted tools remain queryable. session_recordings columns include id, session_id, user_id, anonymous_id, user_key, started_at, ended_at, duration_ms, chunk_count, event_count, page_count, error_count, rage_click_count, app, template, status, first_url, last_url, path, hostname, referrer, and metadata.",
19
19
  schema: z.object({
20
20
  sql: z
21
21
  .string()
22
22
  .describe(
23
- "Read-only SQL over analytics_events, analytics_event_daily_rollups, analytics_user_days, and session_recordings. Use literal values, not bind placeholders. Prefer the daily rollups for counts, active-user, and retention questions. For raw analytics_events reads, use an explicit event_date or timestamp range, aggregate or project only needed columns, and add a LIMIT; do not issue an unbounded raw-event scan or paginate a large cohort. An explicit all-time or lifetime request remains all-time, so do not invent a default lower time bound. Example: SELECT event_date, event_name, SUM(event_count) AS events FROM analytics_event_daily_rollups WHERE event_date >= '2026-05-01' AND event_date < '2026-06-01' GROUP BY event_date, event_name ORDER BY event_date, events DESC",
23
+ "Read-only SQL over analytics_events, analytics_event_daily_rollups, analytics_user_days, and session_recordings. Use literal values, not bind placeholders. Prefer the daily rollups for counts, active-user, and retention questions. A durable scheduled job repairs historical rollups after deployment; until it completes, use an explicit event_date or timestamp range for bounded analytics_events reads. Before a large or historical query, call get-first-party-analytics-health and use a configured external backend when recommended: BigQuery for warehouse SQL and complete history, or Amplitude for product analytics, funnels, and retention. Connecting one does not automatically reroute /track events or backfill existing Neon data. Aggregate or project only needed columns and add a LIMIT for raw or high-cardinality reads; do not issue an unbounded raw-event scan or paginate a large cohort. An explicit all-time or lifetime request remains all-time, so do not invent a default lower time bound. Example: SELECT event_date, event_name, SUM(event_count) AS events FROM analytics_event_daily_rollups WHERE event_date >= '2026-05-01' AND event_date < '2026-06-01' GROUP BY event_date, event_name ORDER BY event_date, events DESC",
24
24
  ),
25
25
  }),
26
26
  outputSchema: z.object({
@@ -964,6 +964,23 @@ const enUS = {
964
964
  searchPlaceholder: "Search data sources...",
965
965
  noMatch: 'No data sources match "{{search}}"',
966
966
  },
967
+ analyticsBackend: {
968
+ recommendationTitle: "Use an external analytics backend for heavy history",
969
+ recommendationDescription:
970
+ "Neon remains the default for recent operational analytics. Connect BigQuery for warehouse SQL and historical analysis, or Amplitude for product analytics, funnels, and retention. Connecting one does not automatically move /track events or backfill existing Neon data.",
971
+ connectedTitle: "External analytics backends are ready",
972
+ connectedDescription:
973
+ "Use BigQuery for warehouse SQL and historical analysis, or Amplitude for product analytics, funnels, and retention. The built-in /track collector continues to write to first-party Analytics unless you explicitly configure another collection path.",
974
+ options: "External options",
975
+ monitorDescription:
976
+ "Neon is still a good fit. Keep an eye on event volume and query latency; this card will suggest an external backend if pressure grows.",
977
+ healthyDescription:
978
+ "Neon is a good fit for this first-party data right now. We will suggest BigQuery or Amplitude if volume or query latency grows.",
979
+ unavailableDescription:
980
+ "We could not check first-party Analytics pressure right now. Reload and try again before changing backends.",
981
+ configured: "Configured",
982
+ setUp: "Set up",
983
+ },
967
984
  panelEditor: {
968
985
  chartTypeLine: "Line",
969
986
  chartTypeArea: "Area",
@@ -4238,6 +4255,10 @@ function mergeMessages(overrides: {
4238
4255
  common: { ...enUS.common, ...overrides.common },
4239
4256
  dataDictionary: { ...enUS.dataDictionary, ...overrides.dataDictionary },
4240
4257
  dataSources: { ...enUS.dataSources, ...overrides.dataSources },
4258
+ analyticsBackend: {
4259
+ ...enUS.analyticsBackend,
4260
+ ...overrides.analyticsBackend,
4261
+ },
4241
4262
  panelEditor: { ...enUS.panelEditor, ...overrides.panelEditor },
4242
4263
  legacyFusion: { ...enUS.legacyFusion, ...overrides.legacyFusion },
4243
4264
  dashboard: { ...enUS.dashboard, ...overrides.dashboard },
@@ -6326,6 +6347,21 @@ type AnalyticsPartialMessages = {
6326
6347
 
6327
6348
  const translatedAnalyticsDebtTranslations = {
6328
6349
  "zh-CN": {
6350
+ analyticsBackend: {
6351
+ recommendationTitle: "针对大量历史数据使用外部分析后端",
6352
+ recommendationDescription:
6353
+ "Neon 仍是近期运营分析的默认选择。连接 BigQuery 以使用数据仓库 SQL 和历史分析,或连接 Amplitude 进行产品分析、漏斗和留存分析。连接后不会自动迁移 /track 事件或回填现有 Neon 数据。",
6354
+ connectedTitle: "外部分析后端已就绪",
6355
+ connectedDescription:
6356
+ "使用 BigQuery 进行数据仓库 SQL 和历史分析,或使用 Amplitude 进行产品分析、漏斗和留存分析。内置 /track 收集器仍会写入第一方 Analytics,除非你明确配置其他收集路径。",
6357
+ options: "外部选项",
6358
+ monitorDescription:
6359
+ "Neon 目前仍然适合。请关注事件量和查询延迟;如果压力增加,此卡片会建议外部后端。",
6360
+ healthyDescription:
6361
+ "Neon 目前适合这项第一方数据。如果事件量或查询延迟增加,我们会建议 BigQuery 或 Amplitude。",
6362
+ unavailableDescription:
6363
+ "现在无法检查第一方 Analytics 压力。请重新加载后再尝试更换后端。",
6364
+ },
6329
6365
  analyses: {
6330
6366
  allAnalyses: "所有分析",
6331
6367
  backToAnalyses: "返回分析",
@@ -6541,6 +6577,22 @@ const translatedAnalyticsDebtTranslations = {
6541
6577
  },
6542
6578
  },
6543
6579
  "es-ES": {
6580
+ analyticsBackend: {
6581
+ recommendationTitle:
6582
+ "Usa un backend de analítica externo para historiales grandes",
6583
+ recommendationDescription:
6584
+ "Neon sigue siendo el valor predeterminado para la analítica operativa reciente. Conecta BigQuery para SQL de almacén y análisis histórico, o Amplitude para analítica de producto, embudos y retención. Conectar uno no mueve automáticamente los eventos de /track ni rellena los datos existentes de Neon.",
6585
+ connectedTitle: "Los backends de analítica externos están listos",
6586
+ connectedDescription:
6587
+ "Usa BigQuery para SQL de almacén y análisis histórico, o Amplitude para analítica de producto, embudos y retención. El recopilador /track integrado sigue escribiendo en Analytics de primera parte salvo que configures explícitamente otra ruta de recopilación.",
6588
+ options: "Opciones externas",
6589
+ monitorDescription:
6590
+ "Neon sigue siendo adecuado. Vigila el volumen de eventos y la latencia de las consultas; esta tarjeta recomendará un backend externo si aumenta la presión.",
6591
+ healthyDescription:
6592
+ "Neon es adecuado para estos datos de primera parte. Recomendaremos BigQuery o Amplitude si aumentan el volumen o la latencia.",
6593
+ unavailableDescription:
6594
+ "No pudimos comprobar la presión de Analytics de primera parte. Recarga e inténtalo de nuevo antes de cambiar de backend.",
6595
+ },
6544
6596
  analyses: {
6545
6597
  allAnalyses: "Todos los análisis",
6546
6598
  backToAnalyses: "Volver a los análisis",
@@ -6768,6 +6820,22 @@ const translatedAnalyticsDebtTranslations = {
6768
6820
  },
6769
6821
  },
6770
6822
  "fr-FR": {
6823
+ analyticsBackend: {
6824
+ recommendationTitle:
6825
+ "Utilisez un backend analytique externe pour les historiques volumineux",
6826
+ recommendationDescription:
6827
+ "Neon reste la valeur par défaut pour les analyses opérationnelles récentes. Connectez BigQuery pour le SQL d'entrepôt et l'analyse historique, ou Amplitude pour l'analyse produit, les entonnoirs et la rétention. La connexion ne déplace pas automatiquement les événements /track et ne remplit pas les données Neon existantes.",
6828
+ connectedTitle: "Les backends analytiques externes sont prêts",
6829
+ connectedDescription:
6830
+ "Utilisez BigQuery pour le SQL d'entrepôt et l'analyse historique, ou Amplitude pour l'analyse produit, les entonnoirs et la rétention. Le collecteur /track intégré continue d'écrire dans Analytics propriétaire, sauf si vous configurez explicitement un autre chemin de collecte.",
6831
+ options: "Options externes",
6832
+ monitorDescription:
6833
+ "Neon reste adapté. Surveillez le volume d'événements et la latence des requêtes ; cette carte recommandera un backend externe si la pression augmente.",
6834
+ healthyDescription:
6835
+ "Neon convient actuellement à ces données propriétaires. Nous recommanderons BigQuery ou Amplitude si le volume ou la latence augmente.",
6836
+ unavailableDescription:
6837
+ "Impossible de vérifier la pression d'Analytics propriétaire. Rechargez la page et réessayez avant de changer de backend.",
6838
+ },
6771
6839
  analyses: {
6772
6840
  allAnalyses: "Toutes les analyses",
6773
6841
  backToAnalyses: "Retour aux analyses",
@@ -6999,6 +7067,22 @@ const translatedAnalyticsDebtTranslations = {
6999
7067
  },
7000
7068
  },
7001
7069
  "de-DE": {
7070
+ analyticsBackend: {
7071
+ recommendationTitle:
7072
+ "Verwende ein externes Analyse-Backend für große historische Datenmengen",
7073
+ recommendationDescription:
7074
+ "Neon bleibt die Standardeinstellung für aktuelle operative Analysen. Verbinde BigQuery für Warehouse-SQL und historische Analysen oder Amplitude für Produktanalysen, Funnels und Retention. Durch die Verbindung werden /track-Ereignisse nicht automatisch verschoben und vorhandene Neon-Daten nicht nachgefüllt.",
7075
+ connectedTitle: "Externe Analyse-Backends sind bereit",
7076
+ connectedDescription:
7077
+ "Verwende BigQuery für Warehouse-SQL und historische Analysen oder Amplitude für Produktanalysen, Funnels und Retention. Der integrierte /track-Collector schreibt weiterhin in First-Party Analytics, sofern du nicht ausdrücklich einen anderen Erfassungspfad konfigurierst.",
7078
+ options: "Externe Optionen",
7079
+ monitorDescription:
7080
+ "Neon passt weiterhin gut. Behalte Ereignisvolumen und Abfrage-Latenz im Blick; diese Karte empfiehlt bei wachsender Belastung ein externes Backend.",
7081
+ healthyDescription:
7082
+ "Neon passt derzeit zu diesen First-Party-Daten. Bei wachsendem Volumen oder wachsender Latenz empfehlen wir BigQuery oder Amplitude.",
7083
+ unavailableDescription:
7084
+ "Die First-Party-Analytics-Belastung konnte nicht geprüft werden. Lade neu und versuche es erneut, bevor du das Backend wechselst.",
7085
+ },
7002
7086
  analyses: {
7003
7087
  allAnalyses: "Alle Analysen",
7004
7088
  backToAnalyses: "Zurück zu den Analysen",
@@ -7228,6 +7312,21 @@ const translatedAnalyticsDebtTranslations = {
7228
7312
  },
7229
7313
  },
7230
7314
  "ja-JP": {
7315
+ analyticsBackend: {
7316
+ recommendationTitle: "大量の履歴データには外部分析バックエンドを使用",
7317
+ recommendationDescription:
7318
+ "Neon は最近の運用分析のデフォルトです。BigQuery を接続するとデータウェアハウス SQL と履歴分析を、Amplitude を接続するとプロダクト分析、ファネル、リテンション分析を利用できます。接続しても /track イベントが自動的に移行されたり、既存の Neon データが補完されたりすることはありません。",
7319
+ connectedTitle: "外部分析バックエンドを利用できます",
7320
+ connectedDescription:
7321
+ "BigQuery はデータウェアハウス SQL と履歴分析に、Amplitude はプロダクト分析、ファネル、リテンション分析に使用します。明示的に別の収集経路を設定しない限り、組み込みの /track コレクターは First-party Analytics に書き込み続けます。",
7322
+ options: "外部オプション",
7323
+ monitorDescription:
7324
+ "現在も Neon で問題ありません。イベント量とクエリ遅延を確認してください。負荷が増えると、このカードが外部バックエンドを提案します。",
7325
+ healthyDescription:
7326
+ "現在、この First-party データには Neon が適しています。量やクエリ遅延が増えると BigQuery または Amplitude を提案します。",
7327
+ unavailableDescription:
7328
+ "First-party Analytics の負荷を確認できませんでした。バックエンドを変更する前に再読み込みしてもう一度お試しください。",
7329
+ },
7231
7330
  analyses: {
7232
7331
  allAnalyses: "すべての分析",
7233
7332
  backToAnalyses: "分析に戻る",
@@ -7453,6 +7552,21 @@ const translatedAnalyticsDebtTranslations = {
7453
7552
  },
7454
7553
  },
7455
7554
  "ko-KR": {
7555
+ analyticsBackend: {
7556
+ recommendationTitle: "대규모 기록 데이터에는 외부 분석 백엔드 사용",
7557
+ recommendationDescription:
7558
+ "Neon은 최근 운영 분석의 기본값입니다. 웨어하우스 SQL과 기록 분석에는 BigQuery를, 제품 분석과 퍼널 및 리텐션에는 Amplitude를 연결하세요. 연결해도 /track 이벤트가 자동으로 이동하거나 기존 Neon 데이터가 백필되지는 않습니다.",
7559
+ connectedTitle: "외부 분석 백엔드를 사용할 수 있습니다",
7560
+ connectedDescription:
7561
+ "BigQuery는 웨어하우스 SQL과 기록 분석에, Amplitude는 제품 분석과 퍼널 및 리텐션에 사용하세요. 다른 수집 경로를 명시적으로 설정하지 않는 한 내장 /track 수집기는 계속 First-party Analytics에 기록합니다.",
7562
+ options: "외부 옵션",
7563
+ monitorDescription:
7564
+ "현재도 Neon이 적합합니다. 이벤트 양과 쿼리 지연을 확인하세요. 부하가 커지면 이 카드에서 외부 백엔드를 추천합니다.",
7565
+ healthyDescription:
7566
+ "현재 이 First-party 데이터에는 Neon이 적합합니다. 양이나 쿼리 지연이 늘면 BigQuery 또는 Amplitude를 추천합니다.",
7567
+ unavailableDescription:
7568
+ "현재 First-party Analytics 부하를 확인할 수 없습니다. 백엔드를 변경하기 전에 다시 로드해 보세요.",
7569
+ },
7456
7570
  analyses: {
7457
7571
  allAnalyses: "모든 분석",
7458
7572
  backToAnalyses: "분석으로 돌아가기",
@@ -7676,6 +7790,22 @@ const translatedAnalyticsDebtTranslations = {
7676
7790
  },
7677
7791
  },
7678
7792
  "pt-BR": {
7793
+ analyticsBackend: {
7794
+ recommendationTitle:
7795
+ "Use um backend de análise externo para históricos grandes",
7796
+ recommendationDescription:
7797
+ "Neon continua sendo o padrão para análises operacionais recentes. Conecte o BigQuery para SQL de warehouse e análise histórica, ou o Amplitude para análise de produto, funis e retenção. Conectar um deles não move eventos de /track automaticamente nem preenche dados existentes do Neon.",
7798
+ connectedTitle: "Os backends de análise externos estão prontos",
7799
+ connectedDescription:
7800
+ "Use o BigQuery para SQL de warehouse e análise histórica, ou o Amplitude para análise de produto, funis e retenção. O coletor /track integrado continua gravando no Analytics próprio, a menos que você configure explicitamente outro caminho de coleta.",
7801
+ options: "Opções externas",
7802
+ monitorDescription:
7803
+ "O Neon ainda é adequado. Acompanhe o volume de eventos e a latência das consultas; este cartão recomendará um backend externo se a pressão aumentar.",
7804
+ healthyDescription:
7805
+ "O Neon é adequado para estes dados próprios no momento. Recomendaremos BigQuery ou Amplitude se o volume ou a latência aumentarem.",
7806
+ unavailableDescription:
7807
+ "Não foi possível verificar a pressão do Analytics próprio. Recarregue e tente novamente antes de trocar de backend.",
7808
+ },
7679
7809
  analyses: {
7680
7810
  allAnalyses: "Todas as análises",
7681
7811
  backToAnalyses: "Voltar às análises",
@@ -7904,6 +8034,22 @@ const translatedAnalyticsDebtTranslations = {
7904
8034
  },
7905
8035
  },
7906
8036
  "hi-IN": {
8037
+ analyticsBackend: {
8038
+ recommendationTitle:
8039
+ "बड़े ऐतिहासिक डेटा के लिए बाहरी Analytics backend इस्तेमाल करें",
8040
+ recommendationDescription:
8041
+ "हाल के ऑपरेशनल Analytics के लिए Neon अभी भी डिफ़ॉल्ट है। Warehouse SQL और ऐतिहासिक विश्लेषण के लिए BigQuery, या product analytics, funnels और retention के लिए Amplitude कनेक्ट करें। कनेक्ट करने से /track इवेंट अपने-आप नहीं जाते और Neon का मौजूदा डेटा backfill नहीं होता।",
8042
+ connectedTitle: "बाहरी Analytics backends तैयार हैं",
8043
+ connectedDescription:
8044
+ "Warehouse SQL और ऐतिहासिक विश्लेषण के लिए BigQuery, या product analytics, funnels और retention के लिए Amplitude इस्तेमाल करें। अलग collection path स्पष्ट रूप से कॉन्फ़िगर न करने तक built-in /track collector first-party Analytics में लिखता रहेगा।",
8045
+ options: "बाहरी विकल्प",
8046
+ monitorDescription:
8047
+ "Neon अभी भी उपयुक्त है। Event volume और query latency पर नज़र रखें; दबाव बढ़ने पर यह कार्ड बाहरी backend सुझाएगा।",
8048
+ healthyDescription:
8049
+ "इस first-party डेटा के लिए Neon अभी उपयुक्त है। Volume या query latency बढ़ने पर हम BigQuery या Amplitude सुझाएंगे।",
8050
+ unavailableDescription:
8051
+ "First-party Analytics pressure जाँचा नहीं जा सका। Backend बदलने से पहले reload करके फिर प्रयास करें।",
8052
+ },
7907
8053
  analyses: {
7908
8054
  allAnalyses: "सभी विश्लेषण",
7909
8055
  backToAnalyses: "विश्लेषण पर वापस जाएँ",
@@ -8127,6 +8273,21 @@ const translatedAnalyticsDebtTranslations = {
8127
8273
  },
8128
8274
  },
8129
8275
  "ar-SA": {
8276
+ analyticsBackend: {
8277
+ recommendationTitle: "استخدم واجهة تحليلات خارجية للسجل التاريخي الكبير",
8278
+ recommendationDescription:
8279
+ "يظل Neon الخيار الافتراضي للتحليلات التشغيلية الحديثة. صِل BigQuery لاستخدام SQL المستودع والتحليل التاريخي، أو Amplitude لتحليلات المنتج ومسارات التحويل والاحتفاظ. لا يؤدي الاتصال بأحدهما إلى نقل أحداث /track تلقائياً أو ملء بيانات Neon الحالية.",
8280
+ connectedTitle: "واجهات التحليلات الخارجية جاهزة",
8281
+ connectedDescription:
8282
+ "استخدم BigQuery لـ SQL المستودع والتحليل التاريخي، أو Amplitude لتحليلات المنتج ومسارات التحويل والاحتفاظ. يستمر جامع /track المضمّن في الكتابة إلى Analytics للطرف الأول ما لم تضبط مسار جمع آخر صراحةً.",
8283
+ options: "الخيارات الخارجية",
8284
+ monitorDescription:
8285
+ "لا يزال Neon مناسباً. راقب حجم الأحداث وزمن الاستعلام؛ ستقترح هذه البطاقة واجهة خارجية إذا زاد الضغط.",
8286
+ healthyDescription:
8287
+ "Neon مناسب حالياً لبيانات Analytics للطرف الأول. سنقترح BigQuery أو Amplitude إذا زاد الحجم أو زمن الاستعلام.",
8288
+ unavailableDescription:
8289
+ "تعذّر التحقق من ضغط Analytics للطرف الأول. أعد التحميل وحاول مرة أخرى قبل تغيير الواجهة الخلفية.",
8290
+ },
8130
8291
  analyses: {
8131
8292
  allAnalyses: "جميع التحليلات",
8132
8293
  backToAnalyses: "العودة إلى التحليلات",
@@ -8350,6 +8511,173 @@ const translatedAnalyticsDebtTranslations = {
8350
8511
  },
8351
8512
  } satisfies Partial<Record<LocaleCode, AnalyticsPartialMessages>>;
8352
8513
 
8514
+ const analyticsBackendTranslations: Partial<
8515
+ Record<LocaleCode, Partial<Messages["analyticsBackend"]>>
8516
+ > = {
8517
+ "zh-TW": {
8518
+ recommendationTitle: "大量歷史資料請使用外部分析後端",
8519
+ recommendationDescription:
8520
+ "Neon 仍是近期營運分析的預設選項。連接 BigQuery 以使用資料倉儲 SQL 和歷史分析,或連接 Amplitude 以進行產品分析、漏斗和留存分析。連接後不會自動移轉 /track 事件或回填現有的 Neon 資料。",
8521
+ connectedTitle: "外部分析後端已就緒",
8522
+ connectedDescription:
8523
+ "使用 BigQuery 進行資料倉儲 SQL 和歷史分析,或使用 Amplitude 進行產品分析、漏斗和留存分析。內建的 /track 收集器仍會寫入第一方 Analytics,除非你明確設定其他收集路徑。",
8524
+ options: "外部選項",
8525
+ monitorDescription:
8526
+ "Neon 目前仍然適用。請留意事件量和查詢延遲;壓力增加時,這張卡片會建議外部後端。",
8527
+ healthyDescription:
8528
+ "Neon 目前很適合這些第一方資料。當資料量或查詢延遲增加時,我們會建議 BigQuery 或 Amplitude。",
8529
+ unavailableDescription:
8530
+ "目前無法檢查第一方 Analytics 壓力。請重新載入後再決定是否更換後端。",
8531
+ },
8532
+ "zh-CN": {
8533
+ recommendationTitle: "大量历史数据请使用外部分析后端",
8534
+ recommendationDescription:
8535
+ "Neon 仍是近期运营分析的默认选项。连接 BigQuery 以使用数据仓库 SQL 和历史分析,或连接 Amplitude 以进行产品分析、漏斗和留存分析。连接后不会自动转移 /track 事件或回填现有 Neon 数据。",
8536
+ connectedTitle: "外部分析后端已就绪",
8537
+ connectedDescription:
8538
+ "使用 BigQuery 进行数据仓库 SQL 和历史分析,或使用 Amplitude 进行产品分析、漏斗和留存分析。内置的 /track 收集器仍会写入第一方 Analytics,除非你明确配置其他收集路径。",
8539
+ options: "外部选项",
8540
+ monitorDescription:
8541
+ "Neon 目前仍然适用。请留意事件量和查询延迟;压力增加时,这张卡片会建议外部后端。",
8542
+ healthyDescription:
8543
+ "Neon 目前很适合这些第一方数据。当数据量或查询延迟增加时,我们会建议 BigQuery 或 Amplitude。",
8544
+ unavailableDescription:
8545
+ "目前无法检查第一方 Analytics 压力。请重新加载后再决定是否更换后端。",
8546
+ },
8547
+ "ar-SA": {
8548
+ recommendationTitle: "استخدم خلفية تحليلات خارجية للتاريخ الكبير",
8549
+ recommendationDescription:
8550
+ "يظل Neon الخيار الافتراضي للتحليلات التشغيلية الحديثة. وصّل BigQuery لبيانات المستودع والتحليل التاريخي، أو Amplitude لتحليلات المنتج والقمع والاحتفاظ. لا يؤدي الاتصال إلى نقل أحداث /track أو ملء بيانات Neon الحالية تلقائيًا.",
8551
+ connectedTitle: "الخلفيات التحليلية الخارجية جاهزة",
8552
+ connectedDescription:
8553
+ "استخدم BigQuery لتحليل SQL التاريخي وبيانات المستودع، أو Amplitude لتحليلات المنتج والقمع والاحتفاظ. يواصل جامع /track المدمج الكتابة إلى Analytics التابعة لنا ما لم تضبط مسار جمع آخر صراحةً.",
8554
+ options: "خيارات خارجية",
8555
+ monitorDescription:
8556
+ "لا يزال Neon مناسبًا. راقب حجم الأحداث وزمن الاستعلام؛ ستقترح هذه البطاقة خلفية خارجية عند زيادة الضغط.",
8557
+ healthyDescription:
8558
+ "Neon مناسب حاليًا لهذه البيانات التابعة لنا. سنقترح BigQuery أو Amplitude إذا زاد الحجم أو زمن الاستعلام.",
8559
+ unavailableDescription:
8560
+ "تعذر فحص ضغط Analytics التابعة لنا الآن. أعد التحميل قبل تغيير الخلفيات.",
8561
+ },
8562
+ "de-DE": {
8563
+ recommendationTitle:
8564
+ "Für umfangreiche historische Daten ein externes Analyse-Backend nutzen",
8565
+ recommendationDescription:
8566
+ "Neon bleibt die Standardeinstellung für aktuelle Betriebsanalysen. Verbinde BigQuery für Warehouse-SQL und historische Analysen oder Amplitude für Produktanalysen, Funnels und Retention. Durch die Verbindung werden /track-Ereignisse nicht automatisch verschoben oder vorhandene Neon-Daten nachgeladen.",
8567
+ connectedTitle: "Externe Analyse-Backends sind bereit",
8568
+ connectedDescription:
8569
+ "Nutze BigQuery für Warehouse-SQL und historische Analysen oder Amplitude für Produktanalysen, Funnels und Retention. Der integrierte /track-Sammler schreibt weiterhin in First-Party-Analytics, sofern du keinen anderen Sammelpfad festlegst.",
8570
+ options: "Externe Optionen",
8571
+ monitorDescription:
8572
+ "Neon passt weiterhin gut. Behalte Ereignismenge und Abfragezeit im Blick; diese Karte schlägt bei wachsender Belastung ein externes Backend vor.",
8573
+ healthyDescription:
8574
+ "Neon eignet sich derzeit gut für diese First-Party-Daten. Bei wachsender Menge oder Abfragezeit schlagen wir BigQuery oder Amplitude vor.",
8575
+ unavailableDescription:
8576
+ "Der Druck auf First-Party-Analytics konnte nicht geprüft werden. Lade neu, bevor du Backends änderst.",
8577
+ },
8578
+ "es-ES": {
8579
+ recommendationTitle:
8580
+ "Usa un backend de analítica externo para historiales grandes",
8581
+ recommendationDescription:
8582
+ "Neon sigue siendo la opción predeterminada para la analítica operativa reciente. Conecta BigQuery para SQL de almacén e históricos, o Amplitude para analítica de producto, embudos y retención. La conexión no mueve automáticamente los eventos de /track ni completa los datos existentes de Neon.",
8583
+ connectedTitle: "Los backends de analítica externos están listos",
8584
+ connectedDescription:
8585
+ "Usa BigQuery para SQL de almacén e históricos, o Amplitude para analítica de producto, embudos y retención. El recolector /track integrado sigue escribiendo en Analytics de primera parte salvo que configures otra ruta de recopilación.",
8586
+ options: "Opciones externas",
8587
+ monitorDescription:
8588
+ "Neon sigue siendo adecuado. Vigila el volumen de eventos y la latencia de las consultas; esta tarjeta sugerirá un backend externo si aumenta la presión.",
8589
+ healthyDescription:
8590
+ "Neon es adecuado para estos datos de primera parte. Sugeriremos BigQuery o Amplitude si crecen el volumen o la latencia.",
8591
+ unavailableDescription:
8592
+ "No se pudo comprobar la presión de Analytics de primera parte. Recarga antes de cambiar de backend.",
8593
+ },
8594
+ "fr-FR": {
8595
+ recommendationTitle:
8596
+ "Utiliser un backend analytique externe pour les historiques volumineux",
8597
+ recommendationDescription:
8598
+ "Neon reste la solution par défaut pour les analyses opérationnelles récentes. Connectez BigQuery pour le SQL d'entrepôt et l'historique, ou Amplitude pour les analyses produit, les tunnels et la rétention. La connexion ne déplace pas automatiquement les événements /track et ne complète pas les données Neon existantes.",
8599
+ connectedTitle: "Les backends analytiques externes sont prêts",
8600
+ connectedDescription:
8601
+ "Utilisez BigQuery pour le SQL d'entrepôt et l'historique, ou Amplitude pour les analyses produit, les tunnels et la rétention. Le collecteur /track intégré continue d'écrire dans Analytics first-party, sauf si vous configurez explicitement un autre chemin de collecte.",
8602
+ options: "Options externes",
8603
+ monitorDescription:
8604
+ "Neon reste adapté. Surveillez le volume d'événements et la latence des requêtes ; cette carte suggérera un backend externe si la pression augmente.",
8605
+ healthyDescription:
8606
+ "Neon convient actuellement à ces données first-party. Nous suggérerons BigQuery ou Amplitude si le volume ou la latence augmente.",
8607
+ unavailableDescription:
8608
+ "Impossible de vérifier la pression Analytics first-party. Rechargez avant de changer de backend.",
8609
+ },
8610
+ "hi-IN": {
8611
+ recommendationTitle:
8612
+ "भारी ऐतिहासिक डेटा के लिए बाहरी Analytics बैकएंड उपयोग करें",
8613
+ recommendationDescription:
8614
+ "हाल के ऑपरेशनल Analytics के लिए Neon अभी भी डिफ़ॉल्ट है। वेयरहाउस SQL और ऐतिहासिक विश्लेषण के लिए BigQuery, या प्रोडक्ट Analytics, फ़नल और रिटेंशन के लिए Amplitude कनेक्ट करें। कनेक्शन /track इवेंट को अपने-आप स्थानांतरित या मौजूदा Neon डेटा को बैकफ़िल नहीं करता।",
8615
+ connectedTitle: "बाहरी Analytics बैकएंड तैयार हैं",
8616
+ connectedDescription:
8617
+ "वेयरहाउस SQL और ऐतिहासिक विश्लेषण के लिए BigQuery, या प्रोडक्ट Analytics, फ़नल और रिटेंशन के लिए Amplitude उपयोग करें। अंतर्निहित /track कलेक्टर First-Party Analytics में लिखता रहेगा, जब तक आप कोई दूसरा कलेक्शन पथ स्पष्ट रूप से कॉन्फ़िगर न करें।",
8618
+ options: "बाहरी विकल्प",
8619
+ monitorDescription:
8620
+ "Neon अभी भी उपयुक्त है। इवेंट वॉल्यूम और क्वेरी लेटेंसी पर नज़र रखें; दबाव बढ़ने पर यह कार्ड बाहरी बैकएंड सुझाएगा।",
8621
+ healthyDescription:
8622
+ "Neon अभी इन First-Party डेटा के लिए अच्छा है। वॉल्यूम या क्वेरी लेटेंसी बढ़ने पर हम BigQuery या Amplitude सुझाएंगे।",
8623
+ unavailableDescription:
8624
+ "अभी First-Party Analytics दबाव की जाँच नहीं हो सकी। बैकएंड बदलने से पहले फिर लोड करें।",
8625
+ },
8626
+ "ja-JP": {
8627
+ recommendationTitle: "大量の履歴データには外部分析バックエンドを使用",
8628
+ recommendationDescription:
8629
+ "Neon は最近の運用分析の既定値です。ウェアハウス SQL と履歴分析には BigQuery、プロダクト分析、ファネル、リテンションには Amplitude を接続してください。接続しても /track イベントが自動的に移行されたり、既存の Neon データがバックフィルされたりすることはありません。",
8630
+ connectedTitle: "外部分析バックエンドを利用できます",
8631
+ connectedDescription:
8632
+ "ウェアハウス SQL と履歴分析には BigQuery、プロダクト分析、ファネル、リテンションには Amplitude を使用できます。別の収集経路を明示的に設定しない限り、組み込みの /track コレクターは First-Party Analytics への書き込みを続けます。",
8633
+ options: "外部オプション",
8634
+ monitorDescription:
8635
+ "Neon は引き続き適しています。イベント量とクエリ遅延を確認してください。負荷が増えると、このカードが外部バックエンドを提案します。",
8636
+ healthyDescription:
8637
+ "Neon は現在この First-Party データに適しています。量やクエリ遅延が増えると BigQuery または Amplitude を提案します。",
8638
+ unavailableDescription:
8639
+ "現在 First-Party Analytics の負荷を確認できませんでした。バックエンドを変更する前に再読み込みしてください。",
8640
+ },
8641
+ "ko-KR": {
8642
+ recommendationTitle: "대규모 기록 데이터에는 외부 분석 백엔드 사용",
8643
+ recommendationDescription:
8644
+ "Neon은 최근 운영 분석의 기본값입니다. 웨어하우스 SQL 및 기록 분석에는 BigQuery를, 제품 분석과 퍼널 및 리텐션에는 Amplitude를 연결하세요. 연결해도 /track 이벤트가 자동으로 이동하거나 기존 Neon 데이터가 백필되지는 않습니다.",
8645
+ connectedTitle: "외부 분석 백엔드를 사용할 수 있습니다",
8646
+ connectedDescription:
8647
+ "웨어하우스 SQL 및 기록 분석에는 BigQuery를, 제품 분석과 퍼널 및 리텐션에는 Amplitude를 사용하세요. 다른 수집 경로를 명시적으로 설정하지 않는 한 기본 /track 수집기는 계속 First-Party Analytics에 기록합니다.",
8648
+ options: "외부 옵션",
8649
+ monitorDescription:
8650
+ "Neon은 아직 적합합니다. 이벤트 규모와 쿼리 지연 시간을 확인하세요. 부하가 커지면 이 카드가 외부 백엔드를 제안합니다.",
8651
+ healthyDescription:
8652
+ "Neon은 현재 이 First-Party 데이터에 적합합니다. 규모나 쿼리 지연이 증가하면 BigQuery 또는 Amplitude를 제안합니다.",
8653
+ unavailableDescription:
8654
+ "지금은 First-Party Analytics 부하를 확인할 수 없습니다. 백엔드를 변경하기 전에 다시 로드하세요.",
8655
+ },
8656
+ "pt-BR": {
8657
+ recommendationTitle:
8658
+ "Use um backend de análise externo para históricos grandes",
8659
+ recommendationDescription:
8660
+ "Neon continua sendo o padrão para análises operacionais recentes. Conecte o BigQuery para SQL de warehouse e análises históricas, ou o Amplitude para análise de produto, funis e retenção. A conexão não move automaticamente eventos de /track nem preenche dados existentes do Neon.",
8661
+ connectedTitle: "Os backends de análise externos estão prontos",
8662
+ connectedDescription:
8663
+ "Use o BigQuery para SQL de warehouse e análises históricas, ou o Amplitude para análise de produto, funis e retenção. O coletor /track integrado continua gravando no Analytics de primeira parte, a menos que você configure explicitamente outro caminho de coleta.",
8664
+ options: "Opções externas",
8665
+ monitorDescription:
8666
+ "Neon continua adequado. Acompanhe o volume de eventos e a latência das consultas; este cartão sugerirá um backend externo se a pressão crescer.",
8667
+ healthyDescription:
8668
+ "Neon é adequado para estes dados de primeira parte agora. Sugeriremos BigQuery ou Amplitude se o volume ou a latência crescer.",
8669
+ unavailableDescription:
8670
+ "Não foi possível verificar a pressão do Analytics de primeira parte. Recarregue antes de trocar de backend.",
8671
+ },
8672
+ };
8673
+
8674
+ for (const [locale, section] of Object.entries(
8675
+ analyticsBackendTranslations,
8676
+ ) as Array<[LocaleCode, Partial<Messages["analyticsBackend"]>]>) {
8677
+ const messages = messagesByLocale[locale];
8678
+ if (messages) Object.assign(messages.analyticsBackend, section);
8679
+ }
8680
+
8353
8681
  for (const [locale, overrides] of Object.entries(
8354
8682
  translatedAnalyticsDebtTranslations,
8355
8683
  ) as Array<[LocaleCode, AnalyticsPartialMessages]>) {