@agent-native/core 0.107.2 → 0.109.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.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +24 -0
- package/corpus/core/docs/content/actions.mdx +48 -0
- package/corpus/core/docs/content/locales/ar-SA/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/de-DE/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/es-ES/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/fr-FR/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/hi-IN/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/ja-JP/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/ko-KR/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/pt-BR/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/zh-CN/actions.mdx +38 -0
- package/corpus/core/docs/content/locales/zh-TW/actions.mdx +38 -0
- package/corpus/core/package.json +5 -1
- package/corpus/core/src/a2a/client.ts +140 -17
- package/corpus/core/src/a2a/handlers.ts +60 -0
- package/corpus/core/src/a2a/index.ts +6 -1
- package/corpus/core/src/a2a/invoke.ts +68 -1
- package/corpus/core/src/a2a/server.ts +13 -1
- package/corpus/core/src/a2a/types.ts +16 -0
- package/corpus/core/src/a2a-claims.ts +52 -0
- package/corpus/core/src/action.ts +7 -2
- package/corpus/core/src/agent/production-agent.ts +10 -4
- package/corpus/core/src/audit/record.ts +6 -0
- package/corpus/core/src/client/AssistantChat.tsx +648 -603
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +31 -4
- package/corpus/core/src/client/agent-chat-adapter.ts +23 -37
- package/corpus/core/src/client/agent-sidebar-state.ts +4 -0
- package/corpus/core/src/client/analytics.ts +84 -0
- package/corpus/core/src/client/chat/message-components.tsx +94 -22
- package/corpus/core/src/client/chat/tool-call-display.tsx +170 -47
- package/corpus/core/src/client/chat/use-agent-chat-lifecycle-tracking.ts +74 -0
- package/corpus/core/src/client/chat-thread-url.ts +11 -0
- package/corpus/core/src/client/error-capture.ts +12 -0
- package/corpus/core/src/client/extensions/ExtensionSlot.tsx +37 -1
- package/corpus/core/src/client/feature-flags/FeatureFlagsPanel.tsx +519 -0
- package/corpus/core/src/client/feature-flags/helpers.ts +77 -0
- package/corpus/core/src/client/feature-flags/index.ts +13 -0
- package/corpus/core/src/client/feature-flags/types.ts +29 -0
- package/corpus/core/src/client/feature-flags/use-feature-flag.ts +26 -0
- package/corpus/core/src/client/index.ts +13 -0
- package/corpus/core/src/client/route-chunk-recovery.ts +20 -8
- package/corpus/core/src/client/session-replay.ts +31 -0
- package/corpus/core/src/extensions/actions.ts +2 -14
- package/corpus/core/src/extensions/routes.ts +1 -1
- package/corpus/core/src/extensions/store.ts +1 -1
- package/corpus/core/src/feature-flags/a2a-action-route.ts +56 -0
- package/corpus/core/src/feature-flags/actions/get-feature-flags.ts +24 -0
- package/corpus/core/src/feature-flags/actions/list-feature-flags.ts +69 -0
- package/corpus/core/src/feature-flags/actions/set-feature-flag.ts +89 -0
- package/corpus/core/src/feature-flags/index.ts +21 -0
- package/corpus/core/src/feature-flags/permissions.ts +53 -0
- package/corpus/core/src/feature-flags/plugin.ts +44 -0
- package/corpus/core/src/feature-flags/registry.ts +96 -0
- package/corpus/core/src/feature-flags/store.ts +176 -0
- package/corpus/core/src/index.ts +15 -0
- package/corpus/core/src/localization/default-messages.ts +50 -0
- package/corpus/core/src/mcp/build-server.ts +2 -2
- package/corpus/core/src/progress/actions.ts +4 -2
- package/corpus/core/src/provider-api/index.ts +205 -105
- package/corpus/core/src/scripts/call-agent.ts +137 -17
- package/corpus/core/src/server/action-discovery.ts +12 -0
- package/corpus/core/src/server/action-routes.ts +47 -5
- package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +40 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +31 -0
- package/corpus/core/src/server/index.ts +1 -0
- package/corpus/core/src/settings/org-settings.ts +13 -0
- package/corpus/core/src/settings/store.ts +57 -0
- package/corpus/core/src/styles/agent-conversation.css +7 -0
- package/corpus/core/src/templates/default/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/core/src/templates/default/AGENTS.md +1 -0
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +19 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +19 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +19 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +19 -0
- package/corpus/core/src/templates/headless/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +28 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +5 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/performance/SKILL.md +13 -0
- package/corpus/core/src/templates/workspace-core/AGENTS.md +1 -1
- package/corpus/core/src/templates/workspace-root/AGENTS.md +1 -1
- package/corpus/core/src/vite/action-types-plugin.ts +12 -0
- package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +29 -10
- package/corpus/templates/analytics/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/analytics/.agents/skills/gong/SKILL.md +54 -23
- package/corpus/templates/analytics/.builder/skills/apollo/SKILL.md +19 -41
- package/corpus/templates/analytics/.builder/skills/commonroom/SKILL.md +20 -35
- package/corpus/templates/analytics/.builder/skills/github/SKILL.md +23 -67
- package/corpus/templates/analytics/.builder/skills/pylon/SKILL.md +25 -43
- package/corpus/templates/analytics/AGENTS.md +37 -16
- package/corpus/templates/analytics/actions/account-deep-dive.ts +1 -0
- package/corpus/templates/analytics/actions/configure-gong-native-insights.ts +29 -0
- package/corpus/templates/analytics/actions/content-calendar-schema.ts +8 -4
- package/corpus/templates/analytics/actions/content-calendar.ts +12 -4
- package/corpus/templates/analytics/actions/dashboard-mutation-api.ts +2 -1
- package/corpus/templates/analytics/actions/gong-calls.ts +113 -22
- package/corpus/templates/analytics/actions/gong-native-insights.ts +166 -0
- package/corpus/templates/analytics/actions/hubspot-deals.ts +190 -46
- package/corpus/templates/analytics/actions/list-workspace-feature-flags.ts +15 -0
- package/corpus/templates/analytics/actions/navigate.ts +2 -2
- package/corpus/templates/analytics/actions/pylon-issues.ts +123 -0
- package/corpus/templates/analytics/actions/set-workspace-feature-flag.ts +45 -0
- package/corpus/templates/analytics/actions/slack-messages.ts +179 -27
- package/corpus/templates/analytics/actions/view-screen.ts +13 -0
- package/corpus/templates/analytics/app/components/agents/FeatureFlagsFleetPanel.tsx +243 -0
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +48 -152
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +11 -3
- package/corpus/templates/analytics/app/components/ui/chart.tsx +1 -1
- package/corpus/templates/analytics/app/hooks/use-chart-tooltip-flip.ts +21 -6
- package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +3 -1
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +30 -0
- package/corpus/templates/analytics/app/i18n-data.ts +385 -0
- package/corpus/templates/analytics/app/pages/Agents.tsx +22 -2
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +181 -30
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +6 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +4 -3
- package/corpus/templates/analytics/changelog/2026-07-17-dashboard-editors-can-add-shared-extensions-or-opt-into-per-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-dashboard-extensions-show-a-loading-skeleton.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-errors-now-group-repeat-failures-consistently-and-keep-priva.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-gong-transcript-reviews-now-batch-bounded-call-windows-for-f.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-hubspot-deal-filters-now-run-in-hubspot-before-paging-result.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-manage-feature-flag-rollouts-across-your-organization-s-apps.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-notion-content-calendars-now-discover-the-matching-database-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-pylon-dashboard-reads-now-use-the-paginated-issue-search-api.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-17-slack-reads-no-longer-join-channels-and-report-pagination-coverage.md +6 -0
- package/corpus/templates/analytics/server/handlers/notion.ts +14 -3
- package/corpus/templates/analytics/server/handlers/slack.ts +182 -29
- package/corpus/templates/analytics/server/lib/agent-chat-plan-mode.ts +2 -6
- package/corpus/templates/analytics/server/lib/analytics-connector-catalog.ts +6 -2
- package/corpus/templates/analytics/server/lib/db-admin-connections.ts +13 -5
- package/corpus/templates/analytics/server/lib/error-capture.ts +75 -8
- package/corpus/templates/analytics/server/lib/gong-native-policy.ts +72 -0
- package/corpus/templates/analytics/server/lib/gong.ts +54 -66
- package/corpus/templates/analytics/server/lib/hubspot.ts +40 -3
- package/corpus/templates/analytics/server/lib/notion.ts +83 -8
- package/corpus/templates/analytics/server/lib/real-data-actions.ts +4 -0
- package/corpus/templates/analytics/server/lib/slack.ts +242 -90
- package/corpus/templates/analytics/server/lib/workspace-feature-flags.ts +347 -0
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +3 -3
- package/corpus/templates/analytics/server/routes/api/pylon/accounts.get.ts +42 -1
- package/corpus/templates/analytics/server/routes/api/pylon/issues.get.ts +71 -1
- package/corpus/templates/analytics/server/routes/api/test-connection.post.ts +44 -4
- package/corpus/templates/assets/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/brain/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/calendar/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/chat/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/clips/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +19 -1
- package/corpus/templates/clips/app/components/library/create-folder-dialog.tsx +123 -0
- package/corpus/templates/clips/app/components/library/library-grid.tsx +42 -4
- package/corpus/templates/clips/app/components/library/recording-card.tsx +30 -0
- package/corpus/templates/clips/app/entry.client.tsx +6 -1
- package/corpus/templates/clips/app/i18n/ar-SA.ts +12 -1
- package/corpus/templates/clips/app/i18n/de-DE.ts +12 -1
- package/corpus/templates/clips/app/i18n/en-US.ts +12 -1
- package/corpus/templates/clips/app/i18n/es-ES.ts +11 -1
- package/corpus/templates/clips/app/i18n/fr-FR.ts +11 -1
- package/corpus/templates/clips/app/i18n/hi-IN.ts +10 -1
- package/corpus/templates/clips/app/i18n/ja-JP.ts +12 -1
- package/corpus/templates/clips/app/i18n/ko-KR.ts +11 -1
- package/corpus/templates/clips/app/i18n/pt-BR.ts +11 -1
- package/corpus/templates/clips/app/i18n/zh-CN.ts +11 -1
- package/corpus/templates/clips/app/i18n/zh-TW.ts +11 -1
- package/corpus/templates/clips/app/routes/_app.settings._index.tsx +72 -1
- package/corpus/templates/clips/changelog/2026-07-17-choose-which-workspace-receives-new-clips-recordings-and-des.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-create-folders-directly-from-the-move-menu.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-failed-desktop-uploads-now-offer-a-direct-way-to-reopen-clip.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +1 -1
- package/corpus/templates/clips/server/plugins/feature-flags.ts +11 -0
- package/corpus/templates/clips/shared/feature-flags.ts +30 -37
- package/corpus/templates/content/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/content/app/entry.client.tsx +6 -1
- package/corpus/templates/design/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/design/AGENTS.md +5 -3
- package/corpus/templates/design/actions/add-fusion-screens.ts +4 -6
- package/corpus/templates/design/actions/apply-fusion-edits.ts +4 -6
- package/corpus/templates/design/actions/create-fusion-app.ts +5 -4
- package/corpus/templates/design/actions/deploy-fusion-app.ts +4 -3
- package/corpus/templates/design/actions/get-fusion-deploy-status.ts +4 -6
- package/corpus/templates/design/actions/list-fusion-edits.ts +4 -3
- package/corpus/templates/design/actions/push-fusion-app.ts +4 -6
- package/corpus/templates/design/actions/queue-fusion-edit.ts +4 -3
- package/corpus/templates/design/actions/send-fusion-message.ts +4 -6
- package/corpus/templates/design/actions/sync-fusion-app.ts +4 -3
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +1 -1
- package/corpus/templates/design/app/pages/Index.tsx +8 -6
- package/corpus/templates/design/server/plugins/feature-flags.ts +5 -0
- package/corpus/templates/design/shared/full-app.ts +10 -7
- package/corpus/templates/dispatch/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/dispatch/AGENTS.md +5 -0
- package/corpus/templates/dispatch/changelog/2026-07-17-apps-page-links-to-other-available-apps.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-17-curated-template-remixes.md +6 -0
- package/corpus/templates/forms/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/macros/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/mail/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/mail/app/entry.client.tsx +6 -1
- package/corpus/templates/plan/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/slides/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/slides/.agents/skills/slide-images/SKILL.md +11 -7
- package/corpus/templates/slides/.env.example +0 -1
- package/corpus/templates/slides/AGENTS.md +4 -0
- package/corpus/templates/slides/DEVELOPING.md +2 -2
- package/corpus/templates/slides/actions/index-design-system-with-builder.ts +1 -1
- package/corpus/templates/slides/actions/logo-config.ts +6 -7
- package/corpus/templates/slides/actions/search-images.ts +11 -39
- package/corpus/templates/slides/actions/search-logos.ts +5 -52
- package/corpus/templates/slides/app/components/editor/ImageSearchPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/editor/LogoSearchPanel.tsx +16 -26
- package/corpus/templates/slides/app/entry.client.tsx +6 -1
- package/corpus/templates/slides/server/lib/media-search-providers.ts +216 -0
- package/corpus/templates/slides/server/register-secrets.ts +30 -0
- package/corpus/templates/tasks/.agents/skills/feature-flags/SKILL.md +169 -0
- package/dist/a2a/client.d.ts +38 -1
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +81 -12
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +47 -0
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/index.d.ts +4 -4
- package/dist/a2a/index.d.ts.map +1 -1
- package/dist/a2a/index.js +2 -2
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/invoke.d.ts +26 -2
- package/dist/a2a/invoke.d.ts.map +1 -1
- package/dist/a2a/invoke.js +30 -1
- package/dist/a2a/invoke.js.map +1 -1
- package/dist/a2a/server.d.ts.map +1 -1
- package/dist/a2a/server.js +14 -1
- package/dist/a2a/server.js.map +1 -1
- package/dist/a2a/types.d.ts +12 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/a2a-claims.d.ts +10 -0
- package/dist/a2a-claims.d.ts.map +1 -0
- package/dist/a2a-claims.js +41 -0
- package/dist/a2a-claims.js.map +1 -0
- package/dist/action.d.ts +7 -2
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js.map +1 -1
- package/dist/agent/production-agent.d.ts +5 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +5 -3
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/audit/record.d.ts +3 -0
- package/dist/audit/record.d.ts.map +1 -1
- package/dist/audit/record.js +3 -0
- package/dist/audit/record.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +14 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +158 -136
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +27 -4
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +21 -39
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-sidebar-state.d.ts +1 -0
- package/dist/client/agent-sidebar-state.d.ts.map +1 -1
- package/dist/client/agent-sidebar-state.js +4 -0
- package/dist/client/agent-sidebar-state.js.map +1 -1
- package/dist/client/analytics.d.ts +14 -0
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +67 -0
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +8 -0
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +62 -19
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +6 -0
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +83 -14
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/chat/use-agent-chat-lifecycle-tracking.d.ts +8 -0
- package/dist/client/chat/use-agent-chat-lifecycle-tracking.d.ts.map +1 -0
- package/dist/client/chat/use-agent-chat-lifecycle-tracking.js +51 -0
- package/dist/client/chat/use-agent-chat-lifecycle-tracking.js.map +1 -0
- package/dist/client/chat-thread-url.d.ts +2 -0
- package/dist/client/chat-thread-url.d.ts.map +1 -0
- package/dist/client/chat-thread-url.js +12 -0
- package/dist/client/chat-thread-url.js.map +1 -0
- package/dist/client/error-capture.d.ts.map +1 -1
- package/dist/client/error-capture.js +7 -0
- package/dist/client/error-capture.js.map +1 -1
- package/dist/client/extensions/ExtensionSlot.d.ts +3 -1
- package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionSlot.js +28 -3
- package/dist/client/extensions/ExtensionSlot.js.map +1 -1
- package/dist/client/feature-flags/FeatureFlagsPanel.d.ts +10 -0
- package/dist/client/feature-flags/FeatureFlagsPanel.d.ts.map +1 -0
- package/dist/client/feature-flags/FeatureFlagsPanel.js +143 -0
- package/dist/client/feature-flags/FeatureFlagsPanel.js.map +1 -0
- package/dist/client/feature-flags/helpers.d.ts +16 -0
- package/dist/client/feature-flags/helpers.d.ts.map +1 -0
- package/dist/client/feature-flags/helpers.js +50 -0
- package/dist/client/feature-flags/helpers.js.map +1 -0
- package/dist/client/feature-flags/index.d.ts +5 -0
- package/dist/client/feature-flags/index.d.ts.map +1 -0
- package/dist/client/feature-flags/index.js +4 -0
- package/dist/client/feature-flags/index.js.map +1 -0
- package/dist/client/feature-flags/types.d.ts +27 -0
- package/dist/client/feature-flags/types.d.ts.map +1 -0
- package/dist/client/feature-flags/types.js +2 -0
- package/dist/client/feature-flags/types.js.map +1 -0
- package/dist/client/feature-flags/use-feature-flag.d.ts +8 -0
- package/dist/client/feature-flags/use-feature-flag.d.ts.map +1 -0
- package/dist/client/feature-flags/use-feature-flag.js +15 -0
- package/dist/client/feature-flags/use-feature-flag.js.map +1 -0
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/route-chunk-recovery.d.ts.map +1 -1
- package/dist/client/route-chunk-recovery.js +14 -9
- package/dist/client/route-chunk-recovery.js.map +1 -1
- package/dist/client/session-replay.d.ts +15 -0
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +20 -0
- package/dist/client/session-replay.js.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +2 -10
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/routes.d.ts.map +1 -1
- package/dist/extensions/routes.js +1 -1
- package/dist/extensions/routes.js.map +1 -1
- package/dist/extensions/store.js +1 -1
- package/dist/extensions/store.js.map +1 -1
- package/dist/feature-flags/a2a-action-route.d.ts +14 -0
- package/dist/feature-flags/a2a-action-route.d.ts.map +1 -0
- package/dist/feature-flags/a2a-action-route.js +50 -0
- package/dist/feature-flags/a2a-action-route.js.map +1 -0
- package/dist/feature-flags/actions/get-feature-flags.d.ts +3 -0
- package/dist/feature-flags/actions/get-feature-flags.d.ts.map +1 -0
- package/dist/feature-flags/actions/get-feature-flags.js +18 -0
- package/dist/feature-flags/actions/get-feature-flags.js.map +1 -0
- package/dist/feature-flags/actions/list-feature-flags.d.ts +28 -0
- package/dist/feature-flags/actions/list-feature-flags.d.ts.map +1 -0
- package/dist/feature-flags/actions/list-feature-flags.js +60 -0
- package/dist/feature-flags/actions/list-feature-flags.js.map +1 -0
- package/dist/feature-flags/actions/set-feature-flag.d.ts +26 -0
- package/dist/feature-flags/actions/set-feature-flag.d.ts.map +1 -0
- package/dist/feature-flags/actions/set-feature-flag.js +78 -0
- package/dist/feature-flags/actions/set-feature-flag.js.map +1 -0
- package/dist/feature-flags/index.d.ts +5 -0
- package/dist/feature-flags/index.d.ts.map +1 -0
- package/dist/feature-flags/index.js +5 -0
- package/dist/feature-flags/index.js.map +1 -0
- package/dist/feature-flags/permissions.d.ts +13 -0
- package/dist/feature-flags/permissions.d.ts.map +1 -0
- package/dist/feature-flags/permissions.js +37 -0
- package/dist/feature-flags/permissions.js.map +1 -0
- package/dist/feature-flags/plugin.d.ts +17 -0
- package/dist/feature-flags/plugin.d.ts.map +1 -0
- package/dist/feature-flags/plugin.js +29 -0
- package/dist/feature-flags/plugin.js.map +1 -0
- package/dist/feature-flags/registry.d.ts +23 -0
- package/dist/feature-flags/registry.d.ts.map +1 -0
- package/dist/feature-flags/registry.js +59 -0
- package/dist/feature-flags/registry.js.map +1 -0
- package/dist/feature-flags/store.d.ts +31 -0
- package/dist/feature-flags/store.d.ts.map +1 -0
- package/dist/feature-flags/store.js +124 -0
- package/dist/feature-flags/store.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/localization/default-messages.d.ts +45 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +45 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp/build-server.d.ts +2 -0
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +2 -2
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/progress/actions.d.ts.map +1 -1
- package/dist/progress/actions.js +3 -2
- package/dist/progress/actions.js.map +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +91 -8
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +107 -16
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +12 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.d.ts +3 -0
- package/dist/server/action-routes.d.ts.map +1 -1
- package/dist/server/action-routes.js +45 -5
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.d.ts +6 -0
- package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.js +27 -0
- package/dist/server/agent-chat/action-filters-a2a.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +27 -1
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/settings/org-settings.d.ts +2 -0
- package/dist/settings/org-settings.d.ts.map +1 -1
- package/dist/settings/org-settings.js +5 -1
- package/dist/settings/org-settings.js.map +1 -1
- package/dist/settings/store.d.ts +8 -0
- package/dist/settings/store.d.ts.map +1 -1
- package/dist/settings/store.js +48 -0
- package/dist/settings/store.js.map +1 -1
- package/dist/styles/agent-conversation.css +7 -0
- package/dist/templates/chat/.agents/skills/feature-flags/SKILL.md +169 -0
- package/dist/templates/default/.agents/skills/feature-flags/SKILL.md +169 -0
- package/dist/templates/default/AGENTS.md +1 -0
- package/dist/templates/default/app/i18n/ar-SA.ts +20 -0
- package/dist/templates/default/app/i18n/de-DE.ts +20 -0
- package/dist/templates/default/app/i18n/en-US.ts +20 -0
- package/dist/templates/default/app/i18n/es-ES.ts +20 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +21 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +19 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +20 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +19 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +20 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +19 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +19 -0
- package/dist/templates/headless/.agents/skills/feature-flags/SKILL.md +169 -0
- package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +28 -0
- package/dist/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +5 -0
- package/dist/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +169 -0
- package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +13 -0
- package/dist/templates/workspace-core/AGENTS.md +1 -1
- package/dist/templates/workspace-root/AGENTS.md +1 -1
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +12 -0
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/docs/content/actions.mdx +48 -0
- package/docs/content/locales/ar-SA/actions.mdx +38 -0
- package/docs/content/locales/de-DE/actions.mdx +38 -0
- package/docs/content/locales/es-ES/actions.mdx +38 -0
- package/docs/content/locales/fr-FR/actions.mdx +38 -0
- package/docs/content/locales/hi-IN/actions.mdx +38 -0
- package/docs/content/locales/ja-JP/actions.mdx +38 -0
- package/docs/content/locales/ko-KR/actions.mdx +38 -0
- package/docs/content/locales/pt-BR/actions.mdx +38 -0
- package/docs/content/locales/zh-CN/actions.mdx +38 -0
- package/docs/content/locales/zh-TW/actions.mdx +38 -0
- package/package.json +5 -1
- package/src/templates/chat/.agents/skills/feature-flags/SKILL.md +169 -0
- package/src/templates/default/.agents/skills/feature-flags/SKILL.md +169 -0
- package/src/templates/default/AGENTS.md +1 -0
- package/src/templates/default/app/i18n/ar-SA.ts +20 -0
- package/src/templates/default/app/i18n/de-DE.ts +20 -0
- package/src/templates/default/app/i18n/en-US.ts +20 -0
- package/src/templates/default/app/i18n/es-ES.ts +20 -0
- package/src/templates/default/app/i18n/fr-FR.ts +21 -0
- package/src/templates/default/app/i18n/hi-IN.ts +19 -0
- package/src/templates/default/app/i18n/ja-JP.ts +20 -0
- package/src/templates/default/app/i18n/ko-KR.ts +19 -0
- package/src/templates/default/app/i18n/pt-BR.ts +20 -0
- package/src/templates/default/app/i18n/zh-CN.ts +19 -0
- package/src/templates/default/app/i18n/zh-TW.ts +19 -0
- package/src/templates/headless/.agents/skills/feature-flags/SKILL.md +169 -0
- package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +28 -0
- package/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +5 -0
- package/src/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +169 -0
- package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +13 -0
- package/src/templates/workspace-core/AGENTS.md +1 -1
- package/src/templates/workspace-root/AGENTS.md +1 -1
- package/corpus/templates/analytics/server/handlers/github.ts +0 -200
- package/corpus/templates/analytics/server/handlers/pylon.ts +0 -43
- package/corpus/templates/analytics/server/lib/apollo.ts +0 -167
- package/corpus/templates/analytics/server/lib/commonroom.ts +0 -149
- package/corpus/templates/analytics/server/lib/github.ts +0 -660
- package/corpus/templates/analytics/server/lib/mixpanel.ts +0 -156
- package/corpus/templates/analytics/server/lib/posthog.ts +0 -194
- package/corpus/templates/analytics/server/lib/pylon.ts +0 -109
- package/corpus/templates/analytics/server/routes/api/github/graphql.post.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/github/issue.get.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/github/org-prs.get.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/github/pr.get.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/github/prs.get.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/github/search.get.ts +0 -1
- package/corpus/templates/clips/actions/get-feature-flags.ts +0 -30
- package/corpus/templates/slides/actions/fetch-logos.ts +0 -90
- package/corpus/templates/slides/actions/image-search.ts +0 -64
- package/corpus/templates/slides/actions/import-github.ts +0 -182
- package/corpus/templates/slides/actions/logo-lookup.ts +0 -113
|
@@ -459,6 +459,27 @@ const enUS = {
|
|
|
459
459
|
deleteConnectionTitle: "Delete database connection?",
|
|
460
460
|
deleteConnectionDescription:
|
|
461
461
|
"This removes {{name}} from Analytics and deletes its stored connection secrets. The target app database is not modified.",
|
|
462
|
+
featureFlags: "Feature flags",
|
|
463
|
+
featureFlagsDescription:
|
|
464
|
+
"Review registered app flags and make deliberate, reversible rollout changes.",
|
|
465
|
+
reloadFlags: "Reload flags",
|
|
466
|
+
loading: "Loading",
|
|
467
|
+
flagsUnavailable: "Feature flags are unavailable",
|
|
468
|
+
flagsUnreachable:
|
|
469
|
+
"The workspace directory could not be reached. Retry when its connection is available.",
|
|
470
|
+
flagsEmpty: "No workspace apps reported flags",
|
|
471
|
+
flagsEmptyDetail:
|
|
472
|
+
"Registered flags will appear here when connected apps are ready.",
|
|
473
|
+
flagsNotReady:
|
|
474
|
+
"This app is {{status}}. Its flag state is not assumed to be off.",
|
|
475
|
+
noFlagDefinitions: "This ready app has no registered flag definitions.",
|
|
476
|
+
noFlagDescription: "No description supplied.",
|
|
477
|
+
selected: "Selected",
|
|
478
|
+
openFlag: "Open feature flag",
|
|
479
|
+
confirm: "Confirm",
|
|
480
|
+
name: "Name",
|
|
481
|
+
appId: "App ID",
|
|
482
|
+
flagKey: "Feature flag",
|
|
462
483
|
},
|
|
463
484
|
providerCorpusNotifier: {
|
|
464
485
|
completed: "Provider corpus job completed",
|
|
@@ -887,12 +908,25 @@ const enUS = {
|
|
|
887
908
|
chartTypePie: "Pie",
|
|
888
909
|
chartTypeMetric: "Metric",
|
|
889
910
|
chartTypeTable: "Table",
|
|
911
|
+
chartTypeExtension: "Extension",
|
|
890
912
|
failedToSavePanel: "Failed to save panel",
|
|
891
913
|
failedToFormatSql: "Failed to format SQL",
|
|
892
914
|
title: "Title",
|
|
893
915
|
titlePlaceholder: "e.g. Weekly signups",
|
|
894
916
|
chartType: "Chart type",
|
|
895
917
|
source: "Source",
|
|
918
|
+
extensionDisplay: "Extension display",
|
|
919
|
+
sharedExtension: "Shared extension",
|
|
920
|
+
perViewerSlot: "Per-viewer slot",
|
|
921
|
+
extension: "Extension",
|
|
922
|
+
loadingExtensions: "Loading extensions...",
|
|
923
|
+
selectExtension: "Select an extension",
|
|
924
|
+
noExtensions: "No visible extensions. Create or share one first.",
|
|
925
|
+
sharedExtensionHelp:
|
|
926
|
+
"The selected extension is shared with this dashboard and appears in scheduled reports. Viewers still need access to the extension.",
|
|
927
|
+
slotIdOptional: "Slot ID (optional)",
|
|
928
|
+
perViewerSlotHelp:
|
|
929
|
+
"Each viewer installs their own extension. Scheduled reports may show an empty slot. Leave blank to generate a stable ID.",
|
|
896
930
|
sectionColumns: "Section columns",
|
|
897
931
|
format: "Format",
|
|
898
932
|
filterInterpolation: "Use {{example}} to interpolate filter values.",
|
|
@@ -1331,12 +1365,25 @@ const analyticsSliceTranslations: {
|
|
|
1331
1365
|
chartTypePie: "馅饼",
|
|
1332
1366
|
chartTypeMetric: "公制",
|
|
1333
1367
|
chartTypeTable: "桌子",
|
|
1368
|
+
chartTypeExtension: "扩展",
|
|
1334
1369
|
failedToSavePanel: "保存面板失败",
|
|
1335
1370
|
failedToFormatSql: "格式化SQL失败",
|
|
1336
1371
|
title: "标题",
|
|
1337
1372
|
titlePlaceholder: "例如每周注册人数",
|
|
1338
1373
|
chartType: "图表类型",
|
|
1339
1374
|
source: "来源",
|
|
1375
|
+
extensionDisplay: "扩展显示方式",
|
|
1376
|
+
sharedExtension: "共享扩展",
|
|
1377
|
+
perViewerSlot: "每位查看者的插槽",
|
|
1378
|
+
extension: "扩展",
|
|
1379
|
+
loadingExtensions: "正在加载扩展...",
|
|
1380
|
+
selectExtension: "选择扩展",
|
|
1381
|
+
noExtensions: "没有可见的扩展。请先创建或共享一个。",
|
|
1382
|
+
sharedExtensionHelp:
|
|
1383
|
+
"所选扩展会与此仪表板共享并显示在计划报告中。查看者仍需拥有该扩展的访问权限。",
|
|
1384
|
+
slotIdOptional: "插槽 ID(可选)",
|
|
1385
|
+
perViewerSlotHelp:
|
|
1386
|
+
"每位查看者各自安装扩展。计划报告可能显示空插槽。留空即可生成稳定 ID。",
|
|
1340
1387
|
sectionColumns: "剖面列",
|
|
1341
1388
|
format: "格式",
|
|
1342
1389
|
filterInterpolation: "使用 {{example}} 插值滤波器值。",
|
|
@@ -1606,12 +1653,25 @@ const analyticsSliceTranslations: {
|
|
|
1606
1653
|
chartTypePie: "Pastel",
|
|
1607
1654
|
chartTypeMetric: "Métrico",
|
|
1608
1655
|
chartTypeTable: "Mesa",
|
|
1656
|
+
chartTypeExtension: "Extensión",
|
|
1609
1657
|
failedToSavePanel: "No se pudo guardar el panel",
|
|
1610
1658
|
failedToFormatSql: "No se pudo formatear SQL",
|
|
1611
1659
|
title: "Título",
|
|
1612
1660
|
titlePlaceholder: "p.ej. Inscripciones semanales",
|
|
1613
1661
|
chartType: "Tipo de gráfico",
|
|
1614
1662
|
source: "Fuente",
|
|
1663
|
+
extensionDisplay: "Visualización de extensión",
|
|
1664
|
+
sharedExtension: "Extensión compartida",
|
|
1665
|
+
perViewerSlot: "Espacio por usuario",
|
|
1666
|
+
extension: "Extensión",
|
|
1667
|
+
loadingExtensions: "Cargando extensiones...",
|
|
1668
|
+
selectExtension: "Selecciona una extensión",
|
|
1669
|
+
noExtensions: "No hay extensiones visibles. Crea o comparte una primero.",
|
|
1670
|
+
sharedExtensionHelp:
|
|
1671
|
+
"La extensión seleccionada se comparte con este panel y aparece en los informes programados. Los usuarios aún necesitan acceso a ella.",
|
|
1672
|
+
slotIdOptional: "ID del espacio (opcional)",
|
|
1673
|
+
perViewerSlotHelp:
|
|
1674
|
+
"Cada usuario instala su propia extensión. Los informes programados pueden mostrar un espacio vacío. Déjalo en blanco para generar un ID estable.",
|
|
1615
1675
|
sectionColumns: "Columnas de sección",
|
|
1616
1676
|
format: "Formato",
|
|
1617
1677
|
filterInterpolation:
|
|
@@ -1897,12 +1957,25 @@ const analyticsSliceTranslations: {
|
|
|
1897
1957
|
chartTypePie: "Tarte",
|
|
1898
1958
|
chartTypeMetric: "Métrique",
|
|
1899
1959
|
chartTypeTable: "Tableau",
|
|
1960
|
+
chartTypeExtension: "Extension",
|
|
1900
1961
|
failedToSavePanel: "Échec de l'enregistrement du panneau",
|
|
1901
1962
|
failedToFormatSql: "Échec du formatage du SQL",
|
|
1902
1963
|
title: "Titre",
|
|
1903
1964
|
titlePlaceholder: "par ex. Inscriptions hebdomadaires",
|
|
1904
1965
|
chartType: "Type de graphique",
|
|
1905
1966
|
source: "Source de données",
|
|
1967
|
+
extensionDisplay: "Affichage de l'extension",
|
|
1968
|
+
sharedExtension: "Extension partagée",
|
|
1969
|
+
perViewerSlot: "Emplacement par utilisateur",
|
|
1970
|
+
extension: "Extension",
|
|
1971
|
+
loadingExtensions: "Chargement des extensions...",
|
|
1972
|
+
selectExtension: "Sélectionner une extension",
|
|
1973
|
+
noExtensions: "Aucune extension visible. Créez-en ou partagez-en une.",
|
|
1974
|
+
sharedExtensionHelp:
|
|
1975
|
+
"L'extension sélectionnée est partagée avec ce tableau de bord et apparaît dans les rapports planifiés. Les utilisateurs doivent toujours y avoir accès.",
|
|
1976
|
+
slotIdOptional: "ID de l'emplacement (facultatif)",
|
|
1977
|
+
perViewerSlotHelp:
|
|
1978
|
+
"Chaque utilisateur installe sa propre extension. Les rapports planifiés peuvent afficher un emplacement vide. Laissez ce champ vide pour générer un ID stable.",
|
|
1906
1979
|
sectionColumns: "Colonnes de section",
|
|
1907
1980
|
format: "Mettre en forme",
|
|
1908
1981
|
filterInterpolation:
|
|
@@ -2186,12 +2259,26 @@ const analyticsSliceTranslations: {
|
|
|
2186
2259
|
chartTypePie: "Torte",
|
|
2187
2260
|
chartTypeMetric: "Metrisch",
|
|
2188
2261
|
chartTypeTable: "Tisch",
|
|
2262
|
+
chartTypeExtension: "Erweiterung",
|
|
2189
2263
|
failedToSavePanel: "Das Panel konnte nicht gespeichert werden",
|
|
2190
2264
|
failedToFormatSql: "SQL konnte nicht formatiert werden",
|
|
2191
2265
|
title: "Titel",
|
|
2192
2266
|
titlePlaceholder: "z.B. Wöchentliche Anmeldungen",
|
|
2193
2267
|
chartType: "Diagrammtyp",
|
|
2194
2268
|
source: "Datenquelle",
|
|
2269
|
+
extensionDisplay: "Erweiterungsanzeige",
|
|
2270
|
+
sharedExtension: "Geteilte Erweiterung",
|
|
2271
|
+
perViewerSlot: "Slot pro Betrachter",
|
|
2272
|
+
extension: "Erweiterung",
|
|
2273
|
+
loadingExtensions: "Erweiterungen werden geladen...",
|
|
2274
|
+
selectExtension: "Erweiterung auswählen",
|
|
2275
|
+
noExtensions:
|
|
2276
|
+
"Keine sichtbaren Erweiterungen. Erstellen oder teilen Sie zuerst eine.",
|
|
2277
|
+
sharedExtensionHelp:
|
|
2278
|
+
"Die ausgewählte Erweiterung wird mit diesem Dashboard geteilt und erscheint in geplanten Berichten. Betrachter benötigen weiterhin Zugriff darauf.",
|
|
2279
|
+
slotIdOptional: "Slot-ID (optional)",
|
|
2280
|
+
perViewerSlotHelp:
|
|
2281
|
+
"Jeder Betrachter installiert eine eigene Erweiterung. Geplante Berichte können einen leeren Slot zeigen. Leer lassen, um eine stabile ID zu erzeugen.",
|
|
2195
2282
|
sectionColumns: "Abschnittsspalten",
|
|
2196
2283
|
format: "Formatieren",
|
|
2197
2284
|
filterInterpolation:
|
|
@@ -2471,12 +2558,26 @@ const analyticsSliceTranslations: {
|
|
|
2471
2558
|
chartTypePie: "パイ",
|
|
2472
2559
|
chartTypeMetric: "メトリック",
|
|
2473
2560
|
chartTypeTable: "テーブル",
|
|
2561
|
+
chartTypeExtension: "拡張機能",
|
|
2474
2562
|
failedToSavePanel: "パネルの保存に失敗しました",
|
|
2475
2563
|
failedToFormatSql: "SQLのフォーマットに失敗しました",
|
|
2476
2564
|
title: "タイトル",
|
|
2477
2565
|
titlePlaceholder: "例えば毎週のサインアップ",
|
|
2478
2566
|
chartType: "グラフの種類",
|
|
2479
2567
|
source: "ソース",
|
|
2568
|
+
extensionDisplay: "拡張機能の表示",
|
|
2569
|
+
sharedExtension: "共有拡張機能",
|
|
2570
|
+
perViewerSlot: "閲覧者ごとのスロット",
|
|
2571
|
+
extension: "拡張機能",
|
|
2572
|
+
loadingExtensions: "拡張機能を読み込んでいます...",
|
|
2573
|
+
selectExtension: "拡張機能を選択",
|
|
2574
|
+
noExtensions:
|
|
2575
|
+
"表示できる拡張機能がありません。先に作成または共有してください。",
|
|
2576
|
+
sharedExtensionHelp:
|
|
2577
|
+
"選択した拡張機能はこのダッシュボードと共有され、スケジュール済みレポートにも表示されます。閲覧者には拡張機能へのアクセス権が必要です。",
|
|
2578
|
+
slotIdOptional: "スロット ID(任意)",
|
|
2579
|
+
perViewerSlotHelp:
|
|
2580
|
+
"各閲覧者が自分の拡張機能をインストールします。スケジュール済みレポートでは空のスロットが表示される場合があります。空欄にすると安定した ID が生成されます。",
|
|
2480
2581
|
sectionColumns: "セクション列",
|
|
2481
2582
|
format: "形式",
|
|
2482
2583
|
filterInterpolation:
|
|
@@ -2750,12 +2851,26 @@ const analyticsSliceTranslations: {
|
|
|
2750
2851
|
chartTypePie: "파이",
|
|
2751
2852
|
chartTypeMetric: "미터법",
|
|
2752
2853
|
chartTypeTable: "테이블",
|
|
2854
|
+
chartTypeExtension: "확장 프로그램",
|
|
2753
2855
|
failedToSavePanel: "패널을 저장하지 못했습니다.",
|
|
2754
2856
|
failedToFormatSql: "SQL 포맷 실패",
|
|
2755
2857
|
title: "제목",
|
|
2756
2858
|
titlePlaceholder: "예를 들어 주간 가입",
|
|
2757
2859
|
chartType: "차트 종류",
|
|
2758
2860
|
source: "소스",
|
|
2861
|
+
extensionDisplay: "확장 프로그램 표시",
|
|
2862
|
+
sharedExtension: "공유 확장 프로그램",
|
|
2863
|
+
perViewerSlot: "사용자별 슬롯",
|
|
2864
|
+
extension: "확장 프로그램",
|
|
2865
|
+
loadingExtensions: "확장 프로그램을 불러오는 중...",
|
|
2866
|
+
selectExtension: "확장 프로그램 선택",
|
|
2867
|
+
noExtensions:
|
|
2868
|
+
"표시할 확장 프로그램이 없습니다. 먼저 만들거나 공유하세요.",
|
|
2869
|
+
sharedExtensionHelp:
|
|
2870
|
+
"선택한 확장 프로그램은 이 대시보드와 공유되며 예약 보고서에 표시됩니다. 사용자는 해당 확장 프로그램에 대한 액세스 권한이 필요합니다.",
|
|
2871
|
+
slotIdOptional: "슬롯 ID(선택 사항)",
|
|
2872
|
+
perViewerSlotHelp:
|
|
2873
|
+
"각 사용자가 자신의 확장 프로그램을 설치합니다. 예약 보고서에는 빈 슬롯이 표시될 수 있습니다. 비워 두면 안정적인 ID가 생성됩니다.",
|
|
2759
2874
|
sectionColumns: "섹션 열",
|
|
2760
2875
|
format: "체재",
|
|
2761
2876
|
filterInterpolation: "{{example}}를 사용하여 필터 값을 보간합니다.",
|
|
@@ -3028,12 +3143,26 @@ const analyticsSliceTranslations: {
|
|
|
3028
3143
|
chartTypePie: "Torta",
|
|
3029
3144
|
chartTypeMetric: "Métrica",
|
|
3030
3145
|
chartTypeTable: "Mesa",
|
|
3146
|
+
chartTypeExtension: "Extensão",
|
|
3031
3147
|
failedToSavePanel: "Falha ao salvar painel",
|
|
3032
3148
|
failedToFormatSql: "Falha ao formatar SQL",
|
|
3033
3149
|
title: "Título",
|
|
3034
3150
|
titlePlaceholder: "por exemplo Inscrições semanais",
|
|
3035
3151
|
chartType: "Tipo de gráfico",
|
|
3036
3152
|
source: "Fonte",
|
|
3153
|
+
extensionDisplay: "Exibição da extensão",
|
|
3154
|
+
sharedExtension: "Extensão compartilhada",
|
|
3155
|
+
perViewerSlot: "Slot por usuário",
|
|
3156
|
+
extension: "Extensão",
|
|
3157
|
+
loadingExtensions: "Carregando extensões...",
|
|
3158
|
+
selectExtension: "Selecione uma extensão",
|
|
3159
|
+
noExtensions:
|
|
3160
|
+
"Nenhuma extensão visível. Crie ou compartilhe uma primeiro.",
|
|
3161
|
+
sharedExtensionHelp:
|
|
3162
|
+
"A extensão selecionada é compartilhada com este painel e aparece nos relatórios agendados. Os usuários ainda precisam de acesso à extensão.",
|
|
3163
|
+
slotIdOptional: "ID do slot (opcional)",
|
|
3164
|
+
perViewerSlotHelp:
|
|
3165
|
+
"Cada usuário instala sua própria extensão. Relatórios agendados podem mostrar um slot vazio. Deixe em branco para gerar um ID estável.",
|
|
3037
3166
|
sectionColumns: "Colunas de seção",
|
|
3038
3167
|
format: "Formatar",
|
|
3039
3168
|
filterInterpolation: "Use {{example}} para interpolar valores de filtro.",
|
|
@@ -3309,12 +3438,25 @@ const analyticsSliceTranslations: {
|
|
|
3309
3438
|
chartTypePie: "पाई",
|
|
3310
3439
|
chartTypeMetric: "मीट्रिक",
|
|
3311
3440
|
chartTypeTable: "मेज़",
|
|
3441
|
+
chartTypeExtension: "एक्सटेंशन",
|
|
3312
3442
|
failedToSavePanel: "पैनल सहेजने में विफल",
|
|
3313
3443
|
failedToFormatSql: "SQL को फ़ॉर्मेट करने में विफल",
|
|
3314
3444
|
title: "शीर्षक",
|
|
3315
3445
|
titlePlaceholder: "जैसे साप्ताहिक साइनअप",
|
|
3316
3446
|
chartType: "चार्ट प्रकार",
|
|
3317
3447
|
source: "स्रोत",
|
|
3448
|
+
extensionDisplay: "एक्सटेंशन प्रदर्शन",
|
|
3449
|
+
sharedExtension: "साझा एक्सटेंशन",
|
|
3450
|
+
perViewerSlot: "प्रति-दर्शक स्लॉट",
|
|
3451
|
+
extension: "एक्सटेंशन",
|
|
3452
|
+
loadingExtensions: "एक्सटेंशन लोड हो रहे हैं...",
|
|
3453
|
+
selectExtension: "एक एक्सटेंशन चुनें",
|
|
3454
|
+
noExtensions: "कोई दृश्यमान एक्सटेंशन नहीं है। पहले एक बनाएं या साझा करें।",
|
|
3455
|
+
sharedExtensionHelp:
|
|
3456
|
+
"चुना गया एक्सटेंशन इस डैशबोर्ड के साथ साझा होता है और निर्धारित रिपोर्ट में दिखाई देता है। दर्शकों को फिर भी एक्सटेंशन की पहुंच चाहिए।",
|
|
3457
|
+
slotIdOptional: "स्लॉट ID (वैकल्पिक)",
|
|
3458
|
+
perViewerSlotHelp:
|
|
3459
|
+
"हर दर्शक अपना एक्सटेंशन इंस्टॉल करता है। निर्धारित रिपोर्ट में खाली स्लॉट दिख सकता है। स्थिर ID बनाने के लिए खाली छोड़ें।",
|
|
3318
3460
|
sectionColumns: "अनुभाग स्तंभ",
|
|
3319
3461
|
format: "प्रारूप",
|
|
3320
3462
|
filterInterpolation:
|
|
@@ -3584,12 +3726,25 @@ const analyticsSliceTranslations: {
|
|
|
3584
3726
|
chartTypePie: "فطيرة",
|
|
3585
3727
|
chartTypeMetric: "متري",
|
|
3586
3728
|
chartTypeTable: "طاولة",
|
|
3729
|
+
chartTypeExtension: "إضافة",
|
|
3587
3730
|
failedToSavePanel: "فشل حفظ اللوحة",
|
|
3588
3731
|
failedToFormatSql: "فشل تهيئة SQL",
|
|
3589
3732
|
title: "عنوان",
|
|
3590
3733
|
titlePlaceholder: "على سبيل المثال الاشتراكات الأسبوعية",
|
|
3591
3734
|
chartType: "نوع الرسم البياني",
|
|
3592
3735
|
source: "المصدر",
|
|
3736
|
+
extensionDisplay: "عرض الإضافة",
|
|
3737
|
+
sharedExtension: "إضافة مشتركة",
|
|
3738
|
+
perViewerSlot: "فتحة لكل مشاهد",
|
|
3739
|
+
extension: "إضافة",
|
|
3740
|
+
loadingExtensions: "جارٍ تحميل الإضافات...",
|
|
3741
|
+
selectExtension: "اختر إضافة",
|
|
3742
|
+
noExtensions: "لا توجد إضافات ظاهرة. أنشئ إضافة أو شاركها أولاً.",
|
|
3743
|
+
sharedExtensionHelp:
|
|
3744
|
+
"تتم مشاركة الإضافة المحددة مع لوحة المعلومات هذه وتظهر في التقارير المجدولة. لا يزال المشاهدون بحاجة إلى صلاحية الوصول إليها.",
|
|
3745
|
+
slotIdOptional: "معرّف الفتحة (اختياري)",
|
|
3746
|
+
perViewerSlotHelp:
|
|
3747
|
+
"يثبّت كل مشاهد إضافته الخاصة. قد تعرض التقارير المجدولة فتحة فارغة. اتركه فارغاً لإنشاء معرّف ثابت.",
|
|
3593
3748
|
sectionColumns: "أعمدة القسم",
|
|
3594
3749
|
format: "شكل",
|
|
3595
3750
|
filterInterpolation: "استخدم {{example}} لاستكمال قيم التصفية.",
|
|
@@ -10801,6 +10956,224 @@ for (const [locale, overrides] of Object.entries(
|
|
|
10801
10956
|
}
|
|
10802
10957
|
}
|
|
10803
10958
|
|
|
10959
|
+
const translatedFeatureFlagAdminTranslations = {
|
|
10960
|
+
"zh-CN": {
|
|
10961
|
+
agents: {
|
|
10962
|
+
featureFlags: "功能开关",
|
|
10963
|
+
featureFlagsDescription: "查看已注册应用开关,并进行可逆的发布调整。",
|
|
10964
|
+
reloadFlags: "重新加载开关",
|
|
10965
|
+
flagsUnavailable: "功能开关不可用",
|
|
10966
|
+
flagsUnreachable: "无法连接工作区目录。连接恢复后重试。",
|
|
10967
|
+
flagsEmpty: "没有应用报告功能开关",
|
|
10968
|
+
flagsEmptyDetail: "连接的应用准备就绪后,已注册开关会显示在这里。",
|
|
10969
|
+
flagsNotReady: "此应用状态为 {{status}},不会将其开关状态假定为关闭。",
|
|
10970
|
+
noFlagDefinitions: "此应用没有注册功能开关定义。",
|
|
10971
|
+
noFlagDescription: "未提供说明。",
|
|
10972
|
+
selected: "已选择",
|
|
10973
|
+
openFlag: "打开功能开关",
|
|
10974
|
+
confirm: "确认",
|
|
10975
|
+
name: "名称",
|
|
10976
|
+
appId: "应用 ID",
|
|
10977
|
+
flagKey: "功能开关",
|
|
10978
|
+
},
|
|
10979
|
+
},
|
|
10980
|
+
"es-ES": {
|
|
10981
|
+
agents: {
|
|
10982
|
+
featureFlags: "Indicadores de funciones",
|
|
10983
|
+
featureFlagsDescription:
|
|
10984
|
+
"Revisa los indicadores de las aplicaciones registradas y aplica cambios de lanzamiento reversibles.",
|
|
10985
|
+
reloadFlags: "Volver a cargar indicadores",
|
|
10986
|
+
flagsUnavailable: "Los indicadores de funciones no están disponibles",
|
|
10987
|
+
flagsUnreachable:
|
|
10988
|
+
"No se pudo acceder al directorio del espacio de trabajo. Inténtalo de nuevo cuando esté disponible.",
|
|
10989
|
+
flagsEmpty: "Ninguna aplicación informó indicadores",
|
|
10990
|
+
flagsEmptyDetail:
|
|
10991
|
+
"Los indicadores registrados aparecerán aquí cuando las aplicaciones conectadas estén listas.",
|
|
10992
|
+
flagsNotReady:
|
|
10993
|
+
"Esta aplicación está {{status}}; su estado no se supone desactivado.",
|
|
10994
|
+
noFlagDefinitions:
|
|
10995
|
+
"Esta aplicación lista no tiene definiciones de indicadores.",
|
|
10996
|
+
noFlagDescription: "No se proporcionó descripción.",
|
|
10997
|
+
selected: "Seleccionado",
|
|
10998
|
+
openFlag: "Abrir indicador",
|
|
10999
|
+
confirm: "Confirmar",
|
|
11000
|
+
name: "Nombre",
|
|
11001
|
+
appId: "ID de aplicación",
|
|
11002
|
+
flagKey: "Indicador de función",
|
|
11003
|
+
},
|
|
11004
|
+
},
|
|
11005
|
+
"fr-FR": {
|
|
11006
|
+
agents: {
|
|
11007
|
+
featureFlags: "Indicateurs de fonctionnalités",
|
|
11008
|
+
featureFlagsDescription:
|
|
11009
|
+
"Examinez les indicateurs d'applications enregistrées et appliquez des changements de déploiement réversibles.",
|
|
11010
|
+
reloadFlags: "Recharger les indicateurs",
|
|
11011
|
+
flagsUnavailable: "Les indicateurs de fonctionnalités sont indisponibles",
|
|
11012
|
+
flagsUnreachable:
|
|
11013
|
+
"Le répertoire de l'espace de travail est inaccessible. Réessayez lorsqu'il sera disponible.",
|
|
11014
|
+
flagsEmpty: "Aucune application n'a signalé d'indicateur",
|
|
11015
|
+
flagsEmptyDetail:
|
|
11016
|
+
"Les indicateurs enregistrés apparaîtront ici lorsque les applications connectées seront prêtes.",
|
|
11017
|
+
flagsNotReady:
|
|
11018
|
+
"Cette application est {{status}} ; son état n'est pas supposé désactivé.",
|
|
11019
|
+
noFlagDefinitions:
|
|
11020
|
+
"Cette application prête n'a aucune définition d'indicateur.",
|
|
11021
|
+
noFlagDescription: "Aucune description fournie.",
|
|
11022
|
+
selected: "Sélectionné",
|
|
11023
|
+
openFlag: "Ouvrir l'indicateur",
|
|
11024
|
+
confirm: "Confirmer",
|
|
11025
|
+
name: "Nom",
|
|
11026
|
+
appId: "ID d'application",
|
|
11027
|
+
flagKey: "Indicateur de fonctionnalité",
|
|
11028
|
+
},
|
|
11029
|
+
},
|
|
11030
|
+
"de-DE": {
|
|
11031
|
+
agents: {
|
|
11032
|
+
featureFlags: "Funktionsschalter",
|
|
11033
|
+
featureFlagsDescription:
|
|
11034
|
+
"Prüfe registrierte App-Schalter und nimm bewusste, rückgängig machbare Rollout-Änderungen vor.",
|
|
11035
|
+
reloadFlags: "Funktionsschalter neu laden",
|
|
11036
|
+
flagsUnavailable: "Funktionsschalter sind nicht verfügbar",
|
|
11037
|
+
flagsUnreachable:
|
|
11038
|
+
"Das Arbeitsbereichsverzeichnis konnte nicht erreicht werden. Versuche es erneut, wenn die Verbindung verfügbar ist.",
|
|
11039
|
+
flagsEmpty: "Keine Arbeitsbereichs-App meldet Funktionsschalter",
|
|
11040
|
+
flagsEmptyDetail:
|
|
11041
|
+
"Registrierte Schalter erscheinen hier, sobald verbundene Apps bereit sind.",
|
|
11042
|
+
flagsNotReady:
|
|
11043
|
+
"Diese App ist {{status}}; ihr Schalterzustand wird nicht als aus angenommen.",
|
|
11044
|
+
noFlagDefinitions:
|
|
11045
|
+
"Diese bereite App hat keine registrierten Schalterdefinitionen.",
|
|
11046
|
+
noFlagDescription: "Keine Beschreibung vorhanden.",
|
|
11047
|
+
selected: "Ausgewählt",
|
|
11048
|
+
openFlag: "Funktionsschalter öffnen",
|
|
11049
|
+
confirm: "Bestätigen",
|
|
11050
|
+
name: "Name",
|
|
11051
|
+
appId: "App-ID",
|
|
11052
|
+
flagKey: "Funktionsschalter",
|
|
11053
|
+
},
|
|
11054
|
+
},
|
|
11055
|
+
"pt-BR": {
|
|
11056
|
+
agents: {
|
|
11057
|
+
featureFlags: "Sinalizadores de recursos",
|
|
11058
|
+
featureFlagsDescription:
|
|
11059
|
+
"Revise sinalizadores de apps registrados e faça mudanças de lançamento reversíveis.",
|
|
11060
|
+
reloadFlags: "Recarregar sinalizadores",
|
|
11061
|
+
flagsUnavailable: "Sinalizadores de recursos indisponíveis",
|
|
11062
|
+
flagsUnreachable:
|
|
11063
|
+
"Não foi possível acessar o diretório do espaço de trabalho. Tente novamente quando estiver disponível.",
|
|
11064
|
+
flagsEmpty: "Nenhum app informou sinalizadores",
|
|
11065
|
+
flagsEmptyDetail:
|
|
11066
|
+
"Sinalizadores registrados aparecerão aqui quando os apps conectados estiverem prontos.",
|
|
11067
|
+
flagsNotReady:
|
|
11068
|
+
"Este app está {{status}}; seu estado não é considerado desligado.",
|
|
11069
|
+
noFlagDefinitions:
|
|
11070
|
+
"Este app pronto não tem definições de sinalizador registradas.",
|
|
11071
|
+
noFlagDescription: "Nenhuma descrição fornecida.",
|
|
11072
|
+
selected: "Selecionado",
|
|
11073
|
+
openFlag: "Abrir sinalizador",
|
|
11074
|
+
confirm: "Confirmar",
|
|
11075
|
+
name: "Nome",
|
|
11076
|
+
appId: "ID do app",
|
|
11077
|
+
flagKey: "Sinalizador de recurso",
|
|
11078
|
+
},
|
|
11079
|
+
},
|
|
11080
|
+
"ja-JP": {
|
|
11081
|
+
agents: {
|
|
11082
|
+
featureFlags: "機能フラグ",
|
|
11083
|
+
featureFlagsDescription:
|
|
11084
|
+
"登録済みアプリのフラグを確認し、元に戻せるロールアウト変更を行います。",
|
|
11085
|
+
reloadFlags: "機能フラグを再読み込み",
|
|
11086
|
+
flagsUnavailable: "機能フラグを利用できません",
|
|
11087
|
+
flagsUnreachable:
|
|
11088
|
+
"ワークスペースディレクトリに接続できません。接続可能になったら再試行してください。",
|
|
11089
|
+
flagsEmpty: "フラグを報告したワークスペースアプリはありません",
|
|
11090
|
+
flagsEmptyDetail:
|
|
11091
|
+
"接続済みアプリの準備ができると、登録済みフラグがここに表示されます。",
|
|
11092
|
+
flagsNotReady:
|
|
11093
|
+
"このアプリは {{status}} です。フラグ状態をオフとは見なしません。",
|
|
11094
|
+
noFlagDefinitions:
|
|
11095
|
+
"この準備済みアプリには登録済みフラグ定義がありません。",
|
|
11096
|
+
noFlagDescription: "説明はありません。",
|
|
11097
|
+
selected: "選択済み",
|
|
11098
|
+
openFlag: "機能フラグを開く",
|
|
11099
|
+
confirm: "確認",
|
|
11100
|
+
name: "名前",
|
|
11101
|
+
appId: "アプリ ID",
|
|
11102
|
+
flagKey: "機能フラグ",
|
|
11103
|
+
},
|
|
11104
|
+
},
|
|
11105
|
+
"ko-KR": {
|
|
11106
|
+
agents: {
|
|
11107
|
+
featureFlags: "기능 플래그",
|
|
11108
|
+
featureFlagsDescription:
|
|
11109
|
+
"등록된 앱 플래그를 검토하고 되돌릴 수 있는 출시 변경을 적용합니다.",
|
|
11110
|
+
reloadFlags: "기능 플래그 다시 불러오기",
|
|
11111
|
+
flagsUnavailable: "기능 플래그를 사용할 수 없습니다",
|
|
11112
|
+
flagsUnreachable:
|
|
11113
|
+
"작업 공간 디렉터리에 연결할 수 없습니다. 연결되면 다시 시도하세요.",
|
|
11114
|
+
flagsEmpty: "플래그를 보고한 작업 공간 앱이 없습니다",
|
|
11115
|
+
flagsEmptyDetail:
|
|
11116
|
+
"연결된 앱이 준비되면 등록된 플래그가 여기에 표시됩니다.",
|
|
11117
|
+
flagsNotReady:
|
|
11118
|
+
"이 앱은 {{status}} 상태이며 플래그가 꺼진 것으로 가정하지 않습니다.",
|
|
11119
|
+
noFlagDefinitions: "준비된 이 앱에는 등록된 플래그 정의가 없습니다.",
|
|
11120
|
+
noFlagDescription: "설명이 제공되지 않았습니다.",
|
|
11121
|
+
selected: "선택됨",
|
|
11122
|
+
openFlag: "기능 플래그 열기",
|
|
11123
|
+
confirm: "확인",
|
|
11124
|
+
name: "이름",
|
|
11125
|
+
appId: "앱 ID",
|
|
11126
|
+
flagKey: "기능 플래그",
|
|
11127
|
+
},
|
|
11128
|
+
},
|
|
11129
|
+
"hi-IN": {
|
|
11130
|
+
agents: {
|
|
11131
|
+
featureFlags: "फ़ीचर फ़्लैग",
|
|
11132
|
+
featureFlagsDescription:
|
|
11133
|
+
"पंजीकृत ऐप फ़्लैग देखें और वापस किए जा सकने वाले रोलआउट बदलाव करें।",
|
|
11134
|
+
reloadFlags: "फ़ीचर फ़्लैग फिर से लोड करें",
|
|
11135
|
+
flagsUnavailable: "फ़ीचर फ़्लैग उपलब्ध नहीं हैं",
|
|
11136
|
+
flagsUnreachable:
|
|
11137
|
+
"वर्कस्पेस डायरेक्टरी तक नहीं पहुँचा जा सका। कनेक्शन उपलब्ध होने पर फिर कोशिश करें।",
|
|
11138
|
+
flagsEmpty: "किसी वर्कस्पेस ऐप ने फ़्लैग की सूचना नहीं दी",
|
|
11139
|
+
flagsEmptyDetail: "कनेक्टेड ऐप तैयार होने पर पंजीकृत फ़्लैग यहाँ दिखाई देंगे।",
|
|
11140
|
+
flagsNotReady: "यह ऐप {{status}} है; इसकी फ़्लैग स्थिति को बंद नहीं माना जाता।",
|
|
11141
|
+
noFlagDefinitions: "इस तैयार ऐप में पंजीकृत फ़्लैग परिभाषाएँ नहीं हैं।",
|
|
11142
|
+
noFlagDescription: "कोई विवरण नहीं दिया गया।",
|
|
11143
|
+
selected: "चयनित",
|
|
11144
|
+
openFlag: "फ़ीचर फ़्लैग खोलें",
|
|
11145
|
+
confirm: "पुष्टि करें",
|
|
11146
|
+
name: "नाम",
|
|
11147
|
+
appId: "ऐप ID",
|
|
11148
|
+
flagKey: "फ़ीचर फ़्लैग",
|
|
11149
|
+
},
|
|
11150
|
+
},
|
|
11151
|
+
"ar-SA": {
|
|
11152
|
+
agents: {
|
|
11153
|
+
featureFlags: "علامات الميزات",
|
|
11154
|
+
featureFlagsDescription:
|
|
11155
|
+
"راجع علامات التطبيقات المسجلة ونفّذ تغييرات طرح قابلة للعكس.",
|
|
11156
|
+
reloadFlags: "إعادة تحميل علامات الميزات",
|
|
11157
|
+
flagsUnavailable: "علامات الميزات غير متاحة",
|
|
11158
|
+
flagsUnreachable:
|
|
11159
|
+
"تعذر الوصول إلى دليل مساحة العمل. أعد المحاولة عند توفر الاتصال.",
|
|
11160
|
+
flagsEmpty: "لم يبلغ أي تطبيق في مساحة العمل عن علامات",
|
|
11161
|
+
flagsEmptyDetail:
|
|
11162
|
+
"ستظهر العلامات المسجلة هنا عندما تصبح التطبيقات المتصلة جاهزة.",
|
|
11163
|
+
flagsNotReady:
|
|
11164
|
+
"حالة هذا التطبيق هي {{status}}؛ ولا يُفترض أن علاماته متوقفة.",
|
|
11165
|
+
noFlagDefinitions: "لا يحتوي هذا التطبيق الجاهز على تعريفات علامات مسجلة.",
|
|
11166
|
+
noFlagDescription: "لم يُقدَّم وصف.",
|
|
11167
|
+
selected: "محدد",
|
|
11168
|
+
openFlag: "فتح علامة الميزة",
|
|
11169
|
+
confirm: "تأكيد",
|
|
11170
|
+
name: "الاسم",
|
|
11171
|
+
appId: "معرّف التطبيق",
|
|
11172
|
+
flagKey: "علامة ميزة",
|
|
11173
|
+
},
|
|
11174
|
+
},
|
|
11175
|
+
} satisfies Partial<Record<LocaleCode, AnalyticsPartialMessages>>;
|
|
11176
|
+
|
|
10804
11177
|
const translatedDashboardAdminTranslations = {
|
|
10805
11178
|
"zh-CN": {
|
|
10806
11179
|
navigation: {
|
|
@@ -11161,6 +11534,18 @@ const translatedDashboardAdminTranslations = {
|
|
|
11161
11534
|
},
|
|
11162
11535
|
} satisfies Partial<Record<LocaleCode, AnalyticsPartialMessages>>;
|
|
11163
11536
|
|
|
11537
|
+
for (const [locale, overrides] of Object.entries(
|
|
11538
|
+
translatedFeatureFlagAdminTranslations,
|
|
11539
|
+
) as Array<[LocaleCode, AnalyticsPartialMessages]>) {
|
|
11540
|
+
const messages = messagesByLocale[locale];
|
|
11541
|
+
if (!messages) continue;
|
|
11542
|
+
for (const [section, sectionOverrides] of Object.entries(overrides) as Array<
|
|
11543
|
+
[Section, Partial<Messages[Section]>]
|
|
11544
|
+
>) {
|
|
11545
|
+
Object.assign(messages[section], sectionOverrides);
|
|
11546
|
+
}
|
|
11547
|
+
}
|
|
11548
|
+
|
|
11164
11549
|
for (const [locale, overrides] of Object.entries(
|
|
11165
11550
|
translatedDashboardAdminTranslations,
|
|
11166
11551
|
) as Array<[LocaleCode, AnalyticsPartialMessages]>) {
|
|
@@ -18,11 +18,13 @@ import {
|
|
|
18
18
|
IconLoader2,
|
|
19
19
|
IconMouse,
|
|
20
20
|
IconPlus,
|
|
21
|
+
IconToggleRight,
|
|
21
22
|
IconTrash,
|
|
22
23
|
} from "@tabler/icons-react";
|
|
23
24
|
import { useEffect, useMemo, useState, type FormEvent } from "react";
|
|
24
25
|
import { Link, useSearchParams } from "react-router";
|
|
25
26
|
|
|
27
|
+
import { FeatureFlagsFleetPanel } from "@/components/agents/FeatureFlagsFleetPanel";
|
|
26
28
|
import {
|
|
27
29
|
AlertDialog,
|
|
28
30
|
AlertDialogAction,
|
|
@@ -70,7 +72,7 @@ import {
|
|
|
70
72
|
} from "@/components/ui/table";
|
|
71
73
|
import { cn } from "@/lib/utils";
|
|
72
74
|
|
|
73
|
-
type AgentAdminView = "monitoring" | "dashboards" | "database";
|
|
75
|
+
type AgentAdminView = "monitoring" | "dashboards" | "database" | "flags";
|
|
74
76
|
|
|
75
77
|
interface DbAdminConnection {
|
|
76
78
|
id: string;
|
|
@@ -117,6 +119,7 @@ const AGENT_ADMIN_VIEWS: AgentAdminView[] = [
|
|
|
117
119
|
"monitoring",
|
|
118
120
|
"dashboards",
|
|
119
121
|
"database",
|
|
122
|
+
"flags",
|
|
120
123
|
];
|
|
121
124
|
|
|
122
125
|
function parseView(value: string | null): AgentAdminView {
|
|
@@ -383,7 +386,7 @@ export default function AgentsPage() {
|
|
|
383
386
|
const [searchParams, setSearchParams] = useSearchParams();
|
|
384
387
|
const view = parseView(searchParams.get("view"));
|
|
385
388
|
const selectedConnectionId = searchParams.get("db");
|
|
386
|
-
const isAdminView = view
|
|
389
|
+
const isAdminView = view !== "monitoring";
|
|
387
390
|
|
|
388
391
|
function setView(next: AgentAdminView) {
|
|
389
392
|
const params = new URLSearchParams(searchParams);
|
|
@@ -493,6 +496,21 @@ export default function AgentsPage() {
|
|
|
493
496
|
{t("agents.dashboardUsage")}
|
|
494
497
|
</button>
|
|
495
498
|
) : null}
|
|
499
|
+
{canManageOrg ? (
|
|
500
|
+
<button
|
|
501
|
+
type="button"
|
|
502
|
+
onClick={() => setView("flags")}
|
|
503
|
+
className={cn(
|
|
504
|
+
"inline-flex h-8 items-center gap-2 rounded-md px-3 text-sm font-medium transition-colors",
|
|
505
|
+
view === "flags"
|
|
506
|
+
? "bg-foreground text-background"
|
|
507
|
+
: "text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
508
|
+
)}
|
|
509
|
+
>
|
|
510
|
+
<IconToggleRight className="size-4" />
|
|
511
|
+
{t("agents.featureFlags")}
|
|
512
|
+
</button>
|
|
513
|
+
) : null}
|
|
496
514
|
{canManageOrg && view === "database" && (
|
|
497
515
|
<button
|
|
498
516
|
type="button"
|
|
@@ -512,6 +530,8 @@ export default function AgentsPage() {
|
|
|
512
530
|
/>
|
|
513
531
|
) : view === "dashboards" ? (
|
|
514
532
|
<DashboardUsageAdminPanel />
|
|
533
|
+
) : view === "flags" ? (
|
|
534
|
+
<FeatureFlagsFleetPanel />
|
|
515
535
|
) : (
|
|
516
536
|
<div className="min-w-0">
|
|
517
537
|
<div className="mb-4 max-w-3xl text-sm leading-6 text-muted-foreground">
|