@agent-native/core 0.117.1 → 0.118.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 +3 -3
- package/corpus/core/CHANGELOG.md +40 -0
- package/corpus/core/docs/content/custom-design-system.mdx +445 -0
- package/corpus/core/docs/content/toolkit-ui.mdx +16 -0
- package/corpus/core/package.json +2 -1
- package/corpus/core/src/a2a/types.ts +1 -0
- package/corpus/core/src/agent/types.ts +1 -1
- package/corpus/core/src/cli/context-xray-local.ts +1 -1
- package/corpus/core/src/client/AgentPanel.tsx +90 -107
- package/corpus/core/src/client/AssistantChat.tsx +30 -13
- package/corpus/core/src/client/CommandMenu.tsx +68 -178
- package/corpus/core/src/client/agent-chat-adapter.ts +3 -1
- package/corpus/core/src/client/app-providers.tsx +1 -1
- package/corpus/core/src/client/chat/message-components.tsx +116 -10
- package/corpus/core/src/client/chat/tool-call-display.tsx +26 -5
- package/corpus/core/src/client/chat/widgets/InlineExtensionWidget.tsx +14 -40
- package/corpus/core/src/client/components/ui/message-scroller.tsx +15 -1
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +4 -4
- package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +11 -11
- package/corpus/core/src/client/extensions/agent-native-extension-runtime.ts +1 -1
- package/corpus/core/src/client/extensions/delete-extension.ts +2 -2
- package/corpus/core/src/client/i18n.tsx +22 -0
- package/corpus/core/src/client/index.ts +17 -0
- package/corpus/core/src/client/org/OrgSwitcher.tsx +25 -1
- package/corpus/core/src/client/org/TeamPage.tsx +257 -153
- package/corpus/core/src/client/progress/RunsTray.tsx +89 -88
- package/corpus/core/src/client/resources/McpConnectionSuggestion.tsx +5 -2
- package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +34 -13
- package/corpus/core/src/client/resources/mcp-integration-catalog.ts +13 -0
- package/corpus/core/src/client/settings/DemoModeSection.tsx +6 -18
- package/corpus/core/src/client/settings/SecretsSection.tsx +97 -52
- package/corpus/core/src/client/settings/SettingsPanel.tsx +302 -254
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +23 -2
- package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
- package/corpus/core/src/client/settings/index.ts +7 -0
- package/corpus/core/src/client/settings/useSettingsPanelController.ts +155 -0
- package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
- package/corpus/core/src/client/setup-connections/index.ts +10 -0
- package/corpus/core/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
- package/corpus/core/src/client/sharing/ShareButton.tsx +71 -592
- package/corpus/core/src/client/sharing/ShareDialog.tsx +299 -633
- package/corpus/core/src/client/sharing/index.ts +42 -0
- package/corpus/core/src/client/sharing/share-controller-helpers.ts +318 -0
- package/corpus/core/src/client/sharing/useShareButtonController.ts +600 -0
- package/corpus/core/src/client/sharing/useShareDialogController.ts +559 -0
- package/corpus/core/src/client/sse-event-processor.ts +23 -0
- package/corpus/core/src/client/tool-display.ts +71 -0
- package/corpus/core/src/client/use-agent-engine-configured.ts +12 -19
- package/corpus/core/src/client/use-chat-threads.ts +33 -12
- package/corpus/core/src/db/client.ts +13 -10
- package/corpus/core/src/extensions/actions.ts +13 -5
- package/corpus/core/src/extensions/local.ts +1 -0
- package/corpus/core/src/extensions/routes.ts +10 -5
- package/corpus/core/src/extensions/schema.ts +5 -0
- package/corpus/core/src/extensions/slots/store.ts +14 -4
- package/corpus/core/src/extensions/store.ts +55 -19
- package/corpus/core/src/extensions/theme.ts +1 -1
- package/corpus/core/src/file-upload/registry.ts +9 -0
- package/corpus/core/src/index.browser.ts +5 -0
- package/corpus/core/src/index.ts +1 -0
- package/corpus/core/src/localization/default-messages.ts +28 -6
- package/corpus/core/src/mcp-client/oauth-routes.ts +16 -2
- package/corpus/core/src/scripts/call-agent.ts +5 -1
- package/corpus/core/src/server/action-discovery.ts +8 -0
- package/corpus/core/src/server/better-auth-instance.ts +7 -2
- package/corpus/core/src/server/email-template.ts +18 -0
- package/corpus/core/src/server/email-templates.ts +3 -0
- package/corpus/core/src/server/email.ts +40 -4
- package/corpus/core/src/server/realtime-voice.ts +1 -1
- package/corpus/core/src/sharing/actions/share-resource.ts +1 -0
- package/corpus/core/src/styles/agent-native.css +0 -24
- package/corpus/core/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/core/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/core/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/core/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/corpus/core/src/templates/default/app/design-system.ts +3 -0
- package/corpus/core/src/templates/default/app/global.css +1 -1
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +7 -7
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +7 -7
- package/corpus/core/src/templates/default/app/root.tsx +5 -2
- package/corpus/core/src/templates/default/package.json +1 -0
- package/corpus/core/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/core/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/core/src/user-profile/actions/get-user-profile.ts +16 -0
- package/corpus/core/src/user-profile/actions/update-user-profile.ts +24 -0
- package/corpus/core/src/user-profile/index.ts +5 -0
- package/corpus/core/src/user-profile/shared.ts +14 -0
- package/corpus/core/src/user-profile/store.ts +50 -0
- package/corpus/core/src/vite/client.ts +39 -0
- package/corpus/templates/analytics/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/analytics/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/analytics/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/analytics/app/design-system.ts +3 -0
- package/corpus/templates/assets/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/assets/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/assets/app/components/ui/alert.tsx +1 -0
- package/corpus/templates/assets/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/assets/app/design-system.ts +3 -0
- package/corpus/templates/assets/app/global.css +1 -1
- package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +26 -30
- package/corpus/templates/assets/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/brain/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/brain/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/brain/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/brain/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/brain/app/design-system.ts +3 -0
- package/corpus/templates/brain/app/global.css +2 -2
- package/corpus/templates/brain/app/lib/brain.ts +2 -2
- package/corpus/templates/brain/app/root.tsx +2 -2
- package/corpus/templates/brain/app/routes/sources.tsx +8 -8
- package/corpus/templates/brain/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/calendar/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/calendar/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +6 -2
- package/corpus/templates/calendar/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/calendar/app/design-system.ts +3 -0
- package/corpus/templates/calendar/app/global.css +1 -1
- package/corpus/templates/calendar/app/root.tsx +2 -2
- package/corpus/templates/calendar/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/chat/app/design-system.ts +3 -0
- package/corpus/templates/chat/app/global.css +1 -1
- package/corpus/templates/chat/app/root.tsx +2 -2
- package/corpus/templates/chat/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/clips/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/clips/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/clips/actions/export-to-brain.ts +1 -1
- package/corpus/templates/clips/actions/invite-member.ts +1 -0
- package/corpus/templates/clips/app/components/library/library-layout.tsx +2 -2
- package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +20 -11
- package/corpus/templates/clips/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/clips/app/design-system.ts +3 -0
- package/corpus/templates/clips/app/global.css +1 -1
- package/corpus/templates/clips/app/root.tsx +7 -2
- package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -1
- package/corpus/templates/clips/app/routes/record.tsx +2 -88
- package/corpus/templates/clips/changelog/2026-07-22-builder-connected-recordings-start-resumable-upload-sessions.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-clip-thumbnails-now-come-from-the-recording-instead-of-the-p.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-clips-emails-now-render-the-agent-native-logo-in-gmail-and-o.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-dismissed-zoom-and-teams-meeting-note-prompts-now-stay-dismi.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-fixed-windows-recordings-aborting-during-the-countdown.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-permissions-and-rewind-controls-are-now-grouped-with-clearer.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-quieter-permissions-and-rewind-controls.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-the-desktop-popover-opens-centered-under-the-menu-bar-icon-o.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +100 -62
- package/corpus/templates/clips/desktop/src/lib/meeting-notification-dismissal.ts +31 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +4 -167
- package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +10 -1
- package/corpus/templates/clips/desktop/src/styles.css +111 -36
- package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +67 -4
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +11 -2
- package/corpus/templates/clips/desktop/src-tauri/src/meetings_watcher.rs +51 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/custom_capture.rs +5 -1
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +0 -189
- package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +62 -0
- package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +37 -2
- package/corpus/templates/clips/desktop/src-tauri/src/tray.rs +18 -0
- package/corpus/templates/clips/server/plugins/db.ts +6 -2
- package/corpus/templates/content/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/content/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +41 -59
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +41 -41
- package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +2 -1
- package/corpus/templates/content/app/components/editor/database/ListView.tsx +2 -1
- package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +9 -9
- package/corpus/templates/content/app/components/editor/database/sidebar.tsx +7 -7
- package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +11 -11
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +3 -3
- package/corpus/templates/content/app/components/ui/checkbox.tsx +1 -0
- package/corpus/templates/content/app/components/ui/collapsible.tsx +1 -0
- package/corpus/templates/content/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/content/app/design-system.ts +3 -0
- package/corpus/templates/content/app/global.css +30 -4
- package/corpus/templates/content/app/root.tsx +2 -2
- package/corpus/templates/content/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/content/changelog/2026-07-22-page-actions-are-grouped-into-the-three-dots-menu-for-a-clea.md +6 -0
- package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/crm/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/crm/app/components/crm/CreateCrmRecordDialog.tsx +10 -10
- package/corpus/templates/crm/app/components/crm/CrmDashboardPanel.tsx +1 -6
- package/corpus/templates/crm/app/components/crm/CrmSignalsPanel.tsx +3 -2
- package/corpus/templates/crm/app/components/crm/IntelligenceSettings.tsx +13 -12
- package/corpus/templates/crm/app/components/crm/RecordActions.tsx +17 -17
- package/corpus/templates/crm/app/components/crm/RecordGrid.tsx +8 -8
- package/corpus/templates/crm/app/components/crm/RecordWorkspace.tsx +3 -8
- package/corpus/templates/crm/app/components/crm/SavedViewDataProgram.tsx +2 -1
- package/corpus/templates/crm/app/components/crm/Surface.tsx +3 -2
- package/corpus/templates/crm/app/components/crm/WorkOverview.tsx +2 -2
- package/corpus/templates/crm/app/components/layout/CrmLayout.tsx +7 -7
- package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +1 -1
- package/corpus/templates/crm/app/components/ui/alert-dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/badge.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/button.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/card.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/input.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/label.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/select.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/sheet.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/skeleton.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/switch.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/table.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/tabs.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/crm/app/design-system.ts +3 -0
- package/corpus/templates/crm/app/global.css +1 -1
- package/corpus/templates/crm/app/root.tsx +9 -6
- package/corpus/templates/crm/app/routes/dashboard.tsx +1 -1
- package/corpus/templates/crm/app/routes/proposals.tsx +13 -13
- package/corpus/templates/crm/app/routes/setup.tsx +9 -9
- package/corpus/templates/crm/app/routes/tasks.tsx +14 -14
- package/corpus/templates/crm/app/routes/views.tsx +16 -16
- package/corpus/templates/design/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/design/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +19 -1
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +12 -1
- package/corpus/templates/design/app/components/design/EditPanel.tsx +177 -52
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +179 -59
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +74 -27
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +2 -0
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +8 -8
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/design/app/components/ui/command.tsx +1 -0
- package/corpus/templates/design/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/design/app/design-system.ts +3 -0
- package/corpus/templates/design/app/global.css +1 -1
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +6 -5
- package/corpus/templates/design/app/root.tsx +2 -2
- package/corpus/templates/design/changelog/2026-07-22-design-owners-can-keep-editing-their-designs-after-switching.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-inspector-tabs-keep-their-text-labels-at-narrow-widths.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-narrow-breakpoint-previews-keep-their-device-labels-readable.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-removed-the-draft-status-chip-from-the-design-editor.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-responsive-breakpoint-controls-stay-within-narrow-sidebars.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-responsive-peers-now-use-a-softer-selection-highlight-withou.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-rotate-from-context-menu.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-the-selection-outline-now-stays-attached-while-moving-screen.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-view-only-designs-now-support-figma-style-layer-inspection-w.md +6 -0
- package/corpus/templates/design/server/db/index.ts +4 -0
- package/corpus/templates/dispatch/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/dispatch/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/dispatch/app/components/ui/button.tsx +1 -0
- package/corpus/templates/dispatch/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/dispatch/app/design-system.ts +3 -0
- package/corpus/templates/dispatch/app/dispatch-extensions.tsx +2 -2
- package/corpus/templates/dispatch/app/global.css +1 -1
- package/corpus/templates/dispatch/app/root.tsx +12 -9
- package/corpus/templates/dispatch/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/dispatch/package.json +1 -0
- package/corpus/templates/forms/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/forms/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/forms/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
- package/corpus/templates/forms/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/forms/app/design-system.ts +3 -0
- package/corpus/templates/forms/app/global.css +1 -1
- package/corpus/templates/forms/app/hooks/use-forms.ts +55 -2
- package/corpus/templates/forms/app/i18n/en-US.ts +2 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +3 -3
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +23 -6
- package/corpus/templates/forms/app/root.tsx +2 -2
- package/corpus/templates/forms/changelog/2026-07-22-forms-now-archive-with-optimistic-feedback.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/forms/server/plugins/agent-chat.ts +1 -1
- package/corpus/templates/macros/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/macros/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/macros/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/macros/app/design-system.ts +3 -0
- package/corpus/templates/macros/app/root.tsx +2 -2
- package/corpus/templates/macros/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/mail/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/mail/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +134 -93
- package/corpus/templates/mail/app/components/email/email-iframe-document.ts +8 -2
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +3 -3
- package/corpus/templates/mail/app/components/layout/CommandPalette.tsx +2 -2
- package/corpus/templates/mail/app/components/ui/textarea.tsx +1 -21
- package/corpus/templates/mail/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/mail/app/design-system.ts +3 -0
- package/corpus/templates/mail/app/global.css +1 -1
- package/corpus/templates/mail/changelog/2026-07-22-email-messages-no-longer-flash-with-an-unstyled-page-while-l.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/plan/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/plan/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +1 -1
- package/corpus/templates/plan/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/plan/app/design-system.ts +3 -0
- package/corpus/templates/plan/app/global.css +1 -1
- package/corpus/templates/plan/app/root.tsx +2 -2
- package/corpus/templates/plan/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/slides/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/slides/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/slides/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/slides/app/design-system.ts +3 -0
- package/corpus/templates/slides/app/root.tsx +2 -2
- package/corpus/templates/slides/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-22-slides-no-longer-fail-intermittently-on-fresh-server-instances.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-22-uploaded-screenshots-can-now-be-analyzed-and-recreated-as-ed.md +6 -0
- package/corpus/templates/slides/server/lib/chat-attachments.ts +7 -3
- package/corpus/templates/slides/server/plugins/db.ts +44 -17
- package/corpus/templates/tasks/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/tasks/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/tasks/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/tasks/app/design-system.ts +3 -0
- package/corpus/templates/tasks/app/global.css +1 -1
- package/corpus/templates/tasks/app/root.tsx +5 -2
- package/corpus/toolkit/CHANGELOG.md +14 -0
- package/corpus/toolkit/agent-native.eject.json +71 -0
- package/corpus/toolkit/package.json +31 -1
- package/corpus/toolkit/src/chat-history/ChatHistoryRail.tsx +100 -39
- package/corpus/toolkit/src/chat-history/index.ts +9 -0
- package/corpus/toolkit/src/chat-history/useChatHistoryRailController.ts +76 -0
- package/corpus/toolkit/src/chat-history.css +2 -0
- package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +11 -8
- package/corpus/toolkit/src/composer/PromptComposer.tsx +27 -6
- package/corpus/toolkit/src/composer/useRealtimeVoiceMode.tsx +107 -22
- package/corpus/toolkit/src/conformance/__fixtures__/css-in-js-adapter.tsx +401 -0
- package/corpus/toolkit/src/conformance/index.ts +3 -0
- package/corpus/toolkit/src/conformance/runner.tsx +710 -0
- package/corpus/toolkit/src/conformance/types.ts +45 -0
- package/corpus/toolkit/src/conformance/version.ts +22 -0
- package/corpus/toolkit/src/design-system/components.tsx +146 -0
- package/corpus/toolkit/src/design-system/context.tsx +31 -0
- package/corpus/toolkit/src/design-system/default-adapter.tsx +915 -0
- package/corpus/toolkit/src/design-system/definition.ts +14 -0
- package/corpus/toolkit/src/design-system/error-boundary.tsx +37 -0
- package/corpus/toolkit/src/design-system/index.ts +7 -0
- package/corpus/toolkit/src/design-system/theme.ts +145 -0
- package/corpus/toolkit/src/design-system/types.ts +363 -0
- package/corpus/toolkit/src/provider.tsx +98 -5
- package/corpus/toolkit/src/ui/button.tsx +95 -6
- package/corpus/toolkit/src/ui/dialog.tsx +48 -23
- package/corpus/toolkit/src/ui/popover.tsx +16 -2
- package/corpus/toolkit/src/ui/select.tsx +7 -3
- package/corpus/toolkit/src/ui/sidebar.tsx +47 -48
- package/corpus/toolkit/src/ui/tooltip.tsx +7 -3
- package/dist/a2a/types.d.ts +1 -1
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/agent/types.d.ts +1 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/cli/context-xray-local.js +1 -1
- package/dist/cli/context-xray-local.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +14 -14
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +26 -15
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/CommandMenu.d.ts.map +1 -1
- package/dist/client/CommandMenu.js +18 -106
- package/dist/client/CommandMenu.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +2 -1
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/app-providers.d.ts.map +1 -1
- package/dist/client/app-providers.js +1 -1
- package/dist/client/app-providers.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +9 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +62 -7
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +20 -5
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/chat/widgets/InlineExtensionWidget.d.ts.map +1 -1
- package/dist/client/chat/widgets/InlineExtensionWidget.js +9 -12
- package/dist/client/chat/widgets/InlineExtensionWidget.js.map +1 -1
- package/dist/client/components/ui/message-scroller.d.ts +1 -1
- package/dist/client/components/ui/message-scroller.d.ts.map +1 -1
- package/dist/client/components/ui/message-scroller.js +4 -3
- package/dist/client/components/ui/message-scroller.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +2 -2
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.js +11 -11
- package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
- package/dist/client/extensions/agent-native-extension-runtime.js +1 -1
- package/dist/client/extensions/agent-native-extension-runtime.js.map +1 -1
- package/dist/client/extensions/delete-extension.d.ts +1 -1
- package/dist/client/extensions/delete-extension.d.ts.map +1 -1
- package/dist/client/extensions/delete-extension.js +1 -1
- package/dist/client/extensions/delete-extension.js.map +1 -1
- package/dist/client/i18n.d.ts.map +1 -1
- package/dist/client/i18n.js +9 -0
- package/dist/client/i18n.js.map +1 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts +3 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +12 -4
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +41 -33
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +9 -10
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/client/resources/McpConnectionSuggestion.d.ts.map +1 -1
- package/dist/client/resources/McpConnectionSuggestion.js +5 -4
- package/dist/client/resources/McpConnectionSuggestion.js.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.js +10 -8
- package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.d.ts +1 -0
- package/dist/client/resources/mcp-integration-catalog.d.ts.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.js +13 -0
- package/dist/client/resources/mcp-integration-catalog.js.map +1 -1
- package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
- package/dist/client/settings/DemoModeSection.js +2 -5
- package/dist/client/settings/DemoModeSection.js.map +1 -1
- package/dist/client/settings/SecretsSection.d.ts.map +1 -1
- package/dist/client/settings/SecretsSection.js +18 -6
- package/dist/client/settings/SecretsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +87 -119
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +16 -1
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +2 -5
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/index.d.ts +1 -0
- package/dist/client/settings/index.d.ts.map +1 -1
- package/dist/client/settings/index.js +1 -0
- package/dist/client/settings/index.js.map +1 -1
- package/dist/client/settings/useSettingsPanelController.d.ts +22 -0
- package/dist/client/settings/useSettingsPanelController.d.ts.map +1 -0
- package/dist/client/settings/useSettingsPanelController.js +103 -0
- package/dist/client/settings/useSettingsPanelController.js.map +1 -0
- package/dist/client/setup-connections/BuilderConnectCard.d.ts +14 -6
- package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -1
- package/dist/client/setup-connections/BuilderConnectCard.js +24 -16
- package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -1
- package/dist/client/setup-connections/index.d.ts +2 -1
- package/dist/client/setup-connections/index.d.ts.map +1 -1
- package/dist/client/setup-connections/index.js +2 -1
- package/dist/client/setup-connections/index.js.map +1 -1
- package/dist/client/setup-connections/useBuilderConnectCardController.d.ts +34 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.d.ts.map +1 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.js +39 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.js.map +1 -0
- package/dist/client/sharing/ShareButton.d.ts +5 -5
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +19 -464
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/sharing/ShareDialog.d.ts +6 -6
- package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
- package/dist/client/sharing/ShareDialog.js +69 -283
- package/dist/client/sharing/ShareDialog.js.map +1 -1
- package/dist/client/sharing/index.d.ts +3 -0
- package/dist/client/sharing/index.d.ts.map +1 -1
- package/dist/client/sharing/index.js +3 -0
- package/dist/client/sharing/index.js.map +1 -1
- package/dist/client/sharing/share-controller-helpers.d.ts +70 -0
- package/dist/client/sharing/share-controller-helpers.d.ts.map +1 -0
- package/dist/client/sharing/share-controller-helpers.js +224 -0
- package/dist/client/sharing/share-controller-helpers.js.map +1 -0
- package/dist/client/sharing/useShareButtonController.d.ts +91 -0
- package/dist/client/sharing/useShareButtonController.d.ts.map +1 -0
- package/dist/client/sharing/useShareButtonController.js +397 -0
- package/dist/client/sharing/useShareButtonController.js.map +1 -0
- package/dist/client/sharing/useShareDialogController.d.ts +109 -0
- package/dist/client/sharing/useShareDialogController.d.ts.map +1 -0
- package/dist/client/sharing/useShareDialogController.js +348 -0
- package/dist/client/sharing/useShareDialogController.js.map +1 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +21 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/tool-display.d.ts +16 -0
- package/dist/client/tool-display.d.ts.map +1 -1
- package/dist/client/tool-display.js +52 -0
- package/dist/client/tool-display.js.map +1 -1
- package/dist/client/use-agent-engine-configured.d.ts +3 -2
- package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
- package/dist/client/use-agent-engine-configured.js +7 -19
- package/dist/client/use-agent-engine-configured.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +21 -8
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/db/client.d.ts +7 -7
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +13 -10
- package/dist/db/client.js.map +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +8 -5
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/local.d.ts.map +1 -1
- package/dist/extensions/local.js +1 -0
- package/dist/extensions/local.js.map +1 -1
- package/dist/extensions/routes.d.ts.map +1 -1
- package/dist/extensions/routes.js +9 -4
- package/dist/extensions/routes.js.map +1 -1
- package/dist/extensions/schema.d.ts +23 -2
- package/dist/extensions/schema.d.ts.map +1 -1
- package/dist/extensions/schema.js +5 -0
- package/dist/extensions/schema.js.map +1 -1
- package/dist/extensions/slots/store.d.ts +1 -1
- package/dist/extensions/slots/store.d.ts.map +1 -1
- package/dist/extensions/slots/store.js +4 -4
- package/dist/extensions/slots/store.js.map +1 -1
- package/dist/extensions/store.d.ts +1 -0
- package/dist/extensions/store.d.ts.map +1 -1
- package/dist/extensions/store.js +38 -21
- package/dist/extensions/store.js.map +1 -1
- package/dist/extensions/theme.js +1 -1
- package/dist/extensions/theme.js.map +1 -1
- package/dist/file-upload/registry.d.ts.map +1 -1
- package/dist/file-upload/registry.js +9 -0
- package/dist/file-upload/registry.js.map +1 -1
- package/dist/index.browser.d.ts +1 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +1 -0
- package/dist/index.browser.js.map +1 -1
- 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 +20 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +26 -6
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp-client/oauth-routes.d.ts +2 -0
- package/dist/mcp-client/oauth-routes.d.ts.map +1 -1
- package/dist/mcp-client/oauth-routes.js +12 -2
- package/dist/mcp-client/oauth-routes.js.map +1 -1
- package/dist/observability/routes.d.ts +3 -3
- package/dist/provider-api/actions/custom-provider-registration.d.ts +3 -3
- package/dist/provider-api/actions/provider-api.d.ts +11 -11
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +5 -1
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/secrets/routes.d.ts +6 -6
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +8 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +7 -2
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/email-template.d.ts +3 -0
- package/dist/server/email-template.d.ts.map +1 -1
- package/dist/server/email-template.js +13 -0
- package/dist/server/email-template.js.map +1 -1
- package/dist/server/email-templates.d.ts.map +1 -1
- package/dist/server/email-templates.js +3 -0
- package/dist/server/email-templates.js.map +1 -1
- package/dist/server/email.d.ts.map +1 -1
- package/dist/server/email.js +27 -4
- package/dist/server/email.js.map +1 -1
- package/dist/server/realtime-voice.js +1 -1
- package/dist/server/realtime-voice.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/sharing/actions/share-resource.js +1 -0
- package/dist/sharing/actions/share-resource.js.map +1 -1
- package/dist/styles/agent-native.css +0 -24
- package/dist/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/templates/chat/app/components/layout/Sidebar.tsx +2 -2
- package/dist/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/dist/templates/chat/app/design-system.ts +3 -0
- package/dist/templates/chat/app/global.css +1 -1
- package/dist/templates/chat/app/root.tsx +2 -2
- package/dist/templates/chat/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/dist/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/dist/templates/default/app/design-system.ts +3 -0
- package/dist/templates/default/app/global.css +1 -1
- package/dist/templates/default/app/i18n/ar-SA.ts +6 -6
- package/dist/templates/default/app/i18n/de-DE.ts +6 -6
- package/dist/templates/default/app/i18n/en-US.ts +6 -6
- package/dist/templates/default/app/i18n/es-ES.ts +6 -6
- package/dist/templates/default/app/i18n/fr-FR.ts +6 -6
- package/dist/templates/default/app/i18n/hi-IN.ts +6 -6
- package/dist/templates/default/app/i18n/ja-JP.ts +6 -6
- package/dist/templates/default/app/i18n/ko-KR.ts +6 -6
- package/dist/templates/default/app/i18n/pt-BR.ts +6 -6
- package/dist/templates/default/app/i18n/zh-CN.ts +7 -7
- package/dist/templates/default/app/i18n/zh-TW.ts +7 -7
- package/dist/templates/default/app/root.tsx +5 -2
- package/dist/templates/default/package.json +1 -0
- package/dist/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/user-profile/actions/get-user-profile.d.ts +4 -0
- package/dist/user-profile/actions/get-user-profile.d.ts.map +1 -0
- package/dist/user-profile/actions/get-user-profile.js +14 -0
- package/dist/user-profile/actions/get-user-profile.js.map +1 -0
- package/dist/user-profile/actions/update-user-profile.d.ts +6 -0
- package/dist/user-profile/actions/update-user-profile.d.ts.map +1 -0
- package/dist/user-profile/actions/update-user-profile.js +20 -0
- package/dist/user-profile/actions/update-user-profile.js.map +1 -0
- package/dist/user-profile/index.d.ts +2 -0
- package/dist/user-profile/index.d.ts.map +1 -0
- package/dist/user-profile/index.js +2 -0
- package/dist/user-profile/index.js.map +1 -0
- package/dist/user-profile/shared.d.ts +7 -0
- package/dist/user-profile/shared.d.ts.map +1 -0
- package/dist/user-profile/shared.js +6 -0
- package/dist/user-profile/shared.js.map +1 -0
- package/dist/user-profile/store.d.ts +4 -0
- package/dist/user-profile/store.d.ts.map +1 -0
- package/dist/user-profile/store.js +38 -0
- package/dist/user-profile/store.js.map +1 -0
- package/dist/vite/client.d.ts +3 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +31 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/custom-design-system.mdx +445 -0
- package/docs/content/toolkit-ui.mdx +16 -0
- package/package.json +3 -2
- package/src/a2a/types.ts +1 -0
- package/src/agent/types.ts +1 -1
- package/src/cli/context-xray-local.ts +1 -1
- package/src/client/AgentPanel.tsx +90 -107
- package/src/client/AssistantChat.tsx +30 -13
- package/src/client/CommandMenu.tsx +68 -178
- package/src/client/agent-chat-adapter.ts +3 -1
- package/src/client/app-providers.tsx +1 -1
- package/src/client/chat/message-components.tsx +116 -10
- package/src/client/chat/tool-call-display.tsx +26 -5
- package/src/client/chat/widgets/InlineExtensionWidget.tsx +14 -40
- package/src/client/components/ui/message-scroller.tsx +15 -1
- package/src/client/extensions/ExtensionViewer.tsx +4 -4
- package/src/client/extensions/ExtensionsSidebarSection.tsx +11 -11
- package/src/client/extensions/agent-native-extension-runtime.ts +1 -1
- package/src/client/extensions/delete-extension.ts +2 -2
- package/src/client/i18n.tsx +22 -0
- package/src/client/index.ts +17 -0
- package/src/client/org/OrgSwitcher.tsx +25 -1
- package/src/client/org/TeamPage.tsx +257 -153
- package/src/client/progress/RunsTray.tsx +89 -88
- package/src/client/resources/McpConnectionSuggestion.tsx +5 -2
- package/src/client/resources/McpIntegrationDialog.tsx +34 -13
- package/src/client/resources/mcp-integration-catalog.ts +13 -0
- package/src/client/settings/DemoModeSection.tsx +6 -18
- package/src/client/settings/SecretsSection.tsx +97 -52
- package/src/client/settings/SettingsPanel.tsx +302 -254
- package/src/client/settings/SettingsTabsPage.tsx +23 -2
- package/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
- package/src/client/settings/index.ts +7 -0
- package/src/client/settings/useSettingsPanelController.ts +155 -0
- package/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
- package/src/client/setup-connections/index.ts +10 -0
- package/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
- package/src/client/sharing/ShareButton.tsx +71 -592
- package/src/client/sharing/ShareDialog.tsx +299 -633
- package/src/client/sharing/index.ts +42 -0
- package/src/client/sharing/share-controller-helpers.ts +318 -0
- package/src/client/sharing/useShareButtonController.ts +600 -0
- package/src/client/sharing/useShareDialogController.ts +559 -0
- package/src/client/sse-event-processor.ts +23 -0
- package/src/client/tool-display.ts +71 -0
- package/src/client/use-agent-engine-configured.ts +12 -19
- package/src/client/use-chat-threads.ts +33 -12
- package/src/db/client.ts +13 -10
- package/src/extensions/actions.ts +13 -5
- package/src/extensions/local.ts +1 -0
- package/src/extensions/routes.ts +10 -5
- package/src/extensions/schema.ts +5 -0
- package/src/extensions/slots/store.ts +14 -4
- package/src/extensions/store.ts +55 -19
- package/src/extensions/theme.ts +1 -1
- package/src/file-upload/registry.ts +9 -0
- package/src/index.browser.ts +5 -0
- package/src/index.ts +1 -0
- package/src/localization/default-messages.ts +28 -6
- package/src/mcp-client/oauth-routes.ts +16 -2
- package/src/scripts/call-agent.ts +5 -1
- package/src/server/action-discovery.ts +8 -0
- package/src/server/better-auth-instance.ts +7 -2
- package/src/server/email-template.ts +18 -0
- package/src/server/email-templates.ts +3 -0
- package/src/server/email.ts +40 -4
- package/src/server/realtime-voice.ts +1 -1
- package/src/sharing/actions/share-resource.ts +1 -0
- package/src/styles/agent-native.css +0 -24
- package/src/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/templates/chat/app/components/layout/Sidebar.tsx +2 -2
- package/src/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/src/templates/chat/app/design-system.ts +3 -0
- package/src/templates/chat/app/global.css +1 -1
- package/src/templates/chat/app/root.tsx +2 -2
- package/src/templates/chat/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/src/templates/default/app/design-system.ts +3 -0
- package/src/templates/default/app/global.css +1 -1
- package/src/templates/default/app/i18n/ar-SA.ts +6 -6
- package/src/templates/default/app/i18n/de-DE.ts +6 -6
- package/src/templates/default/app/i18n/en-US.ts +6 -6
- package/src/templates/default/app/i18n/es-ES.ts +6 -6
- package/src/templates/default/app/i18n/fr-FR.ts +6 -6
- package/src/templates/default/app/i18n/hi-IN.ts +6 -6
- package/src/templates/default/app/i18n/ja-JP.ts +6 -6
- package/src/templates/default/app/i18n/ko-KR.ts +6 -6
- package/src/templates/default/app/i18n/pt-BR.ts +6 -6
- package/src/templates/default/app/i18n/zh-CN.ts +7 -7
- package/src/templates/default/app/i18n/zh-TW.ts +7 -7
- package/src/templates/default/app/root.tsx +5 -2
- package/src/templates/default/package.json +1 -0
- package/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/user-profile/actions/get-user-profile.ts +16 -0
- package/src/user-profile/actions/update-user-profile.ts +24 -0
- package/src/user-profile/index.ts +5 -0
- package/src/user-profile/shared.ts +14 -0
- package/src/user-profile/store.ts +50 -0
- package/src/vite/client.ts +39 -0
- package/corpus/templates/analytics/app/components/ui/calendar.tsx +0 -70
- package/corpus/templates/analytics/app/components/ui/chart.tsx +0 -386
- package/corpus/templates/calendar/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/forms/app/components/ui/calendar.tsx +0 -214
- package/corpus/templates/forms/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/forms/app/components/ui/command.tsx +0 -153
- package/corpus/templates/forms/app/components/ui/context-menu.tsx +0 -198
- package/corpus/templates/forms/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/macros/app/components/ui/menubar.tsx +0 -238
- package/corpus/templates/macros/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/mail/app/components/ui/calendar.tsx +0 -211
- package/corpus/templates/mail/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/mail/app/components/ui/command.tsx +0 -153
- package/corpus/templates/mail/app/components/ui/context-menu.tsx +0 -198
- package/corpus/templates/mail/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/tasks/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/tasks/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/tasks/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/tasks/app/components/ui/calendar.tsx +0 -70
- package/corpus/templates/tasks/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/tasks/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/tasks/app/components/ui/form.tsx +0 -177
- package/corpus/templates/tasks/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/tasks/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/tasks/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/tasks/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/tasks/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/tasks/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/tasks/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/tasks/app/components/ui/toggle.tsx +0 -43
package/dist/client/i18n.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Picker, useDesignSystemComponent, } from "@agent-native/toolkit/design-system";
|
|
2
3
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
3
4
|
import { IconCheck, IconChevronDown, IconLanguage } from "@tabler/icons-react";
|
|
4
5
|
import i18next from "i18next";
|
|
@@ -491,10 +492,18 @@ export function LanguagePicker({ className, includeSystem = true, label, variant
|
|
|
491
492
|
const selected = options.find((option) => option.value === preference);
|
|
492
493
|
const selectedLabel = selected?.label ?? preference;
|
|
493
494
|
const triggerLabel = `${resolvedLabel}: ${selectedLabel}`;
|
|
495
|
+
const customPicker = useDesignSystemComponent("Picker");
|
|
494
496
|
function handleOptionClick(value) {
|
|
495
497
|
setOpen(false);
|
|
496
498
|
void setPreference(normalizeLocalizationPreference(value).locale);
|
|
497
499
|
}
|
|
500
|
+
if (variant === "select" && customPicker) {
|
|
501
|
+
return (_jsx(Picker, { mode: "select", options: options, value: preference, onChange: (value) => {
|
|
502
|
+
if (value == null)
|
|
503
|
+
return;
|
|
504
|
+
void setPreference(normalizeLocalizationPreference(value).locale);
|
|
505
|
+
}, placeholder: selectedLabel, "aria-label": triggerLabel, className: className }));
|
|
506
|
+
}
|
|
498
507
|
return (_jsx("div", { className: className, children: _jsxs(PopoverPrimitive.Root, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverPrimitive.Trigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": triggerLabel, title: triggerLabel, "data-language-picker-trigger": true, className: cn("shrink-0 rounded-md outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", variant === "ghost-icon"
|
|
499
508
|
? "flex h-9 w-9 items-center justify-center text-muted-foreground hover:bg-accent hover:text-foreground data-[state=open]:bg-accent data-[state=open]:text-foreground"
|
|
500
509
|
: "border border-border bg-background text-foreground hover:border-foreground/30 hover:bg-accent/40 hover:text-foreground data-[state=open]:border-foreground/30 data-[state=open]:bg-accent/40", variant === "icon"
|
package/dist/client/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/client/i18n.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,OAAsC,MAAM,SAAS,CAAC;AAC7D,OAAc,EACZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,GAK5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,GAK5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AA8ChE,MAAM,aAAa,GACjB,UAAU,CAAC,+BAA+B;IAC1C,CAAC,UAAU,CAAC,+BAA+B;QACzC,aAAa,CAA4B,IAAI,CAAC,CAAC,CAAC;AAEpD,MAAM,oBAAoB,GAGtB;IACF,OAAO,EAAE;QACP,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,QAAQ;QAChB,iBAAiB,EAAE,2BAA2B;KAC/C;IACD,OAAO,EAAE;QACP,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,iBAAiB,EAAE,SAAS;KAC7B;IACD,OAAO,EAAE;QACP,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,iBAAiB,EAAE,SAAS;KAC7B;IACD,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,SAAS;QACjB,iBAAiB,EAAE,8BAA8B;KAClD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,SAAS;QACjB,iBAAiB,EAAE,kCAAkC;KACtD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,QAAQ;QAChB,iBAAiB,EAAE,0BAA0B;KAC9C;IACD,OAAO,EAAE;QACP,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,MAAM;QACd,iBAAiB,EAAE,aAAa;KACjC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,YAAY;KAChC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,SAAS;QACjB,iBAAiB,EAAE,4BAA4B;KAChD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,QAAQ;QAChB,iBAAiB,EAAE,gCAAgC;KACpD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,iBAAiB,EAAE,qBAAqB;KACzC;CACF,CAAC;AAEF,SAAS,yBAAyB;IAChC,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAChD,OAAO,SAAS,CAAC,SAAS,EAAE,MAAM;QAChC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;QAC1B,CAAC,CAAC,SAAS,CAAC,QAAQ;YAClB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC;AACX,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,+BAA+B,CACpC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAChD,CAAC,MAAM,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,UAA4B;IACzD,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC7C,OAAO,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAAC,IAG5B;IACC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,+BAA+B,CAChD,IAAI,CAAC,iBAAiB,IAAI,SAAS,CAAC,UAAU,IAAI,oBAAoB,EAAE,CACzE,CAAC,MAAM,CAAC;IACT,MAAM,MAAM,GACV,IAAI,CAAC,aAAa;QAClB,SAAS,CAAC,MAAM;QAChB,2BAA2B,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,YAAY,GAAI,KAA+B,CAAC,OAAO,CAAC;IAC9D,IACE,YAAY;QACZ,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAC5B,CAAC;QACD,OAAO,YAA8B,CAAC;IACxC,CAAC;IACD,OAAO,KAAuB,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAM3B;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAmD;QAChE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACnB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ;SAChC;KACF,CAAC;IACF,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG;YAC9B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,eAAe;SACvC,CAAC;IACJ,CAAC;IACD,KAAK,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC;QACvC,SAAS;QACT,GAAG,EAAE,IAAI,CAAC,aAAa;QACvB,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QACpB,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;QACrC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;QAC7B,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EACtC,QAAQ,EACR,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAAG,IAAI,GACK;IAC7B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,aAAa,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,cAAc,CAAC;IAC7D,MAAM,cAAc,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;IAC3C,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,EAC/D,CAAC,aAAa,EAAE,iBAAiB,CAAC,CACnC,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAC/C,YAAY,CAAC,UAAU,CACxB,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAa,YAAY,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IAElD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,iBAAiB,GAAG,uBAAuB,CAC/C,SAAS,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ;YAC5D,CAAC,CAAC,SAAS,CAAC,QAAQ;YACpB,CAAC,CAAC,eAAe,CACpB,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC;YACnC,SAAS;YACT,YAAY;YACZ,QAAQ,EACN,SAAS,CAAC,MAAM,KAAK,YAAY,IAAI,SAAS,CAAC,QAAQ;gBACrD,CAAC,CAAC,SAAS,CAAC,QAAQ;gBACpB,CAAC,CAAC,cAAc;YACpB,aAAa,EAAE,YAAY,CAAC,MAAM;YAClC,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,iBAAiB,CACpB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,IAAI,EACJ,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GACd,UAAU,KAAK,QAAQ;YACrB,CAAC,CAAC,2BAA2B,CAAC,yBAAyB,EAAE,CAAC;YAC1D,CAAC,CAAC,UAAU,CAAC;QACjB,SAAS,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,UAAU,WAAW;YACxB,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC;gBACH,IACE,MAAM,KAAK,YAAY;oBACvB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1C,CAAC;oBACD,MAAM,SAAS,GACb,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,QAAQ;wBAC/C,CAAC,CAAC,SAAS,CAAC,QAAQ;wBACpB,CAAC,CAAC,aAAa,KAAK,MAAM,IAAI,eAAe;4BAC3C,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,IAAI,CAAC;oBACb,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,KAAK,WAAW,EAAE,CAAC;QACnB,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,SAAS,CAAC,MAAM;QAChB,SAAS,CAAC,QAAQ;QAClB,IAAI;QACJ,aAAa;QACb,eAAe;QACf,YAAY;QACZ,MAAM;QACN,SAAS;QACT,YAAY;KACb,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QAC5C,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU,CACR,6BAA6B,EAC7B,SAAS,EACT,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB;aACE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YACjE,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/B,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,kEAAkE;QACpE,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAAE,OAAO;YACvE,kBAAkB,CAChB,+BAA+B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACvD,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,KAAK,iBAAiB,CACpB,cAAc,EACd;YACE,MAAM;YACN,UAAU;YACV,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;SAC7B,EACD,EAAE,aAAa,EAAE,cAAc,EAAE,CAClC,CAAC,KAAK,CAAC,GAAG,EAAE;YACX,2EAA2E;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5C,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,IAAsB,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAChE,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/B,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,IAAI,CAAC;YACH,MAAM,UAAU,CACd,6BAA6B,EAC7B;gBACE,MAAM,EAAE,UAAU;aACnB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAI,KAA8B,EAAE,MAAM,CAAC;YACvD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;QACN,YAAY;QACZ,UAAU;QACV,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC;QACjC,aAAa;QACb,OAAO;KACR,CAAC,EACF,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAC3D,CAAC;IAEF,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACpC,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,YAAG,QAAQ,GAAmB,GAClC,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,sBAAsB,GAA2B;IACrD,eAAe,EAAE,MAAM;IACvB,oBAAoB,EAAE,YAAY;IAClC,wBAAwB,EAAE,sBAAsB;IAChD,0BAA0B,EAAE,uBAAuB;IACnD,wBAAwB,EAAE,sBAAsB;IAChD,0BAA0B,EAAE,uBAAuB;IACnD,qBAAqB,EAAE,aAAa;IACpC,uBAAuB,EAAE,gBAAgB;IACzC,wBAAwB,EAAE,uBAAuB;IACjD,yBAAyB,EAAE,yBAAyB;IACpD,+BAA+B,EAC7B,oDAAoD;IACtD,4BAA4B,EAAE,sBAAsB;IACpD,8BAA8B,EAAE,uBAAuB;IACvD,2BAA2B,EAAE,qBAAqB;IAClD,2BAA2B,EACzB,6EAA6E;IAC/E,eAAe,EAAE,MAAM;IACvB,kBAAkB,EAAE,gBAAgB;IACpC,kBAAkB,EAAE,gBAAgB;IACpC,wBAAwB,EAAE,SAAS;IACnC,qBAAqB,EAAE,MAAM;IAC7B,uBAAuB,EAAE,QAAQ;IACjC,wBAAwB,EAAE,SAAS;IACnC,yBAAyB,EAAE,kBAAkB;IAC7C,0BAA0B,EAAE,mBAAmB;IAC/C,yBAAyB,EAAE,wBAAwB;IACnD,0BAA0B,EAAE,yBAAyB;IACrD,uBAAuB,EAAE,wBAAwB;IACjD,wBAAwB,EAAE,yBAAyB;IACnD,sBAAsB,EAAE,kBAAkB;IAC1C,uBAAuB,EAAE,mBAAmB;IAC5C,6BAA6B,EAC3B,kHAAkH;IACpH,6BAA6B,EAAE,6CAA6C;IAC5E,0BAA0B,EAAE,yBAAyB;IACrD,oBAAoB,EAAE,uBAAuB;IAC7C,kCAAkC,EAChC,kGAAkG;IACpG,uBAAuB,EACrB,gGAAgG;IAClG,2BAA2B,EAAE,0BAA0B;IACvD,iCAAiC,EAC/B,4EAA4E;IAC9E,gCAAgC,EAAE,sBAAsB;IACxD,sCAAsC,EACpC,wFAAwF;IAC1F,8BAA8B,EAAE,6BAA6B;IAC7D,8BAA8B,EAAE,aAAa;IAC7C,kCAAkC,EAAE,oBAAoB;IACxD,wCAAwC,EACtC,mEAAmE;IACrE,4BAA4B,EAAE,gBAAgB;IAC9C,4BAA4B,EAAE,gBAAgB;IAC9C,oBAAoB,EAAE,OAAO;IAC7B,uBAAuB,EAAE,aAAa;IACtC,kCAAkC,EAAE,2BAA2B;IAC/D,uCAAuC,EACrC,mFAAmF;IACrF,4BAA4B,EAAE,kBAAkB;IAChD,qBAAqB,EAAE,WAAW;IAClC,iBAAiB,EAAE,MAAM;IACzB,4BAA4B,EAAE,mBAAmB;IACjD,gBAAgB,EAAE,KAAK;IACvB,0BAA0B,EAAE,kCAAkC;IAC9D,sBAAsB,EAAE,WAAW;IACnC,oBAAoB,EAAE,UAAU;IAChC,wBAAwB,EAAE,cAAc;IACxC,yBAAyB,EAAE,qBAAqB;IAChD,4BAA4B,EAAE,kBAAkB;IAChD,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,UAAU;IACjC,qBAAqB,EAAE,UAAU;IACjC,2BAA2B,EAAE,iBAAiB;IAC9C,uBAAuB,EAAE,YAAY;IACrC,qBAAqB,EAAE,WAAW;IAClC,2BAA2B,EAAE,kBAAkB;IAC/C,yBAAyB,EAAE,gBAAgB;IAC3C,sBAAsB,EAAE,YAAY;IACpC,+BAA+B,EAAE,uBAAuB;IACxD,0CAA0C,EACxC,kFAAkF;IACpF,wBAAwB,EAAE,cAAc;CACzC,CAAC;AAEF,SAAS,eAAe,CACtB,KAAc,EACd,MAAM,GAAG,EAAE,EACX,GAAG,GAA2B,EAAE;IAEhC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC5E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,wBAAwB,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;AAEzE,SAAS,0BAA0B,CACjC,QAAgB,EAChB,OAAiC;IAEjC,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;IAChE,MAAM,KAAK,GAAG,WAAW;SACtB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,OAAiC;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GACb,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC;IACxE,MAAM,QAAQ,GACZ,wBAAwB,CAAC,SAAS,CAAC;QACnC,wBAAwB,CAAC,GAAG,CAAC;QAC7B,sBAAsB,CAAC,SAAS,CAAC;QACjC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,QAAQ;QACb,CAAC,CAAC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC/C,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,IAAI;IAClB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,cAAc,CAAC;IAC7D,OAAO,WAAW,CAChB,CAAC,GAAW,EAAE,OAAiC,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,UAAU,KAAK,GAAG;YAAE,OAAO,UAAU,CAAC;QAC1C,MAAM,SAAS,GACb,IACD,CAAC,SAAS,CAAC;QACZ,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,cAAc,IAAI,cAAc,KAAK,GAAG;YAAE,OAAO,cAAc,CAAC;QACpE,OAAO,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,EACD,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,cAAc,CAAC;IACjD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,UAAU,CACR,KAA6B,EAC7B,OAAoC;YAEpC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CACpD,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAChD,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,KAAa,EAAE,OAAkC;YAC5D,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,kBAAkB,CAChB,KAAa,EACb,IAAiC,EACjC,OAAwC;YAExC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;QACD,UAAU,CAAC,KAAe,EAAE,OAAgC;YAC1D,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,SAAS,EACT,aAAa,GAAG,IAAI,EACpB,KAAK,EACL,OAAO,GAAG,QAAQ,GAMnB;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IAC1D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GACR,oBAAoB,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,aAAa;YACf,CAAC,CAAC;gBACE;oBACE,KAAK,EAAE,QAAiB;oBACxB,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,WAAW,EAAE,IAAI,CAAC,iBAAiB;iBACpC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,GAAG;YACtD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,IAAI,UAAU,CAAC;IACpD,MAAM,YAAY,GAAG,GAAG,aAAa,KAAK,aAAa,EAAE,CAAC;IAE1D,SAAS,iBAAiB,CAAC,KAAuB;QAChD,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,KAAK,aAAa,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACvB,MAAC,gBAAgB,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,aACtD,KAAC,gBAAgB,CAAC,OAAO,IAAC,OAAO,kBAC/B,kBACE,IAAI,EAAC,QAAQ,gBACD,YAAY,EACxB,KAAK,EAAE,YAAY,wCAEnB,SAAS,EAAE,EAAE,CACX,6HAA6H,EAC7H,OAAO,KAAK,YAAY;4BACtB,CAAC,CAAC,oKAAoK;4BACtK,CAAC,CAAC,8LAA8L,EAClM,OAAO,KAAK,MAAM;4BAChB,CAAC,CAAC,0CAA0C;4BAC5C,CAAC,CAAC,OAAO,KAAK,QAAQ;gCACpB,CAAC,CAAC,4EAA4E;gCAC9E,CAAC,CAAC,IAAI,CACX,aAED,gBAAM,SAAS,EAAC,iCAAiC,aAC/C,KAAC,YAAY,IAAC,SAAS,EAAC,wCAAwC,GAAG,EAClE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CACtB,eAAM,SAAS,EAAC,UAAU,YAAE,aAAa,GAAQ,CAClD,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,SAAS,YAAE,YAAY,GAAQ,CAChD,IACI,EACN,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CACtB,KAAC,eAAe,IACd,SAAS,EAAC,4CAA4C,iBAC1C,MAAM,GAClB,CACH,CAAC,CAAC,CAAC,IAAI,IACD,GACgB,EAC3B,KAAC,gBAAgB,CAAC,MAAM,cACtB,KAAC,gBAAgB,CAAC,OAAO,IACvB,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAC7C,UAAU,EAAE,CAAC,EACb,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,EAAE,CACX,iqBAAiqB,EACjqB,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,YAAY;4BAC5C,CAAC,CAAC,UAAU;4BACZ,CAAC,CAAC,4EAA4E,CACjF,YAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;4BACtB,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC;4BACnD,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,eAAe,kBACN,cAAc,EAC5B,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAC9C,SAAS,EAAE,EAAE,CACX,2MAA2M,EAC3M,cAAc;oCACZ,CAAC,CAAC,8BAA8B;oCAChC,CAAC,CAAC,uBAAuB,CAC5B,aAED,KAAC,SAAS,IACR,SAAS,EAAE,EAAE,CACX,sBAAsB,EACtB,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAC7C,iBACW,MAAM,GAClB,EACF,eAAM,SAAS,EAAC,UAAU,YAAE,MAAM,CAAC,KAAK,GAAQ,KApB3C,MAAM,CAAC,KAAK,CAqBV,CACV,CAAC;wBACJ,CAAC,CAAC,GACuB,GACH,IACJ,GACpB,CACP,CAAC;AACJ,CAAC","sourcesContent":["import * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { IconCheck, IconChevronDown, IconLanguage } from \"@tabler/icons-react\";\nimport i18next, { type i18n as I18nInstance } from \"i18next\";\nimport React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n I18nextProvider,\n initReactI18next,\n useTranslation,\n} from \"react-i18next\";\n\nimport defaultEnglishMessages from \"../localization/default-messages.js\";\nimport {\n DEFAULT_LOCALE,\n LOCALE_HYDRATION_GLOBAL,\n LOCALE_METADATA,\n LOCALE_STORAGE_KEY,\n SUPPORTED_LOCALES,\n localeDirection,\n normalizeLocalizationPreference,\n resolveLocaleFromCandidates,\n resolveLocaleFromPreference,\n type LocaleCode,\n type LocaleMetadata,\n type LocalePreference,\n type LocalizationPreference,\n} from \"../localization/shared.js\";\nimport { setClientAppState } from \"./application-state.js\";\nimport { callAction } from \"./use-action.js\";\nimport { cn } from \"./utils.js\";\n\nexport {\n DEFAULT_LOCALE,\n LOCALE_HYDRATION_GLOBAL,\n LOCALE_METADATA,\n LOCALE_STORAGE_KEY,\n SUPPORTED_LOCALES,\n localeDirection,\n normalizeLocaleCode,\n normalizeLocalePreference,\n normalizeLocalizationPreference,\n resolveLocaleFromCandidates,\n resolveLocaleFromPreference,\n type LocaleCode,\n type LocaleMetadata,\n type LocalePreference,\n type LocalizationPreference,\n} from \"../localization/shared.js\";\nexport { getLocaleInitScript } from \"../localization/server.js\";\n\nexport type LocaleMessages = Record<string, unknown>;\n\nexport interface LocaleHydrationPayload {\n locale?: LocaleCode;\n preference?: LocalizationPreference;\n dir?: \"ltr\" | \"rtl\";\n messages?: LocaleMessages;\n}\n\nexport interface AgentNativeI18nCatalog {\n namespace?: string;\n sourceLocale?: LocaleCode;\n messages?: LocaleMessages;\n loadMessages?: (locale: LocaleCode) => Promise<LocaleMessages | null>;\n}\n\nexport interface AgentNativeI18nProviderProps {\n children: React.ReactNode;\n catalog?: AgentNativeI18nCatalog;\n initialLocale?: LocaleCode;\n initialPreference?: LocalizationPreference | LocalePreference;\n initialMessages?: LocaleMessages | null;\n persistPreference?: boolean;\n}\n\ninterface LocaleContextValue {\n locale: LocaleCode;\n sourceLocale: LocaleCode;\n preference: LocalePreference;\n dir: \"ltr\" | \"rtl\";\n metadata: LocaleMetadata;\n setPreference: (preference: LocalePreference) => Promise<void>;\n loading: boolean;\n}\n\ndeclare global {\n var __AGENT_NATIVE_LOCALE_CONTEXT__:\n | React.Context<LocaleContextValue | null>\n | undefined;\n interface Window {\n __AGENT_NATIVE_LOCALE__?: LocaleHydrationPayload;\n }\n}\n\nconst LocaleContext =\n globalThis.__AGENT_NATIVE_LOCALE_CONTEXT__ ??\n (globalThis.__AGENT_NATIVE_LOCALE_CONTEXT__ =\n createContext<LocaleContextValue | null>(null));\n\nconst LANGUAGE_PICKER_COPY: Record<\n LocaleCode,\n { label: string; system: string; systemDescription: string }\n> = {\n \"en-US\": {\n label: \"Language\",\n system: \"System\",\n systemDescription: \"Use your browser language\",\n },\n \"zh-CN\": {\n label: \"语言\",\n system: \"系统\",\n systemDescription: \"使用浏览器语言\",\n },\n \"zh-TW\": {\n label: \"語言\",\n system: \"系統\",\n systemDescription: \"使用瀏覽器語言\",\n },\n \"es-ES\": {\n label: \"Idioma\",\n system: \"Sistema\",\n systemDescription: \"Usar el idioma del navegador\",\n },\n \"fr-FR\": {\n label: \"Langue\",\n system: \"Système\",\n systemDescription: \"Utiliser la langue du navigateur\",\n },\n \"de-DE\": {\n label: \"Sprache\",\n system: \"System\",\n systemDescription: \"Browsersprache verwenden\",\n },\n \"ja-JP\": {\n label: \"言語\",\n system: \"システム\",\n systemDescription: \"ブラウザーの言語を使用\",\n },\n \"ko-KR\": {\n label: \"언어\",\n system: \"시스템\",\n systemDescription: \"브라우저 언어 사용\",\n },\n \"pt-BR\": {\n label: \"Idioma\",\n system: \"Sistema\",\n systemDescription: \"Usar o idioma do navegador\",\n },\n \"hi-IN\": {\n label: \"भाषा\",\n system: \"सिस्टम\",\n systemDescription: \"ब्राउज़र की भाषा का उपयोग करें\",\n },\n \"ar-SA\": {\n label: \"اللغة\",\n system: \"النظام\",\n systemDescription: \"استخدام لغة المتصفح\",\n },\n};\n\nfunction browserLanguageCandidates(): string[] {\n if (typeof navigator === \"undefined\") return [];\n return navigator.languages?.length\n ? [...navigator.languages]\n : navigator.language\n ? [navigator.language]\n : [];\n}\n\nfunction readStoredPreference(): LocalePreference | null {\n if (typeof window === \"undefined\") return null;\n try {\n return normalizeLocalizationPreference(\n window.localStorage.getItem(LOCALE_STORAGE_KEY),\n ).locale;\n } catch {\n return null;\n }\n}\n\nfunction writeStoredPreference(preference: LocalePreference) {\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(LOCALE_STORAGE_KEY, preference);\n } catch {\n // Ignore storage-denied browsers; the in-memory provider state still works.\n }\n}\n\nfunction readHydrationPayload(): LocaleHydrationPayload {\n if (typeof window === \"undefined\") return {};\n return window[LOCALE_HYDRATION_GLOBAL] ?? {};\n}\n\nfunction resolveInitialState(args: {\n initialLocale?: LocaleCode;\n initialPreference?: LocalizationPreference | LocalePreference;\n}): { locale: LocaleCode; preference: LocalePreference } {\n const hydration = readHydrationPayload();\n const preference = normalizeLocalizationPreference(\n args.initialPreference ?? hydration.preference ?? readStoredPreference(),\n ).locale;\n const locale =\n args.initialLocale ??\n hydration.locale ??\n resolveLocaleFromPreference(preference, browserLanguageCandidates());\n return { locale, preference };\n}\n\nfunction normalizeLoadedMessages(value: unknown): LocaleMessages | null {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return null;\n const maybeDefault = (value as { default?: unknown }).default;\n if (\n maybeDefault &&\n typeof maybeDefault === \"object\" &&\n !Array.isArray(maybeDefault)\n ) {\n return maybeDefault as LocaleMessages;\n }\n return value as LocaleMessages;\n}\n\nfunction createI18nInstance(args: {\n namespace: string;\n sourceLocale: LocaleCode;\n messages: LocaleMessages;\n initialLocale: LocaleCode;\n initialMessages?: LocaleMessages | null;\n}): I18nInstance {\n const instance = i18next.createInstance();\n const resources: Record<string, Record<string, LocaleMessages>> = {\n [args.sourceLocale]: {\n [args.namespace]: args.messages,\n },\n };\n if (args.initialLocale !== args.sourceLocale && args.initialMessages) {\n resources[args.initialLocale] = {\n [args.namespace]: args.initialMessages,\n };\n }\n void instance.use(initReactI18next).init({\n resources,\n lng: args.initialLocale,\n fallbackLng: args.sourceLocale,\n defaultNS: args.namespace,\n ns: [args.namespace],\n interpolation: { escapeValue: false },\n react: { useSuspense: false },\n returnNull: false,\n initAsync: false,\n });\n return instance;\n}\n\nexport function AgentNativeI18nProvider({\n children,\n catalog,\n initialLocale,\n initialPreference,\n initialMessages,\n persistPreference = true,\n}: AgentNativeI18nProviderProps) {\n const namespace = catalog?.namespace ?? \"translation\";\n const sourceLocale = catalog?.sourceLocale ?? DEFAULT_LOCALE;\n const sourceMessages = catalog?.messages ?? {};\n const loadMessages = catalog?.loadMessages;\n const hydration = readHydrationPayload();\n const initialState = useMemo(\n () => resolveInitialState({ initialLocale, initialPreference }),\n [initialLocale, initialPreference],\n );\n const [preference, setPreferenceState] = useState<LocalePreference>(\n initialState.preference,\n );\n const [locale, setLocale] = useState<LocaleCode>(initialState.locale);\n const [loading, setLoading] = useState(false);\n const i18nRef = useRef<I18nInstance | null>(null);\n\n if (!i18nRef.current) {\n const preloadedMessages = normalizeLoadedMessages(\n hydration.locale === initialState.locale && hydration.messages\n ? hydration.messages\n : initialMessages,\n );\n i18nRef.current = createI18nInstance({\n namespace,\n sourceLocale,\n messages:\n hydration.locale === sourceLocale && hydration.messages\n ? hydration.messages\n : sourceMessages,\n initialLocale: initialState.locale,\n initialMessages: preloadedMessages,\n });\n }\n\n const i18n = i18nRef.current;\n\n useEffect(() => {\n if (i18n.hasResourceBundle(sourceLocale, namespace)) {\n i18n.addResourceBundle(\n sourceLocale,\n namespace,\n sourceMessages,\n true,\n true,\n );\n }\n }, [i18n, namespace, sourceLocale, sourceMessages]);\n\n useEffect(() => {\n const nextLocale =\n preference === \"system\"\n ? resolveLocaleFromCandidates(browserLanguageCandidates())\n : preference;\n setLocale(nextLocale);\n }, [preference]);\n\n useEffect(() => {\n let cancelled = false;\n\n async function applyLocale() {\n setLoading(true);\n try {\n if (\n locale !== sourceLocale &&\n !i18n.hasResourceBundle(locale, namespace)\n ) {\n const preloaded =\n hydration.locale === locale && hydration.messages\n ? hydration.messages\n : initialLocale === locale && initialMessages\n ? initialMessages\n : null;\n const loaded = preloaded ?? (await loadMessages?.(locale));\n const messages = normalizeLoadedMessages(loaded);\n if (messages) {\n i18n.addResourceBundle(locale, namespace, messages, true, true);\n }\n }\n if (!cancelled) {\n await i18n.changeLanguage(locale);\n }\n } finally {\n if (!cancelled) setLoading(false);\n }\n }\n\n void applyLocale();\n return () => {\n cancelled = true;\n };\n }, [\n hydration.locale,\n hydration.messages,\n i18n,\n initialLocale,\n initialMessages,\n loadMessages,\n locale,\n namespace,\n sourceLocale,\n ]);\n\n useEffect(() => {\n if (typeof document === \"undefined\") return;\n const dir = localeDirection(locale);\n const root = document.documentElement;\n root.setAttribute(\"lang\", locale);\n root.setAttribute(\"dir\", dir);\n root.setAttribute(\"data-locale\", locale);\n }, [locale]);\n\n useEffect(() => {\n if (!persistPreference) return;\n let cancelled = false;\n callAction<LocalizationPreference>(\n \"get-localization-preference\",\n undefined,\n { method: \"GET\" },\n )\n .then((value) => {\n if (cancelled) return;\n const normalized = normalizeLocalizationPreference(value).locale;\n setPreferenceState(normalized);\n writeStoredPreference(normalized);\n })\n .catch(() => {\n // Anonymous/public routes use localStorage/browser language only.\n });\n return () => {\n cancelled = true;\n };\n }, [persistPreference]);\n\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const onStorage = (event: StorageEvent) => {\n if (event.key !== LOCALE_STORAGE_KEY || event.newValue == null) return;\n setPreferenceState(\n normalizeLocalizationPreference(event.newValue).locale,\n );\n };\n window.addEventListener(\"storage\", onStorage);\n return () => window.removeEventListener(\"storage\", onStorage);\n }, []);\n\n useEffect(() => {\n if (!persistPreference) return;\n void setClientAppState(\n \"localization\",\n {\n locale,\n preference,\n dir: localeDirection(locale),\n },\n { requestSource: \"localization\" },\n ).catch(() => {\n // Public/anonymous pages cannot write app-state; localization still works.\n });\n }, [locale, persistPreference, preference]);\n\n const setPreference = useCallback(\n async (next: LocalePreference) => {\n const normalized = normalizeLocalizationPreference(next).locale;\n setPreferenceState(normalized);\n writeStoredPreference(normalized);\n if (!persistPreference) return;\n try {\n await callAction<LocalizationPreference>(\n \"set-localization-preference\",\n {\n locale: normalized,\n },\n );\n } catch (error) {\n const status = (error as { status?: unknown })?.status;\n if (status !== 401 && status !== 403) {\n throw error;\n }\n }\n },\n [persistPreference],\n );\n\n const context = useMemo<LocaleContextValue>(\n () => ({\n locale,\n sourceLocale,\n preference,\n dir: localeDirection(locale),\n metadata: LOCALE_METADATA[locale],\n setPreference,\n loading,\n }),\n [loading, locale, preference, setPreference, sourceLocale],\n );\n\n return (\n <LocaleContext.Provider value={context}>\n <I18nextProvider i18n={i18n}>{children}</I18nextProvider>\n </LocaleContext.Provider>\n );\n}\n\nexport function useLocale(): LocaleContextValue {\n const value = useContext(LocaleContext);\n if (!value) {\n throw new Error(\"useLocale must be used within AgentNativeI18nProvider\");\n }\n return value;\n}\n\nexport function useOptionalLocale(): LocaleContextValue | null {\n return useContext(LocaleContext);\n}\n\nconst CORE_FALLBACK_MESSAGES: Record<string, string> = {\n \"runsTray.runs\": \"Runs\",\n \"runsTray.agentRuns\": \"Agent runs\",\n \"runsTray.activeRun_one\": \"{{count}} active run\",\n \"runsTray.activeRun_other\": \"{{count}} active runs\",\n \"runsTray.failedRun_one\": \"{{count}} failed run\",\n \"runsTray.failedRun_other\": \"{{count}} failed runs\",\n \"runsTray.recentRuns\": \"Recent runs\",\n \"runsTray.noRecentRuns\": \"No recent runs\",\n \"runsTray.ariaAgentRuns\": \"Agent runs, {{label}}\",\n \"runsTray.summaryRunning\": \"{{activeCount}} running\",\n \"runsTray.summaryRunningRecent\":\n \"{{activeCount}} running · {{terminalCount}} recent\",\n \"runsTray.summaryRecent_one\": \"{{count}} recent run\",\n \"runsTray.summaryRecent_other\": \"{{count}} recent runs\",\n \"runsTray.noTrackedWorkYet\": \"No tracked work yet\",\n \"runsTray.emptyDescription\":\n \"Background agent work will appear here while it runs and after it finishes.\",\n \"runsTray.open\": \"Open\",\n \"runsTray.stopRun\": \"Stop {{title}}\",\n \"runsTray.hideRun\": \"Hide {{title}}\",\n \"runsTray.statusRunning\": \"Running\",\n \"runsTray.statusDone\": \"Done\",\n \"runsTray.statusFailed\": \"Failed\",\n \"runsTray.statusStopped\": \"Stopped\",\n \"runsTray.updatedJustNow\": \"Updated just now\",\n \"runsTray.finishedJustNow\": \"Finished just now\",\n \"runsTray.updatedMinutes\": \"Updated {{count}}m ago\",\n \"runsTray.finishedMinutes\": \"Finished {{count}}m ago\",\n \"runsTray.updatedHours\": \"Updated {{count}}h ago\",\n \"runsTray.finishedHours\": \"Finished {{count}}h ago\",\n \"runsTray.updatedDate\": \"Updated {{date}}\",\n \"runsTray.finishedDate\": \"Finished {{date}}\",\n \"codeRequired.fallbackDetail\":\n \"Edit locally or use Builder.io to edit this code in the cloud and continue customizing the app any way you like.\",\n \"codeRequired.defaultFeature\": \"Make the requested code changes to this app\",\n \"codeRequired.branchError\": \"Failed to create branch\",\n \"codeRequired.title\": \"Code changes required\",\n \"codeRequired.subtitleWithFeature\":\n '\"{{feature}}\" creates or modifies source code, which needs Desktop or Builder from this surface.',\n \"codeRequired.subtitle\":\n \"This action creates or modifies source code, which needs Desktop or Builder from this surface.\",\n \"codeRequired.desktopTitle\": \"Use Agent Native Desktop\",\n \"codeRequired.desktopDescription\":\n \"Open the project in the desktop app to enable source edits and CLI access.\",\n \"codeRequired.builderAgentTitle\": \"Use Builder.io Agent\",\n \"codeRequired.builderAgentDescription\":\n \"Let our cloud agent make the changes for you. You'll get a link to preview and deploy.\",\n \"codeRequired.codeChangeTitle\": \"This requires a code change\",\n \"codeRequired.codeChangeBadge\": \"Code change\",\n \"codeRequired.connectBuilderTitle\": \"Connect Builder.io\",\n \"codeRequired.connectBuilderDescription\":\n \"Connect Builder to enable cloud-based code changes from this app.\",\n \"codeRequired.setupRequired\": \"Setup required\",\n \"codeRequired.branchCreated\": \"Branch created\",\n \"codeRequired.close\": \"Close\",\n \"agentPanel.useBuilder\": \"Use Builder\",\n \"agentPanel.openDesktopToEditCode\": \"Open Desktop to edit code\",\n \"agentPanel.codeUnavailableDescription\":\n \"Source-code changes and CLI access are available in the Agent Native Desktop app.\",\n \"agentPanel.downloadDesktop\": \"Download Desktop\",\n \"agentPanel.chatMode\": \"Chat mode\",\n \"agentPanel.chat\": \"Chat\",\n \"agentPanel.cliTerminalMode\": \"CLI terminal mode\",\n \"agentPanel.cli\": \"CLI\",\n \"agentPanel.workspaceMode\": \"Files, agents, skills, and tasks\",\n \"agentPanel.workspace\": \"Resources\",\n \"agentPanel.newChat\": \"New chat\",\n \"agentPanel.newTerminal\": \"New terminal\",\n \"agentPanel.panelOptions\": \"Agent panel options\",\n \"agentPanel.collapseSidebar\": \"Collapse sidebar\",\n \"agentPanel.hideChats\": \"Hide chats\",\n \"agentPanel.allChats\": \"All chats\",\n \"agentPanel.settings\": \"Settings\",\n \"agentPanel.feedback\": \"Feedback\",\n \"agentPanel.exitFullscreen\": \"Exit fullscreen\",\n \"agentPanel.fullscreen\": \"Fullscreen\",\n \"agentPanel.closeTab\": \"Close tab\",\n \"agentPanel.closeOtherTabs\": \"Close other tabs\",\n \"agentPanel.closeAllTabs\": \"Close all tabs\",\n \"agentPanel.clearChat\": \"Clear chat\",\n \"agentPanel.cliRequiresDevMode\": \"CLI requires dev mode\",\n \"agentPanel.cliRequiresDevModeDescription\":\n \"Run this app locally with pnpm dev or use Builder.io to access the CLI terminal.\",\n \"agentPanel.toggleAgent\": \"Toggle agent\",\n};\n\nfunction flattenMessages(\n value: unknown,\n prefix = \"\",\n out: Record<string, string> = {},\n) {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return out;\n for (const [key, child] of Object.entries(value)) {\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (typeof child === \"string\") {\n out[nextKey] = child;\n } else {\n flattenMessages(child, nextKey, out);\n }\n }\n return out;\n}\n\nconst DEFAULT_ENGLISH_MESSAGES = flattenMessages(defaultEnglishMessages);\n\nfunction interpolateFallbackMessage(\n template: string,\n options?: Record<string, unknown>,\n) {\n return template.replace(/\\{\\{(\\w+)\\}\\}/g, (_, name: string) => {\n const value = options?.[name];\n return value == null ? \"\" : String(value);\n });\n}\n\nfunction humanizeFallbackKey(key: string) {\n const lastSegment = key.split(\".\").filter(Boolean).pop() ?? key;\n const words = lastSegment\n .replace(/[_-]+/g, \" \")\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .trim()\n .toLowerCase();\n return words ? words.charAt(0).toUpperCase() + words.slice(1) : key;\n}\n\nfunction fallbackMessage(key: string, options?: Record<string, unknown>) {\n const count = Number(options?.count);\n const pluralKey =\n Number.isFinite(count) && count === 1 ? `${key}_one` : `${key}_other`;\n const template =\n DEFAULT_ENGLISH_MESSAGES[pluralKey] ??\n DEFAULT_ENGLISH_MESSAGES[key] ??\n CORE_FALLBACK_MESSAGES[pluralKey] ??\n CORE_FALLBACK_MESSAGES[key];\n return template\n ? interpolateFallbackMessage(template, options)\n : humanizeFallbackKey(key);\n}\n\nexport function useT() {\n const { i18n, t } = useTranslation();\n const context = useContext(LocaleContext);\n const sourceLocale = context?.sourceLocale ?? DEFAULT_LOCALE;\n return useCallback(\n (key: string, options?: Record<string, unknown>) => {\n const translated = t(key, options);\n if (translated !== key) return translated;\n const getFixedT = (\n i18n as { getFixedT?: (locale: LocaleCode) => typeof t }\n ).getFixedT;\n const sourceFallback = getFixedT?.(sourceLocale)(key, options);\n if (sourceFallback && sourceFallback !== key) return sourceFallback;\n return fallbackMessage(key, options);\n },\n [i18n, sourceLocale, t],\n );\n}\n\nexport function useFormatters() {\n const context = useContext(LocaleContext);\n const locale = context?.locale ?? DEFAULT_LOCALE;\n return useMemo(\n () => ({\n formatDate(\n value: Date | number | string,\n options?: Intl.DateTimeFormatOptions,\n ) {\n return new Intl.DateTimeFormat(locale, options).format(\n value instanceof Date ? value : new Date(value),\n );\n },\n formatNumber(value: number, options?: Intl.NumberFormatOptions) {\n return new Intl.NumberFormat(locale, options).format(value);\n },\n formatRelativeTime(\n value: number,\n unit: Intl.RelativeTimeFormatUnit,\n options?: Intl.RelativeTimeFormatOptions,\n ) {\n return new Intl.RelativeTimeFormat(locale, options).format(value, unit);\n },\n formatList(value: string[], options?: Intl.ListFormatOptions) {\n return new Intl.ListFormat(locale, options).format(value);\n },\n }),\n [locale],\n );\n}\n\nexport function LanguagePicker({\n className,\n includeSystem = true,\n label,\n variant = \"select\",\n}: {\n className?: string;\n includeSystem?: boolean;\n label?: string;\n variant?: \"select\" | \"icon\" | \"ghost-icon\";\n}) {\n const { locale, preference, setPreference } = useLocale();\n const [open, setOpen] = useState(false);\n const copy =\n LANGUAGE_PICKER_COPY[locale] ?? LANGUAGE_PICKER_COPY[DEFAULT_LOCALE];\n const resolvedLabel = label ?? copy.label;\n const options = [\n ...(includeSystem\n ? [\n {\n value: \"system\" as const,\n label: copy.system,\n description: copy.systemDescription,\n },\n ]\n : []),\n ...SUPPORTED_LOCALES.map((code) => ({\n value: code,\n label: `${LOCALE_METADATA[code].nativeName} (${code})`,\n description: code,\n })),\n ];\n const selected = options.find((option) => option.value === preference);\n const selectedLabel = selected?.label ?? preference;\n const triggerLabel = `${resolvedLabel}: ${selectedLabel}`;\n\n function handleOptionClick(value: LocalePreference) {\n setOpen(false);\n void setPreference(normalizeLocalizationPreference(value).locale);\n }\n\n return (\n <div className={className}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger asChild>\n <button\n type=\"button\"\n aria-label={triggerLabel}\n title={triggerLabel}\n data-language-picker-trigger\n className={cn(\n \"shrink-0 rounded-md outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n variant === \"ghost-icon\"\n ? \"flex h-9 w-9 items-center justify-center text-muted-foreground hover:bg-accent hover:text-foreground data-[state=open]:bg-accent data-[state=open]:text-foreground\"\n : \"border border-border bg-background text-foreground hover:border-foreground/30 hover:bg-accent/40 hover:text-foreground data-[state=open]:border-foreground/30 data-[state=open]:bg-accent/40\",\n variant === \"icon\"\n ? \"flex h-8 w-8 items-center justify-center\"\n : variant === \"select\"\n ? \"flex h-9 w-full items-center justify-between gap-2 px-3 text-start text-sm\"\n : null,\n )}\n >\n <span className=\"flex min-w-0 items-center gap-2\">\n <IconLanguage className=\"h-4 w-4 shrink-0 text-muted-foreground\" />\n {variant === \"select\" ? (\n <span className=\"truncate\">{selectedLabel}</span>\n ) : (\n <span className=\"sr-only\">{triggerLabel}</span>\n )}\n </span>\n {variant === \"select\" ? (\n <IconChevronDown\n className=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\"\n aria-hidden=\"true\"\n />\n ) : null}\n </button>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n align={variant === \"select\" ? \"start\" : \"end\"}\n sideOffset={6}\n role=\"menu\"\n className={cn(\n \"z-[9999] max-h-[min(20rem,var(--radix-popover-content-available-height))] overflow-y-auto rounded-lg border border-border bg-popover p-1 text-popover-foreground shadow-lg outline-none will-change-[transform,opacity] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:duration-100 data-[state=open]:duration-150 data-[state=closed]:ease-in data-[state=open]:ease-out data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1\",\n variant === \"icon\" || variant === \"ghost-icon\"\n ? \"min-w-56\"\n : \"w-[min(20rem,calc(100vw-2rem))] min-w-[var(--radix-popover-trigger-width)]\",\n )}\n >\n {options.map((option) => {\n const optionSelected = option.value === preference;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"menuitemradio\"\n aria-checked={optionSelected}\n title={option.description}\n onClick={() => handleOptionClick(option.value)}\n className={cn(\n \"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-sm outline-none transition-colors hover:bg-accent/60 hover:text-foreground focus-visible:bg-accent/60 focus-visible:text-foreground\",\n optionSelected\n ? \"bg-accent/40 text-foreground\"\n : \"text-muted-foreground\",\n )}\n >\n <IconCheck\n className={cn(\n \"h-3.5 w-3.5 shrink-0\",\n optionSelected ? \"opacity-100\" : \"opacity-0\",\n )}\n aria-hidden=\"true\"\n />\n <span className=\"truncate\">{option.label}</span>\n </button>\n );\n })}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/client/i18n.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Picker,\n useDesignSystemComponent,\n} from \"@agent-native/toolkit/design-system\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { IconCheck, IconChevronDown, IconLanguage } from \"@tabler/icons-react\";\nimport i18next, { type i18n as I18nInstance } from \"i18next\";\nimport React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n I18nextProvider,\n initReactI18next,\n useTranslation,\n} from \"react-i18next\";\n\nimport defaultEnglishMessages from \"../localization/default-messages.js\";\nimport {\n DEFAULT_LOCALE,\n LOCALE_HYDRATION_GLOBAL,\n LOCALE_METADATA,\n LOCALE_STORAGE_KEY,\n SUPPORTED_LOCALES,\n localeDirection,\n normalizeLocalizationPreference,\n resolveLocaleFromCandidates,\n resolveLocaleFromPreference,\n type LocaleCode,\n type LocaleMetadata,\n type LocalePreference,\n type LocalizationPreference,\n} from \"../localization/shared.js\";\nimport { setClientAppState } from \"./application-state.js\";\nimport { callAction } from \"./use-action.js\";\nimport { cn } from \"./utils.js\";\n\nexport {\n DEFAULT_LOCALE,\n LOCALE_HYDRATION_GLOBAL,\n LOCALE_METADATA,\n LOCALE_STORAGE_KEY,\n SUPPORTED_LOCALES,\n localeDirection,\n normalizeLocaleCode,\n normalizeLocalePreference,\n normalizeLocalizationPreference,\n resolveLocaleFromCandidates,\n resolveLocaleFromPreference,\n type LocaleCode,\n type LocaleMetadata,\n type LocalePreference,\n type LocalizationPreference,\n} from \"../localization/shared.js\";\nexport { getLocaleInitScript } from \"../localization/server.js\";\n\nexport type LocaleMessages = Record<string, unknown>;\n\nexport interface LocaleHydrationPayload {\n locale?: LocaleCode;\n preference?: LocalizationPreference;\n dir?: \"ltr\" | \"rtl\";\n messages?: LocaleMessages;\n}\n\nexport interface AgentNativeI18nCatalog {\n namespace?: string;\n sourceLocale?: LocaleCode;\n messages?: LocaleMessages;\n loadMessages?: (locale: LocaleCode) => Promise<LocaleMessages | null>;\n}\n\nexport interface AgentNativeI18nProviderProps {\n children: React.ReactNode;\n catalog?: AgentNativeI18nCatalog;\n initialLocale?: LocaleCode;\n initialPreference?: LocalizationPreference | LocalePreference;\n initialMessages?: LocaleMessages | null;\n persistPreference?: boolean;\n}\n\ninterface LocaleContextValue {\n locale: LocaleCode;\n sourceLocale: LocaleCode;\n preference: LocalePreference;\n dir: \"ltr\" | \"rtl\";\n metadata: LocaleMetadata;\n setPreference: (preference: LocalePreference) => Promise<void>;\n loading: boolean;\n}\n\ndeclare global {\n var __AGENT_NATIVE_LOCALE_CONTEXT__:\n | React.Context<LocaleContextValue | null>\n | undefined;\n interface Window {\n __AGENT_NATIVE_LOCALE__?: LocaleHydrationPayload;\n }\n}\n\nconst LocaleContext =\n globalThis.__AGENT_NATIVE_LOCALE_CONTEXT__ ??\n (globalThis.__AGENT_NATIVE_LOCALE_CONTEXT__ =\n createContext<LocaleContextValue | null>(null));\n\nconst LANGUAGE_PICKER_COPY: Record<\n LocaleCode,\n { label: string; system: string; systemDescription: string }\n> = {\n \"en-US\": {\n label: \"Language\",\n system: \"System\",\n systemDescription: \"Use your browser language\",\n },\n \"zh-CN\": {\n label: \"语言\",\n system: \"系统\",\n systemDescription: \"使用浏览器语言\",\n },\n \"zh-TW\": {\n label: \"語言\",\n system: \"系統\",\n systemDescription: \"使用瀏覽器語言\",\n },\n \"es-ES\": {\n label: \"Idioma\",\n system: \"Sistema\",\n systemDescription: \"Usar el idioma del navegador\",\n },\n \"fr-FR\": {\n label: \"Langue\",\n system: \"Système\",\n systemDescription: \"Utiliser la langue du navigateur\",\n },\n \"de-DE\": {\n label: \"Sprache\",\n system: \"System\",\n systemDescription: \"Browsersprache verwenden\",\n },\n \"ja-JP\": {\n label: \"言語\",\n system: \"システム\",\n systemDescription: \"ブラウザーの言語を使用\",\n },\n \"ko-KR\": {\n label: \"언어\",\n system: \"시스템\",\n systemDescription: \"브라우저 언어 사용\",\n },\n \"pt-BR\": {\n label: \"Idioma\",\n system: \"Sistema\",\n systemDescription: \"Usar o idioma do navegador\",\n },\n \"hi-IN\": {\n label: \"भाषा\",\n system: \"सिस्टम\",\n systemDescription: \"ब्राउज़र की भाषा का उपयोग करें\",\n },\n \"ar-SA\": {\n label: \"اللغة\",\n system: \"النظام\",\n systemDescription: \"استخدام لغة المتصفح\",\n },\n};\n\nfunction browserLanguageCandidates(): string[] {\n if (typeof navigator === \"undefined\") return [];\n return navigator.languages?.length\n ? [...navigator.languages]\n : navigator.language\n ? [navigator.language]\n : [];\n}\n\nfunction readStoredPreference(): LocalePreference | null {\n if (typeof window === \"undefined\") return null;\n try {\n return normalizeLocalizationPreference(\n window.localStorage.getItem(LOCALE_STORAGE_KEY),\n ).locale;\n } catch {\n return null;\n }\n}\n\nfunction writeStoredPreference(preference: LocalePreference) {\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(LOCALE_STORAGE_KEY, preference);\n } catch {\n // Ignore storage-denied browsers; the in-memory provider state still works.\n }\n}\n\nfunction readHydrationPayload(): LocaleHydrationPayload {\n if (typeof window === \"undefined\") return {};\n return window[LOCALE_HYDRATION_GLOBAL] ?? {};\n}\n\nfunction resolveInitialState(args: {\n initialLocale?: LocaleCode;\n initialPreference?: LocalizationPreference | LocalePreference;\n}): { locale: LocaleCode; preference: LocalePreference } {\n const hydration = readHydrationPayload();\n const preference = normalizeLocalizationPreference(\n args.initialPreference ?? hydration.preference ?? readStoredPreference(),\n ).locale;\n const locale =\n args.initialLocale ??\n hydration.locale ??\n resolveLocaleFromPreference(preference, browserLanguageCandidates());\n return { locale, preference };\n}\n\nfunction normalizeLoadedMessages(value: unknown): LocaleMessages | null {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return null;\n const maybeDefault = (value as { default?: unknown }).default;\n if (\n maybeDefault &&\n typeof maybeDefault === \"object\" &&\n !Array.isArray(maybeDefault)\n ) {\n return maybeDefault as LocaleMessages;\n }\n return value as LocaleMessages;\n}\n\nfunction createI18nInstance(args: {\n namespace: string;\n sourceLocale: LocaleCode;\n messages: LocaleMessages;\n initialLocale: LocaleCode;\n initialMessages?: LocaleMessages | null;\n}): I18nInstance {\n const instance = i18next.createInstance();\n const resources: Record<string, Record<string, LocaleMessages>> = {\n [args.sourceLocale]: {\n [args.namespace]: args.messages,\n },\n };\n if (args.initialLocale !== args.sourceLocale && args.initialMessages) {\n resources[args.initialLocale] = {\n [args.namespace]: args.initialMessages,\n };\n }\n void instance.use(initReactI18next).init({\n resources,\n lng: args.initialLocale,\n fallbackLng: args.sourceLocale,\n defaultNS: args.namespace,\n ns: [args.namespace],\n interpolation: { escapeValue: false },\n react: { useSuspense: false },\n returnNull: false,\n initAsync: false,\n });\n return instance;\n}\n\nexport function AgentNativeI18nProvider({\n children,\n catalog,\n initialLocale,\n initialPreference,\n initialMessages,\n persistPreference = true,\n}: AgentNativeI18nProviderProps) {\n const namespace = catalog?.namespace ?? \"translation\";\n const sourceLocale = catalog?.sourceLocale ?? DEFAULT_LOCALE;\n const sourceMessages = catalog?.messages ?? {};\n const loadMessages = catalog?.loadMessages;\n const hydration = readHydrationPayload();\n const initialState = useMemo(\n () => resolveInitialState({ initialLocale, initialPreference }),\n [initialLocale, initialPreference],\n );\n const [preference, setPreferenceState] = useState<LocalePreference>(\n initialState.preference,\n );\n const [locale, setLocale] = useState<LocaleCode>(initialState.locale);\n const [loading, setLoading] = useState(false);\n const i18nRef = useRef<I18nInstance | null>(null);\n\n if (!i18nRef.current) {\n const preloadedMessages = normalizeLoadedMessages(\n hydration.locale === initialState.locale && hydration.messages\n ? hydration.messages\n : initialMessages,\n );\n i18nRef.current = createI18nInstance({\n namespace,\n sourceLocale,\n messages:\n hydration.locale === sourceLocale && hydration.messages\n ? hydration.messages\n : sourceMessages,\n initialLocale: initialState.locale,\n initialMessages: preloadedMessages,\n });\n }\n\n const i18n = i18nRef.current;\n\n useEffect(() => {\n if (i18n.hasResourceBundle(sourceLocale, namespace)) {\n i18n.addResourceBundle(\n sourceLocale,\n namespace,\n sourceMessages,\n true,\n true,\n );\n }\n }, [i18n, namespace, sourceLocale, sourceMessages]);\n\n useEffect(() => {\n const nextLocale =\n preference === \"system\"\n ? resolveLocaleFromCandidates(browserLanguageCandidates())\n : preference;\n setLocale(nextLocale);\n }, [preference]);\n\n useEffect(() => {\n let cancelled = false;\n\n async function applyLocale() {\n setLoading(true);\n try {\n if (\n locale !== sourceLocale &&\n !i18n.hasResourceBundle(locale, namespace)\n ) {\n const preloaded =\n hydration.locale === locale && hydration.messages\n ? hydration.messages\n : initialLocale === locale && initialMessages\n ? initialMessages\n : null;\n const loaded = preloaded ?? (await loadMessages?.(locale));\n const messages = normalizeLoadedMessages(loaded);\n if (messages) {\n i18n.addResourceBundle(locale, namespace, messages, true, true);\n }\n }\n if (!cancelled) {\n await i18n.changeLanguage(locale);\n }\n } finally {\n if (!cancelled) setLoading(false);\n }\n }\n\n void applyLocale();\n return () => {\n cancelled = true;\n };\n }, [\n hydration.locale,\n hydration.messages,\n i18n,\n initialLocale,\n initialMessages,\n loadMessages,\n locale,\n namespace,\n sourceLocale,\n ]);\n\n useEffect(() => {\n if (typeof document === \"undefined\") return;\n const dir = localeDirection(locale);\n const root = document.documentElement;\n root.setAttribute(\"lang\", locale);\n root.setAttribute(\"dir\", dir);\n root.setAttribute(\"data-locale\", locale);\n }, [locale]);\n\n useEffect(() => {\n if (!persistPreference) return;\n let cancelled = false;\n callAction<LocalizationPreference>(\n \"get-localization-preference\",\n undefined,\n { method: \"GET\" },\n )\n .then((value) => {\n if (cancelled) return;\n const normalized = normalizeLocalizationPreference(value).locale;\n setPreferenceState(normalized);\n writeStoredPreference(normalized);\n })\n .catch(() => {\n // Anonymous/public routes use localStorage/browser language only.\n });\n return () => {\n cancelled = true;\n };\n }, [persistPreference]);\n\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const onStorage = (event: StorageEvent) => {\n if (event.key !== LOCALE_STORAGE_KEY || event.newValue == null) return;\n setPreferenceState(\n normalizeLocalizationPreference(event.newValue).locale,\n );\n };\n window.addEventListener(\"storage\", onStorage);\n return () => window.removeEventListener(\"storage\", onStorage);\n }, []);\n\n useEffect(() => {\n if (!persistPreference) return;\n void setClientAppState(\n \"localization\",\n {\n locale,\n preference,\n dir: localeDirection(locale),\n },\n { requestSource: \"localization\" },\n ).catch(() => {\n // Public/anonymous pages cannot write app-state; localization still works.\n });\n }, [locale, persistPreference, preference]);\n\n const setPreference = useCallback(\n async (next: LocalePreference) => {\n const normalized = normalizeLocalizationPreference(next).locale;\n setPreferenceState(normalized);\n writeStoredPreference(normalized);\n if (!persistPreference) return;\n try {\n await callAction<LocalizationPreference>(\n \"set-localization-preference\",\n {\n locale: normalized,\n },\n );\n } catch (error) {\n const status = (error as { status?: unknown })?.status;\n if (status !== 401 && status !== 403) {\n throw error;\n }\n }\n },\n [persistPreference],\n );\n\n const context = useMemo<LocaleContextValue>(\n () => ({\n locale,\n sourceLocale,\n preference,\n dir: localeDirection(locale),\n metadata: LOCALE_METADATA[locale],\n setPreference,\n loading,\n }),\n [loading, locale, preference, setPreference, sourceLocale],\n );\n\n return (\n <LocaleContext.Provider value={context}>\n <I18nextProvider i18n={i18n}>{children}</I18nextProvider>\n </LocaleContext.Provider>\n );\n}\n\nexport function useLocale(): LocaleContextValue {\n const value = useContext(LocaleContext);\n if (!value) {\n throw new Error(\"useLocale must be used within AgentNativeI18nProvider\");\n }\n return value;\n}\n\nexport function useOptionalLocale(): LocaleContextValue | null {\n return useContext(LocaleContext);\n}\n\nconst CORE_FALLBACK_MESSAGES: Record<string, string> = {\n \"runsTray.runs\": \"Runs\",\n \"runsTray.agentRuns\": \"Agent runs\",\n \"runsTray.activeRun_one\": \"{{count}} active run\",\n \"runsTray.activeRun_other\": \"{{count}} active runs\",\n \"runsTray.failedRun_one\": \"{{count}} failed run\",\n \"runsTray.failedRun_other\": \"{{count}} failed runs\",\n \"runsTray.recentRuns\": \"Recent runs\",\n \"runsTray.noRecentRuns\": \"No recent runs\",\n \"runsTray.ariaAgentRuns\": \"Agent runs, {{label}}\",\n \"runsTray.summaryRunning\": \"{{activeCount}} running\",\n \"runsTray.summaryRunningRecent\":\n \"{{activeCount}} running · {{terminalCount}} recent\",\n \"runsTray.summaryRecent_one\": \"{{count}} recent run\",\n \"runsTray.summaryRecent_other\": \"{{count}} recent runs\",\n \"runsTray.noTrackedWorkYet\": \"No tracked work yet\",\n \"runsTray.emptyDescription\":\n \"Background agent work will appear here while it runs and after it finishes.\",\n \"runsTray.open\": \"Open\",\n \"runsTray.stopRun\": \"Stop {{title}}\",\n \"runsTray.hideRun\": \"Hide {{title}}\",\n \"runsTray.statusRunning\": \"Running\",\n \"runsTray.statusDone\": \"Done\",\n \"runsTray.statusFailed\": \"Failed\",\n \"runsTray.statusStopped\": \"Stopped\",\n \"runsTray.updatedJustNow\": \"Updated just now\",\n \"runsTray.finishedJustNow\": \"Finished just now\",\n \"runsTray.updatedMinutes\": \"Updated {{count}}m ago\",\n \"runsTray.finishedMinutes\": \"Finished {{count}}m ago\",\n \"runsTray.updatedHours\": \"Updated {{count}}h ago\",\n \"runsTray.finishedHours\": \"Finished {{count}}h ago\",\n \"runsTray.updatedDate\": \"Updated {{date}}\",\n \"runsTray.finishedDate\": \"Finished {{date}}\",\n \"codeRequired.fallbackDetail\":\n \"Edit locally or use Builder.io to edit this code in the cloud and continue customizing the app any way you like.\",\n \"codeRequired.defaultFeature\": \"Make the requested code changes to this app\",\n \"codeRequired.branchError\": \"Failed to create branch\",\n \"codeRequired.title\": \"Code changes required\",\n \"codeRequired.subtitleWithFeature\":\n '\"{{feature}}\" creates or modifies source code, which needs Desktop or Builder from this surface.',\n \"codeRequired.subtitle\":\n \"This action creates or modifies source code, which needs Desktop or Builder from this surface.\",\n \"codeRequired.desktopTitle\": \"Use Agent Native Desktop\",\n \"codeRequired.desktopDescription\":\n \"Open the project in the desktop app to enable source edits and CLI access.\",\n \"codeRequired.builderAgentTitle\": \"Use Builder.io Agent\",\n \"codeRequired.builderAgentDescription\":\n \"Let our cloud agent make the changes for you. You'll get a link to preview and deploy.\",\n \"codeRequired.codeChangeTitle\": \"This requires a code change\",\n \"codeRequired.codeChangeBadge\": \"Code change\",\n \"codeRequired.connectBuilderTitle\": \"Connect Builder.io\",\n \"codeRequired.connectBuilderDescription\":\n \"Connect Builder to enable cloud-based code changes from this app.\",\n \"codeRequired.setupRequired\": \"Setup required\",\n \"codeRequired.branchCreated\": \"Branch created\",\n \"codeRequired.close\": \"Close\",\n \"agentPanel.useBuilder\": \"Use Builder\",\n \"agentPanel.openDesktopToEditCode\": \"Open Desktop to edit code\",\n \"agentPanel.codeUnavailableDescription\":\n \"Source-code changes and CLI access are available in the Agent Native Desktop app.\",\n \"agentPanel.downloadDesktop\": \"Download Desktop\",\n \"agentPanel.chatMode\": \"Chat mode\",\n \"agentPanel.chat\": \"Chat\",\n \"agentPanel.cliTerminalMode\": \"CLI terminal mode\",\n \"agentPanel.cli\": \"CLI\",\n \"agentPanel.workspaceMode\": \"Files, agents, skills, and tasks\",\n \"agentPanel.workspace\": \"Resources\",\n \"agentPanel.newChat\": \"New chat\",\n \"agentPanel.newTerminal\": \"New terminal\",\n \"agentPanel.panelOptions\": \"Agent panel options\",\n \"agentPanel.collapseSidebar\": \"Collapse sidebar\",\n \"agentPanel.hideChats\": \"Hide chats\",\n \"agentPanel.allChats\": \"All chats\",\n \"agentPanel.settings\": \"Settings\",\n \"agentPanel.feedback\": \"Feedback\",\n \"agentPanel.exitFullscreen\": \"Exit fullscreen\",\n \"agentPanel.fullscreen\": \"Fullscreen\",\n \"agentPanel.closeTab\": \"Close tab\",\n \"agentPanel.closeOtherTabs\": \"Close other tabs\",\n \"agentPanel.closeAllTabs\": \"Close all tabs\",\n \"agentPanel.clearChat\": \"Clear chat\",\n \"agentPanel.cliRequiresDevMode\": \"CLI requires dev mode\",\n \"agentPanel.cliRequiresDevModeDescription\":\n \"Run this app locally with pnpm dev or use Builder.io to access the CLI terminal.\",\n \"agentPanel.toggleAgent\": \"Toggle agent\",\n};\n\nfunction flattenMessages(\n value: unknown,\n prefix = \"\",\n out: Record<string, string> = {},\n) {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return out;\n for (const [key, child] of Object.entries(value)) {\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (typeof child === \"string\") {\n out[nextKey] = child;\n } else {\n flattenMessages(child, nextKey, out);\n }\n }\n return out;\n}\n\nconst DEFAULT_ENGLISH_MESSAGES = flattenMessages(defaultEnglishMessages);\n\nfunction interpolateFallbackMessage(\n template: string,\n options?: Record<string, unknown>,\n) {\n return template.replace(/\\{\\{(\\w+)\\}\\}/g, (_, name: string) => {\n const value = options?.[name];\n return value == null ? \"\" : String(value);\n });\n}\n\nfunction humanizeFallbackKey(key: string) {\n const lastSegment = key.split(\".\").filter(Boolean).pop() ?? key;\n const words = lastSegment\n .replace(/[_-]+/g, \" \")\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .trim()\n .toLowerCase();\n return words ? words.charAt(0).toUpperCase() + words.slice(1) : key;\n}\n\nfunction fallbackMessage(key: string, options?: Record<string, unknown>) {\n const count = Number(options?.count);\n const pluralKey =\n Number.isFinite(count) && count === 1 ? `${key}_one` : `${key}_other`;\n const template =\n DEFAULT_ENGLISH_MESSAGES[pluralKey] ??\n DEFAULT_ENGLISH_MESSAGES[key] ??\n CORE_FALLBACK_MESSAGES[pluralKey] ??\n CORE_FALLBACK_MESSAGES[key];\n return template\n ? interpolateFallbackMessage(template, options)\n : humanizeFallbackKey(key);\n}\n\nexport function useT() {\n const { i18n, t } = useTranslation();\n const context = useContext(LocaleContext);\n const sourceLocale = context?.sourceLocale ?? DEFAULT_LOCALE;\n return useCallback(\n (key: string, options?: Record<string, unknown>) => {\n const translated = t(key, options);\n if (translated !== key) return translated;\n const getFixedT = (\n i18n as { getFixedT?: (locale: LocaleCode) => typeof t }\n ).getFixedT;\n const sourceFallback = getFixedT?.(sourceLocale)(key, options);\n if (sourceFallback && sourceFallback !== key) return sourceFallback;\n return fallbackMessage(key, options);\n },\n [i18n, sourceLocale, t],\n );\n}\n\nexport function useFormatters() {\n const context = useContext(LocaleContext);\n const locale = context?.locale ?? DEFAULT_LOCALE;\n return useMemo(\n () => ({\n formatDate(\n value: Date | number | string,\n options?: Intl.DateTimeFormatOptions,\n ) {\n return new Intl.DateTimeFormat(locale, options).format(\n value instanceof Date ? value : new Date(value),\n );\n },\n formatNumber(value: number, options?: Intl.NumberFormatOptions) {\n return new Intl.NumberFormat(locale, options).format(value);\n },\n formatRelativeTime(\n value: number,\n unit: Intl.RelativeTimeFormatUnit,\n options?: Intl.RelativeTimeFormatOptions,\n ) {\n return new Intl.RelativeTimeFormat(locale, options).format(value, unit);\n },\n formatList(value: string[], options?: Intl.ListFormatOptions) {\n return new Intl.ListFormat(locale, options).format(value);\n },\n }),\n [locale],\n );\n}\n\nexport function LanguagePicker({\n className,\n includeSystem = true,\n label,\n variant = \"select\",\n}: {\n className?: string;\n includeSystem?: boolean;\n label?: string;\n variant?: \"select\" | \"icon\" | \"ghost-icon\";\n}) {\n const { locale, preference, setPreference } = useLocale();\n const [open, setOpen] = useState(false);\n const copy =\n LANGUAGE_PICKER_COPY[locale] ?? LANGUAGE_PICKER_COPY[DEFAULT_LOCALE];\n const resolvedLabel = label ?? copy.label;\n const options = [\n ...(includeSystem\n ? [\n {\n value: \"system\" as const,\n label: copy.system,\n description: copy.systemDescription,\n },\n ]\n : []),\n ...SUPPORTED_LOCALES.map((code) => ({\n value: code,\n label: `${LOCALE_METADATA[code].nativeName} (${code})`,\n description: code,\n })),\n ];\n const selected = options.find((option) => option.value === preference);\n const selectedLabel = selected?.label ?? preference;\n const triggerLabel = `${resolvedLabel}: ${selectedLabel}`;\n const customPicker = useDesignSystemComponent(\"Picker\");\n\n function handleOptionClick(value: LocalePreference) {\n setOpen(false);\n void setPreference(normalizeLocalizationPreference(value).locale);\n }\n\n if (variant === \"select\" && customPicker) {\n return (\n <Picker<LocalePreference>\n mode=\"select\"\n options={options}\n value={preference}\n onChange={(value) => {\n if (value == null) return;\n void setPreference(normalizeLocalizationPreference(value).locale);\n }}\n placeholder={selectedLabel}\n aria-label={triggerLabel}\n className={className}\n />\n );\n }\n\n return (\n <div className={className}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger asChild>\n <button\n type=\"button\"\n aria-label={triggerLabel}\n title={triggerLabel}\n data-language-picker-trigger\n className={cn(\n \"shrink-0 rounded-md outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n variant === \"ghost-icon\"\n ? \"flex h-9 w-9 items-center justify-center text-muted-foreground hover:bg-accent hover:text-foreground data-[state=open]:bg-accent data-[state=open]:text-foreground\"\n : \"border border-border bg-background text-foreground hover:border-foreground/30 hover:bg-accent/40 hover:text-foreground data-[state=open]:border-foreground/30 data-[state=open]:bg-accent/40\",\n variant === \"icon\"\n ? \"flex h-8 w-8 items-center justify-center\"\n : variant === \"select\"\n ? \"flex h-9 w-full items-center justify-between gap-2 px-3 text-start text-sm\"\n : null,\n )}\n >\n <span className=\"flex min-w-0 items-center gap-2\">\n <IconLanguage className=\"h-4 w-4 shrink-0 text-muted-foreground\" />\n {variant === \"select\" ? (\n <span className=\"truncate\">{selectedLabel}</span>\n ) : (\n <span className=\"sr-only\">{triggerLabel}</span>\n )}\n </span>\n {variant === \"select\" ? (\n <IconChevronDown\n className=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\"\n aria-hidden=\"true\"\n />\n ) : null}\n </button>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n align={variant === \"select\" ? \"start\" : \"end\"}\n sideOffset={6}\n role=\"menu\"\n className={cn(\n \"z-[9999] max-h-[min(20rem,var(--radix-popover-content-available-height))] overflow-y-auto rounded-lg border border-border bg-popover p-1 text-popover-foreground shadow-lg outline-none will-change-[transform,opacity] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:duration-100 data-[state=open]:duration-150 data-[state=closed]:ease-in data-[state=open]:ease-out data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1\",\n variant === \"icon\" || variant === \"ghost-icon\"\n ? \"min-w-56\"\n : \"w-[min(20rem,calc(100vw-2rem))] min-w-[var(--radix-popover-trigger-width)]\",\n )}\n >\n {options.map((option) => {\n const optionSelected = option.value === preference;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"menuitemradio\"\n aria-checked={optionSelected}\n title={option.description}\n onClick={() => handleOptionClick(option.value)}\n className={cn(\n \"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-sm outline-none transition-colors hover:bg-accent/60 hover:text-foreground focus-visible:bg-accent/60 focus-visible:text-foreground\",\n optionSelected\n ? \"bg-accent/40 text-foreground\"\n : \"text-muted-foreground\",\n )}\n >\n <IconCheck\n className={cn(\n \"h-3.5 w-3.5 shrink-0\",\n optionSelected ? \"opacity-100\" : \"opacity-0\",\n )}\n aria-hidden=\"true\"\n />\n <span className=\"truncate\">{option.label}</span>\n </button>\n );\n })}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </div>\n );\n}\n"]}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -28,12 +28,12 @@ export { ResourcesPanel, ResourceTree, ResourceEditor, DEFAULT_MCP_INTEGRATIONS,
|
|
|
28
28
|
export type { ResourcesPanelProps } from "./resources/ResourcesPanel.js";
|
|
29
29
|
export { HistoryTimeline, VersionHistoryPanel, useCreateResourceVersion, useResourceHistory, useResourceVersion, useResourceVersions, useRestoreResourceVersion, type CreateResourceVersionInput, type GetResourceVersionInput, type GetResourceVersionResult, type ListResourceHistoryResult, type ListResourceVersionsResult, type ResourceHistoryParams, type ResourceVersionsParams, type RestoreResourceVersionInput, type RestoreResourceVersionResult, type VersionHistoryPanelProps, } from "./history/index.js";
|
|
30
30
|
export { ReviewCommentComposer, ReviewStatusBadge, ReviewThreadPanel, buildReviewThreads, useConsumeReviewFeedback, useCreateReviewComment, useDeleteReviewComment, useReplyReviewComment, useResolveReviewThread, useReviewComments, useReviewFeedback, useSendReviewThreadToAgent, useSetReviewStatus, type ConsumeReviewFeedbackInput, type CreateReviewCommentInput, type DeleteReviewCommentInput, type GetReviewFeedbackParams, type GetReviewFeedbackResult, type ListReviewCommentsParams, type ListReviewCommentsResult, type ReplyReviewCommentInput, type ResolveReviewThreadInput, type ReviewStatusBadgeProps, type ReviewCommentComposerProps, type ReviewThread, type ReviewThreadPanelProps, type SetReviewStatusInput, type SendReviewThreadToAgentInput, } from "./review/index.js";
|
|
31
|
-
export { BuilderConnectCard, ProviderReadinessBadge, SetupConnectionsPage, type BuilderConnectCardProps, type ProviderReadinessBadgeProps, type SetupConnectionsPageProps, } from "./setup-connections/index.js";
|
|
31
|
+
export { BuilderConnectCard, DefaultBuilderConnectCardView, ProviderReadinessBadge, SetupConnectionsPage, useBuilderConnectCardController, type BuilderConnectCardAction, type BuilderConnectCardControllerOptions, type BuilderConnectCardProps, type BuilderConnectCardRenderContext, type BuilderConnectCardStatus, type BuilderConnectCardViewModel, type DefaultBuilderConnectCardViewProps, type ProviderReadinessBadgeProps, type SetupConnectionsPageProps, } from "./setup-connections/index.js";
|
|
32
32
|
export { listIntegrationEnvStatuses, listIntegrationStatuses, saveIntegrationEnvVars, setIntegrationEnabled, setupIntegration, disconnectManagedIntegrationInstallation, listManagedIntegrationInstallations, managedIntegrationOAuthUrl, managedSlackAgentManifestUrl, listManagedIntegrationScopes, saveManagedIntegrationScope, listManagedIntegrationBudgets, listManagedIntegrationMemory, forgetManagedIntegrationMemory, saveManagedIntegrationBudget, testManagedIntegrationInstallation, IntegrationClientError, type ClientIntegrationInstallation, type ClientIntegrationScope, type ClientIntegrationUsageBudget, type ClientIntegrationMemory, type ClientIntegrationStatus, type IntegrationEnvStatus, type SavedEnvVarsResult, } from "./integrations/index.js";
|
|
33
33
|
export { invokeConfiguredAutomationWorkflow, type InvokeConfiguredAutomationWorkflowInput, } from "./automation.js";
|
|
34
34
|
export { ChangelogDialog, ChangelogSettingsCard, useChangelogSeen, parseChangelog, type ChangelogDialogProps, type ChangelogSettingsCardProps, type ChangelogEntry, } from "./changelog/Changelog.js";
|
|
35
35
|
export { DevOverlay, useDevOverlayShortcut, registerDevPanel, unregisterDevPanel, listDevPanels, subscribeDevPanels, useDevOption, clearAllDevOverlayStorage, devOptionKey, DEV_OVERLAY_STORAGE_PREFIX, type DevOverlayProps, type DevPanel, type DevOption, type DevBooleanOption, type DevSelectOption, type DevStringOption, type DevActionOption, type DevOptionValue, } from "./dev-overlay/index.js";
|
|
36
|
-
export { ShareButton, ShareDialog, type ShareButtonProps, type ShareDialogProps, } from "./sharing/index.js";
|
|
36
|
+
export { ShareButton, ShareDialog, useShareButtonController, type ShareButtonProps, type ShareButtonController, type ShareButtonControllerOptions, type ShareButtonOrgMember, type ShareButtonOrgMemberSearch, type ShareButtonRole, type ShareButtonShare, type ShareButtonSharesResponse, type ShareButtonVisibility, type ShareDialogProps, } from "./sharing/index.js";
|
|
37
37
|
export { ObservabilityDashboard, ThumbsFeedback, } from "./observability/index.js";
|
|
38
38
|
export { appendRecentEdit, collectRecentEdits, publishRecentEdit, useRecentEdits, RECENT_EDITS_MAX, RECENT_EDIT_TTL_MS, type RecentEdit, type RecentEditDescriptor, type AttributedRecentEdit, type UseRecentEditsOptions, } from "../collab/recent-edits.js";
|
|
39
39
|
export { useCollabUndo, useLocalOpUndo, createLocalOpUndoController, type UseCollabUndoOptions, type UseCollabUndoResult, type CollabUndoScope, type UseLocalOpUndoOptions, type UseLocalOpUndoResult, type LocalOpUndoEntry, type LocalOpUndoController, type CreateLocalOpUndoOptions, type UndoKeyboardOptions, } from "../collab/undo.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,aAAa,EACb,SAAS,EACT,IAAI,EACJ,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,gCAAgC,EAChC,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,gCAAgC,EAChC,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EAEtB,iCAAiC,EACjC,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,GAClC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,wCAAwC,EACxC,mCAAmC,EACnC,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,kCAAkC,EAClC,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kCAAkC,EAClC,KAAK,uCAAuC,GAC7C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,EAC1B,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,6BAA6B,EAC7B,sBAAsB,EACtB,8BAA8B,EAC9B,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -29,12 +29,12 @@ export { useFollowUser, } from "../collab/follow-mode.js";
|
|
|
29
29
|
export { ResourcesPanel, ResourceTree, ResourceEditor, DEFAULT_MCP_INTEGRATIONS, getDefaultMcpIntegrations, mergeDefaultMcpIntegrations, useResources, useResourceTree, useResource, useCreateResource, useUpdateResource, useDeleteResource, useUploadResource, } from "./resources/index.js";
|
|
30
30
|
export { HistoryTimeline, VersionHistoryPanel, useCreateResourceVersion, useResourceHistory, useResourceVersion, useResourceVersions, useRestoreResourceVersion, } from "./history/index.js";
|
|
31
31
|
export { ReviewCommentComposer, ReviewStatusBadge, ReviewThreadPanel, buildReviewThreads, useConsumeReviewFeedback, useCreateReviewComment, useDeleteReviewComment, useReplyReviewComment, useResolveReviewThread, useReviewComments, useReviewFeedback, useSendReviewThreadToAgent, useSetReviewStatus, } from "./review/index.js";
|
|
32
|
-
export { BuilderConnectCard, ProviderReadinessBadge, SetupConnectionsPage, } from "./setup-connections/index.js";
|
|
32
|
+
export { BuilderConnectCard, DefaultBuilderConnectCardView, ProviderReadinessBadge, SetupConnectionsPage, useBuilderConnectCardController, } from "./setup-connections/index.js";
|
|
33
33
|
export { listIntegrationEnvStatuses, listIntegrationStatuses, saveIntegrationEnvVars, setIntegrationEnabled, setupIntegration, disconnectManagedIntegrationInstallation, listManagedIntegrationInstallations, managedIntegrationOAuthUrl, managedSlackAgentManifestUrl, listManagedIntegrationScopes, saveManagedIntegrationScope, listManagedIntegrationBudgets, listManagedIntegrationMemory, forgetManagedIntegrationMemory, saveManagedIntegrationBudget, testManagedIntegrationInstallation, IntegrationClientError, } from "./integrations/index.js";
|
|
34
34
|
export { invokeConfiguredAutomationWorkflow, } from "./automation.js";
|
|
35
35
|
export { ChangelogDialog, ChangelogSettingsCard, useChangelogSeen, parseChangelog, } from "./changelog/Changelog.js";
|
|
36
36
|
export { DevOverlay, useDevOverlayShortcut, registerDevPanel, unregisterDevPanel, listDevPanels, subscribeDevPanels, useDevOption, clearAllDevOverlayStorage, devOptionKey, DEV_OVERLAY_STORAGE_PREFIX, } from "./dev-overlay/index.js";
|
|
37
|
-
export { ShareButton, ShareDialog, } from "./sharing/index.js";
|
|
37
|
+
export { ShareButton, ShareDialog, useShareButtonController, } from "./sharing/index.js";
|
|
38
38
|
export { ObservabilityDashboard, ThumbsFeedback, } from "./observability/index.js";
|
|
39
39
|
export { appendRecentEdit, collectRecentEdits, publishRecentEdit, useRecentEdits, RECENT_EDITS_MAX, RECENT_EDIT_TTL_MS, } from "../collab/recent-edits.js";
|
|
40
40
|
export { useCollabUndo, useLocalOpUndo, createLocalOpUndoController, } from "../collab/undo.js";
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @deprecated Import from a focused @agent-native/core/client/* entrypoint instead.\n * Compatibility aggregation only; new code must not import this barrel.\n */\nexport * from \"./agent-chat/index.js\";\nexport * from \"./hooks/index.js\";\nexport * from \"./navigation/index.js\";\nexport * from \"./host/index.js\";\nexport * from \"./widgets/index.js\";\nexport * from \"./ui/index.js\";\n\nexport { cn } from \"@agent-native/toolkit/utils\";\nexport {\n AgentNativeI18nProvider,\n LanguagePicker,\n getLocaleInitScript,\n localeDirection,\n normalizeLocaleCode,\n normalizeLocalePreference,\n normalizeLocalizationPreference,\n resolveLocaleFromCandidates,\n resolveLocaleFromPreference,\n useFormatters,\n useLocale,\n useT,\n DEFAULT_LOCALE,\n LOCALE_HYDRATION_GLOBAL,\n LOCALE_METADATA,\n LOCALE_STORAGE_KEY,\n SUPPORTED_LOCALES,\n type AgentNativeI18nCatalog,\n type AgentNativeI18nProviderProps,\n type LocaleCode,\n type LocaleHydrationPayload,\n type LocaleMessages,\n type LocaleMetadata,\n type LocalePreference,\n type LocalizationPreference,\n} from \"./i18n.js\";\nexport { AgentNativeIcon } from \"./components/icons/AgentNativeIcon.js\";\nexport {\n FeatureFlagsEditor,\n evaluatedFeatureFlagValues,\n featureFlagValue,\n useFeatureFlag,\n useFeatureFlags,\n type FeatureFlagActor,\n type FeatureFlagMetadata,\n type FeatureFlagRules,\n type SetFeatureFlagInput,\n} from \"./feature-flags/index.js\";\nexport { withBuilderUtmTrackingParams } from \"../shared/builder-link-tracking.js\";\nexport {\n SettingsPanel,\n SettingsTabsPage,\n SecretsSection,\n getAgentSettingsSearchTabs,\n openBuilderConnectPopup,\n useAgentSettingsTabs,\n useBuilderConnectFlow,\n useBuilderStatus,\n withBuilderConnectTrackingParams,\n type BuilderConnectFlow,\n type BuilderConnectFlowOptions,\n type BuilderConnectStartOptions,\n type BuilderStatus,\n type AgentSettingsSearchTab,\n type OpenBuilderConnectPopupOptions,\n type SecretsSectionProps,\n type SettingsPanelProps,\n type SettingsSearchEntry,\n type SettingsTabItem,\n type SettingsTabsPageProps,\n} from \"./settings/index.js\";\nexport {\n DevDatabaseLink,\n type DevDatabaseLinkProps,\n} from \"./db-admin/DevDatabaseLink.js\";\nexport { DbAdminPage } from \"./db-admin/DbAdminPage.js\";\nexport {\n installRouteChunkRecovery,\n reloadForStaleChunk,\n recoverFromStaleChunkError,\n} from \"./route-chunk-recovery.js\";\nexport { AgentTerminal, type AgentTerminalProps } from \"./terminal/index.js\";\nexport {\n trackEvent,\n trackAgentChatLifecycle,\n trackSessionStatus,\n configureTracking,\n setTrackingContentCaptureEnabled,\n maybeStartSessionReplay,\n startSessionReplay,\n stopSessionReplay,\n getAnalyticsAnonymousId,\n getAnalyticsSessionId,\n getFirstTouchAttribution,\n setSentryUser,\n setTrackingIdentity,\n getSessionReplayContext,\n getSessionReplayUrl,\n captureError,\n captureClientException,\n // First-party, Sentry-style error capture (auto + manual API).\n AGENT_NATIVE_EXCEPTION_EVENT_NAME,\n addErrorBreadcrumb,\n captureException,\n captureMessage,\n isErrorCaptureInstalled,\n type CaptureExceptionContext,\n type CapturedExceptionEvent,\n type ClientCaptureContext,\n type AgentChatLifecycleEvent,\n type ConfigureTrackingOptions,\n type ErrorCaptureConfigOptions,\n type ExceptionBreadcrumb,\n type ExceptionLevel,\n type FirstTouchAttribution,\n type SessionReplayOptions,\n type SessionReplayContext,\n type SessionReplayLinkOptions,\n type SessionReplayStartResult,\n type SessionReplayUrlMatcher,\n type TrackingIdentityUser,\n} from \"./analytics.js\";\nexport { track } from \"./track.js\";\nexport {\n useCollaborativeDoc,\n isReconcileLeadClient,\n emailToColor,\n emailToName,\n dedupeCollabUsersByEmail,\n type UseCollaborativeDocOptions,\n type UseCollaborativeDocResult,\n type CollabUser,\n} from \"../collab/client.js\";\nexport { AGENT_CLIENT_ID } from \"../collab/agent-identity.js\";\nexport {\n usePresence,\n toNormalized,\n fromNormalized,\n type OtherPresence,\n type PresencePayload,\n type UsePresenceResult,\n type NormalizedPoint,\n} from \"../collab/presence.js\";\nexport {\n useFollowUser,\n type UseFollowUserOptions,\n type UseFollowUserResult,\n type ViewportDescriptor,\n} from \"../collab/follow-mode.js\";\nexport {\n ResourcesPanel,\n ResourceTree,\n ResourceEditor,\n DEFAULT_MCP_INTEGRATIONS,\n getDefaultMcpIntegrations,\n mergeDefaultMcpIntegrations,\n useResources,\n useResourceTree,\n useResource,\n useCreateResource,\n useUpdateResource,\n useDeleteResource,\n useUploadResource,\n type Resource,\n type ResourceMeta,\n type TreeNode,\n type ResourceScope,\n type ResourceTreeProps,\n type ResourceEditorProps,\n type DefaultMcpIntegration,\n} from \"./resources/index.js\";\nexport type { ResourcesPanelProps } from \"./resources/ResourcesPanel.js\";\nexport {\n HistoryTimeline,\n VersionHistoryPanel,\n useCreateResourceVersion,\n useResourceHistory,\n useResourceVersion,\n useResourceVersions,\n useRestoreResourceVersion,\n type CreateResourceVersionInput,\n type GetResourceVersionInput,\n type GetResourceVersionResult,\n type ListResourceHistoryResult,\n type ListResourceVersionsResult,\n type ResourceHistoryParams,\n type ResourceVersionsParams,\n type RestoreResourceVersionInput,\n type RestoreResourceVersionResult,\n type VersionHistoryPanelProps,\n} from \"./history/index.js\";\nexport {\n ReviewCommentComposer,\n ReviewStatusBadge,\n ReviewThreadPanel,\n buildReviewThreads,\n useConsumeReviewFeedback,\n useCreateReviewComment,\n useDeleteReviewComment,\n useReplyReviewComment,\n useResolveReviewThread,\n useReviewComments,\n useReviewFeedback,\n useSendReviewThreadToAgent,\n useSetReviewStatus,\n type ConsumeReviewFeedbackInput,\n type CreateReviewCommentInput,\n type DeleteReviewCommentInput,\n type GetReviewFeedbackParams,\n type GetReviewFeedbackResult,\n type ListReviewCommentsParams,\n type ListReviewCommentsResult,\n type ReplyReviewCommentInput,\n type ResolveReviewThreadInput,\n type ReviewStatusBadgeProps,\n type ReviewCommentComposerProps,\n type ReviewThread,\n type ReviewThreadPanelProps,\n type SetReviewStatusInput,\n type SendReviewThreadToAgentInput,\n} from \"./review/index.js\";\nexport {\n BuilderConnectCard,\n ProviderReadinessBadge,\n SetupConnectionsPage,\n type BuilderConnectCardProps,\n type ProviderReadinessBadgeProps,\n type SetupConnectionsPageProps,\n} from \"./setup-connections/index.js\";\nexport {\n listIntegrationEnvStatuses,\n listIntegrationStatuses,\n saveIntegrationEnvVars,\n setIntegrationEnabled,\n setupIntegration,\n disconnectManagedIntegrationInstallation,\n listManagedIntegrationInstallations,\n managedIntegrationOAuthUrl,\n managedSlackAgentManifestUrl,\n listManagedIntegrationScopes,\n saveManagedIntegrationScope,\n listManagedIntegrationBudgets,\n listManagedIntegrationMemory,\n forgetManagedIntegrationMemory,\n saveManagedIntegrationBudget,\n testManagedIntegrationInstallation,\n IntegrationClientError,\n type ClientIntegrationInstallation,\n type ClientIntegrationScope,\n type ClientIntegrationUsageBudget,\n type ClientIntegrationMemory,\n type ClientIntegrationStatus,\n type IntegrationEnvStatus,\n type SavedEnvVarsResult,\n} from \"./integrations/index.js\";\nexport {\n invokeConfiguredAutomationWorkflow,\n type InvokeConfiguredAutomationWorkflowInput,\n} from \"./automation.js\";\nexport {\n ChangelogDialog,\n ChangelogSettingsCard,\n useChangelogSeen,\n parseChangelog,\n type ChangelogDialogProps,\n type ChangelogSettingsCardProps,\n type ChangelogEntry,\n} from \"./changelog/Changelog.js\";\nexport {\n DevOverlay,\n useDevOverlayShortcut,\n registerDevPanel,\n unregisterDevPanel,\n listDevPanels,\n subscribeDevPanels,\n useDevOption,\n clearAllDevOverlayStorage,\n devOptionKey,\n DEV_OVERLAY_STORAGE_PREFIX,\n type DevOverlayProps,\n type DevPanel,\n type DevOption,\n type DevBooleanOption,\n type DevSelectOption,\n type DevStringOption,\n type DevActionOption,\n type DevOptionValue,\n} from \"./dev-overlay/index.js\";\nexport {\n ShareButton,\n ShareDialog,\n type ShareButtonProps,\n type ShareDialogProps,\n} from \"./sharing/index.js\";\nexport {\n ObservabilityDashboard,\n ThumbsFeedback,\n} from \"./observability/index.js\";\nexport {\n appendRecentEdit,\n collectRecentEdits,\n publishRecentEdit,\n useRecentEdits,\n RECENT_EDITS_MAX,\n RECENT_EDIT_TTL_MS,\n type RecentEdit,\n type RecentEditDescriptor,\n type AttributedRecentEdit,\n type UseRecentEditsOptions,\n} from \"../collab/recent-edits.js\";\nexport {\n useCollabUndo,\n useLocalOpUndo,\n createLocalOpUndoController,\n type UseCollabUndoOptions,\n type UseCollabUndoResult,\n type CollabUndoScope,\n type UseLocalOpUndoOptions,\n type UseLocalOpUndoResult,\n type LocalOpUndoEntry,\n type LocalOpUndoController,\n type CreateLocalOpUndoOptions,\n type UndoKeyboardOptions,\n} from \"../collab/undo.js\";\nexport {\n useCollaborativeMap,\n useCollaborativeArray,\n type UseCollaborativeMapOptions,\n type UseCollaborativeMapResult,\n type UseCollaborativeArrayOptions,\n type UseCollaborativeArrayResult,\n} from \"../collab/client-struct.js\";\nexport { NotificationsBell } from \"./notifications/index.js\";\nexport {\n defineBlock,\n BlockRegistry,\n registerBlocks,\n BlockRegistryProvider,\n useBlockRegistry,\n useOptionalBlockRegistry,\n BlockView,\n SchemaBlockEditor,\n markdown,\n richtext,\n introspect,\n serializeSpecBlock,\n parseSpecBlock,\n createAttrReader,\n childCodeFenceFields,\n serializeChildCodeFenceFields,\n describeBlocksForAgent,\n renderBlockVocabularyReference,\n type BlockSpec,\n type BlockPlacement,\n type BlockMdxConfig,\n type BlockAttrReader,\n type BlockRenderContext,\n type BlockReadProps,\n type BlockEditProps,\n type MdxAttrValue,\n type FieldKind,\n type FieldDescriptor,\n type MdxJsxNode,\n type MdxAttrNode,\n type SerializableBlock,\n type ParsedBlockBase,\n type BlockAgentDoc,\n} from \"./blocks/index.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @deprecated Import from a focused @agent-native/core/client/* entrypoint instead.\n * Compatibility aggregation only; new code must not import this barrel.\n */\nexport * from \"./agent-chat/index.js\";\nexport * from \"./hooks/index.js\";\nexport * from \"./navigation/index.js\";\nexport * from \"./host/index.js\";\nexport * from \"./widgets/index.js\";\nexport * from \"./ui/index.js\";\n\nexport { cn } from \"@agent-native/toolkit/utils\";\nexport {\n AgentNativeI18nProvider,\n LanguagePicker,\n getLocaleInitScript,\n localeDirection,\n normalizeLocaleCode,\n normalizeLocalePreference,\n normalizeLocalizationPreference,\n resolveLocaleFromCandidates,\n resolveLocaleFromPreference,\n useFormatters,\n useLocale,\n useT,\n DEFAULT_LOCALE,\n LOCALE_HYDRATION_GLOBAL,\n LOCALE_METADATA,\n LOCALE_STORAGE_KEY,\n SUPPORTED_LOCALES,\n type AgentNativeI18nCatalog,\n type AgentNativeI18nProviderProps,\n type LocaleCode,\n type LocaleHydrationPayload,\n type LocaleMessages,\n type LocaleMetadata,\n type LocalePreference,\n type LocalizationPreference,\n} from \"./i18n.js\";\nexport { AgentNativeIcon } from \"./components/icons/AgentNativeIcon.js\";\nexport {\n FeatureFlagsEditor,\n evaluatedFeatureFlagValues,\n featureFlagValue,\n useFeatureFlag,\n useFeatureFlags,\n type FeatureFlagActor,\n type FeatureFlagMetadata,\n type FeatureFlagRules,\n type SetFeatureFlagInput,\n} from \"./feature-flags/index.js\";\nexport { withBuilderUtmTrackingParams } from \"../shared/builder-link-tracking.js\";\nexport {\n SettingsPanel,\n SettingsTabsPage,\n SecretsSection,\n getAgentSettingsSearchTabs,\n openBuilderConnectPopup,\n useAgentSettingsTabs,\n useBuilderConnectFlow,\n useBuilderStatus,\n withBuilderConnectTrackingParams,\n type BuilderConnectFlow,\n type BuilderConnectFlowOptions,\n type BuilderConnectStartOptions,\n type BuilderStatus,\n type AgentSettingsSearchTab,\n type OpenBuilderConnectPopupOptions,\n type SecretsSectionProps,\n type SettingsPanelProps,\n type SettingsSearchEntry,\n type SettingsTabItem,\n type SettingsTabsPageProps,\n} from \"./settings/index.js\";\nexport {\n DevDatabaseLink,\n type DevDatabaseLinkProps,\n} from \"./db-admin/DevDatabaseLink.js\";\nexport { DbAdminPage } from \"./db-admin/DbAdminPage.js\";\nexport {\n installRouteChunkRecovery,\n reloadForStaleChunk,\n recoverFromStaleChunkError,\n} from \"./route-chunk-recovery.js\";\nexport { AgentTerminal, type AgentTerminalProps } from \"./terminal/index.js\";\nexport {\n trackEvent,\n trackAgentChatLifecycle,\n trackSessionStatus,\n configureTracking,\n setTrackingContentCaptureEnabled,\n maybeStartSessionReplay,\n startSessionReplay,\n stopSessionReplay,\n getAnalyticsAnonymousId,\n getAnalyticsSessionId,\n getFirstTouchAttribution,\n setSentryUser,\n setTrackingIdentity,\n getSessionReplayContext,\n getSessionReplayUrl,\n captureError,\n captureClientException,\n // First-party, Sentry-style error capture (auto + manual API).\n AGENT_NATIVE_EXCEPTION_EVENT_NAME,\n addErrorBreadcrumb,\n captureException,\n captureMessage,\n isErrorCaptureInstalled,\n type CaptureExceptionContext,\n type CapturedExceptionEvent,\n type ClientCaptureContext,\n type AgentChatLifecycleEvent,\n type ConfigureTrackingOptions,\n type ErrorCaptureConfigOptions,\n type ExceptionBreadcrumb,\n type ExceptionLevel,\n type FirstTouchAttribution,\n type SessionReplayOptions,\n type SessionReplayContext,\n type SessionReplayLinkOptions,\n type SessionReplayStartResult,\n type SessionReplayUrlMatcher,\n type TrackingIdentityUser,\n} from \"./analytics.js\";\nexport { track } from \"./track.js\";\nexport {\n useCollaborativeDoc,\n isReconcileLeadClient,\n emailToColor,\n emailToName,\n dedupeCollabUsersByEmail,\n type UseCollaborativeDocOptions,\n type UseCollaborativeDocResult,\n type CollabUser,\n} from \"../collab/client.js\";\nexport { AGENT_CLIENT_ID } from \"../collab/agent-identity.js\";\nexport {\n usePresence,\n toNormalized,\n fromNormalized,\n type OtherPresence,\n type PresencePayload,\n type UsePresenceResult,\n type NormalizedPoint,\n} from \"../collab/presence.js\";\nexport {\n useFollowUser,\n type UseFollowUserOptions,\n type UseFollowUserResult,\n type ViewportDescriptor,\n} from \"../collab/follow-mode.js\";\nexport {\n ResourcesPanel,\n ResourceTree,\n ResourceEditor,\n DEFAULT_MCP_INTEGRATIONS,\n getDefaultMcpIntegrations,\n mergeDefaultMcpIntegrations,\n useResources,\n useResourceTree,\n useResource,\n useCreateResource,\n useUpdateResource,\n useDeleteResource,\n useUploadResource,\n type Resource,\n type ResourceMeta,\n type TreeNode,\n type ResourceScope,\n type ResourceTreeProps,\n type ResourceEditorProps,\n type DefaultMcpIntegration,\n} from \"./resources/index.js\";\nexport type { ResourcesPanelProps } from \"./resources/ResourcesPanel.js\";\nexport {\n HistoryTimeline,\n VersionHistoryPanel,\n useCreateResourceVersion,\n useResourceHistory,\n useResourceVersion,\n useResourceVersions,\n useRestoreResourceVersion,\n type CreateResourceVersionInput,\n type GetResourceVersionInput,\n type GetResourceVersionResult,\n type ListResourceHistoryResult,\n type ListResourceVersionsResult,\n type ResourceHistoryParams,\n type ResourceVersionsParams,\n type RestoreResourceVersionInput,\n type RestoreResourceVersionResult,\n type VersionHistoryPanelProps,\n} from \"./history/index.js\";\nexport {\n ReviewCommentComposer,\n ReviewStatusBadge,\n ReviewThreadPanel,\n buildReviewThreads,\n useConsumeReviewFeedback,\n useCreateReviewComment,\n useDeleteReviewComment,\n useReplyReviewComment,\n useResolveReviewThread,\n useReviewComments,\n useReviewFeedback,\n useSendReviewThreadToAgent,\n useSetReviewStatus,\n type ConsumeReviewFeedbackInput,\n type CreateReviewCommentInput,\n type DeleteReviewCommentInput,\n type GetReviewFeedbackParams,\n type GetReviewFeedbackResult,\n type ListReviewCommentsParams,\n type ListReviewCommentsResult,\n type ReplyReviewCommentInput,\n type ResolveReviewThreadInput,\n type ReviewStatusBadgeProps,\n type ReviewCommentComposerProps,\n type ReviewThread,\n type ReviewThreadPanelProps,\n type SetReviewStatusInput,\n type SendReviewThreadToAgentInput,\n} from \"./review/index.js\";\nexport {\n BuilderConnectCard,\n DefaultBuilderConnectCardView,\n ProviderReadinessBadge,\n SetupConnectionsPage,\n useBuilderConnectCardController,\n type BuilderConnectCardAction,\n type BuilderConnectCardControllerOptions,\n type BuilderConnectCardProps,\n type BuilderConnectCardRenderContext,\n type BuilderConnectCardStatus,\n type BuilderConnectCardViewModel,\n type DefaultBuilderConnectCardViewProps,\n type ProviderReadinessBadgeProps,\n type SetupConnectionsPageProps,\n} from \"./setup-connections/index.js\";\nexport {\n listIntegrationEnvStatuses,\n listIntegrationStatuses,\n saveIntegrationEnvVars,\n setIntegrationEnabled,\n setupIntegration,\n disconnectManagedIntegrationInstallation,\n listManagedIntegrationInstallations,\n managedIntegrationOAuthUrl,\n managedSlackAgentManifestUrl,\n listManagedIntegrationScopes,\n saveManagedIntegrationScope,\n listManagedIntegrationBudgets,\n listManagedIntegrationMemory,\n forgetManagedIntegrationMemory,\n saveManagedIntegrationBudget,\n testManagedIntegrationInstallation,\n IntegrationClientError,\n type ClientIntegrationInstallation,\n type ClientIntegrationScope,\n type ClientIntegrationUsageBudget,\n type ClientIntegrationMemory,\n type ClientIntegrationStatus,\n type IntegrationEnvStatus,\n type SavedEnvVarsResult,\n} from \"./integrations/index.js\";\nexport {\n invokeConfiguredAutomationWorkflow,\n type InvokeConfiguredAutomationWorkflowInput,\n} from \"./automation.js\";\nexport {\n ChangelogDialog,\n ChangelogSettingsCard,\n useChangelogSeen,\n parseChangelog,\n type ChangelogDialogProps,\n type ChangelogSettingsCardProps,\n type ChangelogEntry,\n} from \"./changelog/Changelog.js\";\nexport {\n DevOverlay,\n useDevOverlayShortcut,\n registerDevPanel,\n unregisterDevPanel,\n listDevPanels,\n subscribeDevPanels,\n useDevOption,\n clearAllDevOverlayStorage,\n devOptionKey,\n DEV_OVERLAY_STORAGE_PREFIX,\n type DevOverlayProps,\n type DevPanel,\n type DevOption,\n type DevBooleanOption,\n type DevSelectOption,\n type DevStringOption,\n type DevActionOption,\n type DevOptionValue,\n} from \"./dev-overlay/index.js\";\nexport {\n ShareButton,\n ShareDialog,\n useShareButtonController,\n type ShareButtonProps,\n type ShareButtonController,\n type ShareButtonControllerOptions,\n type ShareButtonOrgMember,\n type ShareButtonOrgMemberSearch,\n type ShareButtonRole,\n type ShareButtonShare,\n type ShareButtonSharesResponse,\n type ShareButtonVisibility,\n type ShareDialogProps,\n} from \"./sharing/index.js\";\nexport {\n ObservabilityDashboard,\n ThumbsFeedback,\n} from \"./observability/index.js\";\nexport {\n appendRecentEdit,\n collectRecentEdits,\n publishRecentEdit,\n useRecentEdits,\n RECENT_EDITS_MAX,\n RECENT_EDIT_TTL_MS,\n type RecentEdit,\n type RecentEditDescriptor,\n type AttributedRecentEdit,\n type UseRecentEditsOptions,\n} from \"../collab/recent-edits.js\";\nexport {\n useCollabUndo,\n useLocalOpUndo,\n createLocalOpUndoController,\n type UseCollabUndoOptions,\n type UseCollabUndoResult,\n type CollabUndoScope,\n type UseLocalOpUndoOptions,\n type UseLocalOpUndoResult,\n type LocalOpUndoEntry,\n type LocalOpUndoController,\n type CreateLocalOpUndoOptions,\n type UndoKeyboardOptions,\n} from \"../collab/undo.js\";\nexport {\n useCollaborativeMap,\n useCollaborativeArray,\n type UseCollaborativeMapOptions,\n type UseCollaborativeMapResult,\n type UseCollaborativeArrayOptions,\n type UseCollaborativeArrayResult,\n} from \"../collab/client-struct.js\";\nexport { NotificationsBell } from \"./notifications/index.js\";\nexport {\n defineBlock,\n BlockRegistry,\n registerBlocks,\n BlockRegistryProvider,\n useBlockRegistry,\n useOptionalBlockRegistry,\n BlockView,\n SchemaBlockEditor,\n markdown,\n richtext,\n introspect,\n serializeSpecBlock,\n parseSpecBlock,\n createAttrReader,\n childCodeFenceFields,\n serializeChildCodeFenceFields,\n describeBlocksForAgent,\n renderBlockVocabularyReference,\n type BlockSpec,\n type BlockPlacement,\n type BlockMdxConfig,\n type BlockAttrReader,\n type BlockRenderContext,\n type BlockReadProps,\n type BlockEditProps,\n type MdxAttrValue,\n type FieldKind,\n type FieldDescriptor,\n type MdxJsxNode,\n type MdxAttrNode,\n type SerializableBlock,\n type ParsedBlockBase,\n type BlockAgentDoc,\n} from \"./blocks/index.js\";\n"]}
|
|
@@ -11,6 +11,8 @@ export interface OrgSwitcherProps {
|
|
|
11
11
|
* the in-sidebar settings panel.
|
|
12
12
|
*/
|
|
13
13
|
settingsPath?: string | null;
|
|
14
|
+
/** Path to navigate to when the user clicks "Profile". Defaults to the shared Account settings section. */
|
|
15
|
+
profilePath?: string | null;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* Compact org switcher button. Shows the active org (or "Personal" when the
|
|
@@ -18,5 +20,5 @@ export interface OrgSwitcherProps {
|
|
|
18
20
|
* invitations, inline forms to create a new org / invite a teammate, and a
|
|
19
21
|
* sign-out item. Renders nothing in dev / no-auth mode.
|
|
20
22
|
*/
|
|
21
|
-
export declare function OrgSwitcher({ className, hideWhenSingle, reserveSpace, settingsPath, }: OrgSwitcherProps): import("react").JSX.Element | null;
|
|
23
|
+
export declare function OrgSwitcher({ className, hideWhenSingle, reserveSpace, settingsPath, profilePath, }: OrgSwitcherProps): import("react").JSX.Element | null;
|
|
22
24
|
//# sourceMappingURL=OrgSwitcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrgSwitcher.d.ts","sourceRoot":"","sources":["../../../src/client/org/OrgSwitcher.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OrgSwitcher.d.ts","sourceRoot":"","sources":["../../../src/client/org/OrgSwitcher.tsx"],"names":[],"mappings":"AA4DA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,2GAA2G;IAC3G,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAqOD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,cAAc,EACd,YAAY,EACZ,YAAiD,EACjD,WAAkC,GACnC,EAAE,gBAAgB,sCA6clB"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
3
|
-
import { IconApps, IconArrowUpRight, IconBrain, IconBrandJira, IconBrush, IconCalendar, IconCalendarTime, IconChartBar, IconCheck, IconChevronRight, IconClipboardList, IconCode, IconFileText, IconLayoutBoard, IconListCheck, IconLoader2, IconLogout, IconMail, IconMessageCircle, IconMicrophone, IconNote, IconPhone, IconPhoto, IconPlus, IconPresentation, IconRoute, IconScreenShare, IconSelector, IconSettings, IconStack2, IconUser, IconUserPlus, IconUsers, IconUsersGroup, IconWorld, } from "@tabler/icons-react";
|
|
3
|
+
import { IconApps, IconArrowUpRight, IconBrain, IconBrandJira, IconBrush, IconCalendar, IconCalendarTime, IconChartBar, IconCheck, IconChevronRight, IconClipboardList, IconCode, IconFileText, IconLayoutBoard, IconListCheck, IconLoader2, IconLogout, IconMail, IconMessageCircle, IconMicrophone, IconNote, IconPhone, IconPhoto, IconPlus, IconPresentation, IconRoute, IconScreenShare, IconSelector, IconSettings, IconStack2, IconUser, IconUserCircle, IconUserPlus, IconUsers, IconUsersGroup, IconWorld, } from "@tabler/icons-react";
|
|
4
4
|
import { useState } from "react";
|
|
5
5
|
import { useNavigate } from "react-router";
|
|
6
6
|
import { agentNativePath } from "../api-path.js";
|
|
7
|
+
import { useT } from "../i18n.js";
|
|
8
|
+
import { useSession } from "../use-session.js";
|
|
7
9
|
import { useOrg, useSwitchOrg, useCreateOrg, useInviteMember, useAcceptInvitation, useJoinByDomain, } from "./hooks.js";
|
|
8
10
|
import { ORG_SWITCHER_MAX_APP_LINKS, useOrgSwitcherAppLinks, visibleOrgAppLinks, } from "./workspace-app-links.js";
|
|
9
11
|
function personalLabelFromEmail(email) {
|
|
@@ -25,6 +27,7 @@ const SECTION_LABEL_CLASS = "px-2.5 pt-1 pb-0.5 text-[10px] uppercase tracking-w
|
|
|
25
27
|
const APP_SUBMENU_CONTENT_CLASS = "z-50 w-72 rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2";
|
|
26
28
|
const SWITCHER_BUTTON_CLASS = "flex w-full items-center gap-2 rounded-md border border-border/70 px-2.5 py-1.5 text-xs font-medium text-muted-foreground hover:bg-accent/50 hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-60 cursor-pointer";
|
|
27
29
|
const DEFAULT_ORGANIZATION_SETTINGS_PATH = "/settings#organization";
|
|
30
|
+
const DEFAULT_PROFILE_PATH = "/settings#account";
|
|
28
31
|
const APP_ICON_MAP = {
|
|
29
32
|
Mail: IconMail,
|
|
30
33
|
CalendarDays: IconCalendar,
|
|
@@ -102,8 +105,10 @@ function OrgSwitcherLoadingPlaceholder({ className }) {
|
|
|
102
105
|
* invitations, inline forms to create a new org / invite a teammate, and a
|
|
103
106
|
* sign-out item. Renders nothing in dev / no-auth mode.
|
|
104
107
|
*/
|
|
105
|
-
export function OrgSwitcher({ className, hideWhenSingle, reserveSpace, settingsPath = DEFAULT_ORGANIZATION_SETTINGS_PATH, }) {
|
|
108
|
+
export function OrgSwitcher({ className, hideWhenSingle, reserveSpace, settingsPath = DEFAULT_ORGANIZATION_SETTINGS_PATH, profilePath = DEFAULT_PROFILE_PATH, }) {
|
|
106
109
|
const { data: org, isLoading } = useOrg();
|
|
110
|
+
const { session } = useSession();
|
|
111
|
+
const t = useT();
|
|
107
112
|
const switchOrg = useSwitchOrg();
|
|
108
113
|
const createOrg = useCreateOrg();
|
|
109
114
|
const inviteMember = useInviteMember();
|
|
@@ -158,7 +163,7 @@ export function OrgSwitcher({ className, hideWhenSingle, reserveSpace, settingsP
|
|
|
158
163
|
return reserveSpace ? (_jsx(ReservedOrgSwitcherSpace, { className: className })) : null;
|
|
159
164
|
}
|
|
160
165
|
const canInvite = !!org.orgId && (org.role === "owner" || org.role === "admin");
|
|
161
|
-
const personalLabel = personalLabelFromEmail(org.email);
|
|
166
|
+
const personalLabel = session?.name || personalLabelFromEmail(org.email);
|
|
162
167
|
const inOrg = !!org.orgId;
|
|
163
168
|
const buttonLabel = org.orgName ?? "Personal";
|
|
164
169
|
const ButtonIcon = inOrg ? IconUsersGroup : IconUser;
|
|
@@ -204,7 +209,10 @@ export function OrgSwitcher({ className, hideWhenSingle, reserveSpace, settingsP
|
|
|
204
209
|
setJoiningOrgId(null);
|
|
205
210
|
}
|
|
206
211
|
}, disabled: joinByDomain.isPending, className: "rounded px-1.5 py-0.5 text-[11px] font-medium text-primary hover:bg-primary/10 disabled:opacity-50 cursor-pointer", children: isJoining ? (_jsx(IconLoader2, { className: "h-3 w-3 animate-spin" })) : ("Join") })] }, match.orgId));
|
|
207
|
-
})] })), _jsx("div", { className: "my-1 h-px bg-border" }), _jsx(AppsSubmenu, { apps: appLinks.apps, isWorkspace: appLinks.isWorkspace, isLoading: appLinks.isLoading, dispatchHref: appLinks.dispatchHref, dispatchAllAppsHref: appLinks.dispatchAllAppsHref, onNavigate: () => setOpen(false) }),
|
|
212
|
+
})] })), _jsx("div", { className: "my-1 h-px bg-border" }), _jsx(AppsSubmenu, { apps: appLinks.apps, isWorkspace: appLinks.isWorkspace, isLoading: appLinks.isLoading, dispatchHref: appLinks.dispatchHref, dispatchAllAppsHref: appLinks.dispatchAllAppsHref, onNavigate: () => setOpen(false) }), profilePath && (_jsxs("button", { type: "button", onClick: () => {
|
|
213
|
+
setOpen(false);
|
|
214
|
+
navigate(profilePath);
|
|
215
|
+
}, className: `${ITEM_CLASS} cursor-pointer`, children: [_jsx(IconUserCircle, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }), _jsx("span", { className: "flex-1 text-start", children: t("settings.profileMenuItem") })] })), inOrg && (_jsxs("button", { type: "button", onClick: () => {
|
|
208
216
|
setOpen(false);
|
|
209
217
|
if (organizationSettingsHref) {
|
|
210
218
|
navigate(organizationSettingsHref);
|