@cats-inc/cats-platform 0.1.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/.env.example +188 -0
- package/LICENSE +21 -0
- package/README.md +271 -0
- package/build/desktop/bootstrapDiagnostics.d.ts +39 -0
- package/build/desktop/bootstrapDiagnostics.d.ts.map +1 -0
- package/build/desktop/bootstrapDiagnostics.js +212 -0
- package/build/desktop/bootstrapDiagnostics.js.map +1 -0
- package/build/desktop/bootstrapNavigation.d.ts +24 -0
- package/build/desktop/bootstrapNavigation.d.ts.map +1 -0
- package/build/desktop/bootstrapNavigation.js +65 -0
- package/build/desktop/bootstrapNavigation.js.map +1 -0
- package/build/desktop/bootstrapPage.d.ts +2 -0
- package/build/desktop/bootstrapPage.d.ts.map +1 -0
- package/build/desktop/bootstrapPage.js +2676 -0
- package/build/desktop/bootstrapPage.js.map +1 -0
- package/build/desktop/cliInventoryProbe.d.ts +16 -0
- package/build/desktop/cliInventoryProbe.d.ts.map +1 -0
- package/build/desktop/cliInventoryProbe.js +102 -0
- package/build/desktop/cliInventoryProbe.js.map +1 -0
- package/build/desktop/config.d.ts +68 -0
- package/build/desktop/config.d.ts.map +1 -0
- package/build/desktop/config.js +194 -0
- package/build/desktop/config.js.map +1 -0
- package/build/desktop/contracts.d.ts +513 -0
- package/build/desktop/contracts.d.ts.map +1 -0
- package/build/desktop/contracts.js +196 -0
- package/build/desktop/contracts.js.map +1 -0
- package/build/desktop/desktopStartup.d.ts +49 -0
- package/build/desktop/desktopStartup.d.ts.map +1 -0
- package/build/desktop/desktopStartup.js +132 -0
- package/build/desktop/desktopStartup.js.map +1 -0
- package/build/desktop/env.d.ts +10 -0
- package/build/desktop/env.d.ts.map +1 -0
- package/build/desktop/env.js +80 -0
- package/build/desktop/env.js.map +1 -0
- package/build/desktop/externalOpenGate.d.ts +6 -0
- package/build/desktop/externalOpenGate.d.ts.map +1 -0
- package/build/desktop/externalOpenGate.js +15 -0
- package/build/desktop/externalOpenGate.js.map +1 -0
- package/build/desktop/hostState.d.ts +28 -0
- package/build/desktop/hostState.d.ts.map +1 -0
- package/build/desktop/hostState.js +445 -0
- package/build/desktop/hostState.js.map +1 -0
- package/build/desktop/hostVersion.d.ts +2 -0
- package/build/desktop/hostVersion.d.ts.map +1 -0
- package/build/desktop/hostVersion.js +13 -0
- package/build/desktop/hostVersion.js.map +1 -0
- package/build/desktop/main.d.ts +2 -0
- package/build/desktop/main.d.ts.map +1 -0
- package/build/desktop/main.js +1819 -0
- package/build/desktop/main.js.map +1 -0
- package/build/desktop/mobilePairingEnv.d.ts +13 -0
- package/build/desktop/mobilePairingEnv.d.ts.map +1 -0
- package/build/desktop/mobilePairingEnv.js +48 -0
- package/build/desktop/mobilePairingEnv.js.map +1 -0
- package/build/desktop/packaging.d.ts +12 -0
- package/build/desktop/packaging.d.ts.map +1 -0
- package/build/desktop/packaging.js +1000 -0
- package/build/desktop/packaging.js.map +1 -0
- package/build/desktop/persistedSetupState.d.ts +6 -0
- package/build/desktop/persistedSetupState.d.ts.map +1 -0
- package/build/desktop/persistedSetupState.js +47 -0
- package/build/desktop/persistedSetupState.js.map +1 -0
- package/build/desktop/platformPaths.d.ts +4 -0
- package/build/desktop/platformPaths.d.ts.map +1 -0
- package/build/desktop/platformPaths.js +23 -0
- package/build/desktop/platformPaths.js.map +1 -0
- package/build/desktop/platformShellUpdate.d.ts +28 -0
- package/build/desktop/platformShellUpdate.d.ts.map +1 -0
- package/build/desktop/platformShellUpdate.js +73 -0
- package/build/desktop/platformShellUpdate.js.map +1 -0
- package/build/desktop/preload.cjs +162 -0
- package/build/desktop/preload.cjs.map +1 -0
- package/build/desktop/preload.d.cts +2 -0
- package/build/desktop/preload.d.cts.map +1 -0
- package/build/desktop/processSupervisor.d.ts +55 -0
- package/build/desktop/processSupervisor.d.ts.map +1 -0
- package/build/desktop/processSupervisor.js +769 -0
- package/build/desktop/processSupervisor.js.map +1 -0
- package/build/desktop/readiness.d.ts +91 -0
- package/build/desktop/readiness.d.ts.map +1 -0
- package/build/desktop/readiness.js +658 -0
- package/build/desktop/readiness.js.map +1 -0
- package/build/desktop/screenshotCapture.d.ts +34 -0
- package/build/desktop/screenshotCapture.d.ts.map +1 -0
- package/build/desktop/screenshotCapture.js +74 -0
- package/build/desktop/screenshotCapture.js.map +1 -0
- package/build/desktop/screenshotElectronAdapter.d.ts +6 -0
- package/build/desktop/screenshotElectronAdapter.d.ts.map +1 -0
- package/build/desktop/screenshotElectronAdapter.js +45 -0
- package/build/desktop/screenshotElectronAdapter.js.map +1 -0
- package/build/desktop/screenshotElectronOverlay.d.ts +3 -0
- package/build/desktop/screenshotElectronOverlay.d.ts.map +1 -0
- package/build/desktop/screenshotElectronOverlay.js +38 -0
- package/build/desktop/screenshotElectronOverlay.js.map +1 -0
- package/build/desktop/screenshotFilename.d.ts +2 -0
- package/build/desktop/screenshotFilename.d.ts.map +1 -0
- package/build/desktop/screenshotFilename.js +22 -0
- package/build/desktop/screenshotFilename.js.map +1 -0
- package/build/desktop/screenshotGeometry.d.ts +34 -0
- package/build/desktop/screenshotGeometry.d.ts.map +1 -0
- package/build/desktop/screenshotGeometry.js +42 -0
- package/build/desktop/screenshotGeometry.js.map +1 -0
- package/build/desktop/screenshotNativeCapture.d.ts +70 -0
- package/build/desktop/screenshotNativeCapture.d.ts.map +1 -0
- package/build/desktop/screenshotNativeCapture.js +128 -0
- package/build/desktop/screenshotNativeCapture.js.map +1 -0
- package/build/desktop/screenshotOverlayController.d.ts +27 -0
- package/build/desktop/screenshotOverlayController.d.ts.map +1 -0
- package/build/desktop/screenshotOverlayController.js +54 -0
- package/build/desktop/screenshotOverlayController.js.map +1 -0
- package/build/desktop/screenshotOverlayIpc.d.ts +28 -0
- package/build/desktop/screenshotOverlayIpc.d.ts.map +1 -0
- package/build/desktop/screenshotOverlayIpc.js +42 -0
- package/build/desktop/screenshotOverlayIpc.js.map +1 -0
- package/build/desktop/screenshotOverlayPayload.d.ts +14 -0
- package/build/desktop/screenshotOverlayPayload.d.ts.map +1 -0
- package/build/desktop/screenshotOverlayPayload.js +18 -0
- package/build/desktop/screenshotOverlayPayload.js.map +1 -0
- package/build/desktop/screenshotOverlayPreload.cjs +57 -0
- package/build/desktop/screenshotOverlayPreload.cjs.map +1 -0
- package/build/desktop/screenshotOverlayPreload.d.cts +2 -0
- package/build/desktop/screenshotOverlayPreload.d.cts.map +1 -0
- package/build/desktop/screenshotOverlaySelection.d.ts +23 -0
- package/build/desktop/screenshotOverlaySelection.d.ts.map +1 -0
- package/build/desktop/screenshotOverlaySelection.js +42 -0
- package/build/desktop/screenshotOverlaySelection.js.map +1 -0
- package/build/desktop/screenshotOverlaySession.d.ts +24 -0
- package/build/desktop/screenshotOverlaySession.d.ts.map +1 -0
- package/build/desktop/screenshotOverlaySession.js +58 -0
- package/build/desktop/screenshotOverlaySession.js.map +1 -0
- package/build/desktop/screenshotOverlayWindows.d.ts +42 -0
- package/build/desktop/screenshotOverlayWindows.d.ts.map +1 -0
- package/build/desktop/screenshotOverlayWindows.js +41 -0
- package/build/desktop/screenshotOverlayWindows.js.map +1 -0
- package/build/desktop/screenshotPermission.d.ts +7 -0
- package/build/desktop/screenshotPermission.d.ts.map +1 -0
- package/build/desktop/screenshotPermission.js +22 -0
- package/build/desktop/screenshotPermission.js.map +1 -0
- package/build/desktop/screenshotRegionCapture.d.ts +15 -0
- package/build/desktop/screenshotRegionCapture.d.ts.map +1 -0
- package/build/desktop/screenshotRegionCapture.js +40 -0
- package/build/desktop/screenshotRegionCapture.js.map +1 -0
- package/build/desktop/screenshotWlrootsCapture.d.ts +28 -0
- package/build/desktop/screenshotWlrootsCapture.d.ts.map +1 -0
- package/build/desktop/screenshotWlrootsCapture.js +269 -0
- package/build/desktop/screenshotWlrootsCapture.js.map +1 -0
- package/build/desktop/security.d.ts +11 -0
- package/build/desktop/security.d.ts.map +1 -0
- package/build/desktop/security.js +84 -0
- package/build/desktop/security.js.map +1 -0
- package/build/desktop/setupAssets.d.ts +34 -0
- package/build/desktop/setupAssets.d.ts.map +1 -0
- package/build/desktop/setupAssets.js +579 -0
- package/build/desktop/setupAssets.js.map +1 -0
- package/build/desktop/setupAudit.d.ts +7 -0
- package/build/desktop/setupAudit.d.ts.map +1 -0
- package/build/desktop/setupAudit.js +37 -0
- package/build/desktop/setupAudit.js.map +1 -0
- package/build/desktop/setupBridge.d.ts +40 -0
- package/build/desktop/setupBridge.d.ts.map +1 -0
- package/build/desktop/setupBridge.js +673 -0
- package/build/desktop/setupBridge.js.map +1 -0
- package/build/desktop/startupRecovery.d.ts +8 -0
- package/build/desktop/startupRecovery.d.ts.map +1 -0
- package/build/desktop/startupRecovery.js +12 -0
- package/build/desktop/startupRecovery.js.map +1 -0
- package/build/desktop/tray.d.ts +21 -0
- package/build/desktop/tray.d.ts.map +1 -0
- package/build/desktop/tray.js +222 -0
- package/build/desktop/tray.js.map +1 -0
- package/build/desktop/trayInteractionPolicy.d.ts +9 -0
- package/build/desktop/trayInteractionPolicy.d.ts.map +1 -0
- package/build/desktop/trayInteractionPolicy.js +11 -0
- package/build/desktop/trayInteractionPolicy.js.map +1 -0
- package/build/desktop/trayLifecycle.d.ts +12 -0
- package/build/desktop/trayLifecycle.d.ts.map +1 -0
- package/build/desktop/trayLifecycle.js +22 -0
- package/build/desktop/trayLifecycle.js.map +1 -0
- package/build/desktop/trayMenu.d.ts +39 -0
- package/build/desktop/trayMenu.d.ts.map +1 -0
- package/build/desktop/trayMenu.js +129 -0
- package/build/desktop/trayMenu.js.map +1 -0
- package/build/desktop/update.d.ts +24 -0
- package/build/desktop/update.d.ts.map +1 -0
- package/build/desktop/update.js +173 -0
- package/build/desktop/update.js.map +1 -0
- package/build/desktop/voiceCapture.d.ts +56 -0
- package/build/desktop/voiceCapture.d.ts.map +1 -0
- package/build/desktop/voiceCapture.js +373 -0
- package/build/desktop/voiceCapture.js.map +1 -0
- package/build/desktop/windowChrome.d.ts +10 -0
- package/build/desktop/windowChrome.d.ts.map +1 -0
- package/build/desktop/windowChrome.js +16 -0
- package/build/desktop/windowChrome.js.map +1 -0
- package/build/desktop/windowIcon.d.ts +2 -0
- package/build/desktop/windowIcon.d.ts.map +1 -0
- package/build/desktop/windowIcon.js +15 -0
- package/build/desktop/windowIcon.js.map +1 -0
- package/build/renderer/assets/ActiveSessionPermissionChip-BYr8cDpb.js +1 -0
- package/build/renderer/assets/App-B13AzNko.js +1 -0
- package/build/renderer/assets/App-BXCQs2gk.css +1 -0
- package/build/renderer/assets/App-BbuTWT6Y.js +2 -0
- package/build/renderer/assets/App-DGwkRFZl.css +1 -0
- package/build/renderer/assets/App-DKequja8.css +1 -0
- package/build/renderer/assets/App-n-RtGh42.js +1 -0
- package/build/renderer/assets/WorkspaceAppRoutes-BktWrQK-.js +1 -0
- package/build/renderer/assets/app-DnVQMpW_.js +43 -0
- package/build/renderer/assets/app-XnXwkcD2.css +1 -0
- package/build/renderer/assets/client-DREGSZqQ.js +8 -0
- package/build/renderer/assets/conversationSidebarRecentEntries-BNPz3X1V.js +6 -0
- package/build/renderer/assets/screenshotOverlay-BS2PwStm.css +1 -0
- package/build/renderer/assets/screenshotOverlay-EF07cXvw.js +1 -0
- package/build/renderer/assets/useDraftSessionChips-3z_Je4ju.js +1 -0
- package/build/renderer/desktop/overlay/index.html +14 -0
- package/build/renderer/favicon.ico +0 -0
- package/build/renderer/index.html +15 -0
- package/build/server/app/renderer/auth/api.d.ts +56 -0
- package/build/server/app/renderer/auth/api.d.ts.map +1 -0
- package/build/server/app/renderer/auth/api.js +159 -0
- package/build/server/app/renderer/auth/api.js.map +1 -0
- package/build/server/app/renderer/auth/appAuthRouting.d.ts +15 -0
- package/build/server/app/renderer/auth/appAuthRouting.d.ts.map +1 -0
- package/build/server/app/renderer/auth/appAuthRouting.js +23 -0
- package/build/server/app/renderer/auth/appAuthRouting.js.map +1 -0
- package/build/server/app/renderer/auth/googleIdentityServices.d.ts +27 -0
- package/build/server/app/renderer/auth/googleIdentityServices.d.ts.map +1 -0
- package/build/server/app/renderer/auth/googleIdentityServices.js +50 -0
- package/build/server/app/renderer/auth/googleIdentityServices.js.map +1 -0
- package/build/server/app/renderer/csrfFetch.d.ts +4 -0
- package/build/server/app/renderer/csrfFetch.d.ts.map +1 -0
- package/build/server/app/renderer/csrfFetch.js +177 -0
- package/build/server/app/renderer/csrfFetch.js.map +1 -0
- package/build/server/app/renderer/entities-shell/entitiesExitMemory.d.ts +4 -0
- package/build/server/app/renderer/entities-shell/entitiesExitMemory.d.ts.map +1 -0
- package/build/server/app/renderer/entities-shell/entitiesExitMemory.js +28 -0
- package/build/server/app/renderer/entities-shell/entitiesExitMemory.js.map +1 -0
- package/build/server/app/renderer/guideCatPlacement.d.ts +92 -0
- package/build/server/app/renderer/guideCatPlacement.d.ts.map +1 -0
- package/build/server/app/renderer/guideCatPlacement.js +154 -0
- package/build/server/app/renderer/guideCatPlacement.js.map +1 -0
- package/build/server/app/renderer/guideCatUiPrefsStore.d.ts +66 -0
- package/build/server/app/renderer/guideCatUiPrefsStore.d.ts.map +1 -0
- package/build/server/app/renderer/guideCatUiPrefsStore.js +291 -0
- package/build/server/app/renderer/guideCatUiPrefsStore.js.map +1 -0
- package/build/server/app/renderer/index.d.ts +2 -0
- package/build/server/app/renderer/index.d.ts.map +1 -0
- package/build/server/app/renderer/index.js +2 -0
- package/build/server/app/renderer/index.js.map +1 -0
- package/build/server/app/renderer/lobbyModel.d.ts +33 -0
- package/build/server/app/renderer/lobbyModel.d.ts.map +1 -0
- package/build/server/app/renderer/lobbyModel.js +53 -0
- package/build/server/app/renderer/lobbyModel.js.map +1 -0
- package/build/server/app/renderer/platformEnvelopeEvents.d.ts +3 -0
- package/build/server/app/renderer/platformEnvelopeEvents.d.ts.map +1 -0
- package/build/server/app/renderer/platformEnvelopeEvents.js +11 -0
- package/build/server/app/renderer/platformEnvelopeEvents.js.map +1 -0
- package/build/server/app/renderer/platformProductCopy.d.ts +10 -0
- package/build/server/app/renderer/platformProductCopy.d.ts.map +1 -0
- package/build/server/app/renderer/platformProductCopy.js +47 -0
- package/build/server/app/renderer/platformProductCopy.js.map +1 -0
- package/build/server/app/renderer/productShell/channelTopology.d.ts +34 -0
- package/build/server/app/renderer/productShell/channelTopology.d.ts.map +1 -0
- package/build/server/app/renderer/productShell/channelTopology.js +77 -0
- package/build/server/app/renderer/productShell/channelTopology.js.map +1 -0
- package/build/server/app/renderer/productShell/conversationMode.d.ts +17 -0
- package/build/server/app/renderer/productShell/conversationMode.d.ts.map +1 -0
- package/build/server/app/renderer/productShell/conversationMode.js +21 -0
- package/build/server/app/renderer/productShell/conversationMode.js.map +1 -0
- package/build/server/app/renderer/productShell/conversationSidebarViewModel.d.ts +91 -0
- package/build/server/app/renderer/productShell/conversationSidebarViewModel.d.ts.map +1 -0
- package/build/server/app/renderer/productShell/conversationSidebarViewModel.js +59 -0
- package/build/server/app/renderer/productShell/conversationSidebarViewModel.js.map +1 -0
- package/build/server/app/renderer/productShell/myCatNavigation.d.ts +28 -0
- package/build/server/app/renderer/productShell/myCatNavigation.d.ts.map +1 -0
- package/build/server/app/renderer/productShell/myCatNavigation.js +76 -0
- package/build/server/app/renderer/productShell/myCatNavigation.js.map +1 -0
- package/build/server/app/renderer/providerCatalogClient.d.ts +38 -0
- package/build/server/app/renderer/providerCatalogClient.d.ts.map +1 -0
- package/build/server/app/renderer/providerCatalogClient.js +158 -0
- package/build/server/app/renderer/providerCatalogClient.js.map +1 -0
- package/build/server/app/renderer/providerRegistryClient.d.ts +16 -0
- package/build/server/app/renderer/providerRegistryClient.d.ts.map +1 -0
- package/build/server/app/renderer/providerRegistryClient.js +146 -0
- package/build/server/app/renderer/providerRegistryClient.js.map +1 -0
- package/build/server/app/renderer/routeMap.d.ts +14 -0
- package/build/server/app/renderer/routeMap.d.ts.map +1 -0
- package/build/server/app/renderer/routeMap.js +43 -0
- package/build/server/app/renderer/routeMap.js.map +1 -0
- package/build/server/app/renderer/settings/productConversationBehaviorApi.d.ts +4 -0
- package/build/server/app/renderer/settings/productConversationBehaviorApi.d.ts.map +1 -0
- package/build/server/app/renderer/settings/productConversationBehaviorApi.js +12 -0
- package/build/server/app/renderer/settings/productConversationBehaviorApi.js.map +1 -0
- package/build/server/app/renderer/settings/qrCode.d.ts +6 -0
- package/build/server/app/renderer/settings/qrCode.d.ts.map +1 -0
- package/build/server/app/renderer/settings/qrCode.js +248 -0
- package/build/server/app/renderer/settings/qrCode.js.map +1 -0
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts +48 -0
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts.map +1 -0
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js +535 -0
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js.map +1 -0
- package/build/server/app/renderer/settings/settingsAppsErrorLabels.d.ts +8 -0
- package/build/server/app/renderer/settings/settingsAppsErrorLabels.d.ts.map +1 -0
- package/build/server/app/renderer/settings/settingsAppsErrorLabels.js +66 -0
- package/build/server/app/renderer/settings/settingsAppsErrorLabels.js.map +1 -0
- package/build/server/app/renderer/settings/settingsAssistantsApiErrors.d.ts +6 -0
- package/build/server/app/renderer/settings/settingsAssistantsApiErrors.d.ts.map +1 -0
- package/build/server/app/renderer/settings/settingsAssistantsApiErrors.js +44 -0
- package/build/server/app/renderer/settings/settingsAssistantsApiErrors.js.map +1 -0
- package/build/server/app/renderer/settings/settingsDataErrorLabels.d.ts +2 -0
- package/build/server/app/renderer/settings/settingsDataErrorLabels.d.ts.map +1 -0
- package/build/server/app/renderer/settings/settingsDataErrorLabels.js +12 -0
- package/build/server/app/renderer/settings/settingsDataErrorLabels.js.map +1 -0
- package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.d.ts +5 -0
- package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.d.ts.map +1 -0
- package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.js +11 -0
- package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.js.map +1 -0
- package/build/server/app/renderer/settings/settingsExitMemory.d.ts +6 -0
- package/build/server/app/renderer/settings/settingsExitMemory.d.ts.map +1 -0
- package/build/server/app/renderer/settings/settingsExitMemory.js +29 -0
- package/build/server/app/renderer/settings/settingsExitMemory.js.map +1 -0
- package/build/server/app/renderer/settings/settingsPreferenceErrorLabels.d.ts +5 -0
- package/build/server/app/renderer/settings/settingsPreferenceErrorLabels.d.ts.map +1 -0
- package/build/server/app/renderer/settings/settingsPreferenceErrorLabels.js +18 -0
- package/build/server/app/renderer/settings/settingsPreferenceErrorLabels.js.map +1 -0
- package/build/server/app/renderer/setup/api.d.ts +26 -0
- package/build/server/app/renderer/setup/api.d.ts.map +1 -0
- package/build/server/app/renderer/setup/api.js +129 -0
- package/build/server/app/renderer/setup/api.js.map +1 -0
- package/build/server/app/renderer/surfaceExitMemory.d.ts +15 -0
- package/build/server/app/renderer/surfaceExitMemory.d.ts.map +1 -0
- package/build/server/app/renderer/surfaceExitMemory.js +53 -0
- package/build/server/app/renderer/surfaceExitMemory.js.map +1 -0
- package/build/server/app/renderer/useGuideCatSidecarState.d.ts +52 -0
- package/build/server/app/renderer/useGuideCatSidecarState.d.ts.map +1 -0
- package/build/server/app/renderer/useGuideCatSidecarState.js +164 -0
- package/build/server/app/renderer/useGuideCatSidecarState.js.map +1 -0
- package/build/server/app/server/appPackageRoutes.d.ts +9 -0
- package/build/server/app/server/appPackageRoutes.d.ts.map +1 -0
- package/build/server/app/server/appPackageRoutes.js +346 -0
- package/build/server/app/server/appPackageRoutes.js.map +1 -0
- package/build/server/app/server/authErrorResponses.d.ts +5 -0
- package/build/server/app/server/authErrorResponses.d.ts.map +1 -0
- package/build/server/app/server/authErrorResponses.js +10 -0
- package/build/server/app/server/authErrorResponses.js.map +1 -0
- package/build/server/app/server/authGate.d.ts +32 -0
- package/build/server/app/server/authGate.d.ts.map +1 -0
- package/build/server/app/server/authGate.js +135 -0
- package/build/server/app/server/authGate.js.map +1 -0
- package/build/server/app/server/authGatePolicy.d.ts +15 -0
- package/build/server/app/server/authGatePolicy.d.ts.map +1 -0
- package/build/server/app/server/authGatePolicy.js +91 -0
- package/build/server/app/server/authGatePolicy.js.map +1 -0
- package/build/server/app/server/authRoutes.d.ts +28 -0
- package/build/server/app/server/authRoutes.d.ts.map +1 -0
- package/build/server/app/server/authRoutes.js +681 -0
- package/build/server/app/server/authRoutes.js.map +1 -0
- package/build/server/app/server/chatWorkflowRecovery.d.ts +3 -0
- package/build/server/app/server/chatWorkflowRecovery.d.ts.map +1 -0
- package/build/server/app/server/chatWorkflowRecovery.js +207 -0
- package/build/server/app/server/chatWorkflowRecovery.js.map +1 -0
- package/build/server/app/server/contracts.d.ts +108 -0
- package/build/server/app/server/contracts.d.ts.map +1 -0
- package/build/server/app/server/contracts.js +2 -0
- package/build/server/app/server/contracts.js.map +1 -0
- package/build/server/app/server/crashLog.d.ts +10 -0
- package/build/server/app/server/crashLog.d.ts.map +1 -0
- package/build/server/app/server/crashLog.js +61 -0
- package/build/server/app/server/crashLog.js.map +1 -0
- package/build/server/app/server/dependencies.d.ts +3 -0
- package/build/server/app/server/dependencies.d.ts.map +1 -0
- package/build/server/app/server/dependencies.js +297 -0
- package/build/server/app/server/dependencies.js.map +1 -0
- package/build/server/app/server/googleAuthRequest.d.ts +11 -0
- package/build/server/app/server/googleAuthRequest.d.ts.map +1 -0
- package/build/server/app/server/googleAuthRequest.js +39 -0
- package/build/server/app/server/googleAuthRequest.js.map +1 -0
- package/build/server/app/server/index.d.ts +4 -0
- package/build/server/app/server/index.d.ts.map +1 -0
- package/build/server/app/server/index.js +76 -0
- package/build/server/app/server/index.js.map +1 -0
- package/build/server/app/server/mobileAuthRoutes.d.ts +23 -0
- package/build/server/app/server/mobileAuthRoutes.d.ts.map +1 -0
- package/build/server/app/server/mobileAuthRoutes.js +379 -0
- package/build/server/app/server/mobileAuthRoutes.js.map +1 -0
- package/build/server/app/server/mobileManifestRoutes.d.ts +9 -0
- package/build/server/app/server/mobileManifestRoutes.d.ts.map +1 -0
- package/build/server/app/server/mobileManifestRoutes.js +439 -0
- package/build/server/app/server/mobileManifestRoutes.js.map +1 -0
- package/build/server/app/server/orchestratorRecovery.d.ts +3 -0
- package/build/server/app/server/orchestratorRecovery.d.ts.map +1 -0
- package/build/server/app/server/orchestratorRecovery.js +176 -0
- package/build/server/app/server/orchestratorRecovery.js.map +1 -0
- package/build/server/app/server/platformIngressSummary.d.ts +2 -0
- package/build/server/app/server/platformIngressSummary.d.ts.map +1 -0
- package/build/server/app/server/platformIngressSummary.js +2 -0
- package/build/server/app/server/platformIngressSummary.js.map +1 -0
- package/build/server/app/server/platformSetupAssistantRoutes.d.ts +6 -0
- package/build/server/app/server/platformSetupAssistantRoutes.d.ts.map +1 -0
- package/build/server/app/server/platformSetupAssistantRoutes.js +112 -0
- package/build/server/app/server/platformSetupAssistantRoutes.js.map +1 -0
- package/build/server/app/server/platformSetupDiagnosticsRoutes.d.ts +6 -0
- package/build/server/app/server/platformSetupDiagnosticsRoutes.d.ts.map +1 -0
- package/build/server/app/server/platformSetupDiagnosticsRoutes.js +60 -0
- package/build/server/app/server/platformSetupDiagnosticsRoutes.js.map +1 -0
- package/build/server/app/server/platformSetupGuideCatRoutes.d.ts +6 -0
- package/build/server/app/server/platformSetupGuideCatRoutes.d.ts.map +1 -0
- package/build/server/app/server/platformSetupGuideCatRoutes.js +115 -0
- package/build/server/app/server/platformSetupGuideCatRoutes.js.map +1 -0
- package/build/server/app/server/platformSetupPreferenceRoutes.d.ts +6 -0
- package/build/server/app/server/platformSetupPreferenceRoutes.d.ts.map +1 -0
- package/build/server/app/server/platformSetupPreferenceRoutes.js +37 -0
- package/build/server/app/server/platformSetupPreferenceRoutes.js.map +1 -0
- package/build/server/app/server/platformSetupRouteSupport.d.ts +69 -0
- package/build/server/app/server/platformSetupRouteSupport.d.ts.map +1 -0
- package/build/server/app/server/platformSetupRouteSupport.js +128 -0
- package/build/server/app/server/platformSetupRouteSupport.js.map +1 -0
- package/build/server/app/server/platformSetupRoutes.d.ts +11 -0
- package/build/server/app/server/platformSetupRoutes.d.ts.map +1 -0
- package/build/server/app/server/platformSetupRoutes.js +393 -0
- package/build/server/app/server/platformSetupRoutes.js.map +1 -0
- package/build/server/app/server/platformSetupStateMutations.d.ts +18 -0
- package/build/server/app/server/platformSetupStateMutations.d.ts.map +1 -0
- package/build/server/app/server/platformSetupStateMutations.js +106 -0
- package/build/server/app/server/platformSetupStateMutations.js.map +1 -0
- package/build/server/app/server/polling.d.ts +3 -0
- package/build/server/app/server/polling.d.ts.map +1 -0
- package/build/server/app/server/polling.js +18 -0
- package/build/server/app/server/polling.js.map +1 -0
- package/build/server/app/server/requestRouter.d.ts +4 -0
- package/build/server/app/server/requestRouter.d.ts.map +1 -0
- package/build/server/app/server/requestRouter.js +603 -0
- package/build/server/app/server/requestRouter.js.map +1 -0
- package/build/server/app/server/runtimeSurfaceProxy.d.ts +5 -0
- package/build/server/app/server/runtimeSurfaceProxy.d.ts.map +1 -0
- package/build/server/app/server/runtimeSurfaceProxy.js +528 -0
- package/build/server/app/server/runtimeSurfaceProxy.js.map +1 -0
- package/build/server/app/server/shutdown.d.ts +8 -0
- package/build/server/app/server/shutdown.d.ts.map +1 -0
- package/build/server/app/server/shutdown.js +35 -0
- package/build/server/app/server/shutdown.js.map +1 -0
- package/build/server/app/server/startup.d.ts +87 -0
- package/build/server/app/server/startup.d.ts.map +1 -0
- package/build/server/app/server/startup.js +311 -0
- package/build/server/app/server/startup.js.map +1 -0
- package/build/server/app/server/startupRecovery.d.ts +5 -0
- package/build/server/app/server/startupRecovery.d.ts.map +1 -0
- package/build/server/app/server/startupRecovery.js +43 -0
- package/build/server/app/server/startupRecovery.js.map +1 -0
- package/build/server/app/server/startupTrace.d.ts +15 -0
- package/build/server/app/server/startupTrace.d.ts.map +1 -0
- package/build/server/app/server/startupTrace.js +46 -0
- package/build/server/app/server/startupTrace.js.map +1 -0
- package/build/server/app/server/subscribeRoutes.d.ts +16 -0
- package/build/server/app/server/subscribeRoutes.d.ts.map +1 -0
- package/build/server/app/server/subscribeRoutes.js +225 -0
- package/build/server/app/server/subscribeRoutes.js.map +1 -0
- package/build/server/app/server/telegramCommandSurfaceSync.d.ts +15 -0
- package/build/server/app/server/telegramCommandSurfaceSync.d.ts.map +1 -0
- package/build/server/app/server/telegramCommandSurfaceSync.js +82 -0
- package/build/server/app/server/telegramCommandSurfaceSync.js.map +1 -0
- package/build/server/config.d.ts +43 -0
- package/build/server/config.d.ts.map +1 -0
- package/build/server/config.js +326 -0
- package/build/server/config.js.map +1 -0
- package/build/server/core/actorList.d.ts +13 -0
- package/build/server/core/actorList.d.ts.map +1 -0
- package/build/server/core/actorList.js +48 -0
- package/build/server/core/actorList.js.map +1 -0
- package/build/server/core/actorWorkloadProjection.d.ts +44 -0
- package/build/server/core/actorWorkloadProjection.d.ts.map +1 -0
- package/build/server/core/actorWorkloadProjection.js +164 -0
- package/build/server/core/actorWorkloadProjection.js.map +1 -0
- package/build/server/core/actors.d.ts +8 -0
- package/build/server/core/actors.d.ts.map +1 -0
- package/build/server/core/actors.js +31 -0
- package/build/server/core/actors.js.map +1 -0
- package/build/server/core/api/constants.d.ts +35 -0
- package/build/server/core/api/constants.d.ts.map +1 -0
- package/build/server/core/api/constants.js +230 -0
- package/build/server/core/api/constants.js.map +1 -0
- package/build/server/core/api/controlApprovals.d.ts +3 -0
- package/build/server/core/api/controlApprovals.d.ts.map +1 -0
- package/build/server/core/api/controlApprovals.js +396 -0
- package/build/server/core/api/controlApprovals.js.map +1 -0
- package/build/server/core/api/controlOperatorActions.d.ts +3 -0
- package/build/server/core/api/controlOperatorActions.d.ts.map +1 -0
- package/build/server/core/api/controlOperatorActions.js +405 -0
- package/build/server/core/api/controlOperatorActions.js.map +1 -0
- package/build/server/core/api/controlOwnerProfile.d.ts +3 -0
- package/build/server/core/api/controlOwnerProfile.d.ts.map +1 -0
- package/build/server/core/api/controlOwnerProfile.js +54 -0
- package/build/server/core/api/controlOwnerProfile.js.map +1 -0
- package/build/server/core/api/controlRoutes.d.ts +3 -0
- package/build/server/core/api/controlRoutes.d.ts.map +1 -0
- package/build/server/core/api/controlRoutes.js +16 -0
- package/build/server/core/api/controlRoutes.js.map +1 -0
- package/build/server/core/api/index.d.ts +3 -0
- package/build/server/core/api/index.d.ts.map +1 -0
- package/build/server/core/api/index.js +132 -0
- package/build/server/core/api/index.js.map +1 -0
- package/build/server/core/api/memoryMaintenanceRoutes.d.ts +3 -0
- package/build/server/core/api/memoryMaintenanceRoutes.d.ts.map +1 -0
- package/build/server/core/api/memoryMaintenanceRoutes.js +100 -0
- package/build/server/core/api/memoryMaintenanceRoutes.js.map +1 -0
- package/build/server/core/api/operatorInboxRoutes.d.ts +3 -0
- package/build/server/core/api/operatorInboxRoutes.d.ts.map +1 -0
- package/build/server/core/api/operatorInboxRoutes.js +30 -0
- package/build/server/core/api/operatorInboxRoutes.js.map +1 -0
- package/build/server/core/api/orchestratorReplay.d.ts +11 -0
- package/build/server/core/api/orchestratorReplay.d.ts.map +1 -0
- package/build/server/core/api/orchestratorReplay.js +61 -0
- package/build/server/core/api/orchestratorReplay.js.map +1 -0
- package/build/server/core/api/projectionRoutes.d.ts +3 -0
- package/build/server/core/api/projectionRoutes.d.ts.map +1 -0
- package/build/server/core/api/projectionRoutes.js +83 -0
- package/build/server/core/api/projectionRoutes.js.map +1 -0
- package/build/server/core/api/queryFilters.d.ts +47 -0
- package/build/server/core/api/queryFilters.d.ts.map +1 -0
- package/build/server/core/api/queryFilters.js +454 -0
- package/build/server/core/api/queryFilters.js.map +1 -0
- package/build/server/core/api/recordExecutionRoutes.d.ts +3 -0
- package/build/server/core/api/recordExecutionRoutes.d.ts.map +1 -0
- package/build/server/core/api/recordExecutionRoutes.js +256 -0
- package/build/server/core/api/recordExecutionRoutes.js.map +1 -0
- package/build/server/core/api/recordGovernanceRoutes.d.ts +3 -0
- package/build/server/core/api/recordGovernanceRoutes.d.ts.map +1 -0
- package/build/server/core/api/recordGovernanceRoutes.js +60 -0
- package/build/server/core/api/recordGovernanceRoutes.js.map +1 -0
- package/build/server/core/api/recordInteractionRoutes.d.ts +3 -0
- package/build/server/core/api/recordInteractionRoutes.d.ts.map +1 -0
- package/build/server/core/api/recordInteractionRoutes.js +261 -0
- package/build/server/core/api/recordInteractionRoutes.js.map +1 -0
- package/build/server/core/api/recordMemoryRoutes.d.ts +3 -0
- package/build/server/core/api/recordMemoryRoutes.d.ts.map +1 -0
- package/build/server/core/api/recordMemoryRoutes.js +386 -0
- package/build/server/core/api/recordMemoryRoutes.js.map +1 -0
- package/build/server/core/api/recordPlanningRoutes.d.ts +3 -0
- package/build/server/core/api/recordPlanningRoutes.d.ts.map +1 -0
- package/build/server/core/api/recordPlanningRoutes.js +211 -0
- package/build/server/core/api/recordPlanningRoutes.js.map +1 -0
- package/build/server/core/api/recordRoutes.d.ts +3 -0
- package/build/server/core/api/recordRoutes.d.ts.map +1 -0
- package/build/server/core/api/recordRoutes.js +28 -0
- package/build/server/core/api/recordRoutes.js.map +1 -0
- package/build/server/core/api/recordStructuralRoutes.d.ts +3 -0
- package/build/server/core/api/recordStructuralRoutes.d.ts.map +1 -0
- package/build/server/core/api/recordStructuralRoutes.js +149 -0
- package/build/server/core/api/recordStructuralRoutes.js.map +1 -0
- package/build/server/core/api/shared.d.ts +16 -0
- package/build/server/core/api/shared.d.ts.map +1 -0
- package/build/server/core/api/shared.js +123 -0
- package/build/server/core/api/shared.js.map +1 -0
- package/build/server/core/api/taskControlPlaneRoutes.d.ts +3 -0
- package/build/server/core/api/taskControlPlaneRoutes.d.ts.map +1 -0
- package/build/server/core/api/taskControlPlaneRoutes.js +56 -0
- package/build/server/core/api/taskControlPlaneRoutes.js.map +1 -0
- package/build/server/core/api/taskInspectionRoutes.d.ts +3 -0
- package/build/server/core/api/taskInspectionRoutes.d.ts.map +1 -0
- package/build/server/core/api/taskInspectionRoutes.js +33 -0
- package/build/server/core/api/taskInspectionRoutes.js.map +1 -0
- package/build/server/core/api/taskRecordRoutes.d.ts +3 -0
- package/build/server/core/api/taskRecordRoutes.d.ts.map +1 -0
- package/build/server/core/api/taskRecordRoutes.js +33 -0
- package/build/server/core/api/taskRecordRoutes.js.map +1 -0
- package/build/server/core/api/taskRecoveryRoutes.d.ts +3 -0
- package/build/server/core/api/taskRecoveryRoutes.d.ts.map +1 -0
- package/build/server/core/api/taskRecoveryRoutes.js +55 -0
- package/build/server/core/api/taskRecoveryRoutes.js.map +1 -0
- package/build/server/core/api/taskRoutes.d.ts +3 -0
- package/build/server/core/api/taskRoutes.d.ts.map +1 -0
- package/build/server/core/api/taskRoutes.js +188 -0
- package/build/server/core/api/taskRoutes.js.map +1 -0
- package/build/server/core/api/taskStructuredOutputRoutes.d.ts +3 -0
- package/build/server/core/api/taskStructuredOutputRoutes.d.ts.map +1 -0
- package/build/server/core/api/taskStructuredOutputRoutes.js +30 -0
- package/build/server/core/api/taskStructuredOutputRoutes.js.map +1 -0
- package/build/server/core/api/taskTimelineRoutes.d.ts +3 -0
- package/build/server/core/api/taskTimelineRoutes.d.ts.map +1 -0
- package/build/server/core/api/taskTimelineRoutes.js +36 -0
- package/build/server/core/api/taskTimelineRoutes.js.map +1 -0
- package/build/server/core/api/types.d.ts +35 -0
- package/build/server/core/api/types.d.ts.map +1 -0
- package/build/server/core/api/types.js +2 -0
- package/build/server/core/api/types.js.map +1 -0
- package/build/server/core/approvalQueue.d.ts +3 -0
- package/build/server/core/approvalQueue.d.ts.map +1 -0
- package/build/server/core/approvalQueue.js +42 -0
- package/build/server/core/approvalQueue.js.map +1 -0
- package/build/server/core/companionContracts.d.ts +193 -0
- package/build/server/core/companionContracts.d.ts.map +1 -0
- package/build/server/core/companionContracts.js +2 -0
- package/build/server/core/companionContracts.js.map +1 -0
- package/build/server/core/errors.d.ts +15 -0
- package/build/server/core/errors.d.ts.map +1 -0
- package/build/server/core/errors.js +26 -0
- package/build/server/core/errors.js.map +1 -0
- package/build/server/core/executionRecordLists.d.ts +51 -0
- package/build/server/core/executionRecordLists.d.ts.map +1 -0
- package/build/server/core/executionRecordLists.js +165 -0
- package/build/server/core/executionRecordLists.js.map +1 -0
- package/build/server/core/governance.d.ts +45 -0
- package/build/server/core/governance.d.ts.map +1 -0
- package/build/server/core/governance.js +390 -0
- package/build/server/core/governance.js.map +1 -0
- package/build/server/core/governanceRecordList.d.ts +16 -0
- package/build/server/core/governanceRecordList.d.ts.map +1 -0
- package/build/server/core/governanceRecordList.js +55 -0
- package/build/server/core/governanceRecordList.js.map +1 -0
- package/build/server/core/interactionRecordLists.d.ts +29 -0
- package/build/server/core/interactionRecordLists.d.ts.map +1 -0
- package/build/server/core/interactionRecordLists.js +102 -0
- package/build/server/core/interactionRecordLists.js.map +1 -0
- package/build/server/core/linkageDiagnostics.d.ts +25 -0
- package/build/server/core/linkageDiagnostics.d.ts.map +1 -0
- package/build/server/core/linkageDiagnostics.js +93 -0
- package/build/server/core/linkageDiagnostics.js.map +1 -0
- package/build/server/core/managedWorkProjection.d.ts +48 -0
- package/build/server/core/managedWorkProjection.d.ts.map +1 -0
- package/build/server/core/managedWorkProjection.js +165 -0
- package/build/server/core/managedWorkProjection.js.map +1 -0
- package/build/server/core/memoryMaintenance.d.ts +93 -0
- package/build/server/core/memoryMaintenance.d.ts.map +1 -0
- package/build/server/core/memoryMaintenance.js +300 -0
- package/build/server/core/memoryMaintenance.js.map +1 -0
- package/build/server/core/memoryMaintenanceActions.d.ts +29 -0
- package/build/server/core/memoryMaintenanceActions.d.ts.map +1 -0
- package/build/server/core/memoryMaintenanceActions.js +118 -0
- package/build/server/core/memoryMaintenanceActions.js.map +1 -0
- package/build/server/core/missionIdempotency.d.ts +22 -0
- package/build/server/core/missionIdempotency.d.ts.map +1 -0
- package/build/server/core/missionIdempotency.js +58 -0
- package/build/server/core/missionIdempotency.js.map +1 -0
- package/build/server/core/missionInspection.d.ts +18 -0
- package/build/server/core/missionInspection.d.ts.map +1 -0
- package/build/server/core/missionInspection.js +37 -0
- package/build/server/core/missionInspection.js.map +1 -0
- package/build/server/core/missionLinkageValidation.d.ts +34 -0
- package/build/server/core/missionLinkageValidation.d.ts.map +1 -0
- package/build/server/core/missionLinkageValidation.js +242 -0
- package/build/server/core/missionLinkageValidation.js.map +1 -0
- package/build/server/core/missionList.d.ts +13 -0
- package/build/server/core/missionList.d.ts.map +1 -0
- package/build/server/core/missionList.js +45 -0
- package/build/server/core/missionList.js.map +1 -0
- package/build/server/core/missionProvenance.d.ts +35 -0
- package/build/server/core/missionProvenance.d.ts.map +1 -0
- package/build/server/core/missionProvenance.js +69 -0
- package/build/server/core/missionProvenance.js.map +1 -0
- package/build/server/core/missionRunProjection.d.ts +54 -0
- package/build/server/core/missionRunProjection.d.ts.map +1 -0
- package/build/server/core/missionRunProjection.js +139 -0
- package/build/server/core/missionRunProjection.js.map +1 -0
- package/build/server/core/missionRunResolution.d.ts +17 -0
- package/build/server/core/missionRunResolution.d.ts.map +1 -0
- package/build/server/core/missionRunResolution.js +58 -0
- package/build/server/core/missionRunResolution.js.map +1 -0
- package/build/server/core/missionStatus.d.ts +19 -0
- package/build/server/core/missionStatus.d.ts.map +1 -0
- package/build/server/core/missionStatus.js +51 -0
- package/build/server/core/missionStatus.js.map +1 -0
- package/build/server/core/missionTriggers.d.ts +71 -0
- package/build/server/core/missionTriggers.d.ts.map +1 -0
- package/build/server/core/missionTriggers.js +98 -0
- package/build/server/core/missionTriggers.js.map +1 -0
- package/build/server/core/missionVisibility.d.ts +18 -0
- package/build/server/core/missionVisibility.d.ts.map +1 -0
- package/build/server/core/missionVisibility.js +100 -0
- package/build/server/core/missionVisibility.js.map +1 -0
- package/build/server/core/missionsByConversation.d.ts +37 -0
- package/build/server/core/missionsByConversation.d.ts.map +1 -0
- package/build/server/core/missionsByConversation.js +67 -0
- package/build/server/core/missionsByConversation.js.map +1 -0
- package/build/server/core/model/actorRecords.d.ts +8 -0
- package/build/server/core/model/actorRecords.d.ts.map +1 -0
- package/build/server/core/model/actorRecords.js +84 -0
- package/build/server/core/model/actorRecords.js.map +1 -0
- package/build/server/core/model/executionRecords.d.ts +28 -0
- package/build/server/core/model/executionRecords.d.ts.map +1 -0
- package/build/server/core/model/executionRecords.js +236 -0
- package/build/server/core/model/executionRecords.js.map +1 -0
- package/build/server/core/model/governanceRecords.d.ts +8 -0
- package/build/server/core/model/governanceRecords.d.ts.map +1 -0
- package/build/server/core/model/governanceRecords.js +57 -0
- package/build/server/core/model/governanceRecords.js.map +1 -0
- package/build/server/core/model/index.d.ts +13 -0
- package/build/server/core/model/index.d.ts.map +1 -0
- package/build/server/core/model/index.js +49 -0
- package/build/server/core/model/index.js.map +1 -0
- package/build/server/core/model/inputs.d.ts +305 -0
- package/build/server/core/model/inputs.d.ts.map +1 -0
- package/build/server/core/model/inputs.js +2 -0
- package/build/server/core/model/inputs.js.map +1 -0
- package/build/server/core/model/interactionRecords.d.ts +28 -0
- package/build/server/core/model/interactionRecords.d.ts.map +1 -0
- package/build/server/core/model/interactionRecords.js +241 -0
- package/build/server/core/model/interactionRecords.js.map +1 -0
- package/build/server/core/model/linkRecords.d.ts +34 -0
- package/build/server/core/model/linkRecords.d.ts.map +1 -0
- package/build/server/core/model/linkRecords.js +163 -0
- package/build/server/core/model/linkRecords.js.map +1 -0
- package/build/server/core/model/memoryBindings.d.ts +24 -0
- package/build/server/core/model/memoryBindings.d.ts.map +1 -0
- package/build/server/core/model/memoryBindings.js +99 -0
- package/build/server/core/model/memoryBindings.js.map +1 -0
- package/build/server/core/model/missionRecords.d.ts +8 -0
- package/build/server/core/model/missionRecords.d.ts.map +1 -0
- package/build/server/core/model/missionRecords.js +50 -0
- package/build/server/core/model/missionRecords.js.map +1 -0
- package/build/server/core/model/planningRecords.d.ts +43 -0
- package/build/server/core/model/planningRecords.d.ts.map +1 -0
- package/build/server/core/model/planningRecords.js +222 -0
- package/build/server/core/model/planningRecords.js.map +1 -0
- package/build/server/core/model/records.d.ts +11 -0
- package/build/server/core/model/records.d.ts.map +1 -0
- package/build/server/core/model/records.js +10 -0
- package/build/server/core/model/records.js.map +1 -0
- package/build/server/core/model/shared.d.ts +18 -0
- package/build/server/core/model/shared.d.ts.map +1 -0
- package/build/server/core/model/shared.js +114 -0
- package/build/server/core/model/shared.js.map +1 -0
- package/build/server/core/model/structuralRecords.d.ts +18 -0
- package/build/server/core/model/structuralRecords.d.ts.map +1 -0
- package/build/server/core/model/structuralRecords.js +116 -0
- package/build/server/core/model/structuralRecords.js.map +1 -0
- package/build/server/core/model/taskControls.d.ts +25 -0
- package/build/server/core/model/taskControls.d.ts.map +1 -0
- package/build/server/core/model/taskControls.js +205 -0
- package/build/server/core/model/taskControls.js.map +1 -0
- package/build/server/core/myCatsProjection.d.ts +46 -0
- package/build/server/core/myCatsProjection.d.ts.map +1 -0
- package/build/server/core/myCatsProjection.js +225 -0
- package/build/server/core/myCatsProjection.js.map +1 -0
- package/build/server/core/operatorInbox.d.ts +10 -0
- package/build/server/core/operatorInbox.d.ts.map +1 -0
- package/build/server/core/operatorInbox.js +231 -0
- package/build/server/core/operatorInbox.js.map +1 -0
- package/build/server/core/operatorInboxContracts.d.ts +59 -0
- package/build/server/core/operatorInboxContracts.d.ts.map +1 -0
- package/build/server/core/operatorInboxContracts.js +2 -0
- package/build/server/core/operatorInboxContracts.js.map +1 -0
- package/build/server/core/operatorInboxSummary.d.ts +20 -0
- package/build/server/core/operatorInboxSummary.d.ts.map +1 -0
- package/build/server/core/operatorInboxSummary.js +274 -0
- package/build/server/core/operatorInboxSummary.js.map +1 -0
- package/build/server/core/planningRecordLists.d.ts +33 -0
- package/build/server/core/planningRecordLists.d.ts.map +1 -0
- package/build/server/core/planningRecordLists.js +111 -0
- package/build/server/core/planningRecordLists.js.map +1 -0
- package/build/server/core/platformSurface.d.ts +15 -0
- package/build/server/core/platformSurface.d.ts.map +1 -0
- package/build/server/core/platformSurface.js +35 -0
- package/build/server/core/platformSurface.js.map +1 -0
- package/build/server/core/previewSurfaces.d.ts +29 -0
- package/build/server/core/previewSurfaces.d.ts.map +1 -0
- package/build/server/core/previewSurfaces.js +110 -0
- package/build/server/core/previewSurfaces.js.map +1 -0
- package/build/server/core/recovery.d.ts +215 -0
- package/build/server/core/recovery.d.ts.map +1 -0
- package/build/server/core/recovery.js +313 -0
- package/build/server/core/recovery.js.map +1 -0
- package/build/server/core/roomRoutingState.d.ts +15 -0
- package/build/server/core/roomRoutingState.d.ts.map +1 -0
- package/build/server/core/roomRoutingState.js +36 -0
- package/build/server/core/roomRoutingState.js.map +1 -0
- package/build/server/core/runInspection.d.ts +27 -0
- package/build/server/core/runInspection.d.ts.map +1 -0
- package/build/server/core/runInspection.js +95 -0
- package/build/server/core/runInspection.js.map +1 -0
- package/build/server/core/scrolling.d.ts +7 -0
- package/build/server/core/scrolling.d.ts.map +1 -0
- package/build/server/core/scrolling.js +5 -0
- package/build/server/core/scrolling.js.map +1 -0
- package/build/server/core/sessionList.d.ts +14 -0
- package/build/server/core/sessionList.d.ts.map +1 -0
- package/build/server/core/sessionList.js +49 -0
- package/build/server/core/sessionList.js.map +1 -0
- package/build/server/core/settingsCatsTelegramDiagnostics.d.ts +36 -0
- package/build/server/core/settingsCatsTelegramDiagnostics.d.ts.map +1 -0
- package/build/server/core/settingsCatsTelegramDiagnostics.js +76 -0
- package/build/server/core/settingsCatsTelegramDiagnostics.js.map +1 -0
- package/build/server/core/store.d.ts +19 -0
- package/build/server/core/store.d.ts.map +1 -0
- package/build/server/core/store.js +76 -0
- package/build/server/core/store.js.map +1 -0
- package/build/server/core/structuralRecordLists.d.ts +31 -0
- package/build/server/core/structuralRecordLists.d.ts.map +1 -0
- package/build/server/core/structuralRecordLists.js +93 -0
- package/build/server/core/structuralRecordLists.js.map +1 -0
- package/build/server/core/taskActionEnvelopes.d.ts +15 -0
- package/build/server/core/taskActionEnvelopes.d.ts.map +1 -0
- package/build/server/core/taskActionEnvelopes.js +25 -0
- package/build/server/core/taskActionEnvelopes.js.map +1 -0
- package/build/server/core/taskControlPlane.d.ts +204 -0
- package/build/server/core/taskControlPlane.d.ts.map +1 -0
- package/build/server/core/taskControlPlane.js +328 -0
- package/build/server/core/taskControlPlane.js.map +1 -0
- package/build/server/core/taskControlPlaneProjection.d.ts +55 -0
- package/build/server/core/taskControlPlaneProjection.d.ts.map +1 -0
- package/build/server/core/taskControlPlaneProjection.js +529 -0
- package/build/server/core/taskControlPlaneProjection.js.map +1 -0
- package/build/server/core/taskControlPlaneSummary.d.ts +40 -0
- package/build/server/core/taskControlPlaneSummary.d.ts.map +1 -0
- package/build/server/core/taskControlPlaneSummary.js +181 -0
- package/build/server/core/taskControlPlaneSummary.js.map +1 -0
- package/build/server/core/taskConvergence.d.ts +12 -0
- package/build/server/core/taskConvergence.d.ts.map +1 -0
- package/build/server/core/taskConvergence.js +107 -0
- package/build/server/core/taskConvergence.js.map +1 -0
- package/build/server/core/taskExecutionLocator.d.ts +22 -0
- package/build/server/core/taskExecutionLocator.d.ts.map +1 -0
- package/build/server/core/taskExecutionLocator.js +22 -0
- package/build/server/core/taskExecutionLocator.js.map +1 -0
- package/build/server/core/taskHandoff.d.ts +11 -0
- package/build/server/core/taskHandoff.d.ts.map +1 -0
- package/build/server/core/taskHandoff.js +29 -0
- package/build/server/core/taskHandoff.js.map +1 -0
- package/build/server/core/taskInspection.d.ts +65 -0
- package/build/server/core/taskInspection.d.ts.map +1 -0
- package/build/server/core/taskInspection.js +187 -0
- package/build/server/core/taskInspection.js.map +1 -0
- package/build/server/core/taskLifecycle.d.ts +38 -0
- package/build/server/core/taskLifecycle.d.ts.map +1 -0
- package/build/server/core/taskLifecycle.js +174 -0
- package/build/server/core/taskLifecycle.js.map +1 -0
- package/build/server/core/taskLifecycleShared.d.ts +58 -0
- package/build/server/core/taskLifecycleShared.d.ts.map +1 -0
- package/build/server/core/taskLifecycleShared.js +243 -0
- package/build/server/core/taskLifecycleShared.js.map +1 -0
- package/build/server/core/taskLifecycleWatchers.d.ts +13 -0
- package/build/server/core/taskLifecycleWatchers.d.ts.map +1 -0
- package/build/server/core/taskLifecycleWatchers.js +125 -0
- package/build/server/core/taskLifecycleWatchers.js.map +1 -0
- package/build/server/core/taskList.d.ts +15 -0
- package/build/server/core/taskList.d.ts.map +1 -0
- package/build/server/core/taskList.js +52 -0
- package/build/server/core/taskList.js.map +1 -0
- package/build/server/core/taskRecords.d.ts +13 -0
- package/build/server/core/taskRecords.d.ts.map +1 -0
- package/build/server/core/taskRecords.js +31 -0
- package/build/server/core/taskRecords.js.map +1 -0
- package/build/server/core/taskRecoveryContext.d.ts +11 -0
- package/build/server/core/taskRecoveryContext.d.ts.map +1 -0
- package/build/server/core/taskRecoveryContext.js +123 -0
- package/build/server/core/taskRecoveryContext.js.map +1 -0
- package/build/server/core/taskRecoveryProjection.d.ts +13 -0
- package/build/server/core/taskRecoveryProjection.d.ts.map +1 -0
- package/build/server/core/taskRecoveryProjection.js +165 -0
- package/build/server/core/taskRecoveryProjection.js.map +1 -0
- package/build/server/core/taskRecoverySummary.d.ts +31 -0
- package/build/server/core/taskRecoverySummary.d.ts.map +1 -0
- package/build/server/core/taskRecoverySummary.js +125 -0
- package/build/server/core/taskRecoverySummary.js.map +1 -0
- package/build/server/core/taskStructuredOutputs.d.ts +41 -0
- package/build/server/core/taskStructuredOutputs.d.ts.map +1 -0
- package/build/server/core/taskStructuredOutputs.js +271 -0
- package/build/server/core/taskStructuredOutputs.js.map +1 -0
- package/build/server/core/taskTimeline.d.ts +54 -0
- package/build/server/core/taskTimeline.d.ts.map +1 -0
- package/build/server/core/taskTimeline.js +297 -0
- package/build/server/core/taskTimeline.js.map +1 -0
- package/build/server/core/taskViewQuery.d.ts +21 -0
- package/build/server/core/taskViewQuery.d.ts.map +1 -0
- package/build/server/core/taskViewQuery.js +43 -0
- package/build/server/core/taskViewQuery.js.map +1 -0
- package/build/server/core/transportBindingDirectLane.d.ts +23 -0
- package/build/server/core/transportBindingDirectLane.d.ts.map +1 -0
- package/build/server/core/transportBindingDirectLane.js +117 -0
- package/build/server/core/transportBindingDirectLane.js.map +1 -0
- package/build/server/core/transportBindingList.d.ts +13 -0
- package/build/server/core/transportBindingList.d.ts.map +1 -0
- package/build/server/core/transportBindingList.js +45 -0
- package/build/server/core/transportBindingList.js.map +1 -0
- package/build/server/core/transportBindingObservability.d.ts +37 -0
- package/build/server/core/transportBindingObservability.d.ts.map +1 -0
- package/build/server/core/transportBindingObservability.js +77 -0
- package/build/server/core/transportBindingObservability.js.map +1 -0
- package/build/server/core/transportStateProjection.d.ts +38 -0
- package/build/server/core/transportStateProjection.d.ts.map +1 -0
- package/build/server/core/transportStateProjection.js +115 -0
- package/build/server/core/transportStateProjection.js.map +1 -0
- package/build/server/core/types.d.ts +588 -0
- package/build/server/core/types.d.ts.map +1 -0
- package/build/server/core/types.js +29 -0
- package/build/server/core/types.js.map +1 -0
- package/build/server/core/workspacePaths.d.ts +3 -0
- package/build/server/core/workspacePaths.d.ts.map +1 -0
- package/build/server/core/workspacePaths.js +26 -0
- package/build/server/core/workspacePaths.js.map +1 -0
- package/build/server/design/chatLayout.d.ts +12 -0
- package/build/server/design/chatLayout.d.ts.map +1 -0
- package/build/server/design/chatLayout.js +49 -0
- package/build/server/design/chatLayout.js.map +1 -0
- package/build/server/design/components/operator/actionI18n.d.ts +9 -0
- package/build/server/design/components/operator/actionI18n.d.ts.map +1 -0
- package/build/server/design/components/operator/actionI18n.js +64 -0
- package/build/server/design/components/operator/actionI18n.js.map +1 -0
- package/build/server/design/components/platformSurfaceMenuPosition.d.ts +18 -0
- package/build/server/design/components/platformSurfaceMenuPosition.d.ts.map +1 -0
- package/build/server/design/components/platformSurfaceMenuPosition.js +36 -0
- package/build/server/design/components/platformSurfaceMenuPosition.js.map +1 -0
- package/build/server/design/components/providerModelFieldsSupport.d.ts +175 -0
- package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -0
- package/build/server/design/components/providerModelFieldsSupport.js +572 -0
- package/build/server/design/components/providerModelFieldsSupport.js.map +1 -0
- package/build/server/design/components/runtimeChips.d.ts +9 -0
- package/build/server/design/components/runtimeChips.d.ts.map +1 -0
- package/build/server/design/components/runtimeChips.js +21 -0
- package/build/server/design/components/runtimeChips.js.map +1 -0
- package/build/server/design/components/settings/SettingsStatusChipTone.d.ts +3 -0
- package/build/server/design/components/settings/SettingsStatusChipTone.d.ts.map +1 -0
- package/build/server/design/components/settings/SettingsStatusChipTone.js +6 -0
- package/build/server/design/components/settings/SettingsStatusChipTone.js.map +1 -0
- package/build/server/design/components/useProviderCatalogState.d.ts +15 -0
- package/build/server/design/components/useProviderCatalogState.d.ts.map +1 -0
- package/build/server/design/components/useProviderCatalogState.js +162 -0
- package/build/server/design/components/useProviderCatalogState.js.map +1 -0
- package/build/server/design/components/useProviderModelFieldActions.d.ts +32 -0
- package/build/server/design/components/useProviderModelFieldActions.d.ts.map +1 -0
- package/build/server/design/components/useProviderModelFieldActions.js +118 -0
- package/build/server/design/components/useProviderModelFieldActions.js.map +1 -0
- package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts +13 -0
- package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts.map +1 -0
- package/build/server/design/components/useProviderRegistryAutoRecheck.js +63 -0
- package/build/server/design/components/useProviderRegistryAutoRecheck.js.map +1 -0
- package/build/server/design/components/useProviderRegistryState.d.ts +19 -0
- package/build/server/design/components/useProviderRegistryState.d.ts.map +1 -0
- package/build/server/design/components/useProviderRegistryState.js +114 -0
- package/build/server/design/components/useProviderRegistryState.js.map +1 -0
- package/build/server/design/components/useProviderTargetReconciliation.d.ts +21 -0
- package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -0
- package/build/server/design/components/useProviderTargetReconciliation.js +129 -0
- package/build/server/design/components/useProviderTargetReconciliation.js.map +1 -0
- package/build/server/design/operatorFormatting.d.ts +27 -0
- package/build/server/design/operatorFormatting.d.ts.map +1 -0
- package/build/server/design/operatorFormatting.js +343 -0
- package/build/server/design/operatorFormatting.js.map +1 -0
- package/build/server/index.d.ts +3 -0
- package/build/server/index.d.ts.map +1 -0
- package/build/server/index.js +167 -0
- package/build/server/index.js.map +1 -0
- package/build/server/mobile/catsDirectory.d.ts +33 -0
- package/build/server/mobile/catsDirectory.d.ts.map +1 -0
- package/build/server/mobile/catsDirectory.js +22 -0
- package/build/server/mobile/catsDirectory.js.map +1 -0
- package/build/server/mobile/chat.d.ts +65 -0
- package/build/server/mobile/chat.d.ts.map +1 -0
- package/build/server/mobile/chat.js +78 -0
- package/build/server/mobile/chat.js.map +1 -0
- package/build/server/mobile/contracts.d.ts +172 -0
- package/build/server/mobile/contracts.d.ts.map +1 -0
- package/build/server/mobile/contracts.js +22 -0
- package/build/server/mobile/contracts.js.map +1 -0
- package/build/server/mobile/i18n.d.ts +217 -0
- package/build/server/mobile/i18n.d.ts.map +1 -0
- package/build/server/mobile/i18n.js +468 -0
- package/build/server/mobile/i18n.js.map +1 -0
- package/build/server/mobile/index.d.ts +37 -0
- package/build/server/mobile/index.d.ts.map +1 -0
- package/build/server/mobile/index.js +37 -0
- package/build/server/mobile/index.js.map +1 -0
- package/build/server/mobile/messageBody.d.ts +18 -0
- package/build/server/mobile/messageBody.d.ts.map +1 -0
- package/build/server/mobile/messageBody.js +18 -0
- package/build/server/mobile/messageBody.js.map +1 -0
- package/build/server/mobile/messages.d.ts +38 -0
- package/build/server/mobile/messages.d.ts.map +1 -0
- package/build/server/mobile/messages.js +27 -0
- package/build/server/mobile/messages.js.map +1 -0
- package/build/server/platform/apps/envelope.d.ts +7 -0
- package/build/server/platform/apps/envelope.d.ts.map +1 -0
- package/build/server/platform/apps/envelope.js +87 -0
- package/build/server/platform/apps/envelope.js.map +1 -0
- package/build/server/platform/apps/paths.d.ts +11 -0
- package/build/server/platform/apps/paths.d.ts.map +1 -0
- package/build/server/platform/apps/paths.js +21 -0
- package/build/server/platform/apps/paths.js.map +1 -0
- package/build/server/platform/apps/registry.d.ts +36 -0
- package/build/server/platform/apps/registry.d.ts.map +1 -0
- package/build/server/platform/apps/registry.js +145 -0
- package/build/server/platform/apps/registry.js.map +1 -0
- package/build/server/platform/apps/runtimeToolBridge.d.ts +36 -0
- package/build/server/platform/apps/runtimeToolBridge.d.ts.map +1 -0
- package/build/server/platform/apps/runtimeToolBridge.js +61 -0
- package/build/server/platform/apps/runtimeToolBridge.js.map +1 -0
- package/build/server/platform/apps/toolRegistration.d.ts +15 -0
- package/build/server/platform/apps/toolRegistration.d.ts.map +1 -0
- package/build/server/platform/apps/toolRegistration.js +60 -0
- package/build/server/platform/apps/toolRegistration.js.map +1 -0
- package/build/server/platform/auth/actorAttribution.d.ts +15 -0
- package/build/server/platform/auth/actorAttribution.d.ts.map +1 -0
- package/build/server/platform/auth/actorAttribution.js +23 -0
- package/build/server/platform/auth/actorAttribution.js.map +1 -0
- package/build/server/platform/auth/bootstrap.d.ts +21 -0
- package/build/server/platform/auth/bootstrap.d.ts.map +1 -0
- package/build/server/platform/auth/bootstrap.js +72 -0
- package/build/server/platform/auth/bootstrap.js.map +1 -0
- package/build/server/platform/auth/bootstrapEnvelope.d.ts +33 -0
- package/build/server/platform/auth/bootstrapEnvelope.d.ts.map +1 -0
- package/build/server/platform/auth/bootstrapEnvelope.js +33 -0
- package/build/server/platform/auth/bootstrapEnvelope.js.map +1 -0
- package/build/server/platform/auth/config.d.ts +37 -0
- package/build/server/platform/auth/config.d.ts.map +1 -0
- package/build/server/platform/auth/config.js +93 -0
- package/build/server/platform/auth/config.js.map +1 -0
- package/build/server/platform/auth/cookies.d.ts +4 -0
- package/build/server/platform/auth/cookies.d.ts.map +1 -0
- package/build/server/platform/auth/cookies.js +20 -0
- package/build/server/platform/auth/cookies.js.map +1 -0
- package/build/server/platform/auth/csrf.d.ts +13 -0
- package/build/server/platform/auth/csrf.d.ts.map +1 -0
- package/build/server/platform/auth/csrf.js +17 -0
- package/build/server/platform/auth/csrf.js.map +1 -0
- package/build/server/platform/auth/effectiveMode.d.ts +16 -0
- package/build/server/platform/auth/effectiveMode.d.ts.map +1 -0
- package/build/server/platform/auth/effectiveMode.js +26 -0
- package/build/server/platform/auth/effectiveMode.js.map +1 -0
- package/build/server/platform/auth/errorCodes.d.ts +7 -0
- package/build/server/platform/auth/errorCodes.d.ts.map +1 -0
- package/build/server/platform/auth/errorCodes.js +6 -0
- package/build/server/platform/auth/errorCodes.js.map +1 -0
- package/build/server/platform/auth/googleAccount.d.ts +47 -0
- package/build/server/platform/auth/googleAccount.d.ts.map +1 -0
- package/build/server/platform/auth/googleAccount.js +158 -0
- package/build/server/platform/auth/googleAccount.js.map +1 -0
- package/build/server/platform/auth/googleCsrf.d.ts +12 -0
- package/build/server/platform/auth/googleCsrf.d.ts.map +1 -0
- package/build/server/platform/auth/googleCsrf.js +29 -0
- package/build/server/platform/auth/googleCsrf.js.map +1 -0
- package/build/server/platform/auth/googleJwksVerifier.d.ts +8 -0
- package/build/server/platform/auth/googleJwksVerifier.d.ts.map +1 -0
- package/build/server/platform/auth/googleJwksVerifier.js +116 -0
- package/build/server/platform/auth/googleJwksVerifier.js.map +1 -0
- package/build/server/platform/auth/googleVerifier.d.ts +43 -0
- package/build/server/platform/auth/googleVerifier.d.ts.map +1 -0
- package/build/server/platform/auth/googleVerifier.js +110 -0
- package/build/server/platform/auth/googleVerifier.js.map +1 -0
- package/build/server/platform/auth/index.d.ts +24 -0
- package/build/server/platform/auth/index.d.ts.map +1 -0
- package/build/server/platform/auth/index.js +24 -0
- package/build/server/platform/auth/index.js.map +1 -0
- package/build/server/platform/auth/localLogin.d.ts +11 -0
- package/build/server/platform/auth/localLogin.d.ts.map +1 -0
- package/build/server/platform/auth/localLogin.js +27 -0
- package/build/server/platform/auth/localLogin.js.map +1 -0
- package/build/server/platform/auth/originGate.d.ts +15 -0
- package/build/server/platform/auth/originGate.d.ts.map +1 -0
- package/build/server/platform/auth/originGate.js +35 -0
- package/build/server/platform/auth/originGate.js.map +1 -0
- package/build/server/platform/auth/password.d.ts +18 -0
- package/build/server/platform/auth/password.d.ts.map +1 -0
- package/build/server/platform/auth/password.js +97 -0
- package/build/server/platform/auth/password.js.map +1 -0
- package/build/server/platform/auth/principal.d.ts +21 -0
- package/build/server/platform/auth/principal.d.ts.map +1 -0
- package/build/server/platform/auth/principal.js +47 -0
- package/build/server/platform/auth/principal.js.map +1 -0
- package/build/server/platform/auth/readiness.d.ts +16 -0
- package/build/server/platform/auth/readiness.d.ts.map +1 -0
- package/build/server/platform/auth/readiness.js +35 -0
- package/build/server/platform/auth/readiness.js.map +1 -0
- package/build/server/platform/auth/recovery.d.ts +55 -0
- package/build/server/platform/auth/recovery.d.ts.map +1 -0
- package/build/server/platform/auth/recovery.js +93 -0
- package/build/server/platform/auth/recovery.js.map +1 -0
- package/build/server/platform/auth/session.d.ts +44 -0
- package/build/server/platform/auth/session.d.ts.map +1 -0
- package/build/server/platform/auth/session.js +112 -0
- package/build/server/platform/auth/session.js.map +1 -0
- package/build/server/platform/auth/state.d.ts +17 -0
- package/build/server/platform/auth/state.d.ts.map +1 -0
- package/build/server/platform/auth/state.js +216 -0
- package/build/server/platform/auth/state.js.map +1 -0
- package/build/server/platform/auth/store.d.ts +36 -0
- package/build/server/platform/auth/store.d.ts.map +1 -0
- package/build/server/platform/auth/store.js +124 -0
- package/build/server/platform/auth/store.js.map +1 -0
- package/build/server/platform/auth/throttle.d.ts +62 -0
- package/build/server/platform/auth/throttle.d.ts.map +1 -0
- package/build/server/platform/auth/throttle.js +248 -0
- package/build/server/platform/auth/throttle.js.map +1 -0
- package/build/server/platform/auth/types.d.ts +85 -0
- package/build/server/platform/auth/types.d.ts.map +1 -0
- package/build/server/platform/auth/types.js +2 -0
- package/build/server/platform/auth/types.js.map +1 -0
- package/build/server/platform/auth/viteProxy.d.ts +9 -0
- package/build/server/platform/auth/viteProxy.d.ts.map +1 -0
- package/build/server/platform/auth/viteProxy.js +10 -0
- package/build/server/platform/auth/viteProxy.js.map +1 -0
- package/build/server/platform/memory/contracts.d.ts +255 -0
- package/build/server/platform/memory/contracts.d.ts.map +1 -0
- package/build/server/platform/memory/contracts.js +2 -0
- package/build/server/platform/memory/contracts.js.map +1 -0
- package/build/server/platform/memory/extraction.d.ts +30 -0
- package/build/server/platform/memory/extraction.d.ts.map +1 -0
- package/build/server/platform/memory/extraction.js +403 -0
- package/build/server/platform/memory/extraction.js.map +1 -0
- package/build/server/platform/memory/index.d.ts +4 -0
- package/build/server/platform/memory/index.d.ts.map +1 -0
- package/build/server/platform/memory/index.js +3 -0
- package/build/server/platform/memory/index.js.map +1 -0
- package/build/server/platform/memory/maintenance.d.ts +56 -0
- package/build/server/platform/memory/maintenance.d.ts.map +1 -0
- package/build/server/platform/memory/maintenance.js +223 -0
- package/build/server/platform/memory/maintenance.js.map +1 -0
- package/build/server/platform/memory/retrieval.d.ts +21 -0
- package/build/server/platform/memory/retrieval.d.ts.map +1 -0
- package/build/server/platform/memory/retrieval.js +415 -0
- package/build/server/platform/memory/retrieval.js.map +1 -0
- package/build/server/platform/memory/runtimeMaintenance.d.ts +40 -0
- package/build/server/platform/memory/runtimeMaintenance.d.ts.map +1 -0
- package/build/server/platform/memory/runtimeMaintenance.js +175 -0
- package/build/server/platform/memory/runtimeMaintenance.js.map +1 -0
- package/build/server/platform/memory/service.d.ts +127 -0
- package/build/server/platform/memory/service.d.ts.map +1 -0
- package/build/server/platform/memory/service.js +352 -0
- package/build/server/platform/memory/service.js.map +1 -0
- package/build/server/platform/memory/store.d.ts +50 -0
- package/build/server/platform/memory/store.d.ts.map +1 -0
- package/build/server/platform/memory/store.js +274 -0
- package/build/server/platform/memory/store.js.map +1 -0
- package/build/server/platform/memory/storeSnapshot.d.ts +9 -0
- package/build/server/platform/memory/storeSnapshot.d.ts.map +1 -0
- package/build/server/platform/memory/storeSnapshot.js +201 -0
- package/build/server/platform/memory/storeSnapshot.js.map +1 -0
- package/build/server/platform/memory/utils.d.ts +5 -0
- package/build/server/platform/memory/utils.d.ts.map +1 -0
- package/build/server/platform/memory/utils.js +18 -0
- package/build/server/platform/memory/utils.js.map +1 -0
- package/build/server/platform/orchestration/choiceResponseMetadata.d.ts +3 -0
- package/build/server/platform/orchestration/choiceResponseMetadata.d.ts.map +1 -0
- package/build/server/platform/orchestration/choiceResponseMetadata.js +68 -0
- package/build/server/platform/orchestration/choiceResponseMetadata.js.map +1 -0
- package/build/server/platform/orchestration/contracts.d.ts +613 -0
- package/build/server/platform/orchestration/contracts.d.ts.map +1 -0
- package/build/server/platform/orchestration/contracts.js +4 -0
- package/build/server/platform/orchestration/contracts.js.map +1 -0
- package/build/server/platform/orchestration/dispatchReplay.d.ts +39 -0
- package/build/server/platform/orchestration/dispatchReplay.d.ts.map +1 -0
- package/build/server/platform/orchestration/dispatchReplay.js +114 -0
- package/build/server/platform/orchestration/dispatchReplay.js.map +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/artifact.d.ts +17 -0
- package/build/server/platform/orchestration/entitySubscriptions/artifact.d.ts.map +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/artifact.js +33 -0
- package/build/server/platform/orchestration/entitySubscriptions/artifact.js.map +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts +56 -0
- package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts.map +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/channel.js +159 -0
- package/build/server/platform/orchestration/entitySubscriptions/channel.js.map +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/index.d.ts +33 -0
- package/build/server/platform/orchestration/entitySubscriptions/index.d.ts.map +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/index.js +18 -0
- package/build/server/platform/orchestration/entitySubscriptions/index.js.map +1 -0
- package/build/server/platform/orchestration/execution/index.d.ts +4 -0
- package/build/server/platform/orchestration/execution/index.d.ts.map +1 -0
- package/build/server/platform/orchestration/execution/index.js +4 -0
- package/build/server/platform/orchestration/execution/index.js.map +1 -0
- package/build/server/platform/orchestration/execution/preDispatch.d.ts +17 -0
- package/build/server/platform/orchestration/execution/preDispatch.d.ts.map +1 -0
- package/build/server/platform/orchestration/execution/preDispatch.js +134 -0
- package/build/server/platform/orchestration/execution/preDispatch.js.map +1 -0
- package/build/server/platform/orchestration/execution/shared.d.ts +24 -0
- package/build/server/platform/orchestration/execution/shared.d.ts.map +1 -0
- package/build/server/platform/orchestration/execution/shared.js +321 -0
- package/build/server/platform/orchestration/execution/shared.js.map +1 -0
- package/build/server/platform/orchestration/execution/workflow.d.ts +15 -0
- package/build/server/platform/orchestration/execution/workflow.d.ts.map +1 -0
- package/build/server/platform/orchestration/execution/workflow.js +274 -0
- package/build/server/platform/orchestration/execution/workflow.js.map +1 -0
- package/build/server/platform/orchestration/index.d.ts +8 -0
- package/build/server/platform/orchestration/index.d.ts.map +1 -0
- package/build/server/platform/orchestration/index.js +8 -0
- package/build/server/platform/orchestration/index.js.map +1 -0
- package/build/server/platform/orchestration/pendingDispatch.d.ts +39 -0
- package/build/server/platform/orchestration/pendingDispatch.d.ts.map +1 -0
- package/build/server/platform/orchestration/pendingDispatch.js +121 -0
- package/build/server/platform/orchestration/pendingDispatch.js.map +1 -0
- package/build/server/platform/orchestration/providerAgentAdapter.d.ts +38 -0
- package/build/server/platform/orchestration/providerAgentAdapter.d.ts.map +1 -0
- package/build/server/platform/orchestration/providerAgentAdapter.js +141 -0
- package/build/server/platform/orchestration/providerAgentAdapter.js.map +1 -0
- package/build/server/platform/orchestration/providerAgentDecision.d.ts +140 -0
- package/build/server/platform/orchestration/providerAgentDecision.d.ts.map +1 -0
- package/build/server/platform/orchestration/providerAgentDecision.js +814 -0
- package/build/server/platform/orchestration/providerAgentDecision.js.map +1 -0
- package/build/server/platform/orchestration/providerAgentPolicyGate.d.ts +11 -0
- package/build/server/platform/orchestration/providerAgentPolicyGate.d.ts.map +1 -0
- package/build/server/platform/orchestration/providerAgentPolicyGate.js +104 -0
- package/build/server/platform/orchestration/providerAgentPolicyGate.js.map +1 -0
- package/build/server/platform/orchestration/providerAgentRunLoop.d.ts +29 -0
- package/build/server/platform/orchestration/providerAgentRunLoop.d.ts.map +1 -0
- package/build/server/platform/orchestration/providerAgentRunLoop.js +81 -0
- package/build/server/platform/orchestration/providerAgentRunLoop.js.map +1 -0
- package/build/server/platform/orchestration/providerAgentRunRecords.d.ts +25 -0
- package/build/server/platform/orchestration/providerAgentRunRecords.d.ts.map +1 -0
- package/build/server/platform/orchestration/providerAgentRunRecords.js +61 -0
- package/build/server/platform/orchestration/providerAgentRunRecords.js.map +1 -0
- package/build/server/platform/orchestration/replayActivity.d.ts +17 -0
- package/build/server/platform/orchestration/replayActivity.d.ts.map +1 -0
- package/build/server/platform/orchestration/replayActivity.js +99 -0
- package/build/server/platform/orchestration/replayActivity.js.map +1 -0
- package/build/server/platform/orchestration/replayActivityContracts.d.ts +22 -0
- package/build/server/platform/orchestration/replayActivityContracts.d.ts.map +1 -0
- package/build/server/platform/orchestration/replayActivityContracts.js +20 -0
- package/build/server/platform/orchestration/replayActivityContracts.js.map +1 -0
- package/build/server/platform/orchestration/runIds.d.ts +3 -0
- package/build/server/platform/orchestration/runIds.d.ts.map +1 -0
- package/build/server/platform/orchestration/runIds.js +7 -0
- package/build/server/platform/orchestration/runIds.js.map +1 -0
- package/build/server/platform/orchestration/runtimeDelivery.d.ts +25 -0
- package/build/server/platform/orchestration/runtimeDelivery.d.ts.map +1 -0
- package/build/server/platform/orchestration/runtimeDelivery.js +326 -0
- package/build/server/platform/orchestration/runtimeDelivery.js.map +1 -0
- package/build/server/platform/orchestration/toolIntent.d.ts +14 -0
- package/build/server/platform/orchestration/toolIntent.d.ts.map +1 -0
- package/build/server/platform/orchestration/toolIntent.js +85 -0
- package/build/server/platform/orchestration/toolIntent.js.map +1 -0
- package/build/server/platform/orchestration/workflowContinuationReplay.d.ts +79 -0
- package/build/server/platform/orchestration/workflowContinuationReplay.d.ts.map +1 -0
- package/build/server/platform/orchestration/workflowContinuationReplay.js +245 -0
- package/build/server/platform/orchestration/workflowContinuationReplay.js.map +1 -0
- package/build/server/platform/persistence/evidence.d.ts +4 -0
- package/build/server/platform/persistence/evidence.d.ts.map +1 -0
- package/build/server/platform/persistence/evidence.js +35 -0
- package/build/server/platform/persistence/evidence.js.map +1 -0
- package/build/server/platform/persistence/index.d.ts +2 -0
- package/build/server/platform/persistence/index.d.ts.map +1 -0
- package/build/server/platform/persistence/index.js +2 -0
- package/build/server/platform/persistence/index.js.map +1 -0
- package/build/server/platform/runtime/assistantFinalization.d.ts +37 -0
- package/build/server/platform/runtime/assistantFinalization.d.ts.map +1 -0
- package/build/server/platform/runtime/assistantFinalization.js +42 -0
- package/build/server/platform/runtime/assistantFinalization.js.map +1 -0
- package/build/server/platform/runtime/client.d.ts +2 -0
- package/build/server/platform/runtime/client.d.ts.map +1 -0
- package/build/server/platform/runtime/client.js +2 -0
- package/build/server/platform/runtime/client.js.map +1 -0
- package/build/server/platform/runtime/clientDiagnostics.d.ts +2 -0
- package/build/server/platform/runtime/clientDiagnostics.d.ts.map +1 -0
- package/build/server/platform/runtime/clientDiagnostics.js +2 -0
- package/build/server/platform/runtime/clientDiagnostics.js.map +1 -0
- package/build/server/platform/runtime/invocationEnrichment.d.ts +110 -0
- package/build/server/platform/runtime/invocationEnrichment.d.ts.map +1 -0
- package/build/server/platform/runtime/invocationEnrichment.js +229 -0
- package/build/server/platform/runtime/invocationEnrichment.js.map +1 -0
- package/build/server/platform/scheduler/contracts.d.ts +149 -0
- package/build/server/platform/scheduler/contracts.d.ts.map +1 -0
- package/build/server/platform/scheduler/contracts.js +2 -0
- package/build/server/platform/scheduler/contracts.js.map +1 -0
- package/build/server/platform/scheduler/evaluator.d.ts +23 -0
- package/build/server/platform/scheduler/evaluator.d.ts.map +1 -0
- package/build/server/platform/scheduler/evaluator.js +189 -0
- package/build/server/platform/scheduler/evaluator.js.map +1 -0
- package/build/server/platform/scheduler/index.d.ts +8 -0
- package/build/server/platform/scheduler/index.d.ts.map +1 -0
- package/build/server/platform/scheduler/index.js +7 -0
- package/build/server/platform/scheduler/index.js.map +1 -0
- package/build/server/platform/scheduler/loop.d.ts +9 -0
- package/build/server/platform/scheduler/loop.d.ts.map +1 -0
- package/build/server/platform/scheduler/loop.js +32 -0
- package/build/server/platform/scheduler/loop.js.map +1 -0
- package/build/server/platform/scheduler/service.d.ts +49 -0
- package/build/server/platform/scheduler/service.d.ts.map +1 -0
- package/build/server/platform/scheduler/service.js +467 -0
- package/build/server/platform/scheduler/service.js.map +1 -0
- package/build/server/platform/scheduler/store.d.ts +63 -0
- package/build/server/platform/scheduler/store.d.ts.map +1 -0
- package/build/server/platform/scheduler/store.js +202 -0
- package/build/server/platform/scheduler/store.js.map +1 -0
- package/build/server/platform/scheduler/validation.d.ts +11 -0
- package/build/server/platform/scheduler/validation.d.ts.map +1 -0
- package/build/server/platform/scheduler/validation.js +407 -0
- package/build/server/platform/scheduler/validation.js.map +1 -0
- package/build/server/platform/supervision/approvalRequests.d.ts +36 -0
- package/build/server/platform/supervision/approvalRequests.d.ts.map +1 -0
- package/build/server/platform/supervision/approvalRequests.js +191 -0
- package/build/server/platform/supervision/approvalRequests.js.map +1 -0
- package/build/server/platform/supervision/budget.d.ts +8 -0
- package/build/server/platform/supervision/budget.d.ts.map +1 -0
- package/build/server/platform/supervision/budget.js +21 -0
- package/build/server/platform/supervision/budget.js.map +1 -0
- package/build/server/platform/supervision/cancellation.d.ts +13 -0
- package/build/server/platform/supervision/cancellation.d.ts.map +1 -0
- package/build/server/platform/supervision/cancellation.js +26 -0
- package/build/server/platform/supervision/cancellation.js.map +1 -0
- package/build/server/platform/supervision/capabilityAssessment.d.ts +34 -0
- package/build/server/platform/supervision/capabilityAssessment.d.ts.map +1 -0
- package/build/server/platform/supervision/capabilityAssessment.js +137 -0
- package/build/server/platform/supervision/capabilityAssessment.js.map +1 -0
- package/build/server/platform/supervision/contracts.d.ts +243 -0
- package/build/server/platform/supervision/contracts.d.ts.map +1 -0
- package/build/server/platform/supervision/contracts.js +141 -0
- package/build/server/platform/supervision/contracts.js.map +1 -0
- package/build/server/platform/supervision/errors.d.ts +8 -0
- package/build/server/platform/supervision/errors.d.ts.map +1 -0
- package/build/server/platform/supervision/errors.js +12 -0
- package/build/server/platform/supervision/errors.js.map +1 -0
- package/build/server/platform/supervision/evidenceSink.d.ts +10 -0
- package/build/server/platform/supervision/evidenceSink.d.ts.map +1 -0
- package/build/server/platform/supervision/evidenceSink.js +40 -0
- package/build/server/platform/supervision/evidenceSink.js.map +1 -0
- package/build/server/platform/supervision/index.d.ts +25 -0
- package/build/server/platform/supervision/index.d.ts.map +1 -0
- package/build/server/platform/supervision/index.js +25 -0
- package/build/server/platform/supervision/index.js.map +1 -0
- package/build/server/platform/supervision/lifecycleTools.d.ts +27 -0
- package/build/server/platform/supervision/lifecycleTools.d.ts.map +1 -0
- package/build/server/platform/supervision/lifecycleTools.js +205 -0
- package/build/server/platform/supervision/lifecycleTools.js.map +1 -0
- package/build/server/platform/supervision/policyEngine.d.ts +40 -0
- package/build/server/platform/supervision/policyEngine.d.ts.map +1 -0
- package/build/server/platform/supervision/policyEngine.js +281 -0
- package/build/server/platform/supervision/policyEngine.js.map +1 -0
- package/build/server/platform/supervision/policySnapshots.d.ts +19 -0
- package/build/server/platform/supervision/policySnapshots.d.ts.map +1 -0
- package/build/server/platform/supervision/policySnapshots.js +38 -0
- package/build/server/platform/supervision/policySnapshots.js.map +1 -0
- package/build/server/platform/supervision/policyVersions.d.ts +4 -0
- package/build/server/platform/supervision/policyVersions.d.ts.map +1 -0
- package/build/server/platform/supervision/policyVersions.js +7 -0
- package/build/server/platform/supervision/policyVersions.js.map +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapConfig.d.ts +50 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapConfig.d.ts.map +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapConfig.js +361 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapConfig.js.map +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapDiagnostics.d.ts +31 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapDiagnostics.d.ts.map +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapDiagnostics.js +104 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapDiagnostics.js.map +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts +11 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts.map +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js +71 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js.map +1 -0
- package/build/server/platform/supervision/providerCapabilityControlKey.d.ts +8 -0
- package/build/server/platform/supervision/providerCapabilityControlKey.d.ts.map +1 -0
- package/build/server/platform/supervision/providerCapabilityControlKey.js +47 -0
- package/build/server/platform/supervision/providerCapabilityControlKey.js.map +1 -0
- package/build/server/platform/supervision/providerCapabilityProfiles.d.ts +40 -0
- package/build/server/platform/supervision/providerCapabilityProfiles.d.ts.map +1 -0
- package/build/server/platform/supervision/providerCapabilityProfiles.js +195 -0
- package/build/server/platform/supervision/providerCapabilityProfiles.js.map +1 -0
- package/build/server/platform/supervision/runCancellation.d.ts +49 -0
- package/build/server/platform/supervision/runCancellation.d.ts.map +1 -0
- package/build/server/platform/supervision/runCancellation.js +410 -0
- package/build/server/platform/supervision/runCancellation.js.map +1 -0
- package/build/server/platform/supervision/runCancellationContracts.d.ts +67 -0
- package/build/server/platform/supervision/runCancellationContracts.d.ts.map +1 -0
- package/build/server/platform/supervision/runCancellationContracts.js +9 -0
- package/build/server/platform/supervision/runCancellationContracts.js.map +1 -0
- package/build/server/platform/supervision/runLifecycleService.d.ts +75 -0
- package/build/server/platform/supervision/runLifecycleService.d.ts.map +1 -0
- package/build/server/platform/supervision/runLifecycleService.js +210 -0
- package/build/server/platform/supervision/runLifecycleService.js.map +1 -0
- package/build/server/platform/supervision/runLoopHandoff.d.ts +94 -0
- package/build/server/platform/supervision/runLoopHandoff.d.ts.map +1 -0
- package/build/server/platform/supervision/runLoopHandoff.js +70 -0
- package/build/server/platform/supervision/runLoopHandoff.js.map +1 -0
- package/build/server/platform/supervision/runProjection.d.ts +42 -0
- package/build/server/platform/supervision/runProjection.d.ts.map +1 -0
- package/build/server/platform/supervision/runProjection.js +514 -0
- package/build/server/platform/supervision/runProjection.js.map +1 -0
- package/build/server/platform/supervision/runState.d.ts +53 -0
- package/build/server/platform/supervision/runState.d.ts.map +1 -0
- package/build/server/platform/supervision/runState.js +119 -0
- package/build/server/platform/supervision/runState.js.map +1 -0
- package/build/server/platform/supervision/runtimeBoundary.d.ts +38 -0
- package/build/server/platform/supervision/runtimeBoundary.d.ts.map +1 -0
- package/build/server/platform/supervision/runtimeBoundary.js +149 -0
- package/build/server/platform/supervision/runtimeBoundary.js.map +1 -0
- package/build/server/platform/supervision/scheduledRunExecution.d.ts +39 -0
- package/build/server/platform/supervision/scheduledRunExecution.d.ts.map +1 -0
- package/build/server/platform/supervision/scheduledRunExecution.js +518 -0
- package/build/server/platform/supervision/scheduledRunExecution.js.map +1 -0
- package/build/server/platform/supervision/toolBoundary.d.ts +58 -0
- package/build/server/platform/supervision/toolBoundary.d.ts.map +1 -0
- package/build/server/platform/supervision/toolBoundary.js +85 -0
- package/build/server/platform/supervision/toolBoundary.js.map +1 -0
- package/build/server/platform/supervision/toolRegistry.d.ts +35 -0
- package/build/server/platform/supervision/toolRegistry.d.ts.map +1 -0
- package/build/server/platform/supervision/toolRegistry.js +135 -0
- package/build/server/platform/supervision/toolRegistry.js.map +1 -0
- package/build/server/platform/supervision/transportDeliveryTools.d.ts +75 -0
- package/build/server/platform/supervision/transportDeliveryTools.d.ts.map +1 -0
- package/build/server/platform/supervision/transportDeliveryTools.js +431 -0
- package/build/server/platform/supervision/transportDeliveryTools.js.map +1 -0
- package/build/server/platform/supervision/workSupervisedTools.d.ts +115 -0
- package/build/server/platform/supervision/workSupervisedTools.d.ts.map +1 -0
- package/build/server/platform/supervision/workSupervisedTools.js +390 -0
- package/build/server/platform/supervision/workSupervisedTools.js.map +1 -0
- package/build/server/platform/transports/fanout/registry.d.ts +23 -0
- package/build/server/platform/transports/fanout/registry.d.ts.map +1 -0
- package/build/server/platform/transports/fanout/registry.js +10 -0
- package/build/server/platform/transports/fanout/registry.js.map +1 -0
- package/build/server/platform/transports/fanout/subscriber.d.ts +20 -0
- package/build/server/platform/transports/fanout/subscriber.d.ts.map +1 -0
- package/build/server/platform/transports/fanout/subscriber.js +209 -0
- package/build/server/platform/transports/fanout/subscriber.js.map +1 -0
- package/build/server/platform/transports/telegram/bridge.d.ts +196 -0
- package/build/server/platform/transports/telegram/bridge.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/bridge.js +994 -0
- package/build/server/platform/transports/telegram/bridge.js.map +1 -0
- package/build/server/platform/transports/telegram/chunking.d.ts +7 -0
- package/build/server/platform/transports/telegram/chunking.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/chunking.js +87 -0
- package/build/server/platform/transports/telegram/chunking.js.map +1 -0
- package/build/server/platform/transports/telegram/commandRouter.d.ts +41 -0
- package/build/server/platform/transports/telegram/commandRouter.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/commandRouter.js +54 -0
- package/build/server/platform/transports/telegram/commandRouter.js.map +1 -0
- package/build/server/platform/transports/telegram/commands/index.d.ts +10 -0
- package/build/server/platform/transports/telegram/commands/index.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/commands/index.js +173 -0
- package/build/server/platform/transports/telegram/commands/index.js.map +1 -0
- package/build/server/platform/transports/telegram/contracts.d.ts +339 -0
- package/build/server/platform/transports/telegram/contracts.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/contracts.js +2 -0
- package/build/server/platform/transports/telegram/contracts.js.map +1 -0
- package/build/server/platform/transports/telegram/delivery.d.ts +52 -0
- package/build/server/platform/transports/telegram/delivery.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/delivery.js +179 -0
- package/build/server/platform/transports/telegram/delivery.js.map +1 -0
- package/build/server/platform/transports/telegram/fanout.d.ts +11 -0
- package/build/server/platform/transports/telegram/fanout.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/fanout.js +86 -0
- package/build/server/platform/transports/telegram/fanout.js.map +1 -0
- package/build/server/platform/transports/telegram/http.d.ts +22 -0
- package/build/server/platform/transports/telegram/http.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/http.js +97 -0
- package/build/server/platform/transports/telegram/http.js.map +1 -0
- package/build/server/platform/transports/telegram/mapping.d.ts +28 -0
- package/build/server/platform/transports/telegram/mapping.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/mapping.js +96 -0
- package/build/server/platform/transports/telegram/mapping.js.map +1 -0
- package/build/server/platform/transports/telegram/normalization.d.ts +7 -0
- package/build/server/platform/transports/telegram/normalization.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/normalization.js +172 -0
- package/build/server/platform/transports/telegram/normalization.js.map +1 -0
- package/build/server/platform/transports/telegram/polling.d.ts +50 -0
- package/build/server/platform/transports/telegram/polling.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/polling.js +267 -0
- package/build/server/platform/transports/telegram/polling.js.map +1 -0
- package/build/server/platform/transports/telegram/relay/delivery.d.ts +23 -0
- package/build/server/platform/transports/telegram/relay/delivery.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/relay/delivery.js +252 -0
- package/build/server/platform/transports/telegram/relay/delivery.js.map +1 -0
- package/build/server/platform/transports/telegram/relay/index.d.ts +58 -0
- package/build/server/platform/transports/telegram/relay/index.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/relay/index.js +122 -0
- package/build/server/platform/transports/telegram/relay/index.js.map +1 -0
- package/build/server/platform/transports/telegram/relay/ingress.d.ts +18 -0
- package/build/server/platform/transports/telegram/relay/ingress.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/relay/ingress.js +164 -0
- package/build/server/platform/transports/telegram/relay/ingress.js.map +1 -0
- package/build/server/platform/transports/telegram/relay/status.d.ts +21 -0
- package/build/server/platform/transports/telegram/relay/status.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/relay/status.js +115 -0
- package/build/server/platform/transports/telegram/relay/status.js.map +1 -0
- package/build/server/platform/transports/telegram/store/index.d.ts +83 -0
- package/build/server/platform/transports/telegram/store/index.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/store/index.js +203 -0
- package/build/server/platform/transports/telegram/store/index.js.map +1 -0
- package/build/server/platform/transports/telegram/store/persistence.d.ts +4 -0
- package/build/server/platform/transports/telegram/store/persistence.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/store/persistence.js +31 -0
- package/build/server/platform/transports/telegram/store/persistence.js.map +1 -0
- package/build/server/platform/transports/telegram/store/state.d.ts +13 -0
- package/build/server/platform/transports/telegram/store/state.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/store/state.js +300 -0
- package/build/server/platform/transports/telegram/store/state.js.map +1 -0
- package/build/server/platform/transports/telegram/utils.d.ts +12 -0
- package/build/server/platform/transports/telegram/utils.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/utils.js +42 -0
- package/build/server/platform/transports/telegram/utils.js.map +1 -0
- package/build/server/products/chat/api/__mobileAlignment.d.ts +24 -0
- package/build/server/products/chat/api/__mobileAlignment.d.ts.map +1 -0
- package/build/server/products/chat/api/__mobileAlignment.js +36 -0
- package/build/server/products/chat/api/__mobileAlignment.js.map +1 -0
- package/build/server/products/chat/api/attachmentSupport.d.ts +15 -0
- package/build/server/products/chat/api/attachmentSupport.d.ts.map +1 -0
- package/build/server/products/chat/api/attachmentSupport.js +111 -0
- package/build/server/products/chat/api/attachmentSupport.js.map +1 -0
- package/build/server/products/chat/api/botBindingRoutes.d.ts +3 -0
- package/build/server/products/chat/api/botBindingRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/botBindingRoutes.js +227 -0
- package/build/server/products/chat/api/botBindingRoutes.js.map +1 -0
- package/build/server/products/chat/api/canonicalCatRoutes.d.ts +3 -0
- package/build/server/products/chat/api/canonicalCatRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/canonicalCatRoutes.js +191 -0
- package/build/server/products/chat/api/canonicalCatRoutes.js.map +1 -0
- package/build/server/products/chat/api/channelRepair.d.ts +21 -0
- package/build/server/products/chat/api/channelRepair.d.ts.map +1 -0
- package/build/server/products/chat/api/channelRepair.js +51 -0
- package/build/server/products/chat/api/channelRepair.js.map +1 -0
- package/build/server/products/chat/api/chatEventHub.d.ts +17 -0
- package/build/server/products/chat/api/chatEventHub.d.ts.map +1 -0
- package/build/server/products/chat/api/chatEventHub.js +26 -0
- package/build/server/products/chat/api/chatEventHub.js.map +1 -0
- package/build/server/products/chat/api/companionBoxRoutes.d.ts +3 -0
- package/build/server/products/chat/api/companionBoxRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/companionBoxRoutes.js +573 -0
- package/build/server/products/chat/api/companionBoxRoutes.js.map +1 -0
- package/build/server/products/chat/api/contracts.d.ts +716 -0
- package/build/server/products/chat/api/contracts.d.ts.map +1 -0
- package/build/server/products/chat/api/contracts.js +2 -0
- package/build/server/products/chat/api/contracts.js.map +1 -0
- package/build/server/products/chat/api/guideCatAssist.d.ts +36 -0
- package/build/server/products/chat/api/guideCatAssist.d.ts.map +1 -0
- package/build/server/products/chat/api/guideCatAssist.js +265 -0
- package/build/server/products/chat/api/guideCatAssist.js.map +1 -0
- package/build/server/products/chat/api/index.d.ts +5 -0
- package/build/server/products/chat/api/index.d.ts.map +1 -0
- package/build/server/products/chat/api/index.js +42 -0
- package/build/server/products/chat/api/index.js.map +1 -0
- package/build/server/products/chat/api/memory/catRoutes.d.ts +3 -0
- package/build/server/products/chat/api/memory/catRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/memory/catRoutes.js +206 -0
- package/build/server/products/chat/api/memory/catRoutes.js.map +1 -0
- package/build/server/products/chat/api/memory/channelRoutes.d.ts +3 -0
- package/build/server/products/chat/api/memory/channelRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/memory/channelRoutes.js +63 -0
- package/build/server/products/chat/api/memory/channelRoutes.js.map +1 -0
- package/build/server/products/chat/api/memory/index.d.ts +3 -0
- package/build/server/products/chat/api/memory/index.d.ts.map +1 -0
- package/build/server/products/chat/api/memory/index.js +16 -0
- package/build/server/products/chat/api/memory/index.js.map +1 -0
- package/build/server/products/chat/api/memory/ownerRoutes.d.ts +3 -0
- package/build/server/products/chat/api/memory/ownerRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/memory/ownerRoutes.js +160 -0
- package/build/server/products/chat/api/memory/ownerRoutes.js.map +1 -0
- package/build/server/products/chat/api/memory/shared.d.ts +35 -0
- package/build/server/products/chat/api/memory/shared.d.ts.map +1 -0
- package/build/server/products/chat/api/memory/shared.js +122 -0
- package/build/server/products/chat/api/memory/shared.js.map +1 -0
- package/build/server/products/chat/api/orchestratorDispatch.d.ts +16 -0
- package/build/server/products/chat/api/orchestratorDispatch.d.ts.map +1 -0
- package/build/server/products/chat/api/orchestratorDispatch.js +143 -0
- package/build/server/products/chat/api/orchestratorDispatch.js.map +1 -0
- package/build/server/products/chat/api/orchestratorDispatchResponse.d.ts +15 -0
- package/build/server/products/chat/api/orchestratorDispatchResponse.d.ts.map +1 -0
- package/build/server/products/chat/api/orchestratorDispatchResponse.js +77 -0
- package/build/server/products/chat/api/orchestratorDispatchResponse.js.map +1 -0
- package/build/server/products/chat/api/orchestratorPlan.d.ts +11 -0
- package/build/server/products/chat/api/orchestratorPlan.d.ts.map +1 -0
- package/build/server/products/chat/api/orchestratorPlan.js +275 -0
- package/build/server/products/chat/api/orchestratorPlan.js.map +1 -0
- package/build/server/products/chat/api/orchestratorRoutes.d.ts +3 -0
- package/build/server/products/chat/api/orchestratorRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/orchestratorRoutes.js +75 -0
- package/build/server/products/chat/api/orchestratorRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/channelAttachmentRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/channelAttachmentRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/channelAttachmentRoutes.js +113 -0
- package/build/server/products/chat/api/resources/channelAttachmentRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/channelRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/channelRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/channelRoutes.js +570 -0
- package/build/server/products/chat/api/resources/channelRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/channelRuntimeRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/channelRuntimeRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/channelRuntimeRoutes.js +587 -0
- package/build/server/products/chat/api/resources/channelRuntimeRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/channelStreamSupport.d.ts +21 -0
- package/build/server/products/chat/api/resources/channelStreamSupport.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/channelStreamSupport.js +368 -0
- package/build/server/products/chat/api/resources/channelStreamSupport.js.map +1 -0
- package/build/server/products/chat/api/resources/debugRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/debugRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/debugRoutes.js +26 -0
- package/build/server/products/chat/api/resources/debugRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/eventRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/eventRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/eventRoutes.js +49 -0
- package/build/server/products/chat/api/resources/eventRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/index.d.ts +3 -0
- package/build/server/products/chat/api/resources/index.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/index.js +28 -0
- package/build/server/products/chat/api/resources/index.js.map +1 -0
- package/build/server/products/chat/api/resources/orchestratorRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/orchestratorRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/orchestratorRoutes.js +58 -0
- package/build/server/products/chat/api/resources/orchestratorRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupCrudRoutes.d.ts +6 -0
- package/build/server/products/chat/api/resources/parallelChatGroupCrudRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupCrudRoutes.js +78 -0
- package/build/server/products/chat/api/resources/parallelChatGroupCrudRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupDispatch.d.ts +47 -0
- package/build/server/products/chat/api/resources/parallelChatGroupDispatch.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupDispatch.js +275 -0
- package/build/server/products/chat/api/resources/parallelChatGroupDispatch.js.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/parallelChatGroupRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupRoutes.js +316 -0
- package/build/server/products/chat/api/resources/parallelChatGroupRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupSupport.d.ts +8 -0
- package/build/server/products/chat/api/resources/parallelChatGroupSupport.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/parallelChatGroupSupport.js +43 -0
- package/build/server/products/chat/api/resources/parallelChatGroupSupport.js.map +1 -0
- package/build/server/products/chat/api/resources/preferenceRoutes.d.ts +3 -0
- package/build/server/products/chat/api/resources/preferenceRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/preferenceRoutes.js +105 -0
- package/build/server/products/chat/api/resources/preferenceRoutes.js.map +1 -0
- package/build/server/products/chat/api/resources/streamTargetSignal.d.ts +4 -0
- package/build/server/products/chat/api/resources/streamTargetSignal.d.ts.map +1 -0
- package/build/server/products/chat/api/resources/streamTargetSignal.js +60 -0
- package/build/server/products/chat/api/resources/streamTargetSignal.js.map +1 -0
- package/build/server/products/chat/api/routeContinuationRecovery.d.ts +4 -0
- package/build/server/products/chat/api/routeContinuationRecovery.d.ts.map +1 -0
- package/build/server/products/chat/api/routeContinuationRecovery.js +129 -0
- package/build/server/products/chat/api/routeContinuationRecovery.js.map +1 -0
- package/build/server/products/chat/api/routeErrors.d.ts +12 -0
- package/build/server/products/chat/api/routeErrors.d.ts.map +1 -0
- package/build/server/products/chat/api/routeErrors.js +89 -0
- package/build/server/products/chat/api/routeErrors.js.map +1 -0
- package/build/server/products/chat/api/routeSessions.d.ts +18 -0
- package/build/server/products/chat/api/routeSessions.d.ts.map +1 -0
- package/build/server/products/chat/api/routeSessions.js +142 -0
- package/build/server/products/chat/api/routeSessions.js.map +1 -0
- package/build/server/products/chat/api/routeStateSupport.d.ts +20 -0
- package/build/server/products/chat/api/routeStateSupport.d.ts.map +1 -0
- package/build/server/products/chat/api/routeStateSupport.js +58 -0
- package/build/server/products/chat/api/routeStateSupport.js.map +1 -0
- package/build/server/products/chat/api/routeSupport.d.ts +92 -0
- package/build/server/products/chat/api/routeSupport.d.ts.map +1 -0
- package/build/server/products/chat/api/routeSupport.js +569 -0
- package/build/server/products/chat/api/routeSupport.js.map +1 -0
- package/build/server/products/chat/api/runtimeBridgeRoutes.d.ts +3 -0
- package/build/server/products/chat/api/runtimeBridgeRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/runtimeBridgeRoutes.js +167 -0
- package/build/server/products/chat/api/runtimeBridgeRoutes.js.map +1 -0
- package/build/server/products/chat/api/setupRoutes.d.ts +3 -0
- package/build/server/products/chat/api/setupRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/setupRoutes.js +223 -0
- package/build/server/products/chat/api/setupRoutes.js.map +1 -0
- package/build/server/products/chat/api/shellRoutes.d.ts +3 -0
- package/build/server/products/chat/api/shellRoutes.d.ts.map +1 -0
- package/build/server/products/chat/api/shellRoutes.js +42 -0
- package/build/server/products/chat/api/shellRoutes.js.map +1 -0
- package/build/server/products/chat/api/transportEventPublisher.d.ts +17 -0
- package/build/server/products/chat/api/transportEventPublisher.d.ts.map +1 -0
- package/build/server/products/chat/api/transportEventPublisher.js +79 -0
- package/build/server/products/chat/api/transportEventPublisher.js.map +1 -0
- package/build/server/products/chat/companion/activityProjection.d.ts +73 -0
- package/build/server/products/chat/companion/activityProjection.d.ts.map +1 -0
- package/build/server/products/chat/companion/activityProjection.js +130 -0
- package/build/server/products/chat/companion/activityProjection.js.map +1 -0
- package/build/server/products/chat/companion/activityStore.d.ts +19 -0
- package/build/server/products/chat/companion/activityStore.d.ts.map +1 -0
- package/build/server/products/chat/companion/activityStore.js +86 -0
- package/build/server/products/chat/companion/activityStore.js.map +1 -0
- package/build/server/products/chat/companion/composerReferenceDetector.d.ts +29 -0
- package/build/server/products/chat/companion/composerReferenceDetector.d.ts.map +1 -0
- package/build/server/products/chat/companion/composerReferenceDetector.js +68 -0
- package/build/server/products/chat/companion/composerReferenceDetector.js.map +1 -0
- package/build/server/products/chat/companion/contentReference.d.ts +46 -0
- package/build/server/products/chat/companion/contentReference.d.ts.map +1 -0
- package/build/server/products/chat/companion/contentReference.js +100 -0
- package/build/server/products/chat/companion/contentReference.js.map +1 -0
- package/build/server/products/chat/companion/contentResolver.d.ts +53 -0
- package/build/server/products/chat/companion/contentResolver.d.ts.map +1 -0
- package/build/server/products/chat/companion/contentResolver.js +65 -0
- package/build/server/products/chat/companion/contentResolver.js.map +1 -0
- package/build/server/products/chat/companion/contracts.d.ts +2 -0
- package/build/server/products/chat/companion/contracts.d.ts.map +1 -0
- package/build/server/products/chat/companion/contracts.js +2 -0
- package/build/server/products/chat/companion/contracts.js.map +1 -0
- package/build/server/products/chat/companion/hydration.d.ts +25 -0
- package/build/server/products/chat/companion/hydration.d.ts.map +1 -0
- package/build/server/products/chat/companion/hydration.js +80 -0
- package/build/server/products/chat/companion/hydration.js.map +1 -0
- package/build/server/products/chat/companion/inspectorSelection.d.ts +57 -0
- package/build/server/products/chat/companion/inspectorSelection.d.ts.map +1 -0
- package/build/server/products/chat/companion/inspectorSelection.js +143 -0
- package/build/server/products/chat/companion/inspectorSelection.js.map +1 -0
- package/build/server/products/chat/companion/layout.d.ts +5 -0
- package/build/server/products/chat/companion/layout.d.ts.map +1 -0
- package/build/server/products/chat/companion/layout.js +26 -0
- package/build/server/products/chat/companion/layout.js.map +1 -0
- package/build/server/products/chat/companion/messageReferenceSnapshot.d.ts +53 -0
- package/build/server/products/chat/companion/messageReferenceSnapshot.d.ts.map +1 -0
- package/build/server/products/chat/companion/messageReferenceSnapshot.js +95 -0
- package/build/server/products/chat/companion/messageReferenceSnapshot.js.map +1 -0
- package/build/server/products/chat/companion/profileReadModel.d.ts +75 -0
- package/build/server/products/chat/companion/profileReadModel.d.ts.map +1 -0
- package/build/server/products/chat/companion/profileReadModel.js +145 -0
- package/build/server/products/chat/companion/profileReadModel.js.map +1 -0
- package/build/server/products/chat/companion/sourceIngestion.d.ts +9 -0
- package/build/server/products/chat/companion/sourceIngestion.d.ts.map +1 -0
- package/build/server/products/chat/companion/sourceIngestion.js +234 -0
- package/build/server/products/chat/companion/sourceIngestion.js.map +1 -0
- package/build/server/products/chat/companion/supervisedContentTools.d.ts +82 -0
- package/build/server/products/chat/companion/supervisedContentTools.d.ts.map +1 -0
- package/build/server/products/chat/companion/supervisedContentTools.js +410 -0
- package/build/server/products/chat/companion/supervisedContentTools.js.map +1 -0
- package/build/server/products/chat/companion/validation.d.ts +12 -0
- package/build/server/products/chat/companion/validation.d.ts.map +1 -0
- package/build/server/products/chat/companion/validation.js +53 -0
- package/build/server/products/chat/companion/validation.js.map +1 -0
- package/build/server/products/chat/renderer/api/appShell.d.ts +17 -0
- package/build/server/products/chat/renderer/api/appShell.d.ts.map +1 -0
- package/build/server/products/chat/renderer/api/appShell.js +108 -0
- package/build/server/products/chat/renderer/api/appShell.js.map +1 -0
- package/build/server/products/chat/renderer/api/http.d.ts +2 -0
- package/build/server/products/chat/renderer/api/http.d.ts.map +1 -0
- package/build/server/products/chat/renderer/api/http.js +2 -0
- package/build/server/products/chat/renderer/api/http.js.map +1 -0
- package/build/server/products/chat/renderer/api/normalization.d.ts +3 -0
- package/build/server/products/chat/renderer/api/normalization.d.ts.map +1 -0
- package/build/server/products/chat/renderer/api/normalization.js +289 -0
- package/build/server/products/chat/renderer/api/normalization.js.map +1 -0
- package/build/server/products/chat/settings-cats/telegramDiagnostics.d.ts +2 -0
- package/build/server/products/chat/settings-cats/telegramDiagnostics.d.ts.map +1 -0
- package/build/server/products/chat/settings-cats/telegramDiagnostics.js +2 -0
- package/build/server/products/chat/settings-cats/telegramDiagnostics.js.map +1 -0
- package/build/server/products/chat/shared/asyncControl.d.ts +9 -0
- package/build/server/products/chat/shared/asyncControl.d.ts.map +1 -0
- package/build/server/products/chat/shared/asyncControl.js +42 -0
- package/build/server/products/chat/shared/asyncControl.js.map +1 -0
- package/build/server/products/chat/shared/catProductIntentProposal.d.ts +161 -0
- package/build/server/products/chat/shared/catProductIntentProposal.d.ts.map +1 -0
- package/build/server/products/chat/shared/catProductIntentProposal.js +329 -0
- package/build/server/products/chat/shared/catProductIntentProposal.js.map +1 -0
- package/build/server/products/chat/shared/catStatusResolution.d.ts +16 -0
- package/build/server/products/chat/shared/catStatusResolution.d.ts.map +1 -0
- package/build/server/products/chat/shared/catStatusResolution.js +52 -0
- package/build/server/products/chat/shared/catStatusResolution.js.map +1 -0
- package/build/server/products/chat/shared/channelCanonicalIdentity.d.ts +6 -0
- package/build/server/products/chat/shared/channelCanonicalIdentity.d.ts.map +1 -0
- package/build/server/products/chat/shared/channelCanonicalIdentity.js +11 -0
- package/build/server/products/chat/shared/channelCanonicalIdentity.js.map +1 -0
- package/build/server/products/chat/shared/channelEntry.d.ts +16 -0
- package/build/server/products/chat/shared/channelEntry.d.ts.map +1 -0
- package/build/server/products/chat/shared/channelEntry.js +38 -0
- package/build/server/products/chat/shared/channelEntry.js.map +1 -0
- package/build/server/products/chat/shared/channelParticipants.d.ts +98 -0
- package/build/server/products/chat/shared/channelParticipants.d.ts.map +1 -0
- package/build/server/products/chat/shared/channelParticipants.js +210 -0
- package/build/server/products/chat/shared/channelParticipants.js.map +1 -0
- package/build/server/products/chat/shared/channelPaths.d.ts +28 -0
- package/build/server/products/chat/shared/channelPaths.d.ts.map +1 -0
- package/build/server/products/chat/shared/channelPaths.js +105 -0
- package/build/server/products/chat/shared/channelPaths.js.map +1 -0
- package/build/server/products/chat/shared/channelTopology.d.ts +46 -0
- package/build/server/products/chat/shared/channelTopology.d.ts.map +1 -0
- package/build/server/products/chat/shared/channelTopology.js +114 -0
- package/build/server/products/chat/shared/channelTopology.js.map +1 -0
- package/build/server/products/chat/shared/clientMessageIdentity.d.ts +39 -0
- package/build/server/products/chat/shared/clientMessageIdentity.d.ts.map +1 -0
- package/build/server/products/chat/shared/clientMessageIdentity.js +117 -0
- package/build/server/products/chat/shared/clientMessageIdentity.js.map +1 -0
- package/build/server/products/chat/shared/directMessageSelectors.d.ts +85 -0
- package/build/server/products/chat/shared/directMessageSelectors.d.ts.map +1 -0
- package/build/server/products/chat/shared/directMessageSelectors.js +90 -0
- package/build/server/products/chat/shared/directMessageSelectors.js.map +1 -0
- package/build/server/products/chat/shared/implicitProductIntent.d.ts +102 -0
- package/build/server/products/chat/shared/implicitProductIntent.d.ts.map +1 -0
- package/build/server/products/chat/shared/implicitProductIntent.js +234 -0
- package/build/server/products/chat/shared/implicitProductIntent.js.map +1 -0
- package/build/server/products/chat/shared/lifecycle.d.ts +9 -0
- package/build/server/products/chat/shared/lifecycle.d.ts.map +1 -0
- package/build/server/products/chat/shared/lifecycle.js +42 -0
- package/build/server/products/chat/shared/lifecycle.js.map +1 -0
- package/build/server/products/chat/shared/messageChoices.d.ts +9 -0
- package/build/server/products/chat/shared/messageChoices.d.ts.map +1 -0
- package/build/server/products/chat/shared/messageChoices.js +172 -0
- package/build/server/products/chat/shared/messageChoices.js.map +1 -0
- package/build/server/products/chat/shared/naturalProductIntentMode.d.ts +9 -0
- package/build/server/products/chat/shared/naturalProductIntentMode.d.ts.map +1 -0
- package/build/server/products/chat/shared/naturalProductIntentMode.js +27 -0
- package/build/server/products/chat/shared/naturalProductIntentMode.js.map +1 -0
- package/build/server/products/chat/shared/operator-loop/actions.d.ts +7 -0
- package/build/server/products/chat/shared/operator-loop/actions.d.ts.map +1 -0
- package/build/server/products/chat/shared/operator-loop/actions.js +166 -0
- package/build/server/products/chat/shared/operator-loop/actions.js.map +1 -0
- package/build/server/products/chat/shared/operator-loop/index.d.ts +6 -0
- package/build/server/products/chat/shared/operator-loop/index.d.ts.map +1 -0
- package/build/server/products/chat/shared/operator-loop/index.js +214 -0
- package/build/server/products/chat/shared/operator-loop/index.js.map +1 -0
- package/build/server/products/chat/shared/operator-loop/metadata.d.ts +27 -0
- package/build/server/products/chat/shared/operator-loop/metadata.d.ts.map +1 -0
- package/build/server/products/chat/shared/operator-loop/metadata.js +322 -0
- package/build/server/products/chat/shared/operator-loop/metadata.js.map +1 -0
- package/build/server/products/chat/shared/operator-loop/types.d.ts +199 -0
- package/build/server/products/chat/shared/operator-loop/types.d.ts.map +1 -0
- package/build/server/products/chat/shared/operator-loop/types.js +2 -0
- package/build/server/products/chat/shared/operator-loop/types.js.map +1 -0
- package/build/server/products/chat/shared/parallelChats.d.ts +31 -0
- package/build/server/products/chat/shared/parallelChats.d.ts.map +1 -0
- package/build/server/products/chat/shared/parallelChats.js +177 -0
- package/build/server/products/chat/shared/parallelChats.js.map +1 -0
- package/build/server/products/chat/shared/participantNaming.d.ts +7 -0
- package/build/server/products/chat/shared/participantNaming.d.ts.map +1 -0
- package/build/server/products/chat/shared/participantNaming.js +46 -0
- package/build/server/products/chat/shared/participantNaming.js.map +1 -0
- package/build/server/products/chat/shared/productIntentCommands.d.ts +28 -0
- package/build/server/products/chat/shared/productIntentCommands.d.ts.map +1 -0
- package/build/server/products/chat/shared/productIntentCommands.js +55 -0
- package/build/server/products/chat/shared/productIntentCommands.js.map +1 -0
- package/build/server/products/chat/shared/productIntentIntakeMetadata.d.ts +77 -0
- package/build/server/products/chat/shared/productIntentIntakeMetadata.d.ts.map +1 -0
- package/build/server/products/chat/shared/productIntentIntakeMetadata.js +83 -0
- package/build/server/products/chat/shared/productIntentIntakeMetadata.js.map +1 -0
- package/build/server/products/chat/shared/productPresetIntentContext.d.ts +65 -0
- package/build/server/products/chat/shared/productPresetIntentContext.d.ts.map +1 -0
- package/build/server/products/chat/shared/productPresetIntentContext.js +129 -0
- package/build/server/products/chat/shared/productPresetIntentContext.js.map +1 -0
- package/build/server/products/chat/shared/sessionHealth.d.ts +16 -0
- package/build/server/products/chat/shared/sessionHealth.d.ts.map +1 -0
- package/build/server/products/chat/shared/sessionHealth.js +41 -0
- package/build/server/products/chat/shared/sessionHealth.js.map +1 -0
- package/build/server/products/chat/state/assistantTurnSegments.d.ts +13 -0
- package/build/server/products/chat/state/assistantTurnSegments.d.ts.map +1 -0
- package/build/server/products/chat/state/assistantTurnSegments.js +62 -0
- package/build/server/products/chat/state/assistantTurnSegments.js.map +1 -0
- package/build/server/products/chat/state/botBindings.d.ts +5 -0
- package/build/server/products/chat/state/botBindings.d.ts.map +1 -0
- package/build/server/products/chat/state/botBindings.js +20 -0
- package/build/server/products/chat/state/botBindings.js.map +1 -0
- package/build/server/products/chat/state/chat-snapshot/entities.d.ts +11 -0
- package/build/server/products/chat/state/chat-snapshot/entities.d.ts.map +1 -0
- package/build/server/products/chat/state/chat-snapshot/entities.js +380 -0
- package/build/server/products/chat/state/chat-snapshot/entities.js.map +1 -0
- package/build/server/products/chat/state/chat-snapshot/index.d.ts +5 -0
- package/build/server/products/chat/state/chat-snapshot/index.d.ts.map +1 -0
- package/build/server/products/chat/state/chat-snapshot/index.js +237 -0
- package/build/server/products/chat/state/chat-snapshot/index.js.map +1 -0
- package/build/server/products/chat/state/chat-snapshot/shared.d.ts +14 -0
- package/build/server/products/chat/state/chat-snapshot/shared.d.ts.map +1 -0
- package/build/server/products/chat/state/chat-snapshot/shared.js +82 -0
- package/build/server/products/chat/state/chat-snapshot/shared.js.map +1 -0
- package/build/server/products/chat/state/chatCoreInterop.d.ts +31 -0
- package/build/server/products/chat/state/chatCoreInterop.d.ts.map +1 -0
- package/build/server/products/chat/state/chatCoreInterop.js +504 -0
- package/build/server/products/chat/state/chatCoreInterop.js.map +1 -0
- package/build/server/products/chat/state/companion-box/fileStore.d.ts +27 -0
- package/build/server/products/chat/state/companion-box/fileStore.d.ts.map +1 -0
- package/build/server/products/chat/state/companion-box/fileStore.js +266 -0
- package/build/server/products/chat/state/companion-box/fileStore.js.map +1 -0
- package/build/server/products/chat/state/companion-box/index.d.ts +9 -0
- package/build/server/products/chat/state/companion-box/index.d.ts.map +1 -0
- package/build/server/products/chat/state/companion-box/index.js +12 -0
- package/build/server/products/chat/state/companion-box/index.js.map +1 -0
- package/build/server/products/chat/state/companion-box/memoryStore.d.ts +26 -0
- package/build/server/products/chat/state/companion-box/memoryStore.d.ts.map +1 -0
- package/build/server/products/chat/state/companion-box/memoryStore.js +103 -0
- package/build/server/products/chat/state/companion-box/memoryStore.js.map +1 -0
- package/build/server/products/chat/state/companion-box/operations.d.ts +44 -0
- package/build/server/products/chat/state/companion-box/operations.d.ts.map +1 -0
- package/build/server/products/chat/state/companion-box/operations.js +216 -0
- package/build/server/products/chat/state/companion-box/operations.js.map +1 -0
- package/build/server/products/chat/state/companion-box/snapshot.d.ts +10 -0
- package/build/server/products/chat/state/companion-box/snapshot.d.ts.map +1 -0
- package/build/server/products/chat/state/companion-box/snapshot.js +240 -0
- package/build/server/products/chat/state/companion-box/snapshot.js.map +1 -0
- package/build/server/products/chat/state/companion-box/storeTypes.d.ts +36 -0
- package/build/server/products/chat/state/companion-box/storeTypes.d.ts.map +1 -0
- package/build/server/products/chat/state/companion-box/storeTypes.js +2 -0
- package/build/server/products/chat/state/companion-box/storeTypes.js.map +1 -0
- package/build/server/products/chat/state/companionMemoryAdapter.d.ts +57 -0
- package/build/server/products/chat/state/companionMemoryAdapter.d.ts.map +1 -0
- package/build/server/products/chat/state/companionMemoryAdapter.js +108 -0
- package/build/server/products/chat/state/companionMemoryAdapter.js.map +1 -0
- package/build/server/products/chat/state/core-projection/entities.d.ts +26 -0
- package/build/server/products/chat/state/core-projection/entities.d.ts.map +1 -0
- package/build/server/products/chat/state/core-projection/entities.js +887 -0
- package/build/server/products/chat/state/core-projection/entities.js.map +1 -0
- package/build/server/products/chat/state/core-projection/entityMetadata.d.ts +11 -0
- package/build/server/products/chat/state/core-projection/entityMetadata.d.ts.map +1 -0
- package/build/server/products/chat/state/core-projection/entityMetadata.js +63 -0
- package/build/server/products/chat/state/core-projection/entityMetadata.js.map +1 -0
- package/build/server/products/chat/state/core-projection/index.d.ts +4 -0
- package/build/server/products/chat/state/core-projection/index.d.ts.map +1 -0
- package/build/server/products/chat/state/core-projection/index.js +118 -0
- package/build/server/products/chat/state/core-projection/index.js.map +1 -0
- package/build/server/products/chat/state/core-projection/interaction.d.ts +9 -0
- package/build/server/products/chat/state/core-projection/interaction.d.ts.map +1 -0
- package/build/server/products/chat/state/core-projection/interaction.js +636 -0
- package/build/server/products/chat/state/core-projection/interaction.js.map +1 -0
- package/build/server/products/chat/state/core-projection/workflow.d.ts +17 -0
- package/build/server/products/chat/state/core-projection/workflow.d.ts.map +1 -0
- package/build/server/products/chat/state/core-projection/workflow.js +383 -0
- package/build/server/products/chat/state/core-projection/workflow.js.map +1 -0
- package/build/server/products/chat/state/core-snapshot/actorRecords.d.ts +7 -0
- package/build/server/products/chat/state/core-snapshot/actorRecords.d.ts.map +1 -0
- package/build/server/products/chat/state/core-snapshot/actorRecords.js +164 -0
- package/build/server/products/chat/state/core-snapshot/actorRecords.js.map +1 -0
- package/build/server/products/chat/state/core-snapshot/auxiliaryRecords.d.ts +8 -0
- package/build/server/products/chat/state/core-snapshot/auxiliaryRecords.d.ts.map +1 -0
- package/build/server/products/chat/state/core-snapshot/auxiliaryRecords.js +137 -0
- package/build/server/products/chat/state/core-snapshot/auxiliaryRecords.js.map +1 -0
- package/build/server/products/chat/state/core-snapshot/index.d.ts +9 -0
- package/build/server/products/chat/state/core-snapshot/index.d.ts.map +1 -0
- package/build/server/products/chat/state/core-snapshot/index.js +12 -0
- package/build/server/products/chat/state/core-snapshot/index.js.map +1 -0
- package/build/server/products/chat/state/core-snapshot/interactionRecords.d.ts +10 -0
- package/build/server/products/chat/state/core-snapshot/interactionRecords.d.ts.map +1 -0
- package/build/server/products/chat/state/core-snapshot/interactionRecords.js +244 -0
- package/build/server/products/chat/state/core-snapshot/interactionRecords.js.map +1 -0
- package/build/server/products/chat/state/core-snapshot/records.d.ts +5 -0
- package/build/server/products/chat/state/core-snapshot/records.d.ts.map +1 -0
- package/build/server/products/chat/state/core-snapshot/records.js +5 -0
- package/build/server/products/chat/state/core-snapshot/records.js.map +1 -0
- package/build/server/products/chat/state/core-snapshot/shared.d.ts +11 -0
- package/build/server/products/chat/state/core-snapshot/shared.d.ts.map +1 -0
- package/build/server/products/chat/state/core-snapshot/shared.js +47 -0
- package/build/server/products/chat/state/core-snapshot/shared.js.map +1 -0
- package/build/server/products/chat/state/core-snapshot/workflowRecords.d.ts +10 -0
- package/build/server/products/chat/state/core-snapshot/workflowRecords.d.ts.map +1 -0
- package/build/server/products/chat/state/core-snapshot/workflowRecords.js +279 -0
- package/build/server/products/chat/state/core-snapshot/workflowRecords.js.map +1 -0
- package/build/server/products/chat/state/defaults.d.ts +7 -0
- package/build/server/products/chat/state/defaults.d.ts.map +1 -0
- package/build/server/products/chat/state/defaults.js +106 -0
- package/build/server/products/chat/state/defaults.js.map +1 -0
- package/build/server/products/chat/state/deterministicRouterAdapter.d.ts +38 -0
- package/build/server/products/chat/state/deterministicRouterAdapter.d.ts.map +1 -0
- package/build/server/products/chat/state/deterministicRouterAdapter.js +52 -0
- package/build/server/products/chat/state/deterministicRouterAdapter.js.map +1 -0
- package/build/server/products/chat/state/memoryAdapter.d.ts +4 -0
- package/build/server/products/chat/state/memoryAdapter.d.ts.map +1 -0
- package/build/server/products/chat/state/memoryAdapter.js +25 -0
- package/build/server/products/chat/state/memoryAdapter.js.map +1 -0
- package/build/server/products/chat/state/memoryLayers.d.ts +3 -0
- package/build/server/products/chat/state/memoryLayers.d.ts.map +1 -0
- package/build/server/products/chat/state/memoryLayers.js +153 -0
- package/build/server/products/chat/state/memoryLayers.js.map +1 -0
- package/build/server/products/chat/state/mentionParsing.d.ts +2 -0
- package/build/server/products/chat/state/mentionParsing.d.ts.map +1 -0
- package/build/server/products/chat/state/mentionParsing.js +2 -0
- package/build/server/products/chat/state/mentionParsing.js.map +1 -0
- package/build/server/products/chat/state/mentionRouter.d.ts +56 -0
- package/build/server/products/chat/state/mentionRouter.d.ts.map +1 -0
- package/build/server/products/chat/state/mentionRouter.js +221 -0
- package/build/server/products/chat/state/mentionRouter.js.map +1 -0
- package/build/server/products/chat/state/model/cats.d.ts +20 -0
- package/build/server/products/chat/state/model/cats.d.ts.map +1 -0
- package/build/server/products/chat/state/model/cats.js +347 -0
- package/build/server/products/chat/state/model/cats.js.map +1 -0
- package/build/server/products/chat/state/model/channelExecutionTargets.d.ts +34 -0
- package/build/server/products/chat/state/model/channelExecutionTargets.d.ts.map +1 -0
- package/build/server/products/chat/state/model/channelExecutionTargets.js +215 -0
- package/build/server/products/chat/state/model/channelExecutionTargets.js.map +1 -0
- package/build/server/products/chat/state/model/channelGroups.d.ts +10 -0
- package/build/server/products/chat/state/model/channelGroups.d.ts.map +1 -0
- package/build/server/products/chat/state/model/channelGroups.js +97 -0
- package/build/server/products/chat/state/model/channelGroups.js.map +1 -0
- package/build/server/products/chat/state/model/channelLeases.d.ts +12 -0
- package/build/server/products/chat/state/model/channelLeases.d.ts.map +1 -0
- package/build/server/products/chat/state/model/channelLeases.js +37 -0
- package/build/server/products/chat/state/model/channelLeases.js.map +1 -0
- package/build/server/products/chat/state/model/channelState.d.ts +6 -0
- package/build/server/products/chat/state/model/channelState.d.ts.map +1 -0
- package/build/server/products/chat/state/model/channelState.js +35 -0
- package/build/server/products/chat/state/model/channelState.js.map +1 -0
- package/build/server/products/chat/state/model/index.d.ts +46 -0
- package/build/server/products/chat/state/model/index.d.ts.map +1 -0
- package/build/server/products/chat/state/model/index.js +472 -0
- package/build/server/products/chat/state/model/index.js.map +1 -0
- package/build/server/products/chat/state/model/readModels.d.ts +24 -0
- package/build/server/products/chat/state/model/readModels.d.ts.map +1 -0
- package/build/server/products/chat/state/model/readModels.js +286 -0
- package/build/server/products/chat/state/model/readModels.js.map +1 -0
- package/build/server/products/chat/state/model/recordBuilders.d.ts +24 -0
- package/build/server/products/chat/state/model/recordBuilders.d.ts.map +1 -0
- package/build/server/products/chat/state/model/recordBuilders.js +139 -0
- package/build/server/products/chat/state/model/recordBuilders.js.map +1 -0
- package/build/server/products/chat/state/model/shared.d.ts +16 -0
- package/build/server/products/chat/state/model/shared.d.ts.map +1 -0
- package/build/server/products/chat/state/model/shared.js +96 -0
- package/build/server/products/chat/state/model/shared.js.map +1 -0
- package/build/server/products/chat/state/orchestratorHats.d.ts +14 -0
- package/build/server/products/chat/state/orchestratorHats.d.ts.map +1 -0
- package/build/server/products/chat/state/orchestratorHats.js +48 -0
- package/build/server/products/chat/state/orchestratorHats.js.map +1 -0
- package/build/server/products/chat/state/pendingExecutionTarget.d.ts +22 -0
- package/build/server/products/chat/state/pendingExecutionTarget.d.ts.map +1 -0
- package/build/server/products/chat/state/pendingExecutionTarget.js +35 -0
- package/build/server/products/chat/state/pendingExecutionTarget.js.map +1 -0
- package/build/server/products/chat/state/prompts.d.ts +32 -0
- package/build/server/products/chat/state/prompts.d.ts.map +1 -0
- package/build/server/products/chat/state/prompts.js +518 -0
- package/build/server/products/chat/state/prompts.js.map +1 -0
- package/build/server/products/chat/state/providerAgentDecisionRequester.d.ts +6 -0
- package/build/server/products/chat/state/providerAgentDecisionRequester.d.ts.map +1 -0
- package/build/server/products/chat/state/providerAgentDecisionRequester.js +55 -0
- package/build/server/products/chat/state/providerAgentDecisionRequester.js.map +1 -0
- package/build/server/products/chat/state/providerAgentObservation.d.ts +29 -0
- package/build/server/products/chat/state/providerAgentObservation.d.ts.map +1 -0
- package/build/server/products/chat/state/providerAgentObservation.js +130 -0
- package/build/server/products/chat/state/providerAgentObservation.js.map +1 -0
- package/build/server/products/chat/state/room-routing/continuationContext.d.ts +17 -0
- package/build/server/products/chat/state/room-routing/continuationContext.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/continuationContext.js +73 -0
- package/build/server/products/chat/state/room-routing/continuationContext.js.map +1 -0
- package/build/server/products/chat/state/room-routing/continuationReplay.d.ts +19 -0
- package/build/server/products/chat/state/room-routing/continuationReplay.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/continuationReplay.js +29 -0
- package/build/server/products/chat/state/room-routing/continuationReplay.js.map +1 -0
- package/build/server/products/chat/state/room-routing/index.d.ts +22 -0
- package/build/server/products/chat/state/room-routing/index.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/index.js +247 -0
- package/build/server/products/chat/state/room-routing/index.js.map +1 -0
- package/build/server/products/chat/state/room-routing/recommendations.d.ts +29 -0
- package/build/server/products/chat/state/room-routing/recommendations.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/recommendations.js +264 -0
- package/build/server/products/chat/state/room-routing/recommendations.js.map +1 -0
- package/build/server/products/chat/state/room-routing/runtime.d.ts +56 -0
- package/build/server/products/chat/state/room-routing/runtime.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/runtime.js +78 -0
- package/build/server/products/chat/state/room-routing/runtime.js.map +1 -0
- package/build/server/products/chat/state/room-routing/snapshot.d.ts +3 -0
- package/build/server/products/chat/state/room-routing/snapshot.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/snapshot.js +333 -0
- package/build/server/products/chat/state/room-routing/snapshot.js.map +1 -0
- package/build/server/products/chat/state/room-routing/wake.d.ts +5 -0
- package/build/server/products/chat/state/room-routing/wake.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/wake.js +51 -0
- package/build/server/products/chat/state/room-routing/wake.js.map +1 -0
- package/build/server/products/chat/state/room-routing/workflow.d.ts +32 -0
- package/build/server/products/chat/state/room-routing/workflow.d.ts.map +1 -0
- package/build/server/products/chat/state/room-routing/workflow.js +366 -0
- package/build/server/products/chat/state/room-routing/workflow.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellation.d.ts +20 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellation.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellation.js +25 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellation.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellationSupport.d.ts +12 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellationSupport.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellationSupport.js +76 -0
- package/build/server/products/chat/state/runtime-dispatch/cancellationSupport.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/canonicalInteraction.d.ts +14 -0
- package/build/server/products/chat/state/runtime-dispatch/canonicalInteraction.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/canonicalInteraction.js +134 -0
- package/build/server/products/chat/state/runtime-dispatch/canonicalInteraction.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/context.d.ts +9 -0
- package/build/server/products/chat/state/runtime-dispatch/context.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/context.js +43 -0
- package/build/server/products/chat/state/runtime-dispatch/context.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/deterministicPlan.d.ts +30 -0
- package/build/server/products/chat/state/runtime-dispatch/deterministicPlan.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/deterministicPlan.js +23 -0
- package/build/server/products/chat/state/runtime-dispatch/deterministicPlan.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/execution.d.ts +31 -0
- package/build/server/products/chat/state/runtime-dispatch/execution.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/execution.js +236 -0
- package/build/server/products/chat/state/runtime-dispatch/execution.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/finalize.d.ts +18 -0
- package/build/server/products/chat/state/runtime-dispatch/finalize.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/finalize.js +75 -0
- package/build/server/products/chat/state/runtime-dispatch/finalize.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/loop.d.ts +49 -0
- package/build/server/products/chat/state/runtime-dispatch/loop.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/loop.js +480 -0
- package/build/server/products/chat/state/runtime-dispatch/loop.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/merge.d.ts +21 -0
- package/build/server/products/chat/state/runtime-dispatch/merge.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/merge.js +233 -0
- package/build/server/products/chat/state/runtime-dispatch/merge.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/persistence.d.ts +6 -0
- package/build/server/products/chat/state/runtime-dispatch/persistence.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/persistence.js +11 -0
- package/build/server/products/chat/state/runtime-dispatch/persistence.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/recovery.d.ts +20 -0
- package/build/server/products/chat/state/runtime-dispatch/recovery.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/recovery.js +75 -0
- package/build/server/products/chat/state/runtime-dispatch/recovery.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/repair.d.ts +22 -0
- package/build/server/products/chat/state/runtime-dispatch/repair.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/repair.js +1337 -0
- package/build/server/products/chat/state/runtime-dispatch/repair.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/replay.d.ts +23 -0
- package/build/server/products/chat/state/runtime-dispatch/replay.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/replay.js +464 -0
- package/build/server/products/chat/state/runtime-dispatch/replay.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/results.d.ts +27 -0
- package/build/server/products/chat/state/runtime-dispatch/results.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/results.js +795 -0
- package/build/server/products/chat/state/runtime-dispatch/results.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/routing.d.ts +68 -0
- package/build/server/products/chat/state/runtime-dispatch/routing.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/routing.js +5450 -0
- package/build/server/products/chat/state/runtime-dispatch/routing.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/transportBindingResolution.d.ts +25 -0
- package/build/server/products/chat/state/runtime-dispatch/transportBindingResolution.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/transportBindingResolution.js +41 -0
- package/build/server/products/chat/state/runtime-dispatch/transportBindingResolution.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/turn.d.ts +41 -0
- package/build/server/products/chat/state/runtime-dispatch/turn.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/turn.js +862 -0
- package/build/server/products/chat/state/runtime-dispatch/turn.js.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/wake.d.ts +51 -0
- package/build/server/products/chat/state/runtime-dispatch/wake.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-dispatch/wake.js +275 -0
- package/build/server/products/chat/state/runtime-dispatch/wake.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/activation.d.ts +12 -0
- package/build/server/products/chat/state/runtime-session/activation.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/activation.js +72 -0
- package/build/server/products/chat/state/runtime-session/activation.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/activationSupport.d.ts +21 -0
- package/build/server/products/chat/state/runtime-session/activationSupport.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/activationSupport.js +59 -0
- package/build/server/products/chat/state/runtime-session/activationSupport.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/index.d.ts +5 -0
- package/build/server/products/chat/state/runtime-session/index.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/index.js +5 -0
- package/build/server/products/chat/state/runtime-session/index.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/policy.d.ts +7 -0
- package/build/server/products/chat/state/runtime-session/policy.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/policy.js +14 -0
- package/build/server/products/chat/state/runtime-session/policy.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionContinuity.d.ts +12 -0
- package/build/server/products/chat/state/runtime-session/sessionContinuity.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionContinuity.js +15 -0
- package/build/server/products/chat/state/runtime-session/sessionContinuity.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionLaunch.d.ts +25 -0
- package/build/server/products/chat/state/runtime-session/sessionLaunch.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionLaunch.js +188 -0
- package/build/server/products/chat/state/runtime-session/sessionLaunch.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionPersistence.d.ts +37 -0
- package/build/server/products/chat/state/runtime-session/sessionPersistence.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionPersistence.js +68 -0
- package/build/server/products/chat/state/runtime-session/sessionPersistence.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionResume.d.ts +18 -0
- package/build/server/products/chat/state/runtime-session/sessionResume.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionResume.js +51 -0
- package/build/server/products/chat/state/runtime-session/sessionResume.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionReuse.d.ts +38 -0
- package/build/server/products/chat/state/runtime-session/sessionReuse.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionReuse.js +292 -0
- package/build/server/products/chat/state/runtime-session/sessionReuse.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionStart.d.ts +42 -0
- package/build/server/products/chat/state/runtime-session/sessionStart.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionStart.js +89 -0
- package/build/server/products/chat/state/runtime-session/sessionStart.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionWakePreparation.d.ts +28 -0
- package/build/server/products/chat/state/runtime-session/sessionWakePreparation.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/sessionWakePreparation.js +35 -0
- package/build/server/products/chat/state/runtime-session/sessionWakePreparation.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/shared.d.ts +89 -0
- package/build/server/products/chat/state/runtime-session/shared.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/shared.js +165 -0
- package/build/server/products/chat/state/runtime-session/shared.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/state.d.ts +26 -0
- package/build/server/products/chat/state/runtime-session/state.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/state.js +123 -0
- package/build/server/products/chat/state/runtime-session/state.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/taskExecution.d.ts +14 -0
- package/build/server/products/chat/state/runtime-session/taskExecution.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/taskExecution.js +70 -0
- package/build/server/products/chat/state/runtime-session/taskExecution.js.map +1 -0
- package/build/server/products/chat/state/runtime-session/wake.d.ts +19 -0
- package/build/server/products/chat/state/runtime-session/wake.d.ts.map +1 -0
- package/build/server/products/chat/state/runtime-session/wake.js +68 -0
- package/build/server/products/chat/state/runtime-session/wake.js.map +1 -0
- package/build/server/products/chat/state/runtimeActions.d.ts +4 -0
- package/build/server/products/chat/state/runtimeActions.d.ts.map +1 -0
- package/build/server/products/chat/state/runtimeActions.js +4 -0
- package/build/server/products/chat/state/runtimeActions.js.map +1 -0
- package/build/server/products/chat/state/runtimeMessages.d.ts +5 -0
- package/build/server/products/chat/state/runtimeMessages.d.ts.map +1 -0
- package/build/server/products/chat/state/runtimeMessages.js +7 -0
- package/build/server/products/chat/state/runtimeMessages.js.map +1 -0
- package/build/server/products/chat/state/runtimeTargeting.d.ts +47 -0
- package/build/server/products/chat/state/runtimeTargeting.d.ts.map +1 -0
- package/build/server/products/chat/state/runtimeTargeting.js +616 -0
- package/build/server/products/chat/state/runtimeTargeting.js.map +1 -0
- package/build/server/products/chat/state/session-continuity/index.d.ts +3 -0
- package/build/server/products/chat/state/session-continuity/index.d.ts.map +1 -0
- package/build/server/products/chat/state/session-continuity/index.js +3 -0
- package/build/server/products/chat/state/session-continuity/index.js.map +1 -0
- package/build/server/products/chat/state/session-continuity/operations.d.ts +17 -0
- package/build/server/products/chat/state/session-continuity/operations.d.ts.map +1 -0
- package/build/server/products/chat/state/session-continuity/operations.js +110 -0
- package/build/server/products/chat/state/session-continuity/operations.js.map +1 -0
- package/build/server/products/chat/state/session-continuity/rules.d.ts +18 -0
- package/build/server/products/chat/state/session-continuity/rules.d.ts.map +1 -0
- package/build/server/products/chat/state/session-continuity/rules.js +69 -0
- package/build/server/products/chat/state/session-continuity/rules.js.map +1 -0
- package/build/server/products/chat/state/setupCompletion.d.ts +13 -0
- package/build/server/products/chat/state/setupCompletion.d.ts.map +1 -0
- package/build/server/products/chat/state/setupCompletion.js +22 -0
- package/build/server/products/chat/state/setupCompletion.js.map +1 -0
- package/build/server/products/chat/state/shell.d.ts +32 -0
- package/build/server/products/chat/state/shell.d.ts.map +1 -0
- package/build/server/products/chat/state/shell.js +124 -0
- package/build/server/products/chat/state/shell.js.map +1 -0
- package/build/server/products/chat/state/skillResolution.d.ts +15 -0
- package/build/server/products/chat/state/skillResolution.d.ts.map +1 -0
- package/build/server/products/chat/state/skillResolution.js +27 -0
- package/build/server/products/chat/state/skillResolution.js.map +1 -0
- package/build/server/products/chat/state/store.d.ts +49 -0
- package/build/server/products/chat/state/store.d.ts.map +1 -0
- package/build/server/products/chat/state/store.js +328 -0
- package/build/server/products/chat/state/store.js.map +1 -0
- package/build/server/products/chat/state/taskExecutionLocator.d.ts +4 -0
- package/build/server/products/chat/state/taskExecutionLocator.d.ts.map +1 -0
- package/build/server/products/chat/state/taskExecutionLocator.js +36 -0
- package/build/server/products/chat/state/taskExecutionLocator.js.map +1 -0
- package/build/server/products/chat/state/taskExecutionRequest.d.ts +4 -0
- package/build/server/products/chat/state/taskExecutionRequest.d.ts.map +1 -0
- package/build/server/products/chat/state/taskExecutionRequest.js +8 -0
- package/build/server/products/chat/state/taskExecutionRequest.js.map +1 -0
- package/build/server/products/chat/state/telegramBridgeAdapter.d.ts +24 -0
- package/build/server/products/chat/state/telegramBridgeAdapter.d.ts.map +1 -0
- package/build/server/products/chat/state/telegramBridgeAdapter.js +120 -0
- package/build/server/products/chat/state/telegramBridgeAdapter.js.map +1 -0
- package/build/server/products/chat/state/workIntakeSourceContext.d.ts +12 -0
- package/build/server/products/chat/state/workIntakeSourceContext.d.ts.map +1 -0
- package/build/server/products/chat/state/workIntakeSourceContext.js +14 -0
- package/build/server/products/chat/state/workIntakeSourceContext.js.map +1 -0
- package/build/server/products/chat/state/workToolIntentResolver.d.ts +4 -0
- package/build/server/products/chat/state/workToolIntentResolver.d.ts.map +1 -0
- package/build/server/products/chat/state/workToolIntentResolver.js +132 -0
- package/build/server/products/chat/state/workToolIntentResolver.js.map +1 -0
- package/build/server/products/chat/state/workspace.d.ts +13 -0
- package/build/server/products/chat/state/workspace.d.ts.map +1 -0
- package/build/server/products/chat/state/workspace.js +106 -0
- package/build/server/products/chat/state/workspace.js.map +1 -0
- package/build/server/products/code/api/artifactDeclarationRoutes.d.ts +3 -0
- package/build/server/products/code/api/artifactDeclarationRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/artifactDeclarationRoutes.js +159 -0
- package/build/server/products/code/api/artifactDeclarationRoutes.js.map +1 -0
- package/build/server/products/code/api/contracts.d.ts +15 -0
- package/build/server/products/code/api/contracts.d.ts.map +1 -0
- package/build/server/products/code/api/contracts.js +2 -0
- package/build/server/products/code/api/contracts.js.map +1 -0
- package/build/server/products/code/api/deliveryRoutes.d.ts +3 -0
- package/build/server/products/code/api/deliveryRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/deliveryRoutes.js +150 -0
- package/build/server/products/code/api/deliveryRoutes.js.map +1 -0
- package/build/server/products/code/api/index.d.ts +43 -0
- package/build/server/products/code/api/index.d.ts.map +1 -0
- package/build/server/products/code/api/index.js +268 -0
- package/build/server/products/code/api/index.js.map +1 -0
- package/build/server/products/code/api/livePreviewRoutes.d.ts +3 -0
- package/build/server/products/code/api/livePreviewRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/livePreviewRoutes.js +118 -0
- package/build/server/products/code/api/livePreviewRoutes.js.map +1 -0
- package/build/server/products/code/api/planRoutes.d.ts +3 -0
- package/build/server/products/code/api/planRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/planRoutes.js +115 -0
- package/build/server/products/code/api/planRoutes.js.map +1 -0
- package/build/server/products/code/api/projection.d.ts +271 -0
- package/build/server/products/code/api/projection.d.ts.map +1 -0
- package/build/server/products/code/api/projection.js +796 -0
- package/build/server/products/code/api/projection.js.map +1 -0
- package/build/server/products/code/api/relayRoutes.d.ts +3 -0
- package/build/server/products/code/api/relayRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/relayRoutes.js +564 -0
- package/build/server/products/code/api/relayRoutes.js.map +1 -0
- package/build/server/products/code/api/runtimeBridgeRoutes.d.ts +3 -0
- package/build/server/products/code/api/runtimeBridgeRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/runtimeBridgeRoutes.js +32 -0
- package/build/server/products/code/api/runtimeBridgeRoutes.js.map +1 -0
- package/build/server/products/code/api/taskRoutes.d.ts +3 -0
- package/build/server/products/code/api/taskRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/taskRoutes.js +149 -0
- package/build/server/products/code/api/taskRoutes.js.map +1 -0
- package/build/server/products/code/api/workspaceRoutes.d.ts +3 -0
- package/build/server/products/code/api/workspaceRoutes.d.ts.map +1 -0
- package/build/server/products/code/api/workspaceRoutes.js +31 -0
- package/build/server/products/code/api/workspaceRoutes.js.map +1 -0
- package/build/server/products/code/livePreview/artifactMaterialization.d.ts +66 -0
- package/build/server/products/code/livePreview/artifactMaterialization.d.ts.map +1 -0
- package/build/server/products/code/livePreview/artifactMaterialization.js +354 -0
- package/build/server/products/code/livePreview/artifactMaterialization.js.map +1 -0
- package/build/server/products/code/livePreview/contracts.d.ts +140 -0
- package/build/server/products/code/livePreview/contracts.d.ts.map +1 -0
- package/build/server/products/code/livePreview/contracts.js +73 -0
- package/build/server/products/code/livePreview/contracts.js.map +1 -0
- package/build/server/products/code/livePreview/leaseStore.d.ts +17 -0
- package/build/server/products/code/livePreview/leaseStore.d.ts.map +1 -0
- package/build/server/products/code/livePreview/leaseStore.js +37 -0
- package/build/server/products/code/livePreview/leaseStore.js.map +1 -0
- package/build/server/products/code/livePreview/processAdapter.d.ts +33 -0
- package/build/server/products/code/livePreview/processAdapter.d.ts.map +1 -0
- package/build/server/products/code/livePreview/processAdapter.js +5 -0
- package/build/server/products/code/livePreview/processAdapter.js.map +1 -0
- package/build/server/products/code/livePreview/processAdapterFactory.d.ts +25 -0
- package/build/server/products/code/livePreview/processAdapterFactory.d.ts.map +1 -0
- package/build/server/products/code/livePreview/processAdapterFactory.js +37 -0
- package/build/server/products/code/livePreview/processAdapterFactory.js.map +1 -0
- package/build/server/products/code/livePreview/profileValidation.d.ts +5 -0
- package/build/server/products/code/livePreview/profileValidation.d.ts.map +1 -0
- package/build/server/products/code/livePreview/profileValidation.js +298 -0
- package/build/server/products/code/livePreview/profileValidation.js.map +1 -0
- package/build/server/products/code/livePreview/projection.d.ts +44 -0
- package/build/server/products/code/livePreview/projection.d.ts.map +1 -0
- package/build/server/products/code/livePreview/projection.js +136 -0
- package/build/server/products/code/livePreview/projection.js.map +1 -0
- package/build/server/products/code/livePreview/realProcessAdapter.d.ts +41 -0
- package/build/server/products/code/livePreview/realProcessAdapter.d.ts.map +1 -0
- package/build/server/products/code/livePreview/realProcessAdapter.js +220 -0
- package/build/server/products/code/livePreview/realProcessAdapter.js.map +1 -0
- package/build/server/products/code/livePreview/supervisor.d.ts +36 -0
- package/build/server/products/code/livePreview/supervisor.d.ts.map +1 -0
- package/build/server/products/code/livePreview/supervisor.js +273 -0
- package/build/server/products/code/livePreview/supervisor.js.map +1 -0
- package/build/server/products/code/renderer/api/appShell.d.ts +5 -0
- package/build/server/products/code/renderer/api/appShell.d.ts.map +1 -0
- package/build/server/products/code/renderer/api/appShell.js +6 -0
- package/build/server/products/code/renderer/api/appShell.js.map +1 -0
- package/build/server/products/code/settings-cats/telegramDiagnostics.d.ts +2 -0
- package/build/server/products/code/settings-cats/telegramDiagnostics.d.ts.map +1 -0
- package/build/server/products/code/settings-cats/telegramDiagnostics.js +2 -0
- package/build/server/products/code/settings-cats/telegramDiagnostics.js.map +1 -0
- package/build/server/products/code/shared/apiPaths.d.ts +56 -0
- package/build/server/products/code/shared/apiPaths.d.ts.map +1 -0
- package/build/server/products/code/shared/apiPaths.js +94 -0
- package/build/server/products/code/shared/apiPaths.js.map +1 -0
- package/build/server/products/code/shared/appExport.d.ts +40 -0
- package/build/server/products/code/shared/appExport.d.ts.map +1 -0
- package/build/server/products/code/shared/appExport.js +89 -0
- package/build/server/products/code/shared/appExport.js.map +1 -0
- package/build/server/products/code/shared/artifactDeclaration.d.ts +190 -0
- package/build/server/products/code/shared/artifactDeclaration.d.ts.map +1 -0
- package/build/server/products/code/shared/artifactDeclaration.js +599 -0
- package/build/server/products/code/shared/artifactDeclaration.js.map +1 -0
- package/build/server/products/code/shared/builderExecution.d.ts +3 -0
- package/build/server/products/code/shared/builderExecution.d.ts.map +1 -0
- package/build/server/products/code/shared/builderExecution.js +12 -0
- package/build/server/products/code/shared/builderExecution.js.map +1 -0
- package/build/server/products/code/shared/channelEntry.d.ts +2 -0
- package/build/server/products/code/shared/channelEntry.d.ts.map +1 -0
- package/build/server/products/code/shared/channelEntry.js +2 -0
- package/build/server/products/code/shared/channelEntry.js.map +1 -0
- package/build/server/products/code/shared/channelPaths.d.ts +17 -0
- package/build/server/products/code/shared/channelPaths.d.ts.map +1 -0
- package/build/server/products/code/shared/channelPaths.js +40 -0
- package/build/server/products/code/shared/channelPaths.js.map +1 -0
- package/build/server/products/code/shared/channelTopology.d.ts +2 -0
- package/build/server/products/code/shared/channelTopology.d.ts.map +1 -0
- package/build/server/products/code/shared/channelTopology.js +2 -0
- package/build/server/products/code/shared/channelTopology.js.map +1 -0
- package/build/server/products/code/shared/lifecycle.d.ts +2 -0
- package/build/server/products/code/shared/lifecycle.d.ts.map +1 -0
- package/build/server/products/code/shared/lifecycle.js +2 -0
- package/build/server/products/code/shared/lifecycle.js.map +1 -0
- package/build/server/products/code/shared/messageChoices.d.ts +2 -0
- package/build/server/products/code/shared/messageChoices.d.ts.map +1 -0
- package/build/server/products/code/shared/messageChoices.js +2 -0
- package/build/server/products/code/shared/messageChoices.js.map +1 -0
- package/build/server/products/code/shared/operator-loop/actions.d.ts +2 -0
- package/build/server/products/code/shared/operator-loop/actions.d.ts.map +1 -0
- package/build/server/products/code/shared/operator-loop/actions.js +2 -0
- package/build/server/products/code/shared/operator-loop/actions.js.map +1 -0
- package/build/server/products/code/shared/operator-loop/index.d.ts +2 -0
- package/build/server/products/code/shared/operator-loop/index.d.ts.map +1 -0
- package/build/server/products/code/shared/operator-loop/index.js +2 -0
- package/build/server/products/code/shared/operator-loop/index.js.map +1 -0
- package/build/server/products/code/shared/operator-loop/metadata.d.ts +2 -0
- package/build/server/products/code/shared/operator-loop/metadata.d.ts.map +1 -0
- package/build/server/products/code/shared/operator-loop/metadata.js +2 -0
- package/build/server/products/code/shared/operator-loop/metadata.js.map +1 -0
- package/build/server/products/code/shared/operator-loop/types.d.ts +2 -0
- package/build/server/products/code/shared/operator-loop/types.d.ts.map +1 -0
- package/build/server/products/code/shared/operator-loop/types.js +2 -0
- package/build/server/products/code/shared/operator-loop/types.js.map +1 -0
- package/build/server/products/code/shared/productMetadata.d.ts +15 -0
- package/build/server/products/code/shared/productMetadata.d.ts.map +1 -0
- package/build/server/products/code/shared/productMetadata.js +22 -0
- package/build/server/products/code/shared/productMetadata.js.map +1 -0
- package/build/server/products/code/shared/relayAvailabilitySummary.d.ts +17 -0
- package/build/server/products/code/shared/relayAvailabilitySummary.d.ts.map +1 -0
- package/build/server/products/code/shared/relayAvailabilitySummary.js +2 -0
- package/build/server/products/code/shared/relayAvailabilitySummary.js.map +1 -0
- package/build/server/products/code/shared/taskDetailSummary.d.ts +24 -0
- package/build/server/products/code/shared/taskDetailSummary.d.ts.map +1 -0
- package/build/server/products/code/shared/taskDetailSummary.js +75 -0
- package/build/server/products/code/shared/taskDetailSummary.js.map +1 -0
- package/build/server/products/code/shared/workspaceSummary.d.ts +21 -0
- package/build/server/products/code/shared/workspaceSummary.d.ts.map +1 -0
- package/build/server/products/code/shared/workspaceSummary.js +66 -0
- package/build/server/products/code/shared/workspaceSummary.js.map +1 -0
- package/build/server/products/code/state/appExport.d.ts +30 -0
- package/build/server/products/code/state/appExport.d.ts.map +1 -0
- package/build/server/products/code/state/appExport.js +103 -0
- package/build/server/products/code/state/appExport.js.map +1 -0
- package/build/server/products/code/state/artifactMaterialization.d.ts +14 -0
- package/build/server/products/code/state/artifactMaterialization.d.ts.map +1 -0
- package/build/server/products/code/state/artifactMaterialization.js +584 -0
- package/build/server/products/code/state/artifactMaterialization.js.map +1 -0
- package/build/server/products/code/state/deliveryProxy.d.ts +47 -0
- package/build/server/products/code/state/deliveryProxy.d.ts.map +1 -0
- package/build/server/products/code/state/deliveryProxy.js +88 -0
- package/build/server/products/code/state/deliveryProxy.js.map +1 -0
- package/build/server/products/code/state/mentionParsing.d.ts +2 -0
- package/build/server/products/code/state/mentionParsing.d.ts.map +1 -0
- package/build/server/products/code/state/mentionParsing.js +2 -0
- package/build/server/products/code/state/mentionParsing.js.map +1 -0
- package/build/server/products/code/state/planSteps.d.ts +34 -0
- package/build/server/products/code/state/planSteps.d.ts.map +1 -0
- package/build/server/products/code/state/planSteps.js +148 -0
- package/build/server/products/code/state/planSteps.js.map +1 -0
- package/build/server/products/code/state/relayContracts.d.ts +85 -0
- package/build/server/products/code/state/relayContracts.d.ts.map +1 -0
- package/build/server/products/code/state/relayContracts.js +2 -0
- package/build/server/products/code/state/relayContracts.js.map +1 -0
- package/build/server/products/code/state/relayState.d.ts +55 -0
- package/build/server/products/code/state/relayState.d.ts.map +1 -0
- package/build/server/products/code/state/relayState.js +549 -0
- package/build/server/products/code/state/relayState.js.map +1 -0
- package/build/server/products/code/state/runtimeArtifactExecution.d.ts +62 -0
- package/build/server/products/code/state/runtimeArtifactExecution.d.ts.map +1 -0
- package/build/server/products/code/state/runtimeArtifactExecution.js +667 -0
- package/build/server/products/code/state/runtimeArtifactExecution.js.map +1 -0
- package/build/server/products/code/state/runtimeArtifactTooling.d.ts +69 -0
- package/build/server/products/code/state/runtimeArtifactTooling.d.ts.map +1 -0
- package/build/server/products/code/state/runtimeArtifactTooling.js +297 -0
- package/build/server/products/code/state/runtimeArtifactTooling.js.map +1 -0
- package/build/server/products/code/state/sessionFinalization.d.ts +42 -0
- package/build/server/products/code/state/sessionFinalization.d.ts.map +1 -0
- package/build/server/products/code/state/sessionFinalization.js +155 -0
- package/build/server/products/code/state/sessionFinalization.js.map +1 -0
- package/build/server/products/code/state/taskExecution.d.ts +49 -0
- package/build/server/products/code/state/taskExecution.d.ts.map +1 -0
- package/build/server/products/code/state/taskExecution.js +225 -0
- package/build/server/products/code/state/taskExecution.js.map +1 -0
- package/build/server/products/code/state/taskExecutionRequest.d.ts +4 -0
- package/build/server/products/code/state/taskExecutionRequest.d.ts.map +1 -0
- package/build/server/products/code/state/taskExecutionRequest.js +8 -0
- package/build/server/products/code/state/taskExecutionRequest.js.map +1 -0
- package/build/server/products/code/state/workspaceResolution.d.ts +16 -0
- package/build/server/products/code/state/workspaceResolution.d.ts.map +1 -0
- package/build/server/products/code/state/workspaceResolution.js +67 -0
- package/build/server/products/code/state/workspaceResolution.js.map +1 -0
- package/build/server/products/shared/advancedDraftControls.d.ts +13 -0
- package/build/server/products/shared/advancedDraftControls.d.ts.map +1 -0
- package/build/server/products/shared/advancedDraftControls.js +49 -0
- package/build/server/products/shared/advancedDraftControls.js.map +1 -0
- package/build/server/products/shared/api/workspaceContracts.d.ts +649 -0
- package/build/server/products/shared/api/workspaceContracts.d.ts.map +1 -0
- package/build/server/products/shared/api/workspaceContracts.js +2 -0
- package/build/server/products/shared/api/workspaceContracts.js.map +1 -0
- package/build/server/products/shared/artifactCanvas/activity.d.ts +26 -0
- package/build/server/products/shared/artifactCanvas/activity.d.ts.map +1 -0
- package/build/server/products/shared/artifactCanvas/activity.js +123 -0
- package/build/server/products/shared/artifactCanvas/activity.js.map +1 -0
- package/build/server/products/shared/artifactCanvas/api.d.ts +13 -0
- package/build/server/products/shared/artifactCanvas/api.d.ts.map +1 -0
- package/build/server/products/shared/artifactCanvas/api.js +104 -0
- package/build/server/products/shared/artifactCanvas/api.js.map +1 -0
- package/build/server/products/shared/artifactCanvas/contracts.d.ts +244 -0
- package/build/server/products/shared/artifactCanvas/contracts.d.ts.map +1 -0
- package/build/server/products/shared/artifactCanvas/contracts.js +321 -0
- package/build/server/products/shared/artifactCanvas/contracts.js.map +1 -0
- package/build/server/products/shared/artifactCanvas/iframePolicy.d.ts +81 -0
- package/build/server/products/shared/artifactCanvas/iframePolicy.d.ts.map +1 -0
- package/build/server/products/shared/artifactCanvas/iframePolicy.js +352 -0
- package/build/server/products/shared/artifactCanvas/iframePolicy.js.map +1 -0
- package/build/server/products/shared/artifactCanvas/projection.d.ts +30 -0
- package/build/server/products/shared/artifactCanvas/projection.d.ts.map +1 -0
- package/build/server/products/shared/artifactCanvas/projection.js +296 -0
- package/build/server/products/shared/artifactCanvas/projection.js.map +1 -0
- package/build/server/products/shared/artifactCanvas/renderIntent.d.ts +50 -0
- package/build/server/products/shared/artifactCanvas/renderIntent.d.ts.map +1 -0
- package/build/server/products/shared/artifactCanvas/renderIntent.js +164 -0
- package/build/server/products/shared/artifactCanvas/renderIntent.js.map +1 -0
- package/build/server/products/shared/channelEntry.d.ts +16 -0
- package/build/server/products/shared/channelEntry.d.ts.map +1 -0
- package/build/server/products/shared/channelEntry.js +38 -0
- package/build/server/products/shared/channelEntry.js.map +1 -0
- package/build/server/products/shared/channelParticipants.d.ts +2 -0
- package/build/server/products/shared/channelParticipants.d.ts.map +1 -0
- package/build/server/products/shared/channelParticipants.js +2 -0
- package/build/server/products/shared/channelParticipants.js.map +1 -0
- package/build/server/products/shared/channelPaths.d.ts +36 -0
- package/build/server/products/shared/channelPaths.d.ts.map +1 -0
- package/build/server/products/shared/channelPaths.js +120 -0
- package/build/server/products/shared/channelPaths.js.map +1 -0
- package/build/server/products/shared/channelTopology.d.ts +2 -0
- package/build/server/products/shared/channelTopology.d.ts.map +1 -0
- package/build/server/products/shared/channelTopology.js +2 -0
- package/build/server/products/shared/channelTopology.js.map +1 -0
- package/build/server/products/shared/conversationBehavior.d.ts +25 -0
- package/build/server/products/shared/conversationBehavior.d.ts.map +1 -0
- package/build/server/products/shared/conversationBehavior.js +84 -0
- package/build/server/products/shared/conversationBehavior.js.map +1 -0
- package/build/server/products/shared/folderBrowsePreferences.d.ts +30 -0
- package/build/server/products/shared/folderBrowsePreferences.d.ts.map +1 -0
- package/build/server/products/shared/folderBrowsePreferences.js +99 -0
- package/build/server/products/shared/folderBrowsePreferences.js.map +1 -0
- package/build/server/products/shared/lifecycle.d.ts +9 -0
- package/build/server/products/shared/lifecycle.d.ts.map +1 -0
- package/build/server/products/shared/lifecycle.js +42 -0
- package/build/server/products/shared/lifecycle.js.map +1 -0
- package/build/server/products/shared/messageChoices.d.ts +9 -0
- package/build/server/products/shared/messageChoices.d.ts.map +1 -0
- package/build/server/products/shared/messageChoices.js +172 -0
- package/build/server/products/shared/messageChoices.js.map +1 -0
- package/build/server/products/shared/operator-loop/actions.d.ts +7 -0
- package/build/server/products/shared/operator-loop/actions.d.ts.map +1 -0
- package/build/server/products/shared/operator-loop/actions.js +166 -0
- package/build/server/products/shared/operator-loop/actions.js.map +1 -0
- package/build/server/products/shared/operator-loop/index.d.ts +6 -0
- package/build/server/products/shared/operator-loop/index.d.ts.map +1 -0
- package/build/server/products/shared/operator-loop/index.js +142 -0
- package/build/server/products/shared/operator-loop/index.js.map +1 -0
- package/build/server/products/shared/operator-loop/metadata.d.ts +27 -0
- package/build/server/products/shared/operator-loop/metadata.d.ts.map +1 -0
- package/build/server/products/shared/operator-loop/metadata.js +322 -0
- package/build/server/products/shared/operator-loop/metadata.js.map +1 -0
- package/build/server/products/shared/operator-loop/types.d.ts +128 -0
- package/build/server/products/shared/operator-loop/types.d.ts.map +1 -0
- package/build/server/products/shared/operator-loop/types.js +2 -0
- package/build/server/products/shared/operator-loop/types.js.map +1 -0
- package/build/server/products/shared/recentsFilter.d.ts +35 -0
- package/build/server/products/shared/recentsFilter.d.ts.map +1 -0
- package/build/server/products/shared/recentsFilter.js +32 -0
- package/build/server/products/shared/recentsFilter.js.map +1 -0
- package/build/server/products/shared/renderer/api/appShell.d.ts +32 -0
- package/build/server/products/shared/renderer/api/appShell.d.ts.map +1 -0
- package/build/server/products/shared/renderer/api/appShell.js +132 -0
- package/build/server/products/shared/renderer/api/appShell.js.map +1 -0
- package/build/server/products/shared/renderer/api/http.d.ts +3 -0
- package/build/server/products/shared/renderer/api/http.d.ts.map +1 -0
- package/build/server/products/shared/renderer/api/http.js +22 -0
- package/build/server/products/shared/renderer/api/http.js.map +1 -0
- package/build/server/products/shared/renderer/api/normalization.d.ts +3 -0
- package/build/server/products/shared/renderer/api/normalization.d.ts.map +1 -0
- package/build/server/products/shared/renderer/api/normalization.js +296 -0
- package/build/server/products/shared/renderer/api/normalization.js.map +1 -0
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts +19 -0
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts.map +1 -0
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js +53 -0
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js.map +1 -0
- package/build/server/products/shared/renderer/api/providers.d.ts +17 -0
- package/build/server/products/shared/renderer/api/providers.d.ts.map +1 -0
- package/build/server/products/shared/renderer/api/providers.js +50 -0
- package/build/server/products/shared/renderer/api/providers.js.map +1 -0
- package/build/server/products/shared/renderer/components/messageBodySegmenter.d.ts +31 -0
- package/build/server/products/shared/renderer/components/messageBodySegmenter.d.ts.map +1 -0
- package/build/server/products/shared/renderer/components/messageBodySegmenter.js +144 -0
- package/build/server/products/shared/renderer/components/messageBodySegmenter.js.map +1 -0
- package/build/server/products/shared/renderer/hooks/workspaceNavigationErrorLabels.d.ts +6 -0
- package/build/server/products/shared/renderer/hooks/workspaceNavigationErrorLabels.d.ts.map +1 -0
- package/build/server/products/shared/renderer/hooks/workspaceNavigationErrorLabels.js +39 -0
- package/build/server/products/shared/renderer/hooks/workspaceNavigationErrorLabels.js.map +1 -0
- package/build/server/products/shared/settings-cats/telegramDiagnostics.d.ts +2 -0
- package/build/server/products/shared/settings-cats/telegramDiagnostics.d.ts.map +1 -0
- package/build/server/products/shared/settings-cats/telegramDiagnostics.js +2 -0
- package/build/server/products/shared/settings-cats/telegramDiagnostics.js.map +1 -0
- package/build/server/products/work/api/contracts.d.ts +2 -0
- package/build/server/products/work/api/contracts.d.ts.map +1 -0
- package/build/server/products/work/api/contracts.js +2 -0
- package/build/server/products/work/api/contracts.js.map +1 -0
- package/build/server/products/work/api/externalBindingRoutes.d.ts +4 -0
- package/build/server/products/work/api/externalBindingRoutes.d.ts.map +1 -0
- package/build/server/products/work/api/externalBindingRoutes.js +62 -0
- package/build/server/products/work/api/externalBindingRoutes.js.map +1 -0
- package/build/server/products/work/api/externalIssueImportRoutes.d.ts +4 -0
- package/build/server/products/work/api/externalIssueImportRoutes.d.ts.map +1 -0
- package/build/server/products/work/api/externalIssueImportRoutes.js +127 -0
- package/build/server/products/work/api/externalIssueImportRoutes.js.map +1 -0
- package/build/server/products/work/api/index.d.ts +40 -0
- package/build/server/products/work/api/index.d.ts.map +1 -0
- package/build/server/products/work/api/index.js +1029 -0
- package/build/server/products/work/api/index.js.map +1 -0
- package/build/server/products/work/api/linksRoutes.d.ts +6 -0
- package/build/server/products/work/api/linksRoutes.d.ts.map +1 -0
- package/build/server/products/work/api/linksRoutes.js +181 -0
- package/build/server/products/work/api/linksRoutes.js.map +1 -0
- package/build/server/products/work/api/productCrudRoutes.d.ts +6 -0
- package/build/server/products/work/api/productCrudRoutes.d.ts.map +1 -0
- package/build/server/products/work/api/productCrudRoutes.js +461 -0
- package/build/server/products/work/api/productCrudRoutes.js.map +1 -0
- package/build/server/products/work/api/projection.d.ts +430 -0
- package/build/server/products/work/api/projection.d.ts.map +1 -0
- package/build/server/products/work/api/projection.js +959 -0
- package/build/server/products/work/api/projection.js.map +1 -0
- package/build/server/products/work/api/projectionSupport.d.ts +23 -0
- package/build/server/products/work/api/projectionSupport.d.ts.map +1 -0
- package/build/server/products/work/api/projectionSupport.js +129 -0
- package/build/server/products/work/api/projectionSupport.js.map +1 -0
- package/build/server/products/work/api/runCancellationRoutes.d.ts +14 -0
- package/build/server/products/work/api/runCancellationRoutes.d.ts.map +1 -0
- package/build/server/products/work/api/runCancellationRoutes.js +122 -0
- package/build/server/products/work/api/runCancellationRoutes.js.map +1 -0
- package/build/server/products/work/api/scheduleRoutes.d.ts +3 -0
- package/build/server/products/work/api/scheduleRoutes.d.ts.map +1 -0
- package/build/server/products/work/api/scheduleRoutes.js +170 -0
- package/build/server/products/work/api/scheduleRoutes.js.map +1 -0
- package/build/server/products/work/api/workGraphProjection.d.ts +14 -0
- package/build/server/products/work/api/workGraphProjection.d.ts.map +1 -0
- package/build/server/products/work/api/workGraphProjection.js +517 -0
- package/build/server/products/work/api/workGraphProjection.js.map +1 -0
- package/build/server/products/work/integrations/bugzillaBugsAdapter.d.ts +30 -0
- package/build/server/products/work/integrations/bugzillaBugsAdapter.d.ts.map +1 -0
- package/build/server/products/work/integrations/bugzillaBugsAdapter.js +141 -0
- package/build/server/products/work/integrations/bugzillaBugsAdapter.js.map +1 -0
- package/build/server/products/work/integrations/externalIssueImport.d.ts +49 -0
- package/build/server/products/work/integrations/externalIssueImport.d.ts.map +1 -0
- package/build/server/products/work/integrations/externalIssueImport.js +31 -0
- package/build/server/products/work/integrations/externalIssueImport.js.map +1 -0
- package/build/server/products/work/integrations/externalIssueImportFetcher.d.ts +22 -0
- package/build/server/products/work/integrations/externalIssueImportFetcher.d.ts.map +1 -0
- package/build/server/products/work/integrations/externalIssueImportFetcher.js +48 -0
- package/build/server/products/work/integrations/externalIssueImportFetcher.js.map +1 -0
- package/build/server/products/work/integrations/externalIssueImportSources.d.ts +27 -0
- package/build/server/products/work/integrations/externalIssueImportSources.d.ts.map +1 -0
- package/build/server/products/work/integrations/externalIssueImportSources.js +115 -0
- package/build/server/products/work/integrations/externalIssueImportSources.js.map +1 -0
- package/build/server/products/work/integrations/githubIssuesAdapter.d.ts +92 -0
- package/build/server/products/work/integrations/githubIssuesAdapter.d.ts.map +1 -0
- package/build/server/products/work/integrations/githubIssuesAdapter.js +265 -0
- package/build/server/products/work/integrations/githubIssuesAdapter.js.map +1 -0
- package/build/server/products/work/integrations/redmineIssuesAdapter.d.ts +30 -0
- package/build/server/products/work/integrations/redmineIssuesAdapter.d.ts.map +1 -0
- package/build/server/products/work/integrations/redmineIssuesAdapter.js +147 -0
- package/build/server/products/work/integrations/redmineIssuesAdapter.js.map +1 -0
- package/build/server/products/work/renderer/api/appShell.d.ts +5 -0
- package/build/server/products/work/renderer/api/appShell.d.ts.map +1 -0
- package/build/server/products/work/renderer/api/appShell.js +6 -0
- package/build/server/products/work/renderer/api/appShell.js.map +1 -0
- package/build/server/products/work/settings-cats/telegramDiagnostics.d.ts +2 -0
- package/build/server/products/work/settings-cats/telegramDiagnostics.d.ts.map +1 -0
- package/build/server/products/work/settings-cats/telegramDiagnostics.js +2 -0
- package/build/server/products/work/settings-cats/telegramDiagnostics.js.map +1 -0
- package/build/server/products/work/shared/apiPaths.d.ts +50 -0
- package/build/server/products/work/shared/apiPaths.d.ts.map +1 -0
- package/build/server/products/work/shared/apiPaths.js +84 -0
- package/build/server/products/work/shared/apiPaths.js.map +1 -0
- package/build/server/products/work/shared/channelEntry.d.ts +2 -0
- package/build/server/products/work/shared/channelEntry.d.ts.map +1 -0
- package/build/server/products/work/shared/channelEntry.js +2 -0
- package/build/server/products/work/shared/channelEntry.js.map +1 -0
- package/build/server/products/work/shared/channelPaths.d.ts +17 -0
- package/build/server/products/work/shared/channelPaths.d.ts.map +1 -0
- package/build/server/products/work/shared/channelPaths.js +40 -0
- package/build/server/products/work/shared/channelPaths.js.map +1 -0
- package/build/server/products/work/shared/channelTopology.d.ts +2 -0
- package/build/server/products/work/shared/channelTopology.d.ts.map +1 -0
- package/build/server/products/work/shared/channelTopology.js +2 -0
- package/build/server/products/work/shared/channelTopology.js.map +1 -0
- package/build/server/products/work/shared/externalTrackerUrls.d.ts +8 -0
- package/build/server/products/work/shared/externalTrackerUrls.d.ts.map +1 -0
- package/build/server/products/work/shared/externalTrackerUrls.js +110 -0
- package/build/server/products/work/shared/externalTrackerUrls.js.map +1 -0
- package/build/server/products/work/shared/externalWorkBinding.d.ts +51 -0
- package/build/server/products/work/shared/externalWorkBinding.d.ts.map +1 -0
- package/build/server/products/work/shared/externalWorkBinding.js +183 -0
- package/build/server/products/work/shared/externalWorkBinding.js.map +1 -0
- package/build/server/products/work/shared/lifecycle.d.ts +2 -0
- package/build/server/products/work/shared/lifecycle.d.ts.map +1 -0
- package/build/server/products/work/shared/lifecycle.js +2 -0
- package/build/server/products/work/shared/lifecycle.js.map +1 -0
- package/build/server/products/work/shared/messageChoices.d.ts +2 -0
- package/build/server/products/work/shared/messageChoices.d.ts.map +1 -0
- package/build/server/products/work/shared/messageChoices.js +2 -0
- package/build/server/products/work/shared/messageChoices.js.map +1 -0
- package/build/server/products/work/shared/operator-loop/actions.d.ts +2 -0
- package/build/server/products/work/shared/operator-loop/actions.d.ts.map +1 -0
- package/build/server/products/work/shared/operator-loop/actions.js +2 -0
- package/build/server/products/work/shared/operator-loop/actions.js.map +1 -0
- package/build/server/products/work/shared/operator-loop/index.d.ts +2 -0
- package/build/server/products/work/shared/operator-loop/index.d.ts.map +1 -0
- package/build/server/products/work/shared/operator-loop/index.js +2 -0
- package/build/server/products/work/shared/operator-loop/index.js.map +1 -0
- package/build/server/products/work/shared/operator-loop/metadata.d.ts +2 -0
- package/build/server/products/work/shared/operator-loop/metadata.d.ts.map +1 -0
- package/build/server/products/work/shared/operator-loop/metadata.js +2 -0
- package/build/server/products/work/shared/operator-loop/metadata.js.map +1 -0
- package/build/server/products/work/shared/operator-loop/types.d.ts +2 -0
- package/build/server/products/work/shared/operator-loop/types.d.ts.map +1 -0
- package/build/server/products/work/shared/operator-loop/types.js +2 -0
- package/build/server/products/work/shared/operator-loop/types.js.map +1 -0
- package/build/server/products/work/shared/productMetadata.d.ts +15 -0
- package/build/server/products/work/shared/productMetadata.d.ts.map +1 -0
- package/build/server/products/work/shared/productMetadata.js +22 -0
- package/build/server/products/work/shared/productMetadata.js.map +1 -0
- package/build/server/products/work/shared/workExecutionPreparationPhase.d.ts +30 -0
- package/build/server/products/work/shared/workExecutionPreparationPhase.d.ts.map +1 -0
- package/build/server/products/work/shared/workExecutionPreparationPhase.js +149 -0
- package/build/server/products/work/shared/workExecutionPreparationPhase.js.map +1 -0
- package/build/server/products/work/shared/workExternalBindingPhase.d.ts +29 -0
- package/build/server/products/work/shared/workExternalBindingPhase.d.ts.map +1 -0
- package/build/server/products/work/shared/workExternalBindingPhase.js +101 -0
- package/build/server/products/work/shared/workExternalBindingPhase.js.map +1 -0
- package/build/server/products/work/shared/workExternalIssueImportPhase.d.ts +27 -0
- package/build/server/products/work/shared/workExternalIssueImportPhase.d.ts.map +1 -0
- package/build/server/products/work/shared/workExternalIssueImportPhase.js +79 -0
- package/build/server/products/work/shared/workExternalIssueImportPhase.js.map +1 -0
- package/build/server/products/work/shared/workGraphProjection.d.ts +23 -0
- package/build/server/products/work/shared/workGraphProjection.d.ts.map +1 -0
- package/build/server/products/work/shared/workGraphProjection.js +189 -0
- package/build/server/products/work/shared/workGraphProjection.js.map +1 -0
- package/build/server/products/work/shared/workGraphTypes.d.ts +302 -0
- package/build/server/products/work/shared/workGraphTypes.d.ts.map +1 -0
- package/build/server/products/work/shared/workGraphTypes.js +2 -0
- package/build/server/products/work/shared/workGraphTypes.js.map +1 -0
- package/build/server/products/work/shared/workIntakeSourceContext.d.ts +23 -0
- package/build/server/products/work/shared/workIntakeSourceContext.d.ts.map +1 -0
- package/build/server/products/work/shared/workIntakeSourceContext.js +41 -0
- package/build/server/products/work/shared/workIntakeSourceContext.js.map +1 -0
- package/build/server/products/work/shared/workToolIntent.d.ts +21 -0
- package/build/server/products/work/shared/workToolIntent.d.ts.map +1 -0
- package/build/server/products/work/shared/workToolIntent.js +46 -0
- package/build/server/products/work/shared/workToolIntent.js.map +1 -0
- package/build/server/products/work/shared/workToolObservation.d.ts +16 -0
- package/build/server/products/work/shared/workToolObservation.d.ts.map +1 -0
- package/build/server/products/work/shared/workToolObservation.js +132 -0
- package/build/server/products/work/shared/workToolObservation.js.map +1 -0
- package/build/server/products/work/shared/workToolSurface.d.ts +252 -0
- package/build/server/products/work/shared/workToolSurface.d.ts.map +1 -0
- package/build/server/products/work/shared/workToolSurface.js +771 -0
- package/build/server/products/work/shared/workToolSurface.js.map +1 -0
- package/build/server/products/work/state/mentionParsing.d.ts +2 -0
- package/build/server/products/work/state/mentionParsing.d.ts.map +1 -0
- package/build/server/products/work/state/mentionParsing.js +2 -0
- package/build/server/products/work/state/mentionParsing.js.map +1 -0
- package/build/server/products/work/state/taskExecutionRequest.d.ts +4 -0
- package/build/server/products/work/state/taskExecutionRequest.d.ts.map +1 -0
- package/build/server/products/work/state/taskExecutionRequest.js +8 -0
- package/build/server/products/work/state/taskExecutionRequest.js.map +1 -0
- package/build/server/products/work/state/workExecutionPreparationDelegate.d.ts +18 -0
- package/build/server/products/work/state/workExecutionPreparationDelegate.d.ts.map +1 -0
- package/build/server/products/work/state/workExecutionPreparationDelegate.js +153 -0
- package/build/server/products/work/state/workExecutionPreparationDelegate.js.map +1 -0
- package/build/server/products/work/state/workExecutionTaskDelegate.d.ts +23 -0
- package/build/server/products/work/state/workExecutionTaskDelegate.d.ts.map +1 -0
- package/build/server/products/work/state/workExecutionTaskDelegate.js +277 -0
- package/build/server/products/work/state/workExecutionTaskDelegate.js.map +1 -0
- package/build/server/products/work/state/workExternalBindingDelegate.d.ts +26 -0
- package/build/server/products/work/state/workExternalBindingDelegate.d.ts.map +1 -0
- package/build/server/products/work/state/workExternalBindingDelegate.js +307 -0
- package/build/server/products/work/state/workExternalBindingDelegate.js.map +1 -0
- package/build/server/products/work/state/workExternalIssueImportDelegate.d.ts +28 -0
- package/build/server/products/work/state/workExternalIssueImportDelegate.d.ts.map +1 -0
- package/build/server/products/work/state/workExternalIssueImportDelegate.js +220 -0
- package/build/server/products/work/state/workExternalIssueImportDelegate.js.map +1 -0
- package/build/server/products/work/state/workIntakeDelegate.d.ts +26 -0
- package/build/server/products/work/state/workIntakeDelegate.d.ts.map +1 -0
- package/build/server/products/work/state/workIntakeDelegate.js +201 -0
- package/build/server/products/work/state/workIntakeDelegate.js.map +1 -0
- package/build/server/products/work/state/workTriageDelegate.d.ts +33 -0
- package/build/server/products/work/state/workTriageDelegate.d.ts.map +1 -0
- package/build/server/products/work/state/workTriageDelegate.js +539 -0
- package/build/server/products/work/state/workTriageDelegate.js.map +1 -0
- package/build/server/runtime/client.d.ts +324 -0
- package/build/server/runtime/client.d.ts.map +1 -0
- package/build/server/runtime/client.js +562 -0
- package/build/server/runtime/client.js.map +1 -0
- package/build/server/runtime/clientDiagnostics.d.ts +31 -0
- package/build/server/runtime/clientDiagnostics.d.ts.map +1 -0
- package/build/server/runtime/clientDiagnostics.js +101 -0
- package/build/server/runtime/clientDiagnostics.js.map +1 -0
- package/build/server/runtime/clientParsing.d.ts +5 -0
- package/build/server/runtime/clientParsing.d.ts.map +1 -0
- package/build/server/runtime/clientParsing.js +173 -0
- package/build/server/runtime/clientParsing.js.map +1 -0
- package/build/server/runtime/clientStreams.d.ts +7 -0
- package/build/server/runtime/clientStreams.d.ts.map +1 -0
- package/build/server/runtime/clientStreams.js +178 -0
- package/build/server/runtime/clientStreams.js.map +1 -0
- package/build/server/runtime/messageSegments.d.ts +6 -0
- package/build/server/runtime/messageSegments.d.ts.map +1 -0
- package/build/server/runtime/messageSegments.js +195 -0
- package/build/server/runtime/messageSegments.js.map +1 -0
- package/build/server/runtime/setup.d.ts +60 -0
- package/build/server/runtime/setup.d.ts.map +1 -0
- package/build/server/runtime/setup.js +102 -0
- package/build/server/runtime/setup.js.map +1 -0
- package/build/server/server/routes/providerSnapshotStore.d.ts +23 -0
- package/build/server/server/routes/providerSnapshotStore.d.ts.map +1 -0
- package/build/server/server/routes/providerSnapshotStore.js +135 -0
- package/build/server/server/routes/providerSnapshotStore.js.map +1 -0
- package/build/server/server/routes/providers.d.ts +28 -0
- package/build/server/server/routes/providers.d.ts.map +1 -0
- package/build/server/server/routes/providers.js +948 -0
- package/build/server/server/routes/providers.js.map +1 -0
- package/build/server/server/routes/telegram.d.ts +53 -0
- package/build/server/server/routes/telegram.d.ts.map +1 -0
- package/build/server/server/routes/telegram.js +294 -0
- package/build/server/server/routes/telegram.js.map +1 -0
- package/build/server/server/telegramProductIntentCommands.d.ts +2 -0
- package/build/server/server/telegramProductIntentCommands.d.ts.map +1 -0
- package/build/server/server/telegramProductIntentCommands.js +6 -0
- package/build/server/server/telegramProductIntentCommands.js.map +1 -0
- package/build/server/shared/assistantResponseLanguage.d.ts +7 -0
- package/build/server/shared/assistantResponseLanguage.d.ts.map +1 -0
- package/build/server/shared/assistantResponseLanguage.js +63 -0
- package/build/server/shared/assistantResponseLanguage.js.map +1 -0
- package/build/server/shared/bootstrapDiagnostics.d.ts +66 -0
- package/build/server/shared/bootstrapDiagnostics.d.ts.map +1 -0
- package/build/server/shared/bootstrapDiagnostics.js +86 -0
- package/build/server/shared/bootstrapDiagnostics.js.map +1 -0
- package/build/server/shared/catMcpProfiles.d.ts +7 -0
- package/build/server/shared/catMcpProfiles.d.ts.map +1 -0
- package/build/server/shared/catMcpProfiles.js +20 -0
- package/build/server/shared/catMcpProfiles.js.map +1 -0
- package/build/server/shared/catsAppManifest.d.ts +127 -0
- package/build/server/shared/catsAppManifest.d.ts.map +1 -0
- package/build/server/shared/catsAppManifest.js +25 -0
- package/build/server/shared/catsAppManifest.js.map +1 -0
- package/build/server/shared/catsAppSdk.d.ts +67 -0
- package/build/server/shared/catsAppSdk.d.ts.map +1 -0
- package/build/server/shared/catsAppSdk.js +2 -0
- package/build/server/shared/catsAppSdk.js.map +1 -0
- package/build/server/shared/catsAppValidation.d.ts +21 -0
- package/build/server/shared/catsAppValidation.d.ts.map +1 -0
- package/build/server/shared/catsAppValidation.js +287 -0
- package/build/server/shared/catsAppValidation.js.map +1 -0
- package/build/server/shared/catsRuntimeLink.d.ts +4 -0
- package/build/server/shared/catsRuntimeLink.d.ts.map +1 -0
- package/build/server/shared/catsRuntimeLink.js +16 -0
- package/build/server/shared/catsRuntimeLink.js.map +1 -0
- package/build/server/shared/channelPaths.d.ts +2 -0
- package/build/server/shared/channelPaths.d.ts.map +1 -0
- package/build/server/shared/channelPaths.js +2 -0
- package/build/server/shared/channelPaths.js.map +1 -0
- package/build/server/shared/chatCoreIds.d.ts +31 -0
- package/build/server/shared/chatCoreIds.d.ts.map +1 -0
- package/build/server/shared/chatCoreIds.js +63 -0
- package/build/server/shared/chatCoreIds.js.map +1 -0
- package/build/server/shared/chatMessageLocalization.d.ts +15 -0
- package/build/server/shared/chatMessageLocalization.d.ts.map +1 -0
- package/build/server/shared/chatMessageLocalization.js +71 -0
- package/build/server/shared/chatMessageLocalization.js.map +1 -0
- package/build/server/shared/cliEntrypoint.d.ts +2 -0
- package/build/server/shared/cliEntrypoint.d.ts.map +1 -0
- package/build/server/shared/cliEntrypoint.js +18 -0
- package/build/server/shared/cliEntrypoint.js.map +1 -0
- package/build/server/shared/composer.d.ts +27 -0
- package/build/server/shared/composer.d.ts.map +1 -0
- package/build/server/shared/composer.js +80 -0
- package/build/server/shared/composer.js.map +1 -0
- package/build/server/shared/core.d.ts +3 -0
- package/build/server/shared/core.d.ts.map +1 -0
- package/build/server/shared/core.js +3 -0
- package/build/server/shared/core.js.map +1 -0
- package/build/server/shared/coreFixtures.d.ts +194 -0
- package/build/server/shared/coreFixtures.d.ts.map +1 -0
- package/build/server/shared/coreFixtures.js +196 -0
- package/build/server/shared/coreFixtures.js.map +1 -0
- package/build/server/shared/desktopHostState.d.ts +2 -0
- package/build/server/shared/desktopHostState.d.ts.map +1 -0
- package/build/server/shared/desktopHostState.js +55 -0
- package/build/server/shared/desktopHostState.js.map +1 -0
- package/build/server/shared/desktopRecoveryBridge.d.ts +111 -0
- package/build/server/shared/desktopRecoveryBridge.d.ts.map +1 -0
- package/build/server/shared/desktopRecoveryBridge.js +63 -0
- package/build/server/shared/desktopRecoveryBridge.js.map +1 -0
- package/build/server/shared/environmentRecoveryAction.d.ts +20 -0
- package/build/server/shared/environmentRecoveryAction.d.ts.map +1 -0
- package/build/server/shared/environmentRecoveryAction.js +37 -0
- package/build/server/shared/environmentRecoveryAction.js.map +1 -0
- package/build/server/shared/executionLabel.d.ts +74 -0
- package/build/server/shared/executionLabel.d.ts.map +1 -0
- package/build/server/shared/executionLabel.js +236 -0
- package/build/server/shared/executionLabel.js.map +1 -0
- package/build/server/shared/guideCatAssist.d.ts +121 -0
- package/build/server/shared/guideCatAssist.d.ts.map +1 -0
- package/build/server/shared/guideCatAssist.js +121 -0
- package/build/server/shared/guideCatAssist.js.map +1 -0
- package/build/server/shared/guideCatAssistBaselines.d.ts +27 -0
- package/build/server/shared/guideCatAssistBaselines.d.ts.map +1 -0
- package/build/server/shared/guideCatAssistBaselines.js +135 -0
- package/build/server/shared/guideCatAssistBaselines.js.map +1 -0
- package/build/server/shared/guideCatAssistPresentation.d.ts +9 -0
- package/build/server/shared/guideCatAssistPresentation.d.ts.map +1 -0
- package/build/server/shared/guideCatAssistPresentation.js +66 -0
- package/build/server/shared/guideCatAssistPresentation.js.map +1 -0
- package/build/server/shared/guideCatAssistStore.d.ts +14 -0
- package/build/server/shared/guideCatAssistStore.d.ts.map +1 -0
- package/build/server/shared/guideCatAssistStore.js +342 -0
- package/build/server/shared/guideCatAssistStore.js.map +1 -0
- package/build/server/shared/guideCatIdentity.d.ts +8 -0
- package/build/server/shared/guideCatIdentity.d.ts.map +1 -0
- package/build/server/shared/guideCatIdentity.js +50 -0
- package/build/server/shared/guideCatIdentity.js.map +1 -0
- package/build/server/shared/http.d.ts +21 -0
- package/build/server/shared/http.d.ts.map +1 -0
- package/build/server/shared/http.js +39 -0
- package/build/server/shared/http.js.map +1 -0
- package/build/server/shared/i18n/catalogs/en.d.ts +4 -0
- package/build/server/shared/i18n/catalogs/en.d.ts.map +1 -0
- package/build/server/shared/i18n/catalogs/en.js +2944 -0
- package/build/server/shared/i18n/catalogs/en.js.map +1 -0
- package/build/server/shared/i18n/catalogs/zh-TW.d.ts +4 -0
- package/build/server/shared/i18n/catalogs/zh-TW.d.ts.map +1 -0
- package/build/server/shared/i18n/catalogs/zh-TW.js +2943 -0
- package/build/server/shared/i18n/catalogs/zh-TW.js.map +1 -0
- package/build/server/shared/i18n/index.d.ts +2942 -0
- package/build/server/shared/i18n/index.d.ts.map +1 -0
- package/build/server/shared/i18n/index.js +178 -0
- package/build/server/shared/i18n/index.js.map +1 -0
- package/build/server/shared/i18n/messageKeys.d.ts +2930 -0
- package/build/server/shared/i18n/messageKeys.d.ts.map +1 -0
- package/build/server/shared/i18n/messageKeys.js +2934 -0
- package/build/server/shared/i18n/messageKeys.js.map +1 -0
- package/build/server/shared/liveIndicator.d.ts +138 -0
- package/build/server/shared/liveIndicator.d.ts.map +1 -0
- package/build/server/shared/liveIndicator.js +1640 -0
- package/build/server/shared/liveIndicator.js.map +1 -0
- package/build/server/shared/liveTrace.d.ts +48 -0
- package/build/server/shared/liveTrace.d.ts.map +1 -0
- package/build/server/shared/liveTrace.js +138 -0
- package/build/server/shared/liveTrace.js.map +1 -0
- package/build/server/shared/loadProjectEnvFile.d.ts +9 -0
- package/build/server/shared/loadProjectEnvFile.d.ts.map +1 -0
- package/build/server/shared/loadProjectEnvFile.js +64 -0
- package/build/server/shared/loadProjectEnvFile.js.map +1 -0
- package/build/server/shared/mentionParsing.d.ts +27 -0
- package/build/server/shared/mentionParsing.d.ts.map +1 -0
- package/build/server/shared/mentionParsing.js +43 -0
- package/build/server/shared/mentionParsing.js.map +1 -0
- package/build/server/shared/mobilePairing.d.ts +12 -0
- package/build/server/shared/mobilePairing.d.ts.map +1 -0
- package/build/server/shared/mobilePairing.js +96 -0
- package/build/server/shared/mobilePairing.js.map +1 -0
- package/build/server/shared/nameInitials.d.ts +6 -0
- package/build/server/shared/nameInitials.d.ts.map +1 -0
- package/build/server/shared/nameInitials.js +11 -0
- package/build/server/shared/nameInitials.js.map +1 -0
- package/build/server/shared/orchestratorLabel.d.ts +9 -0
- package/build/server/shared/orchestratorLabel.d.ts.map +1 -0
- package/build/server/shared/orchestratorLabel.js +20 -0
- package/build/server/shared/orchestratorLabel.js.map +1 -0
- package/build/server/shared/platform-contract.d.ts +198 -0
- package/build/server/shared/platform-contract.d.ts.map +1 -0
- package/build/server/shared/platform-contract.js +5 -0
- package/build/server/shared/platform-contract.js.map +1 -0
- package/build/server/shared/platformApiLogger.d.ts +12 -0
- package/build/server/shared/platformApiLogger.d.ts.map +1 -0
- package/build/server/shared/platformApiLogger.js +2 -0
- package/build/server/shared/platformApiLogger.js.map +1 -0
- package/build/server/shared/platformEnvelopeMetadata.d.ts +15 -0
- package/build/server/shared/platformEnvelopeMetadata.d.ts.map +1 -0
- package/build/server/shared/platformEnvelopeMetadata.js +35 -0
- package/build/server/shared/platformEnvelopeMetadata.js.map +1 -0
- package/build/server/shared/platformIngressSummary.d.ts +36 -0
- package/build/server/shared/platformIngressSummary.d.ts.map +1 -0
- package/build/server/shared/platformIngressSummary.js +142 -0
- package/build/server/shared/platformIngressSummary.js.map +1 -0
- package/build/server/shared/platformOnboardingHistory.d.ts +24 -0
- package/build/server/shared/platformOnboardingHistory.d.ts.map +1 -0
- package/build/server/shared/platformOnboardingHistory.js +182 -0
- package/build/server/shared/platformOnboardingHistory.js.map +1 -0
- package/build/server/shared/platformPaths.d.ts +24 -0
- package/build/server/shared/platformPaths.d.ts.map +1 -0
- package/build/server/shared/platformPaths.js +93 -0
- package/build/server/shared/platformPaths.js.map +1 -0
- package/build/server/shared/platformPreferences.d.ts +18 -0
- package/build/server/shared/platformPreferences.d.ts.map +1 -0
- package/build/server/shared/platformPreferences.js +76 -0
- package/build/server/shared/platformPreferences.js.map +1 -0
- package/build/server/shared/platformProducts.d.ts +8 -0
- package/build/server/shared/platformProducts.d.ts.map +1 -0
- package/build/server/shared/platformProducts.js +104 -0
- package/build/server/shared/platformProducts.js.map +1 -0
- package/build/server/shared/platformRoutePaths.d.ts +25 -0
- package/build/server/shared/platformRoutePaths.d.ts.map +1 -0
- package/build/server/shared/platformRoutePaths.js +39 -0
- package/build/server/shared/platformRoutePaths.js.map +1 -0
- package/build/server/shared/platformScopeId.d.ts +21 -0
- package/build/server/shared/platformScopeId.d.ts.map +1 -0
- package/build/server/shared/platformScopeId.js +92 -0
- package/build/server/shared/platformScopeId.js.map +1 -0
- package/build/server/shared/platformSurfaceApi.d.ts +7 -0
- package/build/server/shared/platformSurfaceApi.d.ts.map +1 -0
- package/build/server/shared/platformSurfaceApi.js +12 -0
- package/build/server/shared/platformSurfaceApi.js.map +1 -0
- package/build/server/shared/platformSurfaces.d.ts +17 -0
- package/build/server/shared/platformSurfaces.d.ts.map +1 -0
- package/build/server/shared/platformSurfaces.js +68 -0
- package/build/server/shared/platformSurfaces.js.map +1 -0
- package/build/server/shared/providerCatalog.d.ts +188 -0
- package/build/server/shared/providerCatalog.d.ts.map +1 -0
- package/build/server/shared/providerCatalog.js +498 -0
- package/build/server/shared/providerCatalog.js.map +1 -0
- package/build/server/shared/providerCatalogData.d.ts +185 -0
- package/build/server/shared/providerCatalogData.d.ts.map +1 -0
- package/build/server/shared/providerCatalogData.js +98 -0
- package/build/server/shared/providerCatalogData.js.map +1 -0
- package/build/server/shared/providerCatalogInstances.d.ts +3 -0
- package/build/server/shared/providerCatalogInstances.d.ts.map +1 -0
- package/build/server/shared/providerCatalogInstances.js +48 -0
- package/build/server/shared/providerCatalogInstances.js.map +1 -0
- package/build/server/shared/providerEventCapabilities.d.ts +3 -0
- package/build/server/shared/providerEventCapabilities.d.ts.map +1 -0
- package/build/server/shared/providerEventCapabilities.js +62 -0
- package/build/server/shared/providerEventCapabilities.js.map +1 -0
- package/build/server/shared/providerRegistryWarnings.d.ts +7 -0
- package/build/server/shared/providerRegistryWarnings.d.ts.map +1 -0
- package/build/server/shared/providerRegistryWarnings.js +14 -0
- package/build/server/shared/providerRegistryWarnings.js.map +1 -0
- package/build/server/shared/providerSelection.d.ts +48 -0
- package/build/server/shared/providerSelection.d.ts.map +1 -0
- package/build/server/shared/providerSelection.js +335 -0
- package/build/server/shared/providerSelection.js.map +1 -0
- package/build/server/shared/roomRouting.d.ts +181 -0
- package/build/server/shared/roomRouting.d.ts.map +1 -0
- package/build/server/shared/roomRouting.js +2 -0
- package/build/server/shared/roomRouting.js.map +1 -0
- package/build/server/shared/runtimeContentBlocks.d.ts +15 -0
- package/build/server/shared/runtimeContentBlocks.d.ts.map +1 -0
- package/build/server/shared/runtimeContentBlocks.js +42 -0
- package/build/server/shared/runtimeContentBlocks.js.map +1 -0
- package/build/server/shared/runtimeIngressPaths.d.ts +7 -0
- package/build/server/shared/runtimeIngressPaths.d.ts.map +1 -0
- package/build/server/shared/runtimeIngressPaths.js +13 -0
- package/build/server/shared/runtimeIngressPaths.js.map +1 -0
- package/build/server/shared/runtimeRecovery.d.ts +6 -0
- package/build/server/shared/runtimeRecovery.d.ts.map +1 -0
- package/build/server/shared/runtimeRecovery.js +11 -0
- package/build/server/shared/runtimeRecovery.js.map +1 -0
- package/build/server/shared/runtimeSessionPolicy.d.ts +101 -0
- package/build/server/shared/runtimeSessionPolicy.d.ts.map +1 -0
- package/build/server/shared/runtimeSessionPolicy.js +239 -0
- package/build/server/shared/runtimeSessionPolicy.js.map +1 -0
- package/build/server/shared/runtimeSetup.d.ts +26 -0
- package/build/server/shared/runtimeSetup.d.ts.map +1 -0
- package/build/server/shared/runtimeSetup.js +2 -0
- package/build/server/shared/runtimeSetup.js.map +1 -0
- package/build/server/shared/runtimeStatusPresentation.d.ts +27 -0
- package/build/server/shared/runtimeStatusPresentation.d.ts.map +1 -0
- package/build/server/shared/runtimeStatusPresentation.js +89 -0
- package/build/server/shared/runtimeStatusPresentation.js.map +1 -0
- package/build/server/shared/settingsRoute.d.ts +3 -0
- package/build/server/shared/settingsRoute.d.ts.map +1 -0
- package/build/server/shared/settingsRoute.js +5 -0
- package/build/server/shared/settingsRoute.js.map +1 -0
- package/build/server/shared/sidebarPreference.d.ts +10 -0
- package/build/server/shared/sidebarPreference.d.ts.map +1 -0
- package/build/server/shared/sidebarPreference.js +30 -0
- package/build/server/shared/sidebarPreference.js.map +1 -0
- package/build/server/shared/skillProfiles.d.ts +16 -0
- package/build/server/shared/skillProfiles.d.ts.map +1 -0
- package/build/server/shared/skillProfiles.js +37 -0
- package/build/server/shared/skillProfiles.js.map +1 -0
- package/build/server/shared/taskExecutionBridge.d.ts +34 -0
- package/build/server/shared/taskExecutionBridge.d.ts.map +1 -0
- package/build/server/shared/taskExecutionBridge.js +137 -0
- package/build/server/shared/taskExecutionBridge.js.map +1 -0
- package/build/server/shared/taskPlanning.d.ts +35 -0
- package/build/server/shared/taskPlanning.d.ts.map +1 -0
- package/build/server/shared/taskPlanning.js +165 -0
- package/build/server/shared/taskPlanning.js.map +1 -0
- package/build/server/shared/voiceCaptureBridge.d.ts +36 -0
- package/build/server/shared/voiceCaptureBridge.d.ts.map +1 -0
- package/build/server/shared/voiceCaptureBridge.js +12 -0
- package/build/server/shared/voiceCaptureBridge.js.map +1 -0
- package/build/server/shared/workspaceBusy.d.ts +104 -0
- package/build/server/shared/workspaceBusy.d.ts.map +1 -0
- package/build/server/shared/workspaceBusy.js +178 -0
- package/build/server/shared/workspaceBusy.js.map +1 -0
- package/config/provider-capability-bootstrap.yaml.example +29 -0
- package/package.json +285 -0
- package/scripts/README.md +363 -0
- package/scripts/build-desktop-installer.mjs +387 -0
- package/scripts/build-server-artifacts.mjs +58 -0
- package/scripts/build-test-ui.mjs +25 -0
- package/scripts/bundle-server.mjs +16 -0
- package/scripts/check-mobile-boundary.mjs +389 -0
- package/scripts/check-mobile-build.mjs +59 -0
- package/scripts/clean-build.mjs +19 -0
- package/scripts/dev-server.mjs +104 -0
- package/scripts/linux/build-desktop-package.sh +30 -0
- package/scripts/linux/build-linux-installer.sh +15 -0
- package/scripts/linux/check-installation.sh +8 -0
- package/scripts/linux/install-antigravity.sh +8 -0
- package/scripts/linux/install-auggie.sh +8 -0
- package/scripts/linux/install-claude-code.sh +8 -0
- package/scripts/linux/install-codex.sh +8 -0
- package/scripts/linux/install-copilot.sh +8 -0
- package/scripts/linux/install-cursor-agent.sh +8 -0
- package/scripts/linux/install-github-cli.sh +254 -0
- package/scripts/linux/install-goose.sh +8 -0
- package/scripts/linux/install-junie.sh +8 -0
- package/scripts/linux/install-kilo.sh +8 -0
- package/scripts/linux/install-kiro-cli.sh +8 -0
- package/scripts/linux/install-node.sh +223 -0
- package/scripts/linux/install-opencode.sh +8 -0
- package/scripts/linux/install-pi.sh +8 -0
- package/scripts/linux/node-cli-common.sh +1376 -0
- package/scripts/linux/pack-install.sh +105 -0
- package/scripts/linux/provider-cli-common.sh +850 -0
- package/scripts/linux/setup-ngrok-tunnel.sh +309 -0
- package/scripts/linux/setup-node-global-prefix.sh +8 -0
- package/scripts/linux/setup-tailscale-funnel.sh +308 -0
- package/scripts/linux/start-desktop-host.sh +8 -0
- package/scripts/linux/sync-agent-skills.sh +102 -0
- package/scripts/linux/test-linux-package-smoke.sh +100 -0
- package/scripts/linux/upgrade-cli-tools.sh +46 -0
- package/scripts/macos/build-desktop-package.sh +30 -0
- package/scripts/macos/build-macos-installer.sh +15 -0
- package/scripts/macos/check-installation.sh +8 -0
- package/scripts/macos/install-antigravity.sh +8 -0
- package/scripts/macos/install-auggie.sh +8 -0
- package/scripts/macos/install-claude-code.sh +8 -0
- package/scripts/macos/install-codex.sh +8 -0
- package/scripts/macos/install-copilot.sh +8 -0
- package/scripts/macos/install-cursor-agent.sh +8 -0
- package/scripts/macos/install-github-cli.sh +254 -0
- package/scripts/macos/install-goose.sh +8 -0
- package/scripts/macos/install-junie.sh +8 -0
- package/scripts/macos/install-kilo.sh +8 -0
- package/scripts/macos/install-kiro-cli.sh +8 -0
- package/scripts/macos/install-node.sh +223 -0
- package/scripts/macos/install-opencode.sh +8 -0
- package/scripts/macos/install-pi.sh +8 -0
- package/scripts/macos/node-cli-common.sh +1376 -0
- package/scripts/macos/pack-install.sh +105 -0
- package/scripts/macos/provider-cli-common.sh +850 -0
- package/scripts/macos/setup-ngrok-tunnel.sh +311 -0
- package/scripts/macos/setup-node-global-prefix.sh +8 -0
- package/scripts/macos/setup-tailscale-funnel.sh +328 -0
- package/scripts/macos/start-desktop-host.sh +8 -0
- package/scripts/macos/sync-agent-skills.sh +102 -0
- package/scripts/macos/test-macos-package-smoke.sh +100 -0
- package/scripts/macos/upgrade-cli-tools.sh +46 -0
- package/scripts/package-desktop.mjs +209 -0
- package/scripts/patch-mobile-hermesc.mjs +92 -0
- package/scripts/preview-bootstrap.mjs +301 -0
- package/scripts/shared/edit-windows-exe-icon.mjs +84 -0
- package/scripts/shared/generate-electron-icons.mjs +358 -0
- package/scripts/testing/check-platform-ingress.mjs +232 -0
- package/scripts/windows/Build-DesktopPackage.ps1 +47 -0
- package/scripts/windows/Build-WindowsInstaller.ps1 +29 -0
- package/scripts/windows/Check-WindowsSetupReadiness.ps1 +827 -0
- package/scripts/windows/Install-Antigravity.ps1 +367 -0
- package/scripts/windows/Install-Auggie.ps1 +39 -0
- package/scripts/windows/Install-ClaudeCode.ps1 +571 -0
- package/scripts/windows/Install-Codex.ps1 +39 -0
- package/scripts/windows/Install-Copilot.ps1 +39 -0
- package/scripts/windows/Install-CursorAgent.ps1 +353 -0
- package/scripts/windows/Install-GitHubCli.ps1 +371 -0
- package/scripts/windows/Install-Goose.ps1 +452 -0
- package/scripts/windows/Install-Junie.ps1 +339 -0
- package/scripts/windows/Install-KiloCli.ps1 +41 -0
- package/scripts/windows/Install-KiroCli.ps1 +256 -0
- package/scripts/windows/Install-Node.ps1 +370 -0
- package/scripts/windows/Install-Ollama.ps1 +392 -0
- package/scripts/windows/Install-OpenCode.ps1 +39 -0
- package/scripts/windows/Install-Pi.ps1 +39 -0
- package/scripts/windows/Install-VcRedist.ps1 +340 -0
- package/scripts/windows/Pack-Install.ps1 +121 -0
- package/scripts/windows/Setup-CliReadiness.ps1 +339 -0
- package/scripts/windows/Setup-NgrokTunnel.ps1 +369 -0
- package/scripts/windows/Setup-NodeGlobalPrefix.ps1 +303 -0
- package/scripts/windows/Setup-TailscaleFunnel.ps1 +405 -0
- package/scripts/windows/Start-DesktopHost.ps1 +10 -0
- package/scripts/windows/Sync-AgentSkills.ps1 +116 -0
- package/scripts/windows/Test-WindowsInstallerSmoke.ps1 +252 -0
- package/scripts/windows/_HiddenProcess.ps1 +93 -0
- package/scripts/windows/_NpmCliInstaller.ps1 +569 -0
- package/scripts/windows/_PackagedUninstall.ps1 +249 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/App-B13AzNko.js","assets/client-DREGSZqQ.js","assets/conversationSidebarRecentEntries-BNPz3X1V.js","assets/ActiveSessionPermissionChip-BYr8cDpb.js","assets/useDraftSessionChips-3z_Je4ju.js","assets/App-BXCQs2gk.css","assets/App-BbuTWT6Y.js","assets/WorkspaceAppRoutes-BktWrQK-.js","assets/App-DGwkRFZl.css","assets/App-n-RtGh42.js","assets/App-DKequja8.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as d,a as pd,j as r,R as hd,b as md}from"./client-DREGSZqQ.js";var Bn="popstate";function Fn(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function gd(e={}){function t(o,n){let s=n.state?.masked,{pathname:l,search:c,hash:u}=s||o.location;return ro("",{pathname:l,search:c,hash:u},n.state&&n.state.usr||null,n.state&&n.state.key||"default",s?{pathname:o.location.pathname,search:o.location.search,hash:o.location.hash}:void 0)}function a(o,n){return typeof n=="string"?n:da(n)}return wd(t,a,null,e)}function pe(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function He(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function fd(){return Math.random().toString(36).substring(2,10)}function On(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function ro(e,t,a=null,o,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?Kt(t):t,state:a,key:t&&t.key||o||fd(),unstable_mask:n}}function da({pathname:e="/",search:t="",hash:a=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),a&&a!=="#"&&(e+=a.charAt(0)==="#"?a:"#"+a),e}function Kt(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substring(a),e=e.substring(0,a));let o=e.indexOf("?");o>=0&&(t.search=e.substring(o),e=e.substring(0,o)),e&&(t.pathname=e)}return t}function wd(e,t,a,o={}){let{window:n=document.defaultView,v5Compat:s=!1}=o,l=n.history,c="POP",u=null,h=g();h==null&&(h=0,l.replaceState({...l.state,idx:h},""));function g(){return(l.state||{idx:null}).idx}function p(){c="POP";let m=g(),C=m==null?null:m-h;h=m,u&&u({action:c,location:k.location,delta:C})}function b(m,C){c="PUSH";let v=Fn(m)?m:ro(k.location,m,C);h=g()+1;let y=On(v,h),L=k.createHref(v.unstable_mask||v);try{l.pushState(y,"",L)}catch(D){if(D instanceof DOMException&&D.name==="DataCloneError")throw D;n.location.assign(L)}s&&u&&u({action:c,location:k.location,delta:1})}function w(m,C){c="REPLACE";let v=Fn(m)?m:ro(k.location,m,C);h=g();let y=On(v,h),L=k.createHref(v.unstable_mask||v);l.replaceState(y,"",L),s&&u&&u({action:c,location:k.location,delta:0})}function f(m){return bd(m)}let k={get action(){return c},get location(){return e(n,l)},listen(m){if(u)throw new Error("A history only accepts one active listener");return n.addEventListener(Bn,p),u=m,()=>{n.removeEventListener(Bn,p),u=null}},createHref(m){return t(n,m)},createURL:f,encodeLocation(m){let C=f(m);return{pathname:C.pathname,search:C.search,hash:C.hash}},push:b,replace:w,go(m){return l.go(m)}};return k}function bd(e,t=!1){let a="http://localhost";typeof window<"u"&&(a=window.location.origin!=="null"?window.location.origin:window.location.href),pe(a,"No window.location.(origin|href) available to create URL");let o=typeof e=="string"?e:da(e);return o=o.replace(/ $/,"%20"),!t&&o.startsWith("//")&&(o=a+o),new URL(o,a)}function ji(e,t,a="/"){return kd(e,t,a,!1)}function kd(e,t,a,o){let n=typeof t=="string"?Kt(t):t,s=ht(n.pathname||"/",a);if(s==null)return null;let l=Mi(e);yd(l);let c=null;for(let u=0;c==null&&u<l.length;++u){let h=Ii(s);c=Td(l[u],h,o)}return c}function Mi(e,t=[],a=[],o="",n=!1){let s=(l,c,u=n,h)=>{let g={relativePath:h===void 0?l.path||"":h,caseSensitive:l.caseSensitive===!0,childrenIndex:c,route:l};if(g.relativePath.startsWith("/")){if(!g.relativePath.startsWith(o)&&u)return;pe(g.relativePath.startsWith(o),`Absolute route path "${g.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),g.relativePath=g.relativePath.slice(o.length)}let p=Qe([o,g.relativePath]),b=a.concat(g);l.children&&l.children.length>0&&(pe(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),Mi(l.children,t,b,p,u)),!(l.path==null&&!l.index)&&t.push({path:p,score:xd(p,l.index),routesMeta:b})};return e.forEach((l,c)=>{if(l.path===""||!l.path?.includes("?"))s(l,c);else for(let u of Ei(l.path))s(l,c,!0,u)}),t}function Ei(e){let t=e.split("/");if(t.length===0)return[];let[a,...o]=t,n=a.endsWith("?"),s=a.replace(/\?$/,"");if(o.length===0)return n?[s,""]:[s];let l=Ei(o.join("/")),c=[];return c.push(...l.map(u=>u===""?s:[s,u].join("/"))),n&&c.push(...l),c.map(u=>e.startsWith("/")&&u===""?"/":u)}function yd(e){e.sort((t,a)=>t.score!==a.score?a.score-t.score:Ad(t.routesMeta.map(o=>o.childrenIndex),a.routesMeta.map(o=>o.childrenIndex)))}var vd=/^:[\w-]+$/,Cd=3,Sd=2,Ld=1,Rd=10,Pd=-2,Wn=e=>e==="*";function xd(e,t){let a=e.split("/"),o=a.length;return a.some(Wn)&&(o+=Pd),t&&(o+=Sd),a.filter(n=>!Wn(n)).reduce((n,s)=>n+(vd.test(s)?Cd:s===""?Ld:Rd),o)}function Ad(e,t){return e.length===t.length&&e.slice(0,-1).every((o,n)=>o===t[n])?e[e.length-1]-t[t.length-1]:0}function Td(e,t,a=!1){let{routesMeta:o}=e,n={},s="/",l=[];for(let c=0;c<o.length;++c){let u=o[c],h=c===o.length-1,g=s==="/"?t:t.slice(s.length)||"/",p=ua({path:u.relativePath,caseSensitive:u.caseSensitive,end:h},g),b=u.route;if(!p&&h&&a&&!o[o.length-1].route.index&&(p=ua({path:u.relativePath,caseSensitive:u.caseSensitive,end:!1},g)),!p)return null;Object.assign(n,p.params),l.push({params:n,pathname:Qe([s,p.pathname]),pathnameBase:Ed(Qe([s,p.pathnameBase])),route:b}),p.pathnameBase!=="/"&&(s=Qe([s,p.pathnameBase]))}return l}function ua(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[a,o]=Dd(e.path,e.caseSensitive,e.end),n=t.match(a);if(!n)return null;let s=n[0],l=s.replace(/(.)\/+$/,"$1"),c=n.slice(1);return{params:o.reduce((h,{paramName:g,isOptional:p},b)=>{if(g==="*"){let f=c[b]||"";l=s.slice(0,s.length-f.length).replace(/(.)\/+$/,"$1")}const w=c[b];return p&&!w?h[g]=void 0:h[g]=(w||"").replace(/%2F/g,"/"),h},{}),pathname:s,pathnameBase:l,pattern:e}}function Dd(e,t=!1,a=!0){He(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let o=[],n="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,c,u,h,g)=>{if(o.push({paramName:c,isOptional:u!=null}),u){let p=g.charAt(h+l.length);return p&&p!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(o.push({paramName:"*"}),n+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?n+="\\/*$":e!==""&&e!=="/"&&(n+="(?:(?=\\/|$))"),[new RegExp(n,t?void 0:"i"),o]}function Ii(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return He(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function ht(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,o=e.charAt(a);return o&&o!=="/"?null:e.slice(a)||"/"}var Nd=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function jd(e,t="/"){let{pathname:a,search:o="",hash:n=""}=typeof e=="string"?Kt(e):e,s;return a?(a=Bi(a),a.startsWith("/")?s=Un(a.substring(1),"/"):s=Un(a,t)):s=t,{pathname:s,search:Id(o),hash:Bd(n)}}function Un(e,t){let a=qa(t).split("/");return e.split("/").forEach(n=>{n===".."?a.length>1&&a.pop():n!=="."&&a.push(n)}),a.length>1?a.join("/"):"/"}function Ar(e,t,a,o){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Md(e){return e.filter((t,a)=>a===0||t.route.path&&t.route.path.length>0)}function Bo(e){let t=Md(e);return t.map((a,o)=>o===t.length-1?a.pathname:a.pathnameBase)}function nr(e,t,a,o=!1){let n;typeof e=="string"?n=Kt(e):(n={...e},pe(!n.pathname||!n.pathname.includes("?"),Ar("?","pathname","search",n)),pe(!n.pathname||!n.pathname.includes("#"),Ar("#","pathname","hash",n)),pe(!n.search||!n.search.includes("#"),Ar("#","search","hash",n)));let s=e===""||n.pathname==="",l=s?"/":n.pathname,c;if(l==null)c=a;else{let p=t.length-1;if(!o&&l.startsWith("..")){let b=l.split("/");for(;b[0]==="..";)b.shift(),p-=1;n.pathname=b.join("/")}c=p>=0?t[p]:"/"}let u=jd(n,c),h=l&&l!=="/"&&l.endsWith("/"),g=(s||l===".")&&a.endsWith("/");return!u.pathname.endsWith("/")&&(h||g)&&(u.pathname+="/"),u}var Bi=e=>e.replace(/\/\/+/g,"/"),Qe=e=>Bi(e.join("/")),qa=e=>e.replace(/\/+$/,""),Ed=e=>qa(e).replace(/^\/*/,"/"),Id=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Bd=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Fd=class{constructor(e,t,a,o=!1){this.status=e,this.statusText=t||"",this.internal=o,a instanceof Error?(this.data=a.toString(),this.error=a):this.data=a}};function Od(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Wd(e){let t=e.map(a=>a.route.path).filter(Boolean);return Qe(t)||"/"}var Fi=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Oi(e,t){let a=e;if(typeof a!="string"||!Nd.test(a))return{absoluteURL:void 0,isExternal:!1,to:a};let o=a,n=!1;if(Fi)try{let s=new URL(window.location.href),l=a.startsWith("//")?new URL(s.protocol+a):new URL(a),c=ht(l.pathname,t);l.origin===s.origin&&c!=null?a=c+l.search+l.hash:n=!0}catch{He(!1,`<Link to="${a}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:o,isExternal:n,to:a}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Wi=["POST","PUT","PATCH","DELETE"];new Set(Wi);var Ud=["GET",...Wi];new Set(Ud);var qt=d.createContext(null);qt.displayName="DataRouter";var sr=d.createContext(null);sr.displayName="DataRouterState";var Ui=d.createContext(!1);function Hd(){return d.useContext(Ui)}var Hi=d.createContext({isTransitioning:!1});Hi.displayName="ViewTransition";var _d=d.createContext(new Map);_d.displayName="Fetchers";var Gd=d.createContext(null);Gd.displayName="Await";var Ue=d.createContext(null);Ue.displayName="Navigation";var Ca=d.createContext(null);Ca.displayName="Location";var _e=d.createContext({outlet:null,matches:[],isDataRoute:!1});_e.displayName="Route";var Fo=d.createContext(null);Fo.displayName="RouteError";var _i="REACT_ROUTER_ERROR",Kd="REDIRECT",qd="ROUTE_ERROR_RESPONSE";function $d(e){if(e.startsWith(`${_i}:${Kd}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function zd(e){if(e.startsWith(`${_i}:${qd}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Fd(t.status,t.statusText,t.data)}catch{}}function Vd(e,{relative:t}={}){pe(Nt(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:o}=d.useContext(Ue),{hash:n,pathname:s,search:l}=Sa(e,{relative:t}),c=s;return a!=="/"&&(c=s==="/"?a:Qe([a,s])),o.createHref({pathname:c,search:l,hash:n})}function Nt(){return d.useContext(Ca)!=null}function ye(){return pe(Nt(),"useLocation() may be used only in the context of a <Router> component."),d.useContext(Ca).location}function Yd(e){pe(Nt(),"useMatch() may be used only in the context of a <Router> component.");let{pathname:t}=ye();return d.useMemo(()=>ua(e,Ii(t)),[t,e])}var Gi="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ki(e){d.useContext(Ue).static||d.useLayoutEffect(e)}function Ne(){let{isDataRoute:e}=d.useContext(_e);return e?du():Qd()}function Qd(){pe(Nt(),"useNavigate() may be used only in the context of a <Router> component.");let e=d.useContext(qt),{basename:t,navigator:a}=d.useContext(Ue),{matches:o}=d.useContext(_e),{pathname:n}=ye(),s=JSON.stringify(Bo(o)),l=d.useRef(!1);return Ki(()=>{l.current=!0}),d.useCallback((u,h={})=>{if(He(l.current,Gi),!l.current)return;if(typeof u=="number"){a.go(u);return}let g=nr(u,JSON.parse(s),n,h.relative==="path");e==null&&t!=="/"&&(g.pathname=g.pathname==="/"?t:Qe([t,g.pathname])),(h.replace?a.replace:a.push)(g,h.state,h)},[t,a,s,n,e])}var qi=d.createContext(null);function Jd(){return d.useContext(qi)}function Xd(e){let t=d.useContext(_e).outlet;return d.useMemo(()=>t&&d.createElement(qi.Provider,{value:e},t),[t,e])}function ir(){let{matches:e}=d.useContext(_e),t=e[e.length-1];return t?t.params:{}}function Sa(e,{relative:t}={}){let{matches:a}=d.useContext(_e),{pathname:o}=ye(),n=JSON.stringify(Bo(a));return d.useMemo(()=>nr(e,JSON.parse(n),o,t==="path"),[e,n,o,t])}function Zd(e,t){return $i(e,t)}function $i(e,t,a){pe(Nt(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=d.useContext(Ue),{matches:n}=d.useContext(_e),s=n[n.length-1],l=s?s.params:{},c=s?s.pathname:"/",u=s?s.pathnameBase:"/",h=s&&s.route;{let m=h&&h.path||"";Vi(c,!h||m.endsWith("*")||m.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${m}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
3
|
+
|
|
4
|
+
Please change the parent <Route path="${m}"> to <Route path="${m==="/"?"*":`${m}/*`}">.`)}let g=ye(),p;if(t){let m=typeof t=="string"?Kt(t):t;pe(u==="/"||m.pathname?.startsWith(u),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${m.pathname}" was given in the \`location\` prop.`),p=m}else p=g;let b=p.pathname||"/",w=b;if(u!=="/"){let m=u.replace(/^\//,"").split("/");w="/"+b.replace(/^\//,"").split("/").slice(m.length).join("/")}let f=ji(e,{pathname:w});He(h||f!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),He(f==null||f[f.length-1].route.element!==void 0||f[f.length-1].route.Component!==void 0||f[f.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let k=ou(f&&f.map(m=>Object.assign({},m,{params:Object.assign({},l,m.params),pathname:Qe([u,o.encodeLocation?o.encodeLocation(m.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathname]),pathnameBase:m.pathnameBase==="/"?u:Qe([u,o.encodeLocation?o.encodeLocation(m.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathnameBase])})),n,a);return t&&k?d.createElement(Ca.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...p},navigationType:"POP"}},k):k}function eu(){let e=cu(),t=Od(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,o="rgba(200,200,200, 0.5)",n={padding:"0.5rem",backgroundColor:o},s={padding:"2px 4px",backgroundColor:o},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=d.createElement(d.Fragment,null,d.createElement("p",null,"💿 Hey developer 👋"),d.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",d.createElement("code",{style:s},"ErrorBoundary")," or"," ",d.createElement("code",{style:s},"errorElement")," prop on your route.")),d.createElement(d.Fragment,null,d.createElement("h2",null,"Unexpected Application Error!"),d.createElement("h3",{style:{fontStyle:"italic"}},t),a?d.createElement("pre",{style:n},a):null,l)}var tu=d.createElement(eu,null),zi=class extends d.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const a=zd(e.digest);a&&(e=a)}let t=e!==void 0?d.createElement(_e.Provider,{value:this.props.routeContext},d.createElement(Fo.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?d.createElement(au,{error:e},t):t}};zi.contextType=Ui;var Tr=new WeakMap;function au({children:e,error:t}){let{basename:a}=d.useContext(Ue);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let o=$d(t.digest);if(o){let n=Tr.get(t);if(n)throw n;let s=Oi(o.location,a);if(Fi&&!Tr.get(t))if(s.isExternal||o.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const l=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:o.replace}));throw Tr.set(t,l),l}return d.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return e}function ru({routeContext:e,match:t,children:a}){let o=d.useContext(qt);return o&&o.static&&o.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=t.route.id),d.createElement(_e.Provider,{value:e},a)}function ou(e,t=[],a){let o=a?.state;if(e==null){if(!o)return null;if(o.errors)e=o.matches;else if(t.length===0&&!o.initialized&&o.matches.length>0)e=o.matches;else return null}let n=e,s=o?.errors;if(s!=null){let g=n.findIndex(p=>p.route.id&&s?.[p.route.id]!==void 0);pe(g>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),n=n.slice(0,Math.min(n.length,g+1))}let l=!1,c=-1;if(a&&o){l=o.renderFallback;for(let g=0;g<n.length;g++){let p=n[g];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(c=g),p.route.id){let{loaderData:b,errors:w}=o,f=p.route.loader&&!b.hasOwnProperty(p.route.id)&&(!w||w[p.route.id]===void 0);if(p.route.lazy||f){a.isStatic&&(l=!0),c>=0?n=n.slice(0,c+1):n=[n[0]];break}}}}let u=a?.onError,h=o&&u?(g,p)=>{u(g,{location:o.location,params:o.matches?.[0]?.params??{},unstable_pattern:Wd(o.matches),errorInfo:p})}:void 0;return n.reduceRight((g,p,b)=>{let w,f=!1,k=null,m=null;o&&(w=s&&p.route.id?s[p.route.id]:void 0,k=p.route.errorElement||tu,l&&(c<0&&b===0?(Vi("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):c===b&&(f=!0,m=p.route.hydrateFallbackElement||null)));let C=t.concat(n.slice(0,b+1)),v=()=>{let y;return w?y=k:f?y=m:p.route.Component?y=d.createElement(p.route.Component,null):p.route.element?y=p.route.element:y=g,d.createElement(ru,{match:p,routeContext:{outlet:g,matches:C,isDataRoute:o!=null},children:y})};return o&&(p.route.ErrorBoundary||p.route.errorElement||b===0)?d.createElement(zi,{location:o.location,revalidation:o.revalidation,component:k,error:w,children:v(),routeContext:{outlet:null,matches:C,isDataRoute:!0},onError:h}):v()},null)}function Oo(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function nu(e){let t=d.useContext(qt);return pe(t,Oo(e)),t}function su(e){let t=d.useContext(sr);return pe(t,Oo(e)),t}function iu(e){let t=d.useContext(_e);return pe(t,Oo(e)),t}function Wo(e){let t=iu(e),a=t.matches[t.matches.length-1];return pe(a.route.id,`${e} can only be used on routes that contain a unique "id"`),a.route.id}function lu(){return Wo("useRouteId")}function cu(){let e=d.useContext(Fo),t=su("useRouteError"),a=Wo("useRouteError");return e!==void 0?e:t.errors?.[a]}function du(){let{router:e}=nu("useNavigate"),t=Wo("useNavigate"),a=d.useRef(!1);return Ki(()=>{a.current=!0}),d.useCallback(async(n,s={})=>{He(a.current,Gi),a.current&&(typeof n=="number"?await e.navigate(n):await e.navigate(n,{fromRouteId:t,...s}))},[e,t])}var Hn={};function Vi(e,t,a){!t&&!Hn[e]&&(Hn[e]=!0,He(!1,a))}d.memo(uu);function uu({routes:e,future:t,state:a,isStatic:o,onError:n}){return $i(e,void 0,{state:a,isStatic:o,onError:n})}function mt({to:e,replace:t,state:a,relative:o}){pe(Nt(),"<Navigate> may be used only in the context of a <Router> component.");let{static:n}=d.useContext(Ue);He(!n,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=d.useContext(_e),{pathname:l}=ye(),c=Ne(),u=nr(e,Bo(s),l,o==="path"),h=JSON.stringify(u);return d.useEffect(()=>{c(JSON.parse(h),{replace:t,state:a,relative:o})},[c,h,o,t,a]),null}function Yi(e){return Xd(e.context)}function Z(e){pe(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function pu({basename:e="/",children:t=null,location:a,navigationType:o="POP",navigator:n,static:s=!1,unstable_useTransitions:l}){pe(!Nt(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let c=e.replace(/^\/*/,"/"),u=d.useMemo(()=>({basename:c,navigator:n,static:s,unstable_useTransitions:l,future:{}}),[c,n,s,l]);typeof a=="string"&&(a=Kt(a));let{pathname:h="/",search:g="",hash:p="",state:b=null,key:w="default",unstable_mask:f}=a,k=d.useMemo(()=>{let m=ht(h,c);return m==null?null:{location:{pathname:m,search:g,hash:p,state:b,key:w,unstable_mask:f},navigationType:o}},[c,h,g,p,b,w,o,f]);return He(k!=null,`<Router basename="${c}"> is not able to match the URL "${h}${g}${p}" because it does not start with the basename, so the <Router> won't render anything.`),k==null?null:d.createElement(Ue.Provider,{value:u},d.createElement(Ca.Provider,{children:t,value:k}))}function oa({children:e,location:t}){return Zd(oo(e),t)}function oo(e,t=[]){let a=[];return d.Children.forEach(e,(o,n)=>{if(!d.isValidElement(o))return;let s=[...t,n];if(o.type===d.Fragment){a.push.apply(a,oo(o.props.children,s));return}pe(o.type===Z,`[${typeof o.type=="string"?o.type:o.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),pe(!o.props.index||!o.props.children,"An index route cannot have child routes.");let l={id:o.props.id||s.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,middleware:o.props.middleware,loader:o.props.loader,action:o.props.action,hydrateFallbackElement:o.props.hydrateFallbackElement,HydrateFallback:o.props.HydrateFallback,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.hasErrorBoundary===!0||o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(l.children=oo(o.props.children,s)),a.push(l)}),a}var Ha="get",_a="application/x-www-form-urlencoded";function lr(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function hu(e){return lr(e)&&e.tagName.toLowerCase()==="button"}function mu(e){return lr(e)&&e.tagName.toLowerCase()==="form"}function gu(e){return lr(e)&&e.tagName.toLowerCase()==="input"}function fu(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function wu(e,t){return e.button===0&&(!t||t==="_self")&&!fu(e)}function no(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,a)=>{let o=e[a];return t.concat(Array.isArray(o)?o.map(n=>[a,n]):[[a,o]])},[]))}function bu(e,t){let a=no(e);return t&&t.forEach((o,n)=>{a.has(n)||t.getAll(n).forEach(s=>{a.append(n,s)})}),a}var ja=null;function ku(){if(ja===null)try{new FormData(document.createElement("form"),0),ja=!1}catch{ja=!0}return ja}var yu=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Dr(e){return e!=null&&!yu.has(e)?(He(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${_a}"`),null):e}function vu(e,t){let a,o,n,s,l;if(mu(e)){let c=e.getAttribute("action");o=c?ht(c,t):null,a=e.getAttribute("method")||Ha,n=Dr(e.getAttribute("enctype"))||_a,s=new FormData(e)}else if(hu(e)||gu(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let u=e.getAttribute("formaction")||c.getAttribute("action");if(o=u?ht(u,t):null,a=e.getAttribute("formmethod")||c.getAttribute("method")||Ha,n=Dr(e.getAttribute("formenctype"))||Dr(c.getAttribute("enctype"))||_a,s=new FormData(c,e),!ku()){let{name:h,type:g,value:p}=e;if(g==="image"){let b=h?`${h}.`:"";s.append(`${b}x`,"0"),s.append(`${b}y`,"0")}else h&&s.append(h,p)}}else{if(lr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=Ha,o=null,n=_a,l=e}return s&&n==="text/plain"&&(l=s,s=void 0),{action:o,method:a.toLowerCase(),encType:n,formData:s,body:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Uo(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Qi(e,t,a,o){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return a?n.pathname.endsWith("/")?n.pathname=`${n.pathname}_.${o}`:n.pathname=`${n.pathname}.${o}`:n.pathname==="/"?n.pathname=`_root.${o}`:t&&ht(n.pathname,t)==="/"?n.pathname=`${qa(t)}/_root.${o}`:n.pathname=`${qa(n.pathname)}.${o}`,n}async function Cu(e,t){if(e.id in t)return t[e.id];try{let a=await import(e.module);return t[e.id]=a,a}catch(a){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Su(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Lu(e,t,a){let o=await Promise.all(e.map(async n=>{let s=t.routes[n.route.id];if(s){let l=await Cu(s,a);return l.links?l.links():[]}return[]}));return Au(o.flat(1).filter(Su).filter(n=>n.rel==="stylesheet"||n.rel==="preload").map(n=>n.rel==="stylesheet"?{...n,rel:"prefetch",as:"style"}:{...n,rel:"prefetch"}))}function _n(e,t,a,o,n,s){let l=(u,h)=>a[h]?u.route.id!==a[h].route.id:!0,c=(u,h)=>a[h].pathname!==u.pathname||a[h].route.path?.endsWith("*")&&a[h].params["*"]!==u.params["*"];return s==="assets"?t.filter((u,h)=>l(u,h)||c(u,h)):s==="data"?t.filter((u,h)=>{let g=o.routes[u.route.id];if(!g||!g.hasLoader)return!1;if(l(u,h)||c(u,h))return!0;if(u.route.shouldRevalidate){let p=u.route.shouldRevalidate({currentUrl:new URL(n.pathname+n.search+n.hash,window.origin),currentParams:a[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:u.params,defaultShouldRevalidate:!0});if(typeof p=="boolean")return p}return!0}):[]}function Ru(e,t,{includeHydrateFallback:a}={}){return Pu(e.map(o=>{let n=t.routes[o.route.id];if(!n)return[];let s=[n.module];return n.clientActionModule&&(s=s.concat(n.clientActionModule)),n.clientLoaderModule&&(s=s.concat(n.clientLoaderModule)),a&&n.hydrateFallbackModule&&(s=s.concat(n.hydrateFallbackModule)),n.imports&&(s=s.concat(n.imports)),s}).flat(1))}function Pu(e){return[...new Set(e)]}function xu(e){let t={},a=Object.keys(e).sort();for(let o of a)t[o]=e[o];return t}function Au(e,t){let a=new Set;return new Set(t),e.reduce((o,n)=>{let s=JSON.stringify(xu(n));return a.has(s)||(a.add(s),o.push({key:s,link:n})),o},[])}function Ho(){let e=d.useContext(qt);return Uo(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Tu(){let e=d.useContext(sr);return Uo(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var _o=d.createContext(void 0);_o.displayName="FrameworkContext";function Go(){let e=d.useContext(_o);return Uo(e,"You must render this element inside a <HydratedRouter> element"),e}function Du(e,t){let a=d.useContext(_o),[o,n]=d.useState(!1),[s,l]=d.useState(!1),{onFocus:c,onBlur:u,onMouseEnter:h,onMouseLeave:g,onTouchStart:p}=t,b=d.useRef(null);d.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let k=C=>{C.forEach(v=>{l(v.isIntersecting)})},m=new IntersectionObserver(k,{threshold:.5});return b.current&&m.observe(b.current),()=>{m.disconnect()}}},[e]),d.useEffect(()=>{if(o){let k=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(k)}}},[o]);let w=()=>{n(!0)},f=()=>{n(!1),l(!1)};return a?e!=="intent"?[s,b,{}]:[s,b,{onFocus:Xt(c,w),onBlur:Xt(u,f),onMouseEnter:Xt(h,w),onMouseLeave:Xt(g,f),onTouchStart:Xt(p,w)}]:[!1,b,{}]}function Xt(e,t){return a=>{e&&e(a),a.defaultPrevented||t(a)}}function Nu({page:e,...t}){let a=Hd(),{router:o}=Ho(),n=d.useMemo(()=>ji(o.routes,e,o.basename),[o.routes,e,o.basename]);return n?a?d.createElement(Mu,{page:e,matches:n,...t}):d.createElement(Eu,{page:e,matches:n,...t}):null}function ju(e){let{manifest:t,routeModules:a}=Go(),[o,n]=d.useState([]);return d.useEffect(()=>{let s=!1;return Lu(e,t,a).then(l=>{s||n(l)}),()=>{s=!0}},[e,t,a]),o}function Mu({page:e,matches:t,...a}){let o=ye(),{future:n}=Go(),{basename:s}=Ho(),l=d.useMemo(()=>{if(e===o.pathname+o.search+o.hash)return[];let c=Qi(e,s,n.unstable_trailingSlashAwareDataRequests,"rsc"),u=!1,h=[];for(let g of t)typeof g.route.shouldRevalidate=="function"?u=!0:h.push(g.route.id);return u&&h.length>0&&c.searchParams.set("_routes",h.join(",")),[c.pathname+c.search]},[s,n.unstable_trailingSlashAwareDataRequests,e,o,t]);return d.createElement(d.Fragment,null,l.map(c=>d.createElement("link",{key:c,rel:"prefetch",as:"fetch",href:c,...a})))}function Eu({page:e,matches:t,...a}){let o=ye(),{future:n,manifest:s,routeModules:l}=Go(),{basename:c}=Ho(),{loaderData:u,matches:h}=Tu(),g=d.useMemo(()=>_n(e,t,h,s,o,"data"),[e,t,h,s,o]),p=d.useMemo(()=>_n(e,t,h,s,o,"assets"),[e,t,h,s,o]),b=d.useMemo(()=>{if(e===o.pathname+o.search+o.hash)return[];let k=new Set,m=!1;if(t.forEach(v=>{let y=s.routes[v.route.id];!y||!y.hasLoader||(!g.some(L=>L.route.id===v.route.id)&&v.route.id in u&&l[v.route.id]?.shouldRevalidate||y.hasClientLoader?m=!0:k.add(v.route.id))}),k.size===0)return[];let C=Qi(e,c,n.unstable_trailingSlashAwareDataRequests,"data");return m&&k.size>0&&C.searchParams.set("_routes",t.filter(v=>k.has(v.route.id)).map(v=>v.route.id).join(",")),[C.pathname+C.search]},[c,n.unstable_trailingSlashAwareDataRequests,u,o,s,g,t,e,l]),w=d.useMemo(()=>Ru(p,s),[p,s]),f=ju(p);return d.createElement(d.Fragment,null,b.map(k=>d.createElement("link",{key:k,rel:"prefetch",as:"fetch",href:k,...a})),w.map(k=>d.createElement("link",{key:k,rel:"modulepreload",href:k,...a})),f.map(({key:k,link:m})=>d.createElement("link",{key:k,nonce:a.nonce,...m,crossOrigin:m.crossOrigin??a.crossOrigin})))}function Iu(...e){return t=>{e.forEach(a=>{typeof a=="function"?a(t):a!=null&&(a.current=t)})}}var Bu=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Bu&&(window.__reactRouterVersion="7.14.1")}catch{}function Fu({basename:e,children:t,unstable_useTransitions:a,window:o}){let n=d.useRef();n.current==null&&(n.current=gd({window:o,v5Compat:!0}));let s=n.current,[l,c]=d.useState({action:s.action,location:s.location}),u=d.useCallback(h=>{a===!1?c(h):d.startTransition(()=>c(h))},[a]);return d.useLayoutEffect(()=>s.listen(u),[s,u]),d.createElement(pu,{basename:e,children:t,location:l.location,navigationType:l.action,navigator:s,unstable_useTransitions:a})}var Ji=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Tt=d.forwardRef(function({onClick:t,discover:a="render",prefetch:o="none",relative:n,reloadDocument:s,replace:l,unstable_mask:c,state:u,target:h,to:g,preventScrollReset:p,viewTransition:b,unstable_defaultShouldRevalidate:w,...f},k){let{basename:m,navigator:C,unstable_useTransitions:v}=d.useContext(Ue),y=typeof g=="string"&&Ji.test(g),L=Oi(g,m);g=L.to;let D=Vd(g,{relative:n}),T=ye(),j=null;if(c){let G=nr(c,[],T.unstable_mask?T.unstable_mask.pathname:"/",!0);m!=="/"&&(G.pathname=G.pathname==="/"?m:Qe([m,G.pathname])),j=C.createHref(G)}let[x,R,P]=Du(o,f),I=Hu(g,{replace:l,unstable_mask:c,state:u,target:h,preventScrollReset:p,relative:n,viewTransition:b,unstable_defaultShouldRevalidate:w,unstable_useTransitions:v});function O(G){t&&t(G),G.defaultPrevented||I(G)}let E=!(L.isExternal||s),$=d.createElement("a",{...f,...P,href:(E?j:void 0)||L.absoluteURL||D,onClick:E?O:t,ref:Iu(k,R),target:h,"data-discover":!y&&a==="render"?"true":void 0});return x&&!y?d.createElement(d.Fragment,null,$,d.createElement(Nu,{page:D})):$});Tt.displayName="Link";var Ou=d.forwardRef(function({"aria-current":t="page",caseSensitive:a=!1,className:o="",end:n=!1,style:s,to:l,viewTransition:c,children:u,...h},g){let p=Sa(l,{relative:h.relative}),b=ye(),w=d.useContext(sr),{navigator:f,basename:k}=d.useContext(Ue),m=w!=null&&$u(p)&&c===!0,C=f.encodeLocation?f.encodeLocation(p).pathname:p.pathname,v=b.pathname,y=w&&w.navigation&&w.navigation.location?w.navigation.location.pathname:null;a||(v=v.toLowerCase(),y=y?y.toLowerCase():null,C=C.toLowerCase()),y&&k&&(y=ht(y,k)||y);const L=C!=="/"&&C.endsWith("/")?C.length-1:C.length;let D=v===C||!n&&v.startsWith(C)&&v.charAt(L)==="/",T=y!=null&&(y===C||!n&&y.startsWith(C)&&y.charAt(C.length)==="/"),j={isActive:D,isPending:T,isTransitioning:m},x=D?t:void 0,R;typeof o=="function"?R=o(j):R=[o,D?"active":null,T?"pending":null,m?"transitioning":null].filter(Boolean).join(" ");let P=typeof s=="function"?s(j):s;return d.createElement(Tt,{...h,"aria-current":x,className:R,ref:g,style:P,to:l,viewTransition:c},typeof u=="function"?u(j):u)});Ou.displayName="NavLink";var Wu=d.forwardRef(({discover:e="render",fetcherKey:t,navigate:a,reloadDocument:o,replace:n,state:s,method:l=Ha,action:c,onSubmit:u,relative:h,preventScrollReset:g,viewTransition:p,unstable_defaultShouldRevalidate:b,...w},f)=>{let{unstable_useTransitions:k}=d.useContext(Ue),m=Ku(),C=qu(c,{relative:h}),v=l.toLowerCase()==="get"?"get":"post",y=typeof c=="string"&&Ji.test(c),L=D=>{if(u&&u(D),D.defaultPrevented)return;D.preventDefault();let T=D.nativeEvent.submitter,j=T?.getAttribute("formmethod")||l,x=()=>m(T||D.currentTarget,{fetcherKey:t,method:j,navigate:a,replace:n,state:s,relative:h,preventScrollReset:g,viewTransition:p,unstable_defaultShouldRevalidate:b});k&&a!==!1?d.startTransition(()=>x()):x()};return d.createElement("form",{ref:f,method:v,action:C,onSubmit:o?u:L,...w,"data-discover":!y&&e==="render"?"true":void 0})});Wu.displayName="Form";function Uu(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Xi(e){let t=d.useContext(qt);return pe(t,Uu(e)),t}function Hu(e,{target:t,replace:a,unstable_mask:o,state:n,preventScrollReset:s,relative:l,viewTransition:c,unstable_defaultShouldRevalidate:u,unstable_useTransitions:h}={}){let g=Ne(),p=ye(),b=Sa(e,{relative:l});return d.useCallback(w=>{if(wu(w,t)){w.preventDefault();let f=a!==void 0?a:da(p)===da(b),k=()=>g(e,{replace:f,unstable_mask:o,state:n,preventScrollReset:s,relative:l,viewTransition:c,unstable_defaultShouldRevalidate:u});h?d.startTransition(()=>k()):k()}},[p,g,b,a,o,n,t,e,s,l,c,u,h])}function iS(e){He(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=d.useRef(no(e)),a=d.useRef(!1),o=ye(),n=d.useMemo(()=>bu(o.search,a.current?null:t.current),[o.search]),s=Ne(),l=d.useCallback((c,u)=>{const h=no(typeof c=="function"?c(new URLSearchParams(n)):c);a.current=!0,s("?"+h,u)},[s,n]);return[n,l]}var _u=0,Gu=()=>`__${String(++_u)}__`;function Ku(){let{router:e}=Xi("useSubmit"),{basename:t}=d.useContext(Ue),a=lu(),o=e.fetch,n=e.navigate;return d.useCallback(async(s,l={})=>{let{action:c,method:u,encType:h,formData:g,body:p}=vu(s,t);if(l.navigate===!1){let b=l.fetcherKey||Gu();await o(b,a,l.action||c,{unstable_defaultShouldRevalidate:l.unstable_defaultShouldRevalidate,preventScrollReset:l.preventScrollReset,formData:g,body:p,formMethod:l.method||u,formEncType:l.encType||h,flushSync:l.flushSync})}else await n(l.action||c,{unstable_defaultShouldRevalidate:l.unstable_defaultShouldRevalidate,preventScrollReset:l.preventScrollReset,formData:g,body:p,formMethod:l.method||u,formEncType:l.encType||h,replace:l.replace,state:l.state,fromRouteId:a,flushSync:l.flushSync,viewTransition:l.viewTransition})},[o,n,t,a])}function qu(e,{relative:t}={}){let{basename:a}=d.useContext(Ue),o=d.useContext(_e);pe(o,"useFormAction must be used inside a RouteContext");let[n]=o.matches.slice(-1),s={...Sa(e||".",{relative:t})},l=ye();if(e==null){s.search=l.search;let c=new URLSearchParams(s.search),u=c.getAll("index");if(u.some(g=>g==="")){c.delete("index"),u.filter(p=>p).forEach(p=>c.append("index",p));let g=c.toString();s.search=g?`?${g}`:""}}return(!e||e===".")&&n.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),a!=="/"&&(s.pathname=s.pathname==="/"?a:Qe([a,s.pathname])),da(s)}function $u(e,{relative:t}={}){let a=d.useContext(Hi);pe(a!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:o}=Xi("useViewTransitionState"),n=Sa(e,{relative:t});if(!a.isTransitioning)return!1;let s=ht(a.currentLocation.pathname,o)||a.currentLocation.pathname,l=ht(a.nextLocation.pathname,o)||a.nextLocation.pathname;return ua(n.pathname,l)!=null||ua(n.pathname,s)!=null}var Ft=pd(),cr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},zu=class extends cr{#e;#t;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#a=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Zi=new zu,Vu={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Yu=class{#e=Vu;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},so=new Yu;function Qu(e){setTimeout(e,0)}var Ju=typeof window>"u"||"Deno"in globalThis;function Ve(){}function Xu(e,t){return typeof e=="function"?e(t):e}function Zu(e){return typeof e=="number"&&e>=0&&e!==1/0}function ep(e,t){return Math.max(e+(t||0)-Date.now(),0)}function io(e,t){return typeof e=="function"?e(t):e}function tp(e,t){return typeof e=="function"?e(t):e}function Gn(e,t){const{type:a="all",exact:o,fetchStatus:n,predicate:s,queryKey:l,stale:c}=e;if(l){if(o){if(t.queryHash!==Ko(l,t.options))return!1}else if(!ha(t.queryKey,l))return!1}if(a!=="all"){const u=t.isActive();if(a==="active"&&!u||a==="inactive"&&u)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||n&&n!==t.state.fetchStatus||s&&!s(t))}function Kn(e,t){const{exact:a,status:o,predicate:n,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(a){if(pa(t.options.mutationKey)!==pa(s))return!1}else if(!ha(t.options.mutationKey,s))return!1}return!(o&&t.state.status!==o||n&&!n(t))}function Ko(e,t){return(t?.queryKeyHashFn||pa)(e)}function pa(e){return JSON.stringify(e,(t,a)=>lo(a)?Object.keys(a).sort().reduce((o,n)=>(o[n]=a[n],o),{}):a)}function ha(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(a=>ha(e[a],t[a])):!1}var ap=Object.prototype.hasOwnProperty;function el(e,t,a=0){if(e===t)return e;if(a>500)return t;const o=qn(e)&&qn(t);if(!o&&!(lo(e)&&lo(t)))return t;const s=(o?e:Object.keys(e)).length,l=o?t:Object.keys(t),c=l.length,u=o?new Array(c):{};let h=0;for(let g=0;g<c;g++){const p=o?g:l[g],b=e[p],w=t[p];if(b===w){u[p]=b,(o?g<s:ap.call(e,p))&&h++;continue}if(b===null||w===null||typeof b!="object"||typeof w!="object"){u[p]=w;continue}const f=el(b,w,a+1);u[p]=f,f===b&&h++}return s===c&&h===s?e:u}function lS(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const a in e)if(e[a]!==t[a])return!1;return!0}function qn(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function lo(e){if(!$n(e))return!1;const t=e.constructor;if(t===void 0)return!0;const a=t.prototype;return!(!$n(a)||!a.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function $n(e){return Object.prototype.toString.call(e)==="[object Object]"}function rp(e){return new Promise(t=>{so.setTimeout(t,e)})}function op(e,t,a){return typeof a.structuralSharing=="function"?a.structuralSharing(e,t):a.structuralSharing!==!1?el(e,t):t}function np(e,t,a=0){const o=[...e,t];return a&&o.length>a?o.slice(1):o}function sp(e,t,a=0){const o=[t,...e];return a&&o.length>a?o.slice(0,-1):o}var qo=Symbol();function tl(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===qo?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function cS(e,t){return typeof e=="function"?e(...t):!!e}function ip(e,t,a){let o=!1,n;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(n??=t(),o||(o=!0,n.aborted?a():n.addEventListener("abort",a,{once:!0})),n)}),e}var al=(()=>{let e=()=>Ju;return{isServer(){return e()},setIsServer(t){e=t}}})();function lp(){let e,t;const a=new Promise((n,s)=>{e=n,t=s});a.status="pending",a.catch(()=>{});function o(n){Object.assign(a,n),delete a.resolve,delete a.reject}return a.resolve=n=>{o({status:"fulfilled",value:n}),e(n)},a.reject=n=>{o({status:"rejected",reason:n}),t(n)},a}var cp=Qu;function dp(){let e=[],t=0,a=c=>{c()},o=c=>{c()},n=cp;const s=c=>{t?e.push(c):n(()=>{a(c)})},l=()=>{const c=e;e=[],c.length&&n(()=>{o(()=>{c.forEach(u=>{a(u)})})})};return{batch:c=>{let u;t++;try{u=c()}finally{t--,t||l()}return u},batchCalls:c=>(...u)=>{s(()=>{c(...u)})},schedule:s,setNotifyFunction:c=>{a=c},setBatchNotifyFunction:c=>{o=c},setScheduler:c=>{n=c}}}var Me=dp(),up=class extends cr{#e=!0;#t;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e(!0),a=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",a)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#a=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(a=>{a(e)}))}isOnline(){return this.#e}},$a=new up;function pp(e){return Math.min(1e3*2**e,3e4)}function rl(e){return(e??"online")==="online"?$a.isOnline():!0}var co=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function ol(e){let t=!1,a=0,o;const n=lp(),s=()=>n.status!=="pending",l=k=>{if(!s()){const m=new co(k);b(m),e.onCancel?.(m)}},c=()=>{t=!0},u=()=>{t=!1},h=()=>Zi.isFocused()&&(e.networkMode==="always"||$a.isOnline())&&e.canRun(),g=()=>rl(e.networkMode)&&e.canRun(),p=k=>{s()||(o?.(),n.resolve(k))},b=k=>{s()||(o?.(),n.reject(k))},w=()=>new Promise(k=>{o=m=>{(s()||h())&&k(m)},e.onPause?.()}).then(()=>{o=void 0,s()||e.onContinue?.()}),f=()=>{if(s())return;let k;const m=a===0?e.initialPromise:void 0;try{k=m??e.fn()}catch(C){k=Promise.reject(C)}Promise.resolve(k).then(p).catch(C=>{if(s())return;const v=e.retry??(al.isServer()?0:3),y=e.retryDelay??pp,L=typeof y=="function"?y(a,C):y,D=v===!0||typeof v=="number"&&a<v||typeof v=="function"&&v(a,C);if(t||!D){b(C);return}a++,e.onFail?.(a,C),rp(L).then(()=>h()?void 0:w()).then(()=>{t?b(C):f()})})};return{promise:n,status:()=>n.status,cancel:l,continue:()=>(o?.(),n),cancelRetry:c,continueRetry:u,canStart:g,start:()=>(g()?f():w().then(f),n)}}var nl=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Zu(this.gcTime)&&(this.#e=so.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(al.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(so.clearTimeout(this.#e),this.#e=void 0)}};function hp(e){return{onFetch:(t,a)=>{const o=t.options,n=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],l=t.state.data?.pageParams||[];let c={pages:[],pageParams:[]},u=0;const h=async()=>{let g=!1;const p=f=>{ip(f,()=>t.signal,()=>g=!0)},b=tl(t.options,t.fetchOptions),w=async(f,k,m)=>{if(g)return Promise.reject(t.signal.reason);if(k==null&&f.pages.length)return Promise.resolve(f);const v=(()=>{const T={client:t.client,queryKey:t.queryKey,pageParam:k,direction:m?"backward":"forward",meta:t.options.meta};return p(T),T})(),y=await b(v),{maxPages:L}=t.options,D=m?sp:np;return{pages:D(f.pages,y,L),pageParams:D(f.pageParams,k,L)}};if(n&&s.length){const f=n==="backward",k=f?mp:zn,m={pages:s,pageParams:l},C=k(o,m);c=await w(m,C,f)}else{const f=e??s.length;do{const k=u===0?l[0]??o.initialPageParam:zn(o,c);if(u>0&&k==null)break;c=await w(c,k),u++}while(u<f)}return c};t.options.persister?t.fetchFn=()=>t.options.persister?.(h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},a):t.fetchFn=h}}}function zn(e,{pages:t,pageParams:a}){const o=t.length-1;return t.length>0?e.getNextPageParam(t[o],t,a[o],a):void 0}function mp(e,{pages:t,pageParams:a}){return t.length>0?e.getPreviousPageParam?.(t[0],t,a[0],a):void 0}var gp=class extends nl{#e;#t;#a;#o;#n;#r;#l;#s;constructor(e){super(),this.#s=!1,this.#l=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#n=e.client,this.#o=this.#n.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Yn(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#r?.promise}setOptions(e){if(this.options={...this.#l,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const t=Yn(this.options);t.data!==void 0&&(this.setState(Vn(t.data,t.dataUpdatedAt)),this.#t=t)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#o.remove(this)}setData(e,t){const a=op(this.state.data,e,this.options);return this.#i({data:a,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),a}setState(e){this.#i({type:"setState",state:e})}cancel(e){const t=this.#r?.promise;return this.#r?.cancel(e),t?t.then(Ve).catch(Ve):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>tp(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===qo||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>io(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!ep(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#o.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#r&&(this.#s||this.#c()?this.#r.cancel({revert:!0}):this.#r.cancelRetry()),this.scheduleGc()),this.#o.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}async fetch(e,t){if(this.state.fetchStatus!=="idle"&&this.#r?.status()!=="rejected"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#r)return this.#r.continueRetry(),this.#r.promise}if(e&&this.setOptions(e),!this.options.queryFn){const u=this.observers.find(h=>h.options.queryFn);u&&this.setOptions(u.options)}const a=new AbortController,o=u=>{Object.defineProperty(u,"signal",{enumerable:!0,get:()=>(this.#s=!0,a.signal)})},n=()=>{const u=tl(this.options,t),g=(()=>{const p={client:this.#n,queryKey:this.queryKey,meta:this.meta};return o(p),p})();return this.#s=!1,this.options.persister?this.options.persister(u,g,this):u(g)},l=(()=>{const u={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#n,state:this.state,fetchFn:n};return o(u),u})();(this.#e==="infinite"?hp(this.options.pages):this.options.behavior)?.onFetch(l,this),this.#a=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==l.fetchOptions?.meta)&&this.#i({type:"fetch",meta:l.fetchOptions?.meta}),this.#r=ol({initialPromise:t?.initialPromise,fn:l.fetchFn,onCancel:u=>{u instanceof co&&u.revert&&this.setState({...this.#a,fetchStatus:"idle"}),a.abort()},onFail:(u,h)=>{this.#i({type:"failed",failureCount:u,error:h})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0});try{const u=await this.#r.start();if(u===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(u),this.#o.config.onSuccess?.(u,this),this.#o.config.onSettled?.(u,this.state.error,this),u}catch(u){if(u instanceof co){if(u.silent)return this.#r.promise;if(u.revert){if(this.state.data===void 0)throw u;return this.state.data}}throw this.#i({type:"error",error:u}),this.#o.config.onError?.(u,this),this.#o.config.onSettled?.(this.state.data,u,this),u}finally{this.scheduleGc()}}#i(e){const t=a=>{switch(e.type){case"failed":return{...a,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,...fp(a.data,this.options),fetchMeta:e.meta??null};case"success":const o={...a,...Vn(e.data,e.dataUpdatedAt),dataUpdateCount:a.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#a=e.manual?o:void 0,o;case"error":const n=e.error;return{...a,error:n,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...e.state}}};this.state=t(this.state),Me.batch(()=>{this.observers.forEach(a=>{a.onQueryUpdate()}),this.#o.notify({query:this,type:"updated",action:e})})}};function fp(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:rl(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Vn(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Yn(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,a=t!==void 0,o=a?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:a?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:a?"success":"pending",fetchStatus:"idle"}}var wp=class extends nl{#e;#t;#a;#o;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#a=e.mutationCache,this.#t=[],this.state=e.state||bp(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#a.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#a.remove(this))}continue(){return this.#o?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#n({type:"continue"})},a={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#o=ol({fn:()=>this.options.mutationFn?this.options.mutationFn(e,a):Promise.reject(new Error("No mutationFn found")),onFail:(s,l)=>{this.#n({type:"failed",failureCount:s,error:l})},onPause:()=>{this.#n({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#a.canRun(this)});const o=this.state.status==="pending",n=!this.#o.canStart();try{if(o)t();else{this.#n({type:"pending",variables:e,isPaused:n}),this.#a.config.onMutate&&await this.#a.config.onMutate(e,this,a);const l=await this.options.onMutate?.(e,a);l!==this.state.context&&this.#n({type:"pending",context:l,variables:e,isPaused:n})}const s=await this.#o.start();return await this.#a.config.onSuccess?.(s,e,this.state.context,this,a),await this.options.onSuccess?.(s,e,this.state.context,a),await this.#a.config.onSettled?.(s,null,this.state.variables,this.state.context,this,a),await this.options.onSettled?.(s,null,e,this.state.context,a),this.#n({type:"success",data:s}),s}catch(s){try{await this.#a.config.onError?.(s,e,this.state.context,this,a)}catch(l){Promise.reject(l)}try{await this.options.onError?.(s,e,this.state.context,a)}catch(l){Promise.reject(l)}try{await this.#a.config.onSettled?.(void 0,s,this.state.variables,this.state.context,this,a)}catch(l){Promise.reject(l)}try{await this.options.onSettled?.(void 0,s,e,this.state.context,a)}catch(l){Promise.reject(l)}throw this.#n({type:"error",error:s}),s}finally{this.#a.runNext(this)}}#n(e){const t=a=>{switch(e.type){case"failed":return{...a,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...a,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:e.error,failureCount:a.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),Me.batch(()=>{this.#t.forEach(a=>{a.onMutationUpdate(e)}),this.#a.notify({mutation:this,type:"updated",action:e})})}};function bp(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var kp=class extends cr{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#a=0}#e;#t;#a;build(e,t,a){const o=new wp({client:e,mutationCache:this,mutationId:++this.#a,options:e.defaultMutationOptions(t),state:a});return this.add(o),o}add(e){this.#e.add(e);const t=Ma(e);if(typeof t=="string"){const a=this.#t.get(t);a?a.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const t=Ma(e);if(typeof t=="string"){const a=this.#t.get(t);if(a)if(a.length>1){const o=a.indexOf(e);o!==-1&&a.splice(o,1)}else a[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=Ma(e);if(typeof t=="string"){const o=this.#t.get(t)?.find(n=>n.state.status==="pending");return!o||o===e}else return!0}runNext(e){const t=Ma(e);return typeof t=="string"?this.#t.get(t)?.find(o=>o!==e&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){Me.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const t={exact:!0,...e};return this.getAll().find(a=>Kn(t,a))}findAll(e={}){return this.getAll().filter(t=>Kn(e,t))}notify(e){Me.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return Me.batch(()=>Promise.all(e.map(t=>t.continue().catch(Ve))))}};function Ma(e){return e.options.scope?.id}var yp=class extends cr{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,a){const o=t.queryKey,n=t.queryHash??Ko(o,t);let s=this.get(n);return s||(s=new gp({client:e,queryKey:o,queryHash:n,options:e.defaultQueryOptions(t),state:a,defaultOptions:e.getQueryDefaults(o)}),this.add(s)),s}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){Me.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(a=>Gn(t,a))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(a=>Gn(e,a)):t}notify(e){Me.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Me.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Me.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},vp=class{#e;#t;#a;#o;#n;#r;#l;#s;constructor(e={}){this.#e=e.queryCache||new yp,this.#t=e.mutationCache||new kp,this.#a=e.defaultOptions||{},this.#o=new Map,this.#n=new Map,this.#r=0}mount(){this.#r++,this.#r===1&&(this.#l=Zi.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=$a.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#r--,this.#r===0&&(this.#l?.(),this.#l=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),a=this.#e.build(this,t),o=a.state.data;return o===void 0?this.fetchQuery(e):(e.revalidateIfStale&&a.isStaleByTime(io(t.staleTime,a))&&this.prefetchQuery(t),Promise.resolve(o))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:a})=>{const o=a.data;return[t,o]})}setQueryData(e,t,a){const o=this.defaultQueryOptions({queryKey:e}),s=this.#e.get(o.queryHash)?.state.data,l=Xu(t,s);if(l!==void 0)return this.#e.build(this,o).setData(l,{...a,manual:!0})}setQueriesData(e,t,a){return Me.batch(()=>this.#e.findAll(e).map(({queryKey:o})=>[o,this.setQueryData(o,t,a)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){const t=this.#e;Me.batch(()=>{t.findAll(e).forEach(a=>{t.remove(a)})})}resetQueries(e,t){const a=this.#e;return Me.batch(()=>(a.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const a={revert:!0,...t},o=Me.batch(()=>this.#e.findAll(e).map(n=>n.cancel(a)));return Promise.all(o).then(Ve).catch(Ve)}invalidateQueries(e,t={}){return Me.batch(()=>(this.#e.findAll(e).forEach(a=>{a.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const a={...t,cancelRefetch:t.cancelRefetch??!0},o=Me.batch(()=>this.#e.findAll(e).filter(n=>!n.isDisabled()&&!n.isStatic()).map(n=>{let s=n.fetch(void 0,a);return a.throwOnError||(s=s.catch(Ve)),n.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(o).then(Ve)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const a=this.#e.build(this,t);return a.isStaleByTime(io(t.staleTime,a))?a.fetch(t):Promise.resolve(a.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ve).catch(Ve)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ve).catch(Ve)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return $a.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#a}setDefaultOptions(e){this.#a=e}setQueryDefaults(e,t){this.#o.set(pa(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#o.values()],a={};return t.forEach(o=>{ha(e,o.queryKey)&&Object.assign(a,o.defaultOptions)}),a}setMutationDefaults(e,t){this.#n.set(pa(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#n.values()],a={};return t.forEach(o=>{ha(e,o.mutationKey)&&Object.assign(a,o.defaultOptions)}),a}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#a.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Ko(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===qo&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#a.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},sl=d.createContext(void 0),dS=e=>{const t=d.useContext(sl);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Cp=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),r.jsx(sl.Provider,{value:e,children:t}));const $o=[{id:"chat",surface:"chat",routePrefix:"/chat",productName:"Cats Chat",subtitle:"Conversations with companions and personal agents",group:"home",installPolicy:"required",installState:"installed",maturity:"active",setup:{selectable:!0},settings:[{id:"chat",label:"Chat",path:"/settings/chat"}]},{id:"code",surface:"code",routePrefix:"/code",productName:"Cats Code",subtitle:"Repos, runs, and codespaces",group:"office",installPolicy:"required",installState:"installed",maturity:"preview",setup:{selectable:!0},settings:[{id:"code",label:"Code",path:"/settings/code"}]},{id:"work",surface:"work",routePrefix:"/work",productName:"Cats Work",subtitle:"Projects, approvals, and operator workflow",group:"office",installPolicy:"required",installState:"installed",maturity:"preview",setup:{selectable:!0},settings:[{id:"work",label:"Work",path:"/settings/work"}]}];new Map($o.map(e=>[e.id,e]));const il=new Map($o.filter(e=>e.surface!==null).map(e=>[e.surface,e]));function Sp(e){return{...e,setup:{...e.setup},settings:e.settings?.map(t=>({...t}))}}function Lp(){return $o.map(Sp)}function Rp(e){return il.get(e)?.routePrefix??"/chat"}function Pp(e){return il.get(e)?.productName??"Cats Chat"}const zo=Lp().filter(e=>e.surface!==null).map(e=>({id:e.surface,routePrefix:e.routePrefix,productName:e.productName,subtitle:e.subtitle}));new Map(zo.map(e=>[e.id,e]));const xp={chat:"Chat",work:"Work",code:"Code"};function Ap(){return zo}function Tp(e){return zo.find(a=>e===a.routePrefix||e.startsWith(`${a.routePrefix}/`))?.id??"chat"}function uS(e){return Pp(e)}function Dp(e){return xp[e]??"Chat"}function dr(e){return Rp(e)}const i={appBrandName:"app.brandName",appLoadingWithSurface:"app.loadingWithSurface",appLoadingEllipsis:"app.loadingEllipsis",appErrorTitle:"app.errorTitle",appErrorEyebrow:"app.errorEyebrow",appTitle:"app.title",appLoadErrorMessage:"app.loadErrorMessage",appLoadStateFailedWithStatus:"app.loadStateFailedWithStatus",setupWizardAdminCredentialsHint:"setupWizard.adminCredentialsHint",setupWizardAdminIdentifierLabel:"setupWizard.adminIdentifierLabel",setupWizardAdminIdentifierPlaceholder:"setupWizard.adminIdentifierPlaceholder",setupWizardAdminPasswordLabel:"setupWizard.adminPasswordLabel",setupWizardAdminPasswordPlaceholder:"setupWizard.adminPasswordPlaceholder",authLoginTitle:"auth.login.title",authLoginSubtitle:"auth.login.subtitle",authLoginIdentifierLabel:"auth.login.identifierLabel",authLoginIdentifierPlaceholder:"auth.login.identifierPlaceholder",authLoginPasswordLabel:"auth.login.passwordLabel",authLoginPasswordPlaceholder:"auth.login.passwordPlaceholder",authLoginSubmit:"auth.login.submit",authLoginSubmitting:"auth.login.submitting",authLoginInvalidCredentials:"auth.login.invalidCredentials",authLoginForbidden:"auth.login.forbidden",authLoginCsrfMismatch:"auth.login.csrfMismatch",authLoginFailed:"auth.login.failed",authLoginFailedWithStatus:"auth.login.failedWithStatus",authLoginGoogleOriginHint:"auth.login.googleOriginHint",authLoginGoogleUnavailable:"auth.login.googleUnavailable",authRepairTitle:"auth.repair.title",authRepairSubtitle:"auth.repair.subtitle",authRepairDisplayNameLabel:"auth.repair.displayNameLabel",authRepairDisplayNamePlaceholder:"auth.repair.displayNamePlaceholder",authRepairIdentifierLabel:"auth.repair.identifierLabel",authRepairIdentifierPlaceholder:"auth.repair.identifierPlaceholder",authRepairPasswordLabel:"auth.repair.passwordLabel",authRepairPasswordPlaceholder:"auth.repair.passwordPlaceholder",authRepairRecoveryTokenLabel:"auth.repair.recoveryTokenLabel",authRepairRecoveryTokenPlaceholder:"auth.repair.recoveryTokenPlaceholder",authRepairRecoveryTokenHint:"auth.repair.recoveryTokenHint",authRepairSubmit:"auth.repair.submit",authRepairSubmitting:"auth.repair.submitting",authRepairForbidden:"auth.repair.forbidden",authRepairFailed:"auth.repair.failed",authRepairFailedWithStatus:"auth.repair.failedWithStatus",appHostLabel:"appHost.label",appHostNotInstalledTitle:"appHost.notInstalledTitle",appHostBackToLobby:"appHost.backToLobby",appHostSubtitleRendererPending:"appHost.subtitleRendererPending",appHostSubtitleDisabled:"appHost.subtitleDisabled",appHostSectionPackage:"appHost.sectionPackage",appHostSectionStatus:"appHost.sectionStatus",appHostSectionPublisher:"appHost.sectionPublisher",sharedProductRendererErrorEyebrow:"shared.productRenderer.errorEyebrow",sharedProductRendererChatUnavailableTitle:"shared.productRenderer.chatUnavailableTitle",sharedProductRendererUnknownError:"shared.productRenderer.unknownError",sharedProductBootLoadingAria:"shared.product.bootLoadingAria",platformProductChatName:"platform.product.chat.name",platformProductChatSubtitle:"platform.product.chat.subtitle",platformProductChatSettingsLabel:"platform.product.chat.settingsLabel",platformProductCodeName:"platform.product.code.name",platformProductCodeSubtitle:"platform.product.code.subtitle",platformProductCodeSettingsLabel:"platform.product.code.settingsLabel",platformProductWorkName:"platform.product.work.name",platformProductWorkSubtitle:"platform.product.work.subtitle",platformProductWorkSettingsLabel:"platform.product.work.settingsLabel",lobbyAccountSettingsAriaLabel:"lobby.accountSettingsAriaLabel",lobbyOpenAccountSettings:"lobby.openAccountSettings",lobbyRuntimeStatusLabel:"lobby.runtimeStatusLabel",lobbyProductsSectionTitle:"lobby.productsSectionTitle",lobbyAppsSectionTitle:"lobby.appsSectionTitle",lobbyContinueText:"lobby.continueText",lobbyOpenEntry:"lobby.openEntry",lobbyGreetingChooseSurface:"lobby.greeting.chooseSurface",lobbyGreetingHomeReady:"lobby.greeting.homeReady",lobbyGreetingPickProduct:"lobby.greeting.pickProduct",lobbyGreetingEverythingStaged:"lobby.greeting.everythingStaged",lobbyGreetingOpenSurface:"lobby.greeting.openSurface",lobbyGreetingAwake:"lobby.greeting.awake",lobbyGreetingContinue:"lobby.greeting.continue",sharedRuntimeStatusTooltipReady:"shared.runtimeStatus.tooltip.ready",sharedRuntimeStatusTooltipDegraded:"shared.runtimeStatus.tooltip.degraded",sharedRuntimeStatusTooltipUnavailable:"shared.runtimeStatus.tooltip.unavailable",sharedRuntimeStatusTooltipUnknown:"shared.runtimeStatus.tooltip.unknown",sharedRuntimeStatusChipReady:"shared.runtimeStatus.chip.ready",sharedRuntimeStatusChipDegraded:"shared.runtimeStatus.chip.degraded",sharedRuntimeStatusChipUnavailable:"shared.runtimeStatus.chip.unavailable",settingsGeneralProfileTitle:"settings.general.profileTitle",settingsGeneralProfileDescription:"settings.general.profileDescription",settingsGeneralAvatarLabel:"settings.general.avatarLabel",settingsGeneralAvatarChangeLabel:"settings.general.avatarChangeLabel",settingsGeneralAvatarUploadLabel:"settings.general.avatarUploadLabel",settingsGeneralAvatarRemoveLabel:"settings.general.avatarRemoveLabel",settingsGeneralNameLabel:"settings.general.nameLabel",settingsGeneralAccountTitle:"settings.general.accountTitle",settingsGeneralAccountDescription:"settings.general.accountDescription",settingsGeneralSignOutButton:"settings.general.signOutButton",settingsGeneralSigningOutButton:"settings.general.signingOutButton",settingsGeneralSignOutFailed:"settings.general.signOutFailed",settingsGeneralSignOutFailedWithStatus:"settings.general.signOutFailedWithStatus",settingsGeneralSignOutCsrfError:"settings.general.signOutCsrfError",settingsGeneralSignOutForbiddenError:"settings.general.signOutForbiddenError",settingsGeneralSignOutUnauthenticated:"settings.general.signOutUnauthenticated",settingsGeneralLanguageTitle:"settings.general.languageTitle",settingsGeneralLanguageDescription:"settings.general.languageDescription",settingsGeneralAssistantLanguagePreferenceLabel:"settings.general.assistantLanguagePreferenceLabel",settingsGeneralAssistantLanguagePreferenceDescription:"settings.general.assistantLanguagePreferenceDescription",settingsGeneralAssistantLanguageSelectAriaLabel:"settings.general.assistantLanguageSelectAriaLabel",settingsGeneralAssistantLanguageUnspecifiedOption:"settings.general.assistantLanguageUnspecifiedOption",settingsGeneralLanguagePreferenceLabel:"settings.general.languagePreferenceLabel",settingsGeneralLanguagePreferenceDescription:"settings.general.languagePreferenceDescription",settingsGeneralLanguageSelectAriaLabel:"settings.general.languageSelectAriaLabel",settingsGeneralLanguageAutoOption:"settings.general.languageAutoOption",settingsGeneralLanguageEnglishOption:"settings.general.languageEnglishOption",settingsGeneralLanguageTraditionalChineseOption:"settings.general.languageTraditionalChineseOption",settingsGeneralLobbyMotionTitle:"settings.general.lobbyMotionTitle",settingsGeneralLobbyMotionDescription:"settings.general.lobbyMotionDescription",settingsGeneralLobbyMotionOffLabel:"settings.general.lobbyMotionOffLabel",settingsGeneralLobbyMotionOffDescription:"settings.general.lobbyMotionOffDescription",settingsGeneralLobbyMotionReducedLabel:"settings.general.lobbyMotionReducedLabel",settingsGeneralLobbyMotionReducedDescription:"settings.general.lobbyMotionReducedDescription",settingsGeneralLobbyMotionFullLabel:"settings.general.lobbyMotionFullLabel",settingsGeneralLobbyMotionFullDescription:"settings.general.lobbyMotionFullDescription",settingsGeneralGuideCatAssistTitle:"settings.general.guideCatAssistTitle",settingsGeneralGuideCatAssistDisabledDescription:"settings.general.guideCatAssistDisabledDescription",settingsGeneralGuideCatAssistEnabledDescription:"settings.general.guideCatAssistEnabledDescription",settingsGeneralOpenAssistantsButton:"settings.general.openAssistantsButton",settingsGeneralGuideCatAutoLabel:"settings.general.guideCatAutoLabel",settingsGeneralGuideCatAutoDescription:"settings.general.guideCatAutoDescription",settingsGeneralGuideCatSidePanelLabel:"settings.general.guideCatSidePanelLabel",settingsGeneralGuideCatSidePanelDescription:"settings.general.guideCatSidePanelDescription",settingsGeneralGuideCatBubbleLabel:"settings.general.guideCatBubbleLabel",settingsGeneralGuideCatBubbleDescription:"settings.general.guideCatBubbleDescription",settingsGeneralUpdateNameError:"settings.general.updateNameError",settingsGeneralUpdateAssistantLanguageError:"settings.general.updateAssistantLanguageError",settingsGeneralUpdateLanguageError:"settings.general.updateLanguageError",settingsGeneralUpdateLobbyAnimationError:"settings.general.updateLobbyAnimationError",settingsGeneralUpdateGuideCatModeError:"settings.general.updateGuideCatModeError",settingsGeneralRemoveAvatarError:"settings.general.removeAvatarError",settingsGeneralSaveAvatarError:"settings.general.saveAvatarError",settingsShellHeading:"settings.shell.heading",settingsShellSectionGeneral:"settings.shell.sectionGeneral",settingsShellSectionCats:"settings.shell.sectionCats",settingsShellSubsectionMyCats:"settings.shell.subsectionMyCats",settingsShellSubsectionAssistants:"settings.shell.subsectionAssistants",settingsShellSectionApps:"settings.shell.sectionApps",settingsShellSectionDesktop:"settings.shell.sectionDesktop",settingsShellSectionRuntime:"settings.shell.sectionRuntime",settingsShellSectionData:"settings.shell.sectionData",settingsShellCloseButtonLabel:"settings.shell.closeButtonLabel",settingsChatBossToolProfileTitle:"settings.chat.bossToolProfileTitle",settingsChatBossToolProfileUpdateFailure:"settings.chat.bossToolProfileUpdateFailure",settingsChatAdvancedControlsFailure:"settings.chat.advancedControlsFailure",settingsConversationProductLabelChat:"settings.conversation.productLabelChat",settingsConversationProductLabelCode:"settings.conversation.productLabelCode",settingsConversationProductLabelWork:"settings.conversation.productLabelWork",settingsConversationBehaviorTitle:"settings.conversation.behaviorTitle",settingsConversationBehaviorDescription:"settings.conversation.behaviorDescription",settingsConversationShowVerboseLabel:"settings.conversation.showVerboseLabel",settingsConversationShowVerboseDescription:"settings.conversation.showVerboseDescription",settingsConversationShowLiveProgressLabel:"settings.conversation.showLiveProgressLabel",settingsConversationShowLiveProgressDescription:"settings.conversation.showLiveProgressDescription",settingsConversationUpdateFailure:"settings.conversation.updateFailure",settingsConversationConcurrentLayoutLabel:"settings.conversation.concurrentLayoutLabel",settingsConversationConcurrentLayoutDescription:"settings.conversation.concurrentLayoutDescription",settingsConversationLayoutInlineStack:"settings.conversation.layoutInlineStack",settingsConversationLayoutCompareCards:"settings.conversation.layoutCompareCards",settingsConversationLayoutFocusRail:"settings.conversation.layoutFocusRail",settingsConversationLayoutAdaptive:"settings.conversation.layoutAdaptive",settingsAdvancedDraftControlsTitle:"settings.advancedDraftControls.title",settingsAdvancedDraftControlsDescription:"settings.advancedDraftControls.description",settingsAdvancedDraftControlsEnableLabel:"settings.advancedDraftControls.enableLabel",settingsAdvancedDraftControlsToggleDescription:"settings.advancedDraftControls.toggleDescription",settingsRuntimeStatusChipRuntimeUnavailable:"settings.runtime.statusChip.runtimeUnavailable",settingsRuntimeStatusChipRuntimeDegraded:"settings.runtime.statusChip.runtimeDegraded",settingsRuntimeStatusChipRuntimeReady:"settings.runtime.statusChip.runtimeReady",settingsRuntimeStatusChipSetupReadyToApply:"settings.runtime.statusChip.setupReadyToApply",settingsRuntimeStatusChipSetupNeedsRemediation:"settings.runtime.statusChip.setupNeedsRemediation",settingsRuntimeStatusChipProviderScanRequired:"settings.runtime.statusChip.providerScanRequired",settingsRuntimeStatusChipSetupUnavailable:"settings.runtime.statusChip.setupUnavailable",settingsRuntimeStatusTitle:"settings.runtime.statusTitle",settingsRuntimeStatusDescription:"settings.runtime.statusDescription",settingsRuntimeMetricReadyProviders:"settings.runtime.metricReadyProviders",settingsRuntimeMetricProvidersScanned:"settings.runtime.metricProvidersScanned",settingsRuntimeMetricNeedAttention:"settings.runtime.metricNeedAttention",settingsRuntimeNeedAttentionTitle:"settings.runtime.needAttentionTitle",settingsRuntimeNeedAttentionDescription:"settings.runtime.needAttentionDescription",settingsRuntimeProviderHelpersTitle:"settings.runtime.providerHelpersTitle",settingsRuntimeProviderHelpersDescription:"settings.runtime.providerHelpersDescription",settingsRuntimeNoProviderHelpers:"settings.runtime.noProviderHelpers",settingsRuntimeLoadingHelpers:"settings.runtime.loadingHelpers",settingsRuntimeWorkingState:"settings.runtime.workingState",settingsRuntimeActionCheckLabel:"settings.runtime.actions.check",settingsRuntimeActionInstallLabel:"settings.runtime.actions.install",settingsRuntimeActionUpgradeLabel:"settings.runtime.actions.upgrade",settingsRuntimeActionRepairLabel:"settings.runtime.actions.repair",settingsRuntimeActionUninstallLabel:"settings.runtime.actions.uninstall",settingsRuntimeUninstallButtonLabel:"settings.runtime.uninstallButtonLabel",settingsRuntimeModelCatalogsTitle:"settings.runtime.modelCatalogsTitle",settingsRuntimeModelCatalogsDescription:"settings.runtime.modelCatalogsDescription",settingsRuntimeRefreshingState:"settings.runtime.refreshingState",settingsRuntimeRefreshCatalogsButton:"settings.runtime.refreshCatalogsButton",settingsRuntimeStandaloneSetupTitle:"settings.runtime.standaloneSetupTitle",settingsRuntimeStandaloneSetupDescription:"settings.runtime.standaloneSetupDescription",settingsRuntimeOpenStandaloneSetup:"settings.runtime.openStandaloneSetup",settingsRuntimeCancelActionLabel:"settings.runtime.cancelActionLabel",settingsRuntimeCancelActionFallbackLabel:"settings.runtime.cancelActionFallbackLabel",settingsRuntimeRefreshFailure:"settings.runtime.refreshFailure",settingsRuntimeRefreshFailureWithStatus:"settings.runtime.refreshFailureWithStatus",settingsRuntimeRefreshSummary:"settings.runtime.refreshSummary",settingsRuntimeRefreshSummaryWithFailures:"settings.runtime.refreshSummaryWithFailures",settingsRuntimeUninstallTitle:"settings.runtime.uninstallTitle",settingsRuntimeUninstallHelperLabel:"settings.runtime.uninstallHelperLabel",settingsRuntimeUninstallScriptLabel:"settings.runtime.uninstallScriptLabel",settingsRuntimeComputingPlannedRemovals:"settings.runtime.computingPlannedRemovals",settingsRuntimePreviewUnavailable:"settings.runtime.previewUnavailable",settingsRuntimeNothingToRemove:"settings.runtime.nothingToRemove",settingsRuntimeSystemInstallDetected:"settings.runtime.systemInstallDetected",settingsRuntimeWillRemoveItems:"settings.runtime.willRemoveItems",settingsRuntimeSystemInstallCannotRemove:"settings.runtime.systemInstallCannotRemove",settingsRuntimeUninstallDescriptionPrefix:"settings.runtime.uninstallDescriptionPrefix",settingsRuntimeUninstallDescriptionSuffix:"settings.runtime.uninstallDescriptionSuffix",settingsRuntimeActionNoResult:"settings.runtime.actionNoResult",settingsRuntimeActionSuccessComplete:"settings.runtime.actionSuccessComplete",settingsRuntimeActionSuccessNothingToRemove:"settings.runtime.actionSuccessNothingToRemove",settingsRuntimeActionPartialWithDetail:"settings.runtime.actionPartialWithDetail",settingsRuntimeActionPartial:"settings.runtime.actionPartial",settingsRuntimeActionFailedWithDetail:"settings.runtime.actionFailedWithDetail",settingsRuntimeActionFailed:"settings.runtime.actionFailed",settingsRuntimeHostBridgeUnavailableClient:"settings.runtime.hostBridgeUnavailableClient",settingsRuntimeHostBridgeUnavailable:"settings.runtime.hostBridgeUnavailable",settingsRuntimePreviewMissingResult:"settings.runtime.previewMissingResult",settingsRuntimePreviewFailed:"settings.runtime.previewFailed",settingsRuntimeFixStepCount:"settings.runtime.fixStepCount",settingsRuntimeHelperLabelWindowsCliReadiness:"settings.runtime.helperLabel.windowsCliReadiness",settingsRuntimeHelperLabelWindowsVcRedist:"settings.runtime.helperLabel.windowsVcRedist",settingsRuntimeHelperLabelNodeHostInstaller:"settings.runtime.helperLabel.nodeHostInstaller",settingsRuntimeHelperLabelGithubCliHostInstaller:"settings.runtime.helperLabel.githubCliHostInstaller",settingsRuntimeHelperLabelNpmPrefixHelper:"settings.runtime.helperLabel.npmPrefixHelper",settingsRuntimeHelperLabelSetupReadinessAudit:"settings.runtime.helperLabel.setupReadinessAudit",settingsRuntimeHelperLabelPackagedBackgroundProcessHelper:"settings.runtime.helperLabel.packagedBackgroundProcessHelper",settingsRuntimeHelperLabelPackagedProviderUninstallHelper:"settings.runtime.helperLabel.packagedProviderUninstallHelper",settingsRuntimeHelperLabelPackagedNpmGlobalCliInstallerHelper:"settings.runtime.helperLabel.packagedNpmGlobalCliInstallerHelper",settingsRuntimeHelperLabelNativeProviderInstaller:"settings.runtime.helperLabel.nativeProviderInstaller",settingsRuntimeHelperLabelProviderInstaller:"settings.runtime.helperLabel.providerInstaller",settingsRuntimeHelperLabelLocalModelInstaller:"settings.runtime.helperLabel.localModelInstaller",settingsRuntimeHelperUnavailableReason:"settings.runtime.helperUnavailableReason",settingsRuntimeHelperUnsupportedPlatformReason:"settings.runtime.helperUnsupportedPlatformReason",settingsRuntimePlatformSupportAllDesktop:"settings.runtime.platformSupport.allDesktop",settingsRuntimePlatformSupportWindows:"settings.runtime.platformSupport.windows",settingsRuntimePlatformSupportWindowsWsl:"settings.runtime.platformSupport.windowsWsl",settingsRuntimePlatformSupportMacos:"settings.runtime.platformSupport.macos",settingsRuntimePlatformSupportLinux:"settings.runtime.platformSupport.linux",settingsRuntimeHelperUnsupportedActionReason:"settings.runtime.helperUnsupportedActionReason",settingsRuntimeLifecycleStatusAuthRequired:"settings.runtime.lifecycleStatus.authRequired",settingsRuntimeLifecycleStatusBlocked:"settings.runtime.lifecycleStatus.blocked",settingsRuntimeLifecycleStatusChangesRequired:"settings.runtime.lifecycleStatus.changesRequired",settingsRuntimeLifecycleStatusFailed:"settings.runtime.lifecycleStatus.failed",settingsRuntimeLifecycleStatusNotInstalled:"settings.runtime.lifecycleStatus.notInstalled",settingsRuntimeLifecycleStatusPreview:"settings.runtime.lifecycleStatus.preview",settingsRuntimeLifecycleStatusReady:"settings.runtime.lifecycleStatus.ready",settingsRuntimeLifecycleStatusRestartRequired:"settings.runtime.lifecycleStatus.restartRequired",settingsRuntimeLifecycleStatusUninstalled:"settings.runtime.lifecycleStatus.uninstalled",settingsRuntimeLifecycleDetailLaunchWslFirstBoot:"settings.runtime.lifecycleDetail.launchWslFirstBoot",settingsRuntimeLifecycleDetailStartDockerWarmUp:"settings.runtime.lifecycleDetail.startDockerWarmUp",settingsRuntimeLifecycleDetailRunMissingHostSubstrate:"settings.runtime.lifecycleDetail.runMissingHostSubstrate",settingsRuntimeLifecycleDetailRestartThenRerunMode:"settings.runtime.lifecycleDetail.restartThenRerunMode",settingsRuntimeLifecycleDetailRestartThenRerun:"settings.runtime.lifecycleDetail.restartThenRerun",settingsRuntimeLifecycleDetailRelaunchThenVerify:"settings.runtime.lifecycleDetail.relaunchThenVerify",settingsRuntimeLifecycleDetailElevationRequired:"settings.runtime.lifecycleDetail.elevationRequired",settingsRuntimeLifecycleDetailAuthThenRerunMode:"settings.runtime.lifecycleDetail.authThenRerunMode",settingsRuntimeLifecycleDetailRetryAfterFailure:"settings.runtime.lifecycleDetail.retryAfterFailure",settingsRuntimeLifecycleDetailRunMissingRequirement:"settings.runtime.lifecycleDetail.runMissingRequirement",settingsRuntimeLifecycleDetailFinishManualFollowThrough:"settings.runtime.lifecycleDetail.finishManualFollowThrough",settingsRuntimeLifecycleDetailRunApplyRemainingChanges:"settings.runtime.lifecycleDetail.runApplyRemainingChanges",settingsRuntimeLifecycleDetailRerunCheckToVerify:"settings.runtime.lifecycleDetail.rerunCheckToVerify",settingsRuntimeLifecycleDetailFinishedWithStatus:"settings.runtime.lifecycleDetail.finishedWithStatus",settingsRuntimeLifecycleModeApply:"settings.runtime.lifecycleMode.apply",settingsRuntimeLifecycleModeCheck:"settings.runtime.lifecycleMode.check",settingsRuntimeLifecycleModeForce:"settings.runtime.lifecycleMode.force",settingsRuntimeLifecycleModeUninstall:"settings.runtime.lifecycleMode.uninstall",settingsRuntimeLifecycleModeUpgrade:"settings.runtime.lifecycleMode.upgrade",settingsRouteTitleAssistants:"settings.route.title.assistants",settingsRouteTitleMyCats:"settings.route.title.myCats",settingsRouteTitleChat:"settings.route.title.chat",settingsRouteTitleWork:"settings.route.title.work",settingsRouteTitleCode:"settings.route.title.code",settingsRouteTitleApps:"settings.route.title.apps",settingsRouteTitleDesktop:"settings.route.title.desktop",settingsRouteTitleRuntime:"settings.route.title.runtime",settingsRouteTitleData:"settings.route.title.data",settingsRouteTitleGeneral:"settings.route.title.general",settingsRouteTitleNotFound:"settings.route.title.notFound",settingsRouteNotFoundDescription:"settings.route.notFound.description",settingsRouteNotFoundOpenGeneral:"settings.route.notFound.openGeneral",settingsCanvasLoadingLabel:"settings.canvas.loadingLabel",settingsCanvasLoadErrorTitle:"settings.canvas.loadErrorTitle",settingsCanvasLoadErrorBody:"settings.canvas.loadErrorBody",settingsAppsSectionTitle:"settings.apps.sectionTitle",settingsAppsSectionDescription:"settings.apps.sectionDescription",settingsAppsInstalledPackagesLabel:"settings.apps.installedPackagesLabel",settingsAppsInstalledPackagesDescription:"settings.apps.installedPackagesDescription",settingsAppsNoInstalledAppsLabel:"settings.apps.noInstalledAppsLabel",settingsAppsNoInstalledAppsDescription:"settings.apps.noInstalledAppsDescription",settingsAppsEmptyStateChipLabel:"settings.apps.emptyStateChipLabel",settingsAppsLocalInstallTitle:"settings.apps.localInstallTitle",settingsAppsLocalInstallDescription:"settings.apps.localInstallDescription",settingsAppsPackagePathLabel:"settings.apps.packagePathLabel",settingsAppsPackagePathPlaceholder:"settings.apps.packagePathPlaceholder",settingsAppsReviewButton:"settings.apps.reviewButton",settingsAppsReadyStatusChip:"settings.apps.readyStatusChip",settingsAppsNeedsReviewStatusChip:"settings.apps.needsReviewStatusChip",settingsAppsNoLobbyRoute:"settings.apps.noLobbyRoute",settingsAppsInstallButton:"settings.apps.installButton",settingsAppsEnableAction:"settings.apps.enableAction",settingsAppsDisableAction:"settings.apps.disableAction",settingsAppsUninstallAction:"settings.apps.uninstallAction",settingsAppsOpenAction:"settings.apps.openAction",settingsAppsSettingsAction:"settings.apps.settingsAction",settingsAppsUninstallTitle:"settings.apps.uninstallTitle",settingsAppsEnableTitle:"settings.apps.enableTitle",settingsAppsDisableTitle:"settings.apps.disableTitle",settingsAppsUninstallMessage:"settings.apps.uninstallMessage",settingsAppsEnableMessage:"settings.apps.enableMessage",settingsAppsDisableMessage:"settings.apps.disableMessage",settingsAppsInstallTitle:"settings.apps.installTitle",settingsAppsInstallMessage:"settings.apps.installMessage",settingsAppsLocalInstallReady:"settings.apps.localInstallReady",settingsAppsLocalInstallNeedsReview:"settings.apps.localInstallNeedsReview",settingsAppsCategoryConnector:"settings.apps.category.connector",settingsAppsCategoryProductModule:"settings.apps.category.productModule",settingsAppsCategoryUserApp:"settings.apps.category.userApp",settingsAppsInstallStateEnabled:"settings.apps.installState.enabled",settingsAppsInstallStateInstalled:"settings.apps.installState.installed",settingsAppsInstallStateDisabled:"settings.apps.installState.disabled",settingsAppsInstallStateError:"settings.apps.installState.error",settingsAppsInstallStateUpgradePending:"settings.apps.installState.upgradePending",settingsAppsInstallStateUninstalled:"settings.apps.installState.uninstalled",settingsAppsTrustTierLocalUser:"settings.apps.trustTier.localUser",settingsAppsTrustTierSystem:"settings.apps.trustTier.system",settingsAppsTrustTierThirdParty:"settings.apps.trustTier.thirdParty",settingsAppsPermissionCount:"settings.apps.permissionCount",settingsAppsToolCount:"settings.apps.toolCount",settingsAppsCapabilitySingular:"settings.apps.capabilitySingular",settingsAppsCapabilityPlural:"settings.apps.capabilityPlural",settingsAppsConnectorCountSingle:"settings.apps.connectorCountSingle",settingsAppsConnectorCountMany:"settings.apps.connectorCountMany",settingsAppsAuthLabel:"settings.apps.authLabel",settingsAppsConfirmMutationFailed:"settings.apps.confirmMutationFailed",settingsAppsConfirmMutationFailedFallback:"settings.apps.confirmMutationFailedFallback",settingsAppsMutationFailed:"settings.apps.mutationFailed",settingsAppsMutationFailedFallback:"settings.apps.mutationFailedFallback",settingsAppsPackagePathRequired:"settings.apps.packagePathRequired",settingsAppsValidationFailed:"settings.apps.validationFailed",settingsAppsErrorNotInstalled:"settings.apps.error.notInstalled",settingsAppsErrorNotEnabled:"settings.apps.error.notEnabled",settingsAppsErrorPackagePathNotFound:"settings.apps.error.packagePathNotFound",settingsAppsErrorInvalidManifestJson:"settings.apps.error.invalidManifestJson",settingsAppsErrorCannotReadManifest:"settings.apps.error.cannotReadManifest",settingsAppsErrorReservedAppId:"settings.apps.error.reservedAppId",settingsAppsErrorDuplicateAppId:"settings.apps.error.duplicateAppId",settingsAppsErrorManifestInvalid:"settings.apps.error.manifestInvalid",settingsAppsErrorValidationIssueWithPath:"settings.apps.error.validationIssueWithPath",settingsAppsErrorValidationIssue:"settings.apps.error.validationIssue",settingsAppsOpenPairingUrl:"settings.apps.openPairingUrl",settingsDataResetAllDataTitle:"settings.data.resetAllDataTitle",settingsDataResetAllDataDescription:"settings.data.resetAllDataDescription",settingsDataResetButtonResetting:"settings.data.resetButtonResetting",settingsDataResetButtonLabel:"settings.data.resetButtonLabel",settingsDataResetFailure:"settings.data.resetFailure",settingsConversationPreferenceUpdateFailure:"settings.conversation.preferenceUpdateFailure",settingsDesktopMobilePairingTitle:"settings.desktop.mobilePairingTitle",settingsDesktopMobilePairingDescription:"settings.desktop.mobilePairingDescription",settingsDesktopMobilePairingStatusDisabled:"settings.desktop.mobilePairingStatusDisabled",settingsDesktopMobilePairingStatusLoopbackOnly:"settings.desktop.mobilePairingStatusLoopbackOnly",settingsDesktopMobilePairingStatusNoLanAddress:"settings.desktop.mobilePairingStatusNoLanAddress",settingsDesktopMobilePairingStatusReady:"settings.desktop.mobilePairingStatusReady",settingsDesktopMobilePairingStatusValidationPending:"settings.desktop.mobilePairingStatusValidationPending",settingsDesktopMobilePairingEnableLabel:"settings.desktop.mobilePairingEnableLabel",settingsDesktopMobilePairingEnableDescription:"settings.desktop.mobilePairingEnableDescription",settingsDesktopMobilePairingEnableButton:"settings.desktop.mobilePairingEnableButton",settingsDesktopMobilePairingApplyingButton:"settings.desktop.mobilePairingApplyingButton",settingsDesktopMobilePairingBindLabel:"settings.desktop.mobilePairingBindLabel",settingsDesktopMobilePairingReachabilityLabel:"settings.desktop.mobilePairingReachabilityLabel",settingsDesktopMobilePairingLanAddressLabel:"settings.desktop.mobilePairingLanAddressLabel",settingsDesktopMobilePairingNoneLabel:"settings.desktop.mobilePairingNoneLabel",settingsDesktopMobilePairingReachabilityLoopback:"settings.desktop.mobilePairingReachabilityLoopback",settingsDesktopMobilePairingReachabilityLan:"settings.desktop.mobilePairingReachabilityLan",settingsDesktopMobilePairingReachabilityAllInterfaces:"settings.desktop.mobilePairingReachabilityAllInterfaces",settingsDesktopMobilePairingReachabilityOtherInterface:"settings.desktop.mobilePairingReachabilityOtherInterface",settingsDesktopMobilePairingAllowLanLabel:"settings.desktop.mobilePairingAllowLanLabel",settingsDesktopMobilePairingAllowLanDescription:"settings.desktop.mobilePairingAllowLanDescription",settingsDesktopMobilePairingApplyAndRestartButton:"settings.desktop.mobilePairingApplyAndRestartButton",settingsDesktopMobilePairingNoLanAddressNote:"settings.desktop.mobilePairingNoLanAddressNote",settingsDesktopMobilePairingHostMismatchNote:"settings.desktop.mobilePairingHostMismatchNote",settingsDesktopMobilePairingDiagnosticLabel:"settings.desktop.mobilePairingDiagnosticLabel",settingsDesktopMobilePairingDiagnosticCopyButton:"settings.desktop.mobilePairingDiagnosticCopyButton",settingsDesktopMobilePairingDiagnosticCopiedMessage:"settings.desktop.mobilePairingDiagnosticCopiedMessage",settingsDesktopMobilePairingExpoUrlLabel:"settings.desktop.mobilePairingExpoUrlLabel",settingsDesktopMobilePairingExpoUrlCopiedMessage:"settings.desktop.mobilePairingExpoUrlCopiedMessage",settingsDesktopMobilePairingCopyUrlButton:"settings.desktop.mobilePairingCopyUrlButton",settingsDesktopMobilePairingQrUrlTooLong:"settings.desktop.mobilePairingQrUrlTooLong",settingsDesktopMobilePairingQrCodeLabel:"settings.desktop.mobilePairingQrCodeLabel",settingsDesktopMobilePairingNoPairingUrlStatus:"settings.desktop.mobilePairingNoPairingUrlStatus",settingsDesktopMobilePairingOpenPairingUrlLabel:"settings.desktop.mobilePairingOpenPairingUrlLabel",settingsDesktopMobilePairingCopyEnvValuesSuccess:"settings.desktop.mobilePairingCopyEnvValuesSuccess",settingsDesktopMobilePairingConfirmRestart:"settings.desktop.mobilePairingConfirmRestart",settingsDesktopMobilePairingDesktopUpdateSuccess:"settings.desktop.mobilePairingDesktopUpdateSuccess",settingsDesktopMobilePairingDesktopUpdateFailure:"settings.desktop.mobilePairingDesktopUpdateFailure",settingsDesktopStartupTitle:"settings.desktop.startupTitle",settingsDesktopStartupDescription:"settings.desktop.startupDescription",settingsDesktopStartupSignInLabel:"settings.desktop.startupSignInLabel",settingsDesktopStartupSignInDescription:"settings.desktop.startupSignInDescription",settingsDesktopStartupTrayLabel:"settings.desktop.startupTrayLabel",settingsDesktopStartupTrayDescription:"settings.desktop.startupTrayDescription",settingsDesktopStartupOpenWindowLabel:"settings.desktop.startupOpenWindowLabel",settingsDesktopStartupOpenWindowDescription:"settings.desktop.startupOpenWindowDescription",workNewChatDraftStartProjectChipLabel:"work.newChatDraft.startProjectChipLabel",workNewChatDraftStartProjectPrompt:"work.newChatDraft.startProjectPrompt",workNewChatDraftAddTaskChipLabel:"work.newChatDraft.addTaskChipLabel",workNewChatDraftAddTaskPrompt:"work.newChatDraft.addTaskPrompt",workNewChatDraftPlanSprintChipLabel:"work.newChatDraft.planSprintChipLabel",workNewChatDraftPlanSprintPrompt:"work.newChatDraft.planSprintPrompt",workNewChatDraftScheduleReviewChipLabel:"work.newChatDraft.scheduleReviewChipLabel",workNewChatDraftScheduleReviewPrompt:"work.newChatDraft.scheduleReviewPrompt",workNewChatDraftTriageBacklogChipLabel:"work.newChatDraft.triageBacklogChipLabel",workNewChatDraftTriageBacklogPrompt:"work.newChatDraft.triageBacklogPrompt",workItemsListTitle:"work.items.listTitle",workItemsListNewAction:"work.items.newAction",workItemsListImportExternalIssueAction:"work.items.importExternalIssueAction",workItemsListImportExternalIssueAriaLabel:"work.items.importExternalIssueAriaLabel",workItemsListCreateNewWorkItem:"work.items.createNewWorkItem",workItemsListCreateNewWorkItemAriaLabel:"work.items.createNewWorkItemAriaLabel",workItemsListLoading:"work.items.loading",workItemsListLoadError:"work.items.loadError",workItemsListEmptyIntro:"work.items.emptyIntro",workItemsListEmptyActionLabel:"work.items.emptyActionLabel",workItemsListEmptySuffix:"work.items.emptySuffix",workItemsListProjectPrefix:"work.items.projectPrefix",workItemsListProjectOrphan:"work.items.projectOrphan",workItemsListDecisionPill:"work.items.pill.decision",workItemsListBlockedPill:"work.items.pill.blocked",workItemsListTasksLabel:"work.items.tasksLabel",workItemsListOpenWorkItemAria:"work.items.openWorkItemAriaLabel",workItemsListParentWorkItemTooltip:"work.items.parentWorkItemTooltip",workSidebarNewWorkLabel:"work.sidebar.newWorkLabel",workSidebarTeamWorkLabel:"work.sidebar.teamWorkLabel",workSidebarParallelWorkLabel:"work.sidebar.parallelWorkLabel",workSidebarPortfolioLabel:"work.sidebar.portfolioLabel",workSidebarProjectsLabel:"work.sidebar.projectsLabel",workSidebarManagedWorkLabel:"work.sidebar.managedWorkLabel",workSidebarWorkItemsLabel:"work.sidebar.workItemsLabel",workSidebarTasksLabel:"work.sidebar.tasksLabel",workSidebarRunsLabel:"work.sidebar.runsLabel",workSidebarMissionsLabel:"work.sidebar.missionsLabel",workSidebarSchedulesLabel:"work.sidebar.schedulesLabel",workSidebarExecutionLabel:"work.sidebar.executionLabel",workSidebarSystemMapLabel:"work.sidebar.systemMapLabel",workSidebarCockpitLabel:"work.sidebar.cockpitLabel",workSidebarBrokenLinksLabel:"work.sidebar.brokenLinksLabel",workSidebarWarRoomLabel:"work.sidebar.warRoomLabel",workSidebarWorkTopDownSurfacesLabel:"work.sidebar.workTopDownSurfacesLabel",workSidebarUnpinProjectLabel:"work.sidebar.unpinProjectLabel",workSidebarDeleteProjectLabel:"work.sidebar.deleteProjectLabel",workSidebarNoWorkYetLabel:"work.sidebar.noWorkYetLabel",workQueryHttpError:"work.query.httpError",workQueryHttpErrorWithStatusText:"work.query.httpErrorWithStatusText",workGraphLoadErrorFallback:"work.graph.loadErrorFallback",workMissionsListTitle:"work.missions.listTitle",workMissionsListLede:"work.missions.lede",workMissionsListLoading:"work.missions.loading",workMissionsListLoadError:"work.missions.loadError",workMissionsListEmpty:"work.missions.emptyLabel",workMissionsListOpenMissionAria:"work.missions.openMissionAriaLabel",workMissionBackLabel:"work.mission.backLabel",workMissionBackArrowLabel:"work.mission.backArrowLabel",workMissionCancelConfirmation:"work.mission.cancelConfirmation",workMissionCancelBlocked:"work.mission.cancelBlocked",workMissionCancelBlockedNoDetails:"work.mission.cancelBlockedNoDetails",workMissionCancelError:"work.mission.cancelError",workMissionCancelRouteFailed:"work.mission.cancelRouteFailed",workMissionCancelLabel:"work.mission.cancelLabel",workMissionCancelLabelBusy:"work.mission.cancelLabelBusy",workCancellationBlockerRunNotStoppable:"work.cancellation.blocker.runNotStoppable",workCancellationBlockerNoRuntimeSession:"work.cancellation.blocker.noRuntimeSession",workCancellationBlockerRuntimeClientUnavailable:"work.cancellation.blocker.runtimeClientUnavailable",workCancellationBlockerRuntimeCancellationFailed:"work.cancellation.blocker.runtimeCancellationFailed",workMissionSummaryTitle:"work.mission.summaryTitle",workMissionStatusLabel:"work.mission.statusLabel",workMissionAssignedAgentLabel:"work.mission.assignedAgentLabel",workMissionUpdatedAtLabel:"work.mission.updatedAtLabel",workMissionWorkItemLabel:"work.mission.workItemLabel",workMissionConversationLabel:"work.mission.conversationLabel",workMissionTasksHeading:"work.mission.tasksHeading",workMissionNoLinkedWorkItemForTasks:"work.mission.noLinkedWorkItemForTasks",workMissionNoLinkedWorkItemForRuns:"work.mission.noLinkedWorkItemForRuns",workMissionNoTasks:"work.mission.noTasks",workMissionRunsHeading:"work.mission.runsHeading",workMissionNoTransitiveRuns:"work.mission.noTransitiveRuns",workMissionLoadingLabel:"work.mission.loadingLabel",workMissionNotFound:"work.mission.notFound",workMissionNoMissionId:"work.mission.noMissionId",workProjectsListTitle:"work.projects.listTitle",workProjectsNewAction:"work.projects.newAction",workProjectsCreateNewProjectAriaLabel:"work.projects.createNewProjectAriaLabel",workProjectsListLoading:"work.projects.loading",workProjectsListLoadError:"work.projects.loadError",workProjectsListEmptyIntro:"work.projects.emptyIntro",workProjectsListEmptySuffix:"work.projects.emptySuffix",workProjectsOpenProjectAriaLabel:"work.projects.openProjectAriaLabel",workProjectsDecisionPill:"work.projects.decisionPill",workProjectsBlockedPill:"work.projects.blockedPill",workProjectsWorkItemsAbbrev:"work.projects.workItemsAbbrev",workProjectsTasksLabel:"work.projects.tasksLabel",workProjectBackLabel:"work.project.backLabel",workProjectBackArrowLabel:"work.project.backArrowLabel",workProjectUpdatedAtPrefix:"work.project.updatedAtPrefix",workProjectDeleteLabel:"work.project.deleteLabel",workProjectDeleteLabelBusy:"work.project.deleteLabelBusy",workProjectDeleteConfirmation:"work.project.deleteConfirmation",workProjectDeleteError:"work.project.deleteError",workProjectOverviewTitle:"work.project.overviewTitle",workProjectSummaryLabel:"work.project.summaryLabel",workProjectOwnerLabel:"work.project.ownerLabel",workProjectConversationLabel:"work.project.conversationLabel",workProjectWorkItemsTitle:"work.project.workItemsTitle",workProjectNoWorkItems:"work.project.noWorkItems",workProjectTasksTitle:"work.project.tasksTitle",workProjectNoTasks:"work.project.noTasks",workProjectActivityTitle:"work.project.activityTitle",workProjectNoActivity:"work.project.noActivity",workProjectLoadingLabel:"work.project.loadingLabel",workProjectNotFoundTitle:"work.project.notFoundTitle",workProjectMissingIdLabel:"work.project.missingIdLabel",workProjectNotFoundPrefix:"work.project.notFoundPrefix",workProjectNotFoundSuffix:"work.project.notFoundSuffix",workRunsListTitle:"work.runs.listTitle",workRunsListLede:"work.runs.lede",workRunsListLoading:"work.runs.loading",workRunsListLoadError:"work.runs.loadError",workRunsListNoRunsIntro:"work.runs.noRunsIntro",workRunOpenAriaLabel:"work.run.openAriaLabel",workRunOpenSubRunAriaLabel:"work.run.openSubRunAriaLabel",workRunSubRunChip:"work.run.subRunChip",workRunStopErrorWithError:"work.run.stopErrorWithError",workRunStopErrorFallback:"work.run.stopErrorFallback",workRunStopNotStoppable:"work.run.stopNotStoppable",workRunStopNotStoppableGeneric:"work.run.stopNotStoppableGeneric",workRunStopConfirmation:"work.run.stopConfirmation",workRunStopError:"work.run.stopError",workRunStopRouteFailed:"work.run.stopRouteFailed",workRunBackArrowLabel:"work.run.backArrowLabel",workRunBackLabel:"work.run.backLabel",workRunStopLabel:"work.run.stopLabel",workRunStopLabelBusy:"work.run.stopLabelBusy",workRunSummaryBlockedBeforeRuntimeLaunch:"work.run.summary.blockedBeforeRuntimeLaunch",workRunSummaryBlockedBeforeScheduledRuntimeLaunch:"work.run.summary.blockedBeforeScheduledRuntimeLaunch",workRunSummaryLaunchingScheduledMission:"work.run.summary.launchingScheduledMission",workRunSummaryProviderAgentRuntimeMessageCompleted:"work.run.summary.providerAgentRuntimeMessageCompleted",workRunSummaryQueuedSupervisedWorkRun:"work.run.summary.queuedSupervisedWorkRun",workRunSummaryRelayFanOutDispatch:"work.run.summary.relayFanOutDispatch",workRunSummaryStartedSupervisedCodeTaskExecution:"work.run.summary.startedSupervisedCodeTaskExecution",workRunSummaryTitle:"work.run.summaryTitle",workRunStatusLabel:"work.run.statusLabel",workRunUpdatedLabel:"work.run.updatedLabel",workRunDurationLabel:"work.run.durationLabel",workRunParentRunLabel:"work.run.parentRunLabel",workRunConversationLabel:"work.run.conversationLabel",workRunSubRunsTitle:"work.run.subRunsTitle",workRunNoSubRuns:"work.run.noSubRuns",workRunTraceTitle:"work.run.traceTitle",workRunTraceLoading:"work.run.traceLoading",workRunTraceLoadFallback:"work.run.traceLoadFallback",workRunTraceLoadError:"work.run.traceLoadError",workRunTraceEmptyQueued:"work.run.traceEmptyQueued",workRunTraceEmptyRunning:"work.run.traceEmptyRunning",workRunTraceEmptyBlocked:"work.run.traceEmptyBlocked",workRunTraceEmptyCompleted:"work.run.traceEmptyCompleted",workRunTraceEmptyFailed:"work.run.traceEmptyFailed",workRunTraceEmptyCancelled:"work.run.traceEmptyCancelled",workRunTraceEmptyDefault:"work.run.traceEmptyDefault",workRunTraceNoActorRecorded:"work.run.traceNoActorRecorded",workRunTraceKindUnknown:"work.run.traceKindUnknown",workRunArtifactStatusDraft:"work.run.artifactStatus.draft",workRunArtifactStatusReady:"work.run.artifactStatus.ready",workRunArtifactStatusPublished:"work.run.artifactStatus.published",workRunArtifactStatusArchived:"work.run.artifactStatus.archived",workRunActivitiesTitle:"work.run.activitiesTitle",workRunOutcomesTitle:"work.run.outcomesTitle",workRunArtifactsTitle:"work.run.artifactsTitle",workRunLoadingLabel:"work.run.loadingLabel",workRunNotFound:"work.run.notFound",workRunNoRunId:"work.run.noRunId",workSchedulesListTitle:"work.schedules.listTitle",workSchedulesListLede:"work.schedules.lede",workSchedulesListLoadErrorFallback:"work.schedules.loadErrorFallback",workSchedulesExportAction:"work.schedules.exportAction",workSchedulesListLoading:"work.schedules.loading",workSchedulesListEmpty:"work.schedules.empty",workScheduleOpenAriaLabel:"work.schedule.openAriaLabel",workScheduleNextFireChip:"work.schedule.nextFireChip",workScheduleReceiptChip:"work.schedule.receiptChip",workScheduleEnabledStatus:"work.schedule.enabledStatus",workScheduleDisabledStatus:"work.schedule.disabledStatus",workScheduleSummaryOnceAt:"work.schedule.summary.onceAt",workScheduleSummaryDailyAt:"work.schedule.summary.dailyAt",workScheduleDateNone:"work.schedule.dateNone",workScheduleReceiptStatusClaimed:"work.schedule.receiptStatus.claimed",workScheduleReceiptStatusAdmitted:"work.schedule.receiptStatus.admitted",workScheduleReceiptStatusDuplicate:"work.schedule.receiptStatus.duplicate",workScheduleReceiptStatusSkipped:"work.schedule.receiptStatus.skipped",workScheduleReceiptStatusFailed:"work.schedule.receiptStatus.failed",workScheduleTriggerReasonDue:"work.schedule.triggerReason.due",workScheduleTriggerReasonManualTest:"work.schedule.triggerReason.manualTest",workScheduleTriggerReasonStartupMisfire:"work.schedule.triggerReason.startupMisfire",workScheduleTriggerReasonRetry:"work.schedule.triggerReason.retry",workScheduleMissionPolicyPerFire:"work.schedule.missionPolicy.perFire",workScheduleConcurrencyPolicySkip:"work.schedule.concurrencyPolicy.skip",workScheduleConcurrencyPolicyQueue:"work.schedule.concurrencyPolicy.queue",workScheduleConcurrencyPolicyReplace:"work.schedule.concurrencyPolicy.replace",workScheduleMisfirePolicySkip:"work.schedule.misfirePolicy.skip",workScheduleMisfirePolicyFireOnce:"work.schedule.misfirePolicy.fireOnce",workScheduleMisfirePolicyFireAll:"work.schedule.misfirePolicy.fireAll",workScheduleRetryBackoffNone:"work.schedule.retryBackoff.none",workScheduleRetryBackoffFixed:"work.schedule.retryBackoff.fixed",workScheduleRetryBackoffExponential:"work.schedule.retryBackoff.exponential",workScheduleRuleNotLoadedError:"work.schedule.ruleNotLoadedError",workScheduleCreateFailed:"work.schedule.createFailed",workScheduleUpdateFailed:"work.schedule.updateFailed",workScheduleTestFireFailed:"work.schedule.testFireFailed",workScheduleDeleteFailed:"work.schedule.deleteFailed",workScheduleDeleteConfirmation:"work.schedule.deleteConfirmation",workScheduleActionFailed:"work.schedule.actionFailed",workScheduleLoadingTitle:"work.schedule.loadingTitle",workScheduleLoadingLabel:"work.schedule.loadingLabel",workScheduleLoadFailed:"work.schedule.loadFailed",workScheduleOverviewTitle:"work.schedule.overviewTitle",workScheduleScheduleLabel:"work.schedule.scheduleLabel",workScheduleTimezoneLabel:"work.schedule.timezoneLabel",workScheduleRevisionLabel:"work.schedule.revisionLabel",workScheduleTargetLabel:"work.schedule.targetLabel",workScheduleTargetKindCat:"work.schedule.targetKind.cat",workScheduleTargetKindAgent:"work.schedule.targetKind.agent",workScheduleOriginLabel:"work.schedule.originLabel",workScheduleOriginSchedule:"work.schedule.origin.schedule",workScheduleMissionPolicyLabel:"work.schedule.missionPolicyLabel",workScheduleConcurrencyLabel:"work.schedule.concurrencyLabel",workScheduleMisfireLabel:"work.schedule.misfireLabel",workScheduleRetryLabel:"work.schedule.retryLabel",workScheduleRetryNone:"work.schedule.retryNone",workScheduleRetryPolicyValue:"work.schedule.retryPolicyValue",workScheduleDiagnosticsTitle:"work.schedule.diagnosticsTitle",workScheduleNextFireLabel:"work.schedule.nextFireLabel",workScheduleLastScheduledFireLabel:"work.schedule.lastScheduledFireLabel",workScheduleLastRunLabel:"work.schedule.lastRunLabel",workScheduleConsecutiveFailuresLabel:"work.schedule.consecutiveFailuresLabel",workScheduleDisabledDiagnosticFallback:"work.schedule.disabledDiagnosticFallback",workScheduleRetryStatePill:"work.schedule.retryStatePill",workScheduleLastFailurePill:"work.schedule.lastFailurePill",workScheduleRecentTriggersTitle:"work.schedule.recentTriggersTitle",workScheduleNoTriggerReceipts:"work.schedule.noTriggerReceipts",workScheduleRetryAttemptSuffix:"work.schedule.retryAttemptSuffix",workScheduleBackArrowLabel:"work.schedule.backArrowLabel",workScheduleBackLabel:"work.schedule.backLabel",workScheduleTestFireBusyLabel:"work.schedule.testFireBusyLabel",workScheduleTestFireLabel:"work.schedule.testFireLabel",workScheduleUpdatingLabel:"work.schedule.updatingLabel",workScheduleDisableLabel:"work.schedule.disableLabel",workScheduleEnableLabel:"work.schedule.enableLabel",workScheduleDeleteAriaLabel:"work.schedule.deleteAriaLabel",workScheduleDeleteBusyLabel:"work.schedule.deleteBusyLabel",workScheduleDeleteLabel:"work.schedule.deleteLabel",workScheduleMissingIdLabel:"work.schedule.missingIdLabel",workScheduleNotFoundTitle:"work.schedule.notFoundTitle",workScheduleNotFoundPrefix:"work.schedule.notFoundPrefix",workScheduleNotFoundSuffix:"work.schedule.notFoundSuffix",workItemBackLabel:"work.item.backLabel",workItemBackArrowLabel:"work.item.backArrowLabel",workItemUpdatedAtPrefix:"work.item.updatedAtPrefix",workItemDeleteLabel:"work.item.deleteLabel",workItemDeleteLabelBusy:"work.item.deleteLabelBusy",workItemDeleteConfirmation:"work.item.deleteConfirmation",workItemDeleteConfirmationDetail:"work.item.deleteConfirmationDetail",workItemDeleteError:"work.item.deleteError",workItemOverviewTitle:"work.item.overviewTitle",workItemSummaryLabel:"work.item.summaryLabel",workItemProjectLabel:"work.item.projectLabel",workItemParentLabel:"work.item.parentLabel",workItemOwnerLabel:"work.item.ownerLabel",workItemConversationLabel:"work.item.conversationLabel",workItemOrphanSummaryFallback:"work.item.orphanSummaryFallback",workItemNoTasksLabel:"work.item.noTasksLabel",workItemTasksTitle:"work.item.tasksTitle",workItemMissionsTitle:"work.item.missionsTitle",workItemSubWorkItemsTitle:"work.item.subWorkItemsTitle",workItemNoSubWorkItems:"work.item.noSubWorkItems",workItemNoMissions:"work.item.noMissions",workItemSubWorkItemsCountLabel:"work.item.subWorkItemsCountLabel",workItemNoActivity:"work.item.noActivity",workItemActivityTitle:"work.item.activityTitle",workItemLoadingLabel:"work.item.loadingLabel",workItemNotFoundTitle:"work.item.notFoundTitle",workItemNotFoundText:"work.item.notFoundText",workItemNotInProjectionText:"work.item.notInProjectionText",workItemMissedTitle:"work.item.missedTitle",workItemNoTasksYetLabel:"work.item.noTasksYetLabel",workItemNotFoundCodeLabel:"work.item.notFoundCodeLabel",workExternalEmpty:"work.external.empty",workExternalLinkIssueAction:"work.external.linkIssueAction",workExternalLinkTrackerAction:"work.external.linkTrackerAction",workExternalLinkDialogTitle:"work.external.dialogTitle",workExternalLinkCloseLabel:"work.external.closeLabel",workExternalProviderLabel:"work.external.providerLabel",workExternalProviderGithub:"work.external.provider.github",workExternalProviderGitlab:"work.external.provider.gitlab",workExternalProviderGitea:"work.external.provider.gitea",workExternalProviderRedmine:"work.external.provider.redmine",workExternalProviderBugzilla:"work.external.provider.bugzilla",workExternalTypeLabel:"work.external.typeLabel",workExternalTypeIssue:"work.external.type.issue",workExternalTypeTicket:"work.external.type.ticket",workExternalTypeProject:"work.external.type.project",workExternalIdLabel:"work.external.idLabel",workExternalIdPlaceholder:"work.external.idPlaceholder",workExternalUrlLabel:"work.external.urlLabel",workExternalUrlPlaceholder:"work.external.urlPlaceholder",workExternalSyncDirectionLabel:"work.external.syncDirectionLabel",workExternalSyncPull:"work.external.sync.pull",workExternalSyncPush:"work.external.sync.push",workExternalSyncBidirectional:"work.external.sync.bidirectional",workExternalCancelButton:"work.external.cancelButton",workExternalSubmitLabel:"work.external.submitLabel",workExternalSubmitBusyLabel:"work.external.submitBusyLabel",workExternalLinkError:"work.external.linkError",workExternalUnlinkAction:"work.external.unlinkAction",workExternalUnlinkAriaLabel:"work.external.unlinkAriaLabel",workExternalUnlinkConfirmation:"work.external.unlinkConfirmation",workExternalUnlinkError:"work.external.unlinkError",workExternalImportDialogTitle:"work.external.import.dialogTitle",workExternalImportProviderLabel:"work.external.import.providerLabel",workExternalImportUrlLabel:"work.external.import.urlLabel",workExternalImportUrlPlaceholder:"work.external.import.urlPlaceholder",workExternalImportCancelButton:"work.external.import.cancelButton",workExternalImportSubmitLabel:"work.external.import.submitLabel",workExternalImportSubmitBusyLabel:"work.external.import.submitBusyLabel",workExternalImportError:"work.external.import.error",workExternalImportExternalIssueLabel:"work.external.import.externalIssueLabel",workExternalImportProviderGithub:"work.external.import.provider.github",workExternalImportProviderRedmine:"work.external.import.provider.redmine",workExternalImportProviderBugzilla:"work.external.import.provider.bugzilla",workExternalImportTypeIssue:"work.external.import.type.issue",workExternalImportTypeTicket:"work.external.import.type.ticket",workExternalImportResultImported:"work.external.import.result.imported",workExternalImportResultLinked:"work.external.import.result.linked",workExternalImportResultAlreadyImported:"work.external.import.result.alreadyImported",workExternalImportFailureBody:"work.external.import.failure.body",workExternalImportFailureBodyUnknown:"work.external.import.failure.bodyUnknown",workExternalImportFailureReasonInvalidTarget:"work.external.import.failure.reason.invalidTarget",workExternalImportFailureReasonStoreUnavailable:"work.external.import.failure.reason.storeUnavailable",workExternalImportFailureReasonUnsupportedOwnerMessage:"work.external.import.failure.reason.unsupportedOwnerMessage",workExternalImportFailureReasonSchemaInvalid:"work.external.import.failure.reason.schemaInvalid",workExternalImportFailureReasonIssueMismatch:"work.external.import.failure.reason.issueMismatch",workExternalImportFailureReasonProviderMismatch:"work.external.import.failure.reason.providerMismatch",workExternalImportFailureReasonPendingApproval:"work.external.import.failure.reason.pendingApproval",workExternalImportFailureReasonUnsupportedSource:"work.external.import.failure.reason.unsupportedSource",workExternalImportFailureReasonFetchFailed:"work.external.import.failure.reason.fetchFailed",workExternalImportFailureReasonPullRequestUnsupported:"work.external.import.failure.reason.pullRequestUnsupported",workExternalImportFailureReasonUnexpected:"work.external.import.failure.reason.unexpected",workTasksListTitle:"work.tasks.listTitle",workTasksListNewAction:"work.tasks.newAction",workTasksListCreateNewTaskAriaLabel:"work.tasks.createNewTaskAriaLabel",workTasksListLoading:"work.tasks.loading",workTasksListLoadError:"work.tasks.loadError",workTasksListEmptyIntro:"work.tasks.emptyIntro",workTasksListEmptyActionLabel:"work.tasks.emptyActionLabel",workTasksListEmptySuffix:"work.tasks.emptySuffix",workTasksListOpenTaskAria:"work.tasks.openTaskAriaLabel",workTaskStatusPendingApproval:"work.task.status.pendingApproval",workTaskStatusApproved:"work.task.status.approved",workTaskStatusArchived:"work.task.status.archived",workTaskPriorityUrgent:"work.task.priority.urgent",workTaskPriorityHigh:"work.task.priority.high",workTaskPriorityMedium:"work.task.priority.medium",workTaskPriorityLow:"work.task.priority.low",workTaskPriorityLabelWithValue:"work.task.priority.labelWithValue",workTaskBackLabel:"work.task.backLabel",workTaskBackArrowLabel:"work.task.backArrowLabel",workTaskUpdatedAtPrefix:"work.task.updatedAtPrefix",workTaskDeleteLabel:"work.task.deleteLabel",workTaskDeleteLabelBusy:"work.task.deleteLabelBusy",workTaskDeleteConfirmation:"work.task.deleteConfirmation",workTaskDeleteError:"work.task.deleteError",workTaskApproveLabel:"work.task.approveLabel",workTaskApproveBusyLabel:"work.task.approveBusyLabel",workTaskRejectLabel:"work.task.rejectLabel",workTaskRejectBusyLabel:"work.task.rejectBusyLabel",workTaskApprovalDecisionError:"work.task.approvalDecisionError",workTaskPriorityTooltip:"work.task.priorityTooltip",workTaskOverviewTitle:"work.task.overviewTitle",workTaskSummaryLabel:"work.task.summaryLabel",workTaskProjectLabel:"work.task.projectLabel",workTaskOrphanProjectFallback:"work.task.orphanProjectFallback",workTaskWorkItemLabel:"work.task.workItemLabel",workTaskNoWorkItemFallback:"work.task.noWorkItemFallback",workTaskParentTaskLabel:"work.task.parentTaskLabel",workTaskOwnerLabel:"work.task.ownerLabel",workTaskAssigneeLabel:"work.task.assigneeLabel",workTaskNoAssigneeFallback:"work.task.noAssigneeFallback",workTaskAssignedActorsLabel:"work.task.assignedActorsLabel",workTaskNoActorsAssignedFallback:"work.task.noActorsAssignedFallback",workTaskAcceptanceCriteriaLabel:"work.task.acceptanceCriteriaLabel",workTaskConversationLabel:"work.task.conversationLabel",workTaskNoActivity:"work.task.noActivity",workTaskActivityTitle:"work.task.activityTitle",workTaskSubTasksTitle:"work.task.subTasksTitle",workTaskNoSubTasksLabel:"work.task.noSubTasksLabel",workTaskRunsTitle:"work.task.runsTitle",workTaskNoRunsIntro:"work.task.noRunsIntro",workTaskNoRunsActionLabel:"work.task.noRunsActionLabel",workTaskNoRunsSuffix:"work.task.noRunsSuffix",workTaskStartRunBusyLabel:"work.task.startRunBusyLabel",workTaskStartRunError:"work.task.startRunError",workTaskLoadingLabel:"work.task.loadingLabel",workTaskNotFoundTitle:"work.task.notFoundTitle",workTaskNotFoundText:"work.task.notFoundText",workTaskNotFoundCodeLabel:"work.task.notFoundCodeLabel",workObjectKindAgent:"work.object.kind.agent",workObjectKindContainer:"work.object.kind.container",workObjectKindConversation:"work.object.kind.conversation",workObjectKindTurn:"work.object.kind.turn",workObjectKindLane:"work.object.kind.lane",workObjectKindProject:"work.object.kind.project",workObjectKindWorkItem:"work.object.kind.workItem",workObjectKindTask:"work.object.kind.task",workObjectKindMission:"work.object.kind.mission",workObjectKindRun:"work.object.kind.run",workObjectKindArtifact:"work.object.kind.artifact",workObjectKindActivity:"work.object.kind.activity",workObjectKindOutcome:"work.object.kind.outcome",workObjectKindApprovalBinding:"work.object.kind.approvalBinding",workObjectKindUnknown:"work.object.kind.unknown",workObjectAttentionUnknown:"work.object.attention.unknown",workObjectAttentionDecisionNeeded:"work.object.attention.decisionNeeded",workObjectAttentionBlocked:"work.object.attention.blocked",workObjectAttentionFailed:"work.object.attention.failed",workObjectAttentionReadyToReview:"work.object.attention.readyToReview",workObjectAttentionRecentlyShipped:"work.object.attention.recentlyShipped",workObjectStatusDraft:"work.object.status.draft",workObjectStatusPlanned:"work.object.status.planned",workObjectStatusActive:"work.object.status.active",workObjectStatusPaused:"work.object.status.paused",workObjectStatusArchived:"work.object.status.archived",workObjectStatusReady:"work.object.status.ready",workObjectStatusInProgress:"work.object.status.inProgress",workObjectStatusBlocked:"work.object.status.blocked",workObjectStatusCompleted:"work.object.status.completed",workObjectStatusCancelled:"work.object.status.cancelled",workObjectStatusRunning:"work.object.status.running",workObjectStatusQueued:"work.object.status.queued",workObjectStatusUnknown:"work.object.status.unknown",workActorRoleAssistant:"work.actorRole.assistant",workActorRoleBoss:"work.actorRole.boss",workActorRoleCoder:"work.actorRole.coder",workActorRoleCoordinator:"work.actorRole.coordinator",workActorRoleCritic:"work.actorRole.critic",workActorRoleDrafter:"work.actorRole.drafter",workActorRoleMainCoder:"work.actorRole.mainCoder",workActorRoleOrchestrator:"work.actorRole.orchestrator",workActorRoleOwner:"work.actorRole.owner",workActorRolePlanner:"work.actorRole.planner",workActorRoleReviewer:"work.actorRole.reviewer",workActorRoleSummarizer:"work.actorRole.summarizer",workObjectGateStateNotRequested:"work.object.gateState.notRequested",workObjectGateStatePending:"work.object.gateState.pending",workObjectGateStateApproved:"work.object.gateState.approved",workObjectGateStateRejected:"work.object.gateState.rejected",workObjectGateStateUnknown:"work.object.gateState.unknown",workTopdownParentTaskOwningLabel:"work.topdown.parentTaskOwningLabel",workTopdownParentTaskLabel:"work.topdown.parentTaskLabel",workTopdownParentWorkItemLabel:"work.topdown.parentWorkItemLabel",workTopdownCrossCuttingLayer:"work.topdown.crossCuttingLayer",workTopdownCockpitEyebrow:"work.topdown.cockpitEyebrow",workTopdownCockpitTitle:"work.topdown.cockpitTitle",workTopdownCockpitLede:"work.topdown.cockpitLede",workTopdownCockpitMetricDecisions:"work.topdown.cockpitMetricDecisions",workTopdownCockpitMetricBlocked:"work.topdown.cockpitMetricBlocked",workTopdownCockpitMetricShipped:"work.topdown.cockpitMetricShipped",workTopdownCockpitTabsAriaLabel:"work.topdown.cockpitTabsAriaLabel",workTopdownCockpitTabCommandLabel:"work.topdown.cockpitTabCommandLabel",workTopdownCockpitTabCommandSub:"work.topdown.cockpitTabCommandSub",workTopdownCockpitTabNeedsDecisionLabel:"work.topdown.cockpitTabNeedsDecisionLabel",workTopdownCockpitTabNeedsDecisionSub:"work.topdown.cockpitTabNeedsDecisionSub",workTopdownCockpitTabActiveLabel:"work.topdown.cockpitTabActiveLabel",workTopdownCockpitTabActiveSub:"work.topdown.cockpitTabActiveSub",workTopdownCockpitTabActiveRunsLabel:"work.topdown.cockpitTabActiveRunsLabel",workTopdownCockpitTabActiveRunsSub:"work.topdown.cockpitTabActiveRunsSub",workTopdownCockpitTabBlockedLabel:"work.topdown.cockpitTabBlockedLabel",workTopdownCockpitTabBlockedSub:"work.topdown.cockpitTabBlockedSub",workTopdownCockpitTabShippedLabel:"work.topdown.cockpitTabShippedLabel",workTopdownCockpitTabShippedSub:"work.topdown.cockpitTabShippedSub",workTopdownCockpitTabTeamsLabel:"work.topdown.cockpitTabTeamsLabel",workTopdownCockpitTabTeamsSub:"work.topdown.cockpitTabTeamsSub",workTopdownCockpitOpen:"work.topdown.cockpitOpen",workTopdownCockpitNoBucketItems:"work.topdown.cockpitNoBucketItems",workTopdownCockpitRecentActivityAriaLabel:"work.topdown.cockpitRecentActivityAriaLabel",workTopdownCockpitRecentActivityTitle:"work.topdown.cockpitRecentActivityTitle",workTopdownCockpitRecentActivitySummary:"work.topdown.cockpitRecentActivitySummary",workTopdownCockpitRecentActivityEmpty:"work.topdown.cockpitRecentActivityEmpty",workTopdownCockpitNoActorRoles:"work.topdown.cockpitNoActorRoles",workTopdownLinkageTitle:"work.topdown.linkageTitle",workTopdownLinkageAddAction:"work.topdown.linkageAddAction",workTopdownLinkageNoLinksYetPrefix:"work.topdown.linkageNoLinksYetPrefix",workTopdownLinkageNoLinksYetSuffix:"work.topdown.linkageNoLinksYetSuffix",workTopdownLinkageViewKindBlocksLabel:"work.topdown.linkageViewKindBlocksLabel",workTopdownLinkageViewKindBlockedByLabel:"work.topdown.linkageViewKindBlockedByLabel",workTopdownLinkageViewKindRelatedToLabel:"work.topdown.linkageViewKindRelatedToLabel",workTopdownLinkageViewKindDuplicateOfLabel:"work.topdown.linkageViewKindDuplicateOfLabel",workTopdownLinkageViewKindFollowsLabel:"work.topdown.linkageViewKindFollowsLabel",workTopdownLinkageViewKindBlocksEmpty:"work.topdown.linkageViewKindBlocksEmpty",workTopdownLinkageViewKindBlockedByEmpty:"work.topdown.linkageViewKindBlockedByEmpty",workTopdownLinkageViewKindRelatedToEmpty:"work.topdown.linkageViewKindRelatedToEmpty",workTopdownLinkageViewKindDuplicateOfEmpty:"work.topdown.linkageViewKindDuplicateOfEmpty",workTopdownLinkageViewKindFollowsEmpty:"work.topdown.linkageViewKindFollowsEmpty",workTopdownLinkKindBlocksHelp:"work.topdown.linkKindBlocksHelp",workTopdownLinkKindBlockedByHelp:"work.topdown.linkKindBlockedByHelp",workTopdownLinkKindRelatedToHelp:"work.topdown.linkKindRelatedToHelp",workTopdownLinkKindDuplicateOfHelp:"work.topdown.linkKindDuplicateOfHelp",workTopdownLinkKindFollowsHelp:"work.topdown.linkKindFollowsHelp",workTopdownNewLinkDialogTitle:"work.topdown.newLinkDialogTitle",workTopdownNewLinkClose:"work.topdown.newLinkClose",workTopdownNewLinkSourcePrefix:"work.topdown.newLinkSourcePrefix",workTopdownNewLinkRelationLabel:"work.topdown.newLinkRelationLabel",workTopdownNewLinkTargetLabel:"work.topdown.newLinkTargetLabel",workTopdownNewLinkTargetSearchPlaceholder:"work.topdown.newLinkTargetSearchPlaceholder",workTopdownNewLinkNoMatches:"work.topdown.newLinkNoMatches",workTopdownNewLinkNoteLabel:"work.topdown.newLinkNoteLabel",workTopdownNewLinkNotePlaceholder:"work.topdown.newLinkNotePlaceholder",workTopdownNewLinkCancel:"work.topdown.newLinkCancel",workTopdownNewLinkSaving:"work.topdown.newLinkSaving",workTopdownNewLinkErrorInvalidTarget:"work.topdown.newLinkErrorInvalidTarget",workTopdownNewLinkErrorSelfLink:"work.topdown.newLinkErrorSelfLink",workTopdownNewLinkErrorNoteTooLong:"work.topdown.newLinkErrorNoteTooLong",workTopdownNewLinkErrorFailed:"work.topdown.newLinkErrorFailed",workTopdownUpstreamBlockersAriaLabel:"work.topdown.upstreamBlockersAriaLabel",workTopdownBlockersTitle:"work.topdown.blockersTitle",workTopdownUpstreamBlocksLine:"work.topdown.upstreamBlocksLine",workTopdownNoUpstreamBlockers:"work.topdown.noUpstreamBlockers",workTopdownBrokenLinksEyebrow:"work.topdown.brokenLinksEyebrow",workTopdownBrokenLinksTitle:"work.topdown.brokenLinksTitle",workTopdownBrokenLinksLede:"work.topdown.brokenLinksLede",workTopdownBrokenLinksErrorMetricSuffix:"work.topdown.brokenLinksErrorMetricSuffix",workTopdownBrokenLinksWarningMetricSuffix:"work.topdown.brokenLinksWarningMetricSuffix",workTopdownBrokenLinksInfoMetricSuffix:"work.topdown.brokenLinksInfoMetricSuffix",workTopdownBrokenLinksSeverityFiltersAriaLabel:"work.topdown.brokenLinksSeverityFiltersAriaLabel",workTopdownBrokenLinksSeverityAllLabel:"work.topdown.brokenLinksSeverityAllLabel",workTopdownBrokenLinksSeverityErrorLabel:"work.topdown.brokenLinksSeverityErrorLabel",workTopdownBrokenLinksSeverityWarningLabel:"work.topdown.brokenLinksSeverityWarningLabel",workTopdownBrokenLinksSeverityInfoLabel:"work.topdown.brokenLinksSeverityInfoLabel",workTopdownBrokenLinksNoDiagnostics:"work.topdown.brokenLinksNoDiagnostics",workTopdownBrokenLinksOn:"work.topdown.brokenLinksOn",workTopdownBrokenLinksOpenInDrawer:"work.topdown.brokenLinksOpenInDrawer",workTopdownBrokenLinksObjectNotInProjection:"work.topdown.brokenLinksObjectNotInProjection",workTopdownBrokenLinksNoSpecificObject:"work.topdown.brokenLinksNoSpecificObject",workTopdownBrokenLinksRemoveTooltipRemovable:"work.topdown.brokenLinksRemoveTooltipRemovable",workTopdownBrokenLinksRemoveTooltipDemoSeed:"work.topdown.brokenLinksRemoveTooltipDemoSeed",workTopdownBrokenLinksRemoveAction:"work.topdown.brokenLinksRemoveAction",workTopdownBrokenLinksRemoveUnknownError:"work.topdown.brokenLinksRemoveUnknownError",workTopdownBrokenLinksRemovingInProgress:"work.topdown.brokenLinksRemovingInProgress",workTopdownBrokenLinksRemovableOnlyDemo:"work.topdown.brokenLinksRemovableOnlyDemo",workTopdownBrokenLinksCycleRemovableRows:"work.topdown.brokenLinksCycleRemovableRows",workTopdownBrokenLinksDeletedLabel:"work.topdown.brokenLinksDeletedLabel",workTopdownDiagnosticKindBrokenFk:"work.topdown.diagnosticKind.brokenFk",workTopdownDiagnosticKindMissingProjectAnchor:"work.topdown.diagnosticKind.missingProjectAnchor",workTopdownDiagnosticKindMissingPlanningExecutionBridge:"work.topdown.diagnosticKind.missingPlanningExecutionBridge",workTopdownDiagnosticKindUnanchoredRun:"work.topdown.diagnosticKind.unanchoredRun",workTopdownDiagnosticKindUnanchoredEvidence:"work.topdown.diagnosticKind.unanchoredEvidence",workTopdownDiagnosticKindMissingGateSubject:"work.topdown.diagnosticKind.missingGateSubject",workTopdownDiagnosticKindOrphanLink:"work.topdown.diagnosticKind.orphanLink",workTopdownDiagnosticKindLinkCycle:"work.topdown.diagnosticKind.linkCycle",workTopdownTaskProductBindingTitle:"work.topdown.taskProductBindingTitle",workTopdownTaskProductBindingUnbound:"work.topdown.taskProductBindingUnbound",workTopdownParentTaskTooltip:"work.topdown.parentTaskTooltip",workTopdownSelectionLost:"work.topdown.selectionLost",workTopdownObjectNotInProjectionTitle:"work.topdown.objectNotInProjectionTitle",workTopdownObjectNotInProjectionMessage:"work.topdown.objectNotInProjectionMessage",workTopdownIdentityTitle:"work.topdown.identityTitle",workTopdownIdentityKind:"work.topdown.identityKind",workTopdownIdentityStatus:"work.topdown.identityStatus",workTopdownIdentityLayer:"work.topdown.identityLayer",workTopdownIdentityOwnerRole:"work.topdown.identityOwnerRole",workTopdownIdentityNextAction:"work.topdown.identityNextAction",workTopdownIdentityUpdated:"work.topdown.identityUpdated",workTopdownIdentitySummary:"work.topdown.identitySummary",workTopdownExternalTitle:"work.topdown.externalTitle",workTopdownExternalBindingTooltip:"work.topdown.externalBindingTooltip",workTopdownExternalSyncLabel:"work.topdown.externalSyncLabel",workTopdownExternalUpdatedLabel:"work.topdown.externalUpdatedLabel",workTopdownAnchorsTitle:"work.topdown.anchorsTitle",workTopdownEvidenceTitle:"work.topdown.evidenceTitle",workTopdownEvidenceEmpty:"work.topdown.evidenceEmpty",workTopdownMissingSuffix:"work.topdown.missingSuffix",workTopdownGatesTitle:"work.topdown.gatesTitle",workTopdownGatesEmpty:"work.topdown.gatesEmpty",workTopdownDiagnosticsTitle:"work.topdown.diagnosticsTitle",workTopdownRelativeJustNow:"work.topdown.relativeJustNow",workTopdownRelativeMinutesAgo:"work.topdown.relativeMinutesAgo",workTopdownRelativeHoursAgo:"work.topdown.relativeHoursAgo",workTopdownRelativeDaysAgo:"work.topdown.relativeDaysAgo",workTopdownAnchorProject:"work.topdown.anchorProject",workTopdownAnchorWorkItem:"work.topdown.anchorWorkItem",workTopdownAnchorTask:"work.topdown.anchorTask",workTopdownAnchorRun:"work.topdown.anchorRun",workTopdownAnchorConversation:"work.topdown.anchorConversation",workTopdownAnchorsEmpty:"work.topdown.anchorsEmpty",workTopdownSystemMapEyebrow:"work.topdown.systemMapEyebrow",workTopdownSystemMapTitle:"work.topdown.systemMapTitle",workTopdownSystemMapLede:"work.topdown.systemMapLede",workTopdownSystemMapStructuralLabel:"work.topdown.systemMapStructuralLabel",workTopdownSystemMapTotalLabel:"work.topdown.systemMapTotalLabel",workTopdownSystemMapDiagnosticsLabel:"work.topdown.systemMapDiagnosticsLabel",workTopdownSystemMapLayerAriaLabel:"work.topdown.systemMapLayerAriaLabel",workTopdownSystemMapLayerInteractionLabel:"work.topdown.systemMapLayerInteractionLabel",workTopdownSystemMapLayerPlanningLabel:"work.topdown.systemMapLayerPlanningLabel",workTopdownSystemMapLayerExecutionLabel:"work.topdown.systemMapLayerExecutionLabel",workTopdownSystemMapLayerInteractionDescription:"work.topdown.systemMapLayerInteractionDescription",workTopdownSystemMapLayerPlanningDescription:"work.topdown.systemMapLayerPlanningDescription",workTopdownSystemMapLayerExecutionDescription:"work.topdown.systemMapLayerExecutionDescription",workTopdownSystemMapLayerEmpty:"work.topdown.systemMapLayerEmpty",workWarRoomAttentionAttention:"work.warRoom.attentionAttention",workWarRoomAttentionError:"work.warRoom.attentionError",workWarRoomAttentionFallback:"work.warRoom.attentionFallback",workWarRoomAttentionMuted:"work.warRoom.attentionMuted",workWarRoomAttentionProgress:"work.warRoom.attentionProgress",workWarRoomAttentionSuccess:"work.warRoom.attentionSuccess",workWarRoomControlPlane:"work.warRoom.controlPlane",workWarRoomControlPlaneBlockedBy:"work.warRoom.controlPlaneBlockedBy",workWarRoomControlPlaneEmptyBadge:"work.warRoom.controlPlaneEmptyBadge",workWarRoomControlPlaneEmptyBody:"work.warRoom.controlPlaneEmptyBody",workWarRoomControlPlaneEmptyTitle:"work.warRoom.controlPlaneEmptyTitle",workWarRoomControlPlaneNoTargets:"work.warRoom.controlPlaneNoTargets",workWarRoomControlPlaneTargets:"work.warRoom.controlPlaneTargets",workWarRoomCountSummary:"work.warRoom.countSummary",workWarRoomGovernanceEyebrow:"work.warRoom.governanceEyebrow",workWarRoomActionBusy:"work.warRoom.actionBusy",workWarRoomActionError:"work.warRoom.actionError",workWarRoomLoadError:"work.warRoom.loadError",workWarRoomLoadingBadge:"work.warRoom.loadingBadge",workWarRoomLoadingBody:"work.warRoom.loadingBody",workWarRoomLoadingEyebrow:"work.warRoom.loadingEyebrow",workWarRoomLoadingSummary:"work.warRoom.loadingSummary",workWarRoomLoadingTitle:"work.warRoom.loadingTitle",workWarRoomManagedWorkEyebrow:"work.warRoom.managedWorkEyebrow",workWarRoomMetaLabelActions:"work.warRoom.metaLabelActions",workWarRoomMetaLabelActors:"work.warRoom.metaLabelActors",workWarRoomMetaLabelApproval:"work.warRoom.metaLabelApproval",workWarRoomMetaLabelBlocked:"work.warRoom.metaLabelBlocked",workWarRoomMetaLabelConversation:"work.warRoom.metaLabelConversation",workWarRoomMetaLabelDelivery:"work.warRoom.metaLabelDelivery",workWarRoomMetaLabelLatest:"work.warRoom.metaLabelLatest",workWarRoomMetaLabelLatestSource:"work.warRoom.metaLabelLatestSource",workWarRoomMetaLabelNext:"work.warRoom.metaLabelNext",workWarRoomMetaLabelOwner:"work.warRoom.metaLabelOwner",workWarRoomMetaLabelProduct:"work.warRoom.metaLabelProduct",workWarRoomMetaLabelProject:"work.warRoom.metaLabelProject",workWarRoomMetaLabelReasons:"work.warRoom.metaLabelReasons",workWarRoomMetaLabelReplay:"work.warRoom.metaLabelReplay",workWarRoomMetaLabelRepo:"work.warRoom.metaLabelRepo",workWarRoomMetaLabelRetryAvailable:"work.warRoom.metaLabelRetryAvailable",workWarRoomMetaLabelStrategy:"work.warRoom.metaLabelStrategy",workWarRoomMetaLabelTask:"work.warRoom.metaLabelTask",workWarRoomMetaLabelTasks:"work.warRoom.metaLabelTasks",workWarRoomMetaLabelWatch:"work.warRoom.metaLabelWatch",workWarRoomMetaLabelWorkflow:"work.warRoom.metaLabelWorkflow",workWarRoomMetaLabelWorkItem:"work.warRoom.metaLabelWorkItem",workWarRoomMetaLabelWorkItems:"work.warRoom.metaLabelWorkItems",workWarRoomMetaValueNo:"work.warRoom.metaValueNo",workWarRoomMetaValueNoReplayBlock:"work.warRoom.metaValueNoReplayBlock",workWarRoomMetaValueNoTimelineItem:"work.warRoom.metaValueNoTimelineItem",workWarRoomMetaValueNotBound:"work.warRoom.metaValueNotBound",workWarRoomMetaValueNotRecorded:"work.warRoom.metaValueNotRecorded",workWarRoomMetaValueNotSpecified:"work.warRoom.metaValueNotSpecified",workWarRoomMetaValueUnassigned:"work.warRoom.metaValueUnassigned",workWarRoomMetaValueNoRuntimeBridge:"work.warRoom.metaValueNoRuntimeBridge",workWarRoomMetaValueNone:"work.warRoom.metaValueNone",workWarRoomNoLinkedConversation:"work.warRoom.noLinkedConversation",workWarRoomNoLinkedProject:"work.warRoom.noLinkedProject",workWarRoomNoLinkedTask:"work.warRoom.noLinkedTask",workWarRoomNoLinkedWorkItem:"work.warRoom.noLinkedWorkItem",workWarRoomNoPrimaryConversation:"work.warRoom.noPrimaryConversation",workWarRoomNoProjectSummary:"work.warRoom.noProjectSummary",workWarRoomNoStatus:"work.warRoom.noStatus",workWarRoomNoTaskSummary:"work.warRoom.noTaskSummary",workWarRoomNoWorkItemSummary:"work.warRoom.noWorkItemSummary",workWarRoomNone:"work.warRoom.none",workWarRoomNotRecorded:"work.warRoom.notRecorded",workWarRoomOpenActor:"work.warRoom.openActor",workWarRoomOpenBriefingThread:"work.warRoom.openBriefingThread",workWarRoomOpenProject:"work.warRoom.openProject",workWarRoomOpenTask:"work.warRoom.openTask",workWarRoomOpenWorkItem:"work.warRoom.openWorkItem",workWarRoomOperateEyebrow:"work.warRoom.operateEyebrow",workWarRoomOperatorInbox:"work.warRoom.operatorInbox",workWarRoomOperatorInboxEmptyBadge:"work.warRoom.operatorInboxEmptyBadge",workWarRoomOperatorInboxEmptyBody:"work.warRoom.operatorInboxEmptyBody",workWarRoomOperatorInboxEmptyTitle:"work.warRoom.operatorInboxEmptyTitle",workWarRoomPageEyebrow:"work.warRoom.pageEyebrow",workWarRoomPageTitle:"work.warRoom.pageTitle",workWarRoomPortfolioEyebrow:"work.warRoom.portfolioEyebrow",workWarRoomProjects:"work.warRoom.projects",workWarRoomProjectsEmptyBadge:"work.warRoom.projectsEmptyBadge",workWarRoomProjectsEmptyBody:"work.warRoom.projectsEmptyBody",workWarRoomProjectsEmptyTitle:"work.warRoom.projectsEmptyTitle",workWarRoomRecovery:"work.warRoom.recovery",workWarRoomRecoveryEmptyBadge:"work.warRoom.recoveryEmptyBadge",workWarRoomRecoveryEmptyBody:"work.warRoom.recoveryEmptyBody",workWarRoomRecoveryEmptyTitle:"work.warRoom.recoveryEmptyTitle",workWarRoomRecoveryEyebrow:"work.warRoom.recoveryEyebrow",workWarRoomRecoveryNoRecoveryNote:"work.warRoom.recoveryNoRecoveryNote",workWarRoomSnapshotEyebrow:"work.warRoom.snapshotEyebrow",workWarRoomSnapshotSummary:"work.warRoom.snapshotSummary",workWarRoomSnapshotTitle:"work.warRoom.snapshotTitle",workWarRoomStatusFallback:"work.warRoom.statusFallback",workWarRoomSummaryAttention:"work.warRoom.summaryAttention",workWarRoomSummaryInProgressBlocked:"work.warRoom.summaryInProgressBlocked",workWarRoomSummaryLabelAttention:"work.warRoom.summaryLabelAttention",workWarRoomSummaryLabelProjects:"work.warRoom.summaryLabelProjects",workWarRoomSummaryLabelRecovery:"work.warRoom.summaryLabelRecovery",workWarRoomSummaryLabelTasks:"work.warRoom.summaryLabelTasks",workWarRoomSummaryRecovery:"work.warRoom.summaryRecovery",workWarRoomWorkItems:"work.warRoom.workItems",workWarRoomWorkItemsEmptyBadge:"work.warRoom.workItemsEmptyBadge",workWarRoomWorkItemsEmptyBody:"work.warRoom.workItemsEmptyBody",workWarRoomWorkItemsEmptyTitle:"work.warRoom.workItemsEmptyTitle",workTimelineEvidenceProviderAgentRunLoop:"work.timeline.evidence.providerAgentRunLoop",workTimelineEvidenceSupervision:"work.timeline.evidence.supervision",workTimelineTitleApprovalBinding:"work.timeline.title.approvalBinding",workTimelineTitleApprovalDecided:"work.timeline.title.approvalDecided",workTimelineTitleApprovalRequested:"work.timeline.title.approvalRequested",workTimelineTitleArtifactRecorded:"work.timeline.title.artifactRecorded",workTimelineTitleCheckpoint:"work.timeline.title.checkpoint",workTimelineTitleCheckpointRecorded:"work.timeline.title.checkpointRecorded",workTimelineTitleEvidence:"work.timeline.title.evidence",workTimelineTitleNote:"work.timeline.title.note",workTimelineTitleOperatorAction:"work.timeline.title.operatorAction",workTimelineTitleProviderAgentPlan:"work.timeline.title.providerAgentPlan",workTimelineTitleStatusChanged:"work.timeline.title.statusChanged",workTimelineTitleTrace:"work.timeline.title.trace",workTimelineTitleWorkItemUpdated:"work.timeline.title.workItemUpdated",workExecutionActionAcknowledge:"work.execution.action.acknowledge",workExecutionActionApprove:"work.execution.action.approve",workExecutionActionComplete:"work.execution.action.complete",workExecutionActionCreateCommit:"work.execution.action.createCommit",workExecutionActionDispatch:"work.execution.action.dispatch",workExecutionActionOpenPullRequest:"work.execution.action.openPullRequest",workExecutionActionPublishPreview:"work.execution.action.publishPreview",workExecutionActionReject:"work.execution.action.reject",workExecutionActionRequestReview:"work.execution.action.requestReview",workExecutionActionReroute:"work.execution.action.reroute",workExecutionActionRetry:"work.execution.action.retry",workExecutionActionWait:"work.execution.action.wait",workExecutionActionWaitForChecks:"work.execution.action.waitForChecks",workExecutionApprovalStatusApproved:"work.execution.approvalStatus.approved",workExecutionApprovalStatusNotRequested:"work.execution.approvalStatus.notRequested",workExecutionApprovalStatusPending:"work.execution.approvalStatus.pending",workExecutionApprovalStatusRejected:"work.execution.approvalStatus.rejected",workExecutionDeliveryModeArtifactOnly:"work.execution.deliveryMode.artifactOnly",workExecutionDeliveryModeCommitOnly:"work.execution.deliveryMode.commitOnly",workExecutionDeliveryModeDeployPreview:"work.execution.deliveryMode.deployPreview",workExecutionDeliveryModePrWithChecks:"work.execution.deliveryMode.prWithChecks",workExecutionDeliveryModePushBranch:"work.execution.deliveryMode.pushBranch",workExecutionStrategyPdca:"work.execution.strategy.pdca",workExecutionStrategyPlanAndExecute:"work.execution.strategy.planAndExecute",workExecutionStrategyReact:"work.execution.strategy.react",workExecutionStrategyReflexion:"work.execution.strategy.reflexion",workExecutionReasonApprovalPending:"work.execution.reason.approvalPending",workExecutionReasonChildTasksInProgress:"work.execution.reason.childTasksInProgress",workExecutionReasonMaxDispatches:"work.execution.reason.maxDispatches",workExecutionReasonNoValidTargets:"work.execution.reason.noValidTargets",workExecutionReasonRetryAvailable:"work.execution.reason.retryAvailable",workExecutionReasonRunBlocked:"work.execution.reason.runBlocked",workExecutionReasonRunFailed:"work.execution.reason.runFailed",workExecutionReasonUserCancelled:"work.execution.reason.userCancelled",workExecutionReasonWorkflowReviewRequired:"work.execution.reason.workflowReviewRequired",workExecutionReplaySourceOrchestratorReplay:"work.execution.replaySource.orchestratorReplay",workExecutionReplaySourceOrchestratorStartupRecovery:"work.execution.replaySource.orchestratorStartupRecovery",workExecutionReplaySourceWorkflowContinuationReplay:"work.execution.replaySource.workflowContinuationReplay",workExecutionReplayStateFailed:"work.execution.replayState.failed",workExecutionReplayStateInProgress:"work.execution.replayState.inProgress",workExecutionReplayStatePending:"work.execution.replayState.pending",workExecutionReplayStateReady:"work.execution.replayState.ready",workNewWorkItemTitle:"work.newWorkItem.title",workNewWorkItemTitleLabel:"work.newWorkItem.titleLabel",workNewWorkItemSummaryLabel:"work.newWorkItem.summaryLabel",workNewWorkItemProjectLabel:"work.newWorkItem.projectLabel",workNewWorkItemStatusLabel:"work.newWorkItem.statusLabel",workNewWorkItemProjectOrphan:"work.newWorkItem.projectOrphan",workNewWorkItemTitlePlaceholder:"work.newWorkItem.titlePlaceholder",workNewWorkItemSummaryPlaceholder:"work.newWorkItem.summaryPlaceholder",workNewWorkItemCancelButton:"work.newWorkItem.cancelButton",workNewWorkItemCloseLabel:"work.newWorkItem.closeLabel",workNewWorkItemSubmitLabel:"work.newWorkItem.submitLabel",workNewWorkItemSubmitBusyLabel:"work.newWorkItem.submitBusyLabel",workNewWorkItemCreateError:"work.newWorkItem.createError",workNewWorkItemStatusDraft:"work.newWorkItem.status.draft",workNewWorkItemStatusPlanned:"work.newWorkItem.status.planned",workNewWorkItemStatusReady:"work.newWorkItem.status.ready",workNewWorkItemStatusInProgress:"work.newWorkItem.status.inProgress",workNewWorkItemStatusBlocked:"work.newWorkItem.status.blocked",workNewWorkItemStatusCompleted:"work.newWorkItem.status.completed",workNewWorkItemStatusCancelled:"work.newWorkItem.status.cancelled",workNewTaskTitle:"work.newTask.title",workNewTaskTitleLabel:"work.newTask.titleLabel",workNewTaskSummaryLabel:"work.newTask.summaryLabel",workNewTaskStatusLabel:"work.newTask.statusLabel",workNewTaskParentTaskLabel:"work.newTask.parentTaskLabel",workNewTaskNoParentTask:"work.newTask.noParentTask",workNewTaskAssigneeLabel:"work.newTask.assigneeLabel",workNewTaskAssigneePlaceholder:"work.newTask.assigneePlaceholder",workNewTaskPriorityLabel:"work.newTask.priorityLabel",workNewTaskNoPriority:"work.newTask.noPriority",workNewTaskAcceptanceCriteriaLabel:"work.newTask.acceptanceCriteriaLabel",workNewTaskAcceptanceCriteriaPlaceholder:"work.newTask.acceptanceCriteriaPlaceholder",workNewTaskTitlePlaceholder:"work.newTask.titlePlaceholder",workNewTaskSummaryPlaceholder:"work.newTask.summaryPlaceholder",workNewTaskCancelButton:"work.newTask.cancelButton",workNewTaskCloseLabel:"work.newTask.closeLabel",workNewTaskSubmitLabel:"work.newTask.submitLabel",workNewTaskSubmittingLabel:"work.newTask.submittingLabel",workNewTaskCreateError:"work.newTask.createError",workNewTaskStatusDraft:"work.newTask.status.draft",workNewTaskStatusPendingApproval:"work.newTask.status.pendingApproval",workNewTaskStatusInProgress:"work.newTask.status.inProgress",workNewTaskStatusBlocked:"work.newTask.status.blocked",workNewTaskStatusCompleted:"work.newTask.status.completed",workNewTaskStatusApproved:"work.newTask.status.approved",workNewTaskPriorityUrgent:"work.newTask.priority.urgent",workNewTaskPriorityHigh:"work.newTask.priority.high",workNewTaskPriorityMedium:"work.newTask.priority.medium",workNewTaskPriorityLow:"work.newTask.priority.low",workNewProjectTitle:"work.newProject.title",workNewProjectTitleLabel:"work.newProject.titleLabel",workNewProjectSummaryLabel:"work.newProject.summaryLabel",workNewProjectStatusLabel:"work.newProject.statusLabel",workNewProjectTitlePlaceholder:"work.newProject.titlePlaceholder",workNewProjectSummaryPlaceholder:"work.newProject.summaryPlaceholder",workNewProjectCancelButton:"work.newProject.cancelButton",workNewProjectCloseLabel:"work.newProject.closeLabel",workNewProjectSubmitLabel:"work.newProject.submitLabel",workNewProjectSubmitBusyLabel:"work.newProject.submitBusyLabel",workNewProjectCreateError:"work.newProject.createError",workCrudErrorTitleRequired:"work.crud.error.titleRequired",workCrudErrorInvalidInput:"work.crud.error.invalidInput",workCrudErrorProjectIdRequired:"work.crud.error.projectIdRequired",workCrudErrorWorkItemIdRequired:"work.crud.error.workItemIdRequired",workCrudErrorTaskIdRequired:"work.crud.error.taskIdRequired",workCrudErrorProjectNotFound:"work.crud.error.projectNotFound",workCrudErrorWorkItemNotFound:"work.crud.error.workItemNotFound",workCrudErrorTaskNotFound:"work.crud.error.taskNotFound",workCrudErrorMustBeStringWhenProvided:"work.crud.error.mustBeStringWhenProvided",workCrudErrorMetadataObjectRequired:"work.crud.error.metadataObjectRequired",workCrudErrorFieldStringOrNull:"work.crud.error.fieldStringOrNull",workCrudErrorFieldStringArray:"work.crud.error.fieldStringArray",workCrudErrorMustBeOneOf:"work.crud.error.mustBeOneOf",workItemLoadingTitle:"work.item.loadingTitle",workItemRelatedWorkItemTitle:"work.item.relatedWorkItemTitle",chatNewChatDraftSidePanelTitle:"chat.newChatDraft.sidePanelTitle",chatNewChatDraftGeneratedTitle:"chat.newChatDraft.generatedTitle",chatNewChatDraftGeneratedTitleWithIndex:"chat.newChatDraft.generatedTitleWithIndex",chatComposerErrorChooseTwoParallelChats:"chat.composer.error.chooseTwoParallelChats",chatComposerErrorNoActiveParallelThread:"chat.composer.error.noActiveParallelThread",chatComposerErrorNoParallelChatForSending:"chat.composer.error.noParallelChatForSending",chatComposerErrorNoChatForSending:"chat.composer.error.noChatForSending",chatComposerErrorRelayFailedForChannel:"chat.composer.error.relayFailedForChannel",chatComposerErrorRelayCompareFailed:"chat.composer.error.relayCompareFailed",chatParallelRelayCommandCheckLabel:"chat.parallelRelay.command.check.label",chatParallelRelayCommandCheckShortLabel:"chat.parallelRelay.command.check.shortLabel",chatParallelRelayCommandCheckDescription:"chat.parallelRelay.command.check.description",chatParallelRelayCommandAdoptLabel:"chat.parallelRelay.command.adopt.label",chatParallelRelayCommandAdoptShortLabel:"chat.parallelRelay.command.adopt.shortLabel",chatParallelRelayCommandAdoptDescription:"chat.parallelRelay.command.adopt.description",chatParallelRelayCommandDebateLabel:"chat.parallelRelay.command.debate.label",chatParallelRelayCommandDebateShortLabel:"chat.parallelRelay.command.debate.shortLabel",chatParallelRelayCommandDebateDescription:"chat.parallelRelay.command.debate.description",chatParallelRelayCommandImproveLabel:"chat.parallelRelay.command.improve.label",chatParallelRelayCommandImproveShortLabel:"chat.parallelRelay.command.improve.shortLabel",chatParallelRelayCommandImproveDescription:"chat.parallelRelay.command.improve.description",chatParallelRelayCommandCounterLabel:"chat.parallelRelay.command.counter.label",chatParallelRelayCommandCounterShortLabel:"chat.parallelRelay.command.counter.shortLabel",chatParallelRelayCommandCounterDescription:"chat.parallelRelay.command.counter.description",chatParallelRelayCommandSynthesizeLabel:"chat.parallelRelay.command.synthesize.label",chatParallelRelayCommandSynthesizeShortLabel:"chat.parallelRelay.command.synthesize.shortLabel",chatParallelRelayCommandSynthesizeDescription:"chat.parallelRelay.command.synthesize.description",chatParallelRelayTargetNoChats:"chat.parallelRelay.target.noChats",chatParallelRelayTargetPair:"chat.parallelRelay.target.pair",chatParallelRelayTargetMany:"chat.parallelRelay.target.many",chatParallelRelayOutgoingNote:"chat.parallelRelay.note.outgoing",chatParallelRelayIncomingNote:"chat.parallelRelay.note.incoming",chatParallelRelayPromptHeader:"chat.parallelRelay.prompt.header",chatParallelRelayPromptSourceHeader:"chat.parallelRelay.prompt.sourceHeader",chatParallelRelayPromptSourceLabel:"chat.parallelRelay.prompt.sourceLabel",chatParallelRelayPromptCheckInstructionOne:"chat.parallelRelay.prompt.check.instructionOne",chatParallelRelayPromptCheckInstructionTwo:"chat.parallelRelay.prompt.check.instructionTwo",chatParallelRelayPromptAdoptInstructionOne:"chat.parallelRelay.prompt.adopt.instructionOne",chatParallelRelayPromptAdoptInstructionTwo:"chat.parallelRelay.prompt.adopt.instructionTwo",chatParallelRelayPromptDebateInstructionOne:"chat.parallelRelay.prompt.debate.instructionOne",chatParallelRelayPromptDebateInstructionTwo:"chat.parallelRelay.prompt.debate.instructionTwo",chatParallelRelayPromptImproveInstructionOne:"chat.parallelRelay.prompt.improve.instructionOne",chatParallelRelayPromptImproveInstructionTwo:"chat.parallelRelay.prompt.improve.instructionTwo",chatParallelRelayPromptCounterInstructionOne:"chat.parallelRelay.prompt.counter.instructionOne",chatParallelRelayPromptCounterInstructionTwo:"chat.parallelRelay.prompt.counter.instructionTwo",chatParallelRelayPromptSynthesizeInstructionOne:"chat.parallelRelay.prompt.synthesize.instructionOne",chatParallelRelayPromptSynthesizeInstructionTwo:"chat.parallelRelay.prompt.synthesize.instructionTwo",chatComposerErrorSendFailed:"chat.composer.error.sendFailed",chatComposerErrorRetryFailed:"chat.composer.error.retryFailed",chatComposerErrorStopFailed:"chat.composer.error.stopFailed",chatComposerErrorActiveChatNotInParallelGroup:"chat.composer.error.activeChatNotInParallelGroup",chatComposerErrorSourceChatNotInParallelGroup:"chat.composer.error.sourceChatNotInParallelGroup",chatComposerErrorParallelBranchOutsideGroup:"chat.composer.error.parallelBranchOutsideGroup",chatComposerErrorNoParallelRelayTargets:"chat.composer.error.noParallelRelayTargets",chatComposerErrorMessageNotFound:"chat.composer.error.messageNotFound",chatComposerErrorRetryInvalidSender:"chat.composer.error.retryInvalidSender",chatComposerErrorRetryInProgress:"chat.composer.error.retryInProgress",chatComposerErrorRetryNotLatest:"chat.composer.error.retryNotLatest",chatComposerErrorRetryNotAvailable:"chat.composer.error.retryNotAvailable",chatGovernanceErrorUpdateApproval:"chat.governance.error.updateApproval",chatGovernanceErrorSubmitChoiceResponse:"chat.governance.error.submitChoiceResponse",chatGovernanceErrorRecordOperatorAction:"chat.governance.error.recordOperatorAction",chatParticipantsErrorUpdateParticipant:"chat.participants.error.updateParticipant",chatParticipantsErrorNoFields:"chat.participants.error.noFields",chatParticipantsErrorNotFound:"chat.participants.error.notFound",chatParticipantsErrorTemporaryOnly:"chat.participants.error.temporaryOnly",chatParticipantsErrorNameRequired:"chat.participants.error.nameRequired",chatCatAssignmentCreatedAssignHint:"chat.catAssignment.createdAssignHint",chatCatAssignmentErrorCreateCat:"chat.catAssignment.error.createCat",chatCatAssignmentErrorAssignCat:"chat.catAssignment.error.assignCat",chatCatAssignmentErrorRemoveCat:"chat.catAssignment.error.removeCat",chatCatAssignmentErrorChannelNotFound:"chat.catAssignment.error.channelNotFound",chatCatAssignmentErrorAssignmentNotFound:"chat.catAssignment.error.assignmentNotFound",chatCatAssignmentErrorDirectRecipientOnly:"chat.catAssignment.error.directRecipientOnly",chatCatAssignmentErrorParticipantLimitReached:"chat.catAssignment.error.participantLimitReached",chatCompanionTabStatus:"chat.companion.tab.status",chatCompanionTabSources:"chat.companion.tab.sources",chatCompanionTabMemory:"chat.companion.tab.memory",chatCompanionTabBehavior:"chat.companion.tab.behavior",chatCompanionTabInspector:"chat.companion.tab.inspector",chatCompanionWorkspaceLoadError:"chat.companion.workspace.loadError",sharedExecutionTargetSaveNewChatDefaultsError:"shared.executionTarget.saveNewChatDefaultsError",sharedExecutionTargetSaveChatReplySettingsError:"shared.executionTarget.saveChatReplySettingsError",sharedChannelContinuityStartFreshError:"shared.channelContinuity.startFreshError",sharedSettingsCatsMemorySaveError:"shared.settingsCatsMemory.saveError",sharedSettingsCatsMemoryDeleteError:"shared.settingsCatsMemory.deleteError",sharedSettingsCatsMemoryContentRequired:"shared.settingsCatsMemory.contentRequired",sharedSettingsCatsMemoryInvalidCategory:"shared.settingsCatsMemory.invalidCategory",sharedSettingsCatsMemoryNotFound:"shared.settingsCatsMemory.notFound",sharedOperatorLoopLoadError:"shared.operatorLoop.loadError",sharedFolderBrowserLoadError:"shared.folderBrowser.loadError",sharedOrchestratorFallbackName:"shared.orchestrator.fallbackName",sharedDraftHeaderChangeCoverPhoto:"shared.draftHeader.changeCoverPhoto",sharedDraftHeaderAddCoverPhoto:"shared.draftHeader.addCoverPhoto",sharedDraftHeaderChangeAvatar:"shared.draftHeader.changeAvatar",sharedDraftHeaderAddAvatar:"shared.draftHeader.addAvatar",chatParticipantChipCountOne:"chat.participantChip.countOne",chatParticipantChipCountMany:"chat.participantChip.countMany",chatParticipantChipDefault:"chat.participantChip.default",chatDraftParticipantCapabilityStrongAgent:"chat.draftParticipant.capability.strongAgent",chatDraftParticipantCapabilityConservativeAgent:"chat.draftParticipant.capability.conservativeAgent",chatDraftParticipantReviewReasonBroadWrite:"chat.draftParticipant.reviewReason.broadWrite",chatDraftParticipantReviewReasonOutcomeDelegation:"chat.draftParticipant.reviewReason.outcomeDelegation",chatDraftParticipantReviewReasonHighApproval:"chat.draftParticipant.reviewReason.highApproval",chatDraftParticipantAutonomyNone:"chat.draftParticipant.autonomy.none",chatDraftParticipantAutonomySingleStep:"chat.draftParticipant.autonomy.singleStep",chatDraftParticipantAutonomyMilestonePlan:"chat.draftParticipant.autonomy.milestonePlan",chatDraftParticipantAutonomyOutcomeDelegation:"chat.draftParticipant.autonomy.outcomeDelegation",chatDraftParticipantToolScopeNone:"chat.draftParticipant.toolScope.none",chatDraftParticipantToolScopeReadOnly:"chat.draftParticipant.toolScope.readOnly",chatDraftParticipantToolScopeNarrowWrite:"chat.draftParticipant.toolScope.narrowWrite",chatDraftParticipantToolScopeBroadWrite:"chat.draftParticipant.toolScope.broadWrite",chatDraftParticipantApprovalThresholdLow:"chat.draftParticipant.approvalThreshold.low",chatDraftParticipantApprovalThresholdMedium:"chat.draftParticipant.approvalThreshold.medium",chatDraftParticipantApprovalThresholdHigh:"chat.draftParticipant.approvalThreshold.high",chatDraftParticipantPolicySummary:"chat.draftParticipant.policySummary",chatDraftParticipantToolGrantSummary:"chat.draftParticipant.toolGrantSummary",chatSidebarPrimaryActionNewChat:"chat.sidebar.primaryAction.newChat",chatSidebarPrimaryActionGroupChat:"chat.sidebar.primaryAction.groupChat",chatSidebarPrimaryActionParallelChat:"chat.sidebar.primaryAction.parallelChat",chatSidebarMyCatsEmptyStateLabel:"chat.sidebar.myCatsEmptyStateLabel",chatConcurrentClusterDismissActionLabel:"chat.concurrentCluster.dismissActionLabel",chatConcurrentClusterDismissActionTitle:"chat.concurrentCluster.dismissActionTitle",chatConcurrentToolLabel:"chat.concurrent.toolLabel",chatConcurrentProgressFinalizing:"chat.concurrent.progress.finalizing",chatConcurrentProgressFinishing:"chat.concurrent.progress.finishing",chatConcurrentErrorRuntimeStreamUnavailable:"chat.concurrent.error.runtimeStreamUnavailable",chatConcurrentErrorProxy:"chat.concurrent.error.proxy",chatConcurrentCopyLabeledResponseLabel:"chat.concurrent.copyLabeledResponseLabel",chatConcurrentCopyUnnamedResponseLabel:"chat.concurrent.copyUnnamedResponseLabel",chatFocusRailUnnamedResponseLabel:"chat.focusRail.unnamedResponseLabel",chatFocusRailExpandAnonymousResponseLabel:"chat.focusRail.expandAnonymousResponseLabel",chatFocusRailCollapseAnonymousResponseLabel:"chat.focusRail.collapseAnonymousResponseLabel",chatFocusRailExpandLabeledResponseLabel:"chat.focusRail.expandLabeledResponseLabel",chatFocusRailCollapseLabeledResponseLabel:"chat.focusRail.collapseLabeledResponseLabel",chatActivityFeedEyebrow:"chat.activityFeed.eyebrow",chatActivityFeedLatestUpdatesTitle:"chat.activityFeed.latestUpdatesTitle",chatActivityFeedEmptyState:"chat.activityFeed.emptyState",chatActivityFeedByActorLabel:"chat.activityFeed.byActorLabel",chatMessageChoicesCustomButton:"chat.messageChoices.customButton",chatMessageChoicesCustomPlaceholder:"chat.messageChoices.customPlaceholder",chatMessageChoicesOwnerSkippedState:"chat.messageChoices.ownerSkippedState",chatMessageChoicesOwnerRecordedState:"chat.messageChoices.ownerRecordedState",chatMessageChoicesConfirmButton:"chat.messageChoices.confirmButton",chatMessageChoicesSkipButton:"chat.messageChoices.skipButton",chatParallelFooterNavigationAriaLabel:"chat.parallelFooter.navigationAriaLabel",chatParallelFooterPrevAriaLabel:"chat.parallelFooter.prevAriaLabel",chatParallelFooterNextAriaLabel:"chat.parallelFooter.nextAriaLabel",chatParallelFooterTabsAriaLabel:"chat.parallelFooter.tabsAriaLabel",chatParallelFooterThreadLabel:"chat.parallelFooter.threadLabel",chatParallelFooterDefaultModelLabel:"chat.parallelFooter.defaultModelLabel",chatCompareCardsPrevCardAriaLabel:"chat.compareCards.prevCardAriaLabel",chatCompareCardsNextCardAriaLabel:"chat.compareCards.nextCardAriaLabel",chatCompareCardsPaginationItemAriaLabel:"chat.compareCards.paginationItemAriaLabel",chatTopBarToggleSidePanelAriaLabel:"chat.topBar.toggleSidePanelAriaLabel",chatBootLoadingAria:"chat.boot.loadingAria",chatNewChatDraftSidePanelParticipantsCatsTitle:"chat.newChatDraft.participants.catsTitle",chatNewChatDraftSidePanelParticipantsGroupTitle:"chat.newChatDraft.participants.groupTitle",chatNewChatDraftSidePanelParticipantsEmptyState:"chat.newChatDraft.participants.emptyState",chatNewChatDraftPlanMyDayChipLabel:"chat.newChatDraft.planMyDayChipLabel",chatNewChatDraftPlanMyDayPrompt:"chat.newChatDraft.planMyDayPrompt",chatNewChatDraftBrainstormNameChipLabel:"chat.newChatDraft.brainstormNameChipLabel",chatNewChatDraftBrainstormNamePrompt:"chat.newChatDraft.brainstormNamePrompt",chatNewChatDraftSummarizeLinkChipLabel:"chat.newChatDraft.summarizeLinkChipLabel",chatNewChatDraftSummarizeLinkPrompt:"chat.newChatDraft.summarizeLinkPrompt",chatNewChatDraftPomodoroChipLabel:"chat.newChatDraft.pomodoroChipLabel",chatNewChatDraftPomodoroPrompt:"chat.newChatDraft.pomodoroPrompt",chatNewChatDraftStartProjectChipLabel:"chat.newChatDraft.startProjectChipLabel",chatNewChatDraftStartProjectPrompt:"chat.newChatDraft.startProjectPrompt",chatNewChatDraftSidePanelExecutionTitle:"chat.newChatDraft.execution.title",chatNewChatDraftSidePanelExecutionActionLabel:"chat.newChatDraft.execution.actionLabel",chatNewChatDraftSidePanelExecutionEmptyState:"chat.newChatDraft.execution.emptyState",chatNewChatDraftSidePanelFolderTitle:"chat.newChatDraft.folder.title",chatNewChatDraftSidePanelFolderEmptyState:"chat.newChatDraft.folder.emptyState",chatNewChatDraftDefaultGreeting:"chat.newChatDraft.defaultGreeting",chatNewChatDraftGreetingNap:"chat.newChatDraft.greeting.nap",chatNewChatDraftGreetingKeyboard:"chat.newChatDraft.greeting.keyboard",chatNewChatDraftGreetingLetsGo:"chat.newChatDraft.greeting.letsGo",chatNewChatDraftGreetingStandby:"chat.newChatDraft.greeting.standby",chatNewChatDraftGreetingTaskReady:"chat.newChatDraft.greeting.taskReady",chatNewChatDraftGreetingOnDuty:"chat.newChatDraft.greeting.onDuty",chatNewChatDraftComposerPlaceholder:"chat.newChatDraft.composerPlaceholder",chatNewChatDraftFolderActionLabel:"chat.newChatDraft.folderActionLabel",chatNewChatDraftChooseCodespaceActionLabel:"chat.newChatDraft.chooseCodespaceActionLabel",chatNewChatDraftGroupDraftSelectionLabelSingle:"chat.newChatDraft.groupDraftSelectionLabelSingle",chatNewChatDraftGroupDraftSelectionLabelCount:"chat.newChatDraft.groupDraftSelectionLabelCount",chatNewChatDraftGroupDraftSelectionLabelWithCatsOrAssistants:"chat.newChatDraft.groupDraftSelectionLabelWithCatsOrAssistants",chatNewChatDraftGroupDraftSelectionLabelWithSettings:"chat.newChatDraft.groupDraftSelectionLabelWithSettings",chatNewChatDraftAssistantPresetAdd:"chat.newChatDraft.assistantPresetAdd",chatNewChatDraftAssistantPresetReview:"chat.newChatDraft.assistantPresetReview",chatNewChatDraftAssistantPresetAdded:"chat.newChatDraft.assistantPresetAdded",chatNewChatDraftTemporaryParticipantCancel:"chat.newChatDraft.temporaryParticipantCancel",chatNewChatDraftTemporaryParticipantNameLabel:"chat.newChatDraft.temporaryParticipantNameLabel",chatNewChatDraftTemporaryParticipantNamePlaceholder:"chat.newChatDraft.temporaryParticipantNamePlaceholder",chatNewChatDraftTemporaryParticipantNameHint:"chat.newChatDraft.temporaryParticipantNameHint",chatNewChatDraftTemporaryParticipantSaveName:"chat.newChatDraft.temporaryParticipantSaveName",chatNewChatDraftTemporaryParticipantRename:"chat.newChatDraft.temporaryParticipantRename",chatNewChatDraftTemporaryParticipantRemove:"chat.newChatDraft.temporaryParticipantRemove",chatNewChatDraftTemporaryParticipantRoleHintLabel:"chat.newChatDraft.temporaryParticipantRoleHintLabel",chatNewChatDraftTemporaryParticipantRoleHintPlaceholder:"chat.newChatDraft.temporaryParticipantRoleHintPlaceholder",chatNewChatDraftTemporaryParticipantSubmit:"chat.newChatDraft.temporaryParticipantSubmit",chatNewChatDraftTemporaryParticipantOpenForm:"chat.newChatDraft.temporaryParticipantOpenForm",chatSidePanelTemporaryParticipantLabel:"chat.sidePanel.temporaryParticipantLabel",chatSidePanelRoleLabel:"chat.sidePanel.roleLabel",chatSidePanelAiServiceLabel:"chat.sidePanel.aiServiceLabel",chatSidePanelConnectionLabel:"chat.sidePanel.connectionLabel",chatApprovalQueueEyebrow:"chat.approvalQueue.eyebrow",chatApprovalQueuePendingTitle:"chat.approvalQueue.pendingTitle",chatApprovalQueueEmptyState:"chat.approvalQueue.emptyState",chatApprovalQueueDefaultRequester:"chat.approvalQueue.defaultRequester",chatApprovalQueueDefaultSummary:"chat.approvalQueue.defaultSummary",chatApprovalQueueRequestedByPrefix:"chat.approvalQueue.requestedByPrefix",chatSidePanelStartFresh:"chat.sidePanel.startFresh",chatSidePanelStartingFreshBusy:"chat.sidePanel.startingFreshBusy",chatSidePanelStartFreshHint:"chat.sidePanel.startFreshHint",chatSidePanelRunStatusTitle:"chat.sidePanel.runStatusTitle",chatSidePanelRunStatusUnavailableTitle:"chat.sidePanel.runStatusUnavailableTitle",chatSidePanelLoadingTitle:"chat.sidePanel.loadingTitle",chatSidePanelOperatorLoadingState:"chat.sidePanel.operatorLoadingState",chatCatStatusCompactActiveLabel:"chat.catStatus.compact.activeLabel",chatCatStatusCompactNeedAttentionLabel:"chat.catStatus.compact.needAttentionLabel",chatCatStatusCompactSleepingLabel:"chat.catStatus.compact.sleepingLabel",chatCatStatusActiveLabel:"chat.catStatus.activeLabel",chatCatStatusBlockedLabel:"chat.catStatus.blockedLabel",chatCatStatusWaitingForReviewLabel:"chat.catStatus.waitingForReviewLabel",chatCatStatusErrorLabel:"chat.catStatus.errorLabel",chatCatStatusWakingUpLabel:"chat.catStatus.wakingUpLabel",chatCatStatusSleepingLabel:"chat.catStatus.sleepingLabel",chatCatStatusIdleLabel:"chat.catStatus.idleLabel",chatLifecycleAwakeLabel:"chat.lifecycle.awakeLabel",chatLifecycleWakingUpLabel:"chat.lifecycle.wakingUpLabel",chatLifecycleNeedsAttentionLabel:"chat.lifecycle.needsAttentionLabel",chatLifecycleSleepingLabel:"chat.lifecycle.sleepingLabel",chatCompanionWorkspaceRetryLabel:"chat.companionWorkspace.retryLabel",chatCompanionWorkspaceNoSelectionState:"chat.companionWorkspace.noSelectionState",chatCompanionWorkspaceSubscriptionDisabledTooltip:"chat.companionWorkspace.subscriptionDisabledTooltip",chatCompanionWorkspaceSubscriptionLabel:"chat.companionWorkspace.subscriptionLabel",chatCompanionWorkspaceShareDisabledTooltip:"chat.companionWorkspace.shareDisabledTooltip",chatCompanionWorkspaceShareLabel:"chat.companionWorkspace.shareLabel",chatCompanionWorkspaceSidePanelTitle:"chat.companionWorkspace.sidePanelTitle",chatCompanionFeedTabPosts:"chat.companionFeedTabPosts",chatCompanionFeedTabPhotos:"chat.companionFeedTabPhotos",chatCompanionFeedTabVideos:"chat.companionFeedTabVideos",chatCompanionFeedTabMusic:"chat.companionFeedTabMusic",chatCompanionFeedTabFiles:"chat.companionFeedTabFiles",chatCompanionFeedTabActivity:"chat.companionFeedTabActivity",chatCompanionFeedNavAriaLabel:"chat.companionFeedNavAriaLabel",chatCompanionFeedPostEmptyState:"chat.companionFeedPostEmptyState",chatCompanionFeedMediaEmptyState:"chat.companionFeedMediaEmptyState",chatCompanionFeedMediaItemDefaultLabel:"chat.companionFeedMediaItemDefaultLabel",chatCompanionFeedMediaItemsLabel:"chat.companionFeedMediaItemsLabel",chatCompanionFeedSurfacePhotoLabel:"chat.companionFeedSurfacePhotoLabel",chatCompanionFeedSurfaceVideoLabel:"chat.companionFeedSurfaceVideoLabel",chatCompanionFeedSurfaceMusicLabel:"chat.companionFeedSurfaceMusicLabel",chatCompanionFeedSurfaceFileLabel:"chat.companionFeedSurfaceFileLabel",chatCompanionFeedActivityEmptyState:"chat.companionFeedActivityEmptyState",chatCompanionFeedActivityHiddenState:"chat.companionFeedActivityHiddenState",chatCompanionMessageReferenceListAria:"chat.companionMessageReferenceListAria",chatCompanionMessageReferenceUnsupportedVersionLabel:"chat.companionMessageReferenceUnsupportedVersionLabel",chatCompanionMessageReferenceMalformedLabel:"chat.companionMessageReferenceMalformedLabel",chatCompanionMessageReferenceInvalidWrongScheme:"chat.companionMessageReference.invalidWrongScheme",chatCompanionMessageReferenceInvalidWrongHost:"chat.companionMessageReference.invalidWrongHost",chatCompanionMessageReferenceInvalidMalformedPercentEncoding:"chat.companionMessageReference.invalidMalformedPercentEncoding",chatCompanionMessageReferenceInvalidBadSegmentCount:"chat.companionMessageReference.invalidBadSegmentCount",chatCompanionMessageReferenceInvalidEmptyPathSegment:"chat.companionMessageReference.invalidEmptyPathSegment",chatCompanionMessageReferenceInvalidUnknownTargetType:"chat.companionMessageReference.invalidUnknownTargetType",chatCompanionMessageReferenceLoadingLabel:"chat.companionMessageReferenceLoadingLabel",chatCompanionMessageReferenceUnavailableLabel:"chat.companionMessageReferenceUnavailableLabel",chatCompanionMessageReferenceOpenInCompanionAction:"chat.companionMessageReferenceOpenInCompanionAction",chatCompanionModeToggleDirectLaneAriaLabel:"chat.companionModeToggleDirectLaneAriaLabel",chatCompanionModeToggleChatViewAriaLabel:"chat.companionModeToggleChatViewAriaLabel",chatCompanionModeToggleCompanionViewAriaLabel:"chat.companionModeToggleCompanionViewAriaLabel",chatCompanionResourcesLoadingState:"chat.companionResourcesLoadingState",chatCompanionResourcesSectionTitle:"chat.companionResourcesSectionTitle",chatCompanionResourcesActionShowForm:"chat.companionResourcesActionShowForm",chatCompanionResourcesActionCancel:"chat.companionResourcesActionCancel",chatCompanionResourcesActionAddResource:"chat.companionResourcesActionAddResource",chatCompanionResourcesActionBusy:"chat.companionResourcesActionBusy",chatCompanionResourcesFormTitlePlaceholder:"chat.companionResourcesFormTitlePlaceholder",chatCompanionResourcesFormNotePlaceholder:"chat.companionResourcesFormNotePlaceholder",chatCompanionResourcesFormContentPlaceholder:"chat.companionResourcesFormContentPlaceholder",chatCompanionResourcesEmptyState:"chat.companionResourcesEmptyState",chatCompanionResourcesSourceKindNote:"chat.companionResourcesSourceKindNote",chatCompanionResourcesSourceKindConversationLog:"chat.companionResourcesSourceKindConversationLog",chatCompanionResourcesSourceKindArticle:"chat.companionResourcesSourceKindArticle",chatCompanionResourcesSourceKindImage:"chat.companionResourcesSourceKindImage",chatCompanionResourcesSourceKindVideo:"chat.companionResourcesSourceKindVideo",chatCompanionResourcesSourceKindAudio:"chat.companionResourcesSourceKindAudio",chatCompanionResourcesSourceKindPath:"chat.companionResourcesSourceKindPath",chatCompanionResourcesSourceKindUnknown:"chat.companionResourcesSourceKindUnknown",chatCompanionResourcesUntitledSource:"chat.companionResourcesUntitledSource",chatCompanionResourcesActionRemove:"chat.companionResourcesActionRemove",chatCompanionSettingsLoadingState:"chat.companionSettingsLoadingState",chatCompanionSettingsResponseProfileTitle:"chat.companionSettingsResponseProfileTitle",chatCompanionSettingsExpressionModeLabel:"chat.companionSettingsExpressionModeLabel",chatCompanionSettingsExpressionModeAnimalistic:"chat.companionSettingsExpressionModeAnimalistic",chatCompanionSettingsExpressionModeAnthropomorphic:"chat.companionSettingsExpressionModeAnthropomorphic",chatCompanionSettingsExpressionModeMixed:"chat.companionSettingsExpressionModeMixed",chatCompanionSettingsOutputModeLabel:"chat.companionSettingsOutputModeLabel",chatCompanionSettingsOutputModeText:"chat.companionSettingsOutputModeText",chatCompanionSettingsOutputModeAudioClip:"chat.companionSettingsOutputModeAudioClip",chatCompanionSettingsOutputModeTts:"chat.companionSettingsOutputModeTts",chatCompanionSettingsOutputModeMixed:"chat.companionSettingsOutputModeMixed",chatCompanionSettingsResponseNotesLabel:"chat.companionSettingsResponseNotesLabel",chatCompanionSettingsResponseNotesPlaceholder:"chat.companionSettingsResponseNotesPlaceholder",chatCompanionSettingsResponseNotesSave:"chat.companionSettingsResponseNotesSave",chatCompanionSettingsResponseNotesSaving:"chat.companionSettingsResponseNotesSaving",chatCompanionSettingsTelegramBindingTitle:"chat.companionSettingsTelegramBindingTitle",chatCompanionSettingsTelegramBindingBotLabel:"chat.companionSettingsTelegramBindingBotLabel",chatCompanionSettingsTelegramBindingModeLabel:"chat.companionSettingsTelegramBindingModeLabel",chatCompanionSettingsTelegramBindingConnected:"chat.companionSettingsTelegramBindingConnected",chatCompanionSettingsTelegramBindingDefaultMode:"chat.companionSettingsTelegramBindingDefaultMode",chatCompanionSettingsTelegramBindingManageHint:"chat.companionSettingsTelegramBindingManageHint",chatCompanionSettingsTelegramBindingSettingsLabel:"chat.companionSettingsTelegramBindingSettingsLabel",chatCompanionSettingsTelegramBindingSuffix:"chat.companionSettingsTelegramBindingSuffix",chatCompanionSettingsNoTelegramBindingState:"chat.companionSettingsNoTelegramBindingState",chatCompanionOverviewLoadingState:"chat.companionOverviewLoadingState",chatCompanionOverviewPresenceTitle:"chat.companionOverviewPresenceTitle",chatCompanionOverviewPresenceWakeButton:"chat.companionOverviewPresenceWakeButton",chatCompanionOverviewPresenceSleepButton:"chat.companionOverviewPresenceSleepButton",chatCompanionOverviewSummaryTitle:"chat.companionOverviewSummaryTitle",chatCompanionOverviewSummaryResourceLabel:"chat.companionOverviewSummaryResourceLabel",chatCompanionOverviewSummaryCreationLabel:"chat.companionOverviewSummaryCreationLabel",chatCompanionOverviewSummaryMemoryLabel:"chat.companionOverviewSummaryMemoryLabel",chatCompanionOverviewRecentMemoriesTitle:"chat.companionOverviewRecentMemoriesTitle",chatCompanionOverviewEmptyState:"chat.companionOverviewEmptyState",chatCompanionMemoryLoadingState:"chat.companionMemoryLoadingState",chatCompanionMemorySectionTitle:"chat.companionMemorySectionTitle",chatCompanionMemoryActionAdd:"chat.companionMemoryActionAdd",chatCompanionMemoryActionCancel:"chat.companionMemoryActionCancel",chatCompanionMemoryFormPlaceholder:"chat.companionMemoryFormPlaceholder",chatCompanionMemoryActionBusy:"chat.companionMemoryActionBusy",chatCompanionMemoryActionAddSubmit:"chat.companionMemoryActionAddSubmit",chatCompanionMemoryFilterAll:"chat.companionMemoryFilterAll",chatCompanionMemoryCategoryIdentity:"chat.companionMemoryCategoryIdentity",chatCompanionMemoryCategoryPreference:"chat.companionMemoryCategoryPreference",chatCompanionMemoryCategoryRelationship:"chat.companionMemoryCategoryRelationship",chatCompanionMemoryCategoryFact:"chat.companionMemoryCategoryFact",chatCompanionMemoryCategoryEvent:"chat.companionMemoryCategoryEvent",chatCompanionMemoryCategoryOwnerNote:"chat.companionMemoryCategoryOwnerNote",chatCompanionMemoryEmptyState:"chat.companionMemoryEmptyState",chatCompanionMemoryEmptyFilterState:"chat.companionMemoryEmptyFilterState",chatCompanionMemoryActionRemove:"chat.companionMemoryActionRemove",chatCompanionMessageReferenceAvailabilityLivePreview:"chat.companionMessageReferenceAvailabilityLivePreview",chatCompanionMessageReferenceAvailabilityMissing:"chat.companionMessageReferenceAvailabilityMissing",chatCompanionMessageReferenceAvailabilityDeleted:"chat.companionMessageReferenceAvailabilityDeleted",chatCompanionMessageReferenceAvailabilityInaccessible:"chat.companionMessageReferenceAvailabilityInaccessible",chatCompanionMessageReferenceMissingFallbackTitle:"chat.companionMessageReferenceMissingFallbackTitle",chatCompanionMessageReferenceDeletedFallbackTitle:"chat.companionMessageReferenceDeletedFallbackTitle",chatCompanionMessageReferenceInaccessibleFallbackTitle:"chat.companionMessageReferenceInaccessibleFallbackTitle",chatCompanionMessageReferenceInaccessibleFallbackDescription:"chat.companionMessageReferenceInaccessibleFallbackDescription",chatCompanionMessageReferenceUnknownCompanionLabel:"chat.companionMessageReferenceUnknownCompanionLabel",chatCompanionMessageReferenceUntitledPostTitle:"chat.companionMessageReferenceUntitledPostTitle",chatCompanionMessageReferenceUntitledSourceTitle:"chat.companionMessageReferenceUntitledSourceTitle",chatNewChatDraftBranchPolicyWorkspaceWorktree:"chat.newChatDraft.branchPolicyWorkspaceWorktree",chatNewChatDraftBranchPolicyWorkspaceSource:"chat.newChatDraft.branchPolicyWorkspaceSource",chatNewChatDraftBranchPolicyWorkspaceSandbox:"chat.newChatDraft.branchPolicyWorkspaceSandbox",chatNewChatDraftBranchPolicyAccessReadOnly:"chat.newChatDraft.branchPolicyAccessReadOnly",chatNewChatDraftBranchPolicyAccessFull:"chat.newChatDraft.branchPolicyAccessFull",chatNewChatDraftBranchPolicyRelinkAria:"chat.newChatDraft.branchPolicyRelinkAria",chatNewChatDraftBranchPolicyDetachAria:"chat.newChatDraft.branchPolicyDetachAria",chatNewChatDraftBranchPolicyFollowsLeadLabel:"chat.newChatDraft.branchPolicyFollowsLeadLabel",chatNewChatDraftBranchFolderRelinkAria:"chat.newChatDraft.branchFolderRelinkAria",chatNewChatDraftBranchFolderChooseAria:"chat.newChatDraft.branchFolderChooseAria",chatNewChatDraftBranchFollowsLeadLabel:"chat.newChatDraft.branchFollowsLeadLabel",chatNewChatDraftBranchPromptJumpToLeadTitle:"chat.newChatDraft.branchPromptJumpToLeadTitle",chatNewChatDraftBranchPromptJumpToLeadAria:"chat.newChatDraft.branchPromptJumpToLeadAria",chatNewChatDraftBranchAttachAria:"chat.newChatDraft.branchAttachAria",chatNewChatDraftBranchCollaborateAria:"chat.newChatDraft.branchCollaborateAria",chatNewChatDraftBranchRemoveAria:"chat.newChatDraft.branchRemoveAria",chatNewChatDraftBranchAddParallelAria:"chat.newChatDraft.branchAddParallelAria",chatNewChatDraftBranchAddCompareHint:"chat.newChatDraft.branchAddCompareHint",chatNewChatDraftBranchAttachmentOverrideError:"chat.newChatDraft.branchAttachmentOverrideError",chatNewChatDraftCollaborateAria:"chat.newChatDraft.collaborateAria",chatNewChatDraftCollaborateHint:"chat.newChatDraft.collaborateHint",chatNewChatDraftRemoveFolderAria:"chat.newChatDraft.removeFolderAria",chatNewChatDraftAttachmentRemoveAria:"chat.newChatDraft.attachmentRemoveAria",chatNewChatDraftAddPhotosAndFiles:"chat.newChatDraft.addPhotosAndFiles",chatNewChatDraftTakeScreenshot:"chat.newChatDraft.takeScreenshot",sharedScreenshotCaptureTooltipDesktopRegion:"shared.screenshotCapture.tooltipDesktopRegion",sharedScreenshotCaptureTooltipWebPicker:"shared.screenshotCapture.tooltipWebPicker",sharedScreenshotCaptureTooltipUnavailable:"shared.screenshotCapture.tooltipUnavailable",sharedScreenshotCapturePermissionRequired:"shared.screenshotCapture.permissionRequired",sharedScreenshotCapturePermissionStatusUnknown:"shared.screenshotCapture.permissionStatusUnknown",sharedScreenshotCaptureFailed:"shared.screenshotCapture.failed",sharedScreenshotCaptureFrameLoadFailed:"shared.screenshotCapture.frameLoadFailed",sharedScreenshotCaptureFrameEmpty:"shared.screenshotCapture.frameEmpty",sharedScreenshotCaptureCanvasPrepareFailed:"shared.screenshotCapture.canvasPrepareFailed",sharedScreenshotCaptureEncodeFailed:"shared.screenshotCapture.encodeFailed",sharedScreenshotCaptureDownscaleFailed:"shared.screenshotCapture.downscaleFailed",sharedScreenshotCaptureDisplayUnavailable:"shared.screenshotCapture.displayUnavailable",sharedScreenshotCaptureRegionUnsupported:"shared.screenshotCapture.regionUnsupported",sharedScreenshotCaptureNoDisplays:"shared.screenshotCapture.noDisplays",sharedScreenshotCaptureWlrootsSessionUnsupported:"shared.screenshotCapture.wlrootsSessionUnsupported",sharedScreenshotCaptureWlrootsToolsRequired:"shared.screenshotCapture.wlrootsToolsRequired",sharedScreenshotCaptureWlrootsSelectionParseFailed:"shared.screenshotCapture.wlrootsSelectionParseFailed",sharedArtifactCanvasTitle:"shared.artifactCanvas.title",sharedArtifactCanvasLoading:"shared.artifactCanvas.loading",sharedArtifactCanvasLoadFailed:"shared.artifactCanvas.loadFailed",sharedArtifactCanvasInvalidRoute:"shared.artifactCanvas.invalidRoute",sharedArtifactCanvasClose:"shared.artifactCanvas.close",sharedArtifactCanvasCollapse:"shared.artifactCanvas.collapse",sharedArtifactCanvasExpand:"shared.artifactCanvas.expand",sharedArtifactCanvasRefresh:"shared.artifactCanvas.refresh",sharedArtifactCanvasOpenExternal:"shared.artifactCanvas.openExternal",sharedArtifactCanvasResizePane:"shared.artifactCanvas.resizePane",sharedArtifactCanvasUnsupportedTitle:"shared.artifactCanvas.unsupportedTitle",sharedArtifactCanvasUnsupportedBody:"shared.artifactCanvas.unsupportedBody",sharedArtifactCanvasPolicyVersion:"shared.artifactCanvas.policyVersion",chatNewChatDraftCancelSendAria:"chat.newChatDraft.cancelSendAria",chatNewChatDraftSendAria:"chat.newChatDraft.sendAria",chatNewChatDraftSendAllChatsAria:"chat.newChatDraft.sendAllChatsAria",chatNewChatDraftStartVoiceInputAria:"chat.newChatDraft.startVoiceInputAria",chatNewChatDraftStopVoiceInputAria:"chat.newChatDraft.stopVoiceInputAria",chatAudienceRemoveParticipantAria:"chat.audience.removeParticipantAria",chatAudienceRemoveParticipantFromAudienceAria:"chat.audience.removeParticipantFromAudienceAria",sharedVoiceInputErrorNotAllowed:"shared.voiceInput.error.notAllowed",sharedVoiceInputErrorServiceNotAllowed:"shared.voiceInput.error.serviceNotAllowed",sharedVoiceInputErrorAudioCapture:"shared.voiceInput.error.audioCapture",sharedVoiceInputErrorNetwork:"shared.voiceInput.error.network",sharedVoiceInputErrorLanguageNotSupported:"shared.voiceInput.error.languageNotSupported",sharedVoiceInputErrorPermissionDenied:"shared.voiceInput.error.permissionDenied",sharedVoiceInputErrorPermissionNotDetermined:"shared.voiceInput.error.permissionNotDetermined",sharedVoiceInputErrorMicUnavailable:"shared.voiceInput.error.micUnavailable",sharedVoiceInputErrorEngineUnavailable:"shared.voiceInput.error.engineUnavailable",sharedVoiceInputErrorHelperCrashed:"shared.voiceInput.error.helperCrashed",sharedVoiceInputFailedWithKind:"shared.voiceInput.failedWithKind",sharedVoiceInputPrivacyUnknown:"shared.voiceInput.privacyUnknown",sharedVoiceInputPrivacyCloud:"shared.voiceInput.privacyCloud",chatDraftCompareCarouselAriaLabel:"chat.draftCompareCarousel.ariaLabel",chatDraftCompareCarouselPreviousBranchAria:"chat.draftCompareCarousel.previousBranchAria",chatDraftCompareCarouselNextBranchAria:"chat.draftCompareCarousel.nextBranchAria",chatDraftCompareCarouselSelectBranchAria:"chat.draftCompareCarousel.selectBranchAria",chatDraftCompareCarouselGoToBranchAria:"chat.draftCompareCarousel.goToBranchAria",chatComposerAreaAttachAria:"chat.composerArea.attachAria",chatComposerAreaPlaceholderParallelWaiting:"chat.composerArea.placeholderParallelWaiting",chatComposerAreaPlaceholderReply:"chat.composerArea.placeholderReply",chatComposerAreaScrollToLatestAria:"chat.composerArea.scrollToLatestAria",chatComposerAreaStopButtonLabel:"chat.composerArea.stopButtonLabel",chatComposerAreaSwitchSendModeLabel:"chat.composerArea.switchSendModeLabel",chatComposerAreaSendToThisChatAria:"chat.composerArea.sendToThisChatAria",chatActivityEyebrow:"chat.activityEyebrow",chatActivityLatestUpdatesHeading:"chat.activityLatestUpdatesHeading",chatActivityEmptyState:"chat.activityEmptyState",chatActivityByActor:"chat.activityByActor",chatParticipantsSectionNameLabel:"chat.participantsSectionNameLabel",chatParticipantsSectionSaveNameButton:"chat.participantsSectionSaveNameButton",chatParticipantsSectionCancelButton:"chat.participantsSectionCancelButton",chatParticipantsSectionRenameButton:"chat.participantsSectionRenameButton",chatParticipantsSectionNoParticipants:"chat.participantsSectionNoParticipants",chatParticipantsSectionChooseCatsButton:"chat.participantsSectionChooseCatsButton",chatTranscriptMessageCheckWithOthersLabel:"chat.transcriptMessageCheckWithOthersLabel",chatTranscriptMessageSynthesizeWithOthersLabel:"chat.transcriptMessageSynthesizeWithOthersLabel",chatTranscriptMessageImproveWithOthersLabel:"chat.transcriptMessageImproveWithOthersLabel",chatTranscriptMessageAdoptWithOthersLabel:"chat.transcriptMessageAdoptWithOthersLabel",chatTranscriptMessageCounterWithOthersLabel:"chat.transcriptMessageCounterWithOthersLabel",chatTranscriptMessageDebateWithOthersLabel:"chat.transcriptMessageDebateWithOthersLabel",chatTranscriptMessageCopyLabel:"chat.transcriptMessageCopyLabel",chatTranscriptMessageRetryResponseLabel:"chat.transcriptMessageRetryResponseLabel",chatTranscriptMessageRelayToOthersLabel:"chat.transcriptMessageRelayToOthersLabel",chatTranscriptMessageFailedStatusLabel:"chat.transcriptMessageFailedStatusLabel",chatProductIntentAckUnsupportedDirectAudience:"chat.productIntent.ack.unsupportedDirectAudience",chatProductIntentAckUnsupportedContext:"chat.productIntent.ack.unsupportedContext",chatProductIntentAckChatActive:"chat.productIntent.ack.chatActive",chatProductIntentAckWorkHumanGate:"chat.productIntent.ack.workHumanGate",chatProductIntentAckWorkStrongAnchor:"chat.productIntent.ack.workStrongAnchor",chatProductIntentAckWorkClarify:"chat.productIntent.ack.workClarify",chatProductIntentAckCodeHumanGate:"chat.productIntent.ack.codeHumanGate",chatProductIntentAckCodeStrongAnchor:"chat.productIntent.ack.codeStrongAnchor",chatProductIntentAckCodeClarify:"chat.productIntent.ack.codeClarify",chatProductIntentHumanGateDraftSummaryFallback:"chat.productIntent.humanGate.draftSummaryFallback",chatProductIntentHumanGateContinueClarifying:"chat.productIntent.humanGate.continueClarifying",chatProductIntentHumanGateOpenWorkItems:"chat.productIntent.humanGate.openWorkItems",chatProductIntentHumanGateSwitchCat:"chat.productIntent.humanGate.switchCat",chatProductIntentHumanGateQuestion:"chat.productIntent.humanGate.question",chatProductIntentDraftTitleWork:"chat.productIntent.draft.title.work",chatProductIntentDraftTitleCode:"chat.productIntent.draft.title.code",chatProductIntentDraftSummary:"chat.productIntent.draft.summary",chatProductIntentDraftGoalFallback:"chat.productIntent.draft.goalFallback",chatProductIntentDraftSuccessCriteria:"chat.productIntent.draft.successCriteria",chatProductIntentDraftOutOfScope:"chat.productIntent.draft.outOfScope",chatProductIntentDraftOpenQuestion:"chat.productIntent.draft.openQuestion",chatImplicitProductIntentSuggestionWork:"chat.implicitProductIntent.suggestion.work",chatImplicitProductIntentSuggestionCode:"chat.implicitProductIntent.suggestion.code",chatImplicitProductIntentQuestion:"chat.implicitProductIntent.question",chatImplicitProductIntentConfirmWork:"chat.implicitProductIntent.confirm.work",chatImplicitProductIntentConfirmCode:"chat.implicitProductIntent.confirm.code",chatImplicitProductIntentDecline:"chat.implicitProductIntent.decline",chatImplicitProductIntentConfirmedWork:"chat.implicitProductIntent.confirmed.work",chatImplicitProductIntentConfirmedCode:"chat.implicitProductIntent.confirmed.code",chatImplicitProductIntentDeclined:"chat.implicitProductIntent.declined",chatImplicitProductIntentExpired:"chat.implicitProductIntent.expired",sharedAddCatPanelTitle:"shared.addCatPanelTitle",sharedAddCatPanelClose:"shared.addCatPanelClose",sharedAddCatPanelChooseExisting:"shared.addCatPanelChooseExisting",sharedAddCatPanelCreateNew:"shared.addCatPanelCreateNew",sharedAddCatPanelAdding:"shared.addCatPanelAdding",sharedAddCatPanelRemoving:"shared.addCatPanelRemoving",sharedAddCatPanelRemove:"shared.addCatPanelRemove",sharedAddCatPanelAdd:"shared.addCatPanelAdd",sharedAddCatPanelNoOtherCats:"shared.addCatPanelNoOtherCats",sharedAddCatPanelAllCatsInChat:"shared.addCatPanelAllCatsInChat",sharedAddCatPanelNameLabel:"shared.addCatPanelNameLabel",sharedAddCatPanelNamePlaceholder:"shared.addCatPanelNamePlaceholder",sharedAddCatPanelSaving:"shared.addCatPanelSaving",sharedAddCatPanelCreateAndAdd:"shared.addCatPanelCreateAndAdd",sharedAddCatPanelCreateAndAddToChat:"shared.addCatPanelCreateAndAddToChat",telegramCommandStartDescription:"telegram.command.start.description",telegramCommandHelpDescription:"telegram.command.help.description",telegramCommandCommandsDescription:"telegram.command.commands.description",telegramCommandStatusDescription:"telegram.command.status.description",telegramCommandOpenDescription:"telegram.command.open.description",telegramCommandModeDescription:"telegram.command.mode.description",telegramCommandChatDescription:"telegram.command.chat.description",telegramCommandWorkDescription:"telegram.command.work.description",telegramCommandCodeDescription:"telegram.command.code.description",telegramCommandHelpText:"telegram.command.help.text",telegramCommandModeCompanion:"telegram.command.mode.companion",telegramCommandModeAgent:"telegram.command.mode.agent",telegramCommandStartGreetingBound:"telegram.command.start.greetingBound",telegramCommandStartGreetingUnbound:"telegram.command.start.greetingUnbound",telegramCommandStatusBotLine:"telegram.command.status.botLine",telegramCommandStatusLinkedCatLine:"telegram.command.status.linkedCatLine",telegramCommandStatusModeLine:"telegram.command.status.modeLine",telegramCommandStatusInboundLine:"telegram.command.status.inboundLine",telegramCommandStatusChatLine:"telegram.command.status.chatLine",telegramCommandStatusConnectedLine:"telegram.command.status.connectedLine",telegramCommandOpenReply:"telegram.command.open.reply",telegramCommandModeNotConfigurable:"telegram.command.mode.notConfigurable",telegramCommandModeCurrent:"telegram.command.mode.current",telegramCommandModeUnknown:"telegram.command.mode.unknown",telegramCommandModeSwitchUnavailable:"telegram.command.mode.switchUnavailable",telegramCommandModeSwitched:"telegram.command.mode.switched",telegramCommandUnknownCommand:"telegram.command.unknownCommand",sharedOperatorNoTimestamp:"shared.operator.noTimestamp",sharedOperatorRunStatusRunning:"shared.operator.runStatus.running",sharedOperatorRunStatusBlocked:"shared.operator.runStatus.blocked",sharedOperatorRunStatusCompleted:"shared.operator.runStatus.completed",sharedOperatorRunStatusFailed:"shared.operator.runStatus.failed",sharedOperatorRunStatusCancelled:"shared.operator.runStatus.cancelled",sharedOperatorRunStatusQueued:"shared.operator.runStatus.queued",sharedOperatorBranchStatusPending:"shared.operator.branchStatus.pending",sharedOperatorBranchStatusRunning:"shared.operator.branchStatus.running",sharedOperatorBranchStatusCompleted:"shared.operator.branchStatus.completed",sharedOperatorBranchStatusFailed:"shared.operator.branchStatus.failed",sharedOperatorBranchStatusBlocked:"shared.operator.branchStatus.blocked",sharedOperatorBranchStatusCancelled:"shared.operator.branchStatus.cancelled",sharedOperatorBranchStatusWaitingForConverge:"shared.operator.branchStatus.waitingForConverge",sharedOperatorCheckpointStatusCompleted:"shared.operator.checkpointStatus.completed",sharedOperatorCheckpointStatusCancelled:"shared.operator.checkpointStatus.cancelled",sharedOperatorCheckpointStatusOpen:"shared.operator.checkpointStatus.open",sharedOperatorOutcomeStatusSucceeded:"shared.operator.outcomeStatus.succeeded",sharedOperatorOutcomeStatusBlocked:"shared.operator.outcomeStatus.blocked",sharedOperatorOutcomeStatusFailed:"shared.operator.outcomeStatus.failed",sharedOperatorOutcomeStatusCancelled:"shared.operator.outcomeStatus.cancelled",sharedOperatorTraceKindApproval:"shared.operator.traceKind.approval",sharedOperatorTraceKindCheckpoint:"shared.operator.traceKind.checkpoint",sharedOperatorTraceKindDispatch:"shared.operator.traceKind.dispatch",sharedOperatorTraceKindError:"shared.operator.traceKind.error",sharedOperatorTraceKindOutcome:"shared.operator.traceKind.outcome",sharedOperatorTraceKindStatus:"shared.operator.traceKind.status",sharedOperatorTraceKindNote:"shared.operator.traceKind.note",sharedOperatorActivityLabelRecovery:"shared.operator.activity.label.recovery",sharedOperatorActivityLabelReplay:"shared.operator.activity.label.replay",sharedOperatorActivityLabelDecision:"shared.operator.activity.label.decision",sharedOperatorActivityLabelAction:"shared.operator.activity.label.action",sharedOperatorActivityLabelArtifact:"shared.operator.activity.label.artifact",sharedOperatorActivityLabelUpdate:"shared.operator.activity.label.update",sharedOperatorActivityLabelTrace:"shared.operator.activity.label.trace",sharedOperatorEyebrowInspector:"shared.operator.eyebrow.inspector",sharedOperatorRunInspectorTitle:"shared.operator.runInspector.title",sharedOperatorRunInspectorNoHistory:"shared.operator.runInspector.noHistory",sharedOperatorRunInspectorSummaryFallback:"shared.operator.runInspector.summaryFallback",sharedOperatorMetaStarted:"shared.operator.meta.started",sharedOperatorMetaUpdated:"shared.operator.meta.updated",sharedOperatorMetaStage:"shared.operator.meta.stage",sharedOperatorWorkflowStageBlocked:"shared.operator.workflowStage.blocked",sharedOperatorWorkflowStageConcurrentFanOut:"shared.operator.workflowStage.concurrentFanOut",sharedOperatorWorkflowStageContinuationHandoff:"shared.operator.workflowStage.continuationHandoff",sharedOperatorWorkflowStageConvergeReview:"shared.operator.workflowStage.convergeReview",sharedOperatorWorkflowStageDispatch:"shared.operator.workflowStage.dispatch",sharedOperatorWorkflowStageInitialDispatch:"shared.operator.workflowStage.initialDispatch",sharedOperatorWorkflowStageRuntimeError:"shared.operator.workflowStage.runtimeError",sharedOperatorWorkflowStageStartupRecovery:"shared.operator.workflowStage.startupRecovery",sharedOperatorWorkflowStageTurnCompleted:"shared.operator.workflowStage.turnCompleted",sharedOperatorMetaShape:"shared.operator.meta.shape",sharedOperatorMetaReviewRequired:"shared.operator.meta.reviewRequired",sharedOperatorMetaGuardrail:"shared.operator.meta.guardrail",sharedOperatorMetaCooldown:"shared.operator.meta.cooldown",sharedOperatorGuardMaxContinuations:"shared.operator.guard.maxContinuations",sharedOperatorGuardMaxDispatches:"shared.operator.guard.maxDispatches",sharedOperatorGuardMaxTargetVisits:"shared.operator.guard.maxTargetVisits",sharedOperatorGuardAntiPingPong:"shared.operator.guard.antiPingPong",sharedOperatorCooldownActive:"shared.operator.cooldown.active",sharedOperatorSectionTrace:"shared.operator.section.trace",sharedOperatorSectionCheckpoints:"shared.operator.section.checkpoints",sharedOperatorNoCheckpointsRecorded:"shared.operator.noCheckpointsRecorded",sharedOperatorCheckpointSummaryFallback:"shared.operator.checkpointSummaryFallback",sharedOperatorSectionBranches:"shared.operator.section.branches",sharedOperatorNoBranchesRecorded:"shared.operator.noBranchesRecorded",sharedOperatorBranchHandoff:"shared.operator.branch.handoff",sharedOperatorBranchStrategy:"shared.operator.branch.strategy",sharedOperatorBranchStrategyForkIfPossible:"shared.operator.branchStrategy.forkIfPossible",sharedOperatorBranchStrategyFreshNoParent:"shared.operator.branchStrategy.freshNoParent",sharedOperatorBranchStrategySingleTargetReview:"shared.operator.branchStrategy.singleTargetReview",sharedOperatorBranchStrategyTransplantContext:"shared.operator.branchStrategy.transplantContext",sharedOperatorBranchHandoffExplicitMention:"shared.operator.branchHandoff.explicitMention",sharedOperatorBranchHandoffOperatorReroute:"shared.operator.branchHandoff.operatorReroute",sharedOperatorBranchHandoffRoomDefault:"shared.operator.branchHandoff.roomDefault",sharedOperatorBranchHandoffRoomEntry:"shared.operator.branchHandoff.roomEntry",sharedOperatorBranchHandoffRuntimeRetry:"shared.operator.branchHandoff.runtimeRetry",sharedOperatorBranchHandoffWorkflowContinuation:"shared.operator.branchHandoff.workflowContinuation",sharedOperatorBranchFromCheckpoint:"shared.operator.branch.fromCheckpoint",sharedOperatorBranchNoLineage:"shared.operator.branch.noLineage",sharedOperatorSectionOutcomes:"shared.operator.section.outcomes",sharedOperatorNoOutcomesRecorded:"shared.operator.noOutcomesRecorded",sharedOperatorOutcomeSummaryFallback:"shared.operator.outcomeSummaryFallback",sharedOperatorEyebrowProgress:"shared.operator.eyebrow.progress",sharedOperatorRunStatusTitle:"shared.operator.runStatus.title",sharedOperatorNoActiveRun:"shared.operator.noActiveRun",sharedOperatorProgressSummaryFallback:"shared.operator.progressSummaryFallback",sharedOperatorMetricDispatches:"shared.operator.metric.dispatches",sharedOperatorMetricContinuations:"shared.operator.metric.continuations",sharedOperatorMetricTargets:"shared.operator.metric.targets",sharedOperatorApprovalPendingSingular:"shared.operator.approvalPending.singular",sharedOperatorApprovalPendingPlural:"shared.operator.approvalPending.plural",sharedOperatorDeliveryLabel:"shared.operator.meta.delivery",sharedOperatorGatesLabel:"shared.operator.meta.gates",sharedOperatorBudgetLabel:"shared.operator.meta.budget",sharedOperatorDeliveryModeArtifactOnly:"shared.operator.deliveryMode.artifactOnly",sharedOperatorDeliveryModeCommitOnly:"shared.operator.deliveryMode.commitOnly",sharedOperatorDeliveryModeDeployPreview:"shared.operator.deliveryMode.deployPreview",sharedOperatorDeliveryModePrWithChecks:"shared.operator.deliveryMode.prWithChecks",sharedOperatorDeliveryModePushBranch:"shared.operator.deliveryMode.pushBranch",sharedOperatorGateManualReviewRequired:"shared.operator.deliveryGate.manualReviewRequired",sharedOperatorGateOwnerApprovalRequired:"shared.operator.deliveryGate.ownerApprovalRequired",sharedOperatorGatePublishArtifactRequired:"shared.operator.deliveryGate.publishArtifactRequired",sharedOperatorBudgetLevelNormal:"shared.operator.budgetLevel.normal",sharedOperatorBudgetLevelWarning:"shared.operator.budgetLevel.warning",sharedOperatorBudgetLevelBlocked:"shared.operator.budgetLevel.blocked",sharedOperatorWorkflowShapeSequential:"shared.operator.workflowShape.sequential",sharedOperatorWorkflowShapeConcurrent:"shared.operator.workflowShape.concurrent",sharedOperatorWorkflowShapeConverge:"shared.operator.workflowShape.converge",sharedOperatorInspectRunButton:"shared.operator.inspectRunButton",sharedOperatorNoTraceRecords:"shared.operator.noTraceRecords",sharedOperatorActionRequestRetry:"shared.operator.action.requestRetry",sharedOperatorActionRetryAgain:"shared.operator.action.retryAgain",sharedOperatorActionRetrying:"shared.operator.action.retrying",sharedOperatorActionRetryRequested:"shared.operator.action.retryRequested",sharedOperatorActionAcknowledge:"shared.operator.action.acknowledge",sharedOperatorActionAcknowledged:"shared.operator.action.acknowledged",sharedOperatorActionRetryDescription:"shared.operator.action.retryDescription",sharedOperatorActionReplayStoredDispatchDescription:"shared.operator.action.replayStoredDispatchDescription",sharedOperatorActionRetryTaskDescription:"shared.operator.action.retryTaskDescription",sharedOperatorActionRetryFailedDescription:"shared.operator.action.retryFailedDescription",sharedOperatorActionAcknowledgeDescription:"shared.operator.action.acknowledgeDescription",sharedOperatorActionAcknowledgeBlockedDescription:"shared.operator.action.acknowledgeBlockedDescription",sharedOperatorActionStatusRetryInProgress:"shared.operator.action.status.retryInProgress",sharedOperatorActionStatusRetryFailed:"shared.operator.action.status.retryFailed",sharedOperatorActionStatusRetryFailedWithError:"shared.operator.action.status.retryFailedWithError",sharedOperatorActionStatusRetryDispatched:"shared.operator.action.status.retryDispatched",sharedOperatorActionStatusRetryRequested:"shared.operator.action.status.retryRequested",sharedOperatorActionStatusAcknowledged:"shared.operator.action.status.acknowledged",sharedAudiencePopoverHeader:"shared.audience.popoverHeader",sharedAudienceSelectAudienceLabel:"shared.audience.selectAudienceLabel",sharedAudienceWorkflowSequential:"shared.audience.workflowSequential",sharedAudienceWorkflowConcurrent:"shared.audience.workflowConcurrent",sharedAudienceSwitchToSequentialModeLabel:"shared.audience.switchToSequentialModeLabel",sharedAudienceSwitchToConcurrentModeLabel:"shared.audience.switchToConcurrentModeLabel",sharedWorkspaceModeCurrentLabel:"shared.workspaceMode.currentLabel",sharedWorkspaceModeWorktreeLabel:"shared.workspaceMode.worktreeLabel",sharedWorkspaceModeCurrentTooltip:"shared.workspaceMode.currentTooltip",sharedWorkspaceModeWorktreeTooltip:"shared.workspaceMode.worktreeTooltip",sharedTelegramConnectDialogTitle:"shared.telegramConnectDialog.title",sharedTelegramConnectBotUsernameLabel:"shared.telegramConnectDialog.botUsernameLabel",sharedTelegramConnectBotUsernamePlaceholder:"shared.telegramConnectDialog.botUsernamePlaceholder",sharedTelegramConnectBotTokenLabel:"shared.telegramConnectDialog.botTokenLabel",sharedTelegramConnectBotTokenPlaceholder:"shared.telegramConnectDialog.botTokenPlaceholder",sharedTelegramConnectModeLabel:"shared.telegramConnectDialog.modeLabel",sharedTelegramConnectModePolling:"shared.telegramConnectDialog.modePolling",sharedTelegramConnectModeWebhook:"shared.telegramConnectDialog.modeWebhook",sharedTelegramConnectWebhookSecretLabel:"shared.telegramConnectDialog.webhookSecretLabel",sharedTelegramConnectWebhookSecretPlaceholder:"shared.telegramConnectDialog.webhookSecretPlaceholder",sharedTelegramConnectCancel:"shared.telegramConnectDialog.cancel",sharedTelegramConnectConnecting:"shared.telegramConnectDialog.connecting",sharedTelegramConnectConnect:"shared.telegramConnectDialog.connect",sharedCatsCreateCreateSection:"shared.catsCreateCreateSection",sharedCatsCreateNewCat:"shared.catsCreateNewCat",sharedCatsCreateCatLimitReached:"shared.catsCreateCatLimitReached",sharedCatsCreateAddNewCatHint:"shared.catsCreateAddNewCatHint",sharedCatsCreateCatNamePlaceholder:"shared.catsCreateCatNamePlaceholder",sharedCatsCreateCancel:"shared.catsCreateCancel",sharedCatsCreateSaving:"shared.catsCreateSaving",sharedCatsCreateSaveCat:"shared.catsCreateSaveCat",sharedPermissionModeFullAccess:"shared.permissionMode.fullAccess",sharedPermissionModeReadOnly:"shared.permissionMode.readOnly",sharedComposerSurfaceLabelChat:"shared.composerSurface.label.chat",sharedComposerSurfaceLabelWork:"shared.composerSurface.label.work",sharedComposerSurfaceLabelCode:"shared.composerSurface.label.code",sharedComposerSurfaceClearAria:"shared.composerSurface.clearAria",sharedProviderModelSupportAdvanced:"shared.providerModel.support.advanced",sharedProviderModelSupportReadOnly:"shared.providerModel.support.readOnly",sharedDeleteParallelChatGroupTitle:"shared.delete.parallelChatGroup.title",sharedDeleteParallelChatGroupMessage:"shared.delete.parallelChatGroup.message",sharedDeleteParallelChatGroupConfirm:"shared.delete.parallelChatGroup.confirm",sharedDeleteParallelChatGroupFallback:"shared.delete.parallelChatGroup.fallback",sharedDeleteCatTitle:"shared.delete.cat.title",sharedDeleteCatMessage:"shared.delete.cat.message",sharedDeleteCatConfirm:"shared.delete.cat.confirm",sharedDeleteCatFallback:"shared.delete.cat.fallback",sharedTranscriptDeletedCat:"shared.transcript.deletedCat",sharedCommonApply:"shared.common.apply",sharedCommonCancel:"shared.common.cancel",sharedCommonClose:"shared.common.close",sharedCommonDelete:"shared.common.delete",sharedCommonRetry:"shared.common.retry",sharedGuideCatPanelGreeting:"shared.guideCat.panelGreeting",sharedGuideCatWelcomeGreeting:"shared.guideCat.welcomeGreeting",sharedGuideCatWelcomeStartChat:"shared.guideCat.welcomeStartChat",sharedGuideCatWelcomeMeetCats:"shared.guideCat.welcomeMeetCats",sharedGuideCatWelcomeExploreProducts:"shared.guideCat.welcomeExploreProducts",sharedGuideCatWelcomeHideNow:"shared.guideCat.welcomeHideNow",sharedGuideCatPillOpenLabel:"shared.guideCat.pillOpenLabel",sharedGuideCatPillDisableLabel:"shared.guideCat.pillDisableLabel",sharedGuideCatDockUndockLabel:"shared.guideCat.dockUndockLabel",sharedGuideCatDialogDisableTitle:"shared.guideCat.dialog.disableTitle",sharedGuideCatDialogDisableMessage:"shared.guideCat.dialog.disableMessage",sharedGuideCatDialogDisableConfirm:"shared.guideCat.dialog.disableConfirm",sharedGuideCatDialogKeepEnabled:"shared.guideCat.dialog.keepEnabled",sharedGuideCatDialogDockNow:"shared.guideCat.dialog.dockNow",sharedImageUploadClickHint:"shared.imageUpload.clickHint",sharedImageUploadDragHint:"shared.imageUpload.dragHint",sharedWorkspaceNavigationDeleteChannelRuntimeCleanupFeedbackOne:"shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackOne",sharedWorkspaceNavigationDeleteChannelRuntimeCleanupFeedbackMany:"shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackMany",sharedWorkspaceNavigationRenameChatError:"shared.workspaceNavigation.renameChatError",sharedWorkspaceNavigationDeleteChatError:"shared.workspaceNavigation.deleteChatError",sharedWorkspaceNavigationRenameParallelChatError:"shared.workspaceNavigation.renameParallelChatError",sharedWorkspaceNavigationUngroupParallelChatError:"shared.workspaceNavigation.ungroupParallelChatError",sharedWorkspaceNavigationDeleteParallelChatGroupError:"shared.workspaceNavigation.deleteParallelChatGroupError",sharedWorkspaceNavigationParallelChatFallbackName:"shared.workspaceNavigation.parallelChatFallbackName",sharedWorkspaceNavigationErrorChatNotFound:"shared.workspaceNavigation.error.chatNotFound",sharedWorkspaceNavigationErrorChannelNotFound:"shared.workspaceNavigation.error.channelNotFound",sharedWorkspaceNavigationErrorParallelChatGroupNotFound:"shared.workspaceNavigation.error.parallelChatGroupNotFound",sharedWorkspaceNavigationErrorTitleRequired:"shared.workspaceNavigation.error.titleRequired",sharedWorkspaceNavigationErrorParallelChatTitleRequired:"shared.workspaceNavigation.error.parallelChatTitleRequired",sharedSettingsCatsRegistrySectionLabel:"shared.settingsCatsRegistry.sectionLabel",sharedSettingsCatsRegistrySavedCatsLabel:"shared.settingsCatsRegistry.savedCatsLabel",sharedSettingsCatsRegistryNoCatsYetLabel:"shared.settingsCatsRegistry.noCatsYetLabel",sharedSettingsCatsRegistryShowArchivedLabel:"shared.settingsCatsRegistry.showArchivedLabel",sharedSettingsCatsRegistryBossCatLabel:"shared.settingsCatsRegistry.bossCatLabel",sharedSettingsCatsRegistryRecoverLabel:"shared.settingsCatsRegistry.recoverLabel",sharedSettingsCatsRegistryRecoverTooltip:"shared.settingsCatsRegistry.recoverTooltip",sharedSettingsCatsRegistryDeleteTooltip:"shared.settingsCatsRegistry.deleteTooltip",sharedSettingsCatsRegistryArchiveTooltip:"shared.settingsCatsRegistry.archiveTooltip",sharedSettingsCatsRegistryDefaultSkillProfileLabel:"shared.settingsCatsRegistry.defaultSkillProfileLabel",sharedSettingsCatsRegistryMemorySavedLabel:"shared.settingsCatsRegistry.memorySavedLabel",sharedSettingsCatsRegistryNoMemoryYetLabel:"shared.settingsCatsRegistry.noMemoryYetLabel",sharedSettingsCatsRegistryBotBindingCount:"shared.settingsCatsRegistry.botBindingCount",sharedSettingsCatsRegistryEmptyStateHint:"shared.settingsCatsRegistry.emptyStateHint",sharedSettingsCatsSelectCatAria:"shared.settingsCats.selectCatAriaLabel",sharedSettingsCatsAddNewCatLabel:"shared.settingsCats.addNewCatLabel",sharedSettingsCatsShowArchivedLabel:"shared.settingsCats.showArchivedLabel",sharedSettingsCatsArchiveLabel:"shared.settingsCats.archiveLabel",sharedSettingsCatsRenameLabel:"shared.settingsCats.renameLabel",sharedSettingsCatsDeleteLabel:"shared.settingsCats.deleteLabel",sharedSettingsCatsChannelLabel:"shared.settingsCats.channelLabel",sharedSettingsCatsMemoryLabel:"shared.settingsCats.memoryLabel",sharedSettingsCatsSave:"shared.settingsCats.save",sharedSettingsCatsSaving:"shared.settingsCats.saving",sharedSettingsCatsBossCatLabel:"shared.settingsCats.bossCatLabel",sharedSettingsCatsChangeBossCatTitle:"shared.settingsCats.changeBossCatTitle",sharedSettingsCatsChangeBossCatMessage:"shared.settingsCats.changeBossCatMessage",sharedSettingsCatsConfirm:"shared.settingsCats.confirm",sharedSettingsCatsSetting:"shared.settingsCats.setting",sharedSettingsCatsSaveSuccess:"shared.settingsCats.saveSuccess",sharedSettingsCatsSaveError:"shared.settingsCats.saveError",sharedSettingsCatsRenameSuccess:"shared.settingsCats.renameSuccess",sharedSettingsCatsRenameError:"shared.settingsCats.renameError",sharedSettingsCatsDeleteSuccess:"shared.settingsCats.deleteSuccess",sharedSettingsCatsDeleteError:"shared.settingsCats.deleteError",sharedSettingsCatsBossUpdated:"shared.settingsCats.bossUpdated",sharedSettingsCatsStatusActive:"shared.settingsCats.status.active",sharedSettingsCatsStatusArchived:"shared.settingsCats.status.archived",sharedSettingsCatsMakeBossCatLabel:"shared.settingsCats.makeBossCatLabel",sharedSettingsCatsSetBossCatError:"shared.settingsCats.setBossCatError",sharedSettingsCatsSkillUpdateError:"shared.settingsCats.skillUpdateError",sharedSettingsCatsSkillProfileLabel:"shared.settingsCats.skillProfileLabel",sharedSettingsCatsMcpProfileLabel:"shared.settingsCats.mcpProfileLabel",sharedSettingsCatsMcpProfileChatMemoryLabel:"shared.settingsCats.mcpProfileChatMemoryLabel",sharedSettingsCatsMcpProfileWorkMemoryLabel:"shared.settingsCats.mcpProfileWorkMemoryLabel",sharedSettingsCatsChangeMcpProfileError:"shared.settingsCats.changeMcpProfileError",sharedSettingsCatsDisconnectTelegramAria:"shared.settingsCats.disconnectTelegramAria",sharedSettingsCatsDisconnectTelegram:"shared.settingsCats.disconnectTelegram",sharedSettingsCatsBindingActive:"shared.settingsCats.bindingActive",sharedSettingsCatsBindingDisabled:"shared.settingsCats.bindingDisabled",sharedSettingsCatsBindingPollingMode:"shared.settingsCats.bindingPollingMode",sharedSettingsCatsBindingWebhookMode:"shared.settingsCats.bindingWebhookMode",sharedSettingsCatsTelegramBindingCreated:"shared.settingsCats.telegramBindingCreated",sharedSettingsCatsTelegramBindingCreateError:"shared.settingsCats.telegramBindingCreateError",sharedSettingsCatsTelegramBindingRemoved:"shared.settingsCats.telegramBindingRemoved",sharedSettingsCatsTelegramBindingRemoveError:"shared.settingsCats.telegramBindingRemoveError",sharedSettingsCatsTelegramDiagnosticsLoadError:"shared.settingsCats.telegramDiagnosticsLoadError",sharedSettingsCatsCoverPhotoLabel:"shared.settingsCats.coverPhotoLabel",sharedSettingsCatsChangeCoverPhotoLabel:"shared.settingsCats.changeCoverPhotoLabel",sharedSettingsCatsUploadCoverPhotoLabel:"shared.settingsCats.uploadCoverPhotoLabel",sharedSettingsCatsChangeCoverLabel:"shared.settingsCats.changeCoverLabel",sharedSettingsCatsUploadCoverLabel:"shared.settingsCats.uploadCoverLabel",sharedSettingsCatsRemoveCoverLabel:"shared.settingsCats.removeCoverLabel",sharedSettingsCatsChangeSkillProfileError:"shared.settingsCats.changeSkillProfileError",sharedSettingsCatsUpdateBrainError:"shared.settingsCats.updateBrainError",sharedSettingsCatsLastInboundLabel:"shared.settingsCats.lastInboundLabel",sharedSettingsCatsConnectTelegramLabel:"shared.settingsCats.connectTelegramLabel",sharedSettingsCatsUnavailableHint:"shared.settingsCats.unavailableHint",sharedSettingsCatsSetBossCatLabel:"shared.settingsCats.setBossCatLabel",sharedSettingsCatsAddMemoryLabel:"shared.settingsCats.addMemoryLabel",sharedSettingsCatsDeleteMemoryAria:"shared.settingsCats.deleteMemoryAria",sharedSettingsCatsSkillProfileDefaultLabel:"shared.settingsCats.skillProfileDefaultLabel",sharedSettingsCatsSkillProfileCompanionLabel:"shared.settingsCats.skillProfileCompanionLabel",sharedSettingsCatsMemoryCategoryPreferenceLabel:"shared.settingsCats.memoryCategoryPreferenceLabel",sharedSettingsCatsMemoryCategoryFactLabel:"shared.settingsCats.memoryCategoryFactLabel",sharedSettingsCatsMemoryCategoryPolicyLabel:"shared.settingsCats.memoryCategoryPolicyLabel",sharedSettingsCatsMemoryCategoryStyleLabel:"shared.settingsCats.memoryCategoryStyleLabel",sharedSettingsCatsMemoryCategoryRelationshipLabel:"shared.settingsCats.memoryCategoryRelationshipLabel",sharedSettingsCatsMemoryCategoryLessonLabel:"shared.settingsCats.memoryCategoryLessonLabel",sharedSettingsCatsFallbackCatName:"shared.settingsCats.fallbackCatName",sharedSettingsCatsArchiveConfirmTitle:"shared.settingsCats.archiveConfirmTitle",sharedSettingsCatsArchiveConfirmMessage:"shared.settingsCats.archiveConfirmMessage",sharedSettingsCatsArchiveWithTelegramConfirmMessage:"shared.settingsCats.archiveWithTelegramConfirmMessage",sharedSettingsCatsArchiveSuccess:"shared.settingsCats.archiveSuccess",sharedSettingsCatsArchiveError:"shared.settingsCats.archiveError",sharedSettingsCatsRecoverConfirmTitle:"shared.settingsCats.recoverConfirmTitle",sharedSettingsCatsRecoverConfirmMessage:"shared.settingsCats.recoverConfirmMessage",sharedSettingsCatsRecoverConfirmLabel:"shared.settingsCats.recoverConfirmLabel",sharedSettingsCatsRecoverSuccess:"shared.settingsCats.recoverSuccess",sharedSettingsCatsRecoverError:"shared.settingsCats.recoverError",sharedSettingsCatsErrorNameRequired:"shared.settingsCats.error.nameRequired",sharedSettingsCatsErrorProviderRequired:"shared.settingsCats.error.providerRequired",sharedSettingsCatsErrorNameEmpty:"shared.settingsCats.error.nameEmpty",sharedSettingsCatsErrorAlreadyArchived:"shared.settingsCats.error.alreadyArchived",sharedSettingsCatsErrorAlreadyActive:"shared.settingsCats.error.alreadyActive",sharedSettingsCatsErrorArchiveRecoverConflict:"shared.settingsCats.error.archiveRecoverConflict",sharedSettingsCatsErrorNoProducts:"shared.settingsCats.error.noProducts",sharedSettingsCatsErrorBotTokenDuplicate:"shared.settingsCats.error.botTokenDuplicate",sharedSettingsCatsErrorNameDuplicate:"shared.settingsCats.error.nameDuplicate",sharedSettingsCatsErrorLimitReached:"shared.settingsCats.error.limitReached",sharedSettingsCatsErrorNotFound:"shared.settingsCats.error.notFound",sharedSettingsCatsErrorNotActive:"shared.settingsCats.error.notActive",sharedSettingsCatsErrorNotAvailableInChat:"shared.settingsCats.error.notAvailableInChat",sharedSettingsCatsErrorBotBindingNotFound:"shared.settingsCats.error.botBindingNotFound",sharedPlatformSurfaceSwitcherMenuLabel:"shared.platformSurfaceSwitcher.menuLabel",sharedPlatformSurfaceSwitcherOpenLobby:"shared.platformSurfaceSwitcher.openLobby",sharedPlatformSurfaceSwitcherAriaLabel:"shared.platformSurfaceSwitcher.ariaLabel",sharedProviderModelBrainCardTitle:"shared.providerModelBrainCard.title",sharedProviderModelControlDefault:"shared.providerModel.controls.default",sharedProviderModelControlEnabled:"shared.providerModel.controls.enabled",sharedProviderModelControlDisabled:"shared.providerModel.controls.disabled",sharedProviderModelControlOptionalPlaceholder:"shared.providerModel.controls.optionalPlaceholder",sharedProviderModelFieldProviderLabel:"shared.providerModel.field.providerLabel",sharedProviderModelFieldLoadingProviders:"shared.providerModel.field.loadingProviders",sharedProviderModelFieldSelectProviderHint:"shared.providerModel.field.selectProviderHint",sharedProviderModelFieldProviderLoadFailed:"shared.providerModel.field.providerLoadFailed",sharedProviderModelFieldNoProviders:"shared.providerModel.field.noProviders",sharedProviderModelFieldRegistryCheckingHint:"shared.providerModel.field.registryCheckingHint",sharedProviderModelFieldRegistryUsingProductCatalogHint:"shared.providerModel.field.registryUsingProductCatalogHint",sharedProviderModelFieldRegistryStaleHint:"shared.providerModel.field.registryStaleHint",sharedProviderModelFieldRegistryCachedRefreshFailedHint:"shared.providerModel.field.registryCachedRefreshFailedHint",sharedProviderModelFieldRegistryLoadFailedHint:"shared.providerModel.field.registryLoadFailedHint",sharedProviderModelFieldRegistryEmptyHint:"shared.providerModel.field.registryEmptyHint",sharedProviderModelFieldProviderInstanceLabel:"shared.providerModel.field.providerInstanceLabel",sharedProviderModelFieldModelLabel:"shared.providerModel.field.modelLabel",sharedProviderModelFieldRetryProvidersFirst:"shared.providerModel.field.retryProvidersFirst",sharedProviderModelFieldSelectProviderFirst:"shared.providerModel.field.selectProviderFirst",sharedProviderModelFieldWaitingProviders:"shared.providerModel.field.waitingProviders",sharedProviderModelFieldLoadingModels:"shared.providerModel.field.loadingModels",sharedProviderModelFieldSelectModel:"shared.providerModel.field.selectModel",sharedProviderModelFieldNoModels:"shared.providerModel.field.noModels",sharedProviderModelFieldCustomLegacyModelLabel:"shared.providerModel.field.customLegacyModelLabel",sharedProviderModelFieldLegacyModelIdLabel:"shared.providerModel.field.legacyModelIdLabel",sharedProviderModelFieldLegacyModelIdPlaceholder:"shared.providerModel.field.legacyModelIdPlaceholder",sharedProviderModelFieldLegacyModelIdHint:"shared.providerModel.field.legacyModelIdHint",sharedProviderModelFieldModeLabel:"shared.providerModel.field.modeLabel",sharedProviderModelFieldModeStandardLabel:"shared.providerModel.field.modeStandardLabel",sharedProviderModelFieldModeStandardOnlyLabel:"shared.providerModel.field.modeStandardOnlyLabel",sharedProviderModelFieldPresetPreviewSuffix:"shared.providerModel.field.presetPreviewSuffix",sharedProviderModelFieldPresetUnavailableSuffix:"shared.providerModel.field.presetUnavailableSuffix",sharedProviderModelFieldPresetTuningDescriptionFallback:"shared.providerModel.field.presetTuningDescriptionFallback",sharedProviderModelFieldModeOnlyBaseHint:"shared.providerModel.field.modeOnlyBaseHint",sharedProviderModelFieldRequestScopedWarning:"shared.providerModel.field.requestScopedWarning",sharedProviderModelFieldOpenRuntimeSetupLabel:"shared.providerModel.field.openRuntimeSetupLabel",sharedProviderModelFieldAdvancedCatalogUnavailable:"shared.providerModel.field.advancedCatalogUnavailable",sharedProviderModelFieldCatalogKindModel:"shared.providerModel.field.catalogKindModel",sharedProviderModelFieldCatalogKindAdvancedModel:"shared.providerModel.field.catalogKindAdvancedModel",sharedProviderModelFieldRuntimeCatalogUnavailable:"shared.providerModel.field.runtimeCatalogUnavailable",sharedProviderModelFieldRuntimeCatalogUnavailableWarning:"shared.providerModel.field.runtimeCatalogUnavailableWarning",sharedMemoryEditorDialogTitle:"shared.memoryEditorDialog.title",sharedMemoryEditorDialogCategoryLabel:"shared.memoryEditorDialog.categoryLabel",sharedMemoryEditorDialogContentLabel:"shared.memoryEditorDialog.contentLabel",sharedMemoryEditorDialogMemoryPlaceholder:"shared.memoryEditorDialog.memoryPlaceholder",sharedMemoryEditorDialogCancel:"shared.memoryEditorDialog.cancel",sharedMemoryEditorDialogSaving:"shared.memoryEditorDialog.saving",sharedMemoryEditorDialogAdd:"shared.memoryEditorDialog.add",sharedApprovalEyebrow:"shared.approvalEyebrow",sharedApprovalPendingTitle:"shared.approvalPendingTitle",sharedApprovalEmptyState:"shared.approvalEmptyState",sharedApprovalRequester:"shared.approvalRequester",sharedApprovalSummaryFallback:"shared.approvalSummaryFallback",sharedApprovalRequestedBy:"shared.approvalRequestedBy",sharedApprovalActionApprove:"shared.approval.action.approve",sharedApprovalActionReroute:"shared.approval.action.reroute",sharedApprovalActionReject:"shared.approval.action.reject",sharedApprovalActionApproveDescription:"shared.approval.action.approveDescription",sharedApprovalActionRerouteDescription:"shared.approval.action.rerouteDescription",sharedApprovalActionRejectDescription:"shared.approval.action.rejectDescription",sharedCatInspectTitle:"shared.catInspectTitle",sharedCatInspectClose:"shared.catInspectClose",sharedCatInspectBossLabel:"shared.catInspectBossLabel",sharedCatInspectProviderLabel:"shared.catInspectProviderLabel",sharedCatInspectInstanceLabel:"shared.catInspectInstanceLabel",sharedCatInspectModelLabel:"shared.catInspectModelLabel",sharedCatInspectSkillProfileLabel:"shared.catInspectSkillProfileLabel",sharedCatInspectSharedPresetDescription:"shared.catInspectSharedPresetDescription",sharedMessageChoicesCustom:"shared.messageChoicesCustom",sharedMessageChoicesAddCustomPlaceholder:"shared.messageChoicesAddCustomPlaceholder",sharedMessageChoicesSkipped:"shared.messageChoicesSkipped",sharedMessageChoicesRecorded:"shared.messageChoicesRecorded",sharedMessageChoicesConfirm:"shared.messageChoicesConfirm",sharedMessageChoicesSkip:"shared.messageChoicesSkip",sharedFolderBrowserEnterPath:"shared.folderBrowserEnterPath",sharedFolderBrowserGo:"shared.folderBrowserGo",sharedFolderBrowserUpOneLevel:"shared.folderBrowserUpOneLevel",sharedFolderBrowserRefresh:"shared.folderBrowserRefresh",sharedFolderBrowserLoading:"shared.folderBrowserLoading",sharedFolderBrowserNoSubdirectories:"shared.folderBrowserNoSubdirectories",sharedFolderBrowserUseThisFolder:"shared.folderBrowserUseThisFolder",sharedCommonSaving:"shared.common.saving",sharedCommonDismiss:"shared.common.dismiss",setupWizardWelcomeTitle:"setup.wizard.welcomeTitle",setupWizardWelcomeIntro:"setup.wizard.welcomeIntro",setupWizardOwnerNameLabel:"setup.wizard.ownerNameLabel",setupWizardOwnerNamePlaceholder:"setup.wizard.ownerNamePlaceholder",setupWizardGetStartedButton:"setup.wizard.getStartedButton",setupWizardStepIndicator:"setup.wizard.stepIndicator",setupWizardEnableGuideTitle:"setup.wizard.enableGuideTitle",setupWizardEnableGuideSubtitle:"setup.wizard.enableGuideSubtitle",setupWizardEnableGuideLabel:"setup.wizard.enableGuideLabel",setupWizardSkipGuideMessage:"setup.wizard.skipGuideMessage",setupWizardBackButton:"setup.wizard.backButton",setupWizardOpeningCatsAction:"setup.wizard.openingCatsAction",setupWizardOpenCatsAction:"setup.wizard.openCatsAction",setupWizardFailedMessage:"setup.wizard.failedMessage",setupWizardFailedWithStatus:"setup.wizard.failedWithStatus",setupWizardAlreadyCompleteError:"setup.wizard.alreadyCompleteError",setupWizardInvalidRequestError:"setup.wizard.invalidRequestError",setupWizardServerError:"setup.wizard.serverError",setupWizardRecordOpenFailedWithStatus:"setup.wizard.recordOpenFailedWithStatus",setupGuideCatRuntimeUnavailable:"setup.guideCat.runtimeUnavailable",setupGuideCatNoUsableTargets:"setup.guideCat.noUsableTargets",setupGuideCatRuntimeConnected:"setup.guideCat.runtimeConnected",setupGuideCatRuntimeNotDetected:"setup.guideCat.runtimeNotDetected",setupGuideCatNameLabel:"setup.guideCat.nameLabel",setupGuideCatNameHint:"setup.guideCat.nameHint",setupGuideCatOpenRuntimeSetup:"setup.guideCat.openRuntimeSetup",setupGuideCatUnavailableNote:"setup.guideCat.unavailableNote",setupGuideCatNoUsableTargetsNote:"setup.guideCat.noUsableTargetsNote",settingsAssistantsDefaultName:"settings.assistants.defaultName",settingsAssistantsStatusFailed:"settings.assistants.statusFailed",settingsAssistantsSaveFailed:"settings.assistants.saveFailed",settingsAssistantsStatusUpdateFailed:"settings.assistants.statusUpdateFailed",settingsAssistantsGuideCatUpdateFailed:"settings.assistants.guideCatUpdateFailed",settingsAssistantsGuideCatSaveFailed:"settings.assistants.guideCatSaveFailed",settingsAssistantsSaveFailedWithError:"settings.assistants.saveFailedWithError",settingsAssistantsRemoveTitle:"settings.assistants.removeTitle",settingsAssistantsRemoveMessage:"settings.assistants.removeMessage",settingsAssistantsRemoveButton:"settings.assistants.removeButton",settingsAssistantsRemoveFailed:"settings.assistants.removeFailed",settingsAssistantsEnableButton:"settings.assistants.enableButton",settingsAssistantsEnableBusyButton:"settings.assistants.enableBusyButton",settingsAssistantsDisableButton:"settings.assistants.disableButton",settingsAssistantsAvatarLabel:"settings.assistants.avatarLabel",settingsAssistantsNameLabel:"settings.assistants.nameLabel",settingsAssistantsSelectAriaLabel:"settings.assistants.selectAriaLabel",settingsAssistantsAddNewLabel:"settings.assistants.addNewLabel",settingsAssistantsNewAssistantTitle:"settings.assistants.newAssistantTitle",settingsAssistantsCancelButton:"settings.assistants.cancelButton",settingsAssistantsCreateButton:"settings.assistants.createButton",settingsAssistantsDeleteButton:"settings.assistants.deleteButton",settingsAssistantsRoleHintTitle:"settings.assistants.roleHintTitle",settingsAssistantsNamePlaceholder:"settings.assistants.namePlaceholder",settingsAssistantsRoleHintPlaceholder:"settings.assistants.roleHintPlaceholder",settingsAssistantsRenameFailed:"settings.assistants.renameFailed",settingsAssistantsRoleHintUpdateFailed:"settings.assistants.roleHintUpdateFailed",settingsAssistantsBrainUpdateFailed:"settings.assistants.brainUpdateFailed",settingsAssistantsCreateFailed:"settings.assistants.createFailed",settingsAssistantsApiInvalidRequestBody:"settings.assistants.api.invalidRequestBody",settingsAssistantsApiAssistantNameRequired:"settings.assistants.api.assistantNameRequired",settingsAssistantsApiAssistantProviderRequired:"settings.assistants.api.assistantProviderRequired",settingsAssistantsApiAssistantModelRequired:"settings.assistants.api.assistantModelRequired",settingsAssistantsApiAssistantNotFound:"settings.assistants.api.assistantNotFound",settingsAssistantsApiGuideCatNameManaged:"settings.assistants.api.guideCatNameManaged",settingsAssistantsApiGuideCatStatusInvalid:"settings.assistants.api.guideCatStatusInvalid",settingsAssistantsApiGuideCatNotFound:"settings.assistants.api.guideCatNotFound",conversationSidebarChatsLabel:"conversationSidebar.chatsLabel",conversationSidebarRecentsLabel:"conversationSidebar.recentsLabel",conversationSidebarNoChatsLabel:"conversationSidebar.noChatsLabel",conversationSidebarPrimaryAriaLabel:"conversationSidebar.primaryAriaLabel",conversationSidebarOpenSidebarLabel:"conversationSidebar.openSidebarLabel",conversationSidebarCloseSidebarLabel:"conversationSidebar.closeSidebarLabel",conversationSidebarRenameLabel:"conversationSidebar.renameLabel",conversationSidebarRenamingLabel:"conversationSidebar.renamingLabel",conversationSidebarDeleteLabel:"conversationSidebar.deleteLabel",conversationSidebarDeletingLabel:"conversationSidebar.deletingLabel",conversationSidebarUngroupLabel:"conversationSidebar.ungroupLabel",conversationSidebarUngroupingLabel:"conversationSidebar.ungroupingLabel",conversationSidebarDeleteAllLabel:"conversationSidebar.deleteAllLabel",conversationSidebarOpenAccountSettingsLabel:"conversationSidebar.openAccountSettingsLabel",conversationSidebarRuntimeStatusAriaLabel:"conversationSidebar.runtimeStatusAriaLabel",conversationSidebarDirectMessagesLabel:"conversationSidebar.directMessagesLabel",conversationSidebarTelegramBoundTooltip:"conversationSidebar.telegramBoundTooltip",conversationSidebarArchiveButton:"conversationSidebar.archiveButton",conversationSidebarDirectMessageButton:"conversationSidebar.directMessageButton",conversationSidebarClearButton:"conversationSidebar.clearButton",conversationSidebarClearConfirmMessage:"conversationSidebar.clearConfirmMessage",chatNewChatDraftViewCatProfileAction:"chatNewChatDraft.viewCatProfileAction",chatTopBarOpenCatProfileAriaLabel:"chatTopBar.openCatProfileAriaLabel",codeActiveComposerDetachedBranch:"code.activeComposer.detachedBranch",codeNewDraftGreeting:"code.newDraft.greeting",codeNewDraftGreetingOpenRepo:"code.newDraft.greeting.openRepo",codeNewDraftGreetingBuildFixRefactor:"code.newDraft.greeting.buildFixRefactor",codeNewDraftGreetingShipImprovement:"code.newDraft.greeting.shipImprovement",codeNewDraftGreetingSmallestChange:"code.newDraft.greeting.smallestChange",codeNewDraftComposerPlaceholder:"code.newDraft.composer.placeholder",codeNewDraftSetupTitle:"code.newDraft.setupTitle",codeNewDraftParticipantsTitle:"code.newDraft.participants.title",codeNewDraftParticipantsEmpty:"code.newDraft.participants.empty",codeNewDraftExecutionTitle:"code.newDraft.execution.title",codeNewDraftExecutionAction:"code.newDraft.execution.action",codeNewDraftExecutionEmpty:"code.newDraft.execution.empty",codeNewDraftFolderTitle:"code.newDraft.folder.title",codeNewDraftFolderAction:"code.newDraft.folder.action",codeNewDraftFolderEmpty:"code.newDraft.folder.empty",codeNewDraftSessionProfileTitle:"code.newDraft.sessionProfile.title",codeNewDraftSessionProfileDescription:"code.newDraft.sessionProfile.description",codeNewDraftWorkspaceIndependentWorktree:"code.newDraft.workspace.independentWorktree",codeNewDraftWorkspaceCurrentFolder:"code.newDraft.workspace.currentFolder",codeNewDraftWorkspaceSandbox:"code.newDraft.workspace.sandbox",codeNewDraftPermissionReadOnly:"code.newDraft.permission.readOnly",codeNewDraftPermissionFullAccess:"code.newDraft.permission.fullAccess",codeNewDraftStarterPomodoroLabel:"code.newDraft.starter.pomodoro.label",codeNewDraftStarterPomodoroPrompt:"code.newDraft.starter.pomodoro.prompt",codeNewDraftStarterFixBugLabel:"code.newDraft.starter.fixBug.label",codeNewDraftStarterFixBugPrompt:"code.newDraft.starter.fixBug.prompt",codeNewDraftStarterRefactorLabel:"code.newDraft.starter.refactor.label",codeNewDraftStarterRefactorPrompt:"code.newDraft.starter.refactor.prompt",codeNewDraftStarterWriteTestsLabel:"code.newDraft.starter.writeTests.label",codeNewDraftStarterWriteTestsPrompt:"code.newDraft.starter.writeTests.prompt",codeNewDraftStarterStartProjectLabel:"code.newDraft.starter.startProject.label",codeNewDraftStarterStartProjectPrompt:"code.newDraft.starter.startProject.prompt",codeTaskPillsAriaLabel:"code.taskPills.ariaLabel",codeTaskPillsMockAuthMiddleware:"code.taskPills.mock.authMiddleware",codeTaskPillsMockKiroSessionDelete:"code.taskPills.mock.kiroSessionDelete",codeTaskPillsMockArtifactGallery:"code.taskPills.mock.artifactGallery",codeTaskPillsNamePlaceholder:"code.taskPills.namePlaceholder",codeTaskPillsEditAria:"code.taskPills.editAria",codeTaskPillsTitleCurrent:"code.taskPills.title.current",codeTaskPillsTitleFocus:"code.taskPills.title.focus",codeTaskPillsHideAria:"code.taskPills.hideAria",codeTaskPillsFallbackTask:"code.taskPills.fallbackTask",codeTaskPillsAddAria:"code.taskPills.addAria",codeTaskPillsButtonTask:"code.taskPills.buttonTask",codeArtifactAnchorSourceLabel:"code.workspace.source.artifactAnchor",codeArtifactBuildLabel:"code.artifact.kind.build",codeArtifactDatasetLabel:"code.artifact.kind.dataset",codeArtifactDetailArtifactUnavailable:"code.artifactDetail.artifactUnavailable",codeArtifactDetailBackToBuild:"code.artifactDetail.backToBuild",codeArtifactDetailArtifactOutput:"code.artifactDetail.artifactOutput",codeArtifactDetailConversationLabel:"code.artifactDetail.conversationLabel",codeArtifactDetailContextEyebrow:"code.artifactDetail.contextEyebrow",codeArtifactDetailContextTitle:"code.artifactDetail.contextTitle",codeArtifactDetailLoadFailed:"code.artifactDetail.loadFailed",codeArtifactDetailLoadingBody:"code.artifactDetail.loadingBody",codeArtifactDetailLoadingTitle:"code.artifactDetail.loadingTitle",codeArtifactDetailMissingId:"code.artifactDetail.missingId",codeArtifactDetailNoArtifactSummary:"code.artifactDetail.noArtifactSummary",codeArtifactDetailNoInlinePreview:"code.artifactDetail.noInlinePreview",codeArtifactDetailNotInlineSafe:"code.artifactDetail.notInlineSafe",codeArtifactDetailPreviewOutput:"code.artifactDetail.previewOutput",codeArtifactDetailPreviewActionOpenArtifact:"code.artifactDetail.previewActionOpenArtifact",codeArtifactDetailPreviewActionOpenPreview:"code.artifactDetail.previewActionOpenPreview",codeArtifactDetailProjectLabel:"code.artifactDetail.projectLabel",codeArtifactDetailProjectMeta:"code.artifactDetail.projectMeta",codeArtifactDetailRelatedEmpty:"code.artifactDetail.relatedEmpty",codeArtifactDetailRelatedEyebrow:"code.artifactDetail.relatedEyebrow",codeArtifactDetailRelatedTitle:"code.artifactDetail.relatedTitle",codeArtifactDetailOpenConversationAction:"code.artifactDetail.openConversationAction",codeArtifactDetailOpenProjectAction:"code.artifactDetail.openProjectAction",codeArtifactDetailOpenTaskAction:"code.artifactDetail.openTaskAction",codeArtifactDetailOpenWorkItemAction:"code.artifactDetail.openWorkItemAction",codeArtifactDetailTaskLabel:"code.artifactDetail.taskLabel",codeArtifactDetailTitle:"code.artifactDetail.title",codeArtifactDetailViewArtifact:"code.artifactDetail.viewArtifact",codeArtifactDetailWorkItemLinkedLabel:"code.artifactDetail.workItemLinkedLabel",codeArtifactDetailWorkItemMissingLabel:"code.artifactDetail.workItemMissingLabel",codeArtifactKindAttachmentLabel:"code.artifactKind.attachment",codeArtifactKindDocumentLabel:"code.artifactKind.document",codeArtifactKindPreviewLabel:"code.artifactKind.preview",codeArtifactKindReportLabel:"code.artifactKind.report",codeArtifactKindTranscriptLabel:"code.artifactKind.transcript",codeArtifactKindUnknownLabel:"code.artifactKind.unknown",codeArtifactKindBuildLabel:"code.artifactKind.build",codeArtifactStatusArchived:"code.artifactStatus.archived",codeArtifactStatusDraft:"code.artifactStatus.draft",codeArtifactStatusPublished:"code.artifactStatus.published",codeArtifactStatusReady:"code.artifactStatus.ready",codeArtifactStatusUnknown:"code.artifactStatus.unknown",codeArtifactListArtifact:"code.artifactList.artifact",codeArtifactListAllFilter:"code.artifactList.filter.all",codeArtifactListAriaOpen:"code.artifactList.ariaOpenArtifact",codeArtifactListEmpty:"code.artifactList.empty",codeArtifactListHeader:"code.artifactList.header",codeArtifactListLoading:"code.artifactList.loading",codeArtifactListError:"code.artifactList.error",codeArtifactListLoadFailed:"code.artifactList.loadFailed",codeArtifactListCandidateHint:"code.artifactList.candidateHint",codeArtifactListCandidateLabel:"code.artifactList.candidateLabel",codeArtifactListProvenanceRun:"code.artifactList.provenance.run",codeArtifactListProvenanceTask:"code.artifactList.provenance.task",codeArtifactListStatusFilterLabel:"code.artifactList.statusFilterLabel",codeArtifactMetaContract:"code.artifactMeta.contract",codeArtifactMetaMode:"code.artifactMeta.mode",codeArtifactMetaDecision:"code.artifactMeta.decision",codeArtifactMetaKind:"code.artifactMeta.kind",codeArtifactMetaPath:"code.artifactMeta.path",codeArtifactMetaStatus:"code.artifactMeta.status",codeArtifactMetaUpdated:"code.artifactMeta.updated",codeArtifactMetaViewArtifact:"code.artifactMeta.viewArtifact",codeArtifactPreview:"code.artifactPreview",codeArtifactUnknown:"code.artifact.unknown",codeConversationKindChatChannel:"code.conversationKind.chatChannel",codeConversationKindChatRoot:"code.conversationKind.chatRoot",codeConversationKindCodeThread:"code.conversationKind.codeThread",codeConversationKindDirectMessage:"code.conversationKind.directMessage",codeConversationKindParallelGroup:"code.conversationKind.parallelGroup",codeConversationKindUnknown:"code.conversationKind.unknown",codeConversationKindWorkThread:"code.conversationKind.workThread",codeRecordStatusArchived:"code.recordStatus.archived",codeRecordStatusBlocked:"code.recordStatus.blocked",codeRecordStatusCancelled:"code.recordStatus.cancelled",codeRecordStatusCompleted:"code.recordStatus.completed",codeRecordStatusDraft:"code.recordStatus.draft",codeRecordStatusFailed:"code.recordStatus.failed",codeRecordStatusInProgress:"code.recordStatus.inProgress",codeRecordStatusOpen:"code.recordStatus.open",codeRecordStatusPending:"code.recordStatus.pending",codeRecordStatusPendingApproval:"code.recordStatus.pendingApproval",codeRecordStatusReady:"code.recordStatus.ready",codeRecordStatusRunning:"code.recordStatus.running",codeRecordStatusUnknown:"code.recordStatus.unknown",codeBuilderCodespaceHeader:"code.builder.codespaceHeader",codeBuilderCodeOutputLabel:"code.builder.codeOutputLabel",codeBuilderBack:"code.builder.back",codeBuilderContinue:"code.builder.continue",codeBuilderContinueBuild:"code.builder.continueBuild",codeBuilderContinueBuildBusy:"code.builder.continueBuildBusy",codeBuilderContinueTaskBusy:"code.builder.continueTaskBusy",codeBuilderCreateArtifact:"code.builder.createArtifact",codeBuilderCreateLabel:"code.builder.createLabel",codeBuilderCreatingTask:"code.builder.creatingTask",codeBuilderDefineTaskHeader:"code.builder.defineTaskHeader",codeBuilderDetailPlaceholder:"code.builder.detailsPlaceholder",codeBuilderDetailsLabel:"code.builder.detailsLabel",codeBuilderErrorCodespaceResolve:"code.builder.errorCodespaceResolve",codeBuilderErrorCodespacePathInvalid:"code.builder.errorCodespacePathInvalid",codeBuilderErrorCodespaceNoPath:"code.builder.errorCodespaceNoPath",codeBuilderErrorTaskCreate:"code.builder.errorTaskCreate",codeBuilderErrorTaskCreateMissingId:"code.builder.errorTaskCreateMissingId",codeBuilderErrorTaskExecution:"code.builder.errorTaskExecution",codeBuilderErrorTaskDetailLoad:"code.builder.errorTaskDetailLoad",codeBuilderErrorTaskResume:"code.builder.errorTaskResume",codeBuilderErrorTaskResumeInput:"code.builder.errorTaskResumeInput",codeBuilderErrorTaskTitle:"code.builder.errorTaskTitle",codeBuilderRuntimeObservationFailed:"code.builder.runtimeObservationFailed",codeBuilderExecutionDoneBanner:"code.builder.executionDoneBanner",codeBuilderExistingTask:"code.builder.existingTask",codeBuilderFeedbackResumeReady:"code.builder.feedbackResumeReady",codeBuilderFeedbackResumeTask:"code.builder.feedbackResumeTask",codeBuilderFeedbackResumeNoWorkspace:"code.builder.feedbackResumeNoWorkspace",codeBuilderFeedbackResumeWorkspaceNeeded:"code.builder.feedbackResumeWorkspaceNeeded",codeBuilderFilterCodespace:"code.builder.filter.codespace",codeBuilderHeaderCodespace:"code.builder.header.codespace",codeBuilderHeaderNewTask:"code.builder.header.newTask",codeBuilderHeaderProjectFolder:"code.builder.header.projectFolder",codeBuilderHeaderTaskStep:"code.builder.header.taskStep",codeBuilderModelLabel:"code.builder.modelLabel",codeBuilderModelPlaceholder:"code.builder.modelPlaceholder",codeBuilderNewTaskButton:"code.builder.newTaskButton",codeBuilderProviderLabel:"code.builder.providerLabel",codeBuilderProviderTaskLabel:"code.builder.providerTaskLabel",codeBuilderRepoPathLabel:"code.builder.repoPathLabel",codeBuilderResumeLabel:"code.builder.resumeLabel",codeBuilderResumePrompt:"code.builder.resumePrompt",codeBuilderRetryPrompt:"code.builder.retryPrompt",codeBuilderStepLabel:"code.builder.stepLabel",codeBuilderSuccessTaskReadyWithCurrentChat:"code.builder.successTaskReadyWithCurrentChat",codeBuilderTaskIdRequired:"code.builder.taskIdRequired",codeBuilderTaskIdReady:"code.builder.taskIdReady",codeBuilderTaskIdReadyNoWorkspace:"code.builder.taskIdReadyNoWorkspace",codeBuilderTaskLabel:"code.builder.taskLabel",codeBuilderTaskSummaryPlaceholder:"code.builder.taskSummaryPlaceholder",codeBuilderTitle:"code.builder.title",codeBuilderWorkspaceActiveNotice:"code.builder.workspaceActiveNotice",codeBuilderWorkspaceFallbackBound:"code.builder.workspaceFallbackBound",codeBuilderWorkspaceFallbackBoundFallback:"code.builder.workspaceFallbackBoundFallback",codeBuilderWorkspaceFallbackChatRepo:"code.builder.workspaceFallbackChatRepo",codeBuilderWorkspaceFallbackRoom:"code.builder.workspaceFallbackRoom",codeBuilderWorkspaceFooterLabel:"code.builder.workspaceFooterLabel",codeBuilderWorkspacePathPlaceholder:"code.builder.workspacePathPlaceholder",codeBuilderWorkspaceResumeHelp:"code.builder.workspaceResumeHelp",codeBuilderWorkspaceSampleTaskId:"code.builder.sampleTaskId",codeBuilderWorkspaceSummaryLabel:"code.builder.workspaceSummaryLabel",codeBuilderWorkspaceSummaryNotice:"code.builder.workspaceSummaryNotice",codeBuilderStartingTaskBusy:"code.builder.startingTaskBusy",codeBuilderTaskQuestion:"code.builder.taskQuestion",codeLivePreviewCommandProfile:"code.livePreview.commandProfile",codeLivePreviewDescription:"code.livePreview.description",codeLivePreviewDiagnostic:"code.livePreview.diagnostic",codeLivePreviewErrorLoad:"code.livePreview.error.load",codeLivePreviewErrorLogs:"code.livePreview.error.logs",codeLivePreviewErrorStop:"code.livePreview.error.stop",codeLivePreviewExpiresAt:"code.livePreview.expiresAt",codeLivePreviewHideLogs:"code.livePreview.hideLogs",codeLivePreviewLogs:"code.livePreview.logs",codeLivePreviewLogsEmpty:"code.livePreview.logsEmpty",codeLivePreviewLogsLoading:"code.livePreview.logsLoading",codeLivePreviewOpen:"code.livePreview.open",codeLivePreviewRetry:"code.livePreview.retry",codeLivePreviewRetryUnavailable:"code.livePreview.retryUnavailable",codeLivePreviewStatusExpired:"code.livePreview.status.expired",codeLivePreviewStatusFailed:"code.livePreview.status.failed",codeLivePreviewStatusReady:"code.livePreview.status.ready",codeLivePreviewStatusStarting:"code.livePreview.status.starting",codeLivePreviewStatusStopped:"code.livePreview.status.stopped",codeLivePreviewStatusStopping:"code.livePreview.status.stopping",codeLivePreviewStop:"code.livePreview.stop",codeLivePreviewStopRequested:"code.livePreview.stopRequested",codeLivePreviewStopping:"code.livePreview.stopping",codeLivePreviewTitle:"code.livePreview.title",codeLivePreviewWorkspace:"code.livePreview.workspace",codeExecutionExecutionHeader:"code.execution.header",codeExecutionMetaNoTask:"code.execution.meta.noTask",codeExecutionMetaRuntimeSession:"code.execution.meta.runtimeSession",codeExecutionMetaWorkingTreeClean:"code.execution.meta.workingTreeClean",codeExecutionMetaWorkingTreeDirty:"code.execution.meta.workingTreeDirty",codeExecutionNoActiveSession:"code.execution.noActiveSession",codeExecutionNoTask:"code.execution.noTask",codeExecutionNotStarted:"code.execution.notStarted",codeExecutionOwnerDecisionRequired:"code.execution.ownerDecisionRequired",codeExecutionPanelTitle:"code.execution.panelTitle",codeExecutionRuntimeHeader:"code.execution.runtimeHeader",codeExecutionRuntimeIdle:"code.execution.runtimeIdle",codeExecutionRuntimeModeDelivery:"code.execution.modeDelivery",codeExecutionRuntimeTargetLabel:"code.execution.targetLabel",codeExecutionRuntimeTargets:"code.execution.targets",codeExecutionRuntimeTitle:"code.execution.runtimeTitle",codeExecutionSectionBlocked:"code.execution.sectionBlocked",codeExecutionTaskHeader:"code.execution.taskHeader",codeExecutionTaskStatus:"code.execution.taskStatus",codeExecutionTaskTitle:"code.execution.taskTitle",codeExecutionNotActiveYet:"code.execution.notActiveYet",codeExecutionPaused:"code.execution.paused",codeExecutionProvider:"code.execution.provider",codeExecutionModel:"code.execution.model",codeExecutionDefaultModel:"code.execution.defaultModel",codeExecutionSession:"code.execution.session",codeExecutionTaskId:"code.execution.taskId",codeExecutionStatusBlocked:"code.execution.status.blocked",codeExecutionStatusDone:"code.execution.status.done",codeExecutionStatusPending:"code.execution.status.pending",codeExecutionStatusRunning:"code.execution.status.running",codeExecutionStatusUnknown:"code.execution.status.unknown",codeExecutionTaskRuntimeHeader:"code.execution.taskRuntimeHeader",codeExecutionTaskStrategy:"code.execution.taskStrategy",codeExecutionStrategyPdca:"code.execution.strategy.pdca",codeExecutionStrategyReact:"code.execution.strategy.react",codeExecutionStrategyReflexion:"code.execution.strategy.reflexion",codeExecutionDeliveryModeArtifactOnly:"code.execution.deliveryMode.artifactOnly",codeExecutionDeliveryModeCommitOnly:"code.execution.deliveryMode.commitOnly",codeExecutionDeliveryModeDeployPreview:"code.execution.deliveryMode.deployPreview",codeExecutionDeliveryModePrWithChecks:"code.execution.deliveryMode.prWithChecks",codeExecutionDeliveryModePushBranch:"code.execution.deliveryMode.pushBranch",codeExecutionBlockedReasonAntiPingPong:"code.execution.blockedReason.antiPingPong",codeExecutionBlockedReasonApprovalPending:"code.execution.blockedReason.approvalPending",codeExecutionBlockedReasonMaxDispatches:"code.execution.blockedReason.maxDispatches",codeExecutionBlockedReasonNoValidTargets:"code.execution.blockedReason.noValidTargets",codeExecutionBlockedReasonStartupRecovery:"code.execution.blockedReason.startupRecovery",codeExecutionBlockedReasonUserCancelled:"code.execution.blockedReason.userCancelled",codeExecutionUnknownDeliveryMode:"code.execution.unknownDeliveryMode",codeExecutionUnknownValue:"code.execution.unknownValue",codeExecutionUnknownValueUnknown:"code.execution.unknownValueUnknown",codeExecutionControlHeader:"code.execution.controlHeader",codeExecutionControlMode:"code.execution.controlMode",codeExecutionControlDelivery:"code.execution.controlDelivery",codeExecutionControlBlocked:"code.execution.controlBlocked",codeExecutionControlApprovalPending:"code.execution.controlApprovalPending",codeExecutionControlBlockedBy:"code.execution.controlBlockedBy",codeExecutionControlTargets:"code.execution.controlTargets",codeExecutionControlReplable:"code.execution.controlTargets",codeExecutionStatusActiveLabel:"code.execution.statusActiveLabel",codeExecutionStatusIdleLabel:"code.execution.statusIdleLabel",codeExecutionStatusBlockedLabel:"code.execution.statusBlockedLabel",codeExecutionStatusRunningLabel:"code.execution.statusRunningLabel",codeExecutionStatusDoneLabel:"code.execution.statusDoneLabel",codeExecutionStatusPendingLabel:"code.execution.statusPendingLabel","codeDelivery.blocked":"code.delivery.blocked",codeDeliveryPreviewHeader:"code.delivery.previewHeader",codeDeliveryBlockerLabel:"code.delivery.blockerLabel",codeDeliveryContractLabel:"code.delivery.contractLabel",codeDeliveryErrorRepoStatusUnavailable:"code.delivery.error.repoStatusUnavailable",codeDeliveryWarningsLabel:"code.delivery.warningsLabel",codeDeliveryWarningsTitle:"code.delivery.warningsTitle",codeDeliveryHeader:"code.delivery.header",codeDeliveryLabel:"code.delivery.label",codeDeliveryLabelPreview:"code.delivery.labelPreview",codeDeliveryMetaBranch:"code.delivery.metaBranch",codeDeliveryMetaAhead:"code.delivery.metaAhead",codeDeliveryMetaBehind:"code.delivery.metaBehind",codeDeliveryMetaStaged:"code.delivery.metaStaged",codeDeliveryMetaUnstaged:"code.delivery.metaUnstaged",codeDeliveryMetaUntracked:"code.delivery.metaUntracked",codeDeliveryMetaRemote:"code.delivery.metaRemote",codeDeliveryMetaMode:"code.delivery.metaMode",codeDeliveryMetaDecision:"code.delivery.metaDecision",codeDeliveryNoCodespace:"code.delivery.noCodespace",codeDeliveryNoRepoStatus:"code.delivery.noRepoStatus",codeDeliveryNoInlinePreview:"code.delivery.noInlinePreview",codeDeliveryNoWorkspace:"code.delivery.noWorkspace",codeDeliveryPanelSubtitle:"code.delivery.panelSubtitle",codeDeliveryPanelTitle:"code.delivery.panelTitle",codeDeliveryPreviewHintUnsafe:"code.delivery.previewHintUnsafe",codeDeliveryRepoClean:"code.delivery.repoClean",codeDeliveryRepoDirty:"code.delivery.repoDirty",codeDeliveryRepoStatusHeader:"code.delivery.repoStatusHeader",codeDeliveryActionsCommitHeader:"code.delivery.actions.commitHeader",codeDeliveryActionsPushHeader:"code.delivery.actions.pushHeader",codeDeliveryActionsExportHeader:"code.delivery.actions.exportHeader",codeDeliveryActionRefresh:"code.delivery.action.refresh",codeDeliveryActionPreview:"code.delivery.action.preview",codeDeliveryActionCommit:"code.delivery.action.commit",codeDeliveryActionPush:"code.delivery.action.push",codeDeliveryActionPushPreview:"code.delivery.action.pushPreview",codeDeliveryActionPushConfirm:"code.delivery.action.pushConfirm",codeDeliveryActionPushCancel:"code.delivery.action.pushCancel",codeDeliveryActionExport:"code.delivery.action.export",codeDeliveryActionCommitPlaceholder:"code.delivery.action.commitPlaceholder",codeDeliveryConfirmationPush:"code.delivery.confirmation.push",codeDeliveryConfirmationPushHint:"code.delivery.confirmation.pushHint",codeDeliveryCommitFailed:"code.delivery.error.commitFailed",codeDeliveryPushFailed:"code.delivery.error.pushFailed",codeDeliveryExportFailed:"code.delivery.error.exportFailed",codeDeliveryStatusReady:"code.delivery.status.ready",codeDeliveryStatusBlocked:"code.delivery.status.blocked",codeDeliveryStatusUnknown:"code.delivery.status.unknown",codeDeliveryDecisionApprove:"code.delivery.decision.approve",codeDeliveryDecisionComplete:"code.delivery.decision.complete",codeDeliveryDecisionReject:"code.delivery.decision.reject",codeDeliveryDecisionReroute:"code.delivery.decision.reroute",codeDeliveryDecisionWait:"code.delivery.decision.wait",codeDeliveryUnknownBlocker:"code.delivery.unknownBlocker",codeDeliveryWarningFallback:"code.delivery.warningFallback",codePlanHeader:"code.plan.header",codePlanPanelTitle:"code.plan.panelTitle",codePlanEmpty:"code.plan.empty",codePlanReplan:"code.plan.replan",codePlanStatusBlocked:"code.plan.status.blocked",codePlanStatusDone:"code.plan.status.done",codePlanStatusPending:"code.plan.status.pending",codePlanStatusRunning:"code.plan.status.running",codePlanTitle:"code.plan.title",codePlanReplannedSuffix:"code.plan.replannedSuffix",codePlanLoadError:"code.plan.error.load",codePlanUpdateError:"code.plan.error.update",codePlanStepUpdateError:"code.plan.error.stepUpdate",codePreviewArtifactCountMany:"code.preview.artifactCountMany",codePreviewArtifactCountOne:"code.preview.artifactCountOne",codePreviewBlocked:"code.preview.blocked",codePreviewDetails:"code.preview.details",codePreviewHeader:"code.preview.header",codePreviewIframeTitle:"code.preview.iframeTitle",codePreviewNoPreview:"code.preview.noPreview",codePreviewNotInlineSafe:"code.preview.notInlineSafe",codePreviewOpenArtifact:"code.preview.openArtifact",codePreviewOpenLatestArtifact:"code.preview.openLatestArtifact",codePreviewOpenLatestPreview:"code.preview.openLatestPreview",codePreviewOpenPreview:"code.preview.openPreview",codePreviewTitle:"code.preview.title",codeRelayActionCreateRelayThread:"code.relay.action.createThread",codeRelayActionDispatching:"code.relay.action.dispatching",codeRelayActionFanOut:"code.relay.action.fanOut",codeRelayActionRefresh:"code.relay.action.refresh",codeRelayActionFanOutSelected:"code.relay.action.fanOutSelected",codeRelayAuthorKindAgent:"code.relay.authorKind.agent",codeRelayAuthorKindSystem:"code.relay.authorKind.system",codeRelayAuthorKindUnknown:"code.relay.authorKind.unknown",codeRelayAuthorKindUser:"code.relay.authorKind.user",codeRelayAvailabilityInstanceUnavailable:"code.relay.availability.instanceUnavailable",codeRelayAvailabilityProviderPathMissing:"code.relay.availability.providerPathMissing",codeRelayAvailabilityProviderPathReady:"code.relay.availability.providerPathReady",codeRelayAvailabilityRuntimeConfigUnavailable:"code.relay.availability.runtimeConfigUnavailable",codeRelayAvailabilityRuntimeReadyVia:"code.relay.availability.runtimeReadyVia",codeRelayErrorAgentRequired:"code.relay.error.agentRequired",codeRelayErrorFanOutPromptRequired:"code.relay.error.fanOutPromptRequired",codeRelayErrorThreadRequired:"code.relay.error.threadRequired",codeRelayErrorThreadTitleRequired:"code.relay.error.threadTitleRequired",codeRelayErrorMissingPayload:"code.relay.error.missingPayload",codeRelayErrorNoPayload:"code.relay.error.noPayload",codeRelayErrorRelayFailed:"code.relay.error.relayFailed",codeRelayErrorRosterUpdateFailed:"code.relay.error.rosterUpdateFailed",codeRelayErrorThreadLoadFailed:"code.relay.error.threadLoadFailed",codeRelayErrorThreadRefreshFailed:"code.relay.error.threadRefreshFailed",codeRelayErrorThreadCreateFailed:"code.relay.error.threadCreateFailed",codeRelayHeaderCodeRelay:"code.relay.header.codeRelay",codeRelayLabelContract:"code.relay.label.contract",codeRelayLabelContractLoading:"code.relay.label.contractLoading",codeRelayLabelActiveThread:"code.relay.label.activeThread",codeRelayLabelDefault:"code.relay.label.default",codeRelayLabelEnabled:"code.relay.label.enabled",codeRelayLabelEnded:"code.relay.label.ended",codeRelayLabelModel:"code.relay.label.model",codeRelayLabelNoObjective:"code.relay.label.noObjective",codeRelayLabelNoRounds:"code.relay.label.noRounds",codeRelayLabelNoThreads:"code.relay.label.noThreads",codeRelayLabelNoneYet:"code.relay.label.noneYet",codeRelayLabelObjective:"code.relay.label.objective",codeRelayLabelProven:"code.relay.label.proven",codeRelayLabelRepoPath:"code.relay.label.repoPath",codeRelayLabelRelayThreadTitle:"code.relay.label.relayThreadTitle",codeRelayLabelRepoNoBound:"code.relay.label.repoNoBound",codeRelayLabelUpdated:"code.relay.label.updated",codeRelayLabelMode:"code.relay.label.mode",codeRelayLabelOpen:"code.relay.label.open",codeRelayLabelQuotaNote:"code.relay.label.quotaNote",codeRelayLabelRoster:"code.relay.label.roster",codeRelayLabelRoundObjective:"code.relay.label.roundObjective",codeRelayLabelRoundPrompt:"code.relay.label.roundPrompt",codeRelayLabelRoundTimeline:"code.relay.label.roundTimeline",codeRelayLabelRounds:"code.relay.label.rounds",codeRelayLabelRole:"code.relay.label.role",codeRelayLabelStarted:"code.relay.label.started",codeRelayLabelStatusWaiting:"code.relay.label.statusWaiting",codeRelayStatusActive:"code.relay.status.active",codeRelayStatusAvailable:"code.relay.status.available",codeRelayStatusCompleted:"code.relay.status.completed",codeRelayStatusFailed:"code.relay.status.failed",codeRelayStatusRequested:"code.relay.status.requested",codeRelayStatusRunning:"code.relay.status.running",codeRelayStatusUnavailable:"code.relay.status.unavailable",codeRelayStatusUnknown:"code.relay.status.unknown",codeRelayStatusWaitingForAgents:"code.relay.status.waitingForAgents",codeRelayStatusWaitingForUser:"code.relay.status.waitingForUser",codeRelayModeBuild:"code.relay.mode.build",codeRelayModeDiscover:"code.relay.mode.discover",codeRelayModeDocument:"code.relay.mode.document",codeRelayModeFit:"code.relay.mode.fit",codeRelayModeHumanVerify:"code.relay.mode.humanVerify",codeRelayModeRepair:"code.relay.mode.repair",codeRelayModeReview:"code.relay.mode.review",codeRelayModeShape:"code.relay.mode.shape",codeRelayRoleCritic:"code.relay.role.critic",codeRelayRoleDrafter:"code.relay.role.drafter",codeRelayRoleIdle:"code.relay.role.idle",codeRelayRoleMainCoder:"code.relay.role.mainCoder",codeRelayRoleReviewer:"code.relay.role.reviewer",codeRelayRoleSummarizer:"code.relay.role.summarizer",codeRelayLabelThreadShell:"code.relay.label.threadShell",codeRelayLabelThreadTitle:"code.relay.label.threadTitle",codeRelayLabelPhase0:"code.relay.phase.phase0",codeRelayLabelPhase1:"code.relay.phase.phase1",codeRelayLabelPhase2:"code.relay.phase.phase2",codeRelayLabelPhaseFanOut:"code.relay.phase.fanOut",codeRelayLabelPhaseRoster:"code.relay.phase.roster",codeRelayLabelPhaseProject:"code.relay.phase.project",codeRelayLabelProjectThread:"code.relay.projectThread",codeRelayLabelProjectThreadSummary:"code.relay.projectThreadSummary",codeRelayLabelRuntimeProviderSurface:"code.relay.runtimeProviderSurface",codeRelayLabelRuntimeSurface:"code.relay.runtimeSurface",codeRelayLabelThreadProject:"code.relay.threadProject",codeRelayLabelThreadShellTitle:"code.relay.threadShellTitle",codeRelayModeParallelPrompt:"code.relay.mode.parallelPrompt",codeRelayNoObjective:"code.relay.noObjective",codeRelayNotRecorded:"code.relay.notRecorded",codeRelayOpenDiscoveryRound:"code.relay.openDiscoveryRound",codeRelayPlaceholderObjective:"code.relay.placeholder.objective",codeRelayPlaceholderOptionalRepo:"code.relay.placeholder.optionalRepo",codeRelayPlaceholderFanOutPrompt:"code.relay.placeholder.fanOutPrompt",codeRelayPlaceholderQuotaNote:"code.relay.placeholder.quotaNote",codeRelayLabelCurrentChat:"code.relay.currentChat",codeRelayLabelCreate:"code.relay.create",codeRelayDefaultThreadTitle:"code.relay.defaultThreadTitle",codeRelayLabelLoading:"code.relay.loading",codeRelayLabelProjectThreadHeader:"code.relay.projectThreadHeader",codeRelayLabelRelayToOthers:"code.relay.relayToOthers",codeRelayLabelTargetAgent:"code.relay.targetAgent",codeRelayLabelThreadLabel:"code.relay.threadLabel",codeRelayTitle:"code.relay.title",codeRelayTitleConnectorContract:"code.relay.titleConnectorContract",codeRelayTitleProjectThread:"code.relay.titleProjectThread",codeRelayTitleTimeline:"code.relay.titleTimeline",codeRelayTransportUnknown:"code.relay.transportUnknown",codeRelayTransportUnknownWithValue:"code.relay.transportUnknownWithValue",codeRelayTransportRuntimeSessionBridge:"code.relay.transportRuntimeSessionBridge",codeSidebarCodespaceLabel:"code.sidebar.codespace",codeSidebarCodeBuilderTitle:"code.sidebar.codeBuilderTitle",codeSidebarCodespacesLabel:"code.sidebar.codespaces",codeSidebarSourceCodeTask:"code.workspaceSource.codeTask",codeSidebarSourceConversationRepo:"code.workspaceSource.conversationRepo",codeSidebarSourceRuntimeCwd:"code.workspaceSource.runtimeCwd",codeRelayTitleProjectThreadSection:"code.relay.titleProjectThreadSection",codeSidebarTeamCodeLabel:"code.sidebar.teamCode",codeSidebarPeerCodeLabel:"code.sidebar.peerCode",codeSidebarNewCodeLabel:"code.sidebar.newCode",codeSidebarNoCodesYetLabel:"code.sidebar.noCodesYet",codeSidebarNoConversationsSummary:"code.sidebar.noConversationsSummary",codeRelayNoRoundsHint:"code.relay.noRoundsHint",codeSidebarLabelArtifacts:"code.sidebar.artifacts",codeSidebarLabelBuild:"code.sidebar.build",codeSidebarLabelRelay:"code.sidebar.relay",codeWorkspaceSectionCodeOutput:"code.workspace.sectionCodeOutput",codeWorkspaceSummaryBinding:"code.workspace.summary.binding",codeWorkspaceSummaryCodespace:"code.workspace.summary.codespace",codeWorkspaceSummaryKind:"code.workspace.summary.kind",codeWorkspaceSummaryOwnership:"code.workspace.summary.ownership",codeWorkspaceSummaryNoticeConversation:"code.workspace.summary.chatContext",codeWorkspaceSummaryNoBindingChat:"code.workspace.summary.noChatContext",codeWorkspaceSummaryNoChat:"code.workspace.summary.noChat",codeWorkspaceSummaryBindingConversationRepo:"code.workspace.summary.binding.conversationRepo",codeWorkspaceSummaryBindingManagedRoom:"code.workspace.summary.binding.managedRoom",codeWorkspaceSummaryBindingUserSelected:"code.workspace.summary.binding.userSelected",codeWorkspaceKindConversationRepo:"code.workspace.kind.conversationRepo",codeWorkspaceKindManagedRoom:"code.workspace.kind.managedRoom",codeWorkspaceKindUserSelected:"code.workspace.kind.userSelected",codeWorkspaceOwnershipConversationBound:"code.workspace.ownership.conversationBound",codeWorkspaceOwnershipRoomOwned:"code.workspace.ownership.roomOwned",codeWorkspaceOwnershipOwnerSelected:"code.workspace.ownership.ownerSelected",codeWorkspaceSourceTask:"code.workspace.source.task",codeWorkspaceSourceConversationRepo:"code.workspace.source.conversationRepo",codeWorkspaceSourceRuntimeCwd:"code.workspace.source.runtimeCwd",codeWorkspacesListHeader:"code.workspaces.listHeader",codeWorkspacesListNoCodespaces:"code.workspaces.listNoCodespaces",codeWorkspacesListLoading:"code.workspaces.loading",codeWorkspacesListError:"code.workspaces.error",codeWorkspacesLoadError:"code.workspaces.loadError",codeWorkspacesListSourceCodes:"code.workspaces.sourceCodes",codeWorkspacesListSourceRepo:"code.workspaces.sourceRepo",codeWorkspacesListSourceRuntime:"code.workspaces.sourceRuntime",codeWorkspacesListSourceArtifact:"code.workspaces.sourceArtifact",codeWorkspacesListAriaOpen:"code.workspaces.ariaOpen",codeWorkspaceStatusActive:"code.workspaceStatus.active",codeWorkspaceStatusArchived:"code.workspaceStatus.archived",codeWorkspaceStatusDraft:"code.workspaceStatus.draft",codeWorkspaceStatusReady:"code.workspaceStatus.ready",codeWorkspaceStatusUnknown:"code.workspaceStatus.unknown",codeWorkspaceDetailError:"code.workspaceDetail.error",codeWorkspaceDetailLoading:"code.workspaceDetail.loading",codeWorkspaceDetailTitle:"code.workspaceDetail.title",codeWorkspaceDetailNotFound:"code.workspaceDetail.notFound",codeWorkspaceDetailMissingId:"code.workspaceDetail.missingId",codeWorkspaceDetailBackToList:"code.workspaceDetail.backToList",codeWorkspaceDetailOverviewTitle:"code.workspaceDetail.overviewTitle",codeWorkspaceDetailArtifactSection:"code.workspaceDetail.artifactSection",codeWorkspaceDetailConversationsSection:"code.workspaceDetail.conversationsSection",codeWorkspaceDetailTasksSection:"code.workspaceDetail.tasksSection",codeWorkspaceDetailNoArtifacts:"code.workspaceDetail.noArtifacts",codeWorkspaceDetailNoArtifactsDesc:"code.workspaceDetail.noArtifactsDesc",codeWorkspaceDetailNoConversations:"code.workspaceDetail.noConversations",codeWorkspaceDetailNoTasks:"code.workspaceDetail.noTasks",codeWorkspaceDetailOverviewPath:"code.workspaceDetail.overviewPath",codeWorkspaceDetailOverviewSource:"code.workspaceDetail.overviewSource",codeWorkspaceDetailOverviewStatus:"code.workspaceDetail.overviewStatus",codeWorkspaceDetailOverviewLastActive:"code.workspaceDetail.overviewLastActive",codeWorkspaceDetailOverviewSummary:"code.workspaceDetail.overviewSummary",codeWorkspaceDetailNoSummary:"code.workspaceDetail.noSummary",codeWorkspaceDetailMetricConversations:"code.workspaceDetail.metric.conversations",codeWorkspaceDetailMetricTasks:"code.workspaceDetail.metric.tasks",codeWorkspaceDetailMetricArtifacts:"code.workspaceDetail.metric.artifacts",codeWorkspaceDetailMetricId:"code.workspaceDetail.metric.id",codeWorkspaceDetailOverviewNoArtifactYet:"code.workspaceDetail.overviewNoArtifacts",codeWorkspaceDetailConversationsEmpty:"code.workspaceDetail.conversationsEmpty",codeWorkspaceDetailTasksEmpty:"code.workspaceDetail.tasksEmpty",codeWorkspaceDetailTaskLabel:"code.workspaceDetail.taskLabel",codeWorkspaceDetailArtifactsHeader:"code.workspaceDetail.artifactsHeader",codeWorkspaceDetailSourceUnknown:"code.workspace.source.unknown",designSidePanelCloseLabel:"design.sidePanel.closeLabel",designAccountIdentityMenuLabel:"design.accountIdentityMenu.label",designAccountIdentityMenuMenuLabel:"design.accountIdentityMenu.menuLabel",designAccountIdentityMenuSettingsLabel:"design.accountIdentityMenu.settingsLabel",designAccountIdentityMenuEnvironmentLabel:"design.accountIdentityMenu.environmentLabel",designNotificationDismissLabel:"design.notification.dismissLabel",entityComingSoonBackToLobby:"entity.comingSoon.backToLobby",entityDetailBreadcrumbLobby:"entity.detail.breadcrumb.lobby",clowdersListTitle:"clowdersList.title",clowdersListEyebrow:"clowdersList.eyebrow",clowdersListEmptyState:"clowdersList.emptyState",catteriesListTitle:"catteriesList.title",catteriesListEyebrow:"catteriesList.eyebrow",catteriesListEmptyState:"catteriesList.emptyState",clowdersCanvasAriaLabel:"clowdersCanvas.ariaLabel",catteriesCanvasAriaLabel:"catteriesCanvas.ariaLabel",entityCanvasTotalLabel:"entityCanvas.totalLabel",entityCanvasCatsLabel:"entityCanvas.catsLabel",entityCanvasMembersLabel:"entityCanvas.membersLabel",entityCanvasClowdersLabel:"entityCanvas.clowdersLabel",entityCanvasIdLabel:"entityCanvas.idLabel",entityCanvasCreatedLabel:"entityCanvas.createdLabel",entityCanvasSelectedClowderLabel:"entityCanvas.selectedClowderLabel",entityCanvasSelectedCatteryLabel:"entityCanvas.selectedCatteryLabel",entityCanvasOrganizationLabel:"entityCanvas.organizationLabel",entityCanvasParentCatteryLabel:"entityCanvas.parentCatteryLabel",entityCanvasFormalClowderLabel:"entityCanvas.formalClowderLabel",entityCanvasNoOrganizationLabel:"entityCanvas.noOrganizationLabel",entityCanvasNoFormalClowdersLabel:"entityCanvas.noFormalClowdersLabel",entityCanvasOpenClowderAction:"entityCanvas.openClowderAction",entityCanvasOpenCatteryAction:"entityCanvas.openCatteryAction",entityCanvasCatterySubtitle:"entityCanvas.catterySubtitle",catProfileNotFoundTitle:"catProfile.notFound.title",catProfileNotFoundBody:"catProfile.notFound.body",entitiesSidebarSectionCats:"entitiesSidebar.section.cats",entitiesSidebarSectionClowders:"entitiesSidebar.section.clowders",entitiesSidebarSectionCatteries:"entitiesSidebar.section.catteries",entitiesSidebarNewCat:"entitiesSidebar.newCat",entitiesSidebarNewClowder:"entitiesSidebar.newClowder",entitiesSidebarNewCattery:"entitiesSidebar.newCattery",entityIndexEyebrow:"entityIndex.eyebrow",entityIndexTitle:"entityIndex.title",entityIndexColumnHeaderCats:"entityIndex.columnHeader.cats",entityIndexColumnHeaderClowders:"entityIndex.columnHeader.clowders",entityIndexColumnHeaderCatteries:"entityIndex.columnHeader.catteries",entityIndexCardTotal:"entityIndex.card.total",entityIndexCardOpenCanvasAriaLabel:"entityIndex.card.openCanvasAriaLabel",entitiesShellAriaLabel:"entitiesShell.ariaLabel",entitiesShellSurfaceLabel:"entitiesShell.surfaceLabel",entitiesShellBrandLabel:"entitiesShell.brandLabel",entitiesShellExitButtonAriaLabel:"entitiesShell.exitButtonAriaLabel",clowderHomeAriaLabel:"clowderHome.ariaLabel",clowderHomeChipPartOf:"clowderHome.chip.partOf",clowderHomeChipCrossUnit:"clowderHome.chip.crossUnit",clowderHomeTabCats:"clowderHome.tab.cats",clowderHomeTabSettings:"clowderHome.tab.settings",clowderHomeEmptyCats:"clowderHome.empty.cats",clowderHomeSettingsBody:"clowderHome.settings.body",clowderHomeNotFoundTitle:"clowderHome.notFound.title",clowderHomeNotFoundBody:"clowderHome.notFound.body",catteryHomeAriaLabel:"catteryHome.ariaLabel",catteryHomeTabMembers:"catteryHome.tab.members",catteryHomeTabClowders:"catteryHome.tab.clowders",catteryHomeTabCats:"catteryHome.tab.cats",catteryHomeTabSettings:"catteryHome.tab.settings",catteryHomeEmptyMembers:"catteryHome.empty.members",catteryHomeEmptyClowders:"catteryHome.empty.clowders",catteryHomeEmptyCats:"catteryHome.empty.cats",catteryHomeSettingsBody:"catteryHome.settings.body",catteryHomeNotFoundTitle:"catteryHome.notFound.title",catteryHomeNotFoundBody:"catteryHome.notFound.body"},Np={"app.brandName":"CATS INC","app.loadingWithSurface":"Loading {surface}","app.loadingEllipsis":"Loading …","app.errorTitle":"Could not start Cats","app.errorEyebrow":"Error","app.loadErrorMessage":"Failed to load","app.loadStateFailedWithStatus":"Failed to load app state ({status})","app.title":"Cats","setupWizard.adminCredentialsHint":"Use these credentials to sign in after setup. They are separate from your display profile.","setupWizard.adminIdentifierLabel":"Admin login email","setupWizard.adminIdentifierPlaceholder":"you@example.com","setupWizard.adminPasswordLabel":"Admin password","setupWizard.adminPasswordPlaceholder":"Create a password","auth.login.title":"Sign in to Cats","auth.login.subtitle":"Use the local admin credentials created during setup.","auth.login.identifierLabel":"Email","auth.login.identifierPlaceholder":"you@example.com","auth.login.passwordLabel":"Password","auth.login.passwordPlaceholder":"Enter your password","auth.login.submit":"Sign in","auth.login.submitting":"Signing in…","auth.login.invalidCredentials":"The email or password is incorrect.","auth.login.forbidden":"Sign-in is temporarily blocked or not allowed.","auth.login.csrfMismatch":"Security token mismatch. Refresh and try again.","auth.login.failed":"Sign-in failed.","auth.login.failedWithStatus":"Sign-in failed ({status}).","auth.login.googleOriginHint":"Google sign-in only works on authorized Google JavaScript origins. If this LAN/IP origin is not authorized, use local admin credentials.","auth.login.googleUnavailable":"Google sign-in is unavailable on this origin. Use local admin credentials or open Cats from an authorized origin.","auth.repair.title":"Repair Cats authentication","auth.repair.subtitle":"Cats found setup-complete state but cannot read a usable auth state file. Recreate the first local Admin account to unlock this workspace.","auth.repair.displayNameLabel":"Owner display name","auth.repair.displayNamePlaceholder":"Owner","auth.repair.identifierLabel":"Admin login email","auth.repair.identifierPlaceholder":"you@example.com","auth.repair.passwordLabel":"Admin password","auth.repair.passwordPlaceholder":"Create a replacement password","auth.repair.recoveryTokenLabel":"Recovery token","auth.repair.recoveryTokenPlaceholder":"Required recovery token","auth.repair.recoveryTokenHint":"Required for every repair. Read it from the local auth-recovery-token file printed at startup.","auth.repair.submit":"Repair and sign in","auth.repair.submitting":"Repairing…","auth.repair.forbidden":"Repair requires the one-time recovery token.","auth.repair.failed":"Repair failed.","auth.repair.failedWithStatus":"Repair failed ({status}).","appHost.label":"App","appHost.notInstalledTitle":"App not installed","appHost.backToLobby":"Back to Lobby","appHost.subtitleRendererPending":"App renderer pending","appHost.subtitleDisabled":"App disabled","appHost.sectionPackage":"Package","appHost.sectionStatus":"Status","appHost.sectionPublisher":"Publisher","shared.productRenderer.errorEyebrow":"Renderer Error","shared.productRenderer.chatUnavailableTitle":"Chat unavailable","shared.productRenderer.unknownError":"Unknown renderer error.","shared.product.bootLoadingAria":"Loading Cats {productName}","platform.product.chat.name":"Cats Chat","platform.product.chat.subtitle":"Conversations with companions and personal agents","platform.product.chat.settingsLabel":"Chat","platform.product.code.name":"Cats Code","platform.product.code.subtitle":"Repos, runs, and codespaces","platform.product.code.settingsLabel":"Code","platform.product.work.name":"Cats Work","platform.product.work.subtitle":"Projects, approvals, and operator workflow","platform.product.work.settingsLabel":"Work","lobby.accountSettingsAriaLabel":"Account settings","lobby.openAccountSettings":"Open account settings","lobby.runtimeStatusLabel":"Runtime status: {runtimeStatus}","lobby.productsSectionTitle":"Products","lobby.appsSectionTitle":"Apps","lobby.continueText":"Continue","lobby.openEntry":"Open {entryTitle}","lobby.greeting.chooseSurface":"Choose a surface and get moving.","lobby.greeting.homeReady":"Home base is ready.","lobby.greeting.pickProduct":"Chat, Work, or Code. Your call.","lobby.greeting.everythingStaged":"Everything is staged. Pick a lane.","lobby.greeting.openSurface":"Open the surface that fits the task.","lobby.greeting.awake":"Cats Inc is awake.","lobby.greeting.continue":"Continue where the work makes sense.","shared.runtimeStatus.tooltip.ready":"Cats Runtime is connected","shared.runtimeStatus.tooltip.degraded":"Cats Runtime is starting up","shared.runtimeStatus.tooltip.unavailable":"Cats Runtime is offline","shared.runtimeStatus.tooltip.unknown":"Checking Cats Runtime status…","shared.runtimeStatus.chip.ready":"Runtime connected","shared.runtimeStatus.chip.degraded":"Runtime degraded","shared.runtimeStatus.chip.unavailable":"Runtime unavailable","settings.general.profileTitle":"Profile","settings.general.profileDescription":"This is your platform-wide profile across Chat, Code, Work, and Lobby.","settings.general.avatarLabel":"Avatar","settings.general.avatarChangeLabel":"Change avatar","settings.general.avatarUploadLabel":"Upload avatar","settings.general.avatarRemoveLabel":"Remove avatar","settings.general.nameLabel":"Name","settings.general.accountTitle":"Account","settings.general.accountDescription":"End the current browser session on this device.","settings.general.signOutButton":"Sign out","settings.general.signingOutButton":"Signing out…","settings.general.signOutFailed":"Sign-out failed.","settings.general.signOutFailedWithStatus":"Sign-out failed ({status}).","settings.general.signOutCsrfError":"Security token mismatch. Refresh and try again.","settings.general.signOutForbiddenError":"Sign-out is not allowed right now.","settings.general.signOutUnauthenticated":"You are already signed out.","settings.general.languageTitle":"Language","settings.general.languageDescription":"Choose how assistants answer and how Cats displays its interface.","settings.general.assistantLanguagePreferenceLabel":"Assistant response language","settings.general.assistantLanguagePreferenceDescription":"Sets the default language instruction for assistant replies. User requests in a turn still take priority.","settings.general.assistantLanguageSelectAriaLabel":"Assistant response language","settings.general.assistantLanguageUnspecifiedOption":"Unspecified","settings.general.languagePreferenceLabel":"Display language","settings.general.languagePreferenceDescription":"Auto-detect follows your browser or desktop language. Named languages are shown in their own language.","settings.general.languageSelectAriaLabel":"Display language","settings.general.languageAutoOption":"Auto-detect","settings.general.languageEnglishOption":"English","settings.general.languageTraditionalChineseOption":"Traditional Chinese","settings.general.lobbyMotionTitle":"Lobby motion","settings.general.lobbyMotionDescription":"Choose how lively the Lobby background should feel. Reduced is the default.","settings.general.lobbyMotionOffLabel":"Off","settings.general.lobbyMotionOffDescription":"Keep the Lobby still and remove the bouncing cats background.","settings.general.lobbyMotionReducedLabel":"Reduced","settings.general.lobbyMotionReducedDescription":"Keep the background alive, but soft and slow.","settings.general.lobbyMotionFullLabel":"Full","settings.general.lobbyMotionFullDescription":"Let the cats bounce at full speed in the Lobby background.","settings.general.guideCatAssistTitle":"Guide Cat assist","settings.general.guideCatAssistDisabledDescription":"{guideCatName} is disabled. Enable it again from Settings > Assistants when you want {guideCatName} help back.","settings.general.guideCatAssistEnabledDescription":"Choose how {guideCatName} appears when you click the floating avatar.","settings.general.openAssistantsButton":"Open Assistants","settings.general.guideCatAutoLabel":"Auto","settings.general.guideCatAutoDescription":"First time shows a speech bubble, then switches to a full side panel.","settings.general.guideCatSidePanelLabel":"Side panel","settings.general.guideCatSidePanelDescription":"Always open a full side panel when you click the guide cat avatar.","settings.general.guideCatBubbleLabel":"Speech bubble","settings.general.guideCatBubbleDescription":"Always show a compact speech bubble with quick actions.","settings.general.updateNameError":"Failed to update name","settings.general.updateAssistantLanguageError":"Failed to update assistant language","settings.general.updateLanguageError":"Failed to update language","settings.general.updateLobbyAnimationError":"Failed to update Lobby motion","settings.general.updateGuideCatModeError":"Failed to update Guide Cat mode","settings.general.removeAvatarError":"Failed to remove avatar","settings.general.saveAvatarError":"Failed to save avatar","settings.shell.heading":"Settings","settings.shell.sectionGeneral":"General","settings.shell.sectionCats":"Cats","settings.shell.subsectionMyCats":"My Cats","settings.shell.subsectionAssistants":"Assistants","settings.shell.sectionApps":"Apps","settings.shell.sectionDesktop":"Desktop","settings.shell.sectionRuntime":"Runtime","settings.shell.sectionData":"Data","settings.shell.closeButtonLabel":"Close settings","settings.chat.bossToolProfileTitle":"Boss Cat tool profile","settings.chat.bossToolProfileUpdateFailure":"Failed to update Boss Cat tool profile","settings.chat.advancedControlsFailure":"Failed to update chat advanced controls","settings.conversation.productLabelChat":"Cats Chat","settings.conversation.productLabelCode":"Cats Code","settings.conversation.productLabelWork":"Cats Work","settings.conversation.behaviorTitle":"Conversation behavior","settings.conversation.behaviorDescription":"These settings affect {product} only.","settings.conversation.showVerboseLabel":"Show verbose messages","settings.conversation.showVerboseDescription":"Keep system-level room and orchestration messages visible in chat.","settings.conversation.showLiveProgressLabel":"Show live progress details","settings.conversation.showLiveProgressDescription":"Show more granular progress updates while a response is still running.","settings.conversation.updateFailure":"Failed to update conversation behavior","settings.conversation.concurrentLayoutLabel":"Concurrent response layout","settings.conversation.concurrentLayoutDescription":"Choose how multi-model replies are arranged in {product}.","settings.conversation.layoutInlineStack":"Inline stack","settings.conversation.layoutCompareCards":"Compare cards","settings.conversation.layoutFocusRail":"Focus rail","settings.conversation.layoutAdaptive":"Adaptive","settings.advancedDraftControls.title":"Draft builder","settings.advancedDraftControls.description":"Let any {surface} draft add collaborators or compare against other models.","settings.advancedDraftControls.enableLabel":"Enable advanced draft controls","settings.advancedDraftControls.toggleDescription":"Shows whichever +collaborate or +compare button each draft entry hides by default.","settings.runtime.statusChip.runtimeUnavailable":"Runtime unavailable","settings.runtime.statusChip.runtimeDegraded":"Runtime degraded","settings.runtime.statusChip.runtimeReady":"Runtime ready","settings.runtime.statusChip.setupReadyToApply":"Setup ready to apply","settings.runtime.statusChip.setupNeedsRemediation":"Setup needs remediation","settings.runtime.statusChip.providerScanRequired":"Provider scan required","settings.runtime.statusChip.setupUnavailable":"Setup unavailable","settings.runtime.statusTitle":"Runtime status","settings.runtime.statusDescription":"Whether cats-runtime is reachable and your provider setup is complete. The breakdown below shows how many providers are currently usable.","settings.runtime.metricReadyProviders":"ready providers","settings.runtime.metricProvidersScanned":"providers scanned","settings.runtime.metricNeedAttention":"need attention","settings.runtime.needAttentionTitle":"Need attention","settings.runtime.needAttentionDescription":"Providers the scan flagged for remediation before they can join the runtime.","settings.runtime.providerHelpersTitle":"Provider helpers","settings.runtime.providerHelpersDescription":"Run packaged installers to check, install, upgrade, repair, or uninstall each local CLI provider. Actions stream through the desktop host bridge; the renderer never executes scripts directly.","settings.runtime.loadingHelpers":"Loading helpers…","settings.runtime.noProviderHelpers":"No provider helpers are bundled with this host build.","settings.runtime.workingState":"Working…","settings.runtime.actions.check":"Check","settings.runtime.actions.install":"Install","settings.runtime.actions.upgrade":"Upgrade","settings.runtime.actions.repair":"Repair","settings.runtime.actions.uninstall":"Uninstall","settings.runtime.uninstallButtonLabel":"Uninstall","settings.runtime.modelCatalogsTitle":"Model catalogs","settings.runtime.modelCatalogsDescription":"Ask cats-runtime to refresh every provider's model list now, so newly released models show up in the Brain picker without waiting for the background caches to expire.","settings.runtime.refreshingState":"Refreshing","settings.runtime.refreshCatalogsButton":"Refresh model catalogs","settings.runtime.standaloneSetupTitle":"Standalone setup","settings.runtime.standaloneSetupDescription":"Open the standalone runtime setup when you need provider remediation or a deeper scan.","settings.runtime.openStandaloneSetup":"Open Cats Runtime setup","settings.runtime.cancelActionLabel":"Cancel","settings.runtime.cancelActionFallbackLabel":"Close","settings.runtime.refreshFailure":"Refresh failed.","settings.runtime.refreshFailureWithStatus":"Refresh failed ({status}).","settings.runtime.refreshSummary":"Refreshed {refreshed} target{pluralSuffix}","settings.runtime.refreshSummaryWithFailures":"Refreshed {refreshed} · {failed} failed","settings.runtime.uninstallTitle":"Uninstall {label}","settings.runtime.uninstallDescriptionPrefix":"This will remove user-owned files for","settings.runtime.uninstallDescriptionSuffix":"Auth files, API keys, and external configuration are left in place. Active sessions using this provider may fail until another provider is configured.","settings.runtime.uninstallHelperLabel":"Helper: {helperId}","settings.runtime.uninstallScriptLabel":"Script: {scriptPath}","settings.runtime.computingPlannedRemovals":"Computing planned removals…","settings.runtime.previewUnavailable":"Preview unavailable; the uninstall will still report planned actions.","settings.runtime.nothingToRemove":"Nothing to remove — the helper reports this provider is not installed.","settings.runtime.systemInstallDetected":"Note: a system install was detected at {installPath} but it cannot be removed by this helper.","settings.runtime.willRemoveItems":"Will remove {itemCount} item{pluralSuffix}:","settings.runtime.systemInstallCannotRemove":"Note: a system install at {installPath} cannot be removed by this helper.","settings.runtime.actionNoResult":"{helperLabel}: host did not report a result for {actionLabel}.","settings.runtime.actionSuccessComplete":"{helperLabel}: {actionLabel} complete.","settings.runtime.actionSuccessNothingToRemove":"{helperLabel}: {actionLabel} reported nothing to remove.","settings.runtime.actionPartialWithDetail":"{helperLabel}: {actionLabel} {status} - {detail}","settings.runtime.actionPartial":"{helperLabel}: {actionLabel} {status}.","settings.runtime.actionFailedWithDetail":"{helperLabel}: {actionLabel} failed - {detail}.","settings.runtime.actionFailed":"{helperLabel}: {actionLabel} failed.","settings.runtime.hostBridgeUnavailableClient":"Desktop host bridge is not available in this client.","settings.runtime.hostBridgeUnavailable":"Desktop host bridge is not available.","settings.runtime.previewMissingResult":"Host did not return a preview result.","settings.runtime.previewFailed":"Preview failed.","settings.runtime.fixStepCount":"{count} fix step{pluralSuffix}","settings.runtime.helperLabel.windowsCliReadiness":"Windows PowerShell + PATH readiness helper","settings.runtime.helperLabel.windowsVcRedist":"Windows Microsoft Visual C++ 2015-2022 Redistributable (x64)","settings.runtime.helperLabel.nodeHostInstaller":"{platform} Node.js LTS host installer","settings.runtime.helperLabel.githubCliHostInstaller":"{platform} GitHub CLI host installer","settings.runtime.helperLabel.npmPrefixHelper":"{platform} npm prefix and PATH prerequisite helper","settings.runtime.helperLabel.setupReadinessAudit":"{platform} setup readiness audit","settings.runtime.helperLabel.packagedBackgroundProcessHelper":"{platform} packaged setup background process helper","settings.runtime.helperLabel.packagedProviderUninstallHelper":"{platform} packaged provider uninstall helper","settings.runtime.helperLabel.packagedNpmGlobalCliInstallerHelper":"{platform} packaged npm-global CLI installer helper","settings.runtime.helperLabel.nativeProviderInstaller":"{platform} native {providerLabel} installer","settings.runtime.helperLabel.providerInstaller":"{platform} {providerLabel} installer","settings.runtime.helperLabel.localModelInstaller":"{platform} {providerLabel} local-model installer","settings.runtime.helperUnavailableReason":"{helperLabel} is not currently bundled with this host build.","settings.runtime.helperUnsupportedPlatformReason":"{helperLabel} is currently only supported on {platformSupport}.","settings.runtime.platformSupport.allDesktop":"Windows, macOS, or Linux hosts","settings.runtime.platformSupport.windows":"Windows hosts","settings.runtime.platformSupport.windowsWsl":"Windows hosts with WSL support","settings.runtime.platformSupport.macos":"macOS hosts","settings.runtime.platformSupport.linux":"Linux hosts","settings.runtime.helperUnsupportedActionReason":"{helperLabel} does not support {actionLabel}.","settings.runtime.lifecycleStatus.authRequired":"authentication required","settings.runtime.lifecycleStatus.blocked":"blocked","settings.runtime.lifecycleStatus.changesRequired":"changes required","settings.runtime.lifecycleStatus.failed":"failed","settings.runtime.lifecycleStatus.notInstalled":"not installed","settings.runtime.lifecycleStatus.preview":"preview","settings.runtime.lifecycleStatus.ready":"ready","settings.runtime.lifecycleStatus.restartRequired":"restart required","settings.runtime.lifecycleStatus.uninstalled":"uninstalled","settings.runtime.lifecycleDetail.launchWslFirstBoot":"Launch the target WSL distro once to finish first-user setup, then rerun the packaged setup check.","settings.runtime.lifecycleDetail.startDockerWarmUp":"Start Docker Desktop and wait for the engine to become ready, then rerun the packaged setup check.","settings.runtime.lifecycleDetail.runMissingHostSubstrate":"Run {helperLabel} to install the missing host substrate flagged by the readiness audit.","settings.runtime.lifecycleDetail.restartThenRerunMode":"Restart the host or Windows session, then rerun {helperLabel} in {mode} mode.","settings.runtime.lifecycleDetail.restartThenRerun":"Restart Windows or the current session, then rerun {helperLabel}.","settings.runtime.lifecycleDetail.relaunchThenVerify":"Relaunch Cats Desktop Host, then rerun {helperLabel} to verify the updated packaged setup state.","settings.runtime.lifecycleDetail.elevationRequired":"{helperLabel} requires an elevated host step before it can continue.","settings.runtime.lifecycleDetail.authThenRerunMode":"Complete the required sign-in flow, then rerun {helperLabel} in {mode} mode.","settings.runtime.lifecycleDetail.retryAfterFailure":"Retry {helperLabel} after addressing the last failure.","settings.runtime.lifecycleDetail.runMissingRequirement":"Run {helperLabel} to install the missing packaged setup requirement.","settings.runtime.lifecycleDetail.finishManualFollowThrough":"Finish the manual follow-through for {helperLabel}, then rerun a verification step.","settings.runtime.lifecycleDetail.runApplyRemainingChanges":"Run {helperLabel} again to apply the remaining packaged setup changes.","settings.runtime.lifecycleDetail.rerunCheckToVerify":"Rerun {helperLabel} in check mode if you want to verify the packaged setup state again.","settings.runtime.lifecycleDetail.finishedWithStatus":"{helperLabel} {mode} finished with {status}.","settings.runtime.lifecycleMode.apply":"apply","settings.runtime.lifecycleMode.check":"check","settings.runtime.lifecycleMode.force":"force","settings.runtime.lifecycleMode.uninstall":"uninstall","settings.runtime.lifecycleMode.upgrade":"upgrade","settings.route.title.assistants":"Assistants","settings.route.title.myCats":"My Cats","settings.route.title.chat":"Chat","settings.route.title.work":"Work","settings.route.title.code":"Code","settings.route.title.apps":"Apps","settings.route.title.desktop":"Desktop","settings.route.title.runtime":"Runtime","settings.route.title.data":"Data","settings.route.title.general":"General","settings.route.title.notFound":"Settings page not found","settings.route.notFound.description":"This settings page is not registered in the current Cats build.","settings.route.notFound.openGeneral":"Open General settings","settings.canvas.loadingLabel":"Loading settings…","settings.canvas.loadErrorTitle":"Couldn’t load settings","settings.canvas.loadErrorBody":"The platform service didn’t respond. Check that the runtime is up and try again.","settings.apps.sectionTitle":"Apps","settings.apps.sectionDescription":"Installed Cats apps, connector packages, and system modules.","settings.apps.installedPackagesLabel":"Installed packages","settings.apps.installedPackagesDescription":"{count} connector package{pluralSuffix}","settings.apps.noInstalledAppsLabel":"Installed apps","settings.apps.noInstalledAppsDescription":"No installed apps are registered yet.","settings.apps.emptyStateChipLabel":"Empty","settings.apps.localInstallTitle":"Local install","settings.apps.localInstallDescription":"Review a local Cats app package before adding it to Cats.","settings.apps.packagePathLabel":"Package path","settings.apps.packagePathPlaceholder":"/path/to/cats-app-package","settings.apps.reviewButton":"Review","settings.apps.readyStatusChip":"Ready","settings.apps.needsReviewStatusChip":"Needs review","settings.apps.noLobbyRoute":"No Lobby route","settings.apps.installButton":"Install","settings.apps.enableAction":"Enable","settings.apps.disableAction":"Disable","settings.apps.uninstallAction":"Uninstall","settings.apps.openAction":"Open","settings.apps.settingsAction":"Settings","settings.apps.uninstallTitle":"Uninstall app","settings.apps.enableTitle":"Enable app","settings.apps.disableTitle":"Disable app","settings.apps.uninstallMessage":'Uninstall "{appDisplayName}"? It will be removed from Cats without deleting package files.',"settings.apps.enableMessage":'Enable "{appDisplayName}"? It can appear in Cats wherever its permissions allow.',"settings.apps.disableMessage":'Disable "{appDisplayName}"? It will stop appearing in Lobby and scoped app routes.',"settings.apps.installTitle":"Install app","settings.apps.installMessage":'Install "{appDisplayName}"? It will be enabled after install.',"settings.apps.localInstallReady":"Ready","settings.apps.localInstallNeedsReview":"Needs review","settings.apps.category.connector":"Connector","settings.apps.category.productModule":"Product module","settings.apps.category.userApp":"User app","settings.apps.installState.enabled":"Enabled","settings.apps.installState.installed":"Installed","settings.apps.installState.disabled":"Disabled","settings.apps.installState.error":"Error","settings.apps.installState.upgradePending":"Upgrade pending","settings.apps.installState.uninstalled":"Uninstalled","settings.apps.trustTier.localUser":"Local user","settings.apps.trustTier.system":"System","settings.apps.trustTier.thirdParty":"Third party","settings.apps.permissionCount":"{count} permission{pluralSuffix}","settings.apps.toolCount":"{count} tool{pluralSuffix}","settings.apps.capabilitySingular":"capability","settings.apps.capabilityPlural":"capabilities","settings.apps.connectorCountSingle":"{connector}: {count} {capabilityLabel}","settings.apps.connectorCountMany":"{connectorCount} connectors, {count} {capabilityLabel}","settings.apps.authLabel":"Auth","settings.apps.confirmMutationFailed":"Could not confirm the action. Please retry.","settings.apps.confirmMutationFailedFallback":"Action confirmation failed before execution.","settings.apps.mutationFailed":"{action} failed.","settings.apps.mutationFailedFallback":"The action failed.","settings.apps.packagePathRequired":"Package path is required.","settings.apps.validationFailed":"Package validation failed.","settings.apps.error.notInstalled":'Cats app "{appId}" is not installed.',"settings.apps.error.notEnabled":'Cats app "{appId}" is not enabled.',"settings.apps.error.packagePathNotFound":"Package path does not exist: {path}.","settings.apps.error.invalidManifestJson":"cats.app.json is not valid JSON.","settings.apps.error.cannotReadManifest":"Cannot read cats.app.json.","settings.apps.error.reservedAppId":'Cats app id "{appId}" is reserved.',"settings.apps.error.duplicateAppId":'Cats app id "{appId}" is already installed.',"settings.apps.error.manifestInvalid":"Cats app manifest must be an object.","settings.apps.error.validationIssueWithPath":"Package validation failed at {path}: {code}.","settings.apps.error.validationIssue":"Package validation failed: {code}.","settings.apps.openPairingUrl":"Open pairing URL","settings.data.resetAllDataTitle":"Reset all data","settings.data.resetAllDataDescription":"This will erase all chats, cats, platform preferences, and setup state. You will be returned to the setup wizard.","settings.data.resetButtonResetting":"Resetting...","settings.data.resetButtonLabel":"Reset all data","settings.data.resetFailure":"Failed to reset setup.","settings.conversation.preferenceUpdateFailure":"Failed to update preference.","settings.desktop.mobilePairingTitle":"Mobile pairing","settings.desktop.mobilePairingDescription":"LAN readiness for the bundled Expo Go mobile shell.","settings.desktop.mobilePairingStatusDisabled":"Disabled","settings.desktop.mobilePairingStatusLoopbackOnly":"Loopback only","settings.desktop.mobilePairingStatusNoLanAddress":"No LAN address","settings.desktop.mobilePairingStatusReady":"Ready","settings.desktop.mobilePairingStatusValidationPending":"Manifest validation pending","settings.desktop.mobilePairingEnableLabel":"Enable mobile pairing","settings.desktop.mobilePairingEnableDescription":"Writes the desktop .env values needed for LAN access. Restart Cats Desktop after applying.","settings.desktop.mobilePairingEnableButton":"Enable","settings.desktop.mobilePairingApplyingButton":"Applying...","settings.desktop.mobilePairingBindLabel":"Bind","settings.desktop.mobilePairingReachabilityLabel":"Reachability","settings.desktop.mobilePairingLanAddressLabel":"LAN address","settings.desktop.mobilePairingNoneLabel":"None","settings.desktop.mobilePairingReachabilityLoopback":"Loopback","settings.desktop.mobilePairingReachabilityLan":"LAN address","settings.desktop.mobilePairingReachabilityAllInterfaces":"All interfaces","settings.desktop.mobilePairingReachabilityOtherInterface":"Interface mismatch","settings.desktop.mobilePairingAllowLanLabel":"Allow LAN access","settings.desktop.mobilePairingAllowLanDescription":"Cats is bound to loopback. Restart with {bindOverrideEnv} before scanning from a phone.","settings.desktop.mobilePairingApplyAndRestartButton":"Apply and restart","settings.desktop.mobilePairingNoLanAddressNote":"No non-loopback LAN IPv4 address was detected.","settings.desktop.mobilePairingHostMismatchNote":"The current bind host does not match a LAN IPv4 address.","settings.desktop.mobilePairingDiagnosticLabel":"Diagnostic manifest","settings.desktop.mobilePairingDiagnosticCopyButton":"Copy URL","settings.desktop.mobilePairingDiagnosticCopiedMessage":"Copied diagnostic manifest URL.","settings.desktop.mobilePairingExpoUrlLabel":"Expo Go URL","settings.desktop.mobilePairingExpoUrlCopiedMessage":"Copied Expo Go URL.","settings.desktop.mobilePairingCopyUrlButton":"Copy URL","settings.desktop.mobilePairingQrUrlTooLong":"URL too long","settings.desktop.mobilePairingQrCodeLabel":"Mobile pairing QR code","settings.desktop.mobilePairingNoPairingUrlStatus":"QR pending","settings.desktop.mobilePairingOpenPairingUrlLabel":"Open pairing URL","settings.desktop.mobilePairingCopyEnvValuesSuccess":"Copied mobile pairing env values.","settings.desktop.mobilePairingConfirmRestart":"Apply 0.0.0.0 binding and restart Cats Desktop now? Unsaved changes will be lost.","settings.desktop.mobilePairingDesktopUpdateSuccess":"Updated {envPath}. Restarting Cats Desktop…","settings.desktop.mobilePairingDesktopUpdateFailure":"Failed to update desktop env.","settings.desktop.startupTitle":"Startup behavior","settings.desktop.startupDescription":"Control whether Cats Desktop starts when you sign in, whether it opens the main window automatically after sign-in startup, and whether closing the window keeps Cats available in the system tray.","settings.desktop.startupSignInLabel":"Start Cats Desktop when you sign in to your computer","settings.desktop.startupSignInDescription":"Keep Cats Desktop ready in the background as soon as you sign in.","settings.desktop.startupTrayLabel":"Keep Cats in the system tray when you close the window","settings.desktop.startupTrayDescription":"When enabled, closing the window hides Cats and keeps it running. When disabled, closing the window quits Cats.","settings.desktop.startupOpenWindowLabel":"Open Cats after sign-in startup","settings.desktop.startupOpenWindowDescription":"When disabled, Cats can start in the background after you sign in without opening the main window automatically. Opening Cats yourself still shows the app.","work.newChatDraft.startProjectChipLabel":"Start a project","work.newChatDraft.startProjectPrompt":"Spin up a new project workspace and outline its milestones.","work.newChatDraft.addTaskChipLabel":"Add a task","work.newChatDraft.addTaskPrompt":"Capture a new task with owner, deadline, and priority.","work.newChatDraft.planSprintChipLabel":"Plan a sprint","work.newChatDraft.planSprintPrompt":"Plan the next sprint with goals and a delivery cadence.","work.newChatDraft.scheduleReviewChipLabel":"Schedule a review","work.newChatDraft.scheduleReviewPrompt":"Schedule a project review with the right cats invited.","work.newChatDraft.triageBacklogChipLabel":"Triage backlog","work.newChatDraft.triageBacklogPrompt":"Walk the backlog with me and triage what to ship next.","work.items.listTitle":"Work items","work.items.newAction":"New work item","work.items.importExternalIssueAction":"Import issue","work.items.importExternalIssueAriaLabel":"Import external issue","work.items.createNewWorkItem":"New work item","work.items.createNewWorkItemAriaLabel":"Create new work item","work.items.loading":"Loading work items…","work.items.loadError":"Failed to load work items: {errorMessage}","work.items.emptyIntro":"No work items yet. Click","work.items.emptyActionLabel":"New work item","work.items.emptySuffix":"to create one.","work.items.projectPrefix":"in {projectTitle}","work.items.projectOrphan":"orphan","work.items.pill.decision":"decision","work.items.pill.blocked":"blocked","work.items.tasksLabel":"tasks","work.items.openWorkItemAriaLabel":"Open work item {title}","work.items.parentWorkItemTooltip":"Parent work item: {parentTitle}","work.item.backLabel":"Work items","work.item.backArrowLabel":"← Work items","work.item.updatedAtPrefix":"updated {updatedAt}","work.item.deleteLabel":"Delete work item","work.item.deleteLabelBusy":"Deleting…","work.item.deleteConfirmation":`Delete work item "{title}"?
|
|
5
|
+
|
|
6
|
+
This cannot be undone. Linked tasks, runs, and missions are not removed.`,"work.item.deleteConfirmationDetail":"This change is permanent and will remove the selected work item from the current projection.","work.item.deleteError":"Failed to delete work item.","work.item.overviewTitle":"Overview","work.item.summaryLabel":"Summary","work.item.projectLabel":"Project","work.item.parentLabel":"Parent work item","work.item.ownerLabel":"Owner","work.item.conversationLabel":"Conversation","work.item.orphanSummaryFallback":"(orphan — no project linked)","work.item.noTasksLabel":"No tasks under this work item yet.","work.item.tasksTitle":"Tasks","work.item.missionsTitle":"Missions","work.item.subWorkItemsTitle":"Sub-work-items","work.item.noSubWorkItems":"No sub-work-items.","work.item.noMissions":"No missions for this work item.","work.item.subWorkItemsCountLabel":"Sub-work-items","work.item.noActivity":"No activity recorded for this work item.","work.item.activityTitle":"Activity","work.item.loadingLabel":"Loading work item…","work.item.notFoundTitle":"Not found","work.item.notFoundText":'Work item "{workItemId}" is not in the current projection.',"work.item.notInProjectionText":"is not in the current projection.","work.item.missedTitle":"Not in projection","work.item.noTasksYetLabel":"No tasks","work.item.notFoundCodeLabel":"Missing id","work.external.empty":"No external tracker links yet.","work.external.linkIssueAction":"Link issue","work.external.linkTrackerAction":"Link tracker","work.external.dialogTitle":"Link external tracker","work.external.closeLabel":"Close external tracker dialog","work.external.providerLabel":"Provider","work.external.provider.github":"GitHub","work.external.provider.gitlab":"GitLab","work.external.provider.gitea":"Gitea","work.external.provider.redmine":"Redmine","work.external.provider.bugzilla":"Bugzilla","work.external.typeLabel":"Type","work.external.type.issue":"Issue","work.external.type.ticket":"Ticket","work.external.type.project":"Project","work.external.idLabel":"External ID","work.external.idPlaceholder":"123 or BUG-42","work.external.urlLabel":"URL","work.external.urlPlaceholder":"https://github.com/org/repo/issues/123","work.external.syncDirectionLabel":"Sync intent","work.external.sync.pull":"Pull only","work.external.sync.push":"Push later","work.external.sync.bidirectional":"Bidirectional later","work.external.cancelButton":"Cancel","work.external.submitLabel":"Link tracker","work.external.submitBusyLabel":"Linking…","work.external.linkError":"Failed to link external tracker.","work.external.unlinkAction":"Unlink","work.external.unlinkAriaLabel":"Unlink {label}","work.external.unlinkConfirmation":"Unlink {label} from Cats Work?","work.external.unlinkError":"Failed to unlink external tracker.","work.external.import.dialogTitle":"Import external issue","work.external.import.providerLabel":"Provider","work.external.import.urlLabel":"Issue URL","work.external.import.urlPlaceholder":"https://github.com/org/repo/issues/123","work.external.import.cancelButton":"Cancel","work.external.import.submitLabel":"Import issue","work.external.import.submitBusyLabel":"Importing…","work.external.import.error":"Failed to import external issue.","work.external.import.externalIssueLabel":"external issue","work.external.import.provider.github":"GitHub","work.external.import.provider.redmine":"Redmine","work.external.import.provider.bugzilla":"Bugzilla","work.external.import.type.issue":"issue","work.external.import.type.ticket":"ticket","work.external.import.result.imported":"Imported {providerLabel} {typeLabel} {externalId} as Work Item {workItemId}.","work.external.import.result.linked":"Linked imported {providerLabel} {typeLabel} {externalId} to Work Item {workItemId}.","work.external.import.result.alreadyImported":"{providerLabel} {typeLabel} {externalId} was already imported as Work Item {workItemId}.","work.external.import.failure.body":"Unable to import {providerLabel} {typeLabel} {externalId}: {reason}.","work.external.import.failure.bodyUnknown":"Unable to import {externalLabel}: {reason}.","work.external.import.failure.reason.invalidTarget":"the model requested an invalid Work tool target","work.external.import.failure.reason.storeUnavailable":"the Work store is unavailable","work.external.import.failure.reason.unsupportedOwnerMessage":"the owner message did not contain a supported importable issue URL","work.external.import.failure.reason.schemaInvalid":"the requested tool input did not match the Work import schema","work.external.import.failure.reason.issueMismatch":"the requested issue did not match the owner message","work.external.import.failure.reason.providerMismatch":"the requested provider did not match the owner message","work.external.import.failure.reason.pendingApproval":"the import is waiting for approval","work.external.import.failure.reason.unsupportedSource":"the issue tracker URL is unsupported","work.external.import.failure.reason.fetchFailed":"the issue tracker fetch failed","work.external.import.failure.reason.pullRequestUnsupported":"GitHub pull request rows are not supported by this import path","work.external.import.failure.reason.unexpected":"the import failed unexpectedly","work.sidebar.newWorkLabel":"New Work","work.sidebar.teamWorkLabel":"Team Work","work.sidebar.parallelWorkLabel":"Parallel Work","work.sidebar.portfolioLabel":"Portfolio","work.sidebar.projectsLabel":"Projects","work.sidebar.managedWorkLabel":"Managed Work","work.sidebar.workItemsLabel":"Work Items","work.sidebar.tasksLabel":"Tasks","work.sidebar.runsLabel":"Runs","work.sidebar.missionsLabel":"Missions","work.sidebar.schedulesLabel":"Schedules","work.sidebar.executionLabel":"Execution","work.sidebar.systemMapLabel":"System Map","work.sidebar.cockpitLabel":"Cockpit","work.sidebar.brokenLinksLabel":"Broken Links","work.sidebar.warRoomLabel":"War Room","work.sidebar.workTopDownSurfacesLabel":"Work top-down surfaces","work.sidebar.unpinProjectLabel":"Unpin","work.sidebar.deleteProjectLabel":"Delete","work.sidebar.noWorkYetLabel":"No work yet","work.query.httpError":"Request failed with status {status}.","work.query.httpErrorWithStatusText":"Request failed with status {status} {statusText}.","work.graph.loadErrorFallback":"Failed to load work graph.","work.missions.listTitle":"Missions","work.missions.lede":"Agent missions — distinct from tasks. Anchored to a Work Item when planned, or fully internal when spawned by an agent.","work.missions.loading":"Loading missions…","work.missions.loadError":"Failed to load missions: {errorMessage}","work.missions.emptyLabel":"No missions yet.","work.missions.openMissionAriaLabel":"Open mission {title}","work.mission.backLabel":"Missions","work.mission.backArrowLabel":"Back to missions","work.mission.cancelConfirmation":`Cancel mission "{missionTitle}"?
|
|
7
|
+
|
|
8
|
+
Active runs will be stopped through supervised runtime cancellation. Linked Tasks and Work Items are not changed.`,"work.mission.cancelBlocked":"Mission cancel blocked. {detail}","work.mission.cancelBlockedNoDetails":"See per-run results.","work.mission.cancelError":"Mission cancel failed.","work.mission.cancelRouteFailed":"Mission cancel failed. HTTP {statusCode}.","work.mission.cancelLabel":"Cancel","work.mission.cancelLabelBusy":"Cancelling…","work.cancellation.blocker.runNotStoppable":"Run is not stoppable.","work.cancellation.blocker.noRuntimeSession":"No supervised runtime session is bridged.","work.cancellation.blocker.runtimeClientUnavailable":"Runtime client is unavailable.","work.cancellation.blocker.runtimeCancellationFailed":"Runtime cancellation failed: {error}","work.mission.summaryTitle":"Mission summary","work.mission.statusLabel":"Status","work.mission.assignedAgentLabel":"Assigned agent","work.mission.updatedAtLabel":"Updated","work.mission.workItemLabel":"Work item","work.mission.conversationLabel":"Conversation","work.mission.tasksHeading":"Tasks under this work item ({count})","work.mission.noLinkedWorkItemForTasks":"Mission is ad-hoc — no work item to scope tasks against.","work.mission.noLinkedWorkItemForRuns":"Mission is ad-hoc — no transitive runs.","work.mission.noTasks":"The linked work item has no tasks yet.","work.mission.runsHeading":"Runs from those tasks ({count})","work.mission.noTransitiveRuns":"No runs dispatched from these tasks yet.","work.mission.loadingLabel":"Loading mission…","work.mission.notFound":'Mission "{missionId}" not found.',"work.mission.noMissionId":"No mission id provided.","work.projects.listTitle":"Projects","work.projects.newAction":"New project","work.projects.createNewProjectAriaLabel":"Create new project","work.projects.loading":"Loading projects…","work.projects.loadError":"Failed to load projects: {errorMessage}","work.projects.emptyIntro":"No projects yet. Click","work.projects.emptySuffix":"to start one.","work.projects.openProjectAriaLabel":"Open project {projectTitle}","work.projects.decisionPill":"{count} decision{pluralSuffix}","work.projects.blockedPill":"{count} blocked","work.projects.workItemsAbbrev":"WI","work.projects.tasksLabel":"tasks","work.project.backLabel":"Projects","work.project.backArrowLabel":"Back to projects","work.project.updatedAtPrefix":"updated {updatedAt}","work.project.deleteLabel":"Delete","work.project.deleteLabelBusy":"Deleting…","work.project.deleteConfirmation":`Delete project "{projectTitle}"?
|
|
9
|
+
|
|
10
|
+
This cannot be undone. Linked work items, tasks, and runs are not removed.`,"work.project.deleteError":"Failed to delete project.","work.project.overviewTitle":"Overview","work.project.summaryLabel":"Summary","work.project.ownerLabel":"Owner","work.project.conversationLabel":"Conversation","work.project.workItemsTitle":"Work items","work.project.noWorkItems":"No work items in this project yet.","work.project.tasksTitle":"Tasks","work.project.noTasks":"No tasks in this project yet.","work.project.activityTitle":"Activity","work.project.noActivity":"No activity recorded for this project.","work.project.loadingLabel":"Loading project…","work.project.notFoundTitle":"Not found","work.project.missingIdLabel":"(missing id)","work.project.notFoundPrefix":"Project","work.project.notFoundSuffix":"is not in the current projection.","work.runs.listTitle":"Runs","work.runs.lede":"Every Core run, flat. Click into a run to inspect its trace and sub-runs. Runs are created by orchestrator dispatch, not from this page.","work.runs.loading":"Loading runs…","work.runs.loadError":"Failed to load runs: {errorMessage}","work.runs.noRunsIntro":"No runs yet. Runs are created when an orchestrator dispatches a task or a sub-run.","work.run.openAriaLabel":"Open run {runTitle}","work.run.openSubRunAriaLabel":"Open sub-run {runTitle}","work.run.subRunChip":"sub-run","work.run.stopErrorWithError":"Runtime cancellation failed: {error}","work.run.stopErrorFallback":"Runtime cancellation failed. Run was not marked cancelled.","work.run.stopNotStoppable":"Run is not stoppable: no supervised runtime session is bridged.","work.run.stopNotStoppableGeneric":"Run is not stoppable.","work.run.stopConfirmation":`Stop run "{runTitle}"?
|
|
11
|
+
|
|
12
|
+
Cats requests runtime cancellation through the supervised session before marking the run cancelled. External side effects already sent are not rolled back.`,"work.run.stopError":"Run stop failed.","work.run.stopRouteFailed":"Run stop failed. HTTP {statusCode}.","work.run.backArrowLabel":"Back to tasks","work.run.backLabel":"Tasks","work.run.stopLabel":"Stop","work.run.stopLabelBusy":"Stopping…","work.run.summary.blockedBeforeRuntimeLaunch":"Blocked before runtime launch completed.","work.run.summary.blockedBeforeScheduledRuntimeLaunch":"Blocked before scheduled runtime launch completed.","work.run.summary.launchingScheduledMission":"Launching scheduled mission through supervised runtime boundary.","work.run.summary.providerAgentRuntimeMessageCompleted":"Provider-agent runtime message completed.","work.run.summary.queuedSupervisedWorkRun":"Queued supervised Work run.","work.run.summary.relayFanOutDispatch":"Relay fan-out dispatch for {agentLabel}.","work.run.summary.startedSupervisedCodeTaskExecution":"Started supervised Code task execution.","work.run.summaryTitle":"Run summary","work.run.statusLabel":"Status","work.run.updatedLabel":"Updated","work.run.durationLabel":"Duration","work.run.parentRunLabel":"Parent run","work.run.conversationLabel":"Conversation","work.run.subRunsTitle":"Sub-runs {count}","work.run.noSubRuns":"No sub-runs.","work.run.traceTitle":"Trace {count}","work.run.traceLoading":"Loading trace…","work.run.traceLoadFallback":"Failed to load run trace.","work.run.traceLoadError":"Failed to load trace: {errorMessage}","work.run.traceEmptyQueued":"Run is queued; trace records appear once the orchestrator dispatches.","work.run.traceEmptyRunning":"Run is executing but has not emitted any trace records yet.","work.run.traceEmptyBlocked":"Run is blocked and emitted no trace before stalling.","work.run.traceEmptyCompleted":"Run completed without emitting trace records.","work.run.traceEmptyFailed":"Run failed before emitting any trace.","work.run.traceEmptyCancelled":"Run was cancelled before emitting any trace.","work.run.traceEmptyDefault":"No trace records.","work.run.traceNoActorRecorded":"no actor recorded","work.run.traceKindUnknown":"Unknown trace ({kind})","work.run.artifactStatus.draft":"Draft","work.run.artifactStatus.ready":"Ready","work.run.artifactStatus.published":"Published","work.run.artifactStatus.archived":"Archived","work.run.activitiesTitle":"Activities {count}","work.run.outcomesTitle":"Outcomes {count}","work.run.artifactsTitle":"Artifacts {count}","work.run.loadingLabel":"Loading run…","work.run.notFound":"Run {runId} not found.","work.run.noRunId":"No run id provided.","work.schedules.listTitle":"Schedules","work.schedules.lede":"Scheduled execution fires only while Cats is running in v1.","work.schedules.loadErrorFallback":"Failed to load schedules.","work.schedules.exportAction":"Export","work.schedules.loading":"Loading schedules…","work.schedules.empty":"No schedules yet. Product surfaces create schedule rules from their own workflows; this page audits and operates existing rules.","work.schedule.openAriaLabel":"Open schedule {scheduleTitle}","work.schedule.nextFireChip":"next {dateTime}","work.schedule.receiptChip":"{status} · {relativeTime}","work.schedule.enabledStatus":"enabled","work.schedule.disabledStatus":"disabled","work.schedule.summary.onceAt":"Once at {dateTime}","work.schedule.summary.dailyAt":"Daily at {time} {timezone}","work.schedule.dateNone":"None","work.schedule.receiptStatus.claimed":"Claimed","work.schedule.receiptStatus.admitted":"Admitted","work.schedule.receiptStatus.duplicate":"Duplicate","work.schedule.receiptStatus.skipped":"Skipped","work.schedule.receiptStatus.failed":"Failed","work.schedule.triggerReason.due":"Due","work.schedule.triggerReason.manualTest":"Manual test","work.schedule.triggerReason.startupMisfire":"Startup misfire","work.schedule.triggerReason.retry":"Retry","work.schedule.missionPolicy.perFire":"Per fire","work.schedule.concurrencyPolicy.skip":"Skip","work.schedule.concurrencyPolicy.queue":"Queue","work.schedule.concurrencyPolicy.replace":"Replace","work.schedule.misfirePolicy.skip":"Skip","work.schedule.misfirePolicy.fireOnce":"Fire once","work.schedule.misfirePolicy.fireAll":"Fire all","work.schedule.retryBackoff.none":"None","work.schedule.retryBackoff.fixed":"Fixed","work.schedule.retryBackoff.exponential":"Exponential","work.schedule.ruleNotLoadedError":"Schedule rule not loaded.","work.schedule.createFailed":"Failed to create schedule.","work.schedule.updateFailed":"Failed to update schedule.","work.schedule.testFireFailed":"Failed to test-fire schedule.","work.schedule.deleteFailed":"Failed to delete schedule.","work.schedule.deleteConfirmation":`Delete schedule "{scheduleTitle}"?
|
|
13
|
+
|
|
14
|
+
This cannot be undone. Future fires stop and the rule's trigger history is removed; admitted Mission/Run records remain.`,"work.schedule.actionFailed":"Schedule action failed.","work.schedule.loadingTitle":"Loading…","work.schedule.loadingLabel":"Loading schedule…","work.schedule.loadFailed":"Failed to load schedule.","work.schedule.overviewTitle":"Overview","work.schedule.scheduleLabel":"Schedule","work.schedule.timezoneLabel":"Timezone","work.schedule.revisionLabel":"Revision","work.schedule.targetLabel":"Target","work.schedule.targetKind.cat":"cat","work.schedule.targetKind.agent":"agent","work.schedule.originLabel":"Origin","work.schedule.origin.schedule":"Schedule","work.schedule.missionPolicyLabel":"Mission policy","work.schedule.concurrencyLabel":"Concurrency","work.schedule.misfireLabel":"Misfire","work.schedule.retryLabel":"Retry","work.schedule.retryNone":"none","work.schedule.retryPolicyValue":"{maxAttempts}x {backoff}","work.schedule.diagnosticsTitle":"Diagnostics","work.schedule.nextFireLabel":"Next fire","work.schedule.lastScheduledFireLabel":"Last scheduled fire","work.schedule.lastRunLabel":"Last run","work.schedule.consecutiveFailuresLabel":"Consecutive failures","work.schedule.disabledDiagnosticFallback":"Disabled: no future fires will be evaluated.","work.schedule.retryStatePill":"Retry {attempt}/{maxAttempts} at {dateTime}","work.schedule.lastFailurePill":"Last failure: {failure}","work.schedule.recentTriggersTitle":"Recent triggers {count}","work.schedule.noTriggerReceipts":"No trigger receipts yet.","work.schedule.retryAttemptSuffix":" #{attempt}","work.schedule.backArrowLabel":"Back to schedules","work.schedule.backLabel":"Schedules","work.schedule.testFireBusyLabel":"Firing…","work.schedule.testFireLabel":"Test fire","work.schedule.updatingLabel":"Updating…","work.schedule.disableLabel":"Disable","work.schedule.enableLabel":"Enable","work.schedule.deleteAriaLabel":"Delete schedule","work.schedule.deleteBusyLabel":"Deleting…","work.schedule.deleteLabel":"Delete","work.schedule.missingIdLabel":"(missing id)","work.schedule.notFoundTitle":"Not found","work.schedule.notFoundPrefix":"Schedule","work.schedule.notFoundSuffix":"is not in the current state.","work.tasks.listTitle":"Tasks","work.tasks.newAction":"New task","work.tasks.createNewTaskAriaLabel":"Create new task","work.tasks.loading":"Loading tasks…","work.tasks.loadError":"Failed to load tasks: {errorMessage}","work.tasks.emptyIntro":"No tasks yet. Click","work.tasks.emptyActionLabel":"New task","work.tasks.emptySuffix":"to create one.","work.tasks.openTaskAriaLabel":"Open task {title}","work.task.status.pendingApproval":"Pending approval","work.task.status.approved":"Approved","work.task.status.archived":"Archived","work.task.priority.urgent":"Urgent","work.task.priority.high":"High","work.task.priority.medium":"Medium","work.task.priority.low":"Low","work.task.priority.labelWithValue":"Priority: {priorityLabel}","work.task.backLabel":"Back to tasks","work.task.backArrowLabel":"← Tasks","work.task.updatedAtPrefix":"updated {updatedAt}","work.task.deleteLabel":"Delete task","work.task.deleteLabelBusy":"Deleting…","work.task.deleteConfirmation":`Delete task "{taskTitle}"?
|
|
15
|
+
|
|
16
|
+
This cannot be undone. Linked runs are not removed.`,"work.task.deleteError":"Failed to delete task.","work.task.approveLabel":"Approve","work.task.approveBusyLabel":"Approving…","work.task.rejectLabel":"Reject","work.task.rejectBusyLabel":"Rejecting…","work.task.approvalDecisionError":"Failed to update task approval.","work.task.priorityTooltip":"Priority: {priorityLabel}","work.task.overviewTitle":"Overview","work.task.summaryLabel":"Summary","work.task.projectLabel":"Project","work.task.orphanProjectFallback":"(orphan — no project linked)","work.task.workItemLabel":"Work item","work.task.noWorkItemFallback":"(no work item linked)","work.task.parentTaskLabel":"Parent task","work.task.ownerLabel":"Owner","work.task.assigneeLabel":"Assignee","work.task.noAssigneeFallback":"(unassigned)","work.task.assignedActorsLabel":"Assigned actors","work.task.noActorsAssignedFallback":"(no Core actors assigned)","work.task.acceptanceCriteriaLabel":"Acceptance criteria","work.task.conversationLabel":"Conversation","work.task.activityTitle":"Activity","work.task.noActivity":"No activity recorded for this task.","work.task.subTasksTitle":"Sub-tasks","work.task.noSubTasksLabel":"No sub-tasks yet.","work.task.runsTitle":"Runs","work.task.noRunsIntro":"No runs dispatched. Use","work.task.noRunsActionLabel":"Start supervised run","work.task.noRunsSuffix":"to dispatch.","work.task.startRunBusyLabel":"Starting…","work.task.startRunError":"Failed to start supervised run.","work.task.loadingLabel":"Loading task…","work.task.notFoundTitle":"Not found","work.task.notFoundText":'Task "{taskId}" is not in the current projection.',"work.task.notFoundCodeLabel":"Missing id","work.object.kind.agent":"Agent","work.object.kind.container":"Container","work.object.kind.conversation":"Conversation","work.object.kind.turn":"Turn","work.object.kind.lane":"Lane","work.object.kind.project":"Project","work.object.kind.workItem":"Work item","work.object.kind.task":"Task","work.object.kind.mission":"Mission","work.object.kind.run":"Run","work.object.kind.artifact":"Artifact","work.object.kind.activity":"Activity","work.object.kind.outcome":"Outcome","work.object.kind.approvalBinding":"Approval","work.object.kind.unknown":"Unknown ({kind})","work.object.attention.decisionNeeded":"Decision","work.object.attention.blocked":"Blocked","work.object.attention.failed":"Failed","work.object.attention.readyToReview":"Review","work.object.attention.recentlyShipped":"Shipped","work.object.attention.unknown":"Unknown ({attention})","work.object.status.draft":"Draft","work.object.status.planned":"Planned","work.object.status.active":"Active","work.object.status.paused":"Paused","work.object.status.archived":"Archived","work.object.status.ready":"Ready","work.object.status.inProgress":"In progress","work.object.status.blocked":"Blocked","work.object.status.completed":"Completed","work.object.status.cancelled":"Cancelled","work.object.status.running":"Running","work.object.status.queued":"Queued","work.object.status.unknown":"Unknown ({status})","work.actorRole.assistant":"Assistant","work.actorRole.boss":"Boss","work.actorRole.coder":"Coder","work.actorRole.coordinator":"Coordinator","work.actorRole.critic":"Critic","work.actorRole.drafter":"Drafter","work.actorRole.mainCoder":"Main coder","work.actorRole.orchestrator":"Orchestrator","work.actorRole.owner":"Owner","work.actorRole.planner":"Planner","work.actorRole.reviewer":"Reviewer","work.actorRole.summarizer":"Summarizer","work.object.gateState.notRequested":"Not requested","work.object.gateState.pending":"Pending","work.object.gateState.approved":"Approved","work.object.gateState.rejected":"Rejected","work.object.gateState.unknown":"Unknown ({state})","work.topdown.parentTaskOwningLabel":"Owning task","work.topdown.parentTaskLabel":"Parent task","work.topdown.parentWorkItemLabel":"Parent work item: {parentWorkItemTitle}","work.topdown.taskProductBindingTitle":"Product binding: {productBinding}","work.topdown.taskProductBindingUnbound":"Unbound","work.topdown.parentTaskTooltip":"Related task: {linkedTaskTitle} ({linkType})","work.topdown.crossCuttingLayer":"Cross-cutting","work.topdown.cockpitEyebrow":"Top-down","work.topdown.cockpitTitle":"Cockpit","work.topdown.cockpitLede":"Monitor key execution states, unblockers, and recent activity.","work.topdown.cockpitMetricDecisions":"decisions","work.topdown.cockpitMetricBlocked":"blocked","work.topdown.cockpitMetricShipped":"shipped","work.topdown.cockpitTabsAriaLabel":"Cockpit views","work.topdown.cockpitTabCommandLabel":"Command","work.topdown.cockpitTabCommandSub":"Portfolio overview","work.topdown.cockpitTabNeedsDecisionLabel":"Needs decision","work.topdown.cockpitTabNeedsDecisionSub":"Work waiting for a decision","work.topdown.cockpitTabActiveLabel":"Active","work.topdown.cockpitTabActiveSub":"Ready and in-progress","work.topdown.cockpitTabActiveRunsLabel":"Active runs","work.topdown.cockpitTabActiveRunsSub":"Currently running","work.topdown.cockpitTabBlockedLabel":"Blocked","work.topdown.cockpitTabBlockedSub":"Blocked or failed","work.topdown.cockpitTabShippedLabel":"Shipped","work.topdown.cockpitTabShippedSub":"Completed recently","work.topdown.cockpitTabTeamsLabel":"Teams","work.topdown.cockpitTabTeamsSub":"Owner-role lanes","work.topdown.cockpitOpen":"Open","work.topdown.cockpitNoBucketItems":"No items.","work.topdown.cockpitRecentActivityAriaLabel":"Recent activity rail","work.topdown.cockpitRecentActivityTitle":"Recent activity","work.topdown.cockpitRecentActivitySummary":"{count} item(s)","work.topdown.cockpitRecentActivityEmpty":"No recent activity.","work.topdown.cockpitNoActorRoles":"No owner roles found.","work.topdown.linkageTitle":"Linkage","work.topdown.linkageAddAction":"Add link","work.topdown.linkageNoLinksYetPrefix":"No links yet — use","work.topdown.linkageNoLinksYetSuffix":"to connect this to a Project, Work Item, or Task.","work.topdown.linkageViewKindBlocksLabel":"Blocking","work.topdown.linkageViewKindBlockedByLabel":"Blocked by","work.topdown.linkageViewKindRelatedToLabel":"Related","work.topdown.linkageViewKindDuplicateOfLabel":"Duplicate of","work.topdown.linkageViewKindFollowsLabel":"Follows","work.topdown.linkageViewKindBlocksEmpty":"Nothing is waiting on this yet.","work.topdown.linkageViewKindBlockedByEmpty":"No upstream blockers.","work.topdown.linkageViewKindRelatedToEmpty":"No related projects, work items, or tasks linked.","work.topdown.linkageViewKindDuplicateOfEmpty":"Not marked as a duplicate of anything.","work.topdown.linkageViewKindFollowsEmpty":"Does not supersede an earlier item.","work.topdown.linkKindBlocksHelp":"This blocks the target.","work.topdown.linkKindBlockedByHelp":"The target blocks this.","work.topdown.linkKindRelatedToHelp":"Related but no containment.","work.topdown.linkKindDuplicateOfHelp":"This is a duplicate of the target.","work.topdown.linkKindFollowsHelp":"This supersedes the target.","work.topdown.newLinkDialogTitle":"Add link","work.topdown.newLinkClose":"Close","work.topdown.newLinkSourcePrefix":"From","work.topdown.newLinkRelationLabel":"Relation","work.topdown.newLinkTargetLabel":"Target","work.topdown.newLinkTargetSearchPlaceholder":"Search {project} / {workItem} / {task}","work.topdown.newLinkNoMatches":"No matches.","work.topdown.newLinkNoteLabel":"Note (optional)","work.topdown.newLinkNotePlaceholder":"Why is this relation worth recording?","work.topdown.newLinkCancel":"Cancel","work.topdown.newLinkSaving":"Saving…","work.topdown.newLinkErrorInvalidTarget":"Target must be a Project, Work Item, or Task.","work.topdown.newLinkErrorSelfLink":"A link cannot point to itself.","work.topdown.newLinkErrorNoteTooLong":"Note must be {max} characters or fewer.","work.topdown.newLinkErrorFailed":"Failed to create link.","work.topdown.upstreamBlockersAriaLabel":"Upstream blockers","work.topdown.blockersTitle":"Blockers","work.topdown.upstreamBlocksLine":"Upstream blocks chain (depth ≤ {maxDepth}) per row.","work.topdown.noUpstreamBlockers":"Nothing in this list has upstream blockers.","work.topdown.brokenLinksEyebrow":"Top-down · conformance","work.topdown.brokenLinksTitle":"Broken Links","work.topdown.brokenLinksLede":"Diagnostics from the projection layer when producer writes don't satisfy SPEC-083 §Minimum Anchor Sets or SPEC-090 link integrity.","work.topdown.brokenLinksErrorMetricSuffix":"errors","work.topdown.brokenLinksWarningMetricSuffix":"warnings","work.topdown.brokenLinksInfoMetricSuffix":"info","work.topdown.brokenLinksSeverityFiltersAriaLabel":"Severity filters","work.topdown.brokenLinksSeverityAllLabel":"All","work.topdown.brokenLinksSeverityErrorLabel":"Error","work.topdown.brokenLinksSeverityWarningLabel":"Warning","work.topdown.brokenLinksSeverityInfoLabel":"Info","work.topdown.brokenLinksNoDiagnostics":"No diagnostics under the active filter.","work.topdown.brokenLinksOn":"on","work.topdown.brokenLinksOpenInDrawer":"Open in drawer","work.topdown.brokenLinksObjectNotInProjection":"object id {objectId} not in projection","work.topdown.brokenLinksNoSpecificObject":"systemic — no specific object","work.topdown.brokenLinksRemoveTooltipRemovable":"Remove this link via the producer pipeline.","work.topdown.brokenLinksRemoveTooltipDemoSeed":"Demo seed — restart the renderer to clear, or write through the producer pipeline first.","work.topdown.brokenLinksRemoveAction":"Remove this link","work.topdown.brokenLinksRemoveUnknownError":"Failed to remove link.","work.topdown.brokenLinksRemovingInProgress":"Removing…","work.topdown.brokenLinksRemovableOnlyDemo":"Demo fixture — only producer-stored links can be removed via API.","work.topdown.brokenLinksCycleRemovableRows":"Removable rows ({count}):","work.topdown.brokenLinksDeletedLabel":"(deleted)","work.topdown.diagnosticKind.brokenFk":"Broken reference","work.topdown.diagnosticKind.missingProjectAnchor":"Missing project anchor","work.topdown.diagnosticKind.missingPlanningExecutionBridge":"Missing planning/execution bridge","work.topdown.diagnosticKind.unanchoredRun":"Unanchored run","work.topdown.diagnosticKind.unanchoredEvidence":"Unanchored evidence","work.topdown.diagnosticKind.missingGateSubject":"Missing gate subject","work.topdown.diagnosticKind.orphanLink":"Orphan link","work.topdown.diagnosticKind.linkCycle":"Link cycle","work.topdown.selectionLost":"Selection lost","work.topdown.objectNotInProjectionTitle":"Object not in projection","work.topdown.objectNotInProjectionMessage":"Selected id {selectedId} is not in the current projection.","work.topdown.identityTitle":"Identity","work.topdown.identityKind":"Kind","work.topdown.identityStatus":"Status","work.topdown.identityLayer":"Layer","work.topdown.identityOwnerRole":"Owner role","work.topdown.identityNextAction":"Next action","work.topdown.identityUpdated":"Updated","work.topdown.identitySummary":"Summary","work.topdown.externalTitle":"External","work.topdown.externalBindingTooltip":"External tracker: {externalBinding}","work.topdown.externalSyncLabel":"sync: {syncDirection}","work.topdown.externalUpdatedLabel":"updated {updatedAt}","work.topdown.anchorsTitle":"Anchors","work.topdown.evidenceTitle":"Evidence","work.topdown.evidenceEmpty":"No evidence attached.","work.topdown.missingSuffix":"(missing)","work.topdown.gatesTitle":"Gates","work.topdown.gatesEmpty":"No approval gates.","work.topdown.diagnosticsTitle":"Diagnostics","work.topdown.anchorProject":"Project","work.topdown.anchorWorkItem":"Work item","work.topdown.anchorTask":"Task","work.topdown.anchorRun":"Run","work.topdown.anchorConversation":"Conversation","work.topdown.anchorsEmpty":"No structural anchors.","work.topdown.relativeJustNow":"just now","work.topdown.relativeMinutesAgo":"{count}m ago","work.topdown.relativeHoursAgo":"{count}h ago","work.topdown.relativeDaysAgo":"{count}d ago","work.topdown.systemMapEyebrow":"Top-down · structural","work.topdown.systemMapTitle":"System Map","work.topdown.systemMapLede":"Three canonical layers from ADR-081 as cohabiting cards — see what exists in the taxonomy, not what is urgent.","work.topdown.systemMapStructuralLabel":"structural","work.topdown.systemMapTotalLabel":"total","work.topdown.systemMapDiagnosticsLabel":"diagnostics","work.topdown.systemMapLayerAriaLabel":"{layerLabel} layer","work.topdown.systemMapLayerInteractionLabel":"Interaction","work.topdown.systemMapLayerPlanningLabel":"Planning","work.topdown.systemMapLayerExecutionLabel":"Execution","work.topdown.systemMapLayerInteractionDescription":"Who interacts, through which channel, in what shape.","work.topdown.systemMapLayerPlanningDescription":"What the operator wants done — Project / Work Item.","work.topdown.systemMapLayerExecutionDescription":"How work runs — Task / Mission / Run.","work.topdown.systemMapLayerEmpty":"No objects in this layer.","work.warRoom.attentionAttention":"Attention","work.warRoom.attentionError":"Error","work.warRoom.attentionFallback":"Attention ({severity})","work.warRoom.attentionMuted":"Muted","work.warRoom.attentionProgress":"In progress","work.warRoom.attentionSuccess":"On track","work.warRoom.controlPlane":"Control Plane","work.warRoom.controlPlaneBlockedBy":"Blocked by {reason} — check required conditions.","work.warRoom.controlPlaneEmptyBadge":"No items","work.warRoom.controlPlaneEmptyBody":"No active control-plane governance tasks.","work.warRoom.controlPlaneEmptyTitle":"No control-plane items","work.warRoom.controlPlaneNoTargets":"No target tasks selected","work.warRoom.controlPlaneTargets":"Targets: {targets}","work.warRoom.countSummary":"Showing {count}/{total}","work.warRoom.governanceEyebrow":"Governance","work.warRoom.actionBusy":"Applying...","work.warRoom.actionError":"Unable to apply Work action.","work.warRoom.loadError":"Failed to load work dashboard","work.warRoom.loadingBadge":"Loading","work.warRoom.loadingBody":"Building the latest War Room snapshot.","work.warRoom.loadingEyebrow":"Loading","work.warRoom.loadingSummary":"Loading","work.warRoom.loadingTitle":"Loading work state","work.warRoom.managedWorkEyebrow":"Work Items","work.warRoom.metaLabelActions":"Actions","work.warRoom.metaLabelActors":"Actors","work.warRoom.metaLabelApproval":"Approval","work.warRoom.metaLabelBlocked":"Blocked","work.warRoom.metaLabelConversation":"Conversation","work.warRoom.metaLabelDelivery":"Delivery","work.warRoom.metaLabelLatest":"Latest","work.warRoom.metaLabelLatestSource":"Latest source","work.warRoom.metaLabelNext":"Next","work.warRoom.metaLabelOwner":"Owner","work.warRoom.metaLabelProduct":"Product","work.warRoom.metaLabelProject":"Project","work.warRoom.metaLabelReasons":"Reasons","work.warRoom.metaLabelReplay":"Replay","work.warRoom.metaLabelRepo":"Repository","work.warRoom.metaLabelRetryAvailable":"Retry available","work.warRoom.metaLabelStrategy":"Strategy","work.warRoom.metaLabelTask":"Task","work.warRoom.metaLabelTasks":"Tasks","work.warRoom.metaLabelWatch":"Watch","work.warRoom.metaLabelWorkflow":"Workflow","work.warRoom.metaLabelWorkItem":"Work Item","work.warRoom.metaLabelWorkItems":"Work Items","work.warRoom.metaValueNo":"No","work.warRoom.metaValueNoReplayBlock":"No replay block","work.warRoom.metaValueNoTimelineItem":"No timeline item","work.warRoom.metaValueNotBound":"Not bound","work.warRoom.metaValueNotRecorded":"Not recorded","work.warRoom.metaValueNotSpecified":"Not specified","work.warRoom.metaValueUnassigned":"Unassigned","work.warRoom.metaValueNoRuntimeBridge":"No runtime bridge","work.warRoom.metaValueNone":"None","work.warRoom.noLinkedConversation":"No linked conversation","work.warRoom.noLinkedProject":"No linked project","work.warRoom.noLinkedTask":"No linked task","work.warRoom.noLinkedWorkItem":"No linked work item","work.warRoom.noPrimaryConversation":"No primary conversation","work.warRoom.noProjectSummary":"No project summary.","work.warRoom.noStatus":"No status","work.warRoom.noTaskSummary":"No task summary.","work.warRoom.noWorkItemSummary":"No work item summary.","work.warRoom.none":"None","work.warRoom.notRecorded":"Not recorded","work.warRoom.openActor":"Open {actorName}","work.warRoom.openBriefingThread":"Open briefing thread","work.warRoom.openProject":"Open project","work.warRoom.openTask":"Open task","work.warRoom.openWorkItem":"Open work item","work.warRoom.operateEyebrow":"Operations","work.warRoom.operatorInbox":"Operator inbox","work.warRoom.operatorInboxEmptyBadge":"Empty","work.warRoom.operatorInboxEmptyBody":"No operator actions need attention right now.","work.warRoom.operatorInboxEmptyTitle":"No operator inbox items","work.warRoom.pageEyebrow":"Work command center","work.warRoom.pageTitle":"Work War Room","work.warRoom.portfolioEyebrow":"Portfolio","work.warRoom.projects":"Projects","work.warRoom.projectsEmptyBadge":"Empty","work.warRoom.projectsEmptyBody":"No projects match current filters.","work.warRoom.projectsEmptyTitle":"No projects found","work.warRoom.recovery":"Recovery","work.warRoom.recoveryEmptyBadge":"Healthy","work.warRoom.recoveryEmptyBody":"No recoveries are currently needed.","work.warRoom.recoveryEmptyTitle":"No recovery items","work.warRoom.recoveryEyebrow":"Recovery","work.warRoom.recoveryNoRecoveryNote":"No recovery note available.","work.warRoom.snapshotEyebrow":"Snapshot","work.warRoom.snapshotSummary":"Owner: {ownerActorId}","work.warRoom.snapshotTitle":"Live snapshot","work.warRoom.statusFallback":"Status: {status}","work.warRoom.summaryAttention":"{count} items in attention","work.warRoom.summaryInProgressBlocked":"{inProgress} in progress · {blocked} blocked","work.warRoom.summaryLabelAttention":"Attention","work.warRoom.summaryLabelProjects":"Projects","work.warRoom.summaryLabelRecovery":"Recovery","work.warRoom.summaryLabelTasks":"Tasks","work.warRoom.summaryRecovery":"{count} recovery opportunities","work.warRoom.workItems":"Work items","work.warRoom.workItemsEmptyBadge":"Empty","work.warRoom.workItemsEmptyBody":"No work items match current filters.","work.warRoom.workItemsEmptyTitle":"No work items found","work.timeline.evidence.providerAgentRunLoop":"provider-agent run loop","work.timeline.evidence.supervision":"supervision evidence","work.timeline.title.approvalBinding":"Approval binding ({kind})","work.timeline.title.approvalDecided":"Approval decided","work.timeline.title.approvalRequested":"Approval requested","work.timeline.title.artifactRecorded":"Artifact recorded","work.timeline.title.checkpoint":"Checkpoint: {label}","work.timeline.title.checkpointRecorded":"Checkpoint recorded","work.timeline.title.evidence":"Evidence: {source}","work.timeline.title.note":"Note","work.timeline.title.operatorAction":"Operator action","work.timeline.title.providerAgentPlan":"Provider-agent plan: {planId}","work.timeline.title.statusChanged":"Status changed","work.timeline.title.trace":"Trace ({kind})","work.timeline.title.workItemUpdated":"Work item updated","work.execution.action.acknowledge":"Acknowledge","work.execution.action.approve":"Approve","work.execution.action.complete":"Complete","work.execution.action.createCommit":"Create commit","work.execution.action.dispatch":"Dispatch","work.execution.action.openPullRequest":"Open pull request","work.execution.action.publishPreview":"Publish preview","work.execution.action.reject":"Reject","work.execution.action.requestReview":"Request review","work.execution.action.reroute":"Reroute","work.execution.action.retry":"Retry","work.execution.action.wait":"Wait","work.execution.action.waitForChecks":"Wait for checks","work.execution.approvalStatus.approved":"Approved","work.execution.approvalStatus.notRequested":"Not requested","work.execution.approvalStatus.pending":"Pending approval","work.execution.approvalStatus.rejected":"Rejected","work.execution.deliveryMode.artifactOnly":"Artifact only","work.execution.deliveryMode.commitOnly":"Commit only","work.execution.deliveryMode.deployPreview":"Deploy preview","work.execution.deliveryMode.prWithChecks":"Pull request with checks","work.execution.deliveryMode.pushBranch":"Push branch","work.execution.reason.approvalPending":"Approval pending","work.execution.reason.childTasksInProgress":"Child tasks in progress","work.execution.reason.maxDispatches":"Max dispatches reached","work.execution.reason.noValidTargets":"No valid targets","work.execution.reason.retryAvailable":"Retry available","work.execution.reason.runBlocked":"Run blocked","work.execution.reason.runFailed":"Run failed","work.execution.reason.userCancelled":"User cancelled","work.execution.reason.workflowReviewRequired":"Workflow review required","work.execution.replaySource.orchestratorReplay":"Orchestrator replay","work.execution.replaySource.orchestratorStartupRecovery":"Orchestrator startup recovery","work.execution.replaySource.workflowContinuationReplay":"Workflow continuation replay","work.execution.replayState.failed":"Failed","work.execution.replayState.inProgress":"In progress","work.execution.replayState.pending":"Pending","work.execution.replayState.ready":"Ready","work.execution.strategy.pdca":"PDCA","work.execution.strategy.planAndExecute":"Plan-and-execute","work.execution.strategy.react":"ReAct","work.execution.strategy.reflexion":"Reflexion","work.newWorkItem.title":"New work item","work.newWorkItem.titleLabel":"Title","work.newWorkItem.summaryLabel":"Summary","work.newWorkItem.projectLabel":"Project","work.newWorkItem.statusLabel":"Status","work.newWorkItem.projectOrphan":"— Orphan (no project) —","work.newWorkItem.titlePlaceholder":"What needs to ship?","work.newWorkItem.summaryPlaceholder":"Define the scope in one or two lines.","work.newWorkItem.cancelButton":"Cancel","work.newWorkItem.closeLabel":"Close","work.newWorkItem.submitLabel":"Create work item","work.newWorkItem.submitBusyLabel":"Creating…","work.newWorkItem.createError":"Failed to create work item.","work.newWorkItem.status.draft":"Draft","work.newWorkItem.status.planned":"Planned","work.newWorkItem.status.ready":"Ready","work.newWorkItem.status.inProgress":"In progress","work.newWorkItem.status.blocked":"Blocked","work.newWorkItem.status.completed":"Completed","work.newWorkItem.status.cancelled":"Cancelled","work.newTask.title":"New task","work.newTask.titleLabel":"Title","work.newTask.summaryLabel":"Summary","work.newTask.parentTaskLabel":"Parent task","work.newTask.noParentTask":"— No parent task —","work.newTask.statusLabel":"Status","work.newTask.assigneeLabel":"Assignee","work.newTask.assigneePlaceholder":"Who picks this up?","work.newTask.priorityLabel":"Priority","work.newTask.noPriority":"— No priority —","work.newTask.acceptanceCriteriaLabel":"Acceptance criteria","work.newTask.acceptanceCriteriaPlaceholder":'How do we know this is "done"?',"work.newTask.titlePlaceholder":"What concrete action needs to happen?","work.newTask.summaryPlaceholder":"Describe scope or context in one or two lines.","work.newTask.cancelButton":"Cancel","work.newTask.closeLabel":"Close","work.newTask.submitLabel":"Create task","work.newTask.submittingLabel":"Creating…","work.newTask.createError":"Failed to create task.","work.newTask.status.draft":"Draft","work.newTask.status.pendingApproval":"Pending approval","work.newTask.status.approved":"Approved","work.newTask.status.inProgress":"In progress","work.newTask.status.blocked":"Blocked","work.newTask.status.completed":"Completed","work.newTask.priority.urgent":"Urgent","work.newTask.priority.high":"High","work.newTask.priority.medium":"Medium","work.newTask.priority.low":"Low","work.newProject.title":"New project","work.newProject.titleLabel":"Title","work.newProject.summaryLabel":"Summary","work.newProject.statusLabel":"Status","work.newProject.titlePlaceholder":"What is this project?","work.newProject.summaryPlaceholder":"Why does it exist? Who is it for?","work.newProject.cancelButton":"Cancel","work.newProject.closeLabel":"Close","work.newProject.submitLabel":"Create project","work.newProject.submitBusyLabel":"Creating…","work.newProject.createError":"Failed to create project.","work.crud.error.titleRequired":"Title is required.","work.crud.error.invalidInput":"Invalid input.","work.crud.error.projectIdRequired":"Project id is required.","work.crud.error.workItemIdRequired":"Work item id is required.","work.crud.error.taskIdRequired":"Task id is required.","work.crud.error.projectNotFound":"No project with id {id}.","work.crud.error.workItemNotFound":"No work item with id {id}.","work.crud.error.taskNotFound":"No task with id {id}.","work.crud.error.mustBeStringWhenProvided":"Value must be a string when provided.","work.crud.error.metadataObjectRequired":"Metadata must be an object when provided.","work.crud.error.fieldStringOrNull":"{fieldName} must be a string or null.","work.crud.error.fieldStringArray":"{fieldName} must be a string array.","work.crud.error.mustBeOneOf":"Value must be one of: {values}.","work.item.loadingTitle":"Loading work item","work.item.relatedWorkItemTitle":"Related work item","chat.newChatDraft.sidePanelTitle":"New Chat Setup","chat.newChatDraft.generatedTitle":"New chat","chat.newChatDraft.generatedTitleWithIndex":"New chat {index}","chat.composer.error.chooseTwoParallelChats":"Choose at least two parallel chats before sending.","chat.composer.error.noActiveParallelThread":"Parallel chat was created without an active thread.","chat.composer.error.noParallelChatForSending":"No parallel chat is available for sending messages.","chat.composer.error.noChatForSending":"No chat is available for sending messages.","chat.composer.error.relayFailedForChannel":"Relay failed for {channelId}.","chat.composer.error.relayCompareFailed":"Failed to relay compare message.","chat.parallelRelay.command.check.label":"Check this","chat.parallelRelay.command.check.shortLabel":"Check","chat.parallelRelay.command.check.description":"Stress-test another reply for gaps, risks, and wrong assumptions.","chat.parallelRelay.command.adopt.label":"Adopt this","chat.parallelRelay.command.adopt.shortLabel":"Adopt","chat.parallelRelay.command.adopt.description":"Use another reply as the new working direction and improve it.","chat.parallelRelay.command.debate.label":"Debate this","chat.parallelRelay.command.debate.shortLabel":"Debate","chat.parallelRelay.command.debate.description":"Take the strongest reasonable counter-position to another reply.","chat.parallelRelay.command.improve.label":"Improve this","chat.parallelRelay.command.improve.shortLabel":"Improve","chat.parallelRelay.command.improve.description":"Refine, expand, or strengthen another reply.","chat.parallelRelay.command.counter.label":"Counter this","chat.parallelRelay.command.counter.shortLabel":"Counter","chat.parallelRelay.command.counter.description":"Provide a strong counter-argument or alternative approach.","chat.parallelRelay.command.synthesize.label":"Synthesize this","chat.parallelRelay.command.synthesize.shortLabel":"Synthesize","chat.parallelRelay.command.synthesize.description":"Combine this with your own analysis - where do they align or diverge?","chat.parallelRelay.target.noChats":"no chats","chat.parallelRelay.target.pair":"{first} and {second}","chat.parallelRelay.target.many":"{allButLast}, and {last}","chat.parallelRelay.note.outgoing":"Shared reply #{replyId} via {commandLabel} to {targets}.","chat.parallelRelay.note.incoming":"Received {commandLabel} from {sourceMemberLabel} for reply #{replyId}.","chat.parallelRelay.prompt.header":"[Parallel relay - {commandLabel}]","chat.parallelRelay.prompt.sourceHeader":"[Reply to review]","chat.parallelRelay.prompt.sourceLabel":"Source: {sourceMemberLabel}","chat.parallelRelay.prompt.check.instructionOne":"Review the quoted reply for correctness, risks, blind spots, and unsupported assumptions.","chat.parallelRelay.prompt.check.instructionTwo":"State what is solid, what is weak, and what you would change.","chat.parallelRelay.prompt.adopt.instructionOne":"Treat the quoted reply as the new draft to continue from.","chat.parallelRelay.prompt.adopt.instructionTwo":"Keep what is strong, fix what is weak, and answer in your own words.","chat.parallelRelay.prompt.debate.instructionOne":"Take the strongest reasonable counter-position to the quoted reply.","chat.parallelRelay.prompt.debate.instructionTwo":"Challenge assumptions, point out weak spots, and state where you disagree.","chat.parallelRelay.prompt.improve.instructionOne":"Refine, expand, or strengthen the quoted reply.","chat.parallelRelay.prompt.improve.instructionTwo":"Fix weaknesses, add missing depth, and produce a better version.","chat.parallelRelay.prompt.counter.instructionOne":"Provide a strong counter-argument or alternative approach to the quoted reply.","chat.parallelRelay.prompt.counter.instructionTwo":"Argue from the opposite perspective with concrete reasoning.","chat.parallelRelay.prompt.synthesize.instructionOne":"Based on our conversation so far, synthesize the quoted reply with your own analysis.","chat.parallelRelay.prompt.synthesize.instructionTwo":"Identify where you align, where you diverge, and what a combined view would look like.","chat.composer.error.sendFailed":"Failed to send message.","chat.composer.error.retryFailed":"Failed to retry response.","chat.composer.error.stopFailed":"Failed to stop response.","chat.composer.error.activeChatNotInParallelGroup":"The active chat is not part of this parallel chat group.","chat.composer.error.sourceChatNotInParallelGroup":"The source chat is not part of this parallel chat group.","chat.composer.error.parallelBranchOutsideGroup":"One or more parallel branches target a chat outside this parallel chat group.","chat.composer.error.noParallelRelayTargets":"Select at least one parallel chat target for this relay.","chat.composer.error.messageNotFound":"Message not found.","chat.composer.error.retryInvalidSender":"Only your messages can be retried.","chat.composer.error.retryInProgress":"Wait for the active response to finish before retrying.","chat.composer.error.retryNotLatest":"Only the latest acknowledged message can be retried.","chat.composer.error.retryNotAvailable":"Retry is available only for the latest failed acknowledged message.","chat.governance.error.updateApproval":"Failed to update approval.","chat.governance.error.submitChoiceResponse":"Failed to submit choice response.","chat.governance.error.recordOperatorAction":"Failed to record operator action.","chat.participants.error.updateParticipant":"Failed to update participant.","chat.participants.error.noFields":"Update at least one participant field.","chat.participants.error.notFound":"Participant not found in this chat.","chat.participants.error.temporaryOnly":"Only temporary participants can be renamed here.","chat.participants.error.nameRequired":"Participant name is required.","chat.catAssignment.createdAssignHint":'Cat created. Open "Choose existing" to assign it.',"chat.catAssignment.error.createCat":"Failed to create cat.","chat.catAssignment.error.assignCat":"Failed to assign cat.","chat.catAssignment.error.removeCat":"Failed to remove cat.","chat.catAssignment.error.channelNotFound":"This chat channel was not found.","chat.catAssignment.error.assignmentNotFound":"This cat is not assigned to the selected chat.","chat.catAssignment.error.directRecipientOnly":"Direct messages can only keep their direct recipient Cat.","chat.catAssignment.error.participantLimitReached":"This chat already has the maximum {maxParticipants} participants.","chat.companion.tab.status":"Status","chat.companion.tab.sources":"Sources","chat.companion.tab.memory":"Memory","chat.companion.tab.behavior":"Behavior","chat.companion.tab.inspector":"Inspector","chat.companion.workspace.loadError":"Failed to load companion data","shared.executionTarget.saveNewChatDefaultsError":"Failed to save new chat model defaults.","shared.executionTarget.saveChatReplySettingsError":"Failed to save this chat AI reply settings.","shared.channelContinuity.startFreshError":"Failed to start a fresh chat continuity branch.","shared.settingsCatsMemory.saveError":"Failed to save memory.","shared.settingsCatsMemory.deleteError":"Failed to delete memory.","shared.settingsCatsMemory.contentRequired":"Memory content is required.","shared.settingsCatsMemory.invalidCategory":"Memory category is invalid.","shared.settingsCatsMemory.notFound":"Memory not found.","shared.operatorLoop.loadError":"Failed to load operator loop.","shared.folderBrowser.loadError":"Failed to load folders.","shared.orchestrator.fallbackName":"Orchestrator","shared.draftHeader.changeCoverPhoto":"Change cover photo","shared.draftHeader.addCoverPhoto":"Add cover photo","shared.draftHeader.changeAvatar":"Change avatar","shared.draftHeader.addAvatar":"Add avatar","chat.participantChip.countOne":"{count} participant","chat.participantChip.countMany":"{count} participants","chat.participantChip.default":"Participants","chat.draftParticipant.capability.strongAgent":"Strong agent","chat.draftParticipant.capability.conservativeAgent":"Conservative agent","chat.draftParticipant.reviewReason.broadWrite":"broad-write tool grants","chat.draftParticipant.reviewReason.outcomeDelegation":"outcome delegation","chat.draftParticipant.reviewReason.highApproval":"high approval threshold","chat.draftParticipant.autonomy.none":"no autonomy","chat.draftParticipant.autonomy.singleStep":"single step","chat.draftParticipant.autonomy.milestonePlan":"milestone plan","chat.draftParticipant.autonomy.outcomeDelegation":"outcome delegation","chat.draftParticipant.toolScope.none":"no tools","chat.draftParticipant.toolScope.readOnly":"read-only","chat.draftParticipant.toolScope.narrowWrite":"narrow-write","chat.draftParticipant.toolScope.broadWrite":"broad-write","chat.draftParticipant.approvalThreshold.low":"low","chat.draftParticipant.approvalThreshold.medium":"medium","chat.draftParticipant.approvalThreshold.high":"high","chat.draftParticipant.policySummary":"{autonomy}; {approvalThreshold} approval","chat.draftParticipant.toolGrantSummary":"{toolScope} tools","chat.sidebar.primaryAction.newChat":"New Chat","chat.sidebar.primaryAction.groupChat":"Group Chat","chat.sidebar.primaryAction.parallelChat":"Parallel Chat","chat.sidebar.myCatsEmptyStateLabel":"New cat","chat.concurrentCluster.dismissActionLabel":"Dismiss","chat.concurrentCluster.dismissActionTitle":"Dismiss layout","chat.concurrent.toolLabel":"tool","chat.concurrent.progress.finalizing":"Finalizing...","chat.concurrent.progress.finishing":"Finishing...","chat.concurrent.error.runtimeStreamUnavailable":"Runtime stream unavailable","chat.concurrent.error.proxy":"Proxy error","chat.concurrent.copyLabeledResponseLabel":"Copy message from {speakerName}","chat.concurrent.copyUnnamedResponseLabel":"Copy unnamed response","chat.focusRail.unnamedResponseLabel":"unnamed response","chat.focusRail.expandAnonymousResponseLabel":"Expand unnamed response","chat.focusRail.collapseAnonymousResponseLabel":"Collapse unnamed response","chat.focusRail.expandLabeledResponseLabel":"Expand response from {speakerName}","chat.focusRail.collapseLabeledResponseLabel":"Collapse response from {speakerName}","chat.activityFeed.eyebrow":"Activity","chat.activityFeed.latestUpdatesTitle":"Latest updates","chat.activityFeed.emptyState":"Activity appears here when the room starts moving.","chat.activityFeed.byActorLabel":"By {actorName}","chat.messageChoices.customButton":"Custom","chat.messageChoices.customPlaceholder":"Add your own answer","chat.messageChoices.ownerSkippedState":"Owner skipped these choices.","chat.messageChoices.ownerRecordedState":"Owner response recorded.","chat.messageChoices.confirmButton":"Confirm","chat.messageChoices.skipButton":"Skip","chat.parallelFooter.navigationAriaLabel":"Parallel chat navigation","chat.parallelFooter.prevAriaLabel":"Previous parallel chat","chat.parallelFooter.nextAriaLabel":"Next parallel chat","chat.parallelFooter.tabsAriaLabel":"Parallel chats","chat.parallelFooter.threadLabel":"Thread {threadIndex}","chat.parallelFooter.defaultModelLabel":"Model","chat.compareCards.prevCardAriaLabel":"Previous card","chat.compareCards.nextCardAriaLabel":"Next card","chat.compareCards.paginationItemAriaLabel":"Card {cardIndex}","chat.topBar.toggleSidePanelAriaLabel":"Toggle inspector panel","chat.boot.loadingAria":"Loading Cats Chat","chat.newChatDraft.participants.catsTitle":"Cats","chat.newChatDraft.participants.groupTitle":"Participants","chat.newChatDraft.participants.emptyState":"No cats are available yet.","chat.newChatDraft.execution.title":"AI Reply","chat.newChatDraft.execution.actionLabel":"Choose AI reply","chat.newChatDraft.execution.emptyState":"No AI reply setup yet.","chat.newChatDraft.planMyDayChipLabel":"Plan my day","chat.newChatDraft.planMyDayPrompt":"Help me plan today’s priorities.","chat.newChatDraft.brainstormNameChipLabel":"Brainstorm a name","chat.newChatDraft.brainstormNamePrompt":"Brainstorm a few name options for a new side project.","chat.newChatDraft.summarizeLinkChipLabel":"Summarize a link","chat.newChatDraft.summarizeLinkPrompt":"Summarize the key points of a link I’ll paste below.","chat.newChatDraft.pomodoroChipLabel":"Build a pomodoro app","chat.newChatDraft.pomodoroPrompt":"Write a small pomodoro timer app.","chat.newChatDraft.startProjectChipLabel":"Start a project","chat.newChatDraft.startProjectPrompt":"Start a small project to track milestones.","chat.newChatDraft.chooseCodespaceActionLabel":"Choose codespace","chat.newChatDraft.folder.title":"Folder","chat.newChatDraft.folder.emptyState":"No folder selected yet.","chat.newChatDraft.defaultGreeting":"Meow. Ready when you are.","chat.newChatDraft.greeting.nap":"Your cat hasn't napped yet.","chat.newChatDraft.greeting.keyboard":"Cats on the keyboard.","chat.newChatDraft.greeting.letsGo":"Tail up, let's go.","chat.newChatDraft.greeting.standby":"Purring in standby.","chat.newChatDraft.greeting.taskReady":"Claws sharpened. What's the task?","chat.newChatDraft.greeting.onDuty":"This cat doesn't sleep on the job.","chat.sidePanel.temporaryParticipantLabel":"Temporary","chat.sidePanel.roleLabel":"Role","chat.sidePanel.aiServiceLabel":"AI Service","chat.sidePanel.connectionLabel":"Connection","chat.sidePanel.startFresh":"Start fresh","chat.sidePanel.startingFreshBusy":"Starting fresh...","chat.sidePanel.startFreshHint":"Keep this chat open, but reset default continuity so the next turn starts a new branch.","chat.sidePanel.runStatusTitle":"Run Status","chat.sidePanel.runStatusUnavailableTitle":"Status unavailable","chat.sidePanel.loadingTitle":"Loading","chat.sidePanel.operatorLoadingState":"Loading approvals, activity, and run details.","chat.approvalQueue.eyebrow":"Approval","chat.approvalQueue.pendingTitle":"Pending approvals","chat.approvalQueue.emptyState":"The room can keep moving until a plan asks for an owner decision.","chat.approvalQueue.defaultRequester":"Orchestrator","chat.approvalQueue.defaultSummary":"Review this dispatch before Cats continue.","chat.approvalQueue.requestedByPrefix":"Requested by {requestedBy}","chat.catStatus.compact.activeLabel":"active","chat.catStatus.compact.needAttentionLabel":"need attention","chat.catStatus.compact.sleepingLabel":"sleeping","chat.catStatus.activeLabel":"Active","chat.catStatus.blockedLabel":"Blocked","chat.catStatus.waitingForReviewLabel":"Waiting for review","chat.catStatus.errorLabel":"Error","chat.catStatus.wakingUpLabel":"Waking up","chat.catStatus.sleepingLabel":"Sleeping","chat.catStatus.idleLabel":"Idle","chat.lifecycle.awakeLabel":"Awake","chat.lifecycle.wakingUpLabel":"Waking up","chat.lifecycle.needsAttentionLabel":"Needs attention","chat.lifecycle.sleepingLabel":"Sleeping","chat.companionWorkspace.retryLabel":"Retry","chat.companionWorkspace.noSelectionState":"No selection.","chat.companionWorkspace.subscriptionDisabledTooltip":"Companion subscriptions are not available yet.","chat.companionWorkspace.subscriptionLabel":"Subscribe","chat.companionWorkspace.shareDisabledTooltip":"Select a post, photo, video, music track, or file before sharing.","chat.companionWorkspace.shareLabel":"Share","chat.companionWorkspace.sidePanelTitle":"Companion","chat.companionFeedTabPosts":"Posts","chat.companionFeedTabPhotos":"Photos","chat.companionFeedTabVideos":"Videos","chat.companionFeedTabMusic":"Music","chat.companionFeedTabFiles":"Files","chat.companionFeedTabActivity":"Activity","chat.companionFeedNavAriaLabel":"Companion feed","chat.companionFeedPostEmptyState":"{catName} hasn't posted anything yet.","chat.companionFeedMediaEmptyState":"No {type} yet.","chat.companionFeedMediaItemDefaultLabel":"media items","chat.companionFeedMediaItemsLabel":"{count} {surface}","chat.companionFeedSurfacePhotoLabel":"photos","chat.companionFeedSurfaceVideoLabel":"videos","chat.companionFeedSurfaceMusicLabel":"music","chat.companionFeedSurfaceFileLabel":"files","chat.companionFeedActivityEmptyState":"Nothing recent.","chat.companionFeedActivityHiddenState":"Older activity is hidden.","chat.companionMessageReferenceListAria":"Companion content references","chat.companionMessageReferenceUnsupportedVersionLabel":"Unsupported reference version","chat.companionMessageReferenceMalformedLabel":"Malformed reference","chat.companionMessageReference.invalidWrongScheme":"Reference must use cats://.","chat.companionMessageReference.invalidWrongHost":"Reference must point to companion.","chat.companionMessageReference.invalidMalformedPercentEncoding":"Reference contains malformed percent encoding.","chat.companionMessageReference.invalidBadSegmentCount":"Reference has the wrong number of path segments.","chat.companionMessageReference.invalidEmptyPathSegment":"Reference contains an empty path segment.","chat.companionMessageReference.invalidUnknownTargetType":"Reference target type is unknown.","chat.companionMessageReferenceLoadingLabel":"Loading reference preview","chat.companionMessageReferenceUnavailableLabel":"Companion reference unavailable","chat.companionMessageReferenceOpenInCompanionAction":"Open in companion","chat.companionModeToggleDirectLaneAriaLabel":"Direct lane view","chat.companionModeToggleChatViewAriaLabel":"Chat view","chat.companionModeToggleCompanionViewAriaLabel":"Companion view","chat.companionResourcesLoadingState":"Loading...","chat.companionResourcesSectionTitle":"Resources","chat.companionResourcesActionShowForm":"+ Add","chat.companionResourcesActionCancel":"Cancel","chat.companionResourcesActionAddResource":"Add resource","chat.companionResourcesActionBusy":"Adding...","chat.companionResourcesFormTitlePlaceholder":"Title","chat.companionResourcesFormNotePlaceholder":"Note (optional)","chat.companionResourcesFormContentPlaceholder":"Content","chat.companionResourcesEmptyState":"No resources yet. Add materials to help your companion.","chat.companionResourcesSourceKindNote":"Note","chat.companionResourcesSourceKindConversationLog":"Log","chat.companionResourcesSourceKindArticle":"Article","chat.companionResourcesSourceKindImage":"Image","chat.companionResourcesSourceKindVideo":"Video","chat.companionResourcesSourceKindAudio":"Audio","chat.companionResourcesSourceKindPath":"Path","chat.companionResourcesSourceKindUnknown":"Unknown","chat.companionResourcesUntitledSource":"Untitled","chat.companionResourcesActionRemove":"Remove","chat.companionSettingsLoadingState":"Loading...","chat.companionSettingsResponseProfileTitle":"Response Profile","chat.companionSettingsExpressionModeLabel":"Expression Mode","chat.companionSettingsExpressionModeAnimalistic":"Animalistic","chat.companionSettingsExpressionModeAnthropomorphic":"Anthropomorphic","chat.companionSettingsExpressionModeMixed":"Mixed","chat.companionSettingsOutputModeLabel":"Output Mode","chat.companionSettingsOutputModeText":"Text","chat.companionSettingsOutputModeAudioClip":"Audio Clip","chat.companionSettingsOutputModeTts":"TTS","chat.companionSettingsOutputModeMixed":"Mixed","chat.companionSettingsResponseNotesLabel":"Response Notes","chat.companionSettingsResponseNotesPlaceholder":"Custom instructions for how your companion should respond...","chat.companionSettingsResponseNotesSave":"Save Notes","chat.companionSettingsResponseNotesSaving":"Saving...","chat.companionSettingsTelegramBindingTitle":"Telegram Binding","chat.companionSettingsTelegramBindingBotLabel":"Bot:","chat.companionSettingsTelegramBindingModeLabel":"Mode:","chat.companionSettingsTelegramBindingConnected":"Connected","chat.companionSettingsTelegramBindingDefaultMode":"Default","chat.companionSettingsTelegramBindingManageHint":"Manage Telegram binding in ","chat.companionSettingsTelegramBindingSettingsLabel":"Settings > My Cats","chat.companionSettingsTelegramBindingSuffix":".","chat.companionSettingsNoTelegramBindingState":"No Telegram binding. Configure one in ","chat.companionOverviewLoadingState":"Loading...","chat.companionOverviewPresenceTitle":"Presence","chat.companionOverviewPresenceWakeButton":"Wake","chat.companionOverviewPresenceSleepButton":"Sleep","chat.companionOverviewSummaryTitle":"Summary","chat.companionOverviewSummaryResourceLabel":"resources","chat.companionOverviewSummaryCreationLabel":"creations","chat.companionOverviewSummaryMemoryLabel":"memories","chat.companionOverviewRecentMemoriesTitle":"Recent Memories","chat.companionOverviewEmptyState":"No memories yet.","chat.companionMemoryLoadingState":"Loading...","chat.companionMemorySectionTitle":"Memory","chat.companionMemoryActionAdd":"+ Add","chat.companionMemoryActionCancel":"Cancel","chat.companionMemoryFormPlaceholder":"What should your companion remember?","chat.companionMemoryActionBusy":"Adding...","chat.companionMemoryActionAddSubmit":"Add Memory","chat.companionMemoryFilterAll":"All","chat.companionMemoryCategoryIdentity":"Identity","chat.companionMemoryCategoryPreference":"Preference","chat.companionMemoryCategoryRelationship":"Relationship","chat.companionMemoryCategoryFact":"Fact","chat.companionMemoryCategoryEvent":"Event","chat.companionMemoryCategoryOwnerNote":"Owner Note","chat.companionMemoryEmptyState":"No memories yet. Your companion learns from conversations and resources.","chat.companionMemoryEmptyFilterState":"No memories match the selected filter.","chat.companionMemoryActionRemove":"Remove","chat.companionMessageReferenceAvailabilityLivePreview":"Live preview","chat.companionMessageReferenceAvailabilityMissing":"Missing","chat.companionMessageReferenceAvailabilityDeleted":"Deleted","chat.companionMessageReferenceAvailabilityInaccessible":"Inaccessible from this workspace","chat.companionMessageReferenceMissingFallbackTitle":"Companion content unavailable","chat.companionMessageReferenceDeletedFallbackTitle":"Companion content deleted","chat.companionMessageReferenceInaccessibleFallbackTitle":"Companion content from another workspace","chat.companionMessageReferenceInaccessibleFallbackDescription":"This companion content comes from a different platform-host scope and cannot be opened here.","chat.companionMessageReferenceUnknownCompanionLabel":"Companion","chat.companionMessageReferenceUntitledPostTitle":"Untitled post","chat.companionMessageReferenceUntitledSourceTitle":"Untitled companion source","chat.newChatDraft.composerPlaceholder":"How can I help you today?","chat.newChatDraft.folderActionLabel":"Choose folder","chat.newChatDraft.groupDraftSelectionLabelSingle":"1 participant selected so far. Add more or send when ready.","chat.newChatDraft.groupDraftSelectionLabelCount":"{count} participants selected for this shared chat.","chat.newChatDraft.groupDraftSelectionLabelWithCatsOrAssistants":"Choose Cats, reuse saved Assistants, or add temporary participants for this shared chat.","chat.newChatDraft.groupDraftSelectionLabelWithSettings":"Add temporary participants here, or create Cats and Assistants in Settings before starting a shared chat.","chat.newChatDraft.assistantPresetAdd":"Add","chat.newChatDraft.assistantPresetReview":"Review","chat.newChatDraft.assistantPresetAdded":"Added","chat.newChatDraft.temporaryParticipantCancel":"Cancel","chat.newChatDraft.temporaryParticipantNameLabel":"Name","chat.newChatDraft.temporaryParticipantNamePlaceholder":"Participant name","chat.newChatDraft.temporaryParticipantNameHint":"Name will be assigned automatically from the provider. You can rename it after adding.","chat.newChatDraft.temporaryParticipantSaveName":"Save name","chat.newChatDraft.temporaryParticipantRename":"Rename","chat.newChatDraft.temporaryParticipantRemove":"Remove","chat.newChatDraft.temporaryParticipantRoleHintLabel":"Role Hint","chat.newChatDraft.temporaryParticipantRoleHintPlaceholder":"Optional one-line role","chat.newChatDraft.temporaryParticipantSubmit":"Add participant","chat.newChatDraft.temporaryParticipantOpenForm":"Add temporary participant","chat.newChatDraft.branchPolicyWorkspaceWorktree":"Worktree","chat.newChatDraft.branchPolicyWorkspaceSource":"Current folder","chat.newChatDraft.branchPolicyWorkspaceSandbox":"Sandbox","chat.newChatDraft.branchPolicyAccessReadOnly":"Read only","chat.newChatDraft.branchPolicyAccessFull":"Full access","chat.newChatDraft.branchPolicyRelinkAria":"Re-link branch session policy to lead","chat.newChatDraft.branchPolicyDetachAria":"Detach branch session policy","chat.newChatDraft.branchPolicyFollowsLeadLabel":"Policy follows lead","chat.newChatDraft.branchFolderRelinkAria":"Re-link branch folder to lead","chat.newChatDraft.branchFolderChooseAria":"Choose branch folder","chat.newChatDraft.branchFollowsLeadLabel":"Follows lead","chat.newChatDraft.branchPromptJumpToLeadTitle":"Click to edit on lead branch","chat.newChatDraft.branchPromptJumpToLeadAria":"Jump to lead branch to edit prompt","chat.newChatDraft.branchAttachAria":"Attach","chat.newChatDraft.branchCollaborateAria":"Add another model to collaborate","chat.newChatDraft.branchRemoveAria":"Remove branch {branchIndex}","chat.newChatDraft.branchAddParallelAria":"Add parallel chat","chat.newChatDraft.branchAddCompareHint":"Add another model to compare","chat.newChatDraft.branchAttachmentOverrideError":"Branch {branchIndex}: attachments are not yet per-branch; remove the override.","chat.newChatDraft.collaborateAria":"Add another model to collaborate","chat.newChatDraft.collaborateHint":"Add another model to collaborate","chat.newChatDraft.removeFolderAria":"Remove folder","chat.newChatDraft.attachmentRemoveAria":"Remove {fileName}","chat.newChatDraft.addPhotosAndFiles":"Add photos and files","chat.newChatDraft.takeScreenshot":"Take screenshot","shared.screenshotCapture.tooltipDesktopRegion":"Capture a region of your screen","shared.screenshotCapture.tooltipWebPicker":"Capture a screen, window, or tab","shared.screenshotCapture.tooltipUnavailable":"Screen capture is unavailable in this environment","shared.screenshotCapture.permissionRequired":"Screen Recording permission is required to capture a screenshot. Grant Cats screen access in macOS System Settings, then restart Cats.","shared.screenshotCapture.permissionStatusUnknown":"Screen Recording permission status is unknown: {status}","shared.screenshotCapture.failed":"Failed to capture screenshot.","shared.screenshotCapture.frameLoadFailed":"Failed to load captured screen frame.","shared.screenshotCapture.frameEmpty":"Captured screen frame is empty.","shared.screenshotCapture.canvasPrepareFailed":"Could not prepare screenshot canvas.","shared.screenshotCapture.encodeFailed":"Could not encode screenshot.","shared.screenshotCapture.downscaleFailed":"Could not downscale screenshot.","shared.screenshotCapture.displayUnavailable":"Screenshot failed: the selected display is no longer available.","shared.screenshotCapture.regionUnsupported":"Region screenshot capture is unavailable on this desktop environment.","shared.screenshotCapture.noDisplays":"No displays are available for screenshot capture.","shared.screenshotCapture.wlrootsSessionUnsupported":"Native wlroots screenshot capture is not available in this session.","shared.screenshotCapture.wlrootsToolsRequired":"Native wlroots screenshot capture requires grim and slurp.","shared.screenshotCapture.wlrootsSelectionParseFailed":"Could not parse wlroots screenshot selection geometry.","shared.artifactCanvas.title":"Artifact Canvas","shared.artifactCanvas.loading":"Loading Artifact Canvas…","shared.artifactCanvas.loadFailed":"Artifact Canvas could not be loaded.","shared.artifactCanvas.invalidRoute":"Artifact Canvas route is missing an artifact id.","shared.artifactCanvas.close":"Close","shared.artifactCanvas.collapse":"Collapse","shared.artifactCanvas.expand":"Expand","shared.artifactCanvas.refresh":"Refresh","shared.artifactCanvas.openExternal":"Open external","shared.artifactCanvas.resizePane":"Resize Artifact Canvas pane","shared.artifactCanvas.unsupportedTitle":"No inline view available","shared.artifactCanvas.unsupportedBody":"This artifact does not have a safe inline presentation yet.","shared.artifactCanvas.policyVersion":"Policy version","chat.newChatDraft.cancelSendAria":"Cancel send","chat.newChatDraft.sendAria":"Send","chat.newChatDraft.sendAllChatsAria":"Send to all chats","chat.newChatDraft.startVoiceInputAria":"Start voice input","chat.newChatDraft.stopVoiceInputAria":"Stop voice input{privacyMessageSuffix}","chat.audience.removeParticipantAria":"Remove {name}","chat.audience.removeParticipantFromAudienceAria":"Remove {name} from audience","shared.voiceInput.error.notAllowed":"Microphone access was denied. Check your system and browser permissions.","shared.voiceInput.error.serviceNotAllowed":"Voice input is not available in this environment.","shared.voiceInput.error.audioCapture":"No microphone was detected.","shared.voiceInput.error.network":"Voice input could not reach the recognition service.","shared.voiceInput.error.languageNotSupported":"Voice input does not support the current language.","shared.voiceInput.error.permissionDenied":"Microphone access was denied. Check your system voice permissions.","shared.voiceInput.error.permissionNotDetermined":"Voice input needs system microphone and speech permissions.","shared.voiceInput.error.micUnavailable":"No microphone was detected.","shared.voiceInput.error.engineUnavailable":"Voice input is not available on this device.","shared.voiceInput.error.helperCrashed":"Voice input stopped unexpectedly.","shared.voiceInput.failedWithKind":"Voice input failed ({kind}).","shared.voiceInput.privacyUnknown":"Voice input may use Microsoft online speech depending on Windows privacy settings.","shared.voiceInput.privacyCloud":"Voice input is using an online speech service.","chat.draftCompareCarousel.ariaLabel":"Compare branch carousel","chat.draftCompareCarousel.previousBranchAria":"Previous branch","chat.draftCompareCarousel.nextBranchAria":"Next branch","chat.draftCompareCarousel.selectBranchAria":"Select branch","chat.draftCompareCarousel.goToBranchAria":"Go to branch {branchIndex}","chat.composerArea.attachAria":"Attach","chat.composerArea.placeholderParallelWaiting":"Waiting for parallel replies...","chat.composerArea.placeholderReply":"Reply...","chat.composerArea.scrollToLatestAria":"Scroll to latest","chat.composerArea.stopButtonLabel":"Stop","chat.composerArea.switchSendModeLabel":"Switch send mode","chat.composerArea.sendToThisChatAria":"Send to this chat","chat.activityEyebrow":"Activity","chat.activityLatestUpdatesHeading":"Latest updates","chat.activityEmptyState":"Activity appears here when the room starts moving.","chat.activityByActor":"By {actorName}","chat.participantsSectionNameLabel":"Participant name","chat.participantsSectionSaveNameButton":"Save name","chat.participantsSectionCancelButton":"Cancel","chat.participantsSectionRenameButton":"Rename","chat.participantsSectionNoParticipants":"No participants are in this chat yet.","chat.participantsSectionChooseCatsButton":"Choose cats","chat.transcriptMessageCheckWithOthersLabel":"Check with others","chat.transcriptMessageSynthesizeWithOthersLabel":"Synthesize with others","chat.transcriptMessageImproveWithOthersLabel":"Improve with others","chat.transcriptMessageAdoptWithOthersLabel":"Adopt with others","chat.transcriptMessageCounterWithOthersLabel":"Counter with others","chat.transcriptMessageDebateWithOthersLabel":"Debate with others","chat.transcriptMessageCopyLabel":"Copy message","chat.transcriptMessageRetryResponseLabel":"Retry response","chat.transcriptMessageRelayToOthersLabel":"Relay to others","chat.transcriptMessageFailedStatusLabel":"Response failed","chat.productIntent.ack.unsupportedDirectAudience":"Product mode commands need exactly one direct audience Cat for this MVP.","chat.productIntent.ack.unsupportedContext":"Product mode commands are available in direct messages for this MVP.","chat.productIntent.ack.chatActive":"Chat mode is active.","chat.productIntent.ack.workHumanGate":"Work mode is active. I can help clarify here, but a human must create or confirm the Work Item in Work or switch to a Cat that can own durable work.","chat.productIntent.ack.workStrongAnchor":"Work mode is active. Draft Work Item anchor created for clarification.","chat.productIntent.ack.workClarify":"Work mode is active. I will clarify the work before creating an item.","chat.productIntent.ack.codeHumanGate":"Code mode is active. I can help clarify here, but a human must create or confirm the Work Item in Work before Code execution can start.","chat.productIntent.ack.codeStrongAnchor":"Code mode is active. Draft Work Item anchor created with Code target.","chat.productIntent.ack.codeClarify":"Code mode is active. I will clarify the coding work before creating an item.","chat.productIntent.humanGate.draftSummaryFallback":"Clarify this {targetProduct} request before creating work.","chat.productIntent.humanGate.continueClarifying":"Continue clarifying in this direct chat","chat.productIntent.humanGate.openWorkItems":"Create or confirm a Work Item in Work","chat.productIntent.humanGate.switchCat":"Switch to a Cat that can own durable work","chat.productIntent.humanGate.question":"Choose the next step for this work intake.","chat.productIntent.draft.title.work":"Direct work intake","chat.productIntent.draft.title.code":"Direct code intake","chat.productIntent.draft.summary":"Draft {targetProduct} intake created from direct chat for clarification.","chat.productIntent.draft.goalFallback":"Clarify this {targetProduct} request from the direct conversation.","chat.productIntent.draft.successCriteria":"Clarify measurable success criteria with the owner.","chat.productIntent.draft.outOfScope":"Unconfirmed until the owner and Cat finish clarification.","chat.productIntent.draft.openQuestion":"What outcome should this work produce?","chat.implicitProductIntent.suggestion.work":"This looks like Work. Confirm before Cats creates durable work.","chat.implicitProductIntent.suggestion.code":"This looks like Code. Confirm before Cats creates durable code work.","chat.implicitProductIntent.question":"Turn this message into {targetProduct} intake?","chat.implicitProductIntent.confirm.work":"Turn into Work","chat.implicitProductIntent.confirm.code":"Turn into Code","chat.implicitProductIntent.decline":"Keep as chat","chat.implicitProductIntent.confirmed.work":"Confirmed Work intake.","chat.implicitProductIntent.confirmed.code":"Confirmed Code intake.","chat.implicitProductIntent.declined":"Kept as chat.","chat.implicitProductIntent.expired":"Suggestion expired.","shared.addCatPanelTitle":"Add cat to chat","shared.addCatPanelClose":"Close","shared.addCatPanelChooseExisting":"Choose existing","shared.addCatPanelCreateNew":"Create new","shared.addCatPanelAdding":"Adding…","shared.addCatPanelRemoving":"Removing…","shared.addCatPanelRemove":"Remove","shared.addCatPanelAdd":"Add","shared.addCatPanelNoOtherCats":"No other cats yet. Create one first.","shared.addCatPanelAllCatsInChat":"All cats are already in this chat.","shared.addCatPanelNameLabel":"Name","shared.addCatPanelNamePlaceholder":"Cat name","shared.addCatPanelSaving":"Saving…","shared.addCatPanelCreateAndAdd":"Create & Add","shared.addCatPanelCreateAndAddToChat":"Create & Add to Chat","shared.audience.popoverHeader":"Audience","shared.audience.selectAudienceLabel":"Select audience","shared.audience.workflowSequential":"Sequential","shared.audience.workflowConcurrent":"Concurrent","shared.audience.switchToSequentialModeLabel":"Switch to sequential mode","shared.audience.switchToConcurrentModeLabel":"Switch to concurrent mode","shared.workspaceMode.currentLabel":"Current folder","shared.workspaceMode.worktreeLabel":"Independent worktree","shared.workspaceMode.currentTooltip":"Edits files in the selected folder directly.","shared.workspaceMode.worktreeTooltip":"Creates a parallel working directory for this repo. Requires a git repository.","shared.telegramConnectDialog.title":"Connect Telegram","shared.telegramConnectDialog.botUsernameLabel":"Bot username","shared.telegramConnectDialog.botUsernamePlaceholder":"my_cat_bot","shared.telegramConnectDialog.botTokenLabel":"Bot token","shared.telegramConnectDialog.botTokenPlaceholder":"Paste from @BotFather","shared.telegramConnectDialog.modeLabel":"Mode","shared.telegramConnectDialog.modePolling":"Polling","shared.telegramConnectDialog.modeWebhook":"Webhook","shared.telegramConnectDialog.webhookSecretLabel":"Webhook secret","shared.telegramConnectDialog.webhookSecretPlaceholder":"Optional","shared.telegramConnectDialog.cancel":"Cancel","shared.telegramConnectDialog.connecting":"Connecting...","shared.telegramConnectDialog.connect":"Connect","shared.catsCreateCreateSection":"Create","shared.catsCreateNewCat":"New cat","shared.catsCreateCatLimitReached":"Cat limit reached","shared.catsCreateAddNewCatHint":"Add a new cat to your roster","shared.catsCreateCatNamePlaceholder":"Cat name","shared.catsCreateCancel":"Cancel","shared.catsCreateSaving":"Saving...","shared.catsCreateSaveCat":"Save Cat","shared.permissionMode.fullAccess":"Full access","shared.permissionMode.readOnly":"Read only","shared.composerSurface.label.chat":"Chat","shared.composerSurface.label.work":"Work","shared.composerSurface.label.code":"Code","shared.composerSurface.clearAria":"Clear {surfaceLabel} surface","shared.providerModel.support.advanced":"Advanced","shared.providerModel.support.readOnly":"Read-only","shared.delete.parallelChatGroup.title":"Delete all conversations","shared.delete.parallelChatGroup.message":'Delete all conversations in "{groupTitle}"? This removes each conversation and cleans up linked runtime sessions. This cannot be undone.',"shared.delete.parallelChatGroup.confirm":"Delete all","shared.delete.parallelChatGroup.fallback":"this parallel chat","shared.delete.cat.title":"Delete cat","shared.delete.cat.message":'Delete "{catName}"? This removes the Cat and cleans up linked runtime sessions. This cannot be undone.',"shared.delete.cat.confirm":"Delete","shared.delete.cat.fallback":"this cat","shared.transcript.deletedCat":"Deleted Cat","telegram.command.start.description":"Start a conversation","telegram.command.help.description":"Show available commands","telegram.command.commands.description":"List all commands","telegram.command.status.description":"Show connection status","telegram.command.open.description":"Open a new chat room","telegram.command.mode.description":"Show or switch companion and agent mode","telegram.command.chat.description":"Use ordinary chat mode","telegram.command.work.description":"Clarify and create a Work Item","telegram.command.code.description":"Clarify coding work","telegram.command.help.text":["Available commands:","/start - Show the bound Cat and how this bot works","/help - Show this help message","/commands - List all commands","/status - Show bot, binding, and mode status","/open - Open or continue the bound Cat lane","/mode - Show the current mode","/mode companion - Switch to companion behavior","/mode agent - Switch to agent behavior","/chat - Use ordinary chat mode","/work - Clarify and create a Work Item","/code - Clarify coding work"].join(`
|
|
17
|
+
`),"telegram.command.mode.companion":"Companion","telegram.command.mode.agent":"Agent","telegram.command.start.greetingBound":"Hello! I'm {catName} (via {botName}). Current mode: {mode}. Send a normal message to chat, or /mode to switch behavior.","telegram.command.start.greetingUnbound":"Hello! I'm {botName}. How can I help you?","telegram.command.status.botLine":"Bot: {botName}","telegram.command.status.linkedCatLine":"Linked Cat: {catName}","telegram.command.status.modeLine":"Mode: {mode}","telegram.command.status.inboundLine":"Inbound: {inboundMode}","telegram.command.status.chatLine":"Chat: {chatId}","telegram.command.status.connectedLine":"Status: Connected","telegram.command.open.reply":"Open the private lane with {name} in Cats, or just send a normal message here to continue chatting.","telegram.command.mode.notConfigurable":"This bot is not currently bound to a configurable Cat.","telegram.command.mode.current":`Current mode: {mode}
|
|
18
|
+
Use /mode companion or /mode agent to switch.`,"telegram.command.mode.unknown":`Unknown mode: {mode}
|
|
19
|
+
Use /mode companion or /mode agent.`,"telegram.command.mode.switchUnavailable":"Mode switching is unavailable for this bot binding right now.","telegram.command.mode.switched":`Switched {name} to {mode} mode.
|
|
20
|
+
Future normal messages in this chat will use that mode.`,"telegram.command.unknownCommand":`Unknown command: /{command}
|
|
21
|
+
Type /help to see available commands.`,"shared.operator.noTimestamp":"No timestamp","shared.operator.runStatus.running":"Running","shared.operator.runStatus.blocked":"Blocked","shared.operator.runStatus.completed":"Completed","shared.operator.runStatus.failed":"Failed","shared.operator.runStatus.cancelled":"Cancelled","shared.operator.runStatus.queued":"Queued","shared.operator.runStatus.title":"Run status","shared.operator.branchStatus.pending":"Pending","shared.operator.branchStatus.running":"Running","shared.operator.branchStatus.completed":"Completed","shared.operator.branchStatus.failed":"Failed","shared.operator.branchStatus.blocked":"Blocked","shared.operator.branchStatus.cancelled":"Cancelled","shared.operator.branchStatus.waitingForConverge":"Waiting for converge","shared.operator.checkpointStatus.completed":"Completed","shared.operator.checkpointStatus.cancelled":"Cancelled","shared.operator.checkpointStatus.open":"Open","shared.operator.outcomeStatus.succeeded":"Succeeded","shared.operator.outcomeStatus.blocked":"Blocked","shared.operator.outcomeStatus.failed":"Failed","shared.operator.outcomeStatus.cancelled":"Cancelled","shared.operator.traceKind.approval":"Approval","shared.operator.traceKind.checkpoint":"Checkpoint","shared.operator.traceKind.dispatch":"Dispatch","shared.operator.traceKind.error":"Error","shared.operator.traceKind.outcome":"Outcome","shared.operator.traceKind.status":"Status","shared.operator.traceKind.note":"Note","shared.operator.activity.label.recovery":"Recovery","shared.operator.activity.label.replay":"Replay","shared.operator.activity.label.decision":"Decision","shared.operator.activity.label.action":"Action","shared.operator.activity.label.artifact":"Artifact","shared.operator.activity.label.update":"Update","shared.operator.activity.label.trace":"Trace","shared.operator.eyebrow.inspector":"Inspector","shared.operator.runInspector.title":"Run inspector","shared.operator.runInspector.noHistory":"Select a room with workflow history to inspect traces and checkpoints.","shared.operator.runInspector.summaryFallback":"Inspect trace, checkpoint, and outcome records for this run.","shared.operator.meta.started":"Started {time}","shared.operator.meta.updated":"Updated {time}","shared.operator.meta.stage":"Stage: {stage}","shared.operator.workflowStage.blocked":"Blocked","shared.operator.workflowStage.concurrentFanOut":"Concurrent fan-out","shared.operator.workflowStage.continuationHandoff":"Continuation handoff","shared.operator.workflowStage.convergeReview":"Converge review","shared.operator.workflowStage.dispatch":"Dispatch","shared.operator.workflowStage.initialDispatch":"Initial dispatch","shared.operator.workflowStage.runtimeError":"Runtime error","shared.operator.workflowStage.startupRecovery":"Startup recovery","shared.operator.workflowStage.turnCompleted":"Turn completed","shared.operator.meta.shape":"Shape: {shape}","shared.operator.meta.reviewRequired":"Review required","shared.operator.meta.guardrail":"Guardrail: {guardrail}","shared.operator.meta.cooldown":"Cooldown: {cooldown}","shared.operator.guard.maxContinuations":"Max continuations","shared.operator.guard.maxDispatches":"Max dispatches","shared.operator.guard.maxTargetVisits":"Max target visits","shared.operator.guard.antiPingPong":"Anti ping-pong","shared.operator.cooldown.active":"Cooldown active","shared.operator.section.trace":"Trace","shared.operator.section.checkpoints":"Checkpoints","shared.operator.noCheckpointsRecorded":"No checkpoints recorded for this run.","shared.operator.checkpointSummaryFallback":"Checkpoint recorded.","shared.operator.section.branches":"Branches","shared.operator.noBranchesRecorded":"No branch or handoff lineage recorded for this run.","shared.operator.branch.handoff":"Handoff: {handoffReason}","shared.operator.branch.strategy":"Strategy: {strategy}","shared.operator.branchStrategy.forkIfPossible":"Fork if possible","shared.operator.branchStrategy.freshNoParent":"Fresh branch without parent","shared.operator.branchStrategy.singleTargetReview":"Single-target review","shared.operator.branchStrategy.transplantContext":"Transplant context","shared.operator.branchHandoff.explicitMention":"Explicit mention","shared.operator.branchHandoff.operatorReroute":"Operator reroute","shared.operator.branchHandoff.roomDefault":"Room default","shared.operator.branchHandoff.roomEntry":"Room entry","shared.operator.branchHandoff.runtimeRetry":"Runtime retry","shared.operator.branchHandoff.workflowContinuation":"Workflow continuation","shared.operator.branch.fromCheckpoint":"From {checkpointId}.","shared.operator.branch.noLineage":"No checkpoint lineage recorded.","shared.operator.section.outcomes":"Outcomes","shared.operator.noOutcomesRecorded":"No outcomes recorded for this run.","shared.operator.outcomeSummaryFallback":"Outcome recorded.","shared.operator.eyebrow.progress":"Progress","shared.operator.noActiveRun":"No active room run yet. Start or continue the chat to inspect dispatch state.","shared.operator.progressSummaryFallback":"Room orchestration state is available for inspection.","shared.operator.metric.dispatches":"Dispatches","shared.operator.metric.continuations":"Continuations","shared.operator.metric.targets":"Targets","shared.operator.approvalPending.singular":"{count} approval pending","shared.operator.approvalPending.plural":"{count} approvals pending","shared.operator.meta.delivery":"Delivery: {deliveryMode}","shared.operator.meta.gates":"Gates: {gates}","shared.operator.meta.budget":"Budget: {budgetLevel}","shared.operator.deliveryMode.artifactOnly":"Artifact only","shared.operator.deliveryMode.commitOnly":"Commit only","shared.operator.deliveryMode.deployPreview":"Deploy preview","shared.operator.deliveryMode.prWithChecks":"Pull request with checks","shared.operator.deliveryMode.pushBranch":"Push branch","shared.operator.deliveryGate.manualReviewRequired":"Manual review required","shared.operator.deliveryGate.ownerApprovalRequired":"Owner approval required","shared.operator.deliveryGate.publishArtifactRequired":"Publish artifact required","shared.operator.budgetLevel.normal":"Normal","shared.operator.budgetLevel.warning":"Warning","shared.operator.budgetLevel.blocked":"Blocked","shared.operator.workflowShape.sequential":"Sequential","shared.operator.workflowShape.concurrent":"Concurrent","shared.operator.workflowShape.converge":"Converge","shared.operator.inspectRunButton":"Inspect run","shared.operator.noTraceRecords":"No trace records yet for this run.","shared.operator.action.requestRetry":"Request Retry","shared.operator.action.retryAgain":"Retry Again","shared.operator.action.retrying":"Retrying","shared.operator.action.retryRequested":"Retry Requested","shared.operator.action.acknowledge":"Acknowledge","shared.operator.action.acknowledged":"Acknowledged","shared.operator.action.retryDescription":"Record that the operator wants this blocked or failed run retried.","shared.operator.action.replayStoredDispatchDescription":"Replay the stored dispatch or workflow continuation through the existing operator seam.","shared.operator.action.retryTaskDescription":"Record that the operator wants this blocked or failed task retried.","shared.operator.action.retryFailedDescription":"Retry failed. Operators can request another replay of the stored dispatch.","shared.operator.action.acknowledgeDescription":"Record that the operator has seen the current guardrail or incident state.","shared.operator.action.acknowledgeBlockedDescription":"Record that the operator has seen the current blocked or failed state.","shared.operator.action.status.retryInProgress":"Retry in progress","shared.operator.action.status.retryFailed":"Retry failed","shared.operator.action.status.retryFailedWithError":"Retry failed: {error}","shared.operator.action.status.retryDispatched":"Retry dispatched","shared.operator.action.status.retryRequested":"Retry requested","shared.operator.action.status.acknowledged":"Acknowledged","shared.common.apply":"Apply","shared.common.cancel":"Cancel","shared.common.close":"Close","shared.common.delete":"Delete","shared.common.retry":"Retry","shared.guideCat.panelGreeting":"Hi {ownerDisplayName}, I'm {guideCatName} — your guide cat. Pick any of these to get started, or close this panel and explore on your own.","shared.guideCat.welcomeGreeting":"Welcome, {ownerDisplayName}. I'm your guide cat. Here are some things to get you started.","shared.guideCat.welcomeStartChat":"Start first chat","shared.guideCat.welcomeMeetCats":"Meet your cats","shared.guideCat.welcomeExploreProducts":"Explore products","shared.guideCat.welcomeHideNow":"Hide for now","shared.guideCat.pillOpenLabel":"Open guide: {guideCatName}","shared.guideCat.pillDisableLabel":"Disable guide cat","shared.guideCat.dockUndockLabel":"Undock {guideCatName}","shared.guideCat.dialog.disableTitle":"Disable {guideCatName}?","shared.guideCat.dialog.disableMessage":"This turns off {guideCatName} help in Cats. If you just want it out of the way, you can dock it now instead. You can enable it again from Settings > Assistants.","shared.guideCat.dialog.disableConfirm":"Disable","shared.guideCat.dialog.keepEnabled":"Keep enabled","shared.guideCat.dialog.dockNow":"Dock now","shared.imageUpload.clickHint":"Click to choose image","shared.imageUpload.dragHint":"Drag to reposition, scroll to zoom","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackOne":"Conversation deleted. Cats Runtime retained {count} linked runtime session; open runtime diagnostics if disk cleanup matters.","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackMany":"Conversation deleted. Cats Runtime retained {count} linked runtime sessions; open runtime diagnostics if disk cleanup matters.","shared.workspaceNavigation.renameChatError":"Failed to rename chat.","shared.workspaceNavigation.deleteChatError":"Failed to delete chat.","shared.workspaceNavigation.renameParallelChatError":"Failed to rename parallel chat.","shared.workspaceNavigation.ungroupParallelChatError":"Failed to ungroup parallel chat.","shared.workspaceNavigation.deleteParallelChatGroupError":"Failed to delete all chats.","shared.workspaceNavigation.parallelChatFallbackName":"this parallel chat","shared.workspaceNavigation.error.chatNotFound":"This chat workspace was not found.","shared.workspaceNavigation.error.channelNotFound":"This chat channel was not found.","shared.workspaceNavigation.error.parallelChatGroupNotFound":"This parallel chat group was not found.","shared.workspaceNavigation.error.titleRequired":"Chat title cannot be empty.","shared.workspaceNavigation.error.parallelChatTitleRequired":"Parallel chat title cannot be empty.","shared.settingsCatsRegistry.sectionLabel":"Registry","shared.settingsCatsRegistry.savedCatsLabel":"Saved cats","shared.settingsCatsRegistry.noCatsYetLabel":"No cats yet","shared.settingsCatsRegistry.showArchivedLabel":"Show archived ({count})","shared.settingsCatsRegistry.bossCatLabel":"Boss Cat","shared.settingsCatsRegistry.recoverLabel":"Recover","shared.settingsCatsRegistry.recoverTooltip":"Recover {name}","shared.settingsCatsRegistry.deleteTooltip":"Delete {name}","shared.settingsCatsRegistry.archiveTooltip":"Archive {name}","shared.settingsCatsRegistry.defaultSkillProfileLabel":"Default","shared.settingsCatsRegistry.memorySavedLabel":"Memory saved","shared.settingsCatsRegistry.noMemoryYetLabel":"No memory yet","shared.settingsCatsRegistry.botBindingCount":"{count} bot{pluralSuffix}","shared.settingsCatsRegistry.emptyStateHint":"Create your first cat from the panel on the right.","shared.settingsCats.selectCatAriaLabel":"Select a cat","shared.settingsCats.addNewCatLabel":"Add new cat","shared.settingsCats.showArchivedLabel":"Show archived ({count})","shared.settingsCats.archiveLabel":"Archive","shared.settingsCats.deleteLabel":"Delete","shared.settingsCats.channelLabel":"Channel","shared.settingsCats.memoryLabel":"Memory","shared.settingsCats.renameLabel":"Rename","shared.settingsCats.save":"Save","shared.settingsCats.saving":"Saving...","shared.settingsCats.bossCatLabel":"Boss Cat","shared.settingsCats.changeBossCatTitle":"Change Boss Cat","shared.settingsCats.changeBossCatMessage":"Make {name} the Boss Cat? This will change the default recipient for new chats.","shared.settingsCats.confirm":"Confirm","shared.settingsCats.setting":"Setting...","shared.settingsCats.saveSuccess":"Cat saved.","shared.settingsCats.saveError":"Failed to save cat.","shared.settingsCats.renameSuccess":"Cat renamed.","shared.settingsCats.renameError":"Failed to rename cat.","shared.settingsCats.deleteSuccess":"{catName} deleted.","shared.settingsCats.deleteError":"Failed to delete cat.","shared.settingsCats.bossUpdated":"Boss Cat updated.","shared.settingsCats.status.active":"Active","shared.settingsCats.status.archived":"Archived","shared.settingsCats.makeBossCatLabel":"Make {name} the Boss Cat","shared.settingsCats.setBossCatLabel":"Set as Boss Cat","shared.settingsCats.setBossCatError":"Failed to set Boss Cat.","shared.settingsCats.skillUpdateError":"Failed to update skill.","shared.settingsCats.skillProfileLabel":"Skill Profile","shared.settingsCats.mcpProfileLabel":"Tool Profile","shared.settingsCats.mcpProfileChatMemoryLabel":"Chat memory","shared.settingsCats.mcpProfileWorkMemoryLabel":"Work memory","shared.settingsCats.changeMcpProfileError":"Failed to change tool profile.","shared.settingsCats.coverPhotoLabel":"Cover photo","shared.settingsCats.changeCoverPhotoLabel":"Change cover photo","shared.settingsCats.uploadCoverPhotoLabel":"Upload cover photo","shared.settingsCats.changeCoverLabel":"Change cover","shared.settingsCats.uploadCoverLabel":"Upload cover","shared.settingsCats.removeCoverLabel":"Remove cover","shared.settingsCats.changeSkillProfileError":"Failed to change skill profile.","shared.settingsCats.updateBrainError":"Failed to update Brain.","shared.settingsCats.disconnectTelegramAria":"Disconnect Telegram","shared.settingsCats.disconnectTelegram":"Disconnect","shared.settingsCats.bindingActive":"Active","shared.settingsCats.bindingDisabled":"Disabled","shared.settingsCats.bindingPollingMode":"Polling","shared.settingsCats.bindingWebhookMode":"Webhook","shared.settingsCats.telegramBindingCreated":"Telegram bot binding created.","shared.settingsCats.telegramBindingCreateError":"Failed to create binding.","shared.settingsCats.telegramBindingRemoved":"Binding removed.","shared.settingsCats.telegramBindingRemoveError":"Failed to remove binding.","shared.settingsCats.telegramDiagnosticsLoadError":"Failed to load Telegram diagnostics.","shared.settingsCats.lastInboundLabel":"Last inbound {time}","shared.settingsCats.connectTelegramLabel":"Connect Telegram","shared.settingsCats.unavailableHint":"Unavailable for archived or non-chat cats.","shared.settingsCats.addMemoryLabel":"Add memory","shared.settingsCats.deleteMemoryAria":"Delete memory","shared.settingsCats.skillProfileDefaultLabel":"Default","shared.settingsCats.skillProfileCompanionLabel":"Companion","shared.settingsCats.memoryCategoryPreferenceLabel":"Preference","shared.settingsCats.memoryCategoryFactLabel":"Fact","shared.settingsCats.memoryCategoryPolicyLabel":"Policy","shared.settingsCats.memoryCategoryStyleLabel":"Style","shared.settingsCats.memoryCategoryRelationshipLabel":"Relationship","shared.settingsCats.memoryCategoryLessonLabel":"Lesson","shared.settingsCats.fallbackCatName":"this cat","shared.settingsCats.archiveConfirmTitle":"Archive cat","shared.settingsCats.archiveConfirmMessage":'Archive "{catName}"? You can recover this cat later from Settings.',"shared.settingsCats.archiveWithTelegramConfirmMessage":'Archive "{catName}"? Telegram bot bindings will be removed, but you can still recover the cat later from Settings.',"shared.settingsCats.archiveSuccess":"{catName} archived.","shared.settingsCats.archiveError":"Failed to archive cat.","shared.settingsCats.recoverConfirmTitle":"Recover cat","shared.settingsCats.recoverConfirmMessage":'Recover "{catName}" from archive?',"shared.settingsCats.recoverConfirmLabel":"Recover","shared.settingsCats.recoverSuccess":"{catName} recovered.","shared.settingsCats.recoverError":"Failed to recover cat.","shared.settingsCats.error.nameRequired":"Cat name is required.","shared.settingsCats.error.providerRequired":"Cat provider is required.","shared.settingsCats.error.nameEmpty":"Cat name cannot be empty.","shared.settingsCats.error.alreadyArchived":"This cat is already archived.","shared.settingsCats.error.alreadyActive":"This cat is already active.","shared.settingsCats.error.archiveRecoverConflict":"A cat cannot be archived and recovered at the same time.","shared.settingsCats.error.noProducts":"Select at least one product for this cat.","shared.settingsCats.error.botTokenDuplicate":"This bot token is already used by another binding.","shared.settingsCats.error.nameDuplicate":'A cat named "{name}" already exists.',"shared.settingsCats.error.limitReached":"Cat limit reached (max {maxCats}).","shared.settingsCats.error.notFound":"Cat not found.","shared.settingsCats.error.notActive":"This cat is not active.","shared.settingsCats.error.notAvailableInChat":"This cat is not available in Cats Chat.","shared.settingsCats.error.botBindingNotFound":"Bot binding not found.","shared.platformSurfaceSwitcher.menuLabel":"Switch product","shared.platformSurfaceSwitcher.openLobby":"Open Lobby","shared.platformSurfaceSwitcher.ariaLabel":"Switch product. Current product is {productName}.","shared.providerModelBrainCard.title":"Brain","shared.providerModel.controls.default":"Default","shared.providerModel.controls.enabled":"Enabled","shared.providerModel.controls.disabled":"Disabled","shared.providerModel.controls.optionalPlaceholder":"Optional","shared.providerModel.field.providerLabel":"Provider","shared.providerModel.field.loadingProviders":"Loading available providers...","shared.providerModel.field.selectProviderHint":"Select an available provider","shared.providerModel.field.providerLoadFailed":"Could not load runtime-backed providers","shared.providerModel.field.noProviders":"No runtime-backed providers available","shared.providerModel.field.registryCheckingHint":"Checking cats-runtime for usable provider targets.","shared.providerModel.field.registryUsingProductCatalogHint":"Using the product provider catalog while cats-runtime provider targets are checked.","shared.providerModel.field.registryStaleHint":"Showing last known provider targets while cats-runtime reconnects.","shared.providerModel.field.registryCachedRefreshFailedHint":"Showing cached provider targets because refresh failed: {message}","shared.providerModel.field.registryLoadFailedHint":"Could not load currently usable provider targets from cats-runtime.","shared.providerModel.field.registryEmptyHint":"cats-runtime is connected, but it did not report any currently usable provider targets.","shared.providerModel.field.providerInstanceLabel":"Provider instance","shared.providerModel.field.modelLabel":"Model","shared.providerModel.field.retryProvidersFirst":"Retry loading providers first","shared.providerModel.field.selectProviderFirst":"Select an available provider first","shared.providerModel.field.waitingProviders":"Waiting for available providers...","shared.providerModel.field.loadingModels":"Loading available models...","shared.providerModel.field.selectModel":"Select a model","shared.providerModel.field.noModels":"No runtime-backed models available","shared.providerModel.field.customLegacyModelLabel":"Custom legacy model...","shared.providerModel.field.legacyModelIdLabel":"Legacy model ID","shared.providerModel.field.legacyModelIdPlaceholder":"e.g. claude-sonnet-4-6","shared.providerModel.field.legacyModelIdHint":"Manual model id passthrough. Runtime resolves this as the legacy `model` field, not a structured entry/preset selection.","shared.providerModel.field.modeLabel":"Mode","shared.providerModel.field.modeStandardLabel":"Standard","shared.providerModel.field.modeStandardOnlyLabel":"Standard only","shared.providerModel.field.presetPreviewSuffix":" (preview)","shared.providerModel.field.presetUnavailableSuffix":" (unavailable)","shared.providerModel.field.presetTuningDescriptionFallback":"Extra tuning for this model.","shared.providerModel.field.modeOnlyBaseHint":"This provider target exposes only the base catalog entry for persisted chat/session settings.","shared.providerModel.field.requestScopedWarning":"Request-only runtime overrides are hidden here because this selector persists chat/session defaults.","shared.providerModel.field.openRuntimeSetupLabel":"Open Cats Runtime setup","shared.providerModel.field.advancedCatalogUnavailable":"Runtime advanced model catalog unavailable.","shared.providerModel.field.catalogKindModel":"model","shared.providerModel.field.catalogKindAdvancedModel":"advanced model","shared.providerModel.field.runtimeCatalogUnavailable":"Runtime {catalogKind} catalog unavailable.","shared.providerModel.field.runtimeCatalogUnavailableWarning":"Using the product {catalogKind} catalog while cats-runtime refreshes: {message}","shared.memoryEditorDialog.title":"Add memory","shared.memoryEditorDialog.categoryLabel":"Category","shared.memoryEditorDialog.contentLabel":"Content","shared.memoryEditorDialog.memoryPlaceholder":"What should this cat remember?","shared.memoryEditorDialog.cancel":"Cancel","shared.memoryEditorDialog.saving":"Saving...","shared.memoryEditorDialog.add":"Add","shared.approvalEyebrow":"Approval","shared.approvalPendingTitle":"Pending approvals","shared.approvalEmptyState":"The room can keep moving until a plan asks for an owner decision.","shared.approvalRequester":"Orchestrator","shared.approvalSummaryFallback":"Review this dispatch before Cats continue.","shared.approvalRequestedBy":"Requested by {requestedBy}","shared.approval.action.approve":"Approve","shared.approval.action.reroute":"Reroute","shared.approval.action.reject":"Reject","shared.approval.action.approveDescription":"Allow the orchestrator plan to proceed.","shared.approval.action.rerouteDescription":"Send the plan back for a different handoff or dispatch path.","shared.approval.action.rejectDescription":"Do not allow the plan to proceed.","shared.catInspectTitle":"Cat Preset","shared.catInspectClose":"Close","shared.catInspectBossLabel":"Boss","shared.catInspectProviderLabel":"Provider","shared.catInspectInstanceLabel":"Instance","shared.catInspectModelLabel":"Model","shared.catInspectSkillProfileLabel":"Skill Profile","shared.catInspectSharedPresetDescription":"This is a shared Cat preset. Changes here would affect all threads using this Cat.","shared.messageChoicesCustom":"Custom","shared.messageChoicesAddCustomPlaceholder":"Add your own answer","shared.messageChoicesSkipped":"Owner skipped these choices.","shared.messageChoicesRecorded":"Owner response recorded.","shared.messageChoicesConfirm":"Confirm","shared.messageChoicesSkip":"Skip","shared.folderBrowserEnterPath":"Enter a path","shared.folderBrowserGo":"Go","shared.folderBrowserUpOneLevel":"Up one level","shared.folderBrowserRefresh":"Refresh","shared.folderBrowserLoading":"Loading...","shared.folderBrowserNoSubdirectories":"No subdirectories in this folder.","shared.folderBrowserUseThisFolder":"Use this folder","shared.common.saving":"Saving...","shared.common.dismiss":"Dismiss","setup.wizard.welcomeTitle":"Welcome to Cats","setup.wizard.welcomeIntro":"Your personal AI workspace. Let's get you set up; it only takes a moment.","setup.wizard.ownerNameLabel":"Your name","setup.wizard.ownerNamePlaceholder":"Your display name","setup.wizard.getStartedButton":"Get started","setup.wizard.stepIndicator":"Step {step} of {total}","setup.wizard.enableGuideTitle":"Enable your {guideCatName}","setup.wizard.enableGuideSubtitle":"This optional helper can support you across Chat, Work, and Code.","setup.wizard.enableGuideLabel":"Enable {guideCatName}","setup.wizard.skipGuideMessage":"You can skip this for now and enable {guideCatName} later from Settings > Assistants.","setup.wizard.backButton":"Back","setup.wizard.openingCatsAction":"Opening Cats...","setup.wizard.openCatsAction":"Open Cats","setup.wizard.failedMessage":"Setup failed.","setup.wizard.failedWithStatus":"Setup failed ({status})","setup.wizard.alreadyCompleteError":"Setup has already been completed.","setup.wizard.invalidRequestError":"Setup request is invalid.","setup.wizard.serverError":"Setup could not be completed. Please try again.","setup.wizard.recordOpenFailedWithStatus":"Failed to record setup open ({status})","setup.guideCat.runtimeUnavailable":"Provider registry unavailable","setup.guideCat.noUsableTargets":"No usable providers found","setup.guideCat.runtimeConnected":"Cats Runtime connected","setup.guideCat.runtimeNotDetected":"Cats Runtime not detected","setup.guideCat.nameLabel":"Guide Cat name","setup.guideCat.nameHint":"Cats keeps this name fixed. It can vary by app language later.","setup.guideCat.openRuntimeSetup":"Open Cats Runtime setup","setup.guideCat.unavailableNote":"Cats can still open without the Guide Cat. Retry here, or open Cats Runtime setup if the provider registry keeps timing out.","setup.guideCat.noUsableTargetsNote":"Cats Runtime is reachable, but it did not report any usable provider targets for the Guide Cat.","settings.assistants.defaultName":"Assistant","settings.assistants.statusFailed":"Status update failed ({status})","settings.assistants.saveFailed":"Failed to save.","settings.assistants.statusUpdateFailed":"Status update failed ({status})","settings.assistants.guideCatUpdateFailed":"Failed to update Guide Cat.","settings.assistants.guideCatSaveFailed":"Failed to save Guide Cat.","settings.assistants.saveFailedWithError":"Save failed ({status})","settings.assistants.removeTitle":"Remove assistant","settings.assistants.removeMessage":`Remove "{title}"? This can't be undone.`,"settings.assistants.removeButton":"Remove","settings.assistants.removeFailed":"Failed to remove assistant.","settings.assistants.enableButton":"Enable","settings.assistants.enableBusyButton":"Saving...","settings.assistants.disableButton":"Disable","settings.assistants.avatarLabel":"Avatar","settings.assistants.nameLabel":"Name","settings.assistants.selectAriaLabel":"Select an assistant","settings.assistants.addNewLabel":"Add new assistant","settings.assistants.newAssistantTitle":"New assistant","settings.assistants.cancelButton":"Cancel","settings.assistants.createButton":"Save","settings.assistants.deleteButton":"Delete","settings.assistants.roleHintTitle":"Role hint","settings.assistants.namePlaceholder":"Assistant","settings.assistants.roleHintPlaceholder":"Reviewer, debugger, copy editor, API specialist...","settings.assistants.renameFailed":"Failed to rename assistant.","settings.assistants.roleHintUpdateFailed":"Failed to update role hint.","settings.assistants.brainUpdateFailed":"Failed to update Brain.","settings.assistants.createFailed":"Failed to save assistant.","settings.assistants.api.invalidRequestBody":"Request body is invalid.","settings.assistants.api.assistantNameRequired":"Assistant name is required.","settings.assistants.api.assistantProviderRequired":"Assistant provider is required.","settings.assistants.api.assistantModelRequired":"Assistant model is required.","settings.assistants.api.assistantNotFound":"Assistant not found.","settings.assistants.api.guideCatNameManaged":"Guide Cat name is managed by Cats.","settings.assistants.api.guideCatStatusInvalid":"Guide Cat status must be active or dismissed.","settings.assistants.api.guideCatNotFound":"Guide Cat does not exist yet.","conversationSidebar.chatsLabel":"Chats","conversationSidebar.recentsLabel":"Recents","conversationSidebar.noChatsLabel":"No chats yet","conversationSidebar.primaryAriaLabel":"Primary","conversationSidebar.openSidebarLabel":"Open sidebar","conversationSidebar.closeSidebarLabel":"Close sidebar","conversationSidebar.renameLabel":"Rename","conversationSidebar.renamingLabel":"Renaming...","conversationSidebar.deleteLabel":"Delete","conversationSidebar.deletingLabel":"Deleting...","conversationSidebar.ungroupLabel":"Ungroup","conversationSidebar.ungroupingLabel":"Ungrouping...","conversationSidebar.deleteAllLabel":"Delete All","conversationSidebar.openAccountSettingsLabel":"Open account settings","conversationSidebar.runtimeStatusAriaLabel":"Runtime status: {status}","conversationSidebar.directMessagesLabel":"Direct Messages","conversationSidebar.telegramBoundTooltip":"Telegram bot bound","conversationSidebar.archiveButton":"Archive","conversationSidebar.directMessageButton":"Direct message","conversationSidebar.clearButton":"Clear","conversationSidebar.clearConfirmMessage":"Clear conversation history with {catName}? This cannot be undone.","chatNewChatDraft.viewCatProfileAction":"View cat profile","chatTopBar.openCatProfileAriaLabel":"View cat profile","design.sidePanel.closeLabel":"Close","design.accountIdentityMenu.label":"Account menu","design.accountIdentityMenu.menuLabel":"Account menu","design.accountIdentityMenu.settingsLabel":"Settings","design.accountIdentityMenu.environmentLabel":"Environment","design.notification.dismissLabel":"Dismiss","entity.comingSoon.backToLobby":"Back to Lobby","entity.detail.breadcrumb.lobby":"Lobby","clowdersList.title":"My Clowders","clowdersList.eyebrow":"Clowders","clowdersList.emptyState":"No clowders yet. Formal task forces appear here once the Clowder registry is connected.","catteriesList.title":"My Catteries","catteriesList.eyebrow":"Catteries","catteriesList.emptyState":"No catteries yet. Organizations appear here once the Cattery registry is connected.","clowdersCanvas.ariaLabel":"Clowders canvas","catteriesCanvas.ariaLabel":"Catteries canvas","entityCanvas.totalLabel":"Total","entityCanvas.catsLabel":"Cats","entityCanvas.membersLabel":"Members","entityCanvas.clowdersLabel":"Clowders","entityCanvas.idLabel":"ID","entityCanvas.createdLabel":"Created","entityCanvas.selectedClowderLabel":"Selected Clowder","entityCanvas.selectedCatteryLabel":"Selected Cattery","entityCanvas.organizationLabel":"Organization","entityCanvas.parentCatteryLabel":"Parent Cattery","entityCanvas.formalClowderLabel":"Formal Clowder","entityCanvas.noOrganizationLabel":"No organization link","entityCanvas.noFormalClowdersLabel":"No formal Clowders","entityCanvas.openClowderAction":"Open Clowder","entityCanvas.openCatteryAction":"Open Cattery","entityCanvas.catterySubtitle":"{clowderCount} Clowders · {memberCount} members","catProfile.notFound.title":"Cat not found","catProfile.notFound.body":'No Cat with id "{catId}" exists in this workspace. It may have been removed, or the link is stale.',"entitiesSidebar.section.cats":"My Cats","entitiesSidebar.section.clowders":"My Clowders","entitiesSidebar.section.catteries":"My Catteries","entitiesSidebar.newCat":"New cat","entitiesSidebar.newClowder":"New clowder","entitiesSidebar.newCattery":"New cattery","entityIndex.eyebrow":"Directory","entityIndex.title":"Cats Directory","entityIndex.columnHeader.cats":"Cats","entityIndex.columnHeader.clowders":"Clowders","entityIndex.columnHeader.catteries":"Catteries","entityIndex.card.total":"{count} total","entityIndex.card.openCanvasAriaLabel":"Open {label}","entitiesShell.ariaLabel":"Cats Directory workspace","entitiesShell.surfaceLabel":"Cats Directory","entitiesShell.brandLabel":"Directory","entitiesShell.exitButtonAriaLabel":"Leave Cats Directory","clowderHome.ariaLabel":"Clowder home","clowderHome.chip.partOf":"Part of {catteryName}","clowderHome.chip.crossUnit":"Cross-unit task force","clowderHome.tab.cats":"Cats","clowderHome.tab.settings":"Settings","clowderHome.empty.cats":"No cats in this Clowder yet. Add the first one once Phase 6 membership management lands.","clowderHome.settings.body":"Clowder settings (rename, archive, transfer) ship with PLAN-091 phase 6 membership management.","clowderHome.notFound.title":"Clowder not found","clowderHome.notFound.body":'No Clowder with id "{clowderId}" exists in this workspace. It may have been removed, or the link is stale.',"catteryHome.ariaLabel":"Cattery home","catteryHome.tab.members":"Members","catteryHome.tab.clowders":"Clowders","catteryHome.tab.cats":"Cats","catteryHome.tab.settings":"Settings","catteryHome.empty.members":"No members yet. Add the first one once Phase 6 membership management lands.","catteryHome.empty.clowders":"No clowders in this Cattery yet. Formal Clowders appear here once Phase 6 lands.","catteryHome.empty.cats":"No cats reachable through this Cattery yet. The aggregate (direct members + via formal Clowders) populates once Phase 6 ships membership data.","catteryHome.settings.body":"Cattery settings (profile, transfer ownership, archive) ship with PLAN-091 phase 6 membership management.","catteryHome.notFound.title":"Cattery not found","catteryHome.notFound.body":'No Cattery with id "{catteryId}" exists in this workspace. It may have been removed, or the link is stale.',"code.activeComposer.detachedBranch":"Detached branch","code.newDraft.greeting":"Ready to code.","code.newDraft.greeting.openRepo":"Open the repo and start small.","code.newDraft.greeting.buildFixRefactor":"Build, fix, or refactor something real.","code.newDraft.greeting.shipImprovement":"Ship one clear improvement.","code.newDraft.greeting.smallestChange":"Start with the smallest useful change.","code.newDraft.composer.placeholder":"What should this code session build, fix, or investigate?","code.newDraft.setupTitle":"New Code Setup","code.newDraft.participants.title":"Participants","code.newDraft.participants.empty":"No participants available yet.","code.newDraft.execution.title":"Execution","code.newDraft.execution.action":"Choose execution target","code.newDraft.execution.empty":"No execution target set yet.","code.newDraft.folder.title":"Codespace","code.newDraft.folder.action":"Choose codespace","code.newDraft.folder.empty":"No codespace selected yet.","code.newDraft.sessionProfile.title":"Session Profile","code.newDraft.sessionProfile.description":"This code session starts with {workspace} and {permission}.","code.newDraft.workspace.independentWorktree":"Independent worktree","code.newDraft.workspace.currentFolder":"Current folder","code.newDraft.workspace.sandbox":"Sandbox","code.newDraft.permission.readOnly":"Read only","code.newDraft.permission.fullAccess":"Full access","code.newDraft.starter.pomodoro.label":"Build a pomodoro app","code.newDraft.starter.pomodoro.prompt":"Write a small pomodoro timer app.","code.newDraft.starter.fixBug.label":"Fix a bug","code.newDraft.starter.fixBug.prompt":"Find and fix a bug in this codebase.","code.newDraft.starter.refactor.label":"Refactor code","code.newDraft.starter.refactor.prompt":"Refactor this code without changing behavior.","code.newDraft.starter.writeTests.label":"Write tests","code.newDraft.starter.writeTests.prompt":"Add tests for the code we last touched.","code.newDraft.starter.startProject.label":"Start a project","code.newDraft.starter.startProject.prompt":"Start a small project to track milestones.","code.taskPills.ariaLabel":"Task reminders","code.taskPills.mock.authMiddleware":"Refactor auth middleware","code.taskPills.mock.kiroSessionDelete":"Fix Kiro session delete","code.taskPills.mock.artifactGallery":"Draft artifact gallery","code.taskPills.namePlaceholder":"Name this task","code.taskPills.editAria":"Edit task name","code.taskPills.title.current":"Current task: {taskLabel} — double-click to rename","code.taskPills.title.focus":"Focus on {taskLabel} (double-click to rename)","code.taskPills.hideAria":"Hide {taskLabel}","code.taskPills.fallbackTask":"task","code.taskPills.addAria":"Add task reminder","code.taskPills.buttonTask":"Task","code.workspace.source.artifactAnchor":"Artifact anchor","code.artifact.kind.build":"Build","code.artifact.kind.dataset":"Dataset","code.artifactDetail.artifactUnavailable":"Artifact detail unavailable","code.artifactDetail.backToBuild":"Back to Build","code.artifactDetail.artifactOutput":"Artifact output","code.artifactDetail.conversationLabel":"Conversation","code.artifactDetail.contextEyebrow":"Context","code.artifactDetail.contextTitle":"Linked Records","code.artifactDetail.loadFailed":"Artifact detail could not be loaded.","code.artifactDetail.loadingBody":"Fetching artifact metadata and related context.","code.artifactDetail.loadingTitle":"Loading artifact detail","code.artifactDetail.missingId":"Artifact id is required.","code.artifactDetail.noArtifactSummary":"No artifact summary recorded.","code.artifactDetail.noInlinePreview":"No inline preview is available for this artifact yet.","code.artifactDetail.notInlineSafe":"This artifact is available, but it is not inline-safe in the current Code surface.","code.artifactDetail.previewOutput":"Preview output","code.artifactDetail.previewActionOpenArtifact":"Open artifact","code.artifactDetail.previewActionOpenPreview":"Open preview","code.artifactDetail.projectLabel":"Project","code.artifactDetail.projectMeta":"Project: {projectTitle}","code.artifactDetail.relatedEmpty":"No related artifacts were recorded for this task or work item.","code.artifactDetail.relatedEyebrow":"Related","code.artifactDetail.relatedTitle":"Neighboring Artifacts","code.artifactDetail.openConversationAction":"Open conversation","code.artifactDetail.openProjectAction":"Open project","code.artifactDetail.openTaskAction":"Open task","code.artifactDetail.openWorkItemAction":"Open work item","code.artifactDetail.taskLabel":"Task","code.artifactDetail.title":"Artifact","code.artifactDetail.viewArtifact":"View artifact","code.artifactDetail.workItemLinkedLabel":"Work Item","code.artifactDetail.workItemMissingLabel":"No linked work item","code.artifactKind.attachment":"Attachment","code.artifactKind.document":"Document","code.artifactKind.preview":"Preview","code.artifactKind.report":"Report","code.artifactKind.transcript":"Transcript","code.artifactKind.unknown":"Unknown","code.artifactKind.build":"Build","code.artifactStatus.archived":"Archived","code.artifactStatus.draft":"Draft","code.artifactStatus.published":"Published","code.artifactStatus.ready":"Ready","code.artifactStatus.unknown":"Unknown","code.artifactList.artifact":"Artifact","code.artifactList.filter.all":"All","code.artifactList.ariaOpenArtifact":"Open artifact {title}","code.artifactList.empty":"No artifacts match this filter yet. Builds, previews, reports, attachments, and transcript exports will land here.","code.artifactList.header":"Artifacts","code.artifactList.loading":"Loading artifacts...","code.artifactList.error":"Artifacts could not be loaded: {error}","code.artifactList.loadFailed":"Artifact list request failed.","code.artifactList.candidateHint":"Candidate artifacts have not yet been promoted to a durable record.","code.artifactList.candidateLabel":"Candidate","code.artifactList.provenance.run":"run","code.artifactList.statusFilterLabel":"Status:","code.artifactList.provenance.task":"task","code.artifactMeta.contract":"Contract","code.artifactMeta.mode":"Mode: {mode}","code.artifactMeta.decision":"Decision: {decision}","code.artifactMeta.kind":"Kind: {kind}","code.artifactMeta.path":"Path: {path}","code.artifactMeta.status":"Status: {status}","code.artifactMeta.updated":"Updated: {updatedAt}","code.artifactMeta.viewArtifact":"View artifact","code.artifactPreview":"Artifact preview","code.artifact.unknown":"Unknown","code.conversationKind.chatChannel":"Chat channel","code.conversationKind.chatRoot":"Chat root","code.conversationKind.codeThread":"Code thread","code.conversationKind.directMessage":"Direct message","code.conversationKind.parallelGroup":"Parallel group","code.conversationKind.unknown":"Conversation","code.conversationKind.workThread":"Work thread","code.recordStatus.archived":"Archived","code.recordStatus.blocked":"Blocked","code.recordStatus.cancelled":"Cancelled","code.recordStatus.completed":"Completed","code.recordStatus.draft":"Draft","code.recordStatus.failed":"Failed","code.recordStatus.inProgress":"In progress","code.recordStatus.open":"Open","code.recordStatus.pending":"Pending","code.recordStatus.pendingApproval":"Pending approval","code.recordStatus.ready":"Ready","code.recordStatus.running":"Running","code.recordStatus.unknown":"Unknown","code.builder.codespaceHeader":"Codespace","code.builder.codeOutputLabel":"Output","code.builder.back":"Back","code.builder.continue":"Continue","code.builder.continueBuild":"Continue Build","code.builder.continueBuildBusy":"Continuing...","code.builder.continueTaskBusy":"Continuing...","code.builder.createArtifact":"Create Artifact","code.builder.createLabel":"Build","code.builder.creatingTask":"Creating...","code.builder.defineTaskHeader":"Define Task","code.builder.detailsPlaceholder":"Describe what done looks like...","code.builder.detailsLabel":"Details / acceptance criteria (optional)","code.builder.errorCodespaceResolve":"Could not resolve that codespace.","code.builder.errorCodespacePathInvalid":"Selected path does not exist or is not a directory: {path}","code.builder.errorCodespaceNoPath":"No valid codespace path found. Choose a folder or make sure the room workspace exists.","code.builder.errorTaskCreate":"Could not create the Code task.","code.builder.errorTaskCreateMissingId":"Task creation response did not include a task id.","code.builder.errorTaskExecution":"Could not start the Code task.","code.builder.errorTaskDetailLoad":"Could not load that Code task.","code.builder.errorTaskResume":"Could not resume that Code task.","code.builder.errorTaskResumeInput":"Enter a task ID to resume.","code.builder.errorTaskTitle":"Enter what you want to build.","code.builder.runtimeObservationFailed":"Could not refresh the runtime session.","code.builder.executionDoneBanner":"Task completed. Review the results above and use delivery actions to commit or push.","code.builder.existingTask":"Existing task","code.builder.feedbackResumeReady":"Task is ready to continue.","code.builder.feedbackResumeTask":"Resumed task {taskId}.","code.builder.feedbackResumeNoWorkspace":"Resumed task {taskId}; choose a codespace before continuing.","code.builder.feedbackResumeWorkspaceNeeded":"Choose a codespace before continuing this task.","code.builder.filter.codespace":"Codespace","code.builder.header.codespace":"Codespace","code.builder.header.newTask":"New task","code.builder.header.projectFolder":"Project folder","code.builder.header.taskStep":"Task","code.builder.modelLabel":"Model (optional)","code.builder.modelPlaceholder":"default","code.builder.newTaskButton":"New task","code.builder.providerLabel":"Provider","code.builder.providerTaskLabel":"Provider","code.builder.repoPathLabel":"Repository path","code.builder.resumeLabel":"Existing task ID (optional)","code.builder.resumePrompt":"Resume task","code.builder.retryPrompt":"Retry","code.builder.stepLabel":"Step {step}","code.builder.successTaskReadyWithCurrentChat":"{workspaceFallback} from {title}.","code.builder.taskIdRequired":"Enter a task ID.","code.builder.taskIdReady":"Task {taskId} is ready to continue.","code.builder.taskIdReadyNoWorkspace":"Task {taskId} is ready; choose a codespace before continuing.","code.builder.taskLabel":"Task","code.builder.taskSummaryPlaceholder":"e.g. Add user authentication","code.builder.title":"Code Builder","code.builder.workspaceActiveNotice":"This will be the active builder codespace for the next task step.","code.builder.workspaceFallbackBound":"Bound workspace","code.builder.workspaceFallbackBoundFallback":"Enter a project folder or resume an existing task.","code.builder.workspaceFallbackChatRepo":"Current chat repository","code.builder.workspaceFallbackRoom":"Current room folder","code.builder.workspaceFooterLabel":"Workspace","code.builder.workspacePathPlaceholder":"/path/to/project","code.builder.workspaceResumeHelp":"Resume is for a draft, blocked, or failed Code task you want to continue.","code.builder.sampleTaskId":"task-...","code.builder.workspaceSummaryLabel":"Codespace","code.builder.workspaceSummaryNotice":"Active builder codespace.","code.builder.startingTaskBusy":"Starting...","code.builder.taskQuestion":"What do you want to build?","code.livePreview.commandProfile":"Profile: {profile}","code.livePreview.description":"Inspect the supervised local preview attached to this Cats Code surface.","code.livePreview.diagnostic":"Diagnostic: {message}","code.livePreview.error.load":"Could not load live preview status.","code.livePreview.error.logs":"Could not load live preview logs.","code.livePreview.error.stop":"Could not stop the live preview.","code.livePreview.expiresAt":"Expires: {time}","code.livePreview.hideLogs":"Hide logs","code.livePreview.logs":"Logs","code.livePreview.logsEmpty":"No logs recorded for this preview.","code.livePreview.logsLoading":"Loading logs...","code.livePreview.open":"Open preview","code.livePreview.retry":"Retry","code.livePreview.retryUnavailable":"Retry becomes available after live-preview start is approved.","code.livePreview.status.expired":"Expired","code.livePreview.status.failed":"Failed","code.livePreview.status.ready":"Ready","code.livePreview.status.starting":"Starting","code.livePreview.status.stopped":"Stopped","code.livePreview.status.stopping":"Stopping","code.livePreview.stop":"Stop","code.livePreview.stopRequested":"Stop requested.","code.livePreview.stopping":"Stopping...","code.livePreview.title":"Live Preview","code.livePreview.workspace":"Workspace: {workspace}","code.execution.header":"Execution","code.execution.meta.noTask":"No task bound","code.execution.meta.runtimeSession":"Runtime session: {sessionId}","code.execution.meta.workingTreeClean":"Working tree clean","code.execution.meta.workingTreeDirty":"Working tree has changes","code.execution.noActiveSession":"No active session","code.execution.noTask":"No task bound yet","code.execution.notStarted":"not started","code.execution.ownerDecisionRequired":"Owner decision required","code.execution.panelTitle":"Task Run","code.execution.runtimeHeader":"Runtime","code.execution.runtimeIdle":"idle","code.execution.modeDelivery":"Delivery mode: {deliveryMode}","code.execution.targetLabel":"Target: {target}","code.execution.targets":"Targets: {targets}","code.execution.runtimeTitle":"Runtime","code.execution.sectionBlocked":"Blocked","code.execution.taskHeader":"Task","code.execution.taskStatus":"Status: {status}","code.execution.taskTitle":"Task","code.execution.notActiveYet":"Not active yet","code.execution.paused":"Paused","code.execution.provider":"Provider: {provider}","code.execution.model":"Model: {model}","code.execution.defaultModel":"default","code.execution.session":"Session: {sessionId}","code.execution.taskId":"ID: {taskId}","code.execution.status.blocked":"Blocked","code.execution.status.done":"Done","code.execution.status.pending":"Pending","code.execution.status.running":"Running","code.execution.status.unknown":"Unknown","code.execution.taskRuntimeHeader":"Runtime","code.execution.taskStrategy":"Strategy: {strategy}","code.execution.strategy.pdca":"PDCA","code.execution.strategy.react":"ReAct","code.execution.strategy.reflexion":"Reflexion","code.execution.deliveryMode.artifactOnly":"artifact only","code.execution.deliveryMode.commitOnly":"commit only","code.execution.deliveryMode.deployPreview":"deploy preview","code.execution.deliveryMode.prWithChecks":"pull request with checks","code.execution.deliveryMode.pushBranch":"push branch","code.execution.blockedReason.antiPingPong":"loop guard","code.execution.blockedReason.approvalPending":"approval pending","code.execution.blockedReason.maxDispatches":"max dispatches reached","code.execution.blockedReason.noValidTargets":"no valid targets","code.execution.blockedReason.startupRecovery":"startup recovery","code.execution.blockedReason.userCancelled":"user cancelled","code.execution.unknownDeliveryMode":"Unknown delivery mode","code.execution.unknownValue":"Unknown","code.execution.unknownValueUnknown":"unknown","code.execution.controlHeader":"Control","code.execution.controlMode":"Mode: {mode}","code.execution.controlDelivery":"Delivery: {deliveryMode}","code.execution.controlBlocked":"blocked","code.execution.controlApprovalPending":"Approval pending","code.execution.controlBlockedBy":"Continuation blocked by {reason}.","code.execution.controlTargets":"Targets: {targets}","code.execution.statusActiveLabel":"active","code.execution.statusIdleLabel":"idle","code.execution.statusBlockedLabel":"blocked","code.execution.statusRunningLabel":"running","code.execution.statusDoneLabel":"done","code.execution.statusPendingLabel":"pending","code.delivery.previewHeader":"Preview","code.delivery.blockerLabel":"Blocked","code.delivery.contractLabel":"Contract","code.delivery.error.repoStatusUnavailable":"Repo status is unavailable.","code.delivery.warningsLabel":"Warnings","code.delivery.warningsTitle":"Warnings","code.delivery.header":"Delivery","code.delivery.label":"Delivery","code.delivery.labelPreview":"{label} Preview","code.delivery.metaBranch":"Branch: {branch}","code.delivery.metaAhead":"Ahead: {count}","code.delivery.metaBehind":"Behind: {count}","code.delivery.metaStaged":"Staged: {count}","code.delivery.metaUnstaged":"Unstaged: {count}","code.delivery.metaUntracked":"Untracked: {count}","code.delivery.metaRemote":"Remote: {remote}","code.delivery.metaMode":"Mode: {mode}","code.delivery.metaDecision":"Decision: {decision}","code.delivery.noCodespace":"No codespace bound. Resolve a codespace to see repo actions.","code.delivery.noRepoStatus":"No repo status loaded.","code.delivery.noInlinePreview":"No inline preview is available.","code.delivery.noWorkspace":"No workspace selected.","code.delivery.panelSubtitle":"Commit, push, or export outputs from the active codespace.","code.delivery.panelTitle":"Repo Actions","code.delivery.previewHintUnsafe":"This preview is available, but it is safer to open outside the inline frame.","code.delivery.repoClean":"Clean","code.delivery.repoDirty":"Dirty","code.delivery.repoStatusHeader":"Repo Status","code.delivery.actions.commitHeader":"Commit","code.delivery.actions.pushHeader":"Push","code.delivery.actions.exportHeader":"Export","code.delivery.action.refresh":"Refresh","code.delivery.action.preview":"Preview","code.delivery.action.commit":"Commit","code.delivery.action.push":"Push...","code.delivery.action.pushPreview":"Preview Push","code.delivery.action.pushConfirm":"Confirm Push","code.delivery.action.pushCancel":"Cancel","code.delivery.action.export":"Export Artifacts","code.delivery.action.commitPlaceholder":"Commit message...","code.delivery.confirmation.push":"Push to remote? This is externally visible.","code.delivery.confirmation.pushHint":"This action publishes local commits to the configured remote.","code.delivery.error.commitFailed":"Commit action failed.","code.delivery.error.pushFailed":"Push action failed.","code.delivery.error.exportFailed":"Artifact export failed.","code.delivery.status.ready":"ready","code.delivery.status.blocked":"blocked","code.delivery.status.unknown":"unknown","code.delivery.decision.approve":"approve","code.delivery.decision.complete":"complete","code.delivery.decision.reject":"reject","code.delivery.decision.reroute":"reroute","code.delivery.decision.wait":"wait","code.delivery.unknownBlocker":"Unknown blocker","code.delivery.warningFallback":"Warning","code.plan.header":"Plan","code.plan.panelTitle":"Code Plan","code.plan.empty":"No plan steps have been created for this task yet.","code.plan.replan":"Re-plan","code.plan.status.blocked":"Blocked","code.plan.status.done":"Done","code.plan.status.pending":"Pending","code.plan.status.running":"Running","code.plan.title":"Plan","code.plan.replannedSuffix":" (re-planned {count}x)","code.plan.error.load":"Plan could not be loaded.","code.plan.error.update":"Plan could not be updated.","code.plan.error.stepUpdate":"Plan step could not be updated.","code.preview.artifactCountMany":"{count} artifacts","code.preview.artifactCountOne":"{count} artifact","code.preview.blocked":"Preview blocked","code.preview.details":"Details","code.preview.header":"Output","code.preview.iframeTitle":"Live preview","code.preview.noPreview":"No build or preview artifacts have been produced yet.","code.preview.notInlineSafe":"Latest preview is available, but this output is safer to open outside the inline frame.","code.preview.openArtifact":"Open artifact","code.preview.openLatestArtifact":"Open latest artifact","code.preview.openLatestPreview":"Open latest preview","code.preview.openPreview":"Open preview","code.preview.title":"Build & Preview","code.relay.action.createThread":"Create relay thread","code.relay.action.dispatching":"Dispatching...","code.relay.action.fanOut":"Fan out","code.relay.action.refresh":"Refresh","code.relay.action.fanOutSelected":"Fan out to selected agents","code.relay.authorKind.agent":"Agent","code.relay.authorKind.system":"System","code.relay.authorKind.unknown":"Unknown","code.relay.authorKind.user":"User","code.relay.availability.instanceUnavailable":'{providerLabel} instance "{instance}" is not available in cats-runtime.',"code.relay.availability.providerPathMissing":"Runtime does not report a configured {providerLabel} provider path.","code.relay.availability.providerPathReady":"Runtime provider path ready for {providerLabel}.","code.relay.availability.runtimeConfigUnavailable":"Runtime provider config unavailable.","code.relay.availability.runtimeReadyVia":"Runtime ready via {target}.","code.relay.error.agentRequired":"Select at least one agent.","code.relay.error.fanOutPromptRequired":"Fan out prompt is required.","code.relay.error.threadRequired":"Create or select a relay thread first.","code.relay.error.threadTitleRequired":"Thread title is required.","code.relay.error.missingPayload":"Relay request is missing required payload.","code.relay.error.noPayload":"Relay response did not include a payload.","code.relay.error.relayFailed":"Failed to run relay fan-out.","code.relay.error.rosterUpdateFailed":"Failed to update relay roster.","code.relay.error.threadLoadFailed":"Failed to load relay threads.","code.relay.error.threadRefreshFailed":"Failed to refresh relay threads.","code.relay.error.threadCreateFailed":"Failed to create relay thread.","code.relay.header.codeRelay":"Code Relay","code.relay.label.contract":"Contract","code.relay.label.contractLoading":"Loading connector contract...","code.relay.label.activeThread":"Active thread","code.relay.label.default":"default","code.relay.label.enabled":"Enabled","code.relay.label.ended":"Ended: {endedAt}","code.relay.label.model":"Model: {model}","code.relay.label.noObjective":"No objective recorded yet.","code.relay.label.noRounds":"No rounds yet","code.relay.label.noThreads":"No relay threads yet","code.relay.label.noneYet":"none yet","code.relay.label.objective":"Objective","code.relay.label.proven":"Proven: {providers}","code.relay.label.repoPath":"Repo: {repoPath}","code.relay.label.relayThreadTitle":"Relay thread title","code.relay.label.repoNoBound":"Not bound","code.relay.label.updated":"Updated: {updatedAt}","code.relay.label.mode":"Mode: {mode}","code.relay.label.open":"Open","code.relay.label.quotaNote":"Quota note","code.relay.label.roster":"Agent Roster","code.relay.label.roundObjective":"Round objective","code.relay.label.roundPrompt":"Fan out prompt","code.relay.label.roundTimeline":"Timeline","code.relay.label.rounds":"Rounds","code.relay.label.role":"Role: {role}","code.relay.label.started":"Started: {startedAt}","code.relay.label.statusWaiting":"waiting","code.relay.status.active":"Active","code.relay.status.available":"Available","code.relay.status.completed":"Completed","code.relay.status.failed":"Failed","code.relay.status.requested":"Requested","code.relay.status.running":"Running","code.relay.status.unavailable":"Unavailable","code.relay.status.unknown":"Unknown","code.relay.status.waitingForAgents":"Waiting for agents","code.relay.status.waitingForUser":"Waiting for user","code.relay.mode.build":"Build","code.relay.mode.discover":"Discover","code.relay.mode.document":"Document","code.relay.mode.fit":"Fit","code.relay.mode.humanVerify":"Human verify","code.relay.mode.repair":"Repair","code.relay.mode.review":"Review","code.relay.mode.shape":"Shape","code.relay.role.critic":"Critic","code.relay.role.drafter":"Drafter","code.relay.role.idle":"Idle","code.relay.role.mainCoder":"Main coder","code.relay.role.reviewer":"Reviewer","code.relay.role.summarizer":"Summarizer","code.relay.label.threadShell":"Thread Shell","code.relay.label.threadTitle":"Thread title","code.relay.phase.phase0":"Phase 0","code.relay.phase.phase1":"Phase 1","code.relay.phase.phase2":"Phase 2","code.relay.phase.fanOut":"Fan-Out","code.relay.phase.roster":"Roster","code.relay.phase.project":"Project","code.relay.projectThread":"Project Thread","code.relay.projectThreadSummary":"Project thread summary","code.relay.runtimeProviderSurface":"Runtime provider surface","code.relay.runtimeSurface":"Runtime surface","code.relay.threadProject":"Project thread","code.relay.threadShellTitle":"Thread Shell","code.relay.mode.parallelPrompt":"Parallel Prompt","code.relay.noObjective":"No objective recorded yet.","code.relay.notRecorded":"Not recorded","code.relay.openDiscoveryRound":"Open discovery round","code.relay.placeholder.objective":"What are we trying to decide or build?","code.relay.placeholder.optionalRepo":"Optional local repo binding","code.relay.placeholder.fanOutPrompt":"Ask the same requirement question to multiple coding agents.","code.relay.placeholder.quotaNote":"Optional advisory note","code.relay.currentChat":"Current chat: {title}","code.relay.create":"Creating...","code.relay.defaultThreadTitle":"New relay thread","code.relay.loading":"Loading relay codespace...","code.relay.projectThreadHeader":"Project Thread","code.relay.relayToOthers":"Relay to others (Phase 2)","code.relay.targetAgent":"Target agent","code.relay.threadLabel":"Thread","code.relay.title":"Code Relay","code.relay.titleConnectorContract":"Connector Contract","code.relay.titleProjectThread":"Project Thread","code.relay.titleTimeline":"Timeline","code.relay.transportUnknown":"Unknown transport","code.relay.transportUnknownWithValue":"Unknown transport ({transport})","code.relay.transportRuntimeSessionBridge":"Runtime session bridge","code.sidebar.codespace":"Codespace","code.sidebar.codeBuilderTitle":"Code Builder","code.sidebar.codespaces":"Codespaces","code.workspaceSource.codeTask":"Code task","code.workspaceSource.conversationRepo":"Conversation repo","code.workspaceSource.runtimeCwd":"Runtime cwd","code.relay.titleProjectThreadSection":"Project Thread","code.sidebar.teamCode":"Team Code","code.sidebar.peerCode":"Peer Code","code.sidebar.newCode":"New Code","code.sidebar.noCodesYet":"No codes yet","code.sidebar.noConversationsSummary":"No code conversations yet","code.relay.noRoundsHint":"Use the fan-out form above to open the first discovery round.","code.sidebar.artifacts":"Artifacts","code.sidebar.build":"Build","code.sidebar.relay":"Relay","code.workspace.sectionCodeOutput":"Code output","code.workspace.summary.binding":"Binding","code.workspace.summary.codespace":"Codespace","code.workspace.summary.kind":"Kind: {kind}","code.workspace.summary.ownership":"Ownership: {ownership}","code.workspace.summary.chatContext":"Chat context: {title}","code.workspace.summary.noChatContext":"No chat context","code.workspace.summary.noChat":"No chat","code.workspace.summary.binding.conversationRepo":"Builder loop is bound to the selected chat repo.","code.workspace.summary.binding.managedRoom":"Builder loop is bound to the selected room-managed codespace.","code.workspace.summary.binding.userSelected":"Builder loop is bound to the owner-selected local folder.","code.workspace.kind.conversationRepo":"Current chat repo","code.workspace.kind.managedRoom":"Managed room workspace","code.workspace.kind.userSelected":"Owner-selected folder","code.workspace.ownership.conversationBound":"Conversation-owned","code.workspace.ownership.roomOwned":"Room-owned","code.workspace.ownership.ownerSelected":"Owner-selected","code.workspace.source.task":"Code task","code.workspace.source.conversationRepo":"Conversation repo","code.workspace.source.runtimeCwd":"Runtime cwd","code.workspaces.listHeader":"Codespaces","code.workspaces.listNoCodespaces":"No codespaces yet. Start a code session that names a repo, folder, worktree, or managed room and it will land here.","code.workspaces.loading":"Loading codespaces...","code.workspaces.error":"Codespaces could not be loaded: {error}","code.workspaces.loadError":"Failed to load codespaces.","code.workspaces.sourceCodes":"Code task","code.workspaces.sourceRepo":"Conversation repo","code.workspaces.sourceRuntime":"Runtime cwd","code.workspaces.sourceArtifact":"Artifact anchor","code.workspaces.ariaOpen":"Open codespace {title}","code.workspaceStatus.active":"Active","code.workspaceStatus.archived":"Archived","code.workspaceStatus.draft":"Draft","code.workspaceStatus.ready":"Ready","code.workspaceStatus.unknown":"Unknown","code.workspaceDetail.error":"Failed to load codespace.","code.workspaceDetail.loading":"Loading codespace...","code.workspaceDetail.title":"Codespace","code.workspaceDetail.notFound":"Codespace not found. It may have been removed or the URL changed.","code.workspaceDetail.missingId":"Codespace id is required.","code.workspaceDetail.backToList":"Back to all codespaces →","code.workspaceDetail.overviewTitle":"Overview","code.workspaceDetail.artifactSection":"Artifacts","code.workspaceDetail.conversationsSection":"Conversations","code.workspaceDetail.tasksSection":"Tasks","code.workspaceDetail.noArtifacts":"No artifacts","code.workspaceDetail.noArtifactsDesc":"No artifacts linked yet. Builds, previews, or documents produced from this codespace will appear here.","code.workspaceDetail.noConversations":"No conversations are currently linked to this codespace.","code.workspaceDetail.noTasks":"No Code tasks are currently linked to this codespace.","code.workspaceDetail.overviewPath":"Path","code.workspaceDetail.overviewSource":"Source","code.workspaceDetail.overviewStatus":"Status","code.workspaceDetail.overviewLastActive":"Last active","code.workspaceDetail.overviewSummary":"Summary","code.workspaceDetail.noSummary":"No summary yet.","code.workspaceDetail.metric.conversations":"Conversations","code.workspaceDetail.metric.tasks":"Tasks","code.workspaceDetail.metric.artifacts":"Artifacts","code.workspaceDetail.metric.id":"ID","code.workspaceDetail.overviewNoArtifacts":"No artifacts yet","code.workspaceDetail.conversationsEmpty":"No linked conversations","code.workspaceDetail.tasksEmpty":"No linked tasks","code.workspaceDetail.taskLabel":"Task","code.workspaceDetail.artifactsHeader":"Artifacts in this codespace","code.workspace.source.unknown":"Unknown source","code.delivery.blocked":"Delivery blocked"},jp={"app.brandName":"CATS INC","app.loadingWithSurface":"載入 {surface}","app.loadingEllipsis":"載入中…","app.errorTitle":"無法啟動 Cats","app.errorEyebrow":"錯誤","app.loadErrorMessage":"載入失敗","app.loadStateFailedWithStatus":"載入應用程式狀態失敗({status})","app.title":"Cats","setupWizard.adminCredentialsHint":"這組登入資料會在設定完成後用來登入,和你的顯示個人檔案分開。","setupWizard.adminIdentifierLabel":"Admin 登入信箱","setupWizard.adminIdentifierPlaceholder":"you@example.com","setupWizard.adminPasswordLabel":"Admin 密碼","setupWizard.adminPasswordPlaceholder":"建立密碼","auth.login.title":"登入 Cats","auth.login.subtitle":"使用設定時建立的本機 Admin 登入資料。","auth.login.identifierLabel":"信箱","auth.login.identifierPlaceholder":"you@example.com","auth.login.passwordLabel":"密碼","auth.login.passwordPlaceholder":"輸入密碼","auth.login.submit":"登入","auth.login.submitting":"登入中…","auth.login.invalidCredentials":"信箱或密碼不正確。","auth.login.forbidden":"登入暫時被封鎖或不被允許。","auth.login.csrfMismatch":"安全權杖不一致,請重新整理後再試。","auth.login.failed":"登入失敗。","auth.login.failedWithStatus":"登入失敗({status})。","auth.login.googleOriginHint":"Google 登入只會在已授權的 Google JavaScript origin 上運作。如果目前的 LAN/IP origin 未授權,請使用本機 Admin 登入資料。","auth.login.googleUnavailable":"此 origin 無法使用 Google 登入。請使用本機 Admin 登入資料,或從已授權的 origin 開啟 Cats。","auth.repair.title":"修復 Cats 驗證","auth.repair.subtitle":"Cats 偵測到設定已完成,但無法讀取可用的驗證狀態檔。請重新建立第一個本機 Admin 帳號來解鎖此工作區。","auth.repair.displayNameLabel":"Owner 顯示名稱","auth.repair.displayNamePlaceholder":"Owner","auth.repair.identifierLabel":"Admin 登入 Email","auth.repair.identifierPlaceholder":"you@example.com","auth.repair.passwordLabel":"Admin 密碼","auth.repair.passwordPlaceholder":"建立替代密碼","auth.repair.recoveryTokenLabel":"修復權杖","auth.repair.recoveryTokenPlaceholder":"必填的一次性修復權杖","auth.repair.recoveryTokenHint":"所有修復都必須提供。請從啟動時列出的本機 auth-recovery-token 檔案讀取。","auth.repair.submit":"修復並登入","auth.repair.submitting":"修復中…","auth.repair.forbidden":"修復需要一次性修復權杖。","auth.repair.failed":"修復失敗。","auth.repair.failedWithStatus":"修復失敗({status})。","appHost.label":"應用程式","appHost.notInstalledTitle":"此應用程式未安裝","appHost.backToLobby":"返回大廳","appHost.subtitleRendererPending":"應用程式元件尚未準備好","appHost.subtitleDisabled":"應用程式已停用","appHost.sectionPackage":"套件","appHost.sectionStatus":"狀態","appHost.sectionPublisher":"提供者","shared.productRenderer.errorEyebrow":"渲染器錯誤","shared.productRenderer.chatUnavailableTitle":"聊天無法使用","shared.productRenderer.unknownError":"未知的渲染器錯誤。","shared.product.bootLoadingAria":"正在載入 Cats {productName}","platform.product.chat.name":"Cats Chat","platform.product.chat.subtitle":"與陪伴者和個人代理人對話","platform.product.chat.settingsLabel":"聊天","platform.product.code.name":"Cats Code","platform.product.code.subtitle":"程式碼庫、執行與程式工作區","platform.product.code.settingsLabel":"程式碼","platform.product.work.name":"Cats Work","platform.product.work.subtitle":"專案、核准與操作流程","platform.product.work.settingsLabel":"工作","lobby.accountSettingsAriaLabel":"帳號設定","lobby.openAccountSettings":"開啟帳號設定","lobby.runtimeStatusLabel":"執行階段狀態:{runtimeStatus}","lobby.productsSectionTitle":"產品","lobby.appsSectionTitle":"應用程式","lobby.continueText":"繼續","lobby.openEntry":"開啟 {entryTitle}","lobby.greeting.chooseSurface":"選擇一個產品開始。","lobby.greeting.homeReady":"主頁已準備好。","lobby.greeting.pickProduct":"聊天、工作或程式碼,由你決定。","lobby.greeting.everythingStaged":"一切已就緒,選擇入口開始。","lobby.greeting.openSurface":"開啟適合這項任務的產品。","lobby.greeting.awake":"Cats Inc 已就緒。","lobby.greeting.continue":"回到最適合推進工作的地方。","shared.runtimeStatus.tooltip.ready":"Cats 執行階段已連線","shared.runtimeStatus.tooltip.degraded":"Cats 執行階段正在啟動","shared.runtimeStatus.tooltip.unavailable":"Cats 執行階段離線","shared.runtimeStatus.tooltip.unknown":"正在檢查 Cats 執行階段狀態…","shared.runtimeStatus.chip.ready":"執行階段已連線","shared.runtimeStatus.chip.degraded":"執行階段降級","shared.runtimeStatus.chip.unavailable":"執行階段無法使用","settings.general.profileTitle":"個人檔案","settings.general.profileDescription":"這是跨聊天、程式碼、工作與大廳的平台統一個人檔案。","settings.general.avatarLabel":"頭像","settings.general.avatarChangeLabel":"更改頭像","settings.general.avatarUploadLabel":"上傳頭像","settings.general.avatarRemoveLabel":"移除頭像","settings.general.nameLabel":"名字","settings.general.accountTitle":"帳號","settings.general.accountDescription":"結束這台裝置目前的瀏覽器 session。","settings.general.signOutButton":"登出","settings.general.signingOutButton":"登出中…","settings.general.signOutFailed":"登出失敗。","settings.general.signOutFailedWithStatus":"登出失敗({status})。","settings.general.signOutCsrfError":"安全權杖不一致,請重新整理後再試。","settings.general.signOutForbiddenError":"目前不允許登出。","settings.general.signOutUnauthenticated":"你已經登出。","settings.general.languageTitle":"語言","settings.general.languageDescription":"選擇助理回覆語言,以及 Cats 介面的顯示語言。","settings.general.assistantLanguagePreferenceLabel":"助理回覆語言","settings.general.assistantLanguagePreferenceDescription":"設定助理回覆時預設使用的語言指令。單次對話中使用者明確要求的語言仍會優先。","settings.general.assistantLanguageSelectAriaLabel":"助理回覆語言","settings.general.assistantLanguageUnspecifiedOption":"不指定","settings.general.languagePreferenceLabel":"顯示語言","settings.general.languagePreferenceDescription":"自動偵測會跟隨瀏覽器或桌面語言。語言名稱會以該語言自身顯示。","settings.general.languageSelectAriaLabel":"顯示語言","settings.general.languageAutoOption":"自動偵測","settings.general.languageEnglishOption":"英文","settings.general.languageTraditionalChineseOption":"繁體中文","settings.general.lobbyMotionTitle":"大廳動畫","settings.general.lobbyMotionDescription":"選擇大廳背景的動態感。預設使用較為平緩版本。","settings.general.lobbyMotionOffLabel":"關閉","settings.general.lobbyMotionOffDescription":"背景保持靜止,移除彈跳的貓咪效果。","settings.general.lobbyMotionReducedLabel":"減弱","settings.general.lobbyMotionReducedDescription":"保持背景活躍,但速度較為平緩。","settings.general.lobbyMotionFullLabel":"完整","settings.general.lobbyMotionFullDescription":"讓貓咪背景以全速彈跳。","settings.general.guideCatAssistTitle":"導覽貓助理","settings.general.guideCatAssistDisabledDescription":"{guideCatName} 已停用。若想再使用 {guideCatName} 協助,請到「設定 > 助手」啟用。","settings.general.guideCatAssistEnabledDescription":"當你點擊左下導覽按鈕時,選擇 {guideCatName} 顯示方式。","settings.general.openAssistantsButton":"開啟助手","settings.general.guideCatAutoLabel":"自動","settings.general.guideCatAutoDescription":"第一次顯示對話泡泡,之後切換為完整側欄。","settings.general.guideCatSidePanelLabel":"側欄","settings.general.guideCatSidePanelDescription":"每次點擊導覽貓圖示時,直接顯示完整側欄。","settings.general.guideCatBubbleLabel":"對話泡泡","settings.general.guideCatBubbleDescription":"固定顯示精簡對話泡泡並提供快速操作按鈕。","settings.general.updateNameError":"無法更新名字","settings.general.updateAssistantLanguageError":"無法更新助理語言","settings.general.updateLanguageError":"無法更新語言","settings.general.updateLobbyAnimationError":"無法更新大廳動畫","settings.general.updateGuideCatModeError":"無法更新導覽貓模式","settings.general.removeAvatarError":"無法移除頭像","settings.general.saveAvatarError":"無法儲存頭像","settings.shell.heading":"設定","settings.shell.sectionGeneral":"一般","settings.shell.sectionCats":"貓咪","settings.shell.subsectionMyCats":"我的貓咪","settings.shell.subsectionAssistants":"助理","settings.shell.sectionApps":"應用程式","settings.shell.sectionDesktop":"桌面","settings.shell.sectionRuntime":"執行階段","settings.shell.sectionData":"資料","settings.shell.closeButtonLabel":"關閉設定","settings.chat.bossToolProfileTitle":"Boss Cat 工具檔案","settings.chat.bossToolProfileUpdateFailure":"無法更新 Boss Cat 工具檔案","settings.chat.advancedControlsFailure":"更新聊天室進階草稿控制失敗","settings.conversation.productLabelChat":"Cats Chat","settings.conversation.productLabelCode":"Cats Code","settings.conversation.productLabelWork":"Cats Work","settings.conversation.behaviorTitle":"對話行為","settings.conversation.behaviorDescription":"這些設定僅影響 {product}。","settings.conversation.showVerboseLabel":"顯示冗長訊息","settings.conversation.showVerboseDescription":"保留系統層級的會話與調度者訊息,始終在聊天室中顯示。","settings.conversation.showLiveProgressLabel":"顯示即時進度細節","settings.conversation.showLiveProgressDescription":"回應進行中時,顯示更細緻的進度更新。","settings.conversation.updateFailure":"更新對話行為失敗","settings.conversation.concurrentLayoutLabel":"並行回覆版面","settings.conversation.concurrentLayoutDescription":"選擇在 {product} 中多模型回覆的排列方式。","settings.conversation.layoutInlineStack":"串列排列","settings.conversation.layoutCompareCards":"並排比較卡片","settings.conversation.layoutFocusRail":"重點欄","settings.conversation.layoutAdaptive":"自適應","settings.advancedDraftControls.title":"草稿工具","settings.advancedDraftControls.description":"讓任何 {surface} 草稿都能加入協作者或與其他模型進行比較。","settings.advancedDraftControls.enableLabel":"啟用進階草稿控制","settings.advancedDraftControls.toggleDescription":"顯示每則草稿預設隱藏的 +collaborate 或 +compare 按鈕。","settings.runtime.statusChip.runtimeUnavailable":"執行階段無法使用","settings.runtime.statusChip.runtimeDegraded":"執行階段不穩定","settings.runtime.statusChip.runtimeReady":"執行階段已就緒","settings.runtime.statusChip.setupReadyToApply":"設定可套用","settings.runtime.statusChip.setupNeedsRemediation":"需修復","settings.runtime.statusChip.providerScanRequired":"需重新掃描供應器","settings.runtime.statusChip.setupUnavailable":"無法存取設定","settings.runtime.statusTitle":"執行階段狀態","settings.runtime.statusDescription":"檢查 cats-runtime 是否可連線,以及供應器設定是否完成。下方提供目前可用供應器的分類。","settings.runtime.metricReadyProviders":"已可用供應器","settings.runtime.metricProvidersScanned":"已掃描供應器","settings.runtime.metricNeedAttention":"需注意","settings.runtime.needAttentionTitle":"需注意","settings.runtime.needAttentionDescription":"掃描後標示出在可加入執行階段前需修復的供應器。","settings.runtime.providerHelpersTitle":"供應器輔助工具","settings.runtime.providerHelpersDescription":"執行本機 CLI 供應器的套件安裝、安裝、升級、修復或解除安裝。執行動作會透過桌面主機橋接;渲染端不會直接執行腳本。","settings.runtime.loadingHelpers":"載入輔助工具…","settings.runtime.noProviderHelpers":"目前主機版未內建供應器輔助工具。","settings.runtime.workingState":"執行中…","settings.runtime.actions.check":"檢查","settings.runtime.actions.install":"安裝","settings.runtime.actions.upgrade":"升級","settings.runtime.actions.repair":"修復","settings.runtime.actions.uninstall":"解除安裝","settings.runtime.uninstallButtonLabel":"解除安裝","settings.runtime.modelCatalogsTitle":"模型目錄","settings.runtime.modelCatalogsDescription":"立即要求 cats-runtime 重新整理每個供應器的模型清單,讓新版本模型可在大腦選單中即時使用,而不必等背景快取過期。","settings.runtime.refreshingState":"重新整理中","settings.runtime.refreshCatalogsButton":"重新整理模型目錄","settings.runtime.standaloneSetupTitle":"單機設定","settings.runtime.standaloneSetupDescription":"當需要供應器修復或進行更深入掃描時,請開啟獨立執行階段設定頁。","settings.runtime.openStandaloneSetup":"開啟 Cats 執行階段設定","settings.runtime.cancelActionLabel":"取消","settings.runtime.cancelActionFallbackLabel":"關閉","settings.runtime.refreshFailure":"重新整理失敗。","settings.runtime.refreshFailureWithStatus":"重新整理失敗({status})。","settings.runtime.refreshSummary":"已重新整理 {refreshed} 個目標{pluralSuffix}","settings.runtime.refreshSummaryWithFailures":"已重新整理 {refreshed} · {failed} 失敗","settings.runtime.uninstallTitle":"解除安裝 {label}","settings.runtime.uninstallDescriptionPrefix":"這將移除使用者擁有的檔案","settings.runtime.uninstallDescriptionSuffix":"驗證檔案、API 金鑰與外部設定不受影響。正在使用該供應器的工作階段將持續失敗,直到您切換到其他供應器。","settings.runtime.uninstallHelperLabel":"輔助工具:{helperId}","settings.runtime.uninstallScriptLabel":"腳本:{scriptPath}","settings.runtime.computingPlannedRemovals":"正在計算預期移除項目…","settings.runtime.previewUnavailable":"無法預覽;解除安裝仍會回報預期操作。","settings.runtime.nothingToRemove":"沒有可移除的項目 — 該輔助工具回報此供應器尚未安裝。","settings.runtime.systemInstallDetected":"注意:已偵測到系統層安裝於 {installPath},但此輔助工具無法移除。","settings.runtime.willRemoveItems":"將移除 {itemCount} 個項目{pluralSuffix}:","settings.runtime.systemInstallCannotRemove":"注意:位於 {installPath} 的系統安裝不能被此輔助工具移除。","settings.runtime.actionNoResult":"{helperLabel}:主機未回報 {actionLabel} 結果。","settings.runtime.actionSuccessComplete":"{helperLabel}:{actionLabel} 完成。","settings.runtime.actionSuccessNothingToRemove":"{helperLabel}:{actionLabel} 回報沒有可移除項目。","settings.runtime.actionPartialWithDetail":"{helperLabel}:{actionLabel} {status} - {detail}","settings.runtime.actionPartial":"{helperLabel}:{actionLabel} {status}。","settings.runtime.actionFailedWithDetail":"{helperLabel}:{actionLabel} 失敗 - {detail}。","settings.runtime.actionFailed":"{helperLabel}:{actionLabel} 失敗。","settings.runtime.hostBridgeUnavailableClient":"此用戶端無法使用桌面主機橋接。","settings.runtime.hostBridgeUnavailable":"無法使用桌面主機橋接。","settings.runtime.previewMissingResult":"主機未回傳預覽結果。","settings.runtime.previewFailed":"預覽失敗。","settings.runtime.fixStepCount":"{count} 個步驟{pluralSuffix}","settings.runtime.helperLabel.windowsCliReadiness":"Windows PowerShell + PATH 就緒檢查輔助工具","settings.runtime.helperLabel.windowsVcRedist":"Windows Microsoft Visual C++ 2015-2022 可轉散發套件 (x64)","settings.runtime.helperLabel.nodeHostInstaller":"{platform} Node.js LTS 主機安裝器","settings.runtime.helperLabel.githubCliHostInstaller":"{platform} GitHub CLI 主機安裝器","settings.runtime.helperLabel.npmPrefixHelper":"{platform} npm prefix 與 PATH 先決條件輔助工具","settings.runtime.helperLabel.setupReadinessAudit":"{platform} 設定就緒稽核","settings.runtime.helperLabel.packagedBackgroundProcessHelper":"{platform} 套裝設定背景程序輔助工具","settings.runtime.helperLabel.packagedProviderUninstallHelper":"{platform} 套裝供應器解除安裝輔助工具","settings.runtime.helperLabel.packagedNpmGlobalCliInstallerHelper":"{platform} 套裝 npm-global CLI 安裝器輔助工具","settings.runtime.helperLabel.nativeProviderInstaller":"{platform} 原生 {providerLabel} 安裝器","settings.runtime.helperLabel.providerInstaller":"{platform} {providerLabel} 安裝器","settings.runtime.helperLabel.localModelInstaller":"{platform} {providerLabel} 本機模型安裝器","settings.runtime.helperUnavailableReason":"{helperLabel} 目前未內建於這個主機版本。","settings.runtime.helperUnsupportedPlatformReason":"{helperLabel} 目前只支援 {platformSupport}。","settings.runtime.platformSupport.allDesktop":"Windows、macOS 或 Linux 主機","settings.runtime.platformSupport.windows":"Windows 主機","settings.runtime.platformSupport.windowsWsl":"支援 WSL 的 Windows 主機","settings.runtime.platformSupport.macos":"macOS 主機","settings.runtime.platformSupport.linux":"Linux 主機","settings.runtime.helperUnsupportedActionReason":"{helperLabel} 不支援{actionLabel}。","settings.runtime.lifecycleStatus.authRequired":"需要驗證","settings.runtime.lifecycleStatus.blocked":"已封鎖","settings.runtime.lifecycleStatus.changesRequired":"需要變更","settings.runtime.lifecycleStatus.failed":"失敗","settings.runtime.lifecycleStatus.notInstalled":"尚未安裝","settings.runtime.lifecycleStatus.preview":"預覽","settings.runtime.lifecycleStatus.ready":"就緒","settings.runtime.lifecycleStatus.restartRequired":"需要重新啟動","settings.runtime.lifecycleStatus.uninstalled":"已解除安裝","settings.runtime.lifecycleDetail.launchWslFirstBoot":"請先啟動目標 WSL distro 一次以完成首次使用者設定,然後重新執行套裝設定檢查。","settings.runtime.lifecycleDetail.startDockerWarmUp":"請啟動 Docker Desktop,等待引擎就緒後重新執行套裝設定檢查。","settings.runtime.lifecycleDetail.runMissingHostSubstrate":"請執行 {helperLabel},安裝就緒稽核標記缺少的主機基礎元件。","settings.runtime.lifecycleDetail.restartThenRerunMode":"請重新啟動主機或 Windows 工作階段,然後以{mode}模式重新執行 {helperLabel}。","settings.runtime.lifecycleDetail.restartThenRerun":"請重新啟動 Windows 或目前工作階段,然後重新執行 {helperLabel}。","settings.runtime.lifecycleDetail.relaunchThenVerify":"請重新啟動 Cats 桌面主機,然後重新執行 {helperLabel} 以驗證更新後的套裝設定狀態。","settings.runtime.lifecycleDetail.elevationRequired":"{helperLabel} 需要提升權限的主機步驟後才能繼續。","settings.runtime.lifecycleDetail.authThenRerunMode":"完成必要登入流程後,請以{mode}模式重新執行 {helperLabel}。","settings.runtime.lifecycleDetail.retryAfterFailure":"處理上一次失敗後,請重試 {helperLabel}。","settings.runtime.lifecycleDetail.runMissingRequirement":"請執行 {helperLabel},安裝缺少的套裝設定需求。","settings.runtime.lifecycleDetail.finishManualFollowThrough":"完成 {helperLabel} 的手動後續步驟,然後重新執行驗證步驟。","settings.runtime.lifecycleDetail.runApplyRemainingChanges":"請再次執行 {helperLabel},套用剩餘的套裝設定變更。","settings.runtime.lifecycleDetail.rerunCheckToVerify":"如需再次驗證套裝設定狀態,請以檢查模式重新執行 {helperLabel}。","settings.runtime.lifecycleDetail.finishedWithStatus":"{helperLabel} 的{mode}已完成,狀態為{status}。","settings.runtime.lifecycleMode.apply":"套用","settings.runtime.lifecycleMode.check":"檢查","settings.runtime.lifecycleMode.force":"強制執行","settings.runtime.lifecycleMode.uninstall":"解除安裝","settings.runtime.lifecycleMode.upgrade":"升級","settings.route.title.assistants":"助理","settings.route.title.myCats":"我的貓咪","settings.route.title.chat":"Chat","settings.route.title.work":"Work","settings.route.title.code":"Code","settings.route.title.apps":"應用程式","settings.route.title.desktop":"桌面","settings.route.title.runtime":"執行階段","settings.route.title.data":"資料","settings.route.title.general":"一般","settings.route.title.notFound":"找不到這個設定頁","settings.route.notFound.description":"目前 Cats 版本沒有註冊這個設定頁。","settings.route.notFound.openGeneral":"開啟一般設定","settings.canvas.loadingLabel":"載入設定中…","settings.canvas.loadErrorTitle":"無法載入設定","settings.canvas.loadErrorBody":"平台服務沒有回應。請確認 runtime 已啟動再重試。","settings.apps.sectionTitle":"應用程式","settings.apps.sectionDescription":"已安裝的 Cats 應用程式、連接器套件與系統模組。","settings.apps.installedPackagesLabel":"已安裝套件","settings.apps.installedPackagesDescription":"{count} 個連接器套件","settings.apps.noInstalledAppsLabel":"已安裝應用程式","settings.apps.noInstalledAppsDescription":"尚未註冊任何應用程式。","settings.apps.emptyStateChipLabel":"空","settings.apps.localInstallTitle":"本機安裝","settings.apps.localInstallDescription":"先預覽本機 Cats 應用程式套件,確認後再加入 Cats。","settings.apps.packagePathLabel":"套件路徑","settings.apps.packagePathPlaceholder":"/path/to/cats-app-package","settings.apps.reviewButton":"預覽","settings.apps.readyStatusChip":"就緒","settings.apps.needsReviewStatusChip":"待審核","settings.apps.noLobbyRoute":"沒有大廳路由","settings.apps.installButton":"安裝","settings.apps.enableAction":"啟用","settings.apps.disableAction":"停用","settings.apps.uninstallAction":"解除安裝","settings.apps.openAction":"開啟","settings.apps.settingsAction":"設定","settings.apps.uninstallTitle":"解除安裝應用程式","settings.apps.enableTitle":"啟用應用程式","settings.apps.disableTitle":"停用應用程式","settings.apps.uninstallMessage":"解除安裝「{appDisplayName}」?應用程式會從 Cats 中移除,但不會刪除套件檔。","settings.apps.enableMessage":"啟用「{appDisplayName}」?只要其權限允許,就會在 Cats 顯示。","settings.apps.disableMessage":"停用「{appDisplayName}」?其在大廳與應用程式專屬路由將不再顯示。","settings.apps.installTitle":"安裝應用程式","settings.apps.installMessage":"安裝「{appDisplayName}」?安裝後將自動啟用。","settings.apps.localInstallReady":"可安裝","settings.apps.localInstallNeedsReview":"待預覽","settings.apps.category.connector":"連接器","settings.apps.category.productModule":"產品模組","settings.apps.category.userApp":"使用者應用程式","settings.apps.installState.enabled":"已啟用","settings.apps.installState.installed":"已安裝","settings.apps.installState.disabled":"已停用","settings.apps.installState.error":"錯誤","settings.apps.installState.upgradePending":"待升級","settings.apps.installState.uninstalled":"已解除安裝","settings.apps.trustTier.localUser":"本機使用者","settings.apps.trustTier.system":"系統","settings.apps.trustTier.thirdParty":"第三方","settings.apps.permissionCount":"{count} 權限","settings.apps.toolCount":"{count} 工具","settings.apps.capabilitySingular":"能力","settings.apps.capabilityPlural":"能力","settings.apps.connectorCountSingle":"{connector}: {count} 個{capabilityLabel}","settings.apps.connectorCountMany":"{connectorCount} 個連接器,{count} 個{capabilityLabel}","settings.apps.authLabel":"認證","settings.apps.confirmMutationFailed":"確認對話無法顯示,請稍後再試。","settings.apps.confirmMutationFailedFallback":"請求執行前確認失敗。","settings.apps.mutationFailed":"{action} 失敗。","settings.apps.mutationFailedFallback":"操作失敗。","settings.apps.packagePathRequired":"請填寫套件路徑。","settings.apps.validationFailed":"套件驗證失敗。","settings.apps.error.notInstalled":"Cats app「{appId}」尚未安裝。","settings.apps.error.notEnabled":"Cats app「{appId}」尚未啟用。","settings.apps.error.packagePathNotFound":"找不到套件路徑:{path}。","settings.apps.error.invalidManifestJson":"cats.app.json 不是有效的 JSON。","settings.apps.error.cannotReadManifest":"無法讀取 cats.app.json。","settings.apps.error.reservedAppId":"Cats app id「{appId}」已被保留。","settings.apps.error.duplicateAppId":"Cats app id「{appId}」已安裝。","settings.apps.error.manifestInvalid":"Cats app manifest 必須是物件。","settings.apps.error.validationIssueWithPath":"套件驗證失敗({path}):{code}。","settings.apps.error.validationIssue":"套件驗證失敗:{code}。","settings.apps.openPairingUrl":"開啟配對網址","settings.data.resetAllDataTitle":"重設所有資料","settings.data.resetAllDataDescription":"這將清除聊天、貓咪、平台偏好與設定狀態,並返回初始設定精靈。","settings.data.resetButtonResetting":"重設中…","settings.data.resetButtonLabel":"重設所有資料","settings.data.resetFailure":"重設安裝失敗。","settings.conversation.preferenceUpdateFailure":"更新偏好失敗。","settings.desktop.mobilePairingTitle":"手機配對","settings.desktop.mobilePairingDescription":"為內建 Expo Go 手機版本檢查 LAN 準備狀態。","settings.desktop.mobilePairingStatusDisabled":"停用","settings.desktop.mobilePairingStatusLoopbackOnly":"僅回送位址","settings.desktop.mobilePairingStatusNoLanAddress":"缺少 LAN 位址","settings.desktop.mobilePairingStatusReady":"就緒","settings.desktop.mobilePairingStatusValidationPending":"等待資訊清單驗證","settings.desktop.mobilePairingEnableLabel":"啟用手機配對","settings.desktop.mobilePairingEnableDescription":"將寫入桌面端需要的環境變數值以開啟 LAN 存取。套用後請重新啟動 Cats 桌面版。","settings.desktop.mobilePairingEnableButton":"啟用","settings.desktop.mobilePairingApplyingButton":"套用中…","settings.desktop.mobilePairingBindLabel":"繫結位址","settings.desktop.mobilePairingReachabilityLabel":"可連線性","settings.desktop.mobilePairingLanAddressLabel":"LAN 位址","settings.desktop.mobilePairingNoneLabel":"無","settings.desktop.mobilePairingReachabilityLoopback":"僅回送位址","settings.desktop.mobilePairingReachabilityLan":"LAN 介面","settings.desktop.mobilePairingReachabilityAllInterfaces":"全部介面","settings.desktop.mobilePairingReachabilityOtherInterface":"介面不一致","settings.desktop.mobilePairingAllowLanLabel":"允許 LAN 存取","settings.desktop.mobilePairingAllowLanDescription":"目前綁定到回送位址。請先用 {bindOverrideEnv} 重新啟動後,再用手機掃描。","settings.desktop.mobilePairingApplyAndRestartButton":"套用並重新啟動","settings.desktop.mobilePairingNoLanAddressNote":"未偵測到可用的非回送 IPv4 LAN 位址。","settings.desktop.mobilePairingHostMismatchNote":"目前綁定位址與可用 LAN IPv4 位址不符合。","settings.desktop.mobilePairingDiagnosticLabel":"診斷資訊","settings.desktop.mobilePairingDiagnosticCopyButton":"複製網址","settings.desktop.mobilePairingDiagnosticCopiedMessage":"已複製診斷資訊清單網址。","settings.desktop.mobilePairingExpoUrlLabel":"Expo Go URL","settings.desktop.mobilePairingExpoUrlCopiedMessage":"已複製 Expo Go 網址。","settings.desktop.mobilePairingCopyUrlButton":"複製網址","settings.desktop.mobilePairingQrUrlTooLong":"網址過長","settings.desktop.mobilePairingQrCodeLabel":"手機配對 QR 碼","settings.desktop.mobilePairingNoPairingUrlStatus":"QR 尚未準備","settings.desktop.mobilePairingOpenPairingUrlLabel":"開啟配對網址","settings.desktop.mobilePairingCopyEnvValuesSuccess":"已複製手機配對環境變數值。","settings.desktop.mobilePairingConfirmRestart":"套用 0.0.0.0 綁定並重新啟動 Cats 桌面版?未儲存的變更將遺失。","settings.desktop.mobilePairingDesktopUpdateSuccess":"已更新 {envPath},正在重新啟動 Cats 桌面版…","settings.desktop.mobilePairingDesktopUpdateFailure":"更新桌面環境設定失敗。","settings.desktop.startupTitle":"啟動行為","settings.desktop.startupDescription":"控制是否在登入時啟動 Cats 桌面版、是否自動打開主視窗,以及關閉視窗時是否保留在系統列。","settings.desktop.startupSignInLabel":"登入電腦時啟動 Cats 桌面版","settings.desktop.startupSignInDescription":"登入後讓 Cats 桌面版在背景準備就緒。","settings.desktop.startupTrayLabel":"關閉視窗時保留在系統匣","settings.desktop.startupTrayDescription":"啟用時,關閉視窗只會隱藏應用程式並持續運行;停用則直接退出。","settings.desktop.startupOpenWindowLabel":"登入後自動開啟主視窗","settings.desktop.startupOpenWindowDescription":"停用時,Cats 可在登入後背景啟動,但不會自動開啟主視窗;之後手動開啟仍可進入。","work.newChatDraft.startProjectChipLabel":"開始專案","work.newChatDraft.startProjectPrompt":"建立一個新的專案工作區,並列出里程碑。","work.newChatDraft.addTaskChipLabel":"新增任務","work.newChatDraft.addTaskPrompt":"新增一個任務,包含負責人、期限和優先順序。","work.newChatDraft.planSprintChipLabel":"規劃衝刺","work.newChatDraft.planSprintPrompt":"規劃下一個衝刺,包含目標和交付節奏。","work.newChatDraft.scheduleReviewChipLabel":"安排檢視","work.newChatDraft.scheduleReviewPrompt":"安排一次專案檢視,並邀請合適的貓咪參與。","work.newChatDraft.triageBacklogChipLabel":"整理待辦","work.newChatDraft.triageBacklogPrompt":"和我一起檢視待辦清單,整理下一步要交付的項目。","work.items.listTitle":"工作項目","work.items.newAction":"新增工作項目","work.items.importExternalIssueAction":"匯入 issue","work.items.importExternalIssueAriaLabel":"匯入外部 issue","work.items.createNewWorkItem":"新增工作項目","work.items.createNewWorkItemAriaLabel":"建立新的工作項目","work.items.loading":"載入工作項目中…","work.items.loadError":"載入工作項目失敗:{errorMessage}","work.items.emptyIntro":"還沒有工作項目,點擊","work.items.emptyActionLabel":"新增工作項目","work.items.emptySuffix":"來建立第一筆。","work.items.projectPrefix":"於 {projectTitle}","work.items.projectOrphan":"無關聯專案","work.items.pill.decision":"待決","work.items.pill.blocked":"阻塞","work.items.tasksLabel":"任務","work.items.openWorkItemAriaLabel":"開啟工作項目 {title}","work.items.parentWorkItemTooltip":"上層工作項目:{parentTitle}","work.item.backLabel":"工作項目","work.item.backArrowLabel":"← 工作項目","work.item.updatedAtPrefix":"更新於 {updatedAt}","work.item.deleteLabel":"刪除工作項目","work.item.deleteLabelBusy":"刪除中…","work.item.deleteConfirmation":`要刪除工作項目「{title}」嗎?
|
|
22
|
+
|
|
23
|
+
此動作無法復原,且關聯的任務、執行與任務群不會同步刪除。`,"work.item.deleteConfirmationDetail":"此變更將從目前投影移除所選的工作項目,且無法復原。","work.item.deleteError":"無法刪除工作項目。","work.item.overviewTitle":"概覽","work.item.summaryLabel":"摘要","work.item.projectLabel":"專案","work.item.parentLabel":"上層工作項目","work.item.ownerLabel":"擁有者","work.item.conversationLabel":"對話","work.item.orphanSummaryFallback":"(無關聯專案)","work.item.noTasksLabel":"目前還沒有任務。","work.item.tasksTitle":"任務","work.item.missionsTitle":"任務群","work.item.subWorkItemsTitle":"子工作項目","work.item.noSubWorkItems":"尚未有子工作項目。","work.item.noMissions":"此工作項目尚無任務群。","work.item.subWorkItemsCountLabel":"子工作項目","work.item.noActivity":"此工作項目還沒有活動紀錄。","work.item.activityTitle":"活動","work.item.loadingLabel":"載入工作項目…","work.item.notFoundTitle":"找不到","work.item.notFoundText":"工作項目「{workItemId}」不在目前的投影範圍內。","work.item.notInProjectionText":"不在目前的投影範圍內。","work.item.missedTitle":"不在投影中","work.item.noTasksYetLabel":"尚無任務","work.item.notFoundCodeLabel":"缺少 id","work.external.empty":"尚未連結外部追蹤項目。","work.external.linkIssueAction":"連結 issue","work.external.linkTrackerAction":"連結追蹤","work.external.dialogTitle":"連結外部追蹤","work.external.closeLabel":"關閉外部追蹤連結對話框","work.external.providerLabel":"提供者","work.external.provider.github":"GitHub","work.external.provider.gitlab":"GitLab","work.external.provider.gitea":"Gitea","work.external.provider.redmine":"Redmine","work.external.provider.bugzilla":"Bugzilla","work.external.typeLabel":"類型","work.external.type.issue":"Issue","work.external.type.ticket":"Ticket","work.external.type.project":"Project","work.external.idLabel":"外部 ID","work.external.idPlaceholder":"123 或 BUG-42","work.external.urlLabel":"網址","work.external.urlPlaceholder":"https://github.com/org/repo/issues/123","work.external.syncDirectionLabel":"同步意圖","work.external.sync.pull":"僅拉取","work.external.sync.push":"稍後推送","work.external.sync.bidirectional":"稍後雙向","work.external.cancelButton":"取消","work.external.submitLabel":"連結追蹤項目","work.external.submitBusyLabel":"連結中…","work.external.linkError":"無法連結外部追蹤。","work.external.unlinkAction":"解除連結","work.external.unlinkAriaLabel":"解除連結 {label}","work.external.unlinkConfirmation":"要從 Cats Work 解除連結 {label} 嗎?","work.external.unlinkError":"無法解除外部追蹤連結。","work.external.import.dialogTitle":"匯入外部 issue","work.external.import.providerLabel":"提供者","work.external.import.urlLabel":"Issue 網址","work.external.import.urlPlaceholder":"https://github.com/org/repo/issues/123","work.external.import.cancelButton":"取消","work.external.import.submitLabel":"匯入 issue","work.external.import.submitBusyLabel":"匯入中…","work.external.import.error":"無法匯入外部 issue。","work.external.import.externalIssueLabel":"外部 issue","work.external.import.provider.github":"GitHub","work.external.import.provider.redmine":"Redmine","work.external.import.provider.bugzilla":"Bugzilla","work.external.import.type.issue":"議題","work.external.import.type.ticket":"工單","work.external.import.result.imported":"已將 {providerLabel} {typeLabel} {externalId} 匯入為 Work Item {workItemId}。","work.external.import.result.linked":"已將 {providerLabel} {typeLabel} {externalId} 連結到 Work Item {workItemId}。","work.external.import.result.alreadyImported":"{providerLabel} {typeLabel} {externalId} 已匯入為 Work Item {workItemId}。","work.external.import.failure.body":"無法匯入 {providerLabel} {typeLabel} {externalId}:{reason}。","work.external.import.failure.bodyUnknown":"無法匯入 {externalLabel}:{reason}。","work.external.import.failure.reason.invalidTarget":"模型要求了無效的 Work tool 目標","work.external.import.failure.reason.storeUnavailable":"Work 儲存目前無法使用","work.external.import.failure.reason.unsupportedOwnerMessage":"你的訊息沒有包含支援匯入的 issue 網址","work.external.import.failure.reason.schemaInvalid":"模型提供的 tool input 不符合 Work 匯入格式","work.external.import.failure.reason.issueMismatch":"模型要求的 issue 和你的訊息不一致","work.external.import.failure.reason.providerMismatch":"模型要求的提供者和你的訊息不一致","work.external.import.failure.reason.pendingApproval":"匯入仍在等待核准","work.external.import.failure.reason.unsupportedSource":"不支援這個 issue tracker 網址","work.external.import.failure.reason.fetchFailed":"無法讀取 issue tracker","work.external.import.failure.reason.pullRequestUnsupported":"這個匯入路徑不支援 GitHub pull request","work.external.import.failure.reason.unexpected":"匯入發生未預期錯誤","work.sidebar.newWorkLabel":"新增工作","work.sidebar.teamWorkLabel":"團隊工作","work.sidebar.parallelWorkLabel":"平行工作","work.sidebar.portfolioLabel":"作品集","work.sidebar.projectsLabel":"專案","work.sidebar.managedWorkLabel":"管理中","work.sidebar.workItemsLabel":"工作項目","work.sidebar.tasksLabel":"任務","work.sidebar.runsLabel":"執行","work.sidebar.missionsLabel":"任務","work.sidebar.schedulesLabel":"排程","work.sidebar.executionLabel":"執行","work.sidebar.systemMapLabel":"系統地圖","work.sidebar.cockpitLabel":"指揮台","work.sidebar.brokenLinksLabel":"斷裂連結","work.sidebar.warRoomLabel":"作戰室","work.sidebar.workTopDownSurfacesLabel":"自上而下工作面板","work.sidebar.unpinProjectLabel":"取消釘選","work.sidebar.deleteProjectLabel":"刪除","work.sidebar.noWorkYetLabel":"尚未有工作","work.query.httpError":"請求失敗,狀態碼 {status}。","work.query.httpErrorWithStatusText":"請求失敗,狀態碼 {status} {statusText}。","work.graph.loadErrorFallback":"載入工作圖譜失敗。","work.missions.listTitle":"任務群","work.missions.lede":"任務群不同於一般任務。當任務已排程時會綁定到工作項目,否則則由代理人於內部啟動。","work.missions.loading":"載入任務中…","work.missions.loadError":"載入任務失敗:{errorMessage}","work.missions.emptyLabel":"尚未有任務。","work.missions.openMissionAriaLabel":"開啟任務 {title}","work.mission.backLabel":"任務群","work.mission.backArrowLabel":"返回任務群","work.mission.cancelConfirmation":`要取消任務「{missionTitle}」嗎?
|
|
24
|
+
|
|
25
|
+
系統將透過監督式執行環境停止對應的執行程序,已連結的任務/工作項目不會被改變。`,"work.mission.cancelBlocked":"任務取消遭阻擋。{detail}","work.mission.cancelBlockedNoDetails":"請參考各執行單位回報。","work.mission.cancelError":"取消任務失敗。","work.mission.cancelRouteFailed":"取消任務失敗。HTTP {statusCode}。","work.mission.cancelLabel":"取消","work.mission.cancelLabelBusy":"取消中…","work.cancellation.blocker.runNotStoppable":"此執行無法停止。","work.cancellation.blocker.noRuntimeSession":"此執行沒有橋接監督式執行階段工作階段。","work.cancellation.blocker.runtimeClientUnavailable":"執行階段用戶端無法使用。","work.cancellation.blocker.runtimeCancellationFailed":"取消執行階段失敗:{error}","work.mission.summaryTitle":"任務群概覽","work.mission.statusLabel":"狀態","work.mission.assignedAgentLabel":"指派代理人","work.mission.updatedAtLabel":"更新於","work.mission.workItemLabel":"工作項目","work.mission.conversationLabel":"對話","work.mission.tasksHeading":"此工作項目下任務({count})","work.mission.noLinkedWorkItemForTasks":"該任務群為臨時型,沒有指定對應工作項目,無法對應任務清單。","work.mission.noLinkedWorkItemForRuns":"該任務群為臨時型,沒有對應工作項目,因此沒有關聯執行可派發。","work.mission.noTasks":"對應的工作項目目前還沒有任務。","work.mission.runsHeading":"關聯任務派發的執行({count})","work.mission.noTransitiveRuns":"目前尚未從這些任務派發執行。","work.mission.loadingLabel":"載入任務中…","work.mission.notFound":"找不到任務「{missionId}」。","work.mission.noMissionId":"沒有提供任務 id。","work.projects.listTitle":"專案","work.projects.newAction":"新增專案","work.projects.createNewProjectAriaLabel":"建立新專案","work.projects.loading":"載入專案中…","work.projects.loadError":"載入專案失敗:{errorMessage}","work.projects.emptyIntro":"目前尚無專案,點擊","work.projects.emptySuffix":"開始建立。","work.projects.openProjectAriaLabel":"開啟專案 {projectTitle}","work.projects.decisionPill":"{count} 個待決","work.projects.blockedPill":"{count} 個阻塞","work.projects.workItemsAbbrev":"工作項目","work.projects.tasksLabel":"任務","work.project.backLabel":"專案","work.project.backArrowLabel":"返回專案","work.project.updatedAtPrefix":"更新於 {updatedAt}","work.project.deleteLabel":"刪除","work.project.deleteLabelBusy":"刪除中…","work.project.deleteConfirmation":`要刪除專案「{projectTitle}」嗎?
|
|
26
|
+
|
|
27
|
+
此動作無法復原。已連結的工作項目、任務與執行不會被移除。`,"work.project.deleteError":"刪除專案失敗。","work.project.overviewTitle":"概覽","work.project.summaryLabel":"摘要","work.project.ownerLabel":"擁有者","work.project.conversationLabel":"對話","work.project.workItemsTitle":"工作項目","work.project.noWorkItems":"此專案尚無工作項目。","work.project.tasksTitle":"任務","work.project.noTasks":"此專案尚無任務。","work.project.activityTitle":"活動","work.project.noActivity":"此專案尚無活動紀錄。","work.project.loadingLabel":"載入專案中…","work.project.notFoundTitle":"找不到","work.project.missingIdLabel":"(缺少 id)","work.project.notFoundPrefix":"專案","work.project.notFoundSuffix":"不在目前投影中。","work.runs.listTitle":"執行","work.runs.lede":"所有核心執行的平面清單。點入執行可檢視追蹤與子執行。執行由協調器派發建立,不在此頁建立。","work.runs.loading":"載入執行中…","work.runs.loadError":"載入執行失敗:{errorMessage}","work.runs.noRunsIntro":"目前尚無執行。協調器派發任務或子執行時會建立執行紀錄。","work.run.openAriaLabel":"開啟執行 {runTitle}","work.run.openSubRunAriaLabel":"開啟子執行 {runTitle}","work.run.subRunChip":"子執行","work.run.stopErrorWithError":"執行階段取消失敗:{error}","work.run.stopErrorFallback":"執行階段取消失敗,執行未標記為已取消。","work.run.stopNotStoppable":"此執行無法停止:沒有橋接監督式執行階段工作階段。","work.run.stopNotStoppableGeneric":"此執行無法停止。","work.run.stopConfirmation":`要停止執行「{runTitle}」嗎?
|
|
28
|
+
|
|
29
|
+
Cats 會先透過監督式執行階段工作階段要求執行階段取消,再將執行標記為已取消。已送出的外部副作用不會回復。`,"work.run.stopError":"停止執行失敗。","work.run.stopRouteFailed":"停止執行失敗。HTTP {statusCode}。","work.run.backArrowLabel":"返回任務","work.run.backLabel":"任務","work.run.stopLabel":"停止","work.run.stopLabelBusy":"停止中…","work.run.summary.blockedBeforeRuntimeLaunch":"執行階段啟動完成前已阻擋。","work.run.summary.blockedBeforeScheduledRuntimeLaunch":"排程執行階段啟動完成前已阻擋。","work.run.summary.launchingScheduledMission":"正在透過監督式執行階段邊界啟動排程任務。","work.run.summary.providerAgentRuntimeMessageCompleted":"供應器代理人執行階段訊息已完成。","work.run.summary.queuedSupervisedWorkRun":"已排入監督式工作執行。","work.run.summary.relayFanOutDispatch":"已為 {agentLabel} 建立分派執行。","work.run.summary.startedSupervisedCodeTaskExecution":"已啟動監督式程式任務執行。","work.run.summaryTitle":"執行摘要","work.run.statusLabel":"狀態","work.run.updatedLabel":"更新於","work.run.durationLabel":"耗時","work.run.parentRunLabel":"上層執行","work.run.conversationLabel":"對話","work.run.subRunsTitle":"子執行 {count}","work.run.noSubRuns":"沒有子執行。","work.run.traceTitle":"追蹤 {count}","work.run.traceLoading":"載入追蹤中…","work.run.traceLoadFallback":"載入執行追蹤失敗。","work.run.traceLoadError":"載入追蹤失敗:{errorMessage}","work.run.traceEmptyQueued":"執行正在排隊;協調器派發後會出現追蹤紀錄。","work.run.traceEmptyRunning":"執行正在進行,但尚未送出追蹤紀錄。","work.run.traceEmptyBlocked":"執行已阻塞,停滯前未送出追蹤。","work.run.traceEmptyCompleted":"執行已完成,但沒有追蹤紀錄。","work.run.traceEmptyFailed":"執行在送出追蹤前失敗。","work.run.traceEmptyCancelled":"執行在送出追蹤前已取消。","work.run.traceEmptyDefault":"沒有追蹤紀錄。","work.run.traceNoActorRecorded":"未紀錄執行者","work.run.traceKindUnknown":"未知追蹤({kind})","work.run.artifactStatus.draft":"草稿","work.run.artifactStatus.ready":"就緒","work.run.artifactStatus.published":"已發佈","work.run.artifactStatus.archived":"已封存","work.run.activitiesTitle":"活動 {count}","work.run.outcomesTitle":"成果 {count}","work.run.artifactsTitle":"證據物件 {count}","work.run.loadingLabel":"載入執行中…","work.run.notFound":"找不到執行 {runId}。","work.run.noRunId":"沒有提供執行 id。","work.schedules.listTitle":"排程","work.schedules.lede":"目前版本中,排程執行只會在 Cats 運行時觸發。","work.schedules.loadErrorFallback":"載入排程失敗。","work.schedules.exportAction":"匯出","work.schedules.loading":"載入排程中…","work.schedules.empty":"目前尚無排程。產品介面會從各自工作流程建立排程規則;此頁用於稽核與操作既有規則。","work.schedule.openAriaLabel":"開啟排程 {scheduleTitle}","work.schedule.nextFireChip":"下次 {dateTime}","work.schedule.receiptChip":"{status} · {relativeTime}","work.schedule.enabledStatus":"已啟用","work.schedule.disabledStatus":"已停用","work.schedule.summary.onceAt":"單次於 {dateTime}","work.schedule.summary.dailyAt":"每日 {time} {timezone}","work.schedule.dateNone":"無","work.schedule.receiptStatus.claimed":"已認領","work.schedule.receiptStatus.admitted":"已准入","work.schedule.receiptStatus.duplicate":"重複","work.schedule.receiptStatus.skipped":"已略過","work.schedule.receiptStatus.failed":"失敗","work.schedule.triggerReason.due":"到期","work.schedule.triggerReason.manualTest":"手動測試","work.schedule.triggerReason.startupMisfire":"啟動補觸發","work.schedule.triggerReason.retry":"重試","work.schedule.missionPolicy.perFire":"每次觸發","work.schedule.concurrencyPolicy.skip":"略過","work.schedule.concurrencyPolicy.queue":"排隊","work.schedule.concurrencyPolicy.replace":"取代","work.schedule.misfirePolicy.skip":"略過","work.schedule.misfirePolicy.fireOnce":"觸發一次","work.schedule.misfirePolicy.fireAll":"全部觸發","work.schedule.retryBackoff.none":"無","work.schedule.retryBackoff.fixed":"固定","work.schedule.retryBackoff.exponential":"指數退避","work.schedule.ruleNotLoadedError":"排程規則尚未載入。","work.schedule.createFailed":"建立排程失敗。","work.schedule.updateFailed":"更新排程失敗。","work.schedule.testFireFailed":"測試觸發排程失敗。","work.schedule.deleteFailed":"刪除排程失敗。","work.schedule.deleteConfirmation":`要刪除排程「{scheduleTitle}」嗎?
|
|
30
|
+
|
|
31
|
+
此動作無法復原。未來觸發會停止,規則的觸發歷史會移除;已准入的任務群/執行仍會保留。`,"work.schedule.actionFailed":"排程操作失敗。","work.schedule.loadingTitle":"載入中…","work.schedule.loadingLabel":"載入排程中…","work.schedule.loadFailed":"載入排程失敗。","work.schedule.overviewTitle":"概覽","work.schedule.scheduleLabel":"排程","work.schedule.timezoneLabel":"時區","work.schedule.revisionLabel":"版次","work.schedule.targetLabel":"目標","work.schedule.targetKind.cat":"貓咪","work.schedule.targetKind.agent":"代理人","work.schedule.originLabel":"來源","work.schedule.origin.schedule":"排程","work.schedule.missionPolicyLabel":"任務群政策","work.schedule.concurrencyLabel":"並行策略","work.schedule.misfireLabel":"漏觸發策略","work.schedule.retryLabel":"重試","work.schedule.retryNone":"無","work.schedule.retryPolicyValue":"{maxAttempts}x {backoff}","work.schedule.diagnosticsTitle":"診斷","work.schedule.nextFireLabel":"下次觸發","work.schedule.lastScheduledFireLabel":"上次排程觸發","work.schedule.lastRunLabel":"上次執行","work.schedule.consecutiveFailuresLabel":"連續失敗","work.schedule.disabledDiagnosticFallback":"已停用:未來不再評估觸發。","work.schedule.retryStatePill":"重試 {attempt}/{maxAttempts} 於 {dateTime}","work.schedule.lastFailurePill":"上次失敗:{failure}","work.schedule.recentTriggersTitle":"最近觸發 {count}","work.schedule.noTriggerReceipts":"尚無觸發回條。","work.schedule.retryAttemptSuffix":" #{attempt}","work.schedule.backArrowLabel":"返回排程","work.schedule.backLabel":"排程","work.schedule.testFireBusyLabel":"觸發中…","work.schedule.testFireLabel":"測試觸發","work.schedule.updatingLabel":"更新中…","work.schedule.disableLabel":"停用","work.schedule.enableLabel":"啟用","work.schedule.deleteAriaLabel":"刪除排程","work.schedule.deleteBusyLabel":"刪除中…","work.schedule.deleteLabel":"刪除","work.schedule.missingIdLabel":"(缺少 id)","work.schedule.notFoundTitle":"找不到","work.schedule.notFoundPrefix":"排程","work.schedule.notFoundSuffix":"不在目前狀態中。","work.tasks.listTitle":"任務","work.tasks.newAction":"新增任務","work.tasks.createNewTaskAriaLabel":"建立新任務","work.tasks.loading":"載入任務中…","work.tasks.loadError":"載入任務失敗:{errorMessage}","work.tasks.emptyIntro":"尚未有任務,點擊","work.tasks.emptyActionLabel":"新增任務","work.tasks.emptySuffix":"來建立第一筆。","work.tasks.openTaskAriaLabel":"開啟任務 {title}","work.task.status.pendingApproval":"待核准","work.task.status.approved":"已核准","work.task.status.archived":"已封存","work.task.priority.urgent":"緊急","work.task.priority.high":"高","work.task.priority.medium":"中","work.task.priority.low":"低","work.task.priority.labelWithValue":"優先順序:{priorityLabel}","work.task.backLabel":"返回任務","work.task.backArrowLabel":"← 任務","work.task.updatedAtPrefix":"更新於 {updatedAt}","work.task.deleteLabel":"刪除任務","work.task.deleteLabelBusy":"刪除中…","work.task.deleteConfirmation":`要刪除任務「{taskTitle}」嗎?
|
|
32
|
+
|
|
33
|
+
此操作無法復原。已連結的執行不會被移除。`,"work.task.deleteError":"無法刪除任務。","work.task.approveLabel":"核准","work.task.approveBusyLabel":"核准中…","work.task.rejectLabel":"拒絕","work.task.rejectBusyLabel":"拒絕中…","work.task.approvalDecisionError":"無法更新任務核准狀態。","work.task.priorityTooltip":"優先順序:{priorityLabel}","work.task.overviewTitle":"概覽","work.task.summaryLabel":"摘要","work.task.projectLabel":"專案","work.task.orphanProjectFallback":"(無關聯專案)","work.task.workItemLabel":"工作項目","work.task.noWorkItemFallback":"(未關聯工作項目)","work.task.parentTaskLabel":"上層任務","work.task.ownerLabel":"擁有者","work.task.assigneeLabel":"執行者","work.task.noAssigneeFallback":"(尚未指派)","work.task.assignedActorsLabel":"已指派對象","work.task.noActorsAssignedFallback":"(未指派核心對象)","work.task.acceptanceCriteriaLabel":"驗收條件","work.task.conversationLabel":"對話","work.task.activityTitle":"活動","work.task.noActivity":"此任務尚無活動紀錄。","work.task.subTasksTitle":"子任務","work.task.noSubTasksLabel":"尚未有子任務。","work.task.runsTitle":"執行","work.task.noRunsIntro":"尚未派發執行。使用","work.task.noRunsActionLabel":"啟動監督執行","work.task.noRunsSuffix":"來派發。","work.task.startRunBusyLabel":"啟動中…","work.task.startRunError":"無法啟動監督執行。","work.task.loadingLabel":"載入任務中…","work.task.notFoundTitle":"找不到","work.task.notFoundText":"任務「{taskId}」不在目前的投影範圍內。","work.task.notFoundCodeLabel":"缺少 id","work.object.kind.agent":"代理人","work.object.kind.container":"容器","work.object.kind.conversation":"對話","work.object.kind.turn":"回合","work.object.kind.lane":"流程","work.object.kind.project":"專案","work.object.kind.workItem":"工作項目","work.object.kind.task":"任務","work.object.kind.mission":"任務群","work.object.kind.run":"執行","work.object.kind.artifact":"證據物件","work.object.kind.activity":"活動","work.object.kind.outcome":"成果","work.object.kind.approvalBinding":"審核","work.object.kind.unknown":"未知({kind})","work.object.attention.decisionNeeded":"待決","work.object.attention.blocked":"阻塞","work.object.attention.failed":"失敗","work.object.attention.readyToReview":"待審核","work.object.attention.recentlyShipped":"已完成","work.object.attention.unknown":"未知({attention})","work.object.status.draft":"草稿","work.object.status.planned":"待排程","work.object.status.active":"進行中","work.object.status.paused":"已暫停","work.object.status.archived":"已封存","work.object.status.ready":"待辦","work.object.status.inProgress":"進行中","work.object.status.blocked":"阻塞","work.object.status.completed":"已完成","work.object.status.cancelled":"已取消","work.object.status.running":"執行中","work.object.status.queued":"排隊中","work.object.status.unknown":"未知({status})","work.actorRole.assistant":"助理","work.actorRole.boss":"老闆","work.actorRole.coder":"程式撰寫者","work.actorRole.coordinator":"協調者","work.actorRole.critic":"評論者","work.actorRole.drafter":"草稿撰寫者","work.actorRole.mainCoder":"主程式撰寫者","work.actorRole.orchestrator":"協調核心","work.actorRole.owner":"擁有者","work.actorRole.planner":"規劃者","work.actorRole.reviewer":"審核者","work.actorRole.summarizer":"摘要者","work.object.gateState.notRequested":"未提出","work.object.gateState.pending":"待審核","work.object.gateState.approved":"已核可","work.object.gateState.rejected":"已拒絕","work.object.gateState.unknown":"未知({state})","work.topdown.parentTaskOwningLabel":"負責任務","work.topdown.parentTaskLabel":"上層任務","work.topdown.parentWorkItemLabel":"上層工作項目:{parentWorkItemTitle}","work.topdown.taskProductBindingTitle":"產品綁定:{productBinding}","work.topdown.taskProductBindingUnbound":"未綁定","work.topdown.parentTaskTooltip":"關聯任務:{linkedTaskTitle}({linkType})","work.topdown.crossCuttingLayer":"跨層次","work.topdown.cockpitEyebrow":"由上而下","work.topdown.cockpitTitle":"作業台","work.topdown.cockpitLede":"即時監控關鍵執行情況、阻塞來源與最近活動。","work.topdown.cockpitMetricDecisions":"待決","work.topdown.cockpitMetricBlocked":"阻塞","work.topdown.cockpitMetricShipped":"已完成","work.topdown.cockpitTabsAriaLabel":"作業台檢視","work.topdown.cockpitTabCommandLabel":"指令","work.topdown.cockpitTabCommandSub":"策略總覽","work.topdown.cockpitTabNeedsDecisionLabel":"待決","work.topdown.cockpitTabNeedsDecisionSub":"等待決策","work.topdown.cockpitTabActiveLabel":"進行中","work.topdown.cockpitTabActiveSub":"準備中與進行中","work.topdown.cockpitTabActiveRunsLabel":"執行中","work.topdown.cockpitTabActiveRunsSub":"目前正在執行","work.topdown.cockpitTabBlockedLabel":"阻塞","work.topdown.cockpitTabBlockedSub":"受阻或失敗","work.topdown.cockpitTabShippedLabel":"已完成","work.topdown.cockpitTabShippedSub":"近期交付","work.topdown.cockpitTabTeamsLabel":"團隊","work.topdown.cockpitTabTeamsSub":"責任角色航道","work.topdown.cockpitOpen":"開啟","work.topdown.cockpitNoBucketItems":"尚無項目。","work.topdown.cockpitRecentActivityAriaLabel":"最近活動","work.topdown.cockpitRecentActivityTitle":"最近活動","work.topdown.cockpitRecentActivitySummary":"{count} 筆項目","work.topdown.cockpitRecentActivityEmpty":"沒有近期活動。","work.topdown.cockpitNoActorRoles":"尚無擁有者角色。","work.topdown.linkageTitle":"連結關係","work.topdown.linkageAddAction":"新增連結","work.topdown.linkageNoLinksYetPrefix":"目前尚無連結,請使用","work.topdown.linkageNoLinksYetSuffix":"以將此項目連結到專案、工作項目或任務。","work.topdown.linkageViewKindBlocksLabel":"阻擋","work.topdown.linkageViewKindBlockedByLabel":"被阻擋","work.topdown.linkageViewKindRelatedToLabel":"關聯","work.topdown.linkageViewKindDuplicateOfLabel":"重複於","work.topdown.linkageViewKindFollowsLabel":"取代","work.topdown.linkageViewKindBlocksEmpty":"目前無待辦。","work.topdown.linkageViewKindBlockedByEmpty":"沒有上游阻塞。","work.topdown.linkageViewKindRelatedToEmpty":"尚未關聯專案、工作項目或任務。","work.topdown.linkageViewKindDuplicateOfEmpty":"尚未標記為重複項。","work.topdown.linkageViewKindFollowsEmpty":"未有取代任何較早項目。","work.topdown.linkKindBlocksHelp":"這個會阻擋目標。","work.topdown.linkKindBlockedByHelp":"目標會阻擋此項。","work.topdown.linkKindRelatedToHelp":"有關聯但不建立層級關係。","work.topdown.linkKindDuplicateOfHelp":"此項是目標的複本。","work.topdown.linkKindFollowsHelp":"此項取代目標項目。","work.topdown.newLinkDialogTitle":"新增連結","work.topdown.newLinkClose":"關閉","work.topdown.newLinkSourcePrefix":"來源","work.topdown.newLinkRelationLabel":"關係","work.topdown.newLinkTargetLabel":"目標","work.topdown.newLinkTargetSearchPlaceholder":"搜尋 {project} / {workItem} / {task}","work.topdown.newLinkNoMatches":"沒有符合結果。","work.topdown.newLinkNoteLabel":"備註(選填)","work.topdown.newLinkNotePlaceholder":"為何這個關係值得紀錄?","work.topdown.newLinkCancel":"取消","work.topdown.newLinkSaving":"儲存中…","work.topdown.newLinkErrorInvalidTarget":"目標必須是專案、工作項目或任務。","work.topdown.newLinkErrorSelfLink":"連結不能指向自己。","work.topdown.newLinkErrorNoteTooLong":"備註長度不能超過 {max} 個字元。","work.topdown.newLinkErrorFailed":"建立連結失敗。","work.topdown.upstreamBlockersAriaLabel":"上游阻塞","work.topdown.blockersTitle":"阻塞","work.topdown.upstreamBlocksLine":"每列項目的上游阻擋鏈(深度 ≤ {maxDepth})","work.topdown.noUpstreamBlockers":"此列表中沒有上游阻塞。","work.topdown.brokenLinksEyebrow":"由上而下 · 合規","work.topdown.brokenLinksTitle":"斷裂連結","work.topdown.brokenLinksLede":"當產生器寫入未符合 SPEC-083《最小錨點集合》或 SPEC-090 連結完整性的連結時,在投影層顯示的診斷結果。","work.topdown.brokenLinksErrorMetricSuffix":"錯誤","work.topdown.brokenLinksWarningMetricSuffix":"警告","work.topdown.brokenLinksInfoMetricSuffix":"資訊","work.topdown.brokenLinksSeverityFiltersAriaLabel":"嚴重性篩選","work.topdown.brokenLinksSeverityAllLabel":"全部","work.topdown.brokenLinksSeverityErrorLabel":"錯誤","work.topdown.brokenLinksSeverityWarningLabel":"警告","work.topdown.brokenLinksSeverityInfoLabel":"資訊","work.topdown.brokenLinksNoDiagnostics":"目前篩選條件下無診斷結果。","work.topdown.brokenLinksOn":"位於","work.topdown.brokenLinksOpenInDrawer":"在抽屜中開啟","work.topdown.brokenLinksObjectNotInProjection":"物件 ID {objectId} 不在投影中","work.topdown.brokenLinksNoSpecificObject":"系統問題 — 未指定特定物件","work.topdown.brokenLinksRemoveTooltipRemovable":"請透過產生器管線移除此連結。","work.topdown.brokenLinksRemoveTooltipDemoSeed":"示範資料 — 請重新啟動使用者介面清理,或先透過產生器管線寫回。","work.topdown.brokenLinksRemoveAction":"移除此連結","work.topdown.brokenLinksRemoveUnknownError":"移除連結失敗。","work.topdown.brokenLinksRemovingInProgress":"移除中…","work.topdown.brokenLinksRemovableOnlyDemo":"示範資料 — 僅可透過產生器 API 移除產生器寫入的連結。","work.topdown.brokenLinksCycleRemovableRows":"可移除列 ({count}):","work.topdown.brokenLinksDeletedLabel":"(已刪除)","work.topdown.diagnosticKind.brokenFk":"斷裂參照","work.topdown.diagnosticKind.missingProjectAnchor":"缺少專案錨點","work.topdown.diagnosticKind.missingPlanningExecutionBridge":"缺少規劃/執行橋接","work.topdown.diagnosticKind.unanchoredRun":"未錨定的執行","work.topdown.diagnosticKind.unanchoredEvidence":"未錨定的證據","work.topdown.diagnosticKind.missingGateSubject":"缺少閘門對象","work.topdown.diagnosticKind.orphanLink":"孤立連結","work.topdown.diagnosticKind.linkCycle":"連結循環","work.topdown.selectionLost":"選取遺失","work.topdown.objectNotInProjectionTitle":"物件不在投影中","work.topdown.objectNotInProjectionMessage":"所選 ID {selectedId} 不在目前的投影中。","work.topdown.identityTitle":"身分","work.topdown.identityKind":"類型","work.topdown.identityStatus":"狀態","work.topdown.identityLayer":"階層","work.topdown.identityOwnerRole":"擁有者角色","work.topdown.identityNextAction":"後續動作","work.topdown.identityUpdated":"更新時間","work.topdown.identitySummary":"摘要","work.topdown.externalTitle":"外部","work.topdown.externalBindingTooltip":"外部追蹤:{externalBinding}","work.topdown.externalSyncLabel":"同步:{syncDirection}","work.topdown.externalUpdatedLabel":"更新 {updatedAt}","work.topdown.anchorsTitle":"關聯錨點","work.topdown.evidenceTitle":"證據","work.topdown.evidenceEmpty":"沒有附加證據。","work.topdown.missingSuffix":"(缺少)","work.topdown.gatesTitle":"閘門","work.topdown.gatesEmpty":"沒有核准閘門。","work.topdown.diagnosticsTitle":"診斷","work.topdown.anchorProject":"專案","work.topdown.anchorWorkItem":"工作項目","work.topdown.anchorTask":"任務","work.topdown.anchorRun":"執行","work.topdown.anchorConversation":"對話","work.topdown.anchorsEmpty":"沒有結構化錨點。","work.topdown.relativeJustNow":"剛剛","work.topdown.relativeMinutesAgo":"{count} 分鐘前","work.topdown.relativeHoursAgo":"{count} 小時前","work.topdown.relativeDaysAgo":"{count} 天前","work.topdown.systemMapEyebrow":"由上而下 · 結構","work.topdown.systemMapTitle":"系統地圖","work.topdown.systemMapLede":"來自 ADR-081 的三個結構層作為共居卡片,聚焦在分類體系中存在的內容,而非緊急程度。","work.topdown.systemMapStructuralLabel":"結構","work.topdown.systemMapTotalLabel":"總數","work.topdown.systemMapDiagnosticsLabel":"診斷","work.topdown.systemMapLayerAriaLabel":"{layerLabel} 層","work.topdown.systemMapLayerInteractionLabel":"互動","work.topdown.systemMapLayerPlanningLabel":"規劃","work.topdown.systemMapLayerExecutionLabel":"執行","work.topdown.systemMapLayerInteractionDescription":"誰在與誰互動、透過什麼通道、以什麼型態呈現。","work.topdown.systemMapLayerPlanningDescription":"產品方想要完成的目標——專案/工作項目。","work.topdown.systemMapLayerExecutionDescription":"工作如何執行——任務 / 任務群 / 執行。","work.topdown.systemMapLayerEmpty":"此層沒有物件。","work.warRoom.attentionAttention":"注意","work.warRoom.attentionError":"錯誤","work.warRoom.attentionFallback":"未分類({severity})","work.warRoom.attentionMuted":"靜音","work.warRoom.attentionProgress":"進行中","work.warRoom.attentionSuccess":"正常","work.warRoom.controlPlane":"控管面板","work.warRoom.controlPlaneBlockedBy":"被 {reason} 阻擋,請確認對應前置條件。","work.warRoom.controlPlaneEmptyBadge":"空","work.warRoom.controlPlaneEmptyBody":"目前沒有活躍的控管任務。","work.warRoom.controlPlaneEmptyTitle":"沒有控管項目","work.warRoom.controlPlaneNoTargets":"未選擇目標任務","work.warRoom.controlPlaneTargets":"目標:{targets}","work.warRoom.countSummary":"顯示 {count}/{total}","work.warRoom.governanceEyebrow":"治理","work.warRoom.actionBusy":"套用中...","work.warRoom.actionError":"無法套用工作動作。","work.warRoom.loadError":"讀取工作儀表板失敗","work.warRoom.loadingBadge":"載入中","work.warRoom.loadingBody":"正在更新最新戰情室快照。","work.warRoom.loadingEyebrow":"載入中","work.warRoom.loadingSummary":"載入中","work.warRoom.loadingTitle":"載入工作狀態","work.warRoom.managedWorkEyebrow":"工作項目","work.warRoom.metaLabelActions":"待辦動作","work.warRoom.metaLabelActors":"參與者","work.warRoom.metaLabelApproval":"核准","work.warRoom.metaLabelBlocked":"已阻塞","work.warRoom.metaLabelConversation":"對話","work.warRoom.metaLabelDelivery":"交付","work.warRoom.metaLabelLatest":"最近","work.warRoom.metaLabelLatestSource":"最近來源","work.warRoom.metaLabelNext":"後續","work.warRoom.metaLabelOwner":"負責人","work.warRoom.metaLabelProduct":"產品","work.warRoom.metaLabelProject":"專案","work.warRoom.metaLabelReasons":"原因","work.warRoom.metaLabelReplay":"重放","work.warRoom.metaLabelRepo":"來源倉庫","work.warRoom.metaLabelRetryAvailable":"可重試","work.warRoom.metaLabelStrategy":"策略","work.warRoom.metaLabelTask":"任務","work.warRoom.metaLabelTasks":"任務","work.warRoom.metaLabelWatch":"觀察","work.warRoom.metaLabelWorkflow":"流程","work.warRoom.metaLabelWorkItem":"工作項目","work.warRoom.metaLabelWorkItems":"工作項目","work.warRoom.metaValueNo":"否","work.warRoom.metaValueNoReplayBlock":"沒有重放阻塞","work.warRoom.metaValueNoTimelineItem":"沒有時間軸項目","work.warRoom.metaValueNotBound":"未綁定","work.warRoom.metaValueNotRecorded":"未紀錄","work.warRoom.metaValueNotSpecified":"未指定","work.warRoom.metaValueUnassigned":"未指派","work.warRoom.metaValueNoRuntimeBridge":"未連接執行階段橋接","work.warRoom.metaValueNone":"無","work.warRoom.noLinkedConversation":"未關聯對話","work.warRoom.noLinkedProject":"未關聯專案","work.warRoom.noLinkedTask":"未關聯任務","work.warRoom.noLinkedWorkItem":"未關聯工作項目","work.warRoom.noPrimaryConversation":"未關聯主要對話","work.warRoom.noProjectSummary":"沒有專案摘要。","work.warRoom.noStatus":"無狀態","work.warRoom.noTaskSummary":"沒有任務摘要。","work.warRoom.noWorkItemSummary":"沒有工作項目摘要。","work.warRoom.none":"無","work.warRoom.notRecorded":"未紀錄","work.warRoom.openActor":"開啟 {actorName}","work.warRoom.openBriefingThread":"開啟簡報對話","work.warRoom.openProject":"開啟專案","work.warRoom.openTask":"開啟任務","work.warRoom.openWorkItem":"開啟工作項目","work.warRoom.operateEyebrow":"執行","work.warRoom.operatorInbox":"指揮台信箱","work.warRoom.operatorInboxEmptyBadge":"空","work.warRoom.operatorInboxEmptyBody":"目前沒有需要立即處理的指揮項目。","work.warRoom.operatorInboxEmptyTitle":"無待辦指揮項目","work.warRoom.pageEyebrow":"工作控制台","work.warRoom.pageTitle":"工作作戰室","work.warRoom.portfolioEyebrow":"組合","work.warRoom.projects":"專案","work.warRoom.projectsEmptyBadge":"空","work.warRoom.projectsEmptyBody":"目前沒有符合條件的專案。","work.warRoom.projectsEmptyTitle":"沒有找到專案","work.warRoom.recovery":"修復","work.warRoom.recoveryEmptyBadge":"健康","work.warRoom.recoveryEmptyBody":"目前不需要修復處理。","work.warRoom.recoveryEmptyTitle":"無修復項目","work.warRoom.recoveryEyebrow":"修復","work.warRoom.recoveryNoRecoveryNote":"未提供修復備註。","work.warRoom.snapshotEyebrow":"快照","work.warRoom.snapshotSummary":"負責人:{ownerActorId}","work.warRoom.snapshotTitle":"即時快照","work.warRoom.statusFallback":"狀態:{status}","work.warRoom.summaryAttention":"{count} 筆高關注項目","work.warRoom.summaryInProgressBlocked":"{inProgress} 筆進行中 · {blocked} 筆阻塞","work.warRoom.summaryLabelAttention":"關注","work.warRoom.summaryLabelProjects":"專案","work.warRoom.summaryLabelRecovery":"修復","work.warRoom.summaryLabelTasks":"任務","work.warRoom.summaryRecovery":"{count} 個修復機會","work.warRoom.workItems":"工作項目","work.warRoom.workItemsEmptyBadge":"空","work.warRoom.workItemsEmptyBody":"目前沒有符合條件的工作項目。","work.warRoom.workItemsEmptyTitle":"沒有找到工作項目","work.timeline.evidence.providerAgentRunLoop":"供應器代理人執行迴圈","work.timeline.evidence.supervision":"監督證據","work.timeline.title.approvalBinding":"核准綁定({kind})","work.timeline.title.approvalDecided":"核准已決定","work.timeline.title.approvalRequested":"已要求核准","work.timeline.title.artifactRecorded":"已紀錄成果物","work.timeline.title.checkpoint":"檢查點:{label}","work.timeline.title.checkpointRecorded":"已紀錄檢查點","work.timeline.title.evidence":"證據:{source}","work.timeline.title.note":"備註","work.timeline.title.operatorAction":"操作員動作","work.timeline.title.providerAgentPlan":"供應器代理人計畫:{planId}","work.timeline.title.statusChanged":"狀態已變更","work.timeline.title.trace":"追蹤({kind})","work.timeline.title.workItemUpdated":"工作項目已更新","work.execution.action.acknowledge":"確認已知悉","work.execution.action.approve":"核准","work.execution.action.complete":"完成","work.execution.action.createCommit":"建立提交","work.execution.action.dispatch":"派工","work.execution.action.openPullRequest":"開啟 Pull Request","work.execution.action.publishPreview":"發布預覽","work.execution.action.reject":"拒絕","work.execution.action.requestReview":"要求審查","work.execution.action.reroute":"改派路徑","work.execution.action.retry":"重試","work.execution.action.wait":"等待","work.execution.action.waitForChecks":"等待檢查","work.execution.approvalStatus.approved":"已核准","work.execution.approvalStatus.notRequested":"未要求核准","work.execution.approvalStatus.pending":"等待核准","work.execution.approvalStatus.rejected":"已拒絕","work.execution.deliveryMode.artifactOnly":"僅成果物","work.execution.deliveryMode.commitOnly":"僅提交","work.execution.deliveryMode.deployPreview":"部署預覽","work.execution.deliveryMode.prWithChecks":"含檢查的 Pull Request","work.execution.deliveryMode.pushBranch":"推送分支","work.execution.reason.approvalPending":"等待核准","work.execution.reason.childTasksInProgress":"子任務進行中","work.execution.reason.maxDispatches":"已達分派上限","work.execution.reason.noValidTargets":"沒有有效目標","work.execution.reason.retryAvailable":"可重試","work.execution.reason.runBlocked":"執行已阻塞","work.execution.reason.runFailed":"執行失敗","work.execution.reason.userCancelled":"使用者已取消","work.execution.reason.workflowReviewRequired":"需要工作流程審查","work.execution.replaySource.orchestratorReplay":"協調器重放","work.execution.replaySource.orchestratorStartupRecovery":"Orchestrator 啟動修復","work.execution.replaySource.workflowContinuationReplay":"工作流程延續重放","work.execution.replayState.failed":"失敗","work.execution.replayState.inProgress":"進行中","work.execution.replayState.pending":"等待中","work.execution.replayState.ready":"準備好","work.execution.strategy.pdca":"PDCA","work.execution.strategy.planAndExecute":"計畫後執行","work.execution.strategy.react":"ReAct","work.execution.strategy.reflexion":"Reflexion","work.newWorkItem.title":"新增工作項目","work.newWorkItem.titleLabel":"標題","work.newWorkItem.summaryLabel":"摘要","work.newWorkItem.projectLabel":"專案","work.newWorkItem.statusLabel":"狀態","work.newWorkItem.projectOrphan":"— 無專案關聯 —","work.newWorkItem.titlePlaceholder":"這個工作要交付什麼?","work.newWorkItem.summaryPlaceholder":"用一到兩句話定義範圍。","work.newWorkItem.cancelButton":"取消","work.newWorkItem.closeLabel":"關閉","work.newWorkItem.submitLabel":"建立工作項目","work.newWorkItem.submitBusyLabel":"建立中…","work.newWorkItem.createError":"建立工作項目失敗。","work.newWorkItem.status.draft":"草稿","work.newWorkItem.status.planned":"待排程","work.newWorkItem.status.ready":"準備好","work.newWorkItem.status.inProgress":"進行中","work.newWorkItem.status.blocked":"阻塞","work.newWorkItem.status.completed":"已完成","work.newWorkItem.status.cancelled":"已取消","work.newTask.title":"新增任務","work.newTask.titleLabel":"標題","work.newTask.summaryLabel":"摘要","work.newTask.parentTaskLabel":"上層任務","work.newTask.noParentTask":"— 無上層任務 —","work.newTask.statusLabel":"狀態","work.newTask.assigneeLabel":"執行者","work.newTask.assigneePlaceholder":"誰會接手?","work.newTask.priorityLabel":"優先順序","work.newTask.noPriority":"— 無優先順序 —","work.newTask.acceptanceCriteriaLabel":"驗收條件","work.newTask.acceptanceCriteriaPlaceholder":"如何判斷此任務已完成?","work.newTask.titlePlaceholder":"需要完成什麼具體行動?","work.newTask.summaryPlaceholder":"用一到兩句話說明範圍或背景。","work.newTask.cancelButton":"取消","work.newTask.closeLabel":"關閉","work.newTask.submitLabel":"建立任務","work.newTask.submittingLabel":"建立中…","work.newTask.createError":"建立任務失敗。","work.newTask.status.draft":"草稿","work.newTask.status.pendingApproval":"待核准","work.newTask.status.approved":"已核准","work.newTask.status.inProgress":"進行中","work.newTask.status.blocked":"阻塞","work.newTask.status.completed":"已完成","work.newTask.priority.urgent":"緊急","work.newTask.priority.high":"高","work.newTask.priority.medium":"中","work.newTask.priority.low":"低","work.newProject.title":"新增專案","work.newProject.titleLabel":"標題","work.newProject.summaryLabel":"摘要","work.newProject.statusLabel":"狀態","work.newProject.titlePlaceholder":"這是什麼專案?","work.newProject.summaryPlaceholder":"它為何存在?服務誰?","work.newProject.cancelButton":"取消","work.newProject.closeLabel":"關閉","work.newProject.submitLabel":"建立專案","work.newProject.submitBusyLabel":"建立中…","work.newProject.createError":"建立專案失敗。","work.crud.error.titleRequired":"標題為必填。","work.crud.error.invalidInput":"輸入內容無效。","work.crud.error.projectIdRequired":"專案 id 為必填。","work.crud.error.workItemIdRequired":"工作項目 id 為必填。","work.crud.error.taskIdRequired":"任務 id 為必填。","work.crud.error.projectNotFound":"找不到 id 為 {id} 的專案。","work.crud.error.workItemNotFound":"找不到 id 為 {id} 的工作項目。","work.crud.error.taskNotFound":"找不到 id 為 {id} 的任務。","work.crud.error.mustBeStringWhenProvided":"提供時,值必須是字串。","work.crud.error.metadataObjectRequired":"提供 metadata 時,必須是物件。","work.crud.error.fieldStringOrNull":"欄位 {fieldName} 必須是字串或 null。","work.crud.error.fieldStringArray":"欄位 {fieldName} 必須是字串陣列。","work.crud.error.mustBeOneOf":"值必須是以下其中一個:{values}。","work.item.loadingTitle":"載入工作項目","work.item.relatedWorkItemTitle":"關聯工作項目","chat.newChatDraft.sidePanelTitle":"新增聊天室設定","chat.newChatDraft.generatedTitle":"新增對話","chat.newChatDraft.generatedTitleWithIndex":"新增對話 {index}","chat.composer.error.chooseTwoParallelChats":"送出前請至少選擇兩個平行聊天室。","chat.composer.error.noActiveParallelThread":"已建立平行聊天室,但沒有作用中的討論串。","chat.composer.error.noParallelChatForSending":"目前沒有可送出訊息的平行聊天室。","chat.composer.error.noChatForSending":"目前沒有可送出訊息的聊天室。","chat.composer.error.relayFailedForChannel":"轉送到 {channelId} 失敗。","chat.composer.error.relayCompareFailed":"轉送比較訊息失敗。","chat.parallelRelay.command.check.label":"檢查這則","chat.parallelRelay.command.check.shortLabel":"檢查","chat.parallelRelay.command.check.description":"針對另一則回覆壓力測試缺口、風險與錯誤假設。","chat.parallelRelay.command.adopt.label":"採用這則","chat.parallelRelay.command.adopt.shortLabel":"採用","chat.parallelRelay.command.adopt.description":"以另一則回覆作為新的工作方向並加以改善。","chat.parallelRelay.command.debate.label":"辯論這則","chat.parallelRelay.command.debate.shortLabel":"辯論","chat.parallelRelay.command.debate.description":"針對另一則回覆採取最強的合理反方立場。","chat.parallelRelay.command.improve.label":"改善這則","chat.parallelRelay.command.improve.shortLabel":"改善","chat.parallelRelay.command.improve.description":"潤飾、擴充或強化另一則回覆。","chat.parallelRelay.command.counter.label":"反駁這則","chat.parallelRelay.command.counter.shortLabel":"反駁","chat.parallelRelay.command.counter.description":"提出有力反駁或替代作法。","chat.parallelRelay.command.synthesize.label":"綜合這則","chat.parallelRelay.command.synthesize.shortLabel":"綜合","chat.parallelRelay.command.synthesize.description":"結合這則與自己的分析,看出一致與分歧之處。","chat.parallelRelay.target.noChats":"沒有聊天室","chat.parallelRelay.target.pair":"{first} 和 {second}","chat.parallelRelay.target.many":"{allButLast} 和 {last}","chat.parallelRelay.note.outgoing":"已透過「{commandLabel}」將回覆 #{replyId} 分享給 {targets}。","chat.parallelRelay.note.incoming":"已收到 {sourceMemberLabel} 針對回覆 #{replyId} 傳來的「{commandLabel}」。","chat.parallelRelay.prompt.header":"[平行轉送 - {commandLabel}]","chat.parallelRelay.prompt.sourceHeader":"[要審閱的回覆]","chat.parallelRelay.prompt.sourceLabel":"來源:{sourceMemberLabel}","chat.parallelRelay.prompt.check.instructionOne":"審閱引用回覆的正確性、風險、盲點與未被支持的假設。","chat.parallelRelay.prompt.check.instructionTwo":"說明哪些部分可靠、哪些薄弱,以及你會如何修改。","chat.parallelRelay.prompt.adopt.instructionOne":"將引用的回覆視為新的草稿,從它繼續推進。","chat.parallelRelay.prompt.adopt.instructionTwo":"保留強項、修補弱點,並用你自己的說法回答。","chat.parallelRelay.prompt.debate.instructionOne":"針對引用的回覆採取最強的合理反方立場。","chat.parallelRelay.prompt.debate.instructionTwo":"挑戰假設、指出弱點,並說明你不同意的地方。","chat.parallelRelay.prompt.improve.instructionOne":"潤飾、擴充或強化引用的回覆。","chat.parallelRelay.prompt.improve.instructionTwo":"修補弱點、補足深度,產出更好的版本。","chat.parallelRelay.prompt.counter.instructionOne":"針對引用的回覆提出有力反駁或替代作法。","chat.parallelRelay.prompt.counter.instructionTwo":"從相反觀點出發,用具體推理提出論證。","chat.parallelRelay.prompt.synthesize.instructionOne":"根據目前對話,將引用的回覆與你自己的分析綜合起來。","chat.parallelRelay.prompt.synthesize.instructionTwo":"指出一致之處、分歧之處,以及整合後的觀點。","chat.composer.error.sendFailed":"送出訊息失敗。","chat.composer.error.retryFailed":"重試回應失敗。","chat.composer.error.stopFailed":"停止回應失敗。","chat.composer.error.activeChatNotInParallelGroup":"目前聊天不屬於這個平行聊天群組。","chat.composer.error.sourceChatNotInParallelGroup":"來源聊天不屬於這個平行聊天群組。","chat.composer.error.parallelBranchOutsideGroup":"一個或多個平行分支指向這個平行聊天群組以外的聊天。","chat.composer.error.noParallelRelayTargets":"請至少選擇一個平行聊天轉送目標。","chat.composer.error.messageNotFound":"找不到這則訊息。","chat.composer.error.retryInvalidSender":"只能重試你送出的訊息。","chat.composer.error.retryInProgress":"請等目前回應結束後再重試。","chat.composer.error.retryNotLatest":"只能重試最新一則已確認的訊息。","chat.composer.error.retryNotAvailable":"只有最新一則已確認且失敗的訊息可以重試。","chat.governance.error.updateApproval":"更新核准狀態失敗。","chat.governance.error.submitChoiceResponse":"送出選項回覆失敗。","chat.governance.error.recordOperatorAction":"記錄操作員動作失敗。","chat.participants.error.updateParticipant":"更新參與者失敗。","chat.participants.error.noFields":"請至少更新一個參與者欄位。","chat.participants.error.notFound":"在這個聊天室中找不到該參與者。","chat.participants.error.temporaryOnly":"只能在這裡重新命名臨時參與者。","chat.participants.error.nameRequired":"請輸入參與者名稱。","chat.catAssignment.createdAssignHint":"已建立貓。請開啟「選擇既有」來指派。","chat.catAssignment.error.createCat":"建立貓失敗。","chat.catAssignment.error.assignCat":"指派貓失敗。","chat.catAssignment.error.removeCat":"移除貓失敗。","chat.catAssignment.error.channelNotFound":"找不到這個聊天室。","chat.catAssignment.error.assignmentNotFound":"這隻貓咪尚未指派到選取的聊天室。","chat.catAssignment.error.directRecipientOnly":"直接對話只能保留該對話的主要貓咪。","chat.catAssignment.error.participantLimitReached":"這個聊天室已達參與者上限(最多 {maxParticipants} 位)。","chat.companion.tab.status":"狀態","chat.companion.tab.sources":"來源","chat.companion.tab.memory":"記憶","chat.companion.tab.behavior":"行為","chat.companion.tab.inspector":"檢視器","chat.companion.workspace.loadError":"載入陪伴者資料失敗","shared.executionTarget.saveNewChatDefaultsError":"儲存新增聊天室模型預設值失敗。","shared.executionTarget.saveChatReplySettingsError":"儲存這個聊天室的 AI 回覆設定失敗。","shared.channelContinuity.startFreshError":"開始新的聊天連續性分支失敗。","shared.settingsCatsMemory.saveError":"儲存記憶失敗。","shared.settingsCatsMemory.deleteError":"刪除記憶失敗。","shared.settingsCatsMemory.contentRequired":"請輸入記憶內容。","shared.settingsCatsMemory.invalidCategory":"記憶分類無效。","shared.settingsCatsMemory.notFound":"找不到這筆記憶。","shared.operatorLoop.loadError":"載入操作員迴圈失敗。","shared.folderBrowser.loadError":"載入資料夾失敗。","shared.orchestrator.fallbackName":"調度者","shared.draftHeader.changeCoverPhoto":"更換封面照片","shared.draftHeader.addCoverPhoto":"新增封面照片","shared.draftHeader.changeAvatar":"更換頭像","shared.draftHeader.addAvatar":"新增頭像","chat.participantChip.countOne":"{count} 位參與者","chat.participantChip.countMany":"{count} 位參與者","chat.participantChip.default":"參與者","chat.draftParticipant.capability.strongAgent":"強代理","chat.draftParticipant.capability.conservativeAgent":"保守代理","chat.draftParticipant.reviewReason.broadWrite":"廣泛寫入工具授權","chat.draftParticipant.reviewReason.outcomeDelegation":"結果委派","chat.draftParticipant.reviewReason.highApproval":"高核准門檻","chat.draftParticipant.autonomy.none":"無自主性","chat.draftParticipant.autonomy.singleStep":"單步執行","chat.draftParticipant.autonomy.milestonePlan":"里程碑規劃","chat.draftParticipant.autonomy.outcomeDelegation":"結果委派","chat.draftParticipant.toolScope.none":"無工具","chat.draftParticipant.toolScope.readOnly":"唯讀","chat.draftParticipant.toolScope.narrowWrite":"有限寫入","chat.draftParticipant.toolScope.broadWrite":"廣泛寫入","chat.draftParticipant.approvalThreshold.low":"低","chat.draftParticipant.approvalThreshold.medium":"中","chat.draftParticipant.approvalThreshold.high":"高","chat.draftParticipant.policySummary":"{autonomy};{approvalThreshold}核准門檻","chat.draftParticipant.toolGrantSummary":"{toolScope}工具","chat.sidebar.primaryAction.newChat":"新增聊天","chat.sidebar.primaryAction.groupChat":"新增群組聊天","chat.sidebar.primaryAction.parallelChat":"新增平行聊天","chat.sidebar.myCatsEmptyStateLabel":"新增貓咪","chat.concurrentCluster.dismissActionLabel":"關閉","chat.concurrentCluster.dismissActionTitle":"關閉佈局","chat.concurrent.toolLabel":"工具","chat.concurrent.progress.finalizing":"正在完成…","chat.concurrent.progress.finishing":"即將完成…","chat.concurrent.error.runtimeStreamUnavailable":"執行階段串流無法使用","chat.concurrent.error.proxy":"代理串流發生錯誤","chat.concurrent.copyLabeledResponseLabel":"複製來自 {speakerName} 的訊息","chat.concurrent.copyUnnamedResponseLabel":"複製未命名回應","chat.focusRail.unnamedResponseLabel":"未命名回應","chat.focusRail.expandAnonymousResponseLabel":"展開未命名回應","chat.focusRail.collapseAnonymousResponseLabel":"收合未命名回應","chat.focusRail.expandLabeledResponseLabel":"展開來自 {speakerName} 的回應","chat.focusRail.collapseLabeledResponseLabel":"收合來自 {speakerName} 的回應","chat.activityFeed.eyebrow":"活動","chat.activityFeed.latestUpdatesTitle":"最新更新","chat.activityFeed.emptyState":"聊天室有活動時,會在此顯示。","chat.activityFeed.byActorLabel":"由 {actorName}","chat.messageChoices.customButton":"自訂","chat.messageChoices.customPlaceholder":"輸入自訂答案","chat.messageChoices.ownerSkippedState":"擁有者已略過這些選項。","chat.messageChoices.ownerRecordedState":"已記錄擁有者回應。","chat.messageChoices.confirmButton":"確認","chat.messageChoices.skipButton":"略過","chat.parallelFooter.navigationAriaLabel":"平行聊天導覽","chat.parallelFooter.prevAriaLabel":"前一個平行聊天室","chat.parallelFooter.nextAriaLabel":"下一個平行聊天室","chat.parallelFooter.tabsAriaLabel":"平行聊天室","chat.parallelFooter.threadLabel":"討論串 {threadIndex}","chat.parallelFooter.defaultModelLabel":"模型","chat.compareCards.prevCardAriaLabel":"上一張卡片","chat.compareCards.nextCardAriaLabel":"下一張卡片","chat.compareCards.paginationItemAriaLabel":"第 {cardIndex} 張卡片","chat.topBar.toggleSidePanelAriaLabel":"切換側邊欄","chat.boot.loadingAria":"正在載入 Cats Chat","chat.newChatDraft.participants.catsTitle":"貓咪","chat.newChatDraft.participants.groupTitle":"參與者","chat.newChatDraft.participants.emptyState":"尚未有可用的貓咪。","chat.newChatDraft.execution.title":"AI 回覆","chat.newChatDraft.execution.actionLabel":"選擇 AI 回覆","chat.newChatDraft.execution.emptyState":"尚未設定 AI 回覆。","chat.newChatDraft.planMyDayChipLabel":"規劃今天","chat.newChatDraft.planMyDayPrompt":"幫我規劃今天的優先事項。","chat.newChatDraft.brainstormNameChipLabel":"想個名字","chat.newChatDraft.brainstormNamePrompt":"幫我發想一個新側案的名稱選項。","chat.newChatDraft.summarizeLinkChipLabel":"摘要一個連結","chat.newChatDraft.summarizeLinkPrompt":"幫我摘要等下貼上來的連結重點。","chat.newChatDraft.pomodoroChipLabel":"做一個番茄鐘","chat.newChatDraft.pomodoroPrompt":"幫我寫一個簡單的番茄鐘應用程式。","chat.newChatDraft.startProjectChipLabel":"開個專案","chat.newChatDraft.startProjectPrompt":"開一個小專案來追蹤里程碑。","chat.newChatDraft.chooseCodespaceActionLabel":"選擇程式工作區","chat.newChatDraft.folder.title":"資料夾","chat.newChatDraft.folder.emptyState":"尚未選擇資料夾。","chat.newChatDraft.defaultGreeting":"準備好了就開始吧。","chat.newChatDraft.greeting.nap":"還沒休息,現在可以開始。","chat.newChatDraft.greeting.keyboard":"鍵盤已就位。","chat.newChatDraft.greeting.letsGo":"準備出發。","chat.newChatDraft.greeting.standby":"待命中。","chat.newChatDraft.greeting.taskReady":"任務是什麼?","chat.newChatDraft.greeting.onDuty":"保持在線,準備接手。","chat.sidePanel.temporaryParticipantLabel":"臨時","chat.sidePanel.roleLabel":"角色","chat.sidePanel.aiServiceLabel":"AI 服務","chat.sidePanel.connectionLabel":"連線","chat.sidePanel.startFresh":"重新開始","chat.sidePanel.startingFreshBusy":"重新開始中…","chat.sidePanel.startFreshHint":"保留此聊天室開啟,但重置單人連續對話,讓下一回合從新分支開始。","chat.sidePanel.runStatusTitle":"執行狀態","chat.sidePanel.runStatusUnavailableTitle":"狀態無法取得","chat.sidePanel.loadingTitle":"載入中","chat.sidePanel.operatorLoadingState":"正在載入審批、活動與執行詳情。","chat.approvalQueue.eyebrow":"待審核","chat.approvalQueue.pendingTitle":"待審核項目","chat.approvalQueue.emptyState":"房間可持續運行,直到計劃需要擁有者做出決策。","chat.approvalQueue.defaultRequester":"調度者","chat.approvalQueue.defaultSummary":"請先審核此派發,才能繼續下一步。","chat.approvalQueue.requestedByPrefix":"由 {requestedBy} 提出","chat.catStatus.compact.activeLabel":"運作中","chat.catStatus.compact.needAttentionLabel":"需要注意","chat.catStatus.compact.sleepingLabel":"睡眠中","chat.catStatus.activeLabel":"運作中","chat.catStatus.blockedLabel":"受阻","chat.catStatus.waitingForReviewLabel":"等待審核","chat.catStatus.errorLabel":"錯誤","chat.catStatus.wakingUpLabel":"喚醒中","chat.catStatus.sleepingLabel":"睡眠中","chat.catStatus.idleLabel":"閒置","chat.lifecycle.awakeLabel":"醒著","chat.lifecycle.wakingUpLabel":"喚醒中","chat.lifecycle.needsAttentionLabel":"需要注意","chat.lifecycle.sleepingLabel":"睡眠中","chat.companionWorkspace.retryLabel":"重試","chat.companionWorkspace.noSelectionState":"尚未選取。","chat.companionWorkspace.subscriptionDisabledTooltip":"目前尚未開放 Companion 訂閱。","chat.companionWorkspace.subscriptionLabel":"訂閱","chat.companionWorkspace.shareDisabledTooltip":"先選一則貼文、圖片、影片、音樂或檔案後才能分享。","chat.companionWorkspace.shareLabel":"分享","chat.companionWorkspace.sidePanelTitle":"陪伴者","chat.companionFeedTabPosts":"貼文","chat.companionFeedTabPhotos":"圖片","chat.companionFeedTabVideos":"影片","chat.companionFeedTabMusic":"音樂","chat.companionFeedTabFiles":"檔案","chat.companionFeedTabActivity":"動態","chat.companionFeedNavAriaLabel":"陪伴者動態","chat.companionFeedPostEmptyState":"{catName} 尚未發佈任何貼文。","chat.companionFeedMediaEmptyState":"尚無{type}。","chat.companionFeedMediaItemDefaultLabel":"媒體","chat.companionFeedMediaItemsLabel":"{count} 個{surface}","chat.companionFeedSurfacePhotoLabel":"圖片","chat.companionFeedSurfaceVideoLabel":"影片","chat.companionFeedSurfaceMusicLabel":"音樂","chat.companionFeedSurfaceFileLabel":"檔案","chat.companionFeedActivityEmptyState":"最近還沒有活動。","chat.companionFeedActivityHiddenState":"較早的活動已隱藏。","chat.companionMessageReferenceListAria":"陪伴者內容參考","chat.companionMessageReferenceUnsupportedVersionLabel":"不支援的參考版本","chat.companionMessageReferenceMalformedLabel":"參考格式錯誤","chat.companionMessageReference.invalidWrongScheme":"參考必須使用 cats://。","chat.companionMessageReference.invalidWrongHost":"參考必須指向 companion。","chat.companionMessageReference.invalidMalformedPercentEncoding":"參考包含錯誤的百分比編碼。","chat.companionMessageReference.invalidBadSegmentCount":"參考路徑段數不正確。","chat.companionMessageReference.invalidEmptyPathSegment":"參考包含空白路徑段。","chat.companionMessageReference.invalidUnknownTargetType":"參考目標類型未知。","chat.companionMessageReferenceLoadingLabel":"正在載入參考預覽","chat.companionMessageReferenceUnavailableLabel":"無法取得參考內容","chat.companionMessageReferenceOpenInCompanionAction":"在陪伴者中開啟","chat.companionModeToggleDirectLaneAriaLabel":"直接對話模式","chat.companionModeToggleChatViewAriaLabel":"聊天視角","chat.companionModeToggleCompanionViewAriaLabel":"陪伴者視角","chat.companionResourcesLoadingState":"載入中…","chat.companionResourcesSectionTitle":"資源","chat.companionResourcesActionShowForm":"新增","chat.companionResourcesActionCancel":"取消","chat.companionResourcesActionAddResource":"新增資源","chat.companionResourcesActionBusy":"新增中…","chat.companionResourcesFormTitlePlaceholder":"標題","chat.companionResourcesFormNotePlaceholder":"備註(選填)","chat.companionResourcesFormContentPlaceholder":"內容","chat.companionResourcesEmptyState":"目前尚未新增任何資源,可加入對陪伴者有幫助的素材。","chat.companionResourcesSourceKindNote":"筆記","chat.companionResourcesSourceKindConversationLog":"記錄","chat.companionResourcesSourceKindArticle":"文章","chat.companionResourcesSourceKindImage":"圖片","chat.companionResourcesSourceKindVideo":"影片","chat.companionResourcesSourceKindAudio":"音訊","chat.companionResourcesSourceKindPath":"檔案路徑","chat.companionResourcesSourceKindUnknown":"未知","chat.companionResourcesUntitledSource":"未命名","chat.companionResourcesActionRemove":"移除","chat.companionSettingsLoadingState":"載入中…","chat.companionSettingsResponseProfileTitle":"回應設定","chat.companionSettingsExpressionModeLabel":"表情模式","chat.companionSettingsExpressionModeAnimalistic":"擬真動作","chat.companionSettingsExpressionModeAnthropomorphic":"擬人化","chat.companionSettingsExpressionModeMixed":"混合","chat.companionSettingsOutputModeLabel":"輸出模式","chat.companionSettingsOutputModeText":"文字","chat.companionSettingsOutputModeAudioClip":"音訊片段","chat.companionSettingsOutputModeTts":"TTS","chat.companionSettingsOutputModeMixed":"混合","chat.companionSettingsResponseNotesLabel":"回應備註","chat.companionSettingsResponseNotesPlaceholder":"定義你想讓陪伴者如何回應的自訂指令…","chat.companionSettingsResponseNotesSave":"儲存備註","chat.companionSettingsResponseNotesSaving":"儲存中…","chat.companionSettingsTelegramBindingTitle":"Telegram 綁定","chat.companionSettingsTelegramBindingBotLabel":"機器人:","chat.companionSettingsTelegramBindingModeLabel":"模式:","chat.companionSettingsTelegramBindingConnected":"已連線","chat.companionSettingsTelegramBindingDefaultMode":"預設","chat.companionSettingsTelegramBindingManageHint":"請到","chat.companionSettingsTelegramBindingSettingsLabel":"設定 > 我的貓咪","chat.companionSettingsTelegramBindingSuffix":"內進行管理。","chat.companionSettingsNoTelegramBindingState":"尚未設定 Telegram 綁定,請到","chat.companionOverviewLoadingState":"載入中…","chat.companionOverviewPresenceTitle":"狀態","chat.companionOverviewPresenceWakeButton":"喚醒","chat.companionOverviewPresenceSleepButton":"關閉","chat.companionOverviewSummaryTitle":"摘要","chat.companionOverviewSummaryResourceLabel":"資源","chat.companionOverviewSummaryCreationLabel":"創作","chat.companionOverviewSummaryMemoryLabel":"記憶","chat.companionOverviewRecentMemoriesTitle":"最近記憶","chat.companionOverviewEmptyState":"尚無最近記錄。","chat.companionMemoryLoadingState":"載入中…","chat.companionMemorySectionTitle":"記憶","chat.companionMemoryActionAdd":"新增","chat.companionMemoryActionCancel":"取消","chat.companionMemoryFormPlaceholder":"你希望陪伴者記住什麼?","chat.companionMemoryActionBusy":"新增中…","chat.companionMemoryActionAddSubmit":"新增記憶","chat.companionMemoryFilterAll":"全部","chat.companionMemoryCategoryIdentity":"身份","chat.companionMemoryCategoryPreference":"偏好","chat.companionMemoryCategoryRelationship":"關係","chat.companionMemoryCategoryFact":"事實","chat.companionMemoryCategoryEvent":"事件","chat.companionMemoryCategoryOwnerNote":"管理者備註","chat.companionMemoryEmptyState":"目前還沒有記憶。你的陪伴者會從對話與資源中學習。","chat.companionMemoryEmptyFilterState":"目前沒有符合篩選條件的記憶。","chat.companionMemoryActionRemove":"移除","chat.companionMessageReferenceAvailabilityLivePreview":"即時預覽","chat.companionMessageReferenceAvailabilityMissing":"缺少","chat.companionMessageReferenceAvailabilityDeleted":"已刪除","chat.companionMessageReferenceAvailabilityInaccessible":"目前工作區不可存取","chat.companionMessageReferenceMissingFallbackTitle":"陪伴者內容無法取得","chat.companionMessageReferenceDeletedFallbackTitle":"陪伴者內容已刪除","chat.companionMessageReferenceInaccessibleFallbackTitle":"陪伴者內容來自其他工作區","chat.companionMessageReferenceInaccessibleFallbackDescription":"此陪伴者內容位於不同的平台主機範圍,無法在此開啟。","chat.companionMessageReferenceUnknownCompanionLabel":"陪伴者","chat.companionMessageReferenceUntitledPostTitle":"未命名貼文","chat.companionMessageReferenceUntitledSourceTitle":"未命名陪伴者來源","chat.newChatDraft.composerPlaceholder":"我可以怎麼幫你?","chat.newChatDraft.folderActionLabel":"選擇資料夾","chat.newChatDraft.groupDraftSelectionLabelSingle":"目前已選 1 位參與者,請再新增或準備好後開始發送。","chat.newChatDraft.groupDraftSelectionLabelCount":"目前已選 {count} 位參與者。","chat.newChatDraft.groupDraftSelectionLabelWithCatsOrAssistants":"選擇貓咪、重複使用已儲存的助理,或新增臨時參與者到此群組聊天室。","chat.newChatDraft.groupDraftSelectionLabelWithSettings":"請先在這裡新增臨時參與者,或先至設定建立貓咪與助理後再開始群組聊天。","chat.newChatDraft.assistantPresetAdd":"加入","chat.newChatDraft.assistantPresetReview":"查看","chat.newChatDraft.assistantPresetAdded":"已加入","chat.newChatDraft.temporaryParticipantCancel":"取消","chat.newChatDraft.temporaryParticipantNameLabel":"名稱","chat.newChatDraft.temporaryParticipantNamePlaceholder":"參與者名稱","chat.newChatDraft.temporaryParticipantNameHint":"參與者名稱將從 provider 自動帶入,新增後可再次修改。","chat.newChatDraft.temporaryParticipantSaveName":"儲存名稱","chat.newChatDraft.temporaryParticipantRename":"重新命名","chat.newChatDraft.temporaryParticipantRemove":"移除","chat.newChatDraft.temporaryParticipantRoleHintLabel":"角色提示","chat.newChatDraft.temporaryParticipantRoleHintPlaceholder":"選填:一行式角色描述","chat.newChatDraft.temporaryParticipantSubmit":"加入參與者","chat.newChatDraft.temporaryParticipantOpenForm":"新增臨時參與者","chat.newChatDraft.branchPolicyWorkspaceWorktree":"工作區分支","chat.newChatDraft.branchPolicyWorkspaceSource":"當前資料夾","chat.newChatDraft.branchPolicyWorkspaceSandbox":"沙盒","chat.newChatDraft.branchPolicyAccessReadOnly":"唯讀","chat.newChatDraft.branchPolicyAccessFull":"完全存取","chat.newChatDraft.branchPolicyRelinkAria":"重連到主流程工作階段策略","chat.newChatDraft.branchPolicyDetachAria":"分離分支工作階段策略","chat.newChatDraft.branchPolicyFollowsLeadLabel":"與主流程工作階段策略同步","chat.newChatDraft.branchFolderRelinkAria":"重連分支資料夾到主流程","chat.newChatDraft.branchFolderChooseAria":"選擇分支資料夾","chat.newChatDraft.branchFollowsLeadLabel":"與主流程同步","chat.newChatDraft.branchPromptJumpToLeadTitle":"點擊回到主分支編輯","chat.newChatDraft.branchPromptJumpToLeadAria":"跳到主分支編輯提示詞","chat.newChatDraft.branchAttachAria":"附加","chat.newChatDraft.branchCollaborateAria":"新增另一個模型共同推理","chat.newChatDraft.branchRemoveAria":"移除第 {branchIndex} 分支","chat.newChatDraft.branchAddParallelAria":"新增平行聊天室","chat.newChatDraft.branchAddCompareHint":"新增另一個模型來比較","chat.newChatDraft.branchAttachmentOverrideError":"第 {branchIndex} 分支:附件尚未支援逐分支設定;請移除覆寫。","chat.newChatDraft.collaborateAria":"新增另一個模型共同推理","chat.newChatDraft.collaborateHint":"新增另一個模型共同推理","chat.newChatDraft.removeFolderAria":"移除資料夾","chat.newChatDraft.attachmentRemoveAria":"移除 {fileName}","chat.newChatDraft.addPhotosAndFiles":"新增照片和檔案","chat.newChatDraft.takeScreenshot":"拍攝畫面截圖","shared.screenshotCapture.tooltipDesktopRegion":"擷取螢幕區域","shared.screenshotCapture.tooltipWebPicker":"擷取螢幕、視窗或分頁","shared.screenshotCapture.tooltipUnavailable":"此環境無法使用螢幕擷取","shared.screenshotCapture.permissionRequired":"需要螢幕錄製權限才能擷取截圖。請在 macOS「系統設定」授予 Cats 螢幕存取權,然後重新啟動 Cats。","shared.screenshotCapture.permissionStatusUnknown":"螢幕錄製權限狀態未知:{status}","shared.screenshotCapture.failed":"擷取截圖失敗。","shared.screenshotCapture.frameLoadFailed":"讀取擷取畫面失敗。","shared.screenshotCapture.frameEmpty":"擷取畫面是空的。","shared.screenshotCapture.canvasPrepareFailed":"無法準備截圖畫布。","shared.screenshotCapture.encodeFailed":"無法編碼截圖。","shared.screenshotCapture.downscaleFailed":"無法縮小截圖。","shared.screenshotCapture.displayUnavailable":"截圖失敗:選取的顯示器已無法使用。","shared.screenshotCapture.regionUnsupported":"此桌面環境無法使用區域截圖。","shared.screenshotCapture.noDisplays":"沒有可用於截圖的顯示器。","shared.screenshotCapture.wlrootsSessionUnsupported":"目前工作階段無法使用原生 wlroots 截圖。","shared.screenshotCapture.wlrootsToolsRequired":"原生 wlroots 截圖需要 grim 和 slurp。","shared.screenshotCapture.wlrootsSelectionParseFailed":"無法解析 wlroots 截圖選取範圍。","shared.artifactCanvas.title":"Artifact Canvas","shared.artifactCanvas.loading":"正在載入 Artifact Canvas…","shared.artifactCanvas.loadFailed":"無法載入 Artifact Canvas。","shared.artifactCanvas.invalidRoute":"Artifact Canvas 路由缺少成品 ID。","shared.artifactCanvas.close":"關閉","shared.artifactCanvas.collapse":"收合","shared.artifactCanvas.expand":"展開","shared.artifactCanvas.refresh":"重新整理","shared.artifactCanvas.openExternal":"外部開啟","shared.artifactCanvas.resizePane":"調整 Artifact Canvas 窗格寬度","shared.artifactCanvas.unsupportedTitle":"目前無法內嵌顯示","shared.artifactCanvas.unsupportedBody":"此成品尚未提供安全的內嵌呈現。","shared.artifactCanvas.policyVersion":"Policy version","chat.newChatDraft.cancelSendAria":"取消發送","chat.newChatDraft.sendAria":"送出","chat.newChatDraft.sendAllChatsAria":"送出給全部聊天室","chat.newChatDraft.startVoiceInputAria":"開始語音輸入","chat.newChatDraft.stopVoiceInputAria":"停止語音輸入{privacyMessageSuffix}","chat.audience.removeParticipantAria":"移除 {name}","chat.audience.removeParticipantFromAudienceAria":"從受眾移除 {name}","shared.voiceInput.error.notAllowed":"麥克風存取遭拒。請檢查系統與瀏覽器權限。","shared.voiceInput.error.serviceNotAllowed":"此環境無法使用語音輸入。","shared.voiceInput.error.audioCapture":"未偵測到麥克風。","shared.voiceInput.error.network":"語音輸入無法連線到辨識服務。","shared.voiceInput.error.languageNotSupported":"語音輸入不支援目前語言。","shared.voiceInput.error.permissionDenied":"麥克風存取遭拒。請檢查系統語音權限。","shared.voiceInput.error.permissionNotDetermined":"語音輸入需要系統麥克風與語音權限。","shared.voiceInput.error.micUnavailable":"未偵測到麥克風。","shared.voiceInput.error.engineUnavailable":"此裝置無法使用語音輸入。","shared.voiceInput.error.helperCrashed":"語音輸入意外停止。","shared.voiceInput.failedWithKind":"語音輸入失敗({kind})。","shared.voiceInput.privacyUnknown":"語音輸入可能依 Windows 隱私設定使用 Microsoft 線上語音服務。","shared.voiceInput.privacyCloud":"語音輸入正在使用線上語音服務。","chat.draftCompareCarousel.ariaLabel":"比較分支輪播","chat.draftCompareCarousel.previousBranchAria":"上一個分支","chat.draftCompareCarousel.nextBranchAria":"下一個分支","chat.draftCompareCarousel.selectBranchAria":"選擇分支","chat.draftCompareCarousel.goToBranchAria":"前往第 {branchIndex} 分支","chat.composerArea.attachAria":"附加檔案","chat.composerArea.placeholderParallelWaiting":"等待其他平行回覆…","chat.composerArea.placeholderReply":"回覆…","chat.composerArea.scrollToLatestAria":"捲動到最新","chat.composerArea.stopButtonLabel":"停止","chat.composerArea.switchSendModeLabel":"切換傳送模式","chat.composerArea.sendToThisChatAria":"傳送到目前聊天室","chat.activityEyebrow":"活動","chat.activityLatestUpdatesHeading":"最新更新","chat.activityEmptyState":"當聊天室開始運作時,活動將會顯示在這裡。","chat.activityByActor":"由 {actorName}","chat.participantsSectionNameLabel":"參與者名稱","chat.participantsSectionSaveNameButton":"儲存名稱","chat.participantsSectionCancelButton":"取消","chat.participantsSectionRenameButton":"重新命名","chat.participantsSectionNoParticipants":"聊天室裡目前沒有參與者。","chat.participantsSectionChooseCatsButton":"選擇貓","chat.transcriptMessageCheckWithOthersLabel":"與其他人討論","chat.transcriptMessageSynthesizeWithOthersLabel":"與其他人綜合","chat.transcriptMessageImproveWithOthersLabel":"與其他人改進","chat.transcriptMessageAdoptWithOthersLabel":"與其他人採用","chat.transcriptMessageCounterWithOthersLabel":"與其他人反駁","chat.transcriptMessageDebateWithOthersLabel":"與其他人辯論","chat.transcriptMessageCopyLabel":"複製訊息","chat.transcriptMessageRetryResponseLabel":"重試回覆","chat.transcriptMessageRelayToOthersLabel":"轉發給其他人","chat.transcriptMessageFailedStatusLabel":"回覆失敗","chat.productIntent.ack.unsupportedDirectAudience":"產品模式指令在此 MVP 需要剛好一隻直接對話的 Cat。","chat.productIntent.ack.unsupportedContext":"產品模式指令在此 MVP 只支援直接訊息。","chat.productIntent.ack.chatActive":"Chat 模式已啟用。","chat.productIntent.ack.workHumanGate":"Work 模式已啟用。我可以先在這裡協助釐清,但需要人類在 Work 建立或確認 Work Item,或改切換到能承接耐久工作的 Cat。","chat.productIntent.ack.workStrongAnchor":"Work 模式已啟用。已建立用於釐清的 Work Item 草稿錨點。","chat.productIntent.ack.workClarify":"Work 模式已啟用。我會先釐清工作再建立項目。","chat.productIntent.ack.codeHumanGate":"Code 模式已啟用。我可以先在這裡協助釐清,但需要人類在 Work 建立或確認 Work Item,才能開始 Code 執行。","chat.productIntent.ack.codeStrongAnchor":"Code 模式已啟用。已建立以 Code 為目標的 Work Item 草稿錨點。","chat.productIntent.ack.codeClarify":"Code 模式已啟用。我會先釐清程式工作再建立項目。","chat.productIntent.humanGate.draftSummaryFallback":"先釐清這個 {targetProduct} 請求,再建立工作。","chat.productIntent.humanGate.continueClarifying":"在這個直接對話中繼續釐清","chat.productIntent.humanGate.openWorkItems":"在 Work 建立或確認 Work Item","chat.productIntent.humanGate.switchCat":"切換到能承接耐久工作的 Cat","chat.productIntent.humanGate.question":"選擇這次工作 intake 的下一步。","chat.productIntent.draft.title.work":"直接 Work intake","chat.productIntent.draft.title.code":"直接 Code intake","chat.productIntent.draft.summary":"從直接對話建立的 {targetProduct} intake 草稿,用於釐清需求。","chat.productIntent.draft.goalFallback":"釐清直接對話中的這個 {targetProduct} 請求。","chat.productIntent.draft.successCriteria":"與 owner 釐清可衡量的成功條件。","chat.productIntent.draft.outOfScope":"尚未確認,需等 owner 與 Cat 完成釐清。","chat.productIntent.draft.openQuestion":"這項工作要產生什麼成果?","chat.implicitProductIntent.suggestion.work":"這看起來像 Work。確認後 Cats 才會建立耐久工作。","chat.implicitProductIntent.suggestion.code":"這看起來像 Code。確認後 Cats 才會建立耐久程式工作。","chat.implicitProductIntent.question":"要把這則訊息轉成 {targetProduct} intake 嗎?","chat.implicitProductIntent.confirm.work":"轉成 Work","chat.implicitProductIntent.confirm.code":"轉成 Code","chat.implicitProductIntent.decline":"保留為 chat","chat.implicitProductIntent.confirmed.work":"已確認 Work intake。","chat.implicitProductIntent.confirmed.code":"已確認 Code intake。","chat.implicitProductIntent.declined":"已保留為 chat。","chat.implicitProductIntent.expired":"建議已過期。","shared.addCatPanelTitle":"新增貓到聊天室","shared.addCatPanelClose":"關閉","shared.addCatPanelChooseExisting":"選擇既有","shared.addCatPanelCreateNew":"建立新貓","shared.addCatPanelAdding":"加入中…","shared.addCatPanelRemoving":"移除中…","shared.addCatPanelRemove":"移除","shared.addCatPanelAdd":"加入","shared.addCatPanelNoOtherCats":"目前沒有其他貓,請先建立一隻。","shared.addCatPanelAllCatsInChat":"所有貓都已加入此聊天室。","shared.addCatPanelNameLabel":"名稱","shared.addCatPanelNamePlaceholder":"貓咪名稱","shared.addCatPanelSaving":"儲存中…","shared.addCatPanelCreateAndAdd":"建立並加入","shared.addCatPanelCreateAndAddToChat":"建立並加入聊天室","shared.audience.popoverHeader":"觀眾","shared.audience.selectAudienceLabel":"選擇參與者","shared.audience.workflowSequential":"順序","shared.audience.workflowConcurrent":"同時","shared.audience.switchToSequentialModeLabel":"切換到順序模式","shared.audience.switchToConcurrentModeLabel":"切換到同時模式","shared.workspaceMode.currentLabel":"目前資料夾","shared.workspaceMode.worktreeLabel":"獨立工作區","shared.workspaceMode.currentTooltip":"直接修改所選資料夾中的檔案。","shared.workspaceMode.worktreeTooltip":"為此儲存庫建立平行的工作目錄。需要 Git 儲存庫。","shared.telegramConnectDialog.title":"連線 Telegram","shared.telegramConnectDialog.botUsernameLabel":"機器人使用者名稱","shared.telegramConnectDialog.botUsernamePlaceholder":"my_cat_bot","shared.telegramConnectDialog.botTokenLabel":"機器人權杖","shared.telegramConnectDialog.botTokenPlaceholder":"從 @BotFather 取得","shared.telegramConnectDialog.modeLabel":"模式","shared.telegramConnectDialog.modePolling":"輪詢","shared.telegramConnectDialog.modeWebhook":"Webhook","shared.telegramConnectDialog.webhookSecretLabel":"Webhook 密鑰","shared.telegramConnectDialog.webhookSecretPlaceholder":"選填","shared.telegramConnectDialog.cancel":"取消","shared.telegramConnectDialog.connecting":"連線中…","shared.telegramConnectDialog.connect":"連線","shared.catsCreateCreateSection":"建立","shared.catsCreateNewCat":"新增貓咪","shared.catsCreateCatLimitReached":"已達到貓咪上限","shared.catsCreateAddNewCatHint":"新增一隻貓咪到你的名單","shared.catsCreateCatNamePlaceholder":"貓咪名稱","shared.catsCreateCancel":"取消","shared.catsCreateSaving":"儲存中…","shared.catsCreateSaveCat":"儲存貓咪","shared.permissionMode.fullAccess":"完整存取","shared.permissionMode.readOnly":"唯讀","shared.composerSurface.label.chat":"Chat","shared.composerSurface.label.work":"Work","shared.composerSurface.label.code":"Code","shared.composerSurface.clearAria":"清除 {surfaceLabel} 介面標籤","shared.providerModel.support.advanced":"進階","shared.providerModel.support.readOnly":"唯讀","shared.delete.parallelChatGroup.title":"刪除所有對話","shared.delete.parallelChatGroup.message":"要刪除「{groupTitle}」中的所有對話嗎?這會移除每個對話並清理連結的執行階段工作階段。此動作無法復原。","shared.delete.parallelChatGroup.confirm":"全部刪除","shared.delete.parallelChatGroup.fallback":"這個平行聊天","shared.delete.cat.title":"刪除貓咪","shared.delete.cat.message":"要刪除「{catName}」嗎?這會移除這隻貓咪並清理連結的執行階段工作階段。此動作無法復原。","shared.delete.cat.confirm":"刪除","shared.delete.cat.fallback":"這隻貓","shared.transcript.deletedCat":"已刪除的貓","telegram.command.start.description":"開始對話","telegram.command.help.description":"顯示可用指令","telegram.command.commands.description":"列出所有指令","telegram.command.status.description":"顯示連線狀態","telegram.command.open.description":"開啟新的聊天室","telegram.command.mode.description":"查看或切換陪伴與代理模式","telegram.command.chat.description":"使用一般聊天模式","telegram.command.work.description":"釐清並建立 Work Item","telegram.command.code.description":"釐清 Code 工作","telegram.command.help.text":["可用指令:","/start - 顯示已綁定的貓咪以及這個 bot 的使用方式","/help - 顯示這則說明","/commands - 列出所有指令","/status - 顯示 bot、綁定與模式狀態","/open - 開啟或繼續已綁定貓咪的對話","/mode - 顯示目前模式","/mode companion - 切換到陪伴行為","/mode agent - 切換到代理行為","/chat - 使用一般聊天模式","/work - 釐清並建立 Work Item","/code - 釐清 Code 工作"].join(`
|
|
34
|
+
`),"telegram.command.mode.companion":"陪伴","telegram.command.mode.agent":"代理","telegram.command.start.greetingBound":"你好!我是 {catName}(透過 {botName})。目前模式:{mode}。直接傳一般訊息即可聊天,或使用 /mode 切換行為。","telegram.command.start.greetingUnbound":"你好!我是 {botName}。有什麼我可以幫忙的嗎?","telegram.command.status.botLine":"Bot:{botName}","telegram.command.status.linkedCatLine":"已綁定貓咪:{catName}","telegram.command.status.modeLine":"模式:{mode}","telegram.command.status.inboundLine":"輸入通道:{inboundMode}","telegram.command.status.chatLine":"聊天:{chatId}","telegram.command.status.connectedLine":"狀態:已連線","telegram.command.open.reply":"請在 Cats 中開啟與 {name} 的私人對話,或直接在這裡傳一般訊息繼續聊天。","telegram.command.mode.notConfigurable":"這個 bot 目前沒有綁定可設定的貓咪。","telegram.command.mode.current":`目前模式:{mode}
|
|
35
|
+
使用 /mode companion 或 /mode agent 來切換。`,"telegram.command.mode.unknown":`未知模式:{mode}
|
|
36
|
+
請使用 /mode companion 或 /mode agent。`,"telegram.command.mode.switchUnavailable":"這個 bot 綁定目前無法切換模式。","telegram.command.mode.switched":`已將 {name} 切換為{mode}模式。
|
|
37
|
+
之後此聊天中的一般訊息會使用該模式。`,"telegram.command.unknownCommand":`未知指令:/{command}
|
|
38
|
+
輸入 /help 查看可用指令。`,"shared.operator.noTimestamp":"沒有時間","shared.operator.runStatus.running":"進行中","shared.operator.runStatus.blocked":"受阻","shared.operator.runStatus.completed":"已完成","shared.operator.runStatus.failed":"失敗","shared.operator.runStatus.cancelled":"已取消","shared.operator.runStatus.queued":"排隊中","shared.operator.runStatus.title":"執行狀態","shared.operator.branchStatus.pending":"等待中","shared.operator.branchStatus.running":"執行中","shared.operator.branchStatus.completed":"已完成","shared.operator.branchStatus.failed":"失敗","shared.operator.branchStatus.blocked":"受阻","shared.operator.branchStatus.cancelled":"已取消","shared.operator.branchStatus.waitingForConverge":"等待匯合","shared.operator.checkpointStatus.completed":"完成","shared.operator.checkpointStatus.cancelled":"已取消","shared.operator.checkpointStatus.open":"進行中","shared.operator.outcomeStatus.succeeded":"成功","shared.operator.outcomeStatus.blocked":"受阻","shared.operator.outcomeStatus.failed":"失敗","shared.operator.outcomeStatus.cancelled":"已取消","shared.operator.traceKind.approval":"批准","shared.operator.traceKind.checkpoint":"檢查點","shared.operator.traceKind.dispatch":"派工","shared.operator.traceKind.error":"錯誤","shared.operator.traceKind.outcome":"結果","shared.operator.traceKind.status":"狀態","shared.operator.traceKind.note":"附註","shared.operator.activity.label.recovery":"復原","shared.operator.activity.label.replay":"重放","shared.operator.activity.label.decision":"決策","shared.operator.activity.label.action":"動作","shared.operator.activity.label.artifact":"成果物","shared.operator.activity.label.update":"更新","shared.operator.activity.label.trace":"軌跡","shared.operator.eyebrow.inspector":"檢視器","shared.operator.runInspector.title":"執行檢視","shared.operator.runInspector.noHistory":"請選擇一個有歷史紀錄的房間,以查看軌跡與檢查點。","shared.operator.runInspector.summaryFallback":"這裡會顯示本次執行的軌跡、檢查點與結果紀錄。","shared.operator.meta.started":"開始於 {time}","shared.operator.meta.updated":"更新於 {time}","shared.operator.meta.stage":"階段:{stage}","shared.operator.workflowStage.blocked":"受阻","shared.operator.workflowStage.concurrentFanOut":"並行展開","shared.operator.workflowStage.continuationHandoff":"續接交接","shared.operator.workflowStage.convergeReview":"匯合檢閱","shared.operator.workflowStage.dispatch":"派工","shared.operator.workflowStage.initialDispatch":"初始派工","shared.operator.workflowStage.runtimeError":"執行階段錯誤","shared.operator.workflowStage.startupRecovery":"啟動復原","shared.operator.workflowStage.turnCompleted":"回合完成","shared.operator.meta.shape":"形態:{shape}","shared.operator.meta.reviewRequired":"需要檢閱","shared.operator.meta.guardrail":"保護條件:{guardrail}","shared.operator.meta.cooldown":"冷卻:{cooldown}","shared.operator.guard.maxContinuations":"達到最大續接次數","shared.operator.guard.maxDispatches":"達到最大派工次數","shared.operator.guard.maxTargetVisits":"達到單一目標最大造訪次數","shared.operator.guard.antiPingPong":"防止來回轉派","shared.operator.cooldown.active":"冷卻中","shared.operator.section.trace":"軌跡","shared.operator.section.checkpoints":"檢查點","shared.operator.noCheckpointsRecorded":"本次執行尚無檢查點紀錄。","shared.operator.checkpointSummaryFallback":"已紀錄檢查點。","shared.operator.section.branches":"分支","shared.operator.noBranchesRecorded":"本次執行尚無分支或交接紀錄。","shared.operator.branch.handoff":"交接:{handoffReason}","shared.operator.branch.strategy":"策略:{strategy}","shared.operator.branchStrategy.forkIfPossible":"可行時分支","shared.operator.branchStrategy.freshNoParent":"新分支無父層","shared.operator.branchStrategy.singleTargetReview":"單一目標檢閱","shared.operator.branchStrategy.transplantContext":"沿用上下文","shared.operator.branchHandoff.explicitMention":"明確提及","shared.operator.branchHandoff.operatorReroute":"操作員改派","shared.operator.branchHandoff.roomDefault":"房間預設","shared.operator.branchHandoff.roomEntry":"進入房間","shared.operator.branchHandoff.runtimeRetry":"執行階段重試","shared.operator.branchHandoff.workflowContinuation":"工作流程續接","shared.operator.branch.fromCheckpoint":"來源檢查點:{checkpointId}。","shared.operator.branch.noLineage":"尚未錄到檢查點血緣。","shared.operator.section.outcomes":"結果","shared.operator.noOutcomesRecorded":"本次執行尚無結果紀錄。","shared.operator.outcomeSummaryFallback":"已紀錄結果。","shared.operator.eyebrow.progress":"進度","shared.operator.noActiveRun":"目前沒有啟動中的 room 執行。請先開始或繼續對話以查看派工狀態。","shared.operator.progressSummaryFallback":"目前可檢視 room 的編排狀態。","shared.operator.metric.dispatches":"派工次數","shared.operator.metric.continuations":"續接次數","shared.operator.metric.targets":"目標數","shared.operator.approvalPending.singular":"{count} 項待處理同意","shared.operator.approvalPending.plural":"{count} 項待處理同意","shared.operator.meta.delivery":"交付:{deliveryMode}","shared.operator.meta.gates":"門檻:{gates}","shared.operator.meta.budget":"預算:{budgetLevel}","shared.operator.deliveryMode.artifactOnly":"僅成果物","shared.operator.deliveryMode.commitOnly":"僅提交","shared.operator.deliveryMode.deployPreview":"部署預覽","shared.operator.deliveryMode.prWithChecks":"含檢查的 Pull Request","shared.operator.deliveryMode.pushBranch":"推送分支","shared.operator.deliveryGate.manualReviewRequired":"需要人工檢閱","shared.operator.deliveryGate.ownerApprovalRequired":"需要擁有者核准","shared.operator.deliveryGate.publishArtifactRequired":"需要發布成果物","shared.operator.budgetLevel.normal":"正常","shared.operator.budgetLevel.warning":"警告","shared.operator.budgetLevel.blocked":"受阻","shared.operator.workflowShape.sequential":"依序","shared.operator.workflowShape.concurrent":"並行","shared.operator.workflowShape.converge":"匯合","shared.operator.inspectRunButton":"檢視執行","shared.operator.noTraceRecords":"本次執行尚無軌跡紀錄。","shared.operator.action.requestRetry":"要求重試","shared.operator.action.retryAgain":"再次重試","shared.operator.action.retrying":"重試中","shared.operator.action.retryRequested":"已要求重試","shared.operator.action.acknowledge":"標記已知悉","shared.operator.action.acknowledged":"已知悉","shared.operator.action.retryDescription":"記錄操作員希望重試這個受阻或失敗的執行。","shared.operator.action.replayStoredDispatchDescription":"透過既有操作員路徑重放已儲存的派工或工作流程延續。","shared.operator.action.retryTaskDescription":"記錄操作員希望重試這個受阻或失敗的任務。","shared.operator.action.retryFailedDescription":"重試失敗。操作員可以再次重放已儲存的派工。","shared.operator.action.acknowledgeDescription":"記錄操作員已查看目前的保護條件或事件狀態。","shared.operator.action.acknowledgeBlockedDescription":"記錄操作員已查看目前受阻或失敗的狀態。","shared.operator.action.status.retryInProgress":"重試進行中","shared.operator.action.status.retryFailed":"重試失敗","shared.operator.action.status.retryFailedWithError":"重試失敗:{error}","shared.operator.action.status.retryDispatched":"已派送重試","shared.operator.action.status.retryRequested":"已要求重試","shared.operator.action.status.acknowledged":"已知悉","shared.common.apply":"套用","shared.common.cancel":"取消","shared.common.close":"關閉","shared.common.delete":"刪除","shared.common.retry":"重試","shared.guideCat.panelGreeting":"嗨 {ownerDisplayName},我是 {guideCatName},你的導覽貓。可以點這些項目開始,或關閉面板自己探索吧。","shared.guideCat.welcomeGreeting":"歡迎,{ownerDisplayName}。我是你的導覽貓。這裡有一些你可以先嘗試的功能。","shared.guideCat.welcomeStartChat":"先開始一則聊天","shared.guideCat.welcomeMeetCats":"認識你的貓","shared.guideCat.welcomeExploreProducts":"探索產品","shared.guideCat.welcomeHideNow":"先隱藏","shared.guideCat.pillOpenLabel":"開啟導覽:{guideCatName}","shared.guideCat.pillDisableLabel":"停用導覽貓","shared.guideCat.dockUndockLabel":"取消停駐 {guideCatName}","shared.guideCat.dialog.disableTitle":"停用 {guideCatName}?","shared.guideCat.dialog.disableMessage":"這會關閉 {guideCatName} 的導覽幫助。若只是想先藏起來,可先將其收進側欄。你隨時可以回到「設定」>「助手」重新開啟。","shared.guideCat.dialog.disableConfirm":"停用","shared.guideCat.dialog.keepEnabled":"保留啟用","shared.guideCat.dialog.dockNow":"立即收合","shared.imageUpload.clickHint":"點擊以選擇圖片","shared.imageUpload.dragHint":"拖曳來移動畫面,滾動可縮放","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackOne":"對話已刪除;Cats 執行階段保留了 {count} 個連結的執行階段工作階段。如需清理磁碟,請開啟執行階段診斷。","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackMany":"對話已刪除;Cats 執行階段保留了 {count} 個連結的執行階段工作階段。如需清理磁碟,請開啟執行階段診斷。","shared.workspaceNavigation.renameChatError":"重新命名聊天失敗。","shared.workspaceNavigation.deleteChatError":"刪除聊天失敗。","shared.workspaceNavigation.renameParallelChatError":"重新命名平行聊天失敗。","shared.workspaceNavigation.ungroupParallelChatError":"取消群組平行聊天失敗。","shared.workspaceNavigation.deleteParallelChatGroupError":"刪除所有聊天失敗。","shared.workspaceNavigation.parallelChatFallbackName":"這個平行聊天","shared.workspaceNavigation.error.chatNotFound":"找不到這個聊天工作區。","shared.workspaceNavigation.error.channelNotFound":"找不到這個聊天室。","shared.workspaceNavigation.error.parallelChatGroupNotFound":"找不到這個平行聊天群組。","shared.workspaceNavigation.error.titleRequired":"聊天標題不可空白。","shared.workspaceNavigation.error.parallelChatTitleRequired":"平行聊天標題不可空白。","shared.settingsCatsRegistry.sectionLabel":"註冊表","shared.settingsCatsRegistry.savedCatsLabel":"已儲存貓咪","shared.settingsCatsRegistry.noCatsYetLabel":"尚未有貓咪","shared.settingsCatsRegistry.showArchivedLabel":"顯示封存({count})","shared.settingsCatsRegistry.bossCatLabel":"主控貓","shared.settingsCatsRegistry.recoverLabel":"恢復","shared.settingsCatsRegistry.recoverTooltip":"恢復 {name}","shared.settingsCatsRegistry.deleteTooltip":"刪除 {name}","shared.settingsCatsRegistry.archiveTooltip":"封存 {name}","shared.settingsCatsRegistry.defaultSkillProfileLabel":"預設","shared.settingsCatsRegistry.memorySavedLabel":"已記憶","shared.settingsCatsRegistry.noMemoryYetLabel":"尚未有記憶","shared.settingsCatsRegistry.botBindingCount":"{count} 個機器人","shared.settingsCatsRegistry.emptyStateHint":"從右側面板新增第一隻貓咪。","shared.settingsCats.selectCatAriaLabel":"選擇貓咪","shared.settingsCats.addNewCatLabel":"新增貓咪","shared.settingsCats.showArchivedLabel":"顯示封存({count})","shared.settingsCats.archiveLabel":"封存","shared.settingsCats.deleteLabel":"刪除","shared.settingsCats.channelLabel":"通道","shared.settingsCats.memoryLabel":"記憶","shared.settingsCats.renameLabel":"重新命名","shared.settingsCats.save":"儲存","shared.settingsCats.saving":"儲存中…","shared.settingsCats.bossCatLabel":"主控貓","shared.settingsCats.changeBossCatTitle":"更改主控貓","shared.settingsCats.changeBossCatMessage":"將 {name} 設為主控貓?這將更改新對話的預設接收對象。","shared.settingsCats.confirm":"確認","shared.settingsCats.setting":"設定中…","shared.settingsCats.saveSuccess":"貓咪已儲存。","shared.settingsCats.saveError":"儲存貓咪失敗。","shared.settingsCats.renameSuccess":"貓咪已重新命名。","shared.settingsCats.renameError":"重新命名貓咪失敗。","shared.settingsCats.deleteSuccess":"{catName} 已刪除。","shared.settingsCats.deleteError":"刪除貓咪失敗。","shared.settingsCats.bossUpdated":"主控貓已更新。","shared.settingsCats.status.active":"啟用","shared.settingsCats.status.archived":"已封存","shared.settingsCats.makeBossCatLabel":"將 {name} 設為主控貓","shared.settingsCats.setBossCatLabel":"設為主控貓","shared.settingsCats.setBossCatError":"無法將其設為主控貓。","shared.settingsCats.skillUpdateError":"更新技能失敗。","shared.settingsCats.skillProfileLabel":"技能檔案","shared.settingsCats.mcpProfileLabel":"工具檔案","shared.settingsCats.mcpProfileChatMemoryLabel":"聊天記憶","shared.settingsCats.mcpProfileWorkMemoryLabel":"工作記憶","shared.settingsCats.changeMcpProfileError":"無法變更工具檔案。","shared.settingsCats.coverPhotoLabel":"封面圖片","shared.settingsCats.changeCoverPhotoLabel":"更換封面圖片","shared.settingsCats.uploadCoverPhotoLabel":"上傳封面圖片","shared.settingsCats.changeCoverLabel":"更換封面","shared.settingsCats.uploadCoverLabel":"上傳封面","shared.settingsCats.removeCoverLabel":"移除封面","shared.settingsCats.changeSkillProfileError":"無法變更技能檔案。","shared.settingsCats.updateBrainError":"更新大腦設定失敗。","shared.settingsCats.disconnectTelegramAria":"中斷 Telegram 連線","shared.settingsCats.disconnectTelegram":"中斷連線","shared.settingsCats.bindingActive":"啟用","shared.settingsCats.bindingDisabled":"停用","shared.settingsCats.bindingPollingMode":"輪詢","shared.settingsCats.bindingWebhookMode":"Webhook","shared.settingsCats.telegramBindingCreated":"Telegram 機器人綁定已建立。","shared.settingsCats.telegramBindingCreateError":"建立綁定失敗。","shared.settingsCats.telegramBindingRemoved":"綁定已移除。","shared.settingsCats.telegramBindingRemoveError":"移除綁定失敗。","shared.settingsCats.telegramDiagnosticsLoadError":"載入 Telegram 診斷資訊失敗。","shared.settingsCats.lastInboundLabel":"最後入站 {time}","shared.settingsCats.connectTelegramLabel":"連線 Telegram","shared.settingsCats.unavailableHint":"已封存或非聊天貓無法使用。","shared.settingsCats.addMemoryLabel":"新增記憶","shared.settingsCats.deleteMemoryAria":"刪除記憶","shared.settingsCats.skillProfileDefaultLabel":"預設","shared.settingsCats.skillProfileCompanionLabel":"助手","shared.settingsCats.memoryCategoryPreferenceLabel":"偏好","shared.settingsCats.memoryCategoryFactLabel":"事實","shared.settingsCats.memoryCategoryPolicyLabel":"規範","shared.settingsCats.memoryCategoryStyleLabel":"風格","shared.settingsCats.memoryCategoryRelationshipLabel":"關係","shared.settingsCats.memoryCategoryLessonLabel":"學習","shared.settingsCats.fallbackCatName":"這隻貓咪","shared.settingsCats.archiveConfirmTitle":"封存貓咪","shared.settingsCats.archiveConfirmMessage":"要封存「{catName}」嗎?之後仍可從設定復原。","shared.settingsCats.archiveWithTelegramConfirmMessage":"要封存「{catName}」嗎?Telegram 機器人綁定會被移除,但之後仍可從設定復原。","shared.settingsCats.archiveSuccess":"{catName} 已封存。","shared.settingsCats.archiveError":"封存貓咪失敗。","shared.settingsCats.recoverConfirmTitle":"復原貓咪","shared.settingsCats.recoverConfirmMessage":"要從封存復原「{catName}」嗎?","shared.settingsCats.recoverConfirmLabel":"復原","shared.settingsCats.recoverSuccess":"{catName} 已復原。","shared.settingsCats.recoverError":"復原貓咪失敗。","shared.settingsCats.error.nameRequired":"請輸入貓咪名稱。","shared.settingsCats.error.providerRequired":"請選擇貓咪供應器。","shared.settingsCats.error.nameEmpty":"貓咪名稱不可空白。","shared.settingsCats.error.alreadyArchived":"這隻貓咪已封存。","shared.settingsCats.error.alreadyActive":"這隻貓咪已啟用。","shared.settingsCats.error.archiveRecoverConflict":"貓咪不可同時封存與復原。","shared.settingsCats.error.noProducts":"請至少為這隻貓咪選擇一個產品。","shared.settingsCats.error.botTokenDuplicate":"這個 bot token 已被另一個綁定使用。","shared.settingsCats.error.nameDuplicate":"已存在名為「{name}」的貓咪。","shared.settingsCats.error.limitReached":"已達貓咪數量上限(最多 {maxCats} 隻)。","shared.settingsCats.error.notFound":"找不到這隻貓咪。","shared.settingsCats.error.notActive":"這隻貓咪尚未啟用。","shared.settingsCats.error.notAvailableInChat":"這隻貓咪無法在 Cats Chat 使用。","shared.settingsCats.error.botBindingNotFound":"找不到 bot 綁定。","shared.platformSurfaceSwitcher.menuLabel":"切換產品","shared.platformSurfaceSwitcher.openLobby":"開啟大廳","shared.platformSurfaceSwitcher.ariaLabel":"切換產品。目前產品為 {productName}。","shared.providerModelBrainCard.title":"大腦","shared.providerModel.controls.default":"預設","shared.providerModel.controls.enabled":"啟用","shared.providerModel.controls.disabled":"停用","shared.providerModel.controls.optionalPlaceholder":"選填","shared.providerModel.field.providerLabel":"供應器","shared.providerModel.field.loadingProviders":"正在載入可用的供應器…","shared.providerModel.field.selectProviderHint":"請選擇可用的供應器","shared.providerModel.field.providerLoadFailed":"無法載入執行階段支援的供應器","shared.providerModel.field.noProviders":"沒有執行階段支援的供應器可用","shared.providerModel.field.registryCheckingHint":"正在檢查 cats-runtime 可用的供應器目標。","shared.providerModel.field.registryUsingProductCatalogHint":"檢查 cats-runtime 供應器目標時,先使用產品內建供應器目錄。","shared.providerModel.field.registryStaleHint":"cats-runtime 重新連線時,先顯示上次可用的供應器目標。","shared.providerModel.field.registryCachedRefreshFailedHint":"重新整理失敗,先顯示快取的供應器目標:{message}","shared.providerModel.field.registryLoadFailedHint":"無法從 cats-runtime 載入目前可用的供應器目標。","shared.providerModel.field.registryEmptyHint":"cats-runtime 已連線,但沒有回報任何目前可用的供應器目標。","shared.providerModel.field.providerInstanceLabel":"供應器實例","shared.providerModel.field.modelLabel":"模型","shared.providerModel.field.retryProvidersFirst":"請先重新載入供應器","shared.providerModel.field.selectProviderFirst":"請先選擇可用的供應器","shared.providerModel.field.waitingProviders":"正在等待可用的供應器…","shared.providerModel.field.loadingModels":"正在載入可用模型…","shared.providerModel.field.selectModel":"選擇模型","shared.providerModel.field.noModels":"沒有執行階段支援的模型可用","shared.providerModel.field.customLegacyModelLabel":"自訂舊版模型…","shared.providerModel.field.legacyModelIdLabel":"舊版模型 ID","shared.providerModel.field.legacyModelIdPlaceholder":"例如 claude-sonnet-4-6","shared.providerModel.field.legacyModelIdHint":"手動輸入模型 ID 會直接傳遞。執行階段會把它視為舊版 `model` 欄位,而不是結構化項目/預設選擇。","shared.providerModel.field.modeLabel":"模式","shared.providerModel.field.modeStandardLabel":"標準","shared.providerModel.field.modeStandardOnlyLabel":"僅標準","shared.providerModel.field.presetPreviewSuffix":"(預覽)","shared.providerModel.field.presetUnavailableSuffix":"(不可用)","shared.providerModel.field.presetTuningDescriptionFallback":"這個模型的額外參數。","shared.providerModel.field.modeOnlyBaseHint":"此供應器目標只會對持久化的聊天/會話設定曝光基礎模型。","shared.providerModel.field.requestScopedWarning":"這裡隱藏了只可套用於個別請求的覆寫,因為這組選擇器會寫回聊天/會話預設。","shared.providerModel.field.openRuntimeSetupLabel":"開啟 Cats 執行階段設定","shared.providerModel.field.advancedCatalogUnavailable":"執行階段進階模型目錄無法使用。","shared.providerModel.field.catalogKindModel":"模型","shared.providerModel.field.catalogKindAdvancedModel":"進階模型","shared.providerModel.field.runtimeCatalogUnavailable":"執行階段{catalogKind}目錄無法使用。","shared.providerModel.field.runtimeCatalogUnavailableWarning":"cats-runtime 重新整理時,先使用產品內建的{catalogKind}目錄:{message}","shared.memoryEditorDialog.title":"新增記憶","shared.memoryEditorDialog.categoryLabel":"分類","shared.memoryEditorDialog.contentLabel":"內容","shared.memoryEditorDialog.memoryPlaceholder":"這隻貓咪需要記住些什麼?","shared.memoryEditorDialog.cancel":"取消","shared.memoryEditorDialog.saving":"儲存中…","shared.memoryEditorDialog.add":"新增","shared.approvalEyebrow":"核准","shared.approvalPendingTitle":"待核准項目","shared.approvalEmptyState":"在此由指揮面板保持運轉,直到任務需要由負責人做判斷決定。","shared.approvalRequester":"指揮者","shared.approvalSummaryFallback":"請先確認此次派工,再讓 Cats 繼續。","shared.approvalRequestedBy":"提交者:{requestedBy}","shared.approval.action.approve":"核准","shared.approval.action.reroute":"改派路徑","shared.approval.action.reject":"拒絕","shared.approval.action.approveDescription":"允許編排計畫繼續。","shared.approval.action.rerouteDescription":"將計畫退回,改用其他交接或派工路徑。","shared.approval.action.rejectDescription":"不允許計畫繼續。","shared.catInspectTitle":"貓咪預設","shared.catInspectClose":"關閉","shared.catInspectBossLabel":"主控","shared.catInspectProviderLabel":"供應器","shared.catInspectInstanceLabel":"實例","shared.catInspectModelLabel":"模型","shared.catInspectSkillProfileLabel":"技能檔案","shared.catInspectSharedPresetDescription":"這是共用的貓咪預設。這裡的變更會影響所有使用此貓咪的對話。","shared.messageChoicesCustom":"自訂","shared.messageChoicesAddCustomPlaceholder":"輸入你的答案","shared.messageChoicesSkipped":"發起者已略過這些選項。","shared.messageChoicesRecorded":"發起者回應已記錄。","shared.messageChoicesConfirm":"確認","shared.messageChoicesSkip":"跳過","shared.folderBrowserEnterPath":"輸入路徑","shared.folderBrowserGo":"前往","shared.folderBrowserUpOneLevel":"回上一層","shared.folderBrowserRefresh":"重新整理","shared.folderBrowserLoading":"載入中…","shared.folderBrowserNoSubdirectories":"此資料夾中沒有子資料夾。","shared.folderBrowserUseThisFolder":"使用此資料夾","shared.common.saving":"儲存中…","shared.common.dismiss":"關閉","setup.wizard.welcomeTitle":"歡迎使用 Cats","setup.wizard.welcomeIntro":"你的個人 AI 工作空間。讓我們快速完成設定。","setup.wizard.ownerNameLabel":"您的名字","setup.wizard.ownerNamePlaceholder":"顯示名稱","setup.wizard.getStartedButton":"開始","setup.wizard.stepIndicator":"第 {step} 步,共 {total} 步","setup.wizard.enableGuideTitle":"啟用 {guideCatName}","setup.wizard.enableGuideSubtitle":"這位可選助理可在聊天、工作與程式碼場景中提供協助。","setup.wizard.enableGuideLabel":"啟用 {guideCatName}","setup.wizard.skipGuideMessage":"你可以先略過此步驟,稍後再從「設定 > 助理」啟用 {guideCatName}。","setup.wizard.backButton":"返回","setup.wizard.openingCatsAction":"正在開啟 Cats…","setup.wizard.openCatsAction":"開啟 Cats","setup.wizard.failedMessage":"設定失敗。","setup.wizard.failedWithStatus":"設定失敗({status})","setup.wizard.alreadyCompleteError":"設定已完成。","setup.wizard.invalidRequestError":"設定請求無效。","setup.wizard.serverError":"無法完成設定,請稍後再試。","setup.wizard.recordOpenFailedWithStatus":"記錄設定開啟狀態失敗({status})","setup.guideCat.runtimeUnavailable":"供應器目錄無法使用","setup.guideCat.noUsableTargets":"找不到可用供應器","setup.guideCat.runtimeConnected":"Cats 執行階段已連線","setup.guideCat.runtimeNotDetected":"未偵測到 Cats 執行階段","setup.guideCat.nameLabel":"導覽貓名稱","setup.guideCat.nameHint":"Cats 會保留這個名稱,後續可依語系調整。","setup.guideCat.openRuntimeSetup":"開啟 Cats 執行階段設定","setup.guideCat.unavailableNote":"即使導覽貓未啟用也能使用。若遇到連線逾時,請在此重試,或前往 Cats 執行階段設定頁。","setup.guideCat.noUsableTargetsNote":"Cats 執行階段已可連線,但目前沒有回報任何可用的導覽貓供應器設定。","settings.assistants.defaultName":"助理","settings.assistants.statusFailed":"狀態更新失敗({status})","settings.assistants.saveFailed":"儲存失敗。","settings.assistants.statusUpdateFailed":"狀態更新失敗({status})","settings.assistants.guideCatUpdateFailed":"無法更新導覽貓。","settings.assistants.guideCatSaveFailed":"無法儲存導覽貓。","settings.assistants.saveFailedWithError":"儲存失敗({status})","settings.assistants.removeTitle":"移除助理","settings.assistants.removeMessage":"移除「{title}」?將無法復原。","settings.assistants.removeButton":"移除","settings.assistants.removeFailed":"無法移除助理。","settings.assistants.enableButton":"啟用","settings.assistants.enableBusyButton":"儲存中…","settings.assistants.disableButton":"停用","settings.assistants.avatarLabel":"頭像","settings.assistants.nameLabel":"名稱","settings.assistants.selectAriaLabel":"選取助理","settings.assistants.addNewLabel":"新增助理","settings.assistants.newAssistantTitle":"新增助理","settings.assistants.cancelButton":"取消","settings.assistants.createButton":"儲存","settings.assistants.deleteButton":"刪除","settings.assistants.roleHintTitle":"角色提示","settings.assistants.namePlaceholder":"助理","settings.assistants.roleHintPlaceholder":"檢閱者、除錯人員、文字編修者、API 專家…","settings.assistants.renameFailed":"無法重新命名助理。","settings.assistants.roleHintUpdateFailed":"無法更新角色提示。","settings.assistants.brainUpdateFailed":"無法更新大腦設定。","settings.assistants.createFailed":"無法儲存助理。","settings.assistants.api.invalidRequestBody":"請求內容無效。","settings.assistants.api.assistantNameRequired":"請輸入助理名稱。","settings.assistants.api.assistantProviderRequired":"請選擇助理供應器。","settings.assistants.api.assistantModelRequired":"請選擇助理模型。","settings.assistants.api.assistantNotFound":"找不到助理。","settings.assistants.api.guideCatNameManaged":"導覽貓名稱由 Cats 管理。","settings.assistants.api.guideCatStatusInvalid":"導覽貓狀態必須是啟用或已停用。","settings.assistants.api.guideCatNotFound":"尚未建立導覽貓。","conversationSidebar.chatsLabel":"聊天","conversationSidebar.recentsLabel":"最近","conversationSidebar.noChatsLabel":"尚無聊天","conversationSidebar.primaryAriaLabel":"主要","conversationSidebar.openSidebarLabel":"展開側邊欄","conversationSidebar.closeSidebarLabel":"收合側邊欄","conversationSidebar.renameLabel":"重新命名","conversationSidebar.renamingLabel":"重新命名中…","conversationSidebar.deleteLabel":"刪除","conversationSidebar.deletingLabel":"刪除中…","conversationSidebar.ungroupLabel":"取消群組","conversationSidebar.ungroupingLabel":"取消群組中…","conversationSidebar.deleteAllLabel":"刪除全部","conversationSidebar.openAccountSettingsLabel":"開啟帳號設定","conversationSidebar.runtimeStatusAriaLabel":"執行階段狀態:{status}","conversationSidebar.directMessagesLabel":"直接訊息","conversationSidebar.telegramBoundTooltip":"已綁定 Telegram 機器人","conversationSidebar.archiveButton":"封存","conversationSidebar.directMessageButton":"直接訊息","conversationSidebar.clearButton":"清除","conversationSidebar.clearConfirmMessage":"清除與 {catName} 的對話歷史?此操作無法復原。","chatNewChatDraft.viewCatProfileAction":"查看貓咪個人檔案","chatTopBar.openCatProfileAriaLabel":"查看貓咪個人檔案","design.sidePanel.closeLabel":"關閉","design.accountIdentityMenu.label":"帳號選單","design.accountIdentityMenu.menuLabel":"帳號選單","design.accountIdentityMenu.settingsLabel":"設定","design.accountIdentityMenu.environmentLabel":"環境","design.notification.dismissLabel":"關閉","entity.comingSoon.backToLobby":"返回大廳","entity.detail.breadcrumb.lobby":"大廳","clowdersList.title":"我的貓群","clowdersList.eyebrow":"貓群","clowdersList.emptyState":"尚未有貓群。接上貓群 registry 後,正式任務群組會在這裡列出。","catteriesList.title":"我的貓窩","catteriesList.eyebrow":"貓窩","catteriesList.emptyState":"尚未有貓窩。接上貓窩 registry 後,組織會在這裡列出。","clowdersCanvas.ariaLabel":"貓群畫布","catteriesCanvas.ariaLabel":"貓窩畫布","entityCanvas.totalLabel":"總數","entityCanvas.catsLabel":"貓咪","entityCanvas.membersLabel":"成員","entityCanvas.clowdersLabel":"貓群","entityCanvas.idLabel":"識別碼","entityCanvas.createdLabel":"建立時間","entityCanvas.selectedClowderLabel":"選取的貓群","entityCanvas.selectedCatteryLabel":"選取的貓窩","entityCanvas.organizationLabel":"組織","entityCanvas.parentCatteryLabel":"上層貓窩","entityCanvas.formalClowderLabel":"正式貓群","entityCanvas.noOrganizationLabel":"沒有組織連結","entityCanvas.noFormalClowdersLabel":"沒有正式貓群","entityCanvas.openClowderAction":"開啟貓群","entityCanvas.openCatteryAction":"開啟貓窩","entityCanvas.catterySubtitle":"{clowderCount} 個貓群 · {memberCount} 位成員","catProfile.notFound.title":"找不到這隻貓","catProfile.notFound.body":"此工作區中沒有 id 為「{catId}」的貓。可能已被移除,或連結已失效。","entitiesSidebar.section.cats":"我的貓咪","entitiesSidebar.section.clowders":"我的貓群","entitiesSidebar.section.catteries":"我的貓窩","entitiesSidebar.newCat":"新增貓咪","entitiesSidebar.newClowder":"新增貓群","entitiesSidebar.newCattery":"新增貓窩","entityIndex.eyebrow":"目錄","entityIndex.title":"Cats 目錄","entityIndex.columnHeader.cats":"貓咪","entityIndex.columnHeader.clowders":"貓群","entityIndex.columnHeader.catteries":"貓窩","entityIndex.card.total":"共 {count} 個","entityIndex.card.openCanvasAriaLabel":"開啟{label}","entitiesShell.ariaLabel":"Cats 目錄 工作區","entitiesShell.surfaceLabel":"Cats 目錄","entitiesShell.brandLabel":"目錄","entitiesShell.exitButtonAriaLabel":"離開 Cats 目錄","clowderHome.ariaLabel":"貓群主頁","clowderHome.chip.partOf":"隸屬於 {catteryName}","clowderHome.chip.crossUnit":"跨單位任務小組","clowderHome.tab.cats":"貓咪","clowderHome.tab.settings":"設定","clowderHome.empty.cats":"此貓群尚未有貓咪。Phase 6 成員管理上線後即可加入第一隻。","clowderHome.settings.body":"貓群設定(重新命名、封存、轉移)會在 PLAN-091 phase 6 成員管理上線時提供。","clowderHome.notFound.title":"找不到這個貓群","clowderHome.notFound.body":"此工作區中沒有 id 為「{clowderId}」的貓群。可能已被移除,或連結已失效。","catteryHome.ariaLabel":"貓窩主頁","catteryHome.tab.members":"成員","catteryHome.tab.clowders":"貓群","catteryHome.tab.cats":"貓咪","catteryHome.tab.settings":"設定","catteryHome.empty.members":"尚未有成員。Phase 6 成員管理上線後即可加入第一位。","catteryHome.empty.clowders":"此貓窩尚未有貓群。Phase 6 上線後正式編制的貓群會在這裡列出。","catteryHome.empty.cats":"尚未能透過此貓窩取得貓咪。Phase 6 成員資料上線後會把直接成員與透過正式貓群間接到的成員彙總在這裡。","catteryHome.settings.body":"貓窩設定(個資、轉移所有權、封存)會在 PLAN-091 phase 6 成員管理上線時提供。","catteryHome.notFound.title":"找不到這個貓窩","catteryHome.notFound.body":"此工作區中沒有 id 為「{catteryId}」的貓窩。可能已被移除,或連結已失效。","code.activeComposer.detachedBranch":"分離分支","code.newDraft.greeting":"準備開始寫程式。","code.newDraft.greeting.openRepo":"開啟 repo,從小處開始。","code.newDraft.greeting.buildFixRefactor":"建置、修復或重構真實的東西。","code.newDraft.greeting.shipImprovement":"交付一個清楚的改善。","code.newDraft.greeting.smallestChange":"從最小但有用的變更開始。","code.newDraft.composer.placeholder":"這次程式工作階段要建置、修復或調查什麼?","code.newDraft.setupTitle":"新程式設定","code.newDraft.participants.title":"參與者","code.newDraft.participants.empty":"目前沒有可用的參與者。","code.newDraft.execution.title":"執行","code.newDraft.execution.action":"選擇執行目標","code.newDraft.execution.empty":"尚未設定執行目標。","code.newDraft.folder.title":"程式工作區","code.newDraft.folder.action":"選擇程式工作區","code.newDraft.folder.empty":"尚未選擇程式工作區。","code.newDraft.sessionProfile.title":"工作階段設定","code.newDraft.sessionProfile.description":"此程式工作階段會以 {workspace} 與 {permission} 開始。","code.newDraft.workspace.independentWorktree":"獨立工作樹","code.newDraft.workspace.currentFolder":"目前資料夾","code.newDraft.workspace.sandbox":"沙盒","code.newDraft.permission.readOnly":"唯讀","code.newDraft.permission.fullAccess":"完整存取","code.newDraft.starter.pomodoro.label":"建置番茄鐘應用程式","code.newDraft.starter.pomodoro.prompt":"寫一個小型番茄鐘計時器應用程式。","code.newDraft.starter.fixBug.label":"修復錯誤","code.newDraft.starter.fixBug.prompt":"找出並修復這個程式碼庫中的錯誤。","code.newDraft.starter.refactor.label":"重構程式碼","code.newDraft.starter.refactor.prompt":"在不改變行為的前提下重構這段程式碼。","code.newDraft.starter.writeTests.label":"撰寫測試","code.newDraft.starter.writeTests.prompt":"為我們上次碰過的程式碼新增測試。","code.newDraft.starter.startProject.label":"開始專案","code.newDraft.starter.startProject.prompt":"開始一個小專案來追蹤里程碑。","code.taskPills.ariaLabel":"任務提醒","code.taskPills.mock.authMiddleware":"重構驗證中介層","code.taskPills.mock.kiroSessionDelete":"修復 Kiro 工作階段刪除","code.taskPills.mock.artifactGallery":"草擬成品圖庫","code.taskPills.namePlaceholder":"命名此任務","code.taskPills.editAria":"編輯任務名稱","code.taskPills.title.current":"目前任務:{taskLabel} — 雙擊可重新命名","code.taskPills.title.focus":"聚焦 {taskLabel}(雙擊可重新命名)","code.taskPills.hideAria":"隱藏 {taskLabel}","code.taskPills.fallbackTask":"任務","code.taskPills.addAria":"新增任務提醒","code.taskPills.buttonTask":"任務","code.workspace.source.artifactAnchor":"成品錨點","code.artifact.kind.build":"建置","code.artifact.kind.dataset":"資料集","code.artifactDetail.artifactUnavailable":"成品詳細資料不可用","code.artifactDetail.backToBuild":"返回建置","code.artifactDetail.artifactOutput":"成品輸出","code.artifactDetail.conversationLabel":"對話","code.artifactDetail.contextEyebrow":"脈絡","code.artifactDetail.contextTitle":"已連結記錄","code.artifactDetail.loadFailed":"無法載入成品詳細資料。","code.artifactDetail.loadingBody":"正在取得成品中繼資料與相關脈絡。","code.artifactDetail.loadingTitle":"正在載入成品詳細資料","code.artifactDetail.missingId":"成品 ID 為必填。","code.artifactDetail.noArtifactSummary":"尚未記錄成品摘要。","code.artifactDetail.noInlinePreview":"這個成品目前沒有可用的內嵌預覽。","code.artifactDetail.notInlineSafe":"此成品已可用,但目前 Code 介面不適合內嵌顯示。","code.artifactDetail.previewOutput":"預覽輸出","code.artifactDetail.previewActionOpenArtifact":"開啟成品","code.artifactDetail.previewActionOpenPreview":"開啟預覽","code.artifactDetail.projectLabel":"專案","code.artifactDetail.projectMeta":"專案:{projectTitle}","code.artifactDetail.relatedEmpty":"這個任務或工作項目尚未記錄相關成品。","code.artifactDetail.relatedEyebrow":"相關","code.artifactDetail.relatedTitle":"鄰近成品","code.artifactDetail.openConversationAction":"開啟對話","code.artifactDetail.openProjectAction":"開啟專案","code.artifactDetail.openTaskAction":"開啟任務","code.artifactDetail.openWorkItemAction":"開啟工作項目","code.artifactDetail.taskLabel":"任務","code.artifactDetail.title":"成品","code.artifactDetail.viewArtifact":"查看成品","code.artifactDetail.workItemLinkedLabel":"工作項目","code.artifactDetail.workItemMissingLabel":"沒有連結的工作項目","code.artifactKind.attachment":"附件","code.artifactKind.document":"文件","code.artifactKind.preview":"預覽","code.artifactKind.report":"報告","code.artifactKind.transcript":"對話紀錄","code.artifactKind.unknown":"未知","code.artifactKind.build":"建置","code.artifactStatus.archived":"已封存","code.artifactStatus.draft":"草稿","code.artifactStatus.published":"已發佈","code.artifactStatus.ready":"就緒","code.artifactStatus.unknown":"未知","code.artifactList.artifact":"成品","code.artifactList.filter.all":"全部","code.artifactList.ariaOpenArtifact":"開啟成品 {title}","code.artifactList.empty":"目前沒有符合此篩選的成品。建置、預覽、報告、附件與對話匯出會出現在這裡。","code.artifactList.header":"成品","code.artifactList.loading":"正在載入成品…","code.artifactList.error":"無法載入成品:{error}","code.artifactList.loadFailed":"成品清單請求失敗。","code.artifactList.candidateHint":"候選成品尚未升級為持久記錄。","code.artifactList.candidateLabel":"候選","code.artifactList.provenance.run":"執行","code.artifactList.statusFilterLabel":"狀態:","code.artifactList.provenance.task":"任務","code.artifactMeta.contract":"契約","code.artifactMeta.mode":"模式:{mode}","code.artifactMeta.decision":"決策:{decision}","code.artifactMeta.kind":"類型:{kind}","code.artifactMeta.path":"路徑:{path}","code.artifactMeta.status":"狀態:{status}","code.artifactMeta.updated":"更新時間:{updatedAt}","code.artifactMeta.viewArtifact":"查看成品","code.artifactPreview":"成品預覽","code.artifact.unknown":"未知","code.conversationKind.chatChannel":"聊天頻道","code.conversationKind.chatRoot":"聊天根目錄","code.conversationKind.codeThread":"程式討論串","code.conversationKind.directMessage":"直接訊息","code.conversationKind.parallelGroup":"平行群組","code.conversationKind.unknown":"對話","code.conversationKind.workThread":"工作討論串","code.recordStatus.archived":"已封存","code.recordStatus.blocked":"已阻擋","code.recordStatus.cancelled":"已取消","code.recordStatus.completed":"已完成","code.recordStatus.draft":"草稿","code.recordStatus.failed":"失敗","code.recordStatus.inProgress":"進行中","code.recordStatus.open":"開啟","code.recordStatus.pending":"待處理","code.recordStatus.pendingApproval":"等待核准","code.recordStatus.ready":"就緒","code.recordStatus.running":"執行中","code.recordStatus.unknown":"未知","code.builder.codespaceHeader":"程式工作區","code.builder.codeOutputLabel":"輸出","code.builder.back":"返回","code.builder.continue":"繼續","code.builder.continueBuild":"繼續建置","code.builder.continueBuildBusy":"正在繼續…","code.builder.continueTaskBusy":"正在繼續…","code.builder.createArtifact":"建立成品","code.builder.createLabel":"建置","code.builder.creatingTask":"正在建立…","code.builder.defineTaskHeader":"定義任務","code.builder.detailsPlaceholder":"描述完成狀態與驗收條件…","code.builder.detailsLabel":"細節 / 驗收條件(選填)","code.builder.errorCodespaceResolve":"無法解析這個程式工作區。","code.builder.errorCodespacePathInvalid":"選取的路徑不存在或不是資料夾:{path}","code.builder.errorCodespaceNoPath":"找不到有效的程式工作區路徑。請選擇資料夾,或確認房間工作區存在。","code.builder.errorTaskCreate":"無法建立程式碼任務。","code.builder.errorTaskCreateMissingId":"建立任務的回應缺少 task id。","code.builder.errorTaskExecution":"無法啟動程式碼任務。","code.builder.errorTaskDetailLoad":"無法載入這個程式碼任務。","code.builder.errorTaskResume":"無法接續這個程式碼任務。","code.builder.errorTaskResumeInput":"請輸入要接續的任務 ID。","code.builder.errorTaskTitle":"請輸入你想建置的內容。","code.builder.runtimeObservationFailed":"無法重新整理執行階段工作階段。","code.builder.executionDoneBanner":"任務已完成。請檢查上方結果,並使用交付操作提交或推送。","code.builder.existingTask":"既有任務","code.builder.feedbackResumeReady":"任務已可繼續。","code.builder.feedbackResumeTask":"已接續任務 {taskId}。","code.builder.feedbackResumeNoWorkspace":"已接續任務 {taskId};繼續前請先選擇程式工作區。","code.builder.feedbackResumeWorkspaceNeeded":"繼續此任務前請先選擇程式工作區。","code.builder.filter.codespace":"程式工作區","code.builder.header.codespace":"程式工作區","code.builder.header.newTask":"新任務","code.builder.header.projectFolder":"專案資料夾","code.builder.header.taskStep":"任務","code.builder.modelLabel":"模型(選填)","code.builder.modelPlaceholder":"預設","code.builder.newTaskButton":"新任務","code.builder.providerLabel":"供應器","code.builder.providerTaskLabel":"供應器","code.builder.repoPathLabel":"儲存庫路徑","code.builder.resumeLabel":"既有任務 ID(選填)","code.builder.resumePrompt":"接續任務","code.builder.retryPrompt":"重試","code.builder.stepLabel":"步驟 {step}","code.builder.successTaskReadyWithCurrentChat":"{workspaceFallback},來源:{title}。","code.builder.taskIdRequired":"請輸入任務 ID。","code.builder.taskIdReady":"任務 {taskId} 已可繼續。","code.builder.taskIdReadyNoWorkspace":"任務 {taskId} 已可繼續;繼續前請先選擇程式工作區。","code.builder.taskLabel":"任務","code.builder.taskSummaryPlaceholder":"例如:加入使用者登入功能","code.builder.title":"程式建置器","code.builder.workspaceActiveNotice":"這會成為下一個任務步驟使用的建置程式工作區。","code.builder.workspaceFallbackBound":"已綁定工作區","code.builder.workspaceFallbackBoundFallback":"請輸入專案資料夾,或接續既有任務。","code.builder.workspaceFallbackChatRepo":"目前聊天室儲存庫","code.builder.workspaceFallbackRoom":"目前房間資料夾","code.builder.workspaceFooterLabel":"工作區","code.builder.workspacePathPlaceholder":"/path/to/project","code.builder.workspaceResumeHelp":"接續功能適用於你想繼續處理的草稿、已阻擋或失敗程式碼任務。","code.builder.sampleTaskId":"task-...","code.builder.workspaceSummaryLabel":"程式工作區","code.builder.workspaceSummaryNotice":"目前的建置程式工作區。","code.builder.startingTaskBusy":"正在啟動…","code.builder.taskQuestion":"你想建置什麼?","code.livePreview.commandProfile":"設定檔:{profile}","code.livePreview.description":"檢視連到此 Cats Code 介面的受監管本機即時預覽。","code.livePreview.diagnostic":"診斷:{message}","code.livePreview.error.load":"無法載入即時預覽狀態。","code.livePreview.error.logs":"無法載入即時預覽記錄。","code.livePreview.error.stop":"無法停止即時預覽。","code.livePreview.expiresAt":"到期:{time}","code.livePreview.hideLogs":"隱藏記錄","code.livePreview.logs":"記錄","code.livePreview.logsEmpty":"此預覽尚未記錄內容。","code.livePreview.logsLoading":"正在載入記錄…","code.livePreview.open":"開啟預覽","code.livePreview.retry":"重試","code.livePreview.retryUnavailable":"重試會在即時預覽啟動流程核准後開放。","code.livePreview.status.expired":"已到期","code.livePreview.status.failed":"失敗","code.livePreview.status.ready":"就緒","code.livePreview.status.starting":"啟動中","code.livePreview.status.stopped":"已停止","code.livePreview.status.stopping":"停止中","code.livePreview.stop":"停止","code.livePreview.stopRequested":"已送出停止要求。","code.livePreview.stopping":"正在停止…","code.livePreview.title":"即時預覽","code.livePreview.workspace":"工作區:{workspace}","code.execution.header":"執行","code.execution.meta.noTask":"尚未綁定任務","code.execution.meta.runtimeSession":"執行階段工作階段:{sessionId}","code.execution.meta.workingTreeClean":"工作樹乾淨","code.execution.meta.workingTreeDirty":"工作樹有變更","code.execution.noActiveSession":"沒有作用中的工作階段","code.execution.noTask":"尚未綁定任務","code.execution.notStarted":"尚未開始","code.execution.ownerDecisionRequired":"需要使用者決策","code.execution.panelTitle":"任務執行","code.execution.runtimeHeader":"執行階段","code.execution.runtimeIdle":"閒置","code.execution.modeDelivery":"交付模式:{deliveryMode}","code.execution.targetLabel":"目標:{target}","code.execution.targets":"目標:{targets}","code.execution.runtimeTitle":"執行階段","code.execution.sectionBlocked":"已阻擋","code.execution.taskHeader":"任務","code.execution.taskStatus":"狀態:{status}","code.execution.taskTitle":"任務","code.execution.notActiveYet":"尚未啟用","code.execution.paused":"已暫停","code.execution.provider":"供應器:{provider}","code.execution.model":"模型:{model}","code.execution.defaultModel":"預設","code.execution.session":"工作階段:{sessionId}","code.execution.taskId":"ID:{taskId}","code.execution.status.blocked":"已阻擋","code.execution.status.done":"完成","code.execution.status.pending":"待處理","code.execution.status.running":"執行中","code.execution.status.unknown":"未知","code.execution.taskRuntimeHeader":"執行階段","code.execution.taskStrategy":"策略:{strategy}","code.execution.strategy.pdca":"PDCA","code.execution.strategy.react":"ReAct","code.execution.strategy.reflexion":"Reflexion","code.execution.deliveryMode.artifactOnly":"僅成品","code.execution.deliveryMode.commitOnly":"僅提交","code.execution.deliveryMode.deployPreview":"部署預覽","code.execution.deliveryMode.prWithChecks":"含檢查的 Pull Request","code.execution.deliveryMode.pushBranch":"推送分支","code.execution.blockedReason.antiPingPong":"防迴圈保護","code.execution.blockedReason.approvalPending":"等待核准","code.execution.blockedReason.maxDispatches":"已達分派上限","code.execution.blockedReason.noValidTargets":"沒有有效目標","code.execution.blockedReason.startupRecovery":"啟動修復","code.execution.blockedReason.userCancelled":"使用者已取消","code.execution.unknownDeliveryMode":"未知交付模式","code.execution.unknownValue":"未知","code.execution.unknownValueUnknown":"未知","code.execution.controlHeader":"控制","code.execution.controlMode":"模式:{mode}","code.execution.controlDelivery":"交付:{deliveryMode}","code.execution.controlBlocked":"已阻擋","code.execution.controlApprovalPending":"等待核准","code.execution.controlBlockedBy":"接續流程被 {reason} 阻擋。","code.execution.controlTargets":"目標:{targets}","code.execution.statusActiveLabel":"作用中","code.execution.statusIdleLabel":"閒置","code.execution.statusBlockedLabel":"已阻擋","code.execution.statusRunningLabel":"執行中","code.execution.statusDoneLabel":"完成","code.execution.statusPendingLabel":"待處理","code.delivery.previewHeader":"預覽","code.delivery.blockerLabel":"已阻擋","code.delivery.contractLabel":"契約","code.delivery.error.repoStatusUnavailable":"無法取得儲存庫狀態。","code.delivery.warningsLabel":"警告","code.delivery.warningsTitle":"警告","code.delivery.header":"交付","code.delivery.label":"交付","code.delivery.labelPreview":"{label} 預覽","code.delivery.metaBranch":"分支:{branch}","code.delivery.metaAhead":"領先:{count}","code.delivery.metaBehind":"落後:{count}","code.delivery.metaStaged":"已暫存:{count}","code.delivery.metaUnstaged":"未暫存:{count}","code.delivery.metaUntracked":"未追蹤:{count}","code.delivery.metaRemote":"遠端:{remote}","code.delivery.metaMode":"模式:{mode}","code.delivery.metaDecision":"決策:{decision}","code.delivery.noCodespace":"尚未綁定程式工作區。請先解析程式工作區才能查看儲存庫操作。","code.delivery.noRepoStatus":"尚未載入儲存庫狀態。","code.delivery.noInlinePreview":"目前沒有可用的內嵌預覽。","code.delivery.noWorkspace":"尚未選擇工作區。","code.delivery.panelSubtitle":"從目前程式工作區提交、推送或匯出輸出。","code.delivery.panelTitle":"儲存庫操作","code.delivery.previewHintUnsafe":"此預覽已可用,但較適合在內嵌框架外開啟。","code.delivery.repoClean":"乾淨","code.delivery.repoDirty":"有變更","code.delivery.repoStatusHeader":"儲存庫狀態","code.delivery.actions.commitHeader":"提交","code.delivery.actions.pushHeader":"推送","code.delivery.actions.exportHeader":"匯出","code.delivery.action.refresh":"重新整理","code.delivery.action.preview":"預覽","code.delivery.action.commit":"提交","code.delivery.action.push":"推送…","code.delivery.action.pushPreview":"預覽推送","code.delivery.action.pushConfirm":"確認推送","code.delivery.action.pushCancel":"取消","code.delivery.action.export":"匯出成品","code.delivery.action.commitPlaceholder":"提交訊息…","code.delivery.confirmation.push":"要推送到遠端嗎?這會對外可見。","code.delivery.confirmation.pushHint":"此操作會將本機提交發佈到設定的遠端。","code.delivery.error.commitFailed":"提交操作失敗。","code.delivery.error.pushFailed":"推送操作失敗。","code.delivery.error.exportFailed":"成品匯出失敗。","code.delivery.status.ready":"就緒","code.delivery.status.blocked":"已阻擋","code.delivery.status.unknown":"未知","code.delivery.decision.approve":"核准","code.delivery.decision.complete":"完成","code.delivery.decision.reject":"拒絕","code.delivery.decision.reroute":"重新指派","code.delivery.decision.wait":"等待","code.delivery.unknownBlocker":"未知阻擋原因","code.delivery.warningFallback":"警告","code.plan.header":"計畫","code.plan.panelTitle":"程式計畫","code.plan.empty":"這個任務尚未建立計畫步驟。","code.plan.replan":"重新規劃","code.plan.status.blocked":"已阻擋","code.plan.status.done":"完成","code.plan.status.pending":"待處理","code.plan.status.running":"執行中","code.plan.title":"計畫","code.plan.replannedSuffix":"(已重新規劃 {count} 次)","code.plan.error.load":"無法載入計畫。","code.plan.error.update":"無法更新計畫。","code.plan.error.stepUpdate":"無法更新計畫步驟。","code.preview.artifactCountMany":"{count} 個成品","code.preview.artifactCountOne":"{count} 個成品","code.preview.blocked":"預覽已阻擋","code.preview.details":"詳細資料","code.preview.header":"輸出","code.preview.iframeTitle":"即時預覽","code.preview.noPreview":"尚未產生建置或預覽成品。","code.preview.notInlineSafe":"最新預覽已可用,但此輸出較適合在內嵌框架外開啟。","code.preview.openArtifact":"開啟成品","code.preview.openLatestArtifact":"開啟最新成品","code.preview.openLatestPreview":"開啟最新預覽","code.preview.openPreview":"開啟預覽","code.preview.title":"建置與預覽","code.relay.action.createThread":"建立分派討論串","code.relay.action.dispatching":"正在分派…","code.relay.action.fanOut":"分派","code.relay.action.refresh":"重新整理","code.relay.action.fanOutSelected":"分派給已選代理人","code.relay.authorKind.agent":"代理人","code.relay.authorKind.system":"系統","code.relay.authorKind.unknown":"未知","code.relay.authorKind.user":"使用者","code.relay.availability.instanceUnavailable":"{providerLabel} 執行個體「{instance}」無法在 cats-runtime 中使用。","code.relay.availability.providerPathMissing":"執行階段沒有回報已設定的 {providerLabel} 供應器路徑。","code.relay.availability.providerPathReady":"{providerLabel} 的執行階段供應器路徑已就緒。","code.relay.availability.runtimeConfigUnavailable":"執行階段供應器設定無法使用。","code.relay.availability.runtimeReadyVia":"執行階段已透過 {target} 就緒。","code.relay.error.agentRequired":"請至少選擇一個代理人。","code.relay.error.fanOutPromptRequired":"分派提示為必填。","code.relay.error.threadRequired":"請先建立或選擇分派討論串。","code.relay.error.threadTitleRequired":"討論串標題為必填。","code.relay.error.missingPayload":"分派請求缺少必要酬載。","code.relay.error.noPayload":"分派回應沒有包含酬載。","code.relay.error.relayFailed":"分派執行失敗。","code.relay.error.rosterUpdateFailed":"更新分派名單失敗。","code.relay.error.threadLoadFailed":"載入分派討論串失敗。","code.relay.error.threadRefreshFailed":"重新整理分派討論串失敗。","code.relay.error.threadCreateFailed":"建立分派討論串失敗。","code.relay.header.codeRelay":"程式分派","code.relay.label.contract":"契約","code.relay.label.contractLoading":"正在載入連接器契約…","code.relay.label.activeThread":"作用中討論串","code.relay.label.default":"預設","code.relay.label.enabled":"啟用","code.relay.label.ended":"結束:{endedAt}","code.relay.label.model":"模型:{model}","code.relay.label.noObjective":"尚未記錄目標。","code.relay.label.noRounds":"尚無回合","code.relay.label.noThreads":"尚無分派討論串","code.relay.label.noneYet":"尚無","code.relay.label.objective":"目標","code.relay.label.proven":"已驗證:{providers}","code.relay.label.repoPath":"儲存庫:{repoPath}","code.relay.label.relayThreadTitle":"分派討論串標題","code.relay.label.repoNoBound":"未綁定","code.relay.label.updated":"更新:{updatedAt}","code.relay.label.mode":"模式:{mode}","code.relay.label.open":"開啟","code.relay.label.quotaNote":"額度備註","code.relay.label.roster":"代理人名單","code.relay.label.roundObjective":"回合目標","code.relay.label.roundPrompt":"分派提示","code.relay.label.roundTimeline":"時間軸","code.relay.label.rounds":"回合","code.relay.label.role":"角色:{role}","code.relay.label.started":"開始:{startedAt}","code.relay.label.statusWaiting":"等待中","code.relay.status.active":"作用中","code.relay.status.available":"可用","code.relay.status.completed":"已完成","code.relay.status.failed":"失敗","code.relay.status.requested":"已請求","code.relay.status.running":"執行中","code.relay.status.unavailable":"不可用","code.relay.status.unknown":"未知","code.relay.status.waitingForAgents":"等待代理人","code.relay.status.waitingForUser":"等待使用者","code.relay.mode.build":"建置","code.relay.mode.discover":"探索","code.relay.mode.document":"文件化","code.relay.mode.fit":"整合","code.relay.mode.humanVerify":"人工驗證","code.relay.mode.repair":"修復","code.relay.mode.review":"審查","code.relay.mode.shape":"塑形","code.relay.role.critic":"評論者","code.relay.role.drafter":"草稿手","code.relay.role.idle":"閒置","code.relay.role.mainCoder":"主要程式代理人","code.relay.role.reviewer":"審查者","code.relay.role.summarizer":"摘要者","code.relay.label.threadShell":"討論串外殼","code.relay.label.threadTitle":"討論串標題","code.relay.phase.phase0":"階段 0","code.relay.phase.phase1":"階段 1","code.relay.phase.phase2":"階段 2","code.relay.phase.fanOut":"分派","code.relay.phase.roster":"名單","code.relay.phase.project":"專案","code.relay.projectThread":"專案討論串","code.relay.projectThreadSummary":"專案討論串摘要","code.relay.runtimeProviderSurface":"執行階段供應器介面","code.relay.runtimeSurface":"執行階段介面","code.relay.threadProject":"專案討論串","code.relay.threadShellTitle":"討論串外殼","code.relay.mode.parallelPrompt":"平行提示","code.relay.noObjective":"尚未記錄目標。","code.relay.notRecorded":"未記錄","code.relay.openDiscoveryRound":"開啟探索回合","code.relay.placeholder.objective":"我們要決定或建置什麼?","code.relay.placeholder.optionalRepo":"選填的本機儲存庫綁定","code.relay.placeholder.fanOutPrompt":"把同一個需求問題發給多個程式代理人。","code.relay.placeholder.quotaNote":"選填的建議備註","code.relay.currentChat":"目前對話:{title}","code.relay.create":"正在建立…","code.relay.defaultThreadTitle":"新的分派討論串","code.relay.loading":"正在載入分派程式工作區…","code.relay.projectThreadHeader":"專案討論串","code.relay.relayToOthers":"分派給其他人(階段 2)","code.relay.targetAgent":"目標代理人","code.relay.threadLabel":"討論串","code.relay.title":"程式分派","code.relay.titleConnectorContract":"連接器契約","code.relay.titleProjectThread":"專案討論串","code.relay.titleTimeline":"時間軸","code.relay.transportUnknown":"未知傳輸","code.relay.transportUnknownWithValue":"未知傳輸({transport})","code.relay.transportRuntimeSessionBridge":"執行階段工作階段橋接","code.sidebar.codespace":"程式工作區","code.sidebar.codeBuilderTitle":"程式建置器","code.sidebar.codespaces":"程式工作區","code.workspaceSource.codeTask":"程式碼任務","code.workspaceSource.conversationRepo":"對話儲存庫","code.workspaceSource.runtimeCwd":"執行階段工作目錄","code.relay.titleProjectThreadSection":"專案討論串","code.sidebar.teamCode":"團隊程式","code.sidebar.peerCode":"同儕程式","code.sidebar.newCode":"新增程式","code.sidebar.noCodesYet":"目前沒有程式對話","code.sidebar.noConversationsSummary":"目前沒有程式對話","code.relay.noRoundsHint":"使用上方分派表單開啟第一個探索回合。","code.sidebar.artifacts":"成品","code.sidebar.build":"建置","code.sidebar.relay":"分派","code.workspace.sectionCodeOutput":"程式輸出","code.workspace.summary.binding":"綁定","code.workspace.summary.codespace":"程式工作區","code.workspace.summary.kind":"類型:{kind}","code.workspace.summary.ownership":"歸屬:{ownership}","code.workspace.summary.chatContext":"對話脈絡:{title}","code.workspace.summary.noChatContext":"沒有對話脈絡","code.workspace.summary.noChat":"沒有對話","code.workspace.summary.binding.conversationRepo":"建置流程已綁定到選取的對話儲存庫。","code.workspace.summary.binding.managedRoom":"建置流程已綁定到這個房間管理的程式工作區。","code.workspace.summary.binding.userSelected":"建置流程已綁定到使用者選取的本機資料夾。","code.workspace.kind.conversationRepo":"目前對話儲存庫","code.workspace.kind.managedRoom":"房間管理的工作區","code.workspace.kind.userSelected":"使用者選取的資料夾","code.workspace.ownership.conversationBound":"對話擁有","code.workspace.ownership.roomOwned":"房間擁有","code.workspace.ownership.ownerSelected":"使用者選取","code.workspace.source.task":"程式碼任務","code.workspace.source.conversationRepo":"對話儲存庫","code.workspace.source.runtimeCwd":"執行階段工作目錄","code.workspaces.listHeader":"程式工作區","code.workspaces.listNoCodespaces":"目前沒有程式工作區。啟動一個指定儲存庫、資料夾、工作樹或受管理房間的程式工作階段後,會出現在這裡。","code.workspaces.loading":"正在載入程式工作區…","code.workspaces.error":"無法載入程式工作區:{error}","code.workspaces.loadError":"載入程式工作區失敗。","code.workspaces.sourceCodes":"程式碼任務","code.workspaces.sourceRepo":"對話儲存庫","code.workspaces.sourceRuntime":"執行階段工作目錄","code.workspaces.sourceArtifact":"成品錨點","code.workspaces.ariaOpen":"開啟程式工作區 {title}","code.workspaceStatus.active":"作用中","code.workspaceStatus.archived":"已封存","code.workspaceStatus.draft":"草稿","code.workspaceStatus.ready":"就緒","code.workspaceStatus.unknown":"未知","code.workspaceDetail.error":"無法載入程式工作區。","code.workspaceDetail.loading":"正在載入程式工作區…","code.workspaceDetail.title":"程式工作區","code.workspaceDetail.notFound":"找不到程式工作區。它可能已被移除,或 URL 已變更。","code.workspaceDetail.missingId":"程式工作區 ID 為必填。","code.workspaceDetail.backToList":"返回所有程式工作區 →","code.workspaceDetail.overviewTitle":"總覽","code.workspaceDetail.artifactSection":"成品","code.workspaceDetail.conversationsSection":"對話","code.workspaceDetail.tasksSection":"任務","code.workspaceDetail.noArtifacts":"沒有成品","code.workspaceDetail.noArtifactsDesc":"尚未連結成品。這個程式工作區產生的建置、預覽或文件會出現在這裡。","code.workspaceDetail.noConversations":"目前沒有對話連結到這個程式工作區。","code.workspaceDetail.noTasks":"目前沒有程式碼任務連結到這個程式工作區。","code.workspaceDetail.overviewPath":"路徑","code.workspaceDetail.overviewSource":"來源","code.workspaceDetail.overviewStatus":"狀態","code.workspaceDetail.overviewLastActive":"最後活動","code.workspaceDetail.overviewSummary":"摘要","code.workspaceDetail.noSummary":"尚無摘要。","code.workspaceDetail.metric.conversations":"對話","code.workspaceDetail.metric.tasks":"任務","code.workspaceDetail.metric.artifacts":"成品","code.workspaceDetail.metric.id":"識別碼","code.workspaceDetail.overviewNoArtifacts":"尚無成品","code.workspaceDetail.conversationsEmpty":"沒有連結的對話","code.workspaceDetail.tasksEmpty":"沒有連結的任務","code.workspaceDetail.taskLabel":"任務","code.workspaceDetail.artifactsHeader":"此程式工作區的成品","code.workspace.source.unknown":"未知來源","code.delivery.blocked":"交付已阻擋"},Qn={en:Np,"zh-TW":jp},Mp=["zh","zh-tw","zh-hant","zh-hk","zh-mo","chinese","traditional","traditional chinese","mandarin","中文","繁體中文","繁体中文","繁體","繁体","國語","国语","華語","华语"],Ep=["zh-cn","zh-hans","zh-sg","zh-my","simplified","simplified chinese","簡體中文","简体中文","簡體","简体"],Ip=["zh-tw-","zh-hant-","zh-hk-","zh-mo-"],Bp=["zh-cn-","zh-hans-","zh-sg-","zh-my-"],Fp=new Set(Mp),Op=new Set(Ep);function ll(e){if(!e)return null;for(const t of Wp(e)){const a=_p(t);if(a)return a}return null}function Wp(e){return e.split(",").map((t,a)=>{const[o,...n]=t.trim().split(";"),s=Up(o),l=Hp(n);return{token:s,quality:l,index:a}}).filter(t=>t.token.length>0&&t.quality>0).sort((t,a)=>a.quality-t.quality||t.index-a.index).map(t=>t.token)}function Up(e){return(e??"").trim().replace(/_/gu,"-").toLowerCase()}function Hp(e){const t=e.find(s=>/^q\s*=/iu.test(s.trim()));if(!t)return 1;const a=/^q\s*=\s*(?<quality>.*)$/iu.exec(t.trim());if(!a?.groups)return 1;const o=a.groups.quality.trim();if(!/^\d+(?:\.\d+)?$/u.test(o))return 1;const n=Number.parseFloat(o);return Math.min(Math.max(n,0),1)}function _p(e){return e==="en"||e.startsWith("en-")?"en":Jn(e,Fp,Ip)?"zh-TW":(Jn(e,Op,Bp),null)}function Jn(e,t,a){return t.has(e)?!0:a.some(o=>e.startsWith(o))}function Gp(e){return ll(e)??"en"}function Kp(e,t){return t?e.replace(/\{([^{}]+)\}/g,(a,o)=>{const n=t[o];return n===void 0?a:String(n)}):e}function Fe(e){return function(a,o){const n=a in i?i[a]:a;return Kp(Qn[e][n]??Qn.en[n],o)}}const $t=Fe("en"),zt=Fe("en"),qp={chat:{nameKey:i.platformProductChatName,subtitleKey:i.platformProductChatSubtitle,settingsLabelKey:i.platformProductChatSettingsLabel},code:{nameKey:i.platformProductCodeName,subtitleKey:i.platformProductCodeSubtitle,settingsLabelKey:i.platformProductCodeSettingsLabel},work:{nameKey:i.platformProductWorkName,subtitleKey:i.platformProductWorkSubtitle,settingsLabelKey:i.platformProductWorkSettingsLabel}};function Vo(e){return qp[e]??null}function $p(e,t=zt){return Vp(e.id,e.productName,t)}function zp(e,t=zt){return Yp(e.id,e.subtitle,t)}function Vp(e,t,a=zt){const o=Vo(e);return o?a(o.nameKey):t}function Yp(e,t,a=zt){const o=Vo(e);return o?a(o.subtitleKey):t}function cl(e,t,a=zt){const o=Vo(e);return o?a(o.settingsLabelKey):t}function Qp(e,t,a=zt){return t.id===e?cl(e,t.label,a):t.label}const Xn="en",dl="auto",ul=()=>{},pl=d.createContext({locale:Xn,languagePreference:dl,setLanguagePreference:ul,t:Fe(Xn)});function Bt({children:e,languagePreference:t=dl,locale:a,setLanguagePreference:o=ul}){const n=d.useMemo(()=>({locale:a,languagePreference:t,setLanguagePreference:o,t:Fe(a)}),[t,a,o]);return r.jsx(pl.Provider,{value:n,children:e})}const uo=["chat","work","code"],Jp=["chat","work","code"],Xp=["chat"];function hl(e){return uo.includes(e)}function na(e,t=null){return typeof e=="string"&&hl(e)?e:t}function Nr(e,t){const a=new Set(t),o=[];for(const n of e)!hl(n)||!a.has(n)||o.includes(n)||o.push(n);return o}function Zp(e,t={}){const a=Nr(t.allowed??uo,uo),o=Nr(Array.isArray(e)?e.filter(s=>typeof s=="string"):[],a);if(o.length>0)return o;const n=t.fallback??null;return!n||n.length===0?[]:Nr(n,a)}function Yo(e,t,a={}){return Zp(e,a).includes(t)}function eh(e){return Jp.includes(e)}function ur(){return[...Xp]}const th=null,ah="/api/work",rh="/api/code",oh={chat:th,work:ah,code:rh};function nh(e){return oh[e]??null}const Zn="/settings";function La(e){return e===Zn||e.startsWith(`${Zn}/`)}const sh="/setup",es="/lobby",ts="/products",ih="/entities",lh=[ih];function ml(e){return e===sh}function ma(e){return e===es||e.startsWith(`${es}/`)}function gl(e){return e===ts||e.startsWith(`${ts}/`)}function fl(e){return lh.some(t=>e===t||e.startsWith(`${t}/`))}function ch(e){return ml(e)||ma(e)||gl(e)||fl(e)||La(e)}const jr=Object.fromEntries(Ap().map(e=>[e.id,{surface:e.id,routePrefix:e.routePrefix,apiBase:nh(e.id),placeholder:!eh(e.id)}]));function dh(e){return Tp(e)}function uh(e,t,a,o="chat"){const n=na(e);if(n)return n;const s=na(t);if(s)return s;const l=na(a);if(l)return l;const c=na(o);return c||"chat"}function H(){return d.useContext(pl)}function jt(){const[e,t]=d.useState(null),a=d.useCallback(s=>new Promise(l=>{t({options:s,resolve:l})}),[]),o=d.useCallback(async s=>await a(s)==="confirm",[a]),n=d.useCallback(s=>{e&&(e.resolve(ph(s)),t(null))},[e]);return{dialog:e,confirm:o,choose:a,handleClose:n}}function Mt({dialog:e,onClose:t}){const{t:a}=H(),o=d.useRef(null);if(d.useEffect(()=>{e&&o.current?.focus()},[e]),d.useEffect(()=>{if(!e)return;function s(l){l.key==="Escape"&&t("cancel")}return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),!e)return null;const n=e.options.defaultAction??"confirm";return r.jsx("div",{className:"confirmOverlay",onClick:()=>t("cancel"),children:r.jsxs("div",{className:"confirmDialog",onClick:s=>s.stopPropagation(),children:[r.jsx("p",{className:"confirmTitle",children:e.options.title}),r.jsx("p",{className:"confirmMessage",children:e.options.message}),r.jsxs("div",{className:"confirmActions",children:[r.jsx("button",{ref:n==="cancel"?o:null,className:"confirmCancelButton",type:"button",onClick:()=>t("cancel"),children:e.options.cancelLabel??a(i.sharedCommonCancel)}),e.options.auxiliaryLabel?r.jsx("button",{ref:n==="auxiliary"?o:null,className:"confirmAuxiliaryButton",type:"button",onClick:()=>t("auxiliary"),children:e.options.auxiliaryLabel}):null,r.jsx("button",{ref:n==="confirm"?o:null,className:"confirmDestructiveButton",type:"button",onClick:()=>t("confirm"),children:e.options.confirmLabel??a(i.sharedCommonDelete)})]})]})})}function ph(e){return typeof e=="boolean"?e?"confirm":"cancel":e}function hh({id:e,title:t,badge:a,isOpen:o,onToggle:n,children:s}){return r.jsxs("div",{className:"accordionSection",children:[r.jsxs("button",{type:"button",className:"accordionHeader",onClick:()=>n(e),"aria-expanded":o,children:[r.jsx("span",{className:"accordionHeaderTitle",children:t}),a!=null&&a>0?r.jsx("span",{className:"accordionBadge",children:a}):null,r.jsx("svg",{className:o?"accordionChevron accordionChevronOpen":"accordionChevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("path",{d:"M4.5 2.5 8 6 4.5 9.5"})})]}),o?r.jsx("div",{className:"accordionBody",children:s}):null]})}const po="cats:side-panel-layout-change";function mh({title:e,activeSection:t,onSectionToggle:a,onClose:o,sections:n,className:s="",position:l="side"}){const c=d.useRef(null),{t:u}=H(),h=["sidePanel",l==="bottom"?"sidePanelBottom":"",s].filter(Boolean).join(" ");d.useEffect(()=>{function p(w){if(c.current&&!c.current.contains(w.target)){if(w.target.closest(".sidePanelToggle"))return;o()}}function b(w){w.key==="Escape"&&o()}return document.addEventListener("mousedown",p),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",b)}},[o]);const g=l==="bottom"?"bottom":"side";return d.useEffect(()=>(as(),()=>{as()}),[h,g]),r.jsxs("aside",{className:h,ref:c,"data-side-panel-position":g,children:[r.jsxs("div",{className:"sidePanelHeader",children:[r.jsx("strong",{children:e}),r.jsx("button",{type:"button",className:"chromeButton",onClick:o,"aria-label":u(i.designSidePanelCloseLabel),children:"×"})]}),r.jsx("div",{className:"sidePanelBody",children:n.map(p=>r.jsx(hh,{id:p.id,title:p.title,badge:p.badge,isOpen:t===p.id,onToggle:a,children:p.children},p.id))})]})}function as(){typeof window>"u"||window.dispatchEvent(new Event(po))}let it=null,St=null,ia=null;function wl(){return it||(it=document.createElement("div"),it.className="tooltipPortal",document.body.appendChild(it)),it}function Qo(){ia&&(clearTimeout(ia),ia=null)}function gh(e){const t=e.getAttribute("data-tooltip-delay");if(!t)return 0;const a=Number(t);return Number.isFinite(a)&&a>0?a:0}function fh(e){if(!e.isConnected)return!1;try{return e.matches(":hover")}catch{return!0}}function rs(e,t){const a=wl();a.textContent=t,a.classList.add("tooltipVisible");const o=e.getBoundingClientRect(),n=6;a.style.left=`${o.left+o.width/2}px`,a.style.top=`${o.top-n}px`,a.style.transform="translate(-50%, -100%)";const s=a.getBoundingClientRect();s.top<4&&(a.style.top=`${o.bottom+n}px`,a.style.transform="translate(-50%, 0)"),a.getBoundingClientRect().right>window.innerWidth-4&&(a.style.left=`${window.innerWidth-4}px`,a.style.transform=s.top<4?"translate(-100%, 0)":"translate(-100%, -100%)")}function wh(e){const t=e.getAttribute("data-tooltip");if(!t)return;St&&(clearTimeout(St),St=null),Qo();const a=gh(e);if(a>0){ia=setTimeout(()=>{ia=null;const o=e.getAttribute("data-tooltip");o&&fh(e)&&rs(e,o)},a);return}rs(e,t)}function bh(){Qo(),St=setTimeout(()=>{wl().classList.remove("tooltipVisible")},50)}function ho(){Qo(),St&&(clearTimeout(St),St=null),it&&it.classList.remove("tooltipVisible")}function kh(){ho()}function yh(){function e(o){const n=o.target.closest?.("[data-tooltip]");n&&wh(n)}function t(o){o.target.closest?.("[data-tooltip]")&&bh()}function a(){ho()}return document.addEventListener("mouseover",e,!0),document.addEventListener("mouseout",t,!0),document.addEventListener("click",a,!0),()=>{document.removeEventListener("mouseover",e,!0),document.removeEventListener("mouseout",t,!0),document.removeEventListener("click",a,!0),ho(),it&&(it.remove(),it=null)}}function Mr(e,t={}){const a=t.pinnedOnly?'[data-side-panel-position="side"][data-side-panel-pinned="true"]':'[data-side-panel-position="side"]',n=Array.from(e.querySelectorAll(a)).filter(s=>vh(s)).map(s=>s.getBoundingClientRect()).filter(s=>s.width>0&&s.height>0).reduce((s,l)=>s==null?l.left:Math.min(s,l.left),null);return n==null?null:Math.round(n)}function vh(e){const t=e.checkVisibility;if(typeof t=="function")try{return t.call(e,{checkOpacity:!0,checkVisibilityCSS:!0,contentVisibilityAuto:!0})}catch{}if(typeof window>"u"||typeof window.getComputedStyle!="function")return!0;const a=window.getComputedStyle(e);if(a.display==="none"||a.visibility==="hidden")return!1;const o=Number(a.opacity);return!(Number.isFinite(o)&&o===0)}function Ch(e,t=!1){return e==="bubble"||t&&e==="auto"?"welcome-peek":"open"}function Sh(){return"collapsed"}function Lh(e){return e==="drawer"?"open":"welcome-peek"}function Rh(e,t){return t<=e.lastQueuedToken?e:{lastQueuedToken:t,pendingToken:t}}function Ph(e,t){return t||e.pendingToken==null?{queue:e,shouldOpen:!1}:{queue:{...e,pendingToken:null},shouldOpen:!0}}function xh(e){const t=Rh(e.queue,e.token),a=Ph(t,e.isHiddenRoute);return a.shouldOpen?{queue:a.queue,commit:{innerState:Lh(e.mode),proactive:!0}}:{queue:a.queue,commit:null}}function Ah(e,t,a=!1){return e==="collapsed"?{nextState:Ch(t,a),persistSeen:!1}:e==="welcome-peek"?t==="bubble"||a&&t==="auto"?{nextState:"collapsed",persistSeen:!0}:{nextState:"open",persistSeen:!0}:{nextState:"collapsed",persistSeen:!1}}function Th(e){return{nextState:"collapsed",persistSeen:e==="welcome-peek"}}function os(){return Sh()}function Dh(e,t,a=0,o="floating"){const n=ye(),[s,l]=d.useState(()=>os()),[c,u]=d.useState(!1),h=d.useRef({lastQueuedToken:0,pendingToken:null}),g=d.useRef(e);g.current=e;const p=n.pathname==="/setup",b=La(n.pathname),w=p||b&&o!=="docked",f=b&&o==="docked";d.useEffect(()=>{w&&(u(!1),l(y=>{const L=os();return y===L?y:L}))},[w]),d.useEffect(()=>{const y=xh({queue:h.current,token:a,isHiddenRoute:w,mode:g.current});if(h.current=y.queue,!y.commit)return;const{innerState:L,proactive:D}=y.commit;u(D),l(T=>T===L?T:L)},[w,a]);const k=w?"hidden":s,m=d.useCallback(()=>{u(!1),l(y=>{const L=Ah(y,e,f);return L.persistSeen&&t(),L.nextState})},[e,t,f]),C=d.useCallback(()=>{u(!1),l(y=>{const L=Th(y);return L.persistSeen&&t(),L.nextState})},[t]),v=d.useCallback(()=>{u(!1),l("collapsed"),t()},[t]);return{viewState:k,proactive:c,toggle:m,collapse:C,dismissWelcome:v}}const bl={x:.03,y:.5};function kl(e,t="floating"){return ml(e)?"hidden":La(e)?t==="docked"?"workspace":"hidden":ma(e)?"lobby":"workspace"}const ot=16,Nh=28,Ea=Nh/2,Ia=24,jh=24,Mh=4;function ns(e){const t=e.currentX-e.startX,a=e.currentY-e.startY;return Math.hypot(t,a)>=Mh}function Eh(e){const{surface:t,viewport:a,topChromeBottom:o,sidebarRight:n,rightBlockedLeft:s=null}=e,l=t==="workspace"&&n!=null?Math.max(ot,n+ot):ot,c=t==="lobby"&&o!=null?Math.max(ot,o+ot):ot,u=t==="workspace"&&s!=null?Math.min(a.width-ot,s-ot):a.width-ot,h=l+Ea,g=c+Ea,p=Math.max(h+1,u-Ea),b=Math.max(g+1,a.height-ot-Ea);return{left:h,top:g,right:p,bottom:b}}function yl(e){const{anchor:t,viewport:a,safeArea:o}=e,n=t.x*a.width,s=t.y*a.height;return{x:Math.min(o.right,Math.max(o.left,n)),y:Math.min(o.bottom,Math.max(o.top,s))}}function mo(e){const{pointerX:t,pointerY:a,viewport:o}=e;return o.width<=0||o.height<=0?{...bl}:{x:Math.min(1,Math.max(0,t/o.width)),y:Math.min(1,Math.max(0,a/o.height))}}function vl(e){return e??{...bl}}function Ih(e){const t=mo({pointerX:e.pointerX,pointerY:e.pointerY,viewport:e.viewport}),a=vl(t),o=yl({anchor:a,viewport:e.viewport,safeArea:e.safeArea}),n=mo({pointerX:o.x,pointerY:o.y,viewport:e.viewport});return e.undock?{placement:"floating",floatingAnchor:n}:{floatingAnchor:n}}function Bh(e){const{pointerX:t,pointerY:a,slotRect:o}=e;return o?t>=o.left-Ia&&t<=o.right+Ia&&a>=o.top-Ia&&a<=o.bottom+Ia:!1}function go(e){return e==="lobby"?"lobby":e==="workspace"?"workspace":null}function Fh(e){const{placement:t,anchor:a,surface:o,viewport:n,safeArea:s}=e;if(o==="hidden")return{kind:"hidden"};if(t==="docked"){const p=go(o);return p?{kind:"docked",slot:p}:{kind:"hidden"}}const l=vl(a),{x:c,y:u}=yl({anchor:l,viewport:n,safeArea:s}),h=mo({pointerX:c,pointerY:u,viewport:n}),g=Math.abs(h.x-l.x)>.001||Math.abs(h.y-l.y)>.001?"collision_reflow":null;return{kind:"floating",x:c,y:u,overrideReason:g}}const Cl=d.createContext(null);function Oh({guideCat:e,placement:t,floatingAnchor:a,sidecarMode:o,proactiveGreetingToken:n=0,onPersistSeen:s,onCommit:l,children:c}){const u=Dh(o,s,n,t),h=ye(),g=kl(h.pathname,t),[p,b]=d.useState(()=>ss()),[w,f]=d.useState(null),[k,m]=d.useState(null),[C,v]=d.useState(null),y=d.useRef({lobby:null,workspace:null}),L=d.useRef({lobby:null,workspace:null}),D=d.useRef(null),T=d.useRef(!1),j=d.useRef(null),[x,R]=d.useState(null),P=d.useCallback(M=>{j.current=M,R(M)},[]);d.useEffect(()=>{if(typeof window>"u")return;const M=()=>b(ss());return window.addEventListener("resize",M),()=>window.removeEventListener("resize",M)},[]),d.useEffect(()=>{if(!(typeof document>"u"))return cs({document,selector:".lobbyTopBar",readValue:M=>M?Math.round(M.getBoundingClientRect().bottom):null,onChange:M=>{f(U=>U===M?U:M)}})},[h.pathname]),d.useEffect(()=>{if(!(typeof document>"u"))return cs({document,selector:"aside.sidebar",readValue:M=>M?Math.round(M.getBoundingClientRect().right):null,onChange:M=>{m(U=>U===M?U:M)}})},[h.pathname]),d.useEffect(()=>{if(typeof document>"u"||typeof window>"u")return;const M=()=>{const U=g==="workspace"?Mr(document):null;v(V=>V===U?V:U)};return M(),window.addEventListener("resize",M),window.addEventListener(po,M),()=>{window.removeEventListener("resize",M),window.removeEventListener(po,M)}},[g,h.pathname]);const I=d.useMemo(()=>Eh({surface:g,viewport:p,topChromeBottom:w,sidebarRight:k,rightBlockedLeft:C}),[g,p,w,k,C]),O=d.useMemo(()=>Fh({placement:t,anchor:a,surface:g,viewport:p,safeArea:I}),[t,a,g,p,I]),E=d.useMemo(()=>{if(!x||!x.activated)return O;const M=x.currentX-x.startX,U=x.currentY-x.startY;return x.mode==="floating"?{kind:"floating",x:Ba(x.basePillX+M,p.width),y:Ba(x.basePillY+U,p.height),overrideReason:null}:x.mode==="docked"&&!x.escaped?O:x.mode==="docked"&&x.escaped?{kind:"floating",x:Ba(x.basePillX+M,p.width),y:Ba(x.basePillY+U,p.height),overrideReason:null}:O},[O,x,p]),$=d.useMemo(()=>{const M=go(g),U=t==="docked"&&M!=null,V=x?.mode==="floating"&&x.activated?x.overSlot:null;return{lobby:{active:U&&M==="lobby",preview:V==="lobby"},workspace:{active:U&&M==="workspace",preview:V==="workspace"}}},[t,g,x]),G=d.useCallback((M,U)=>{y.current[M]=U,L.current[M]=U?Ir(U):null},[]),ee=d.useCallback(()=>{Object.keys(y.current).forEach(M=>{const U=y.current[M];L.current[M]=U?Ir(U):null})},[]),B=d.useCallback(M=>{const U=y.current[M];return U?Ir(U):null},[]),q=d.useCallback((M,U,V=!1)=>Ih({pointerX:M,pointerY:U,viewport:p,safeArea:I,undock:V}),[I,p]),F=d.useCallback(M=>{l({placement:"docked"})},[l]),Q=d.useCallback(M=>{const U=ns({startX:M.startX,startY:M.startY,currentX:M.currentX,currentY:M.currentY}),V=M.basePillX+(M.currentX-M.startX),Se=M.basePillY+(M.currentY-M.startY);M.mode==="floating"&&M.overSlot?(F(M.overSlot),T.current=!0):M.mode==="floating"&&U?(l(q(V,Se)),T.current=!0):M.mode==="docked"&&M.escaped&&(l(q(V,Se,!0)),T.current=!0),P(null)},[F,l,q]),he=d.useCallback(M=>{const U=j.current;if(!U||M.pointerId!==U.pointerId)return;const V={...U,currentX:M.clientX,currentY:M.clientY};if(!U.activated){if(!ns({startX:U.startX,startY:U.startY,currentX:M.clientX,currentY:M.clientY})){P(V);return}V.activated=!0,typeof document<"u"&&document.body.classList.add(Er),is(),u.collapse(),ee()}if(U.mode==="floating"){const Se=go(g);if(Se){const z=L.current[Se];Bh({pointerX:M.clientX,pointerY:M.clientY,slotRect:z})?V.overSlot=Se:V.overSlot=null}else V.overSlot=null}else if(U.mode==="docked"){const Se=M.clientX-U.startX,z=M.clientY-U.startY;!U.escaped&&Math.hypot(Se,z)>=jh&&(V.escaped=!0)}P(V)},[u,ee,P,g]),W=d.useCallback(M=>{const U=j.current;if(!U||M.pointerId!==U.pointerId)return;const V={...U,currentX:M.clientX,currentY:M.clientY};Q(V)},[Q]);d.useEffect(()=>{if(!x)return;const M=U=>{const V=j.current;!V||U.pointerId!==V.pointerId||P(null)};return window.addEventListener("pointermove",he),window.addEventListener("pointerup",W),window.addEventListener("pointercancel",M),()=>{window.removeEventListener("pointermove",he),window.removeEventListener("pointerup",W),window.removeEventListener("pointercancel",M)}},[x,he,W,P]);const N=!!x?.activated,_=d.useMemo(()=>g==="workspace"&&k!=null?Math.max(0,Math.round(k)):0,[g,k]);d.useEffect(()=>{if(!(typeof document>"u")&&N)return document.body.classList.add(Er),()=>{document.body.classList.remove(Er),is()}},[N]);const J=d.useCallback(M=>{if(M.button!==0&&M.pointerType==="mouse")return;M.preventDefault(),M.stopPropagation(),T.current=!1,ls(),v(Mr(document,{pinnedOnly:!0}));const U=M.currentTarget,V=U.getBoundingClientRect(),Se=V.left+V.width/2,z=V.top+V.height/2;try{U.setPointerCapture(M.pointerId)}catch{}P({mode:"floating",pointerId:M.pointerId,startX:M.clientX,startY:M.clientY,currentX:M.clientX,currentY:M.clientY,basePillX:Se,basePillY:z,activated:!1,overSlot:null,escaped:!1})},[]),X=d.useCallback(M=>{if(M.button!==0&&M.pointerType==="mouse")return;M.preventDefault(),M.stopPropagation(),T.current=!1,ls(),v(Mr(document,{pinnedOnly:!0}));const U=M.currentTarget,V=U.getBoundingClientRect(),Se=V.left+V.width/2,z=V.top+V.height/2;try{U.setPointerCapture(M.pointerId)}catch{}P({mode:"docked",pointerId:M.pointerId,startX:M.clientX,startY:M.clientY,currentX:M.clientX,currentY:M.clientY,basePillX:Se,basePillY:z,activated:!1,overSlot:null,escaped:!1})},[]),oe=d.useCallback(()=>{const M=T.current;return T.current=!1,M},[]),we=d.useCallback(()=>{T.current=!1},[]),Ee=d.useCallback(()=>{if(E.kind!=="docked")return;const M=B(E.slot);if(!M)return;const U=(M.left+M.right)/2,V=(M.top+M.bottom)/2;l(q(U,V,!0))},[E,l,q,B]),xe=d.useMemo(()=>({guideCat:e,projection:E,dockSlotState:$,pillRef:D,registerSlotRef:G,onFloatingPointerDown:J,onDockedPointerDown:X,consumePillClickSuppression:oe,clearPillClickSuppression:we,presentation:u,dragActive:N,panelOriginX:_,getDockSlotRect:B,undock:Ee}),[e,E,$,G,J,X,oe,we,u,N,_,B,Ee]);return r.jsx(Cl.Provider,{value:xe,children:c})}function Jo(){const e=d.useContext(Cl);if(!e)throw new Error("useGuideCatPlacement requires GuideCatPlacementProvider");return e}function Wh(e){const{registerSlotRef:t}=Jo();return d.useCallback(a=>{t(e,a)},[t,e])}function ss(){return typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight}}function Ba(e,t){return t<=0?e:Math.min(t,Math.max(0,e))}function is(){kh()}const Sl=Symbol.for("cats.guideCat.dismissTransientChrome");function Uh(e){return!!e[Sl]}function ls(){if(typeof document>"u"||typeof MouseEvent>"u")return;const e=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:typeof window<"u"?window:void 0,button:0});e[Sl]=!0,document.body.dispatchEvent(e)}const Er="guideCatDragging";function Ir(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function cs(e){const{document:t,selector:a,readValue:o,onChange:n}=e,s=globalThis.ResizeObserver,l=globalThis.MutationObserver,c=t.body??t.documentElement;if(!c)return n(o(t.querySelector(a))),()=>{};let u=null,h=null,g=null;const p=()=>{h?.disconnect(),g?.disconnect(),h=null,g=null},b=()=>{n(o(u))},w=()=>{u&&typeof s=="function"&&(h=new s(b),h.observe(u)),u&&typeof l=="function"&&(g=new l(b),g.observe(u,{attributes:!0,attributeFilter:["class","style"]}))},f=()=>{const m=t.querySelector(a);return m===u?!1:(p(),u=m,w(),b(),!0)};let k=null;return typeof l=="function"&&(k=new l(()=>{u!=null&&(u.isConnected??!0)||f()}),k.observe(c,{childList:!0,subtree:!0})),f()||b(),()=>{p(),k?.disconnect()}}const pr="cats.guide-cat-ui-prefs",Ll=1,Ut={sidecarSeen:!1,sidecarMode:"auto",placement:"floating",floatingAnchor:null},ds=new Set;function ga(){const e=globalThis;return typeof e.addEventListener!="function"||typeof e.removeEventListener!="function"?null:e}function Hh(e,t){(ga()===null?d.useEffect:d.useLayoutEffect)(e,t)}function _h(e){if(typeof e!="object"||e===null)return null;const t=e,a=t.x,o=t.y;return typeof a!="number"||typeof o!="number"||!Number.isFinite(a)||!Number.isFinite(o)?null:{x:Math.min(1,Math.max(0,a)),y:Math.min(1,Math.max(0,o))}}function Gh(e){return e==="auto"||e==="drawer"||e==="bubble"?e:Ut.sidecarMode}function Kh(e){return e==="floating"||e==="docked"?e:Ut.placement}function qh(e,t){return{sidecarSeen:t.sidecarSeen??e.sidecarSeen,sidecarMode:t.sidecarMode??e.sidecarMode,placement:t.placement??e.placement,floatingAnchor:t.floatingAnchor!==void 0?t.floatingAnchor:e.floatingAnchor}}function Xo(e){if(!e)return null;try{const t=JSON.parse(e);if(typeof t!="object"||t===null)return null;const a=t;return a.version===Ll?{sidecarSeen:a.sidecarSeen===!0,sidecarMode:Gh(a.sidecarMode),placement:Kh(a.placement),floatingAnchor:_h(a.floatingAnchor)}:null}catch{return null}}function Rl(e){ds.has(e)||(ds.add(e),globalThis.console?.warn?.(`[guide-cat-ui-prefs] Ignoring unsupported or malformed stored prefs during ${e}.`))}function $h(e){const t={version:Ll,sidecarSeen:e.sidecarSeen,sidecarMode:e.sidecarMode,placement:e.placement,floatingAnchor:e.floatingAnchor?{...e.floatingAnchor}:null};return JSON.stringify(t)}function zh(e){if(!e)return null;try{return Xo(e.getItem(pr))}catch{return null}}function Vh(e){if(!e)return null;try{return e.getItem(pr)}catch{return null}}function Pl(e,t){if(!e)return{persisted:!1,prefs:t};try{e.setItem(pr,$h(t));const a=zh(e);if(a)return{persisted:!0,prefs:a}}catch{}return{persisted:!1,prefs:t}}function Yh(e){const{storage:t}=e,a=Vh(t),o=Xo(a);if(o)return{prefs:o,source:"local",persisted:!0};if(a!==null)return Rl("bootstrap"),{prefs:{...Ut},source:"defaults",persisted:!1};const n={...Ut},s=Pl(t,n).persisted;return{prefs:n,source:"defaults",persisted:s}}function Br(e,t){return e.sidecarSeen===t.sidecarSeen&&e.sidecarMode===t.sidecarMode&&e.placement===t.placement&&e.floatingAnchor?.x===t.floatingAnchor?.x&&e.floatingAnchor?.y===t.floatingAnchor?.y}class Qh{constructor(t){this.storage=t}prefs={...Ut};hydrated=!1;listeners=new Set;storageListening=!1;getSnapshot=()=>this.prefs;isHydrated(){return this.hydrated}subscribe=t=>(this.listeners.add(t),this.ensureStorageListener(),()=>{this.listeners.delete(t),this.listeners.size===0&&this.teardownStorageListener()});ensureHydrated(){if(this.hydrated)return;const t=Yh({storage:this.storage});this.prefs=t.prefs,this.hydrated=!0}update(t){this.hydrated||this.ensureHydrated();const a=qh(this.prefs,t);if(Br(this.prefs,a))return;const o=Pl(this.storage,a).prefs;this.prefs=o,this.hydrated=!0,this.emit()}emit(){this.listeners.forEach(t=>t())}ensureStorageListener(){const t=ga();!t||this.storageListening||(t.addEventListener?.("storage",this.handleStorageEvent),this.storageListening=!0)}teardownStorageListener(){const t=ga();!t||!this.storageListening||(t.removeEventListener?.("storage",this.handleStorageEvent),this.storageListening=!1)}handleStorageEvent=t=>{if(t.key!==pr)return;if(t.newValue===null){const o={...Ut};if(Br(this.prefs,o))return;this.prefs=o,this.hydrated=!0,this.emit();return}const a=Xo(t.newValue);if(!a){Rl("storage-event");return}Br(this.prefs,a)||(this.prefs=a,this.hydrated=!0,this.emit())}}function xl(e){return new Qh(e)}let Fr=null;function Jh(){return Fr||(Fr=xl(ga()?.localStorage??null)),Fr}function Zo(e={}){const{hydrate:t=!0}=e,a=d.useMemo(()=>ga()===null?xl(null):Jh(),[]),[,o]=d.useState(0);Hh(()=>{!t||a.isHydrated()||(a.ensureHydrated(),o(l=>l+1))},[t,a]);const n=d.useSyncExternalStore(a.subscribe,a.getSnapshot,a.getSnapshot),s=d.useCallback(l=>{a.update(l)},[a]);return{prefs:n,hydrated:t&&a.isHydrated(),update:s}}const za=["claude","codex","antigravity","cursor","copilot","opencode","kilo","goose","pi","auggie","junie","kiro","ollama","openclaw"],Xh={openclaw:[{value:"openclaw-coder",label:"openclaw-coder (default)",default:!0}],claude:[{value:"opus",label:"Opus 4.7 with 1M context",default:!0},{value:"sonnet",label:"Sonnet 4.6"},{value:"haiku",label:"Haiku 4.5"}],codex:[{value:"gpt-5.4",label:"gpt-5.4",default:!0},{value:"gpt-5.4-mini",label:"gpt-5.4-mini"},{value:"gpt-5.3-codex",label:"gpt-5.3-codex"},{value:"gpt-5.3-codex-spark",label:"gpt-5.3-codex-spark"},{value:"gpt-5.2-codex",label:"gpt-5.2-codex"},{value:"gpt-5.2",label:"gpt-5.2"},{value:"gpt-5.1-codex-max",label:"gpt-5.1-codex-max"},{value:"gpt-5.1-codex-mini",label:"gpt-5.1-codex-mini"}],antigravity:[{value:"antigravity-default",label:"Antigravity default",default:!0}],copilot:[{value:"gpt-5.4",label:"gpt-5.4 (default)",default:!0},{value:"claude-opus-4-6",label:"claude-opus-4-6"},{value:"gemini-3-pro-preview",label:"gemini-3-pro-preview"}],opencode:[{value:"opencode-go/glm-5",label:"glm-5 (default)",default:!0},{value:"opencode-go/kimi-k2.5",label:"kimi k2.5"},{value:"opencode-go/minimax-m2.5",label:"minimax m2.5"}],kilo:[{value:"kilo/openai/gpt-5.4",label:"gpt-5.4 (default)",default:!0},{value:"kilo/openai/gpt-5.4-mini",label:"gpt-5.4-mini"},{value:"kilo/anthropic/claude-opus-4.6",label:"claude-opus-4.6"},{value:"kilo/anthropic/claude-sonnet-4.6",label:"claude-sonnet-4.6"},{value:"kilo/google/gemini-3.1-pro-preview",label:"gemini-3.1-pro-preview"},{value:"kilo/z-ai/glm-5",label:"glm-5"}],auggie:[{value:"gpt-5.4",label:"gpt-5.4 (default)",default:!0},{value:"claude opus 4.6",label:"claude opus 4.6"},{value:"sonnet 4.6",label:"sonnet 4.6"}],pi:[{value:"openai-codex/gpt-5.4",label:"openai-codex gpt-5.4 (default)",default:!0}],junie:[{value:"Gemini 3 Flash",label:"Gemini 3 Flash (default)",default:!0},{value:"Claude Opus 4.6",label:"Claude Opus 4.6"},{value:"Claude Opus 4.7",label:"Claude Opus 4.7"},{value:"Claude Sonnet 4.6",label:"Claude Sonnet 4.6"},{value:"Gemini 3.1 Flash Lite",label:"Gemini 3.1 Flash Lite"},{value:"Gemini 3.1 Pro Preview",label:"Gemini 3.1 Pro Preview"},{value:"GPT-5",label:"GPT-5"},{value:"GPT-5.2",label:"GPT-5.2"},{value:"GPT-5.3-codex",label:"GPT-5.3-codex"},{value:"GPT-5.4",label:"GPT-5.4"},{value:"Grok 4.1 Fast Reasoning",label:"Grok 4.1 Fast Reasoning"}],cursor:[{value:"auto",label:"auto"},{value:"composer-2-fast",label:"Composer 2 Fast (default)",default:!0},{value:"gpt-5.4",label:"gpt-5.4"},{value:"claude-opus-4-6",label:"claude 4.6 opus"},{value:"gemini-3.1-pro",label:"gemini 3.1 pro"}],kiro:[{value:"claude-sonnet-4.5",label:"claude-sonnet-4.5 (default)",default:!0},{value:"deepseek-3.2",label:"deepseek-3.2"},{value:"minimax-m2.1",label:"minimax-m2.1"}],goose:[{value:"openai/gpt-5-codex",label:"openai/gpt-5-codex (default)",default:!0},{value:"openai/gpt-5",label:"openai/gpt-5"}],ollama:[{value:"qwen2.5-coder:7b",label:"qwen2.5-coder:7b (default)",default:!0}]},Zh={claude:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0},{id:"sdk",label:"agent/sdk",target:"agent/sdk",backend:"agent"},{id:"sonnet",label:"api/sonnet",target:"api/sonnet",backend:"api"}],codex:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0},{id:"main",label:"api/main",target:"api/main",backend:"api"}],antigravity:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],cursor:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],copilot:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],opencode:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],kilo:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],goose:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],pi:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],auggie:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],junie:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],kiro:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],ollama:[{id:"local",label:"local/local",target:"local/local",backend:"local",default:!0}],openclaw:[{id:"gateway",label:"agent/gateway",target:"agent/gateway",backend:"agent",default:!0}]},em=Object.fromEntries(Object.entries(Xh).map(([e,t])=>[e,t.map(a=>({...a}))]));function de(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Al(e){const t=de(e);return t?de(t.catalog)??t:null}function ae(e){return typeof e=="string"&&e.trim().length>0?e:null}function Zt(e){return e==="none"||e==="derived"||e==="native"||e==="unknown"?e:"unknown"}function tm(e){return e==="none"||e==="final"||e==="chunk"||e==="line"||e==="token"||e==="unknown"?e:"unknown"}function am(e){return e==="final_message"||e==="event_tape"||e==="content_blocks"||e==="unknown"?e:"unknown"}function rm(e){const t=de(e);if(!t)return null;const a=de(t.normalizedStream),o=de(a?.text),n=de(t.transcript),s=de(t.presentation),l=de(t.validation),c=de(l?.observed);return{normalizedStream:{text:{mode:tm(o?.mode),stepwise:o?.stepwise===!0},toolUse:Zt(a?.toolUse),toolResult:Zt(a?.toolResult),progress:Zt(a?.progress),reasoning:Zt(a?.reasoning)},transcript:{contentBlocks:Zt(n?.contentBlocks)},presentation:{recommended:am(s?.recommended)},notes:De(t.notes),...l?{validation:{artifactId:typeof l.artifactId=="string"?l.artifactId:"",capturedAt:typeof l.capturedAt=="string"?l.capturedAt:"",transport:typeof l.transport=="string"?l.transport:"",...typeof l.runtimeMode=="string"?{runtimeMode:l.runtimeMode}:{},executionStatus:l.executionStatus==="failed"?"failed":"completed",observed:{incrementalText:c?.incrementalText===!0,toolUse:c?.toolUse===!0,toolResult:c?.toolResult===!0,progress:c?.progress===!0,finalResult:c?.finalResult===!0}}}:{}}}function fo(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function De(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function Fa(e){const t=de(e);if(!t)return;const a=Object.entries(t).filter(([,o])=>fo(o));return a.length>0?Object.fromEntries(a):void 0}function us(e){return e==="supported"||e==="unavailable"||e==="available"||e==="preview"||e==="deprecated"?e:void 0}function om(e){return e==="boolean"||e==="enum"||e==="number"||e==="string"?e:"string"}function nm(e){return e==="session_default"||e==="request"||e==="both"?e:"session_default"}function sm(e){return e==="auto"||e==="explicit"?e:"explicit"}function ps(e){if(!Array.isArray(e))return;const t=e.flatMap(a=>{if(fo(a))return[{value:a,label:String(a)}];const o=de(a);return!o||!fo(o.value)?[]:[{value:o.value,label:ae(o.label)??String(o.value),...ae(o.description)?{description:ae(o.description)}:{},...De(o.applicableEntryIds).length>0?{applicableEntryIds:De(o.applicableEntryIds)}:{}}]});return t.length>0?t:void 0}function im(e){return za.includes(e)}function Et(e){const t=e?.trim().toLowerCase();if(!t)return null;if(za.includes(t))return t;if(t.endsWith("-cli")){const a=t.slice(0,-4);if(za.includes(a))return a}return null}function Tl(e){const t=Et(e)??e.trim();return t==="openclaw"?"OpenClaw":t.charAt(0).toUpperCase()+t.slice(1)}function en(e){const t=Et(e);return t?em[t]??[]:[]}function tn(e,t){const a=t?.trim();if(!a)return null;if((Et(e)??e)==="claude"){const n=a.toLowerCase();if(n==="claude-opus-4-6"||n==="claude-opus-4.6"||n==="opus")return"opus";if(n==="claude-sonnet-4-6"||n==="claude-sonnet-4.6"||n==="sonnet")return"sonnet";if(n==="claude-haiku-4-5"||n==="claude-haiku-4.5"||n==="haiku")return"haiku"}return a}function Dl(e){const t=en(e);return t.find(a=>a.default)?.value??t[0]?.value??""}function hr(e){const t=Et(e);return t?Zh[t]??[]:[]}function an(e){const t=hr(e);return t.find(a=>a.default)?.id??t[0]?.id??null}function Nl(e){const t=hr(e);return t.find(a=>a.default)?.backend??t[0]?.backend??null}function lm(){return za.map(e=>({id:e,label:Tl(e),defaultModel:Dl(e)||null,defaultInstance:an(e),defaultBackend:Nl(e),instances:hr(e),modelsPath:`/api/providers/${e}/models`}))}function rn(e){return e.defaultModel||e.models.find(t=>t.default)?.id||e.models[0]?.id||""}function jl(e,t={}){return{provider:e,backend:null,instance:t.instance??null,defaultModel:Dl(e)||null,source:"static",cache:null,models:en(e).map(a=>({id:a.value,label:a.label,default:a.default})),warnings:t.warnings??[]}}function cm(e,t={}){const a=jl(e,t),o=rn(a)||null;return{provider:a.provider,backend:a.backend,instance:a.instance,defaultModel:o,source:a.source,cache:a.cache,entries:a.models.map(n=>({...n})),presets:[],controls:[],defaultSelection:o?{entryId:o,entryMode:"explicit"}:null,support:{tier:"entry_only",notes:[]},warnings:[...a.warnings]}}function dm(e){const t=rn(e)||null;return{provider:e.provider,backend:e.backend,instance:e.instance,defaultModel:t,source:e.source,cache:e.cache,entries:e.models.map(a=>({...a})),presets:[],controls:[],defaultSelection:t?{entryId:t,entryMode:"explicit"}:null,support:{tier:"entry_only",notes:[]},warnings:[...e.warnings]}}function um(e,t){const a=Al(e)??{},o=a.source,n=o==="dynamic"||o==="config"||o==="static"?o:"static",s=de(a.cache),l=Array.isArray(a.models)?a.models:[];return{provider:ae(a.provider)??t,backend:ae(a.backend),instance:ae(a.instance),defaultModel:ae(a.defaultModel),source:n,cache:s?{servedFromCache:!!s.servedFromCache,cachedAt:ae(s.cachedAt),ttlSec:typeof s.ttlSec=="number"?s.ttlSec:null}:null,models:l.map(c=>de(c)).filter(c=>c!==null).map(c=>({id:ae(c.id)??"",label:ae(c.label)??ae(c.id)??"",default:!!c.default,status:ae(c.status)??void 0})).filter(c=>c.id.length>0),warnings:Array.isArray(a.warnings)?a.warnings.filter(c=>typeof c=="string"):[]}}function pm(e,t){const a=Al(e)??{},o=a.source,n=o==="dynamic"||o==="config"||o==="static"?o:"static",s=de(a.cache),l=Array.isArray(a.entries)?a.entries:[],c=Array.isArray(a.presets)?a.presets:[],u=Array.isArray(a.controls)?a.controls:[],h=de(a.support),g=de(a.defaultSelection);return{provider:ae(a.provider)??t,backend:ae(a.backend),instance:ae(a.instance),defaultModel:ae(a.defaultModel),source:n,cache:s?{servedFromCache:!!s.servedFromCache,cachedAt:ae(s.cachedAt),ttlSec:typeof s.ttlSec=="number"?s.ttlSec:null}:null,entries:l.map(p=>de(p)).filter(p=>p!==null).map(p=>({id:ae(p.id)??"",label:ae(p.label)??ae(p.id)??"",default:!!p.default,...ae(p.status)?{status:ae(p.status)}:{},...De(p.capabilityTags).length>0?{capabilityTags:De(p.capabilityTags)}:{},...de(p.limits)?{limits:{...typeof de(p.limits)?.contextWindowTokens=="number"?{contextWindowTokens:Number(de(p.limits)?.contextWindowTokens)}:typeof de(p.limits)?.contextWindow=="number"?{contextWindowTokens:Number(de(p.limits)?.contextWindow)}:{},...typeof de(p.limits)?.maxOutputTokens=="number"?{maxOutputTokens:Number(de(p.limits)?.maxOutputTokens)}:{}}}:{},...De(p.notes).length>0?{notes:De(p.notes)}:{}})).filter(p=>p.id.length>0),presets:c.map(p=>de(p)).filter(p=>p!==null).map(p=>({id:ae(p.id)??"",label:ae(p.label)??ae(p.id)??"",...ae(p.description)?{description:ae(p.description)}:{},...us(p.availability)?{availability:us(p.availability)}:{},...De(p.applicableEntryIds).length>0?{applicableEntryIds:De(p.applicableEntryIds)}:{},...ae(p.preferredEntryId)?{preferredEntryId:ae(p.preferredEntryId)}:{},...Fa(p.controlDefaults)?{controlDefaults:Fa(p.controlDefaults)}:{},...De(p.warnings).length>0?{warnings:De(p.warnings)}:{}})).filter(p=>p.id.length>0),controls:u.map(p=>de(p)).filter(p=>p!==null).map(p=>({key:ae(p.key)??"",label:ae(p.label)??ae(p.key)??"",...ae(p.description)?{description:ae(p.description)}:{},kind:om(p.kind),scope:nm(p.scope),...ps(p.values)?{values:ps(p.values)}:{},...typeof p.minimum=="number"?{minimum:p.minimum}:{},...typeof p.maximum=="number"?{maximum:p.maximum}:{},...typeof p.step=="number"?{step:p.step}:{},...De(p.applicableEntryIds).length>0?{applicableEntryIds:De(p.applicableEntryIds)}:{},...De(p.semanticTags).length>0?{semanticTags:De(p.semanticTags)}:{}})).filter(p=>p.key.length>0),defaultSelection:g?{...ae(g.entryId)?{entryId:ae(g.entryId)}:{},entryMode:sm(g.entryMode),...ae(g.presetId)?{presetId:ae(g.presetId)}:{},...Fa(g.controls)?{controls:Fa(g.controls)}:{}}:null,support:{tier:h?.tier==="full"||h?.tier==="entry_only"||h?.tier==="read_only"?h.tier:"entry_only",notes:De(h?.notes)},warnings:Array.isArray(a.warnings)?a.warnings.filter(p=>typeof p=="string"):[]}}const on=new Map;function hm(e){const t=e.trim().toLowerCase();if(t.endsWith("-cli")){const o=t.slice(0,-4);if(im(o))return{provider:o,backendSuffix:"-CLI"}}return{provider:Et(t)??e.trim(),backendSuffix:null}}function mr(e){return e.replace(/\s*\((?:default|recommended)\)\s*/giu," ").trim()}function hs(e){const t=e?.toLowerCase();return t==="cli"?"-CLI":t==="agent"?"-AGENT":t==="api"?"-API":t==="local"?"-LOCAL":""}function mm(e,t){if(!t)return"";const a=t.toLowerCase();if(a.startsWith("cli/")||a==="cli")return"-CLI";if(a.startsWith("agent/")||a==="agent")return"-AGENT";if(a.startsWith("api/")||a==="api")return"-API";if(a.startsWith("local/")||a==="local")return"-LOCAL";if(a==="default")return hs(Nl(e));const o=hr(e).find(l=>l.id===t),n=hs(o?.backend);if(n)return n;const s=o?.target?.toLowerCase();return s?.startsWith("cli/")?"-CLI":s?.startsWith("agent/")?"-AGENT":s?.startsWith("api/")?"-API":s?.startsWith("local/")?"-LOCAL":""}function gm(e,t){if(!t)return null;const a=tn(e,t)??t,o=en(e).find(s=>s.value===a)?.label,n=e==="claude"&&(a==="opus"||a==="sonnet"||a==="haiku")?a.charAt(0).toUpperCase()+a.slice(1):a;return mr(o??n)}function fm(e){const t=e?.trim();return t?mr(t):null}function Ml(e){const t=e?.trim();return t?mr(t):null}function wm(e){return JSON.stringify([typeof e,e])}function bm(e){if(!e)return"";const t=Object.entries(e).filter(([,a])=>a!==""&&a!==!1).sort(([a],[o])=>a.localeCompare(o)).map(([a,o])=>[a,wm(o)]);return t.length>0?JSON.stringify(t):""}function El(e){const t=Et(e.provider)??e.provider.trim().toLowerCase(),a=(e.instance?.trim()||an(e.provider)||"").toLowerCase(),o=(tn(e.provider,e.model)??e.model?.trim()??"").toLowerCase();return JSON.stringify([t,a,o,bm(e.controls)])}function km(){on.clear()}function ym(e){return Bl(e)}function Il(e){const t=Ml(e.executionLabel);return t?(on.set(El({provider:e.provider,instance:e.instance,model:e.model,controls:e.modelSelection?.controls??null}),t),t):null}function Bl(e){return on.get(El({provider:e.provider,instance:e.instance,model:e.model,controls:e.modelSelection?.controls??null}))??null}const vm={max:"Max",xhigh:"xHigh",high:"High",medium:"Medium",low:"Low",none:"None"};function Cm(e){return typeof e=="boolean"?e?"On":"Off":typeof e=="number"?String(e):vm[e]??e.replace(/[_-]/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function Fl(e,t){if(!e)return[];const a=new Map((t??[]).map(o=>[o.key,o]));return Object.entries(e).filter(([,o])=>o!==""&&o!==!1).map(([o,n])=>{const l=a.get(o)?.values?.find(c=>c.value===n);return mr(l?.label??Cm(n))}).filter(o=>o.length>0)}function nn(e,t,a,o,n,s){const l=hm(e),c=o?.trim()||Tl(l.provider),u=t?.trim()||an(l.provider),h=l.backendSuffix??mm(l.provider,u),g=fm(s)??gm(l.provider,a),p=n&&n.length>0?` · ${n.join(" · ")}`:"";return c+h+(g?` · ${g}`:"")+p}function gr(e){const t=Il({provider:e.provider,instance:e.instance,model:e.model,modelSelection:e.modelSelection??null,executionLabel:e.executionLabel??null});if(t)return t;const a=Bl({provider:e.provider,instance:e.instance,model:e.model,modelSelection:e.modelSelection??null});if(a)return a;const o=e.controlLabels??Fl(e.modelSelection?.controls,e.catalogControls);return nn(e.provider,e.instance,e.model,e.providerLabel,o,e.modelLabelOverride)}function Sm(e){const t=e.defaultExecutionTarget;return gr({provider:t.provider,instance:t.instance??null,model:t.model??null,modelSelection:e.defaultModelSelection??null,executionLabel:e.executionLabel??null})}function pS(e){const t=e.execution?.target;return t?.provider?gr({provider:t.provider,instance:t.instance??null,model:t.model??null,modelSelection:e.execution?.modelSelection??null,executionLabel:e.executionLabel??null}):Ml(e.executionLabel)}function Ol(e,t){return t?`${e} · ${t}`:e}const Lm="Catlas",Rm=[];function ms(e){return e.trim().toLowerCase()}function Pm(e){return Array.isArray(e)?e.map(t=>ms(t)).filter(t=>t.length>0):typeof e!="string"?[]:e.split(",").map(t=>ms(t.split(";",1)[0]??"")).filter(t=>t.length>0)}function xm(){const e=typeof globalThis=="object"&&globalThis!==null&&"navigator"in globalThis?globalThis.navigator:void 0;return e?Array.isArray(e.languages)&&e.languages.length>0?e.languages:typeof e.language=="string"?e.language:null:null}function Am(e){const t=Pm(e);for(const a of t){const o=Rm.find(n=>n.prefixes.some(s=>a===s||a.startsWith(`${s}-`)));if(o)return o.name}return Lm}function ct(){return Am(xm())}function fa(e){return e==null||e==="active"}const Va=new URL("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%20width='100%25'%20height='100%25'%3e%3cdefs%3e%3cclipPath%20id='circle-clip'%3e%3ccircle%20cx='60'%20cy='60'%20r='60'%20/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23circle-clip)'%3e%3c!--%20Background%20--%3e%3crect%20width='120'%20height='120'%20fill='%238B7E74'%20/%3e%3c!--%20Ears%20--%3e%3cpolygon%20points='25,25%2045,50%2025,60'%20fill='%23F2994A'%20/%3e%3cpolygon%20points='95,25%2075,50%2095,60'%20fill='%23F2994A'%20/%3e%3cpolygon%20points='28,32%2040,50%2030,55'%20fill='%23FDE1D3'%20/%3e%3cpolygon%20points='92,32%2080,50%2090,55'%20fill='%23FDE1D3'%20/%3e%3c!--%20Head%20--%3e%3cellipse%20cx='60'%20cy='65'%20rx='45'%20ry='35'%20fill='%23F2994A'%20/%3e%3c!--%20Face%20marking%20(white%20area)%20--%3e%3cpath%20d='M%2060,65%20Q%2020,65%2025,85%20Q%2060,110%2095,85%20Q%20100,65%2060,65%20Z'%20fill='%23FFFFFF'%20/%3e%3c!--%20Eyes%20--%3e%3ccircle%20cx='42'%20cy='60'%20r='6'%20fill='%23333333'%20/%3e%3ccircle%20cx='78'%20cy='60'%20r='6'%20fill='%23333333'%20/%3e%3c!--%20Catchlights%20--%3e%3ccircle%20cx='44'%20cy='58'%20r='2'%20fill='%23FFFFFF'%20/%3e%3ccircle%20cx='80'%20cy='58'%20r='2'%20fill='%23FFFFFF'%20/%3e%3c!--%20Nose%20--%3e%3cpolygon%20points='56,72%2064,72%2060,77'%20fill='%23EB5757'%20/%3e%3c!--%20Mouth%20--%3e%3cpath%20d='M%2052,80%20Q%2060,85%2068,80'%20fill='none'%20stroke='%23333333'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3c!--%20Whiskers%20--%3e%3cline%20x1='15'%20y1='65'%20x2='30'%20y2='68'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='12'%20y1='72'%20x2='28'%20y2='72'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='105'%20y1='65'%20x2='90'%20y2='68'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='108'%20y1='72'%20x2='92'%20y2='72'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3c!--%20Guide%20Scarf/Bandana%20--%3e%3cpath%20d='M%2020,85%20Q%2060,105%20100,85%20L%20110,120%20L%2010,120%20Z'%20fill='%232D9CDB'%20/%3e%3cpath%20d='M%2060,100%20L%2075,120%20L%2045,120%20Z'%20fill='%232285C2'%20/%3e%3ccircle%20cx='60'%20cy='95'%20r='7'%20fill='%23F2C94C'%20/%3e%3c/g%3e%3c/svg%3e",import.meta.url).href,gs=14,Tm=36,Dm=20,Nm=20;function jm(e,t="floating"){const a=kl(e,t);return a==="workspace"?"product":a}function fs({name:e,tooltip:t,unreadCount:a,onClick:o,onDismissClick:n,onPointerDown:s,style:l,className:c,dragging:u}){const{t:h}=H(),g=ct();return r.jsxs("div",{className:c??"guideCatPillWrap","data-dragging":u?"true":"false",style:l,children:[r.jsxs("button",{type:"button",className:"guideCatPill",onPointerDown:s,onClick:o,"aria-label":h(i.sharedGuideCatPillOpenLabel,{guideCatName:g}),"data-tooltip":t,"data-tooltip-delay":"1000",children:[r.jsx(Wl,{className:"guideCatPillAvatar"}),a>0?r.jsx("span",{className:"guideCatPillBadge",children:a}):null]}),n&&!u?r.jsx("button",{type:"button",className:"guideCatPillDismiss",onClick:p=>{p.stopPropagation(),n()},"aria-label":h(i.sharedGuideCatPillDisableLabel),children:"✕"}):null]})}function Mm({ownerDisplayName:e,onAction:t,onDismiss:a,style:o,anchor:n="anchor-left"}){const{t:s}=H();return r.jsxs("div",{className:`guideCatPeek guideCatPeek--${n}`,style:o,children:[r.jsx("p",{className:"guideCatPeekGreeting",children:s(i.sharedGuideCatWelcomeGreeting,{ownerDisplayName:e})}),r.jsxs("div",{className:"guideCatPeekActions",children:[r.jsx(Wt,{route:"/chat/new",onAction:t,labelKey:i.sharedGuideCatWelcomeStartChat}),r.jsx(Wt,{route:"/settings/cats",onAction:t,labelKey:i.sharedGuideCatWelcomeMeetCats}),r.jsx(Wt,{route:"/lobby",onAction:t,labelKey:i.sharedGuideCatWelcomeExploreProducts})]}),a?r.jsx("button",{type:"button",className:"guideCatPeekDismiss",onClick:a,children:s(i.sharedGuideCatWelcomeHideNow)}):null]})}function Wt({route:e,onAction:t,labelKey:a,className:o="guideCatPeekAction"}){const{t:n}=H();return r.jsx("button",{type:"button",className:o,onClick:()=>t(e),children:n(a)})}function Em({name:e,tooltip:t,ownerDisplayName:a,onAction:o,onClose:n,style:s,surfaceMode:l}){const{t:c}=H(),u=ct();return r.jsxs("div",{className:l==="lobby"?"guideCatPanel guideCatPanel--lobby":"guideCatPanel guideCatPanel--product",style:s,children:[r.jsxs("div",{className:"guideCatPanelHeader","data-tooltip":t,"data-tooltip-delay":"1000",children:[r.jsx(Wl,{className:"guideCatPanelAvatar"}),r.jsx("span",{className:"guideCatPanelName",children:u}),r.jsx("button",{type:"button",className:"guideCatPanelClose",onClick:n,"aria-label":c(i.sharedCommonClose),children:"✕"})]}),r.jsxs("div",{className:"guideCatPanelBody",children:[r.jsx("p",{className:"guideCatPanelGreeting",children:c(i.sharedGuideCatPanelGreeting,{ownerDisplayName:a,guideCatName:u})}),r.jsxs("div",{className:"guideCatPanelActions",children:[r.jsx(Wt,{route:"/chat/new",onAction:o,labelKey:i.sharedGuideCatWelcomeStartChat,className:"guideCatPanelAction"}),r.jsx(Wt,{route:"/settings/cats",onAction:o,labelKey:i.sharedGuideCatWelcomeMeetCats,className:"guideCatPanelAction"}),r.jsx(Wt,{route:"/lobby",onAction:o,labelKey:i.sharedGuideCatWelcomeExploreProducts,className:"guideCatPanelAction"})]})]})]})}function Wl({className:e}){return r.jsx("img",{className:e,src:Va,alt:"","aria-hidden":"true"})}function Im({viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,onToggle:n,onAction:s,onCollapse:l,onDismissWelcome:c,onDismissClick:u,onPillPointerDown:h,dragging:g,pillStyle:p,peekStyle:b,panelStyle:w,surfaceMode:f,dialog:k,onDialogClose:m,rootRef:C,pillHostedExternally:v,peekAnchor:y="anchor-left"}){if(e==="hidden"||v&&e==="collapsed")return null;const L=Bm(t);let D;return e==="collapsed"?D=r.jsx(fs,{name:t.name,tooltip:L,unreadCount:o,onClick:n,onDismissClick:u,onPointerDown:h,style:p,dragging:g}):e==="welcome-peek"?D=r.jsxs("div",{ref:C,children:[v?null:r.jsx(fs,{name:t.name,tooltip:L,unreadCount:0,onClick:n,onDismissClick:u,onPointerDown:h,style:p,dragging:g}),r.jsx(Mm,{ownerDisplayName:a,onAction:s,onDismiss:c,style:b,anchor:y})]}):D=r.jsx("div",{ref:C,children:r.jsx(Em,{name:t.name,tooltip:L,ownerDisplayName:a,onAction:s,onClose:l,style:w,surfaceMode:f})}),r.jsxs(r.Fragment,{children:[D,r.jsx(Mt,{dialog:k,onClose:m})]})}function Bm(e){const t=ct(),a=gr({provider:e.executionTarget.provider,instance:e.executionTarget.instance,model:e.executionTarget.model,modelSelection:e.modelSelection??null});return Ol(t,a)}function Fm({viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,proactive:n,toggle:s,collapse:l,dismissWelcome:c,onDismissed:u,onPillPointerDown:h,consumePillClickSuppression:g,pillStyle:p,peekStyle:b,panelStyle:w,surfaceMode:f,dragActive:k,pillHostedExternally:m,peekAnchor:C}){const v=Ne(),y=d.useRef(null),L=Zo(),{dialog:D,choose:T,handleClose:j}=jt(),x=ct(),{t:R}=H(),P=d.useCallback(E=>{l(),v(E)},[l,v]),I=d.useCallback(async()=>{const E=await T({title:R(i.sharedGuideCatDialogDisableTitle,{guideCatName:x}),message:R(i.sharedGuideCatDialogDisableMessage,{guideCatName:x}),confirmLabel:R(i.sharedGuideCatDialogDisableConfirm),cancelLabel:R(i.sharedGuideCatDialogKeepEnabled),auxiliaryLabel:R(i.sharedGuideCatDialogDockNow),defaultAction:"auxiliary"});if(E==="auxiliary"){L.update({placement:"docked"}),l();return}if(E==="confirm")try{(await fetch("/api/platform/guide-cat",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({status:"dismissed"})})).ok&&u()}catch{}},[T,l,x,L,u]);d.useEffect(()=>{if(e!=="open"&&e!=="welcome-peek"||e==="welcome-peek"&&n||k)return;function E(G){if(Uh(G))return;const ee=G.target;ee?.closest?.(".guideCatDockSlot")||ee?.closest?.(".guideCatPillWrap")||y.current&&!y.current.contains(G.target)&&l()}function $(G){G.key==="Escape"&&l()}return document.addEventListener("mousedown",E),document.addEventListener("keydown",$),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("keydown",$)}},[e,l,n,k]);const O=d.useCallback(()=>{g()||s()},[g,s]);return r.jsx(Im,{viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,onToggle:O,onAction:P,onCollapse:l,onDismissWelcome:n?c:void 0,onDismissClick:I,onPillPointerDown:h,dragging:k,pillStyle:p,peekStyle:b,panelStyle:w,surfaceMode:f,dialog:D,onDialogClose:j,rootRef:y,pillHostedExternally:m,peekAnchor:C})}function Om({guideCat:e,ownerDisplayName:t,unreadCount:a,onDismissed:o}){const n=ye(),{projection:s,presentation:l,onFloatingPointerDown:c,consumePillClickSuppression:u,dragActive:h,panelOriginX:g,getDockSlotRect:p}=Jo();if(s.kind==="hidden")return null;const b=s.kind==="docked";if(b&&l.viewState==="collapsed")return null;const w=s.kind==="floating"?s:null,f=w?{left:`${w.x-gs}px`,top:`${w.y-gs}px`,transform:"none"}:{},k=!w&&s.kind==="docked"?Wm(s.slot,p(s.slot)):null,m=w?{left:`${w.x+Tm}px`,top:`${w.y}px`,transform:"translateY(-50%)"}:k?.style??{},C=k?.anchor??"anchor-left",v={left:`${g}px`},y=jm(n.pathname,s.kind==="docked"?"docked":"floating");return Ft.createPortal(r.jsx(Fm,{viewState:l.viewState,guideCat:e,ownerDisplayName:t,unreadCount:a,proactive:l.proactive,toggle:l.toggle,collapse:l.collapse,dismissWelcome:l.dismissWelcome,onDismissed:o,onPillPointerDown:b?void 0:c,consumePillClickSuppression:u,pillStyle:f,peekStyle:m,panelStyle:v,surfaceMode:y,dragActive:h,pillHostedExternally:b,peekAnchor:C}),document.body)}function Wm(e,t){return t?e==="workspace"?{style:{left:`${t.right+Dm}px`,top:`${t.bottom}px`,transform:"translateY(-100%)"},anchor:"anchor-bottom-left"}:{style:{left:`${(t.left+t.right)/2}px`,top:`${t.bottom+Nm}px`,transform:"translateX(-50%)"},anchor:"anchor-top"}:null}function Um(e,t){return e===t||e.startsWith(`${t}/`)}function Hm({envelope:e}){const{t}=H(),a=Ne(),o=ye(),{appId:n=""}=ir(),s=e.installedApps.find(g=>g.id===n),l=s?.lobbyEntries.find(g=>Um(o.pathname,g.routePath))??s?.lobbyEntries[0]??null;if(!s)return r.jsx("div",{className:"screen screenCentered appHostScreen",children:r.jsxs("section",{className:"appHostPanel",children:[r.jsx("p",{className:"eyebrow",children:t("appHostLabel")}),r.jsx("h1",{children:t("appHostNotInstalledTitle")}),r.jsx("button",{type:"button",className:"secondaryButton appHostBackButton",onClick:()=>a("/lobby"),children:t("appHostBackToLobby")})]})});const c=s.enabled&&s.installState==="enabled",u=l?.title??s.displayName,h=l?.subtitle??t(c?"appHostSubtitleRendererPending":"appHostSubtitleDisabled");return r.jsx("div",{className:"screen screenCentered appHostScreen",children:r.jsxs("section",{className:"appHostPanel",children:[r.jsxs("div",{className:"appHostHeader",children:[r.jsxs("div",{children:[r.jsx("p",{className:"eyebrow",children:t("appHostLabel")}),r.jsx("h1",{children:u})]}),r.jsx("button",{type:"button",className:"secondaryButton appHostBackButton",onClick:()=>a("/lobby"),children:t("appHostBackToLobby")})]}),r.jsx("p",{className:"appHostSubtext",children:h}),r.jsxs("dl",{className:"appHostMeta",children:[r.jsxs("div",{children:[r.jsx("dt",{children:t("appHostSectionPackage")}),r.jsx("dd",{children:s.id})]}),r.jsxs("div",{children:[r.jsx("dt",{children:t("appHostSectionStatus")}),r.jsx("dd",{children:s.installState})]}),r.jsxs("div",{children:[r.jsx("dt",{children:t("appHostSectionPublisher")}),r.jsx("dd",{children:s.publisher})]})]})]})})}function _m(e){return e.roomMode==="direct_message"?"direct_message":"chat_channel"}function sn(e){const t=_m({roomMode:e.roomMode,participants:e.participants});return e.channelKind==="direct_message"||t==="direct_message"?"direct_message":"chat_channel"}function Gm(e){return e.assignedCats&&e.assignedCats.length>0?e.assignedCats:e.catAssignments??[]}function Km(e){return sn({channelKind:e.channelKind,roomMode:e.roomRouting?.mode==="direct_message"?"direct_message":"chat_channel",participants:Gm(e)})}function qm(e){return Km(e)==="direct_message"}function ws(e){return sn({channelKind:e.channelKind,roomMode:e.roomMode==="direct_message"?"direct_message":"chat_channel",participants:[]})==="direct_message"}const $m=["chat","code","work"];function Ul(){return{chat:!1,code:!1,work:!1}}function zm(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function fr(e){const t=Ul(),a=zm(e);return a?$m.reduce((o,n)=>({...o,[n]:a[n]===!0}),t):t}function ln(e,t){return fr(e)[t]===!0}const Vm=["inline_stack","compare_cards","focus_rail","adaptive"],Hl=["chat","work","code"];function Ya(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Ga(){return{showVerboseMessages:!1,showLiveProgressDetails:!1,concurrentPresentationMode:"inline_stack"}}function Ym(){return{chat:Ga(),work:Ga(),code:Ga()}}function _l(e){return typeof e=="string"&&Vm.includes(e)?e:"inline_stack"}function Qm(e){const t=Ga(),a=Ya(e);return{showVerboseMessages:a?.showVerboseMessages===!0,showLiveProgressDetails:a?.showLiveProgressDetails===!0,concurrentPresentationMode:_l(a?.concurrentPresentationMode??t.concurrentPresentationMode)}}function cn(e){const t=Ym(),a=Ya(e);return Hl.reduce((o,n)=>(o[n]=Qm(a?.[n]),o),t)}function Jm(e,t){const a=cn(e),o=Ya(t);if(!o)return a;for(const n of Hl){const s=Ya(o[n]);s&&(typeof s.showVerboseMessages=="boolean"&&(a[n].showVerboseMessages=s.showVerboseMessages),typeof s.showLiveProgressDetails=="boolean"&&(a[n].showLiveProgressDetails=s.showLiveProgressDetails),s.concurrentPresentationMode!==void 0&&(a[n].concurrentPresentationMode=_l(s.concurrentPresentationMode)))}return a}function Xm(e,t){return cn(e)[t]}const Zm=["chat","work","code"];function ft(e){if(typeof e!="string")return null;const t=e.trim();return t||null}function eg(e){return typeof e=="string"&&Zm.includes(e)}function Gl(){return{bySurface:{},chatDirectLaneByCatId:{}}}function Kl(e){const t=Gl();if(typeof e!="object"||e===null)return t;const a=e,o=typeof a.bySurface=="object"&&a.bySurface!==null?a.bySurface:{},n=typeof a.chatDirectLaneByCatId=="object"&&a.chatDirectLaneByCatId!==null?a.chatDirectLaneByCatId:{},s={};for(const[c,u]of Object.entries(o)){const h=eg(c)?c:null,g=ft(typeof u=="string"?u:null);h&&g&&(s[h]=g)}const l={};for(const[c,u]of Object.entries(n)){const h=ft(c),g=ft(typeof u=="string"?u:null);h&&g&&(l[h]=g)}return{bySurface:s,chatDirectLaneByCatId:l}}function hS(e,t){const a=Kl(e),o=ft(t.directLaneCatId);return t.surface==="chat"&&o?a.chatDirectLaneByCatId[o]??null:a.bySurface[t.surface]??null}function mS(e,t,a){const o=Kl(e),n=ft(a),s=ft(t.directLaneCatId);if(t.surface==="chat"&&s){const c={...o.chatDirectLaneByCatId};return n?c[s]=n:delete c[s],{bySurface:{...o.bySurface},chatDirectLaneByCatId:c}}const l={...o.bySurface};return n?l[t.surface]=n:delete l[t.surface],{bySurface:l,chatDirectLaneByCatId:{...o.chatDirectLaneByCatId}}}async function gS(e){const t=ft(e.requestedPath),a=ft(e.rememberedPath),o=t??a,n=await e.browse(o??void 0);return!n.error||!a||t?n:e.browse(void 0)}function ue(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function ie(e,t=""){return typeof e=="string"?e:t}function se(e){return typeof e=="string"&&e.trim().length>0?e:null}function Or(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function Wr(e,t){return typeof e=="boolean"?e:t}function tg(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function ag(e){const t=ue(e.desktop)??{};e.desktop=t;const a=ue(t.mobilePairing)??{};t.mobilePairing={enabled:Wr(a.enabled,!1),bindHost:ie(a.bindHost,"127.0.0.1"),bindPort:tg(a.bindPort,0),bindReachability:a.bindReachability==="lan"||a.bindReachability==="all_interfaces"||a.bindReachability==="other_interface"?a.bindReachability:"loopback",canReachFromLan:Wr(a.canReachFromLan,!1),selectedLanIp:se(a.selectedLanIp),selectedLanUrl:se(a.selectedLanUrl),diagnosticManifestUrl:se(a.diagnosticManifestUrl),noLanCandidateReason:a.noLanCandidateReason==="loopback_bound"||a.noLanCandidateReason==="no_lan_candidate"||a.noLanCandidateReason==="bind_host_not_lan_candidate"?a.noLanCandidateReason:Wr(a.enabled,!1)?null:"feature_disabled",bindOverrideEnv:se(a.bindOverrideEnv),pairingUrlStatus:a.pairingUrlStatus==="ready"?"ready":"phase1_pending",pairingUrl:se(a.pairingUrl)}}function bs(e,t){const a=Array.isArray(e.catAssignments)?e.catAssignments:[],o=Array.isArray(e.assignedCats)?e.assignedCats:[],n=(a.length>0?a:o).map(s=>{const l=ue(s)??{};return{catId:ie(l.catId),status:ie(l.status,"active")==="removed"?"removed":"active"}});e.channelKind=sn({channelKind:e.channelKind==="chat_channel"||e.channelKind==="direct_message"||e.channelKind==="chat_channel"?e.channelKind:null,roomMode:t,participants:n})}function ql(e){const t=structuredClone(e);ag(t);const a=ue(t.chat)??{};t.chat=a;const o=ue(a.globalOrchestrator);o&&!ue(o.executionTarget)&&(o.executionTarget={provider:ie(o.provider,"claude"),instance:se(o.instance),model:se(o.model)});const n=ue(o?.executionTarget);n&&n.instance===void 0&&(n.instance=se(o?.instance)),o&&!ue(o.memory)&&(o.memory={summary:null,facts:[],openLoops:[],updatedAt:null});const s=ue(a.selectedChannel);if(s&&!ue(s.orchestratorLease)){const u=ue(o?.executionTarget);s.orchestratorLease={sessionId:null,status:"not_started",cwd:null,lastError:null,provider:se(u?.provider)??"claude",instance:se(u?.instance),model:se(u?.model),startedAt:null,lastUsedAt:null}}Array.isArray(a.cats)||(a.cats=[]);const l=a.cats.map(u=>{const h=ue(u)??{};ue(h.defaultExecutionTarget)||(h.defaultExecutionTarget={provider:ie(h.provider,"claude"),instance:se(h.instance),model:se(h.model)});const g=ue(h.defaultExecutionTarget);return g&&g.instance===void 0&&(g.instance=se(h.instance)),ue(h.memory)||(h.memory={summary:null,facts:[],openLoops:[],updatedAt:null}),Array.isArray(h.roles)||(h.roles=Or(h.roles)),h}),c=new Map(l.map(u=>[ie(u.id),u]));if(s){const u=ue(s.roomRouting);bs(s,ie(u?.mode,"chat_channel")==="direct_message"?"direct_message":"chat_channel"),Array.isArray(s.catAssignments)||(s.catAssignments=[]);const h=Array.isArray(s.catAssignments)?s.catAssignments:[];Array.isArray(s.participantAssignments)||(s.participantAssignments=h.map(p=>{const b=ue(p)??{},w=c.get(ie(b.catId))??{};return{participantId:ie(b.participantId,ie(b.catId)),sourceKind:ie(b.sourceKind,"cat")==="cat"?"cat":"adhoc",sourceRefId:se(b.sourceRefId)??se(b.catId),name:ie(b.name,ie(w.name,"Participant")),status:ie(b.status,"active"),roles:Array.isArray(b.roles)?b.roles:[],roleHint:se(b.roleHint),joinedAt:ie(b.joinedAt),leftAt:se(b.leftAt),execution:b.execution}})),(h.length>0||!Array.isArray(s.assignedCats))&&(s.assignedCats=h.map(p=>{const b=ue(p)??{},w=c.get(ie(b.catId))??{};return{participantId:ie(b.participantId,ie(b.catId)),sourceKind:"cat",sourceRefId:ie(b.sourceRefId,ie(b.catId)),catId:ie(b.catId),name:ie(w.name,"Cat"),roles:Array.isArray(b.roles)?b.roles:Or(w.roles),roleHint:se(b.roleHint),skillProfile:se(w.skillProfile),mcpProfile:se(w.mcpProfile),status:ie(b.status,"active"),joinedAt:ie(b.joinedAt),leftAt:se(b.leftAt),avatarColor:se(w.avatarColor),avatarUrl:se(w.avatarUrl),execution:b.execution,memory:ue(w.memory)??{summary:null,facts:[],openLoops:[],updatedAt:null}}}));const g=Array.isArray(s.participantAssignments)?s.participantAssignments:[];(g.length>0||!Array.isArray(s.assignedParticipants))&&(s.assignedParticipants=g.map(p=>{const b=ue(p)??{},w=se(b.sourceRefId),f=w?c.get(w)??null:null;return{participantId:ie(b.participantId),sourceKind:ie(b.sourceKind,"adhoc")==="cat"?"cat":"adhoc",sourceRefId:w,name:ie(b.name,ie(f?.name,"Participant")),roles:Array.isArray(b.roles)?b.roles:Or(f?.roles),roleHint:se(b.roleHint),skillProfile:se(f?.skillProfile),mcpProfile:se(f?.mcpProfile),status:ie(b.status,"active"),joinedAt:ie(b.joinedAt),leftAt:se(b.leftAt),avatarColor:se(f?.avatarColor),avatarUrl:se(f?.avatarUrl),execution:b.execution,memory:ue(f?.memory)??{summary:null,facts:[],openLoops:[],updatedAt:null}}}))}return a.cats=Array.from(c.values()),t.setupCompleteAt===void 0&&(t.setupCompleteAt=null),t.ownerDisplayName||(t.ownerDisplayName="Owner"),t.ownerAvatarColor===void 0&&(t.ownerAvatarColor=null),a.bossCatId===void 0&&(a.bossCatId=null),a.conversationBehavior=cn(a.conversationBehavior),ue(a.advancedDraftControls)||(a.advancedDraftControls=Ul()),ue(a.folderBrowsePreferences)||(a.folderBrowsePreferences=Gl()),ue(a.newChatDefaults)||(a.newChatDefaults={provider:ie(n?.provider,"claude"),instance:se(n?.instance),model:se(n?.model),modelSelection:null}),Array.isArray(a.channels)&&(a.channels=a.channels.map(u=>{const h=ue(u)??{};return bs(h,ie(h.roomMode,"chat_channel")==="direct_message"?"direct_message":"chat_channel"),h.catCount===void 0&&(h.catCount=0),h.activeCatCount===void 0&&(h.activeCatCount=0),h})),Array.isArray(a.parallelChatGroups)||(a.parallelChatGroups=[]),t}async function dn(e,t){try{const a=await e.json();return typeof a.error=="string"?a.error||t:a.error&&typeof a.error=="object"&&typeof a.error.message=="string"&&a.error.message||t}catch{return t}}async function ce(e,t){if(!e.ok)throw new Error(await dn(e,t));return await e.json()}const rg=15e3,$l="provider_catalog.model.load_failed",zl="provider_catalog.model.incomplete_response",Vl="provider_catalog.advanced.load_failed",Yl="provider_catalog.advanced.incomplete_response",Qa={entries:new Map,inflight:new Map},Ja={entries:new Map,inflight:new Map};function og(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ra(e){const t=e?.trim();return t||null}function un(e,t){return`${e.trim()}\0${Ra(t)??""}`}function Ql(e){const t=new URLSearchParams,a=Ra(e.instance);a&&t.set("instance",a);const o=`/api/providers/${encodeURIComponent(e.provider)}/models${e.advanced?"/advanced":""}`,n=t.toString();return n?`${o}?${n}`:o}async function Jl(e,t){try{const a=await e.json();if(typeof a.error?.message=="string")return a.error.message}catch{}return t}async function Xl(e,t){const a=await e.json();if(!og(a)?.catalog)throw new Error(t);return a}async function Zl(e){const t=Date.now();if(!e.force){const o=e.cache.entries.get(e.cacheKey);if(o&&o.freshUntilMs>t)return o.value;const n=e.cache.inflight.get(e.cacheKey);if(n)return n}const a=e.load().then(o=>(e.cache.entries.set(e.cacheKey,{value:o,freshUntilMs:Date.now()+rg}),o)).finally(()=>{e.cache.inflight.delete(e.cacheKey)});return e.cache.inflight.set(e.cacheKey,a),a}function ng(){Qa.entries.clear(),Qa.inflight.clear(),Ja.entries.clear(),Ja.inflight.clear()}function ec(e,t,a){const o=t.trim();if(!o)return null;const n=un(o,Ra(a)),s=e.entries.get(n);return s&&s.freshUntilMs>Date.now()?s.value:null}function sg(e){return ec(Qa,e.provider,e.instance)}function ig(e){return ec(Ja,e.provider,e.instance)}async function pn(e){const t=e.provider.trim(),a=Ra(e.instance),o=un(t,a);return Zl({cache:Qa,cacheKey:o,force:e.force,load:async()=>{const n=await(e.fetchImpl??fetch)(Ql({provider:t,instance:a}));if(!n.ok)throw new Error(await Jl(n,$l));return um(await Xl(n,zl),t)}})}async function hn(e){const t=e.provider.trim(),a=Ra(e.instance),o=un(t,a);return Zl({cache:Ja,cacheKey:o,force:e.force,load:async()=>{const n=await(e.fetchImpl??fetch)(Ql({provider:t,instance:a,advanced:!0}));if(!n.ok)throw new Error(await Jl(n,Vl));return pm(await Xl(n,Yl),t)}})}function lg(e){return Promise.allSettled([pn(e),hn(e)]).then(()=>{})}function cg(e,t={}){return Promise.allSettled(e.providers.map(a=>{const o=a.defaultInstance??a.instances.find(n=>n.default)?.id??a.instances[0]?.id??null;return lg({provider:a.id,instance:o,fetchImpl:t.fetchImpl})})).then(()=>{})}const tc="provider_registry.product_catalog_checking",dg="provider_registry.last_saved_targets",Xa="provider_registry.load_failed",ac="provider_registry.refresh_failed",wo="provider_registry.cached_refresh_failed:";function ug(e){return`${wo}${e}`}function pg(e){return e.startsWith(wo)?e.slice(wo.length):null}const hg=15e3,mg=10*6e4,Pe={value:null,freshUntilMs:0,staleIfErrorUntilMs:0,inflight:null};async function gg(e,t){try{const a=await e.json();if(typeof a.error?.message=="string")return a.error.message}catch{}return t}function fg(e){const t=Array.isArray(e.providers)?e.providers:[];return{state:e.state??(t.length>0?"ready":"no_usable_targets"),providers:t.map(a=>({id:a.id,label:a.label,defaultModel:a.defaultModel??null,defaultInstance:a.defaultInstance??null,defaultBackend:a.defaultBackend??null,instances:Array.isArray(a.instances)?a.instances.map(o=>({id:o.id,label:o.label,target:o.target??null,backend:o.backend??null,default:!!o.default,eventCapabilities:rm(o.eventCapabilities)})):[],modelsPath:a.modelsPath})),recovery:e.recovery,warnings:Array.isArray(e.warnings)?e.warnings:[]}}function ks(e){return{state:"runtime_unreachable",providers:[],recovery:{retryable:!0},warnings:[e]}}function wg(e){return e.state!=="runtime_unreachable"}function bg(e,t){const a=Array.isArray(e.warnings)?e.warnings:[];return{...e,warnings:a.includes(t)?a:[...a,t]}}function kg(e){return e.warnings?.[0]??ac}function yg(e){const t=Date.now();Pe.value=e,Pe.freshUntilMs=t+hg,Pe.staleIfErrorUntilMs=t+mg}function vg(){Pe.value=null,Pe.freshUntilMs=0,Pe.staleIfErrorUntilMs=0}async function Cg(e,t={}){try{const a=t.force?"/api/providers?force=1":"/api/providers",o=await e(a);if(!o.ok)return ks(await gg(o,Xa));const n=await o.json();return fg(n)}catch(a){return ks(a instanceof Error?a.message:Xa)}}function Sg(){const e=Date.now();return Pe.value&&Pe.freshUntilMs>e?Pe.value:null}async function wr(e={}){const t=Date.now();if(!e.force&&Pe.value&&Pe.freshUntilMs>t)return Pe.value;if(!e.force&&Pe.inflight)return Pe.inflight;const a=Cg(e.fetchImpl??fetch,{force:e.force}).then(o=>{if(wg(o))return yg(o),o;const n=Pe.value;return n&&Pe.staleIfErrorUntilMs>Date.now()?bg(n,ug(kg(o))):(vg(),o)}).finally(()=>{Pe.inflight=null});return Pe.inflight=a,a}function Lg(e={}){return wr(e).then(()=>{})}async function Lt(e){return wr(e)}async function Rt(e,t){return pn({provider:e,instance:t})}async function Pt(e,t){return hn({provider:e,instance:t})}const bo="provider_catalog.refresh_failed_status:";function ys(e){return`${bo}${e}`}function Rg(e){if(!e.startsWith(bo))return null;const t=Number(e.slice(bo.length));return Number.isInteger(t)?t:null}async function Pg(){const e=await fetch("/api/providers/models/refresh",{method:"POST",headers:{Accept:"application/json"}});if(!e.ok){let a=ys(e.status);try{const o=await e.json();o.error?.code==="provider_catalog_refresh_failed"?a=ys(e.status):typeof o.error?.message=="string"&&(a=o.error.message)}catch{}throw new Error(a)}const t=await e.json();return ng(),t}async function Ze(e){const t=await fetch("/api/app-shell",{headers:{Accept:"application/json"},signal:e});return ql(await ce(t,`cats app shell returned ${t.status}`))}async function bt(e,t,a){if(!e.ok)throw new Error(await dn(e,t));try{return await Ze(a)}catch{return Ze()}}async function fS(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({selectedChannelId:e}),signal:t});return bt(a,`cats chat selection returned ${a.status}`,t)}async function mn(e,t,a){const o=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({conversationBehavior:{[e]:t}}),signal:a});return bt(o,`cats conversation behavior update returned ${o.status}`,a)}async function gn(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({advancedDraftControls:e}),signal:t});return bt(a,`cats advanced draft controls update returned ${a.status}`,t)}async function wS(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({newChatDefaults:e}),signal:t});return bt(a,`cats new chat defaults update returned ${a.status}`,t)}async function bS(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({folderBrowsePreference:{surface:e.surface,directLaneCatId:e.directLaneCatId??null,path:e.path}}),signal:t});return ce(a,`cats folder browse preference update returned ${a.status}`)}async function kS(e,t,a){const o=await fetch(`/api/channels/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return bt(o,`cats channel update returned ${o.status}`,a)}async function yS(e,t){const a=await fetch(`/api/channels/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({resetContinuity:!0}),signal:t});return bt(a,`cats channel continuity reset returned ${a.status}`,t)}async function xg(e,t){const a=await fetch("/api/orchestrator",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t});return bt(a,`cats orchestrator update returned ${a.status}`,t)}async function tt(e,t,a){return bt(e,t,a)}const Ag=6,Tg=12,Dg=2;function Ng(){return{activeTurn:null,turnHistory:[],eventHistory:[],lastCheckpointEvent:null,lastOutcomeEvent:null}}function jg(e={}){return{mode:e.mode??"chat_channel",defaultRecipientId:e.defaultRecipientId??null,maxContinuations:Ag,maxDispatchesPerTurn:Tg,maxTargetVisitsPerTurn:Dg,lastOutcome:null,lastCheckpoint:null,lastWakeRequest:null,wakeHistory:[],workflow:Ng()}}function Mg(e){return e?structuredClone(e):jg()}function vs(e){switch(e){case"ready":return"awake";case"initializing":return"waking_up";case"error":return"error";default:return"sleeping"}}function rc(e){return e?{...e,roomRouting:Mg(e.roomRouting)}:null}function vS(e){if(!e)return null;if(qm(e)&&e.roomRouting.defaultRecipientId){const t=e.assignedCats.find(a=>a.status==="active"&&a.catId===e.roomRouting.defaultRecipientId);return t?vs(t?.execution.lease.status):null}return vs(e.orchestratorLease.status)}function CS(e){return!e.routeChannelId||!e.routeChannelExists?!1:e.selectedChannelId!==e.routeChannelId||e.selectedChannelViewId!==e.routeChannelId}const It="/api/parallel-chat-groups";function Eg(e){if(!e||typeof e!="object"||Array.isArray(e))return{attemptedSessionCount:0,retainedSessionCount:0,retainedSessions:[]};const t=e,a=Array.isArray(t.retainedSessions)?t.retainedSessions.flatMap(n=>{if(!n||typeof n!="object"||Array.isArray(n))return[];const s=n,l=typeof s.sessionId=="string"?s.sessionId.trim():"";return l?[{sessionId:l,reason:typeof s.reason=="string"&&s.reason.trim()?s.reason.trim():null}]:[]}):[];return{attemptedSessionCount:typeof t.attemptedSessionCount=="number"&&Number.isFinite(t.attemptedSessionCount)&&t.attemptedSessionCount>0?Math.floor(t.attemptedSessionCount):0,retainedSessionCount:a.length,retainedSessions:a}}function oc(e){const a=[];for(let o=0;o<e.length;o+=32768){const n=e.subarray(o,o+32768);a.push(String.fromCharCode(...n))}return btoa(a.join(""))}async function Ig(e,t){const a=await fetch(`/api/cats/${encodeURIComponent(e)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:t});return tt(a,`cats cat deletion returned ${a.status}`,t)}async function SS(e,t){const a=await fetch("/api/channels",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t}),{channel:o}=await ce(a,`cats chat creation returned ${a.status}`),n=rc(o);if(!n)throw new Error("Created channel payload was invalid.");return n}async function LS(e,t,a){const o=await fetch(`/api/channels/${e}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({title:t}),signal:a});return tt(o,`cats chat rename returned ${o.status}`,a)}async function RS(e,t){const a=await fetch(`/api/channels/${e}`,{method:"DELETE",headers:{Accept:"application/json"},signal:t});if(!a.ok)throw new Error(await dn(a,`cats chat deletion returned ${a.status}`));const o=await a.json();let n;try{n=await Ze(t)}catch{n=await Ze()}return{payload:n,runtimeCleanup:Eg(o.runtimeCleanup)}}async function Bg(e,t){const a=await fetch("/api/cats",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t});return tt(a,`cats chat cat creation returned ${a.status}`,t)}async function PS(e,t,a){const{catId:o,...n}=t,s=await fetch(`/api/channels/${e}/cats/${o}`,{method:"PUT",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(n),signal:a});return tt(s,`cats channel cat assignment returned ${s.status}`,a)}async function xS(e,t,a){const o=await fetch(`/api/channels/${e}/cats/${t}`,{method:"DELETE",headers:{Accept:"application/json"},signal:a});return tt(o,`cats channel cat removal returned ${o.status}`,a)}async function AS(e,t,a,o){const n=await fetch(`/api/channels/${encodeURIComponent(e)}/participants/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(a),signal:o});return tt(n,`cats channel participant update returned ${n.status}`,o)}async function TS(e,t){const a=await fetch(`/api/channels/${e}/activations`,{method:"POST",headers:{Accept:"application/json"},signal:t}),{activation:o}=await ce(a,`cats channel activation returned ${a.status}`);let n;try{n=await Ze(t)}catch{n=await Ze()}return{appShell:n,results:o.results}}async function DS(e,t,a){const o=await Promise.all(t.map(async l=>{const c=await l.arrayBuffer(),u=new Uint8Array(c);return{name:l.name,data:oc(u)}})),n=await fetch(`/api/channels/${e}/attachments`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({files:o}),signal:a});return(await ce(n,`attachment upload returned ${n.status}`)).attachments}async function NS(e){return Promise.all(e.map(async t=>{const a=await t.arrayBuffer(),o=new Uint8Array(a);return{name:t.name,data:oc(o)}}))}async function jS(e,t){const a=await fetch(It,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t});return ce(a,`parallel chat creation returned ${a.status}`)}async function MS(e,t,a){const o=await fetch(`${It}/${encodeURIComponent(e)}/messages`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ce(o,`parallel chat dispatch returned ${o.status}`)}async function ES(e,t,a){const o=await fetch(`${It}/${encodeURIComponent(e)}/relay`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ce(o,`parallel chat relay returned ${o.status}`)}async function IS(e,t,a){const o=await fetch(`${It}/${encodeURIComponent(e)}/cancel`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ce(o,`parallel chat cancel returned ${o.status}`)}async function BS(e,t,a){const o=await fetch(`${It}/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return tt(o,`parallel chat rename returned ${o.status}`,a)}async function FS(e,t){const a=await fetch(`${It}/${encodeURIComponent(e)}/ungroup`,{method:"POST",headers:{Accept:"application/json"},signal:t});return tt(a,`parallel chat ungroup returned ${a.status}`,t)}async function OS(e,t){const a=await fetch(`${It}/${encodeURIComponent(e)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:t});return tt(a,`parallel chat deletion returned ${a.status}`,t)}async function WS(e,t){const a=await fetch(`/api/channels/${e}/cancel`,{method:"POST",headers:{Accept:"application/json"},signal:t});return ce(a,`cats channel cancel returned ${a.status}`)}async function US(e,t,a){const o=await fetch(`/api/channels/${encodeURIComponent(e)}/messages/${encodeURIComponent(t)}/retry`,{method:"POST",headers:{Accept:"application/json"},signal:a});return ce(o,`channel message retry returned ${o.status}`)}async function HS(e,t,a){const o=await fetch(`/api/channels/${e}/messages`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ce(o,`cats channel messaging returned ${o.status}`)}async function Re(e,t,a){const o=await fetch(`/api/cats/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return tt(o,`cat profile update returned ${o.status}`,a)}function Fg(e){async function t(o,n){const s=await fetch("/api/setup/complete",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(o),signal:n});return e(await ce(s,`setup completion returned ${s.status}`))}async function a(o){const n=await fetch("/api/setup/reset",{method:"POST",headers:{Accept:"application/json"},signal:o});return e(await ce(n,`setup reset returned ${n.status}`))}return{completeSetup:t,resetSetup:a}}const Og=Fg(ql),Wg=Og.resetSetup;function Ug(e){async function t(n,s){const l=await fetch("/api/bot-bindings",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({platform:"telegram",...n}),signal:s});return e.refetchAfterMutation(l,`bot binding create returned ${l.status}`,s)}async function a(n,s){const l=await fetch(`/api/bot-bindings/${encodeURIComponent(n)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:s});return e.refetchAfterMutation(l,`bot binding delete returned ${l.status}`,s)}async function o(n,s,l){const c=await fetch(`/api/bot-bindings/${n}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(s),signal:l});return ce(c,`update bot binding returned ${c.status}`)}return{createBotBindingApi:t,deleteBotBindingApi:a,updateBotBindingApi:o}}async function Cs(e){const t=await fetch("/api/transports/telegram",{headers:{Accept:"application/json"},signal:e});return(await ce(t,`telegram transport status returned ${t.status}`)).telegram}async function Ss(e){const t=await fetch("/api/transports/telegram/diagnostics",{headers:{Accept:"application/json"},signal:e});return(await ce(t,`telegram transport diagnostics returned ${t.status}`)).telegram}const nc=Ug({refetchAfterMutation:tt}),Hg=nc.createBotBindingApi,_g=nc.deleteBotBindingApi;async function Gg(e,t){const a=await fetch(`/api/cats/${encodeURIComponent(e)}/memory`,{headers:{Accept:"application/json"},signal:t});return(await ce(a,`cat memory list returned ${a.status}`)).records??[]}async function Kg(e,t,a){const o=await fetch(`/api/cats/${encodeURIComponent(e)}/memory`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return(await ce(o,`cat memory create returned ${o.status}`)).memory}async function qg(e,t,a){const o=await fetch(`/api/cats/${encodeURIComponent(e)}/memory/${encodeURIComponent(t)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:a});await ce(o,`cat memory delete returned ${o.status}`)}const _S="current",GS="full",sc={read_only:["default"],read_write:["skip","whitelist"]};function $g(e,t){return sc[e].includes(t)}function ic(e){return sc[e][0]}function zg(e){return typeof e=="string"&&e.trim().length>0}function ko(e,t){if(!t)return{...e};const a={...e};for(const o of Object.keys(e)){const n=t[o];n!==void 0&&(a[o]=n)}return a}function fn(){const e="read_write";return{workspaceKind:"sandbox",workspaceAccess:e,permissionMode:ic(e)}}function wn(e){const{workspaceKind:t,workspaceAccess:a}=e,o=$g(a,e.permissionMode)?e.permissionMode:ic(a);return a==="read_only"?{workspaceKind:t,workspaceAccess:a,permissionMode:o}:{workspaceKind:t,workspaceAccess:a,permissionMode:o}}function KS(){return wn(fn())}function Vg(e){return e.workspaceAccess==="read_only"?{runtimeWorkspaceKind:e.workspaceKind,runtimeWorkspaceAccess:e.workspaceAccess,runtimePermissionMode:e.permissionMode}:{runtimeWorkspaceKind:e.workspaceKind,runtimeWorkspaceAccess:e.workspaceAccess,runtimePermissionMode:e.permissionMode}}function qS(e){return wn(ko(fn(),e))}function Yg(e){const t=ko(fn(),{workspaceKind:zg(e.repoPath)?"source":void 0});return wn(ko(t,e.policy))}function $S(e){return e==="worktree"?"worktree":"current"}function zS(e){return e.hasCwd?e.isRepo&&e.workspaceMode==="worktree"?"worktree":"source":"sandbox"}function VS(e){return e==="read_only"?"read_only":"full"}function YS(e){return e==="read_only"?{workspaceAccess:"read_only",permissionMode:"default"}:{workspaceAccess:"read_write",permissionMode:"skip"}}function bn(e){const t=e?.trim();return t==="Chat"||t==="Orchestrator"}function Ls(e){const t=e?.trim();return!t||bn(t)?null:t}function Qg(e){return Ls(e.displayName)??Ls(e.executionLabel)??(e.provider?nn(e.provider,e.instance??null,null):null)}const et="chat-memory",lc="work-memory",wa=new Map;function QS(e,t){const a=wa.get(e)??null;a&&a!==t&&console.warn("Replacing pending optimistic send for channel.",{feature:"chat_optimistic_message_replaced_in_flight",channelId:e,previousMessageId:a,nextMessageId:t}),wa.set(e,t)}function Jg(e,t){const a=wa.get(e)??null;a&&(t&&a!==t||wa.delete(e))}function JS(){return[...wa.entries()].map(([e,t])=>({channelId:e,optimisticMessageId:t}))}function fe(e){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[1][0]).toUpperCase():e.slice(0,2).toUpperCase()}const Pa=Fe("en");function Rs(e){return Et(e)??e.trim()}function Ps(){return{name:"",provider:"claude",instance:"",model:"",modelSelection:null,makeBoss:!1,products:ur(),skillProfile:"chat-default",mcpProfile:et}}function Xg(e){return Yo(e.products,"chat",{fallback:ur()})}function cc(e){return Sm(e)}function Zg(e){return Array.isArray(e)?new Set(e.filter(t=>!!t)):e?new Set([e]):new Set}function ef(e,t,a={}){const o=Zg(a.bossCatIds);if(a.archivedLast){const c=e.status==="archived"?1:0,u=t.status==="archived"?1:0;if(c!==u)return c-u}const n=o.has(e.id)?0:1,s=o.has(t.id)?0:1;if(n!==s)return n-s;const l=e.createdAt.localeCompare(t.createdAt);return l!==0?l:e.id.localeCompare(t.id)}function Ht(e,t={}){return[...e].sort((a,o)=>ef(a,o,t))}function tf(e){const t=e.metadata?.executionLabelSnapshot;return typeof t=="string"&&t.trim()?t.trim():null}function af(e){const t=e?.trim();return!t||bn(t)?null:t}function XS(e,t,a=Pa){if(e.senderKind==="user"||e.senderKind==="system")return{kind:"none",label:null,cat:null};const o=e.metadata?.targetKind==="cat"||e.metadata?.targetKind==="orchestrator"?e.metadata.targetKind:null,n=typeof e.metadata?.targetId=="string"&&e.metadata.targetId?e.metadata.targetId:null,s=e.senderName?.trim()??"",l=af(e.senderName),c=tf(e),u=bn(s);if(o==="cat"&&n){const g=t.find(p=>p.id===n)??null;return g?{kind:"cat",label:g.name,cat:g}:{kind:"deleted_cat",label:a(i.sharedTranscriptDeletedCat),cat:null}}const h=l&&l!=="Orchestrator"?t.find(g=>g.name===l)??null:null;return h?{kind:"cat",label:h.name,cat:h}:(c||e.executionProvider)&&(o==="orchestrator"||u)?{kind:"provider",label:Qg({displayName:e.senderName,executionLabel:c,provider:e.executionProvider,instance:e.executionInstance}),cat:null}:l?{kind:"name",label:l,cat:null}:{kind:"none",label:null,cat:null}}function rf(e,t,a=Pa){const o=e.replace(/\s+/g," ").trim();return o?o.slice(0,48):t>0?a(i.chatNewChatDraftGeneratedTitleWithIndex,{index:t+1}):a(i.chatNewChatDraftGeneratedTitle)}function of(e){return e.replace(/\s+/g," ").trim().slice(0,120)}function ZS(e,t){return t.length===0?e:`[Attached files in working directory:]
|
|
39
|
+
${t.map(o=>`- ${o.relativePath}`).join(`
|
|
40
|
+
`)}
|
|
41
|
+
|
|
42
|
+
${e}`}function eL(e){const{body:t,existingCount:a,originSurface:o,entryKind:n,repoPath:s,draftSessionPolicy:l,defaultRecipientCatId:c,participantCatIds:u=[],temporaryParticipants:h=[],draftExecutionTarget:g,assistantResponseLanguage:p,t:b}=e,w=c?.trim()||null,f=u.filter(y=>y!==w),k=n??(w||f.length>0?"group":"default"),m=w??f[0]??null,C=Yg({repoPath:s,policy:l}),v={title:rf(t,a,b),topic:of(t),originSurface:o,entryKind:k,skipBossCatGreeting:!0,repoPath:s??void 0,responseLanguage:p,...Vg(C),temporaryParticipants:h.length>0?h.map(y=>({participantId:y.participantId,name:y.name,provider:Rs(y.provider),instance:y.instance??void 0,model:y.model??void 0,modelSelection:y.modelSelection??null,roleHint:y.roleHint??void 0})):void 0};return k==="direct"&&m?{...v,roomMode:"direct_message",defaultRecipientId:m,participantCatIds:[m,...f.filter(y=>y!==m)]}:w?{...v,defaultRecipientId:w,participantCatIds:[w,...f]}:f.length>0?{...v,participantCatIds:f}:{...v,pendingProvider:g?Rs(g.provider):void 0,pendingModel:g?.model??void 0,pendingInstance:g?.instance??void 0,pendingModelSelection:g?.modelSelection??void 0}}function tL(e){switch(e){case"user":return"transcriptMessage transcriptMessageUser";case"orchestrator":return"transcriptMessage transcriptMessageOrchestrator";case"agent":return"transcriptMessage transcriptMessageAgent";default:return"transcriptMessage transcriptMessageSystem"}}function nf(e,t=Pa){return e.trim()==="Untitled chat"?t(i.chatNewChatDraftGeneratedTitle):e}function aL(e,t=20){const a=e.replace(/\\/g,"/").split("/").filter(Boolean).pop()??e;return a.length<=t?a:a.slice(0,t-3)+"..."}const sf=[i.chatNewChatDraftDefaultGreeting,i.chatNewChatDraftGreetingNap,i.chatNewChatDraftGreetingKeyboard,i.chatNewChatDraftGreetingLetsGo,i.chatNewChatDraftGreetingStandby,i.chatNewChatDraftGreetingTaskReady,i.chatNewChatDraftGreetingOnDuty];function rL(e=Pa){const t=sf.map(a=>e(a));return t[Math.floor(Math.random()*t.length)]}function oL(e){return e.chat.bossCatId?e.chat.cats.find(t=>t.id===e.chat.bossCatId)?.name??null:null}function lf(e,t,a,o){return{id:crypto.randomUUID(),channelId:e,senderKind:"user",senderName:a.trim()||"User",body:t,mentions:[],metadata:{optimistic:!0},usage:null,createdAt:o}}function nL(e,t,a){const o=new Date().toISOString(),n=structuredClone(e),s=n.chat.selectedChannel,l=n.chat.channels.find(u=>u.id===t);if(!s||s.id!==t||!l)throw new Error("No chat is available for optimistic updates.");const c=lf(t,a,n.ownerDisplayName,o);return s.messages.push(c),s.updatedAt=o,s.lastMessageAt=o,s.unreadCount=0,l.lastMessageAt=o,l.unreadCount=0,n.chat.selectedChannelId=t,n.metadata.generatedAt=o,{payload:n,optimisticMessageId:c.id}}function sL(e,t,a){const o=structuredClone(e),n=o.chat.selectedChannel,s=o.chat.channels.find(l=>l.id===t);if(!n||n.id!==t||!s)throw new Error("No chat is available for optimistic execution target updates.");return n.pendingProvider=a.pendingProvider,n.pendingModel=a.pendingModel,n.pendingInstance=a.pendingInstance,n.pendingModelSelection=a.pendingModelSelection,s.pendingProvider=a.pendingProvider,s.pendingModel=a.pendingModel,s.pendingModelSelection=a.pendingModelSelection,o}function iL(e,t){const a=rc(t);if(!a)throw new Error("Created channel payload was invalid.");const o=structuredClone(e),n=a.roomRouting.defaultRecipientId??null,s=a.roomRouting.workflow.activeTurn?.status??a.roomRouting.workflow.lastOutcomeEvent?.status??null,l=s==="pending"?"running":s==="failed"?"error":s,c=a.roomRouting.workflow.activeTurn?.updatedAt??a.roomRouting.workflow.lastOutcomeEvent?.createdAt??a.roomRouting.lastOutcome?.completedAt??a.roomRouting.lastCheckpoint?.createdAt??null,u=Array.isArray(a.assignedParticipants)?a.assignedParticipants:a.assignedCats,h=u.length,g=u.filter(b=>b.status==="active").length,p={id:a.id,containerId:a.containerId,conversationId:a.conversationId,title:a.title,topic:a.topic,originSurface:a.originSurface,channelKind:a.channelKind,status:a.status,unreadCount:a.unreadCount,participantCount:h,activeParticipantCount:g,catCount:a.assignedCats.length,activeCatCount:a.assignedCats.filter(b=>b.status==="active").length,repoPath:a.repoPath,chatCwd:a.chatCwd,runtimeWorkspaceKind:a.runtimeWorkspaceKind??null,runtimeWorkspaceAccess:a.runtimeWorkspaceAccess??null,runtimePermissionMode:a.runtimePermissionMode??null,lastMessageAt:a.lastMessageAt,lastActivatedAt:a.lastActivatedAt,pendingProvider:a.pendingProvider,pendingModel:a.pendingModel,pendingModelSelection:a.pendingModelSelection??null,defaultRecipientCatId:n,roomMode:a.roomRouting.mode,routingStatus:l??void 0,lastRoutingAt:c};return o.chat.channels=[p,...o.chat.channels.filter(b=>b.id!==a.id)],o.chat.selectedChannelId=a.id,o.chat.selectedChannel=a,o.metadata.generatedAt=a.updatedAt,o}function lL(e,t,a,o){const n=e.chat.selectedChannel,s=n?.id===a?n.messages.find(g=>g.id===o&&g.senderKind==="user"&&g.metadata?.optimistic)??null:null;if(!s)return t;const l=structuredClone(t),c=l.chat.selectedChannel,u=l.chat.channels.find(g=>g.id===a);if(!c||c.id!==a||!u)return console.warn("Pending optimistic message channel disappeared during refresh.",{feature:"chat_optimistic_message_orphaned_channel",channelId:a,optimisticMessageId:s.id}),Jg(a,s.id),t;const h=c.messages.find(g=>g.id===s.id);if(h){const g=h.senderKind===s.senderKind&&h.senderName===s.senderName&&h.metadata?.clientMessageId===s.id,p=h.senderKind===s.senderKind&&h.senderName===s.senderName&&h.body.trim()===s.body.trim();return!g&&!p&&console.warn("Skipped preserving optimistic message because refreshed row owns the id.",{feature:"chat_optimistic_message_preserve",reason:"id_collision",channelId:a,optimisticMessageId:s.id,existingSenderKind:h.senderKind}),t}return c.messages.push(structuredClone(s)),c.updatedAt=s.createdAt,c.lastMessageAt=s.createdAt,c.unreadCount=0,u.lastMessageAt=s.createdAt,u.unreadCount=0,l.chat.selectedChannelId=a,l.metadata.generatedAt=s.createdAt,l}function cL(e,t=Pa){return r.jsx("div",{className:"screen bootShell","aria-label":t(i.sharedProductBootLoadingAria,{productName:e}),children:r.jsx("div",{className:"bootSpinner","aria-hidden":"true"})})}const cf=Fe("en");function dL(e){return Xg(e)}function df(e){return e?e.skillProfile==="companion"||e.roles.includes("companion"):!1}function uL(e,t){return nf(e,t)}const uf=[i.chatNewChatDraftDefaultGreeting,i.chatNewChatDraftGreetingNap,i.chatNewChatDraftGreetingKeyboard,i.chatNewChatDraftGreetingLetsGo,i.chatNewChatDraftGreetingStandby,i.chatNewChatDraftGreetingTaskReady,i.chatNewChatDraftGreetingOnDuty];uf.map(e=>cf(e));function pL(){const{t:e}=H();return r.jsx("div",{className:"screen bootShell","aria-label":e(i.chatBootLoadingAria),children:r.jsx("div",{className:"bootSpinner","aria-hidden":"true"})})}const dc="cat",kn="preset",uc="group",pc="parallel",pf="/setup";function br(e){const t=e?.trim();return t||null}function Vt(e){return`${e}/new`}function hf(e){return`${e}/dm`}function hL(e,t){return t?Vt(e):pf}function mf(e,t){const a=br(t),o=Vt(e);if(!a)return o;const n=new URLSearchParams([[dc,a]]);return`${o}?${n.toString()}`}function mL(e){const t=new URLSearchParams([[kn,uc]]);return`${Vt(e)}?${t.toString()}`}function gL(e){const t=new URLSearchParams([[kn,pc]]);return`${Vt(e)}?${t.toString()}`}function fL(e,t){const a=br(t),o=hf(e);return a?`${o}/${encodeURIComponent(a)}`:o}function wL(e){const t=new URLSearchParams(e);return br(t.get(dc))}function bL(e){const t=new URLSearchParams(e),a=br(t.get(kn));return a===pc?"parallel":a===uc?"group":"default"}function xs(e,t){return`${e}/chats/${encodeURIComponent(t)}`}function kL(e){return(e?.trim()??"").startsWith("draft-")}function yL(e,t,a,o){const n=o?t.filter(u=>u.originSurface===o):t,s=a?.trim()??"",l=n.find(u=>u.id===s&&!ws(u));if(l)return xs(e,l.id);const c=n.find(u=>!ws(u));return c?xs(e,c.id):Vt(e)}function vL(e,t){return t===Vt(e)}const As="direct_message";function hc(e){return e.channelKind===As||e.roomMode===As}function gf(e,t){return e.find(a=>hc(a)&&a.defaultRecipientCatId===t)??null}function CL(e,t){const a=new Map;for(const o of t){if(!hc(o))continue;const n=o.defaultRecipientCatId;if(!n)continue;const s=o.lastActivatedAt??o.lastMessageAt??"",l=a.get(n);(!l||l.localeCompare(s)<0)&&a.set(n,s)}return[...e].sort((o,n)=>{const s=a.get(o.id)??o.createdAt;return(a.get(n.id)??n.createdAt).localeCompare(s)})}function ff(e){const t=e?.trim();return t||null}function yn(e,t){const a=ff(t),o=`${e}/dm`;return a?`${o}/${encodeURIComponent(a)}`:o}function SL(e,t){return gf(e,t)}function LL(e){switch(e){case"ready":return"awake";case"initializing":return"waking_up";case"error":return"error";case"not_started":case"closed":case"removed":return"sleeping";default:return"no_dot"}}function RL(e){switch(e){case"awake":return"myCatDot myCatDotAwake";case"waking_up":return"myCatDot myCatDotWaking";case"sleeping":return"myCatDot myCatDotSleeping";case"error":return"myCatDot myCatDotError";default:return""}}function PL(e){switch(e){case"awake":return i.chatLifecycleAwakeLabel;case"waking_up":return i.chatLifecycleWakingUpLabel;case"sleeping":return i.chatLifecycleSleepingLabel;case"error":return i.chatCatStatusErrorLabel;default:return null}}function xL(e,t,a){return{kind:"direct_message",path:yn(e,a)}}const wf=Fe("en");function bf(e,t=wf){switch(e){case"overview":return t(i.chatCompanionTabStatus);case"resources":return t(i.chatCompanionTabSources);case"memory":return t(i.chatCompanionTabMemory);case"settings":return t(i.chatCompanionTabBehavior);case"inspector":return t(i.chatCompanionTabInspector)}}const Ur=["overview","resources","memory","settings","inspector"],Le=256;function yo(e,t){const a=e.img.naturalWidth*e.scale,o=e.img.naturalHeight*e.scale,n=t-a,s=t-o;return{x:Math.min(0,Math.max(n,e.x)),y:Math.min(0,Math.max(s,e.y))}}function Ts(e,t,a){e.clearRect(0,0,a,a);const o=t.img.naturalWidth*t.scale,n=t.img.naturalHeight*t.scale,s=yo(t,a);e.drawImage(t.img,s.x,s.y,o,n)}function Hr(e,t){const a=Math.min(e.naturalWidth,e.naturalHeight);return t/a}function Yt({onSave:e,onClose:t,initialDataUrl:a}){const o=d.useRef(null),n=d.useRef(null),s=d.useRef(null),[l,c]=d.useState(null),u=d.useRef(null),{t:h}=H(),g=d.useCallback(()=>{const f=o.current?.getContext("2d");!f||!l||Ts(f,l,Le)},[l]);d.useEffect(()=>{g()},[g]),d.useEffect(()=>{if(!a)return;let f=!1;const k=new Image;return k.crossOrigin="anonymous",k.onload=()=>{if(f)return;const m=Hr(k,Le),C=k.naturalWidth*m,v=k.naturalHeight*m;c({img:k,x:(Le-C)/2,y:(Le-v)/2,scale:m})},k.src=a,()=>{f=!0}},[a]);function p(f){if(!f.type.startsWith("image/"))return;const k=new Image;k.onload=()=>{const m=Hr(k,Le),C=k.naturalWidth*m,v=k.naturalHeight*m;c({img:k,x:(Le-C)/2,y:(Le-v)/2,scale:m})},k.src=URL.createObjectURL(f)}function b(f){if(!l)return;f.preventDefault(),u.current={startX:f.clientX,startY:f.clientY,origX:l.x,origY:l.y};function k(C){if(!u.current)return;const{startX:v,startY:y,origX:L,origY:D}=u.current,T=C.clientX-v,j=C.clientY-y;c(x=>{if(!x)return x;const R={...x,x:L+T,y:D+j},P=yo(R,Le);return{...R,...P}})}function m(){u.current=null,document.removeEventListener("mousemove",k),document.removeEventListener("mouseup",m)}document.addEventListener("mousemove",k),document.addEventListener("mouseup",m)}d.useEffect(()=>{const f=n.current;if(!f)return;function k(m){m.preventDefault();const C=m.deltaY>0?.95:1.05;c(v=>{if(!v)return v;const y=Hr(v.img,Le),L=Math.max(y,Math.min(v.scale*C,y*5)),D=Le/2,T=Le/2,j=D-(D-v.x)*(L/v.scale),x=T-(T-v.y)*(L/v.scale),R={...v,scale:L,x:j,y:x},P=yo(R,Le);return{...R,...P}})}return f.addEventListener("wheel",k,{passive:!1}),()=>f.removeEventListener("wheel",k)},[l==null]);function w(){if(!o.current||!l)return;const k=document.createElement("canvas");k.width=Le,k.height=Le;const m=k.getContext("2d");m.beginPath(),m.arc(Le/2,Le/2,Le/2,0,Math.PI*2),m.clip(),Ts(m,l,Le),e(k.toDataURL("image/png"))}return d.useEffect(()=>{function f(k){k.key==="Escape"&&t()}return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[t]),r.jsx("div",{className:"avatarCropOverlay",onClick:t,children:r.jsxs("div",{className:"avatarCropDialog",onClick:f=>f.stopPropagation(),children:[r.jsx("p",{className:"avatarCropTitle",children:h(i.settingsGeneralAvatarUploadLabel)}),l?r.jsxs(r.Fragment,{children:[r.jsx("div",{ref:n,className:"avatarCropCanvasWrap",onMouseDown:b,children:r.jsx("canvas",{ref:o,className:"avatarCropCanvas",width:Le,height:Le})}),r.jsx("p",{className:"avatarCropHint",children:h(i.sharedImageUploadDragHint)})]}):r.jsx("div",{className:"avatarCropUploadArea",onClick:()=>s.current?.click(),children:h(i.sharedImageUploadClickHint)}),r.jsx("input",{ref:s,type:"file",accept:"image/*",style:{display:"none"},onChange:f=>{const k=f.target.files?.[0];k&&p(k),f.target.value=""}}),r.jsxs("div",{className:"avatarCropActions",children:[r.jsx("button",{className:"confirmCancelButton",type:"button",onClick:t,children:h(i.sharedCommonCancel)}),l?r.jsx("button",{className:"primaryButton",type:"button",onClick:w,children:h(i.sharedCommonApply)}):null]})]})})}const _r=960,Ds=360,ze=480,nt=180;function vo(e,t,a){const o=e.img.naturalWidth*e.scale,n=e.img.naturalHeight*e.scale;return{x:Math.min(0,Math.max(t-o,e.x)),y:Math.min(0,Math.max(a-n,e.y))}}function Ns(e,t,a,o){e.clearRect(0,0,a,o);const n=t.img.naturalWidth*t.scale,s=t.img.naturalHeight*t.scale,l=vo(t,a,o);e.drawImage(t.img,l.x,l.y,n,s)}function Gr(e,t,a){return Math.max(t/e.naturalWidth,a/e.naturalHeight)}function vn({onSave:e,onClose:t,title:a,initialDataUrl:o}){const n=d.useRef(null),s=d.useRef(null),l=d.useRef(null),[c,u]=d.useState(null),h=d.useRef(null),{t:g}=H(),p=a??g(i.sharedSettingsCatsUploadCoverPhotoLabel),b=d.useCallback(()=>{const m=n.current?.getContext("2d");!m||!c||Ns(m,c,ze,nt)},[c]);d.useEffect(()=>{b()},[b]),d.useEffect(()=>{if(!o)return;let m=!1;const C=new Image;return C.crossOrigin="anonymous",C.onload=()=>{if(m)return;const v=Gr(C,ze,nt),y=C.naturalWidth*v,L=C.naturalHeight*v;u({img:C,x:(ze-y)/2,y:(nt-L)/2,scale:v})},C.src=o,()=>{m=!0}},[o]);function w(m){if(!m.type.startsWith("image/"))return;const C=new Image;C.onload=()=>{const v=Gr(C,ze,nt),y=C.naturalWidth*v,L=C.naturalHeight*v;u({img:C,x:(ze-y)/2,y:(nt-L)/2,scale:v})},C.src=URL.createObjectURL(m)}function f(m){if(!c)return;m.preventDefault(),h.current={startX:m.clientX,startY:m.clientY,origX:c.x,origY:c.y};function C(y){if(!h.current)return;const{startX:L,startY:D,origX:T,origY:j}=h.current,x=y.clientX-L,R=y.clientY-D;u(P=>{if(!P)return P;const I={...P,x:T+x,y:j+R},O=vo(I,ze,nt);return{...I,...O}})}function v(){h.current=null,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",v)}document.addEventListener("mousemove",C),document.addEventListener("mouseup",v)}d.useEffect(()=>{const m=s.current;if(!m)return;function C(v){v.preventDefault();const y=v.deltaY>0?.95:1.05;u(L=>{if(!L)return L;const D=Gr(L.img,ze,nt),T=Math.max(D,Math.min(L.scale*y,D*5)),j=ze/2,x=nt/2,R=j-(j-L.x)*(T/L.scale),P=x-(x-L.y)*(T/L.scale),I={...L,scale:T,x:R,y:P},O=vo(I,ze,nt);return{...I,...O}})}return m.addEventListener("wheel",C,{passive:!1}),()=>m.removeEventListener("wheel",C)},[c==null]);function k(){if(!c)return;const m=document.createElement("canvas");m.width=_r,m.height=Ds;const C=m.getContext("2d"),v=_r/ze,y={img:c.img,x:c.x*v,y:c.y*v,scale:c.scale*v};Ns(C,y,_r,Ds),e(m.toDataURL("image/jpeg",.85))}return d.useEffect(()=>{function m(C){C.key==="Escape"&&t()}return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[t]),r.jsx("div",{className:"avatarCropOverlay",onClick:t,children:r.jsxs("div",{className:"avatarCropDialog coverCropDialog",onClick:m=>m.stopPropagation(),children:[r.jsx("p",{className:"avatarCropTitle",children:p}),c?r.jsxs(r.Fragment,{children:[r.jsx("div",{ref:s,className:"avatarCropCanvasWrap coverCropCanvasWrap",onMouseDown:f,children:r.jsx("canvas",{ref:n,className:"avatarCropCanvas coverCropCanvas",width:ze,height:nt})}),r.jsx("p",{className:"avatarCropHint",children:g(i.sharedImageUploadDragHint)})]}):r.jsx("div",{className:"avatarCropUploadArea coverCropUploadArea",onClick:()=>l.current?.click(),children:g(i.sharedImageUploadClickHint)}),r.jsx("input",{ref:l,type:"file",accept:"image/*",style:{display:"none"},onChange:m=>{const C=m.target.files?.[0];C&&w(C),m.target.value=""}}),r.jsxs("div",{className:"avatarCropActions",children:[r.jsx("button",{className:"confirmCancelButton",type:"button",onClick:t,children:g(i.sharedCommonCancel)}),c?r.jsx("button",{className:"primaryButton",type:"button",onClick:k,children:g(i.sharedCommonApply)}):null]})]})})}const kf="cats:draft-header:cover:",Co="cats:cat-cover-updated";function Za(e){return kf+e}function ba(e){if(!e)return null;try{return window.localStorage.getItem(Za(e))}catch{return null}}function xt(e,t){try{t==null?window.localStorage.removeItem(Za(e)):window.localStorage.setItem(Za(e),t)}catch{}window.dispatchEvent(new CustomEvent(Co,{detail:{catId:e}}))}function Cn(e,t){if(!e)return()=>{};const a=e;function o(s){s.detail?.catId===a&&t(ba(a))}function n(s){s.key===Za(a)&&t(ba(a))}return window.addEventListener(Co,o),window.addEventListener("storage",n),()=>{window.removeEventListener(Co,o),window.removeEventListener("storage",n)}}function js(e){if(e.avatarUrl)return{backgroundImage:`url(${e.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"};if(e.avatarColor)return{background:e.avatarColor}}function Ms(){return r.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}function yf({variant:e="intro",eyebrow:t,title:a,description:o,supportingContent:n,actions:s,avatarName:l,avatarUrl:c,avatarColor:u,coverStorageKey:h,onAvatarSave:g,alwaysEditable:p=!1,readOnlyVisuals:b=!1}){const w=e==="profile"&&!!l,f=e==="profile"&&!!h,[k,m]=d.useState(null),[C,v]=d.useState(!1),[y,L]=d.useState(!1),{t:D}=H();d.useEffect(()=>{if(!f||!h){m(null);return}return m(ba(h)),Cn(h,m)},[h,f]);function T($){v(!1),h&&xt(h,$)}function j($){L(!1),g?.($)}const x=(()=>{const $={};return k&&($.backgroundImage=`url(${k})`),u&&($["--cat-avatar-color"]=u),Object.keys($).length>0?$:void 0})(),R=["draftHeader",e==="profile"?"draftHeaderProfile":"draftHeaderIntro",f?"draftHeaderWithCover":null].filter(Boolean).join(" "),P=w&&!b&&typeof g=="function"&&(p||!c),I=f&&!b&&(p||!k),O=D(k?i.sharedDraftHeaderChangeCoverPhoto:i.sharedDraftHeaderAddCoverPhoto),E=D(c?i.sharedDraftHeaderChangeAvatar:i.sharedDraftHeaderAddAvatar);return r.jsxs("div",{className:R,children:[f?r.jsx("div",{className:`draftHeaderCover${k?" draftHeaderCoverLoaded":""}`,style:x,children:I?r.jsxs("button",{type:"button",className:"draftHeaderCoverAddButton",onClick:()=>v(!0),"aria-label":O,children:[r.jsx(Ms,{}),r.jsx("span",{children:O})]}):null}):null,w?r.jsx("div",{className:"draftHeaderVisual",children:P?r.jsxs("button",{type:"button",className:"draftHeaderAvatar draftHeaderAvatarEditable",style:js({avatarUrl:c,avatarColor:u}),onClick:()=>L(!0),"aria-label":E,children:[c?null:r.jsx("span",{className:"draftHeaderAvatarInitials","aria-hidden":"true",children:fe(l??"")}),r.jsx("span",{className:"draftHeaderAvatarCameraBadge","aria-hidden":"true",children:r.jsx(Ms,{})})]}):r.jsx("div",{className:"draftHeaderAvatar",style:js({avatarUrl:c,avatarColor:u}),"aria-hidden":"true",children:c?null:fe(l??"")})}):null,r.jsxs("div",{className:"draftHeaderBody",children:[t?r.jsx("p",{className:"eyebrow",children:t}):null,r.jsxs("div",{className:"draftHeaderTitleRow",children:[r.jsx("h1",{className:"draftHeaderTitle",children:a}),s?r.jsx("div",{className:"draftHeaderActions",children:s}):null]}),o?r.jsx("p",{className:"heroNote",children:o}):null,n?r.jsx("div",{className:"draftHeaderSupportingContent",children:n}):null]}),C?r.jsx(vn,{onSave:T,onClose:()=>v(!1),initialDataUrl:k}):null,y?r.jsx(Yt,{onSave:j,onClose:()=>L(!1),initialDataUrl:c}):null]})}function Ge(e){return`/api/cats/${encodeURIComponent(e)}/companion-box`}async function vf(e,t){const a=await fetch(Ge(e),{headers:{Accept:"application/json"},signal:t});return ce(a,`companion box summary returned ${a.status}`)}async function Cf(e,t){const a=await fetch(`${Ge(e)}/sources`,{headers:{Accept:"application/json"},signal:t});return(await ce(a,`companion sources list returned ${a.status}`)).sources??[]}async function Sf(e,t,a){const o=await fetch(`${Ge(e)}/sources`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ce(o,`companion source create returned ${o.status}`)}async function Lf(e,t,a,o){const n=await fetch(`${Ge(e)}/sources/${encodeURIComponent(t)}`,{method:"PUT",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(a),signal:o});return ce(n,`companion source update returned ${n.status}`)}async function Rf(e,t,a){const o=await fetch(`${Ge(e)}/sources/${encodeURIComponent(t)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:a});return ce(o,`companion source delete returned ${o.status}`)}async function Pf(e,t){const a=await fetch(`${Ge(e)}/profile`,{headers:{Accept:"application/json"},signal:t});return(await ce(a,`companion profile read-model returned ${a.status}`)).profile}async function xf(e,t){const a=await fetch(`${Ge(e)}/activity`,{headers:{Accept:"application/json"},signal:t});return(await ce(a,`companion activity returned ${a.status}`)).activity}async function Es(e,t){const a=await fetch(`${Ge(e)}/memory`,{headers:{Accept:"application/json"},signal:t});return(await ce(a,`companion memory list returned ${a.status}`)).memory??[]}async function Af(e,t,a){const o=await fetch(`${Ge(e)}/memory`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ce(o,`companion memory create returned ${o.status}`)}async function Tf(e,t,a){const o=await fetch(`${Ge(e)}/memory/${encodeURIComponent(t)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:a});if(!o.ok)throw new Error(`companion memory delete returned ${o.status}`)}async function Df(e,t){const a=await fetch(`${Ge(e)}/response-profile`,{headers:{Accept:"application/json"},signal:t});return ce(a,`companion response profile returned ${a.status}`)}async function Nf(e,t,a){const o=await fetch(`${Ge(e)}/response-profile`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ce(o,`companion response profile update returned ${o.status}`)}const jf={entries:[],olderHidden:!1};function Mf(e){const[t,a]=d.useState(null),[o,n]=d.useState(!1),[s,l]=d.useState(null),[c,u]=d.useState(0),h=d.useRef(null);return d.useEffect(()=>{if(!e.enabled){a(null),n(!1),l(null);return}h.current?.abort();const g=new AbortController;return h.current=g,n(!0),l(null),xf(e.catId,g.signal).then(p=>{g.signal.aborted||(a(p),n(!1))}).catch(p=>{g.signal.aborted||(l(p instanceof Error?p.message:String(p)),n(!1))}),()=>{g.abort()}},[e.catId,e.enabled,c]),{projection:e.enabled?t??jf:null,loading:o,error:s,refresh:()=>u(g=>g+1)}}const Ef=Fe("en");function If(e){switch(e){case"ready":return"awake";case"initializing":return"waking_up";case"error":return"error";default:return"sleeping"}}function Bf(e){switch(e){case"awake":return i.chatLifecycleAwakeLabel;case"waking_up":return i.chatLifecycleWakingUpLabel;case"error":return i.chatLifecycleNeedsAttentionLabel;default:return i.chatLifecycleSleepingLabel}}function Is(e,t=Ef){return t(Bf(e))}function Ff(e){switch(e){case"awake":return"isAwake";case"waking_up":return"isWaking";case"error":return"isErrored";default:return"isSleeping"}}function Of(e,t){const{t:a}=H();return d.useMemo(()=>{const o=t.chat.channels.find(l=>l.channelKind==="direct_message"&&l.defaultRecipientCatId===e);if(!o)return{presence:"sleeping",label:Is("sleeping",a),className:"isSleeping",canWake:!0,canSleep:!1};const n=o.defaultRecipientLeaseStatus??null,s=If(n);return{presence:s,label:Is(s,a),className:Ff(s),canWake:s==="sleeping"||s==="error",canSleep:s==="awake"}},[e,t.chat.channels,a])}const Wf={posts:[],photos:[],videos:[],music:[],files:[]};function Uf(e){const[t,a]=d.useState(null),[o,n]=d.useState(!1),[s,l]=d.useState(null),[c,u]=d.useState(0),h=d.useRef(null);return d.useEffect(()=>{if(!e.enabled){a(null),n(!1),l(null);return}h.current?.abort();const g=new AbortController;return h.current=g,n(!0),l(null),Pf(e.catId,g.signal).then(p=>{g.signal.aborted||(a(p),n(!1))}).catch(p=>{g.signal.aborted||(l(p instanceof Error?p.message:String(p)),n(!1))}),()=>{g.abort()}},[e.catId,e.enabled,c]),{profile:e.enabled?t??Wf:null,loading:o,error:s,refresh:()=>u(g=>g+1)}}function Hf(e,t){const[a,o]=d.useState(null),[n,s]=d.useState([]),[l,c]=d.useState([]),[u,h]=d.useState(null),[g,p]=d.useState(!1),[b,w]=d.useState(null),f=d.useRef(null),k=d.useRef(0),{t:m}=H(),C=d.useCallback(async R=>{f.current?.abort();const P=new AbortController;f.current=P;const I=P.signal;p(!0),w(null);try{switch(R){case"overview":{const[O,E]=await Promise.all([vf(e,I),Es(e,I)]);I.aborted||(o(O),c(E));break}case"resources":{const O=await Cf(e,I);I.aborted||s(O);break}case"memory":{const O=await Es(e,I);I.aborted||c(O);break}case"settings":{const O=await Df(e,I);I.aborted||h(O);break}}}catch(O){I.aborted||w(O instanceof Error?O.message:m(i.chatCompanionWorkspaceLoadError))}finally{I.aborted||p(!1)}},[e,m]);d.useEffect(()=>(C(t),()=>{f.current?.abort()}),[t,e,C]);const v=d.useCallback(()=>{k.current+=1,C(t)},[t,C]),y=d.useCallback(async R=>{await Sf(e,R),v()},[e,v]),L=d.useCallback(async(R,P)=>{await Lf(e,R,P),v()},[e,v]),D=d.useCallback(async R=>{await Rf(e,R),v()},[e,v]),T=d.useCallback(async R=>{await Af(e,R),v()},[e,v]),j=d.useCallback(async R=>{await Tf(e,R),v()},[e,v]),x=d.useCallback(async R=>{const P=await Nf(e,R);h(P)},[e]);return{summary:a,sources:n,memory:l,responseProfile:u,loading:g,error:b,refreshTab:v,addSource:y,editSource:L,removeSource:D,addMemory:T,removeMemory:j,editResponseProfile:x}}const Bs=[{id:"posts",labelKey:i.chatCompanionFeedTabPosts},{id:"photos",labelKey:i.chatCompanionFeedTabPhotos},{id:"videos",labelKey:i.chatCompanionFeedTabVideos},{id:"music",labelKey:i.chatCompanionFeedTabMusic},{id:"files",labelKey:i.chatCompanionFeedTabFiles},{id:"activity",labelKey:i.chatCompanionFeedTabActivity}],Oa={photo:i.chatCompanionFeedSurfacePhotoLabel,video:i.chatCompanionFeedSurfaceVideoLabel,music:i.chatCompanionFeedSurfaceMusicLabel,file:i.chatCompanionFeedSurfaceFileLabel};function _f({catName:e,translate:t}){return r.jsx("div",{className:"companionEmptyState",children:r.jsx("p",{children:t(i.chatCompanionFeedPostEmptyState,{catName:e})})})}function mc({surfaceLabel:e,translate:t}){return r.jsx("div",{className:"companionEmptyState",children:r.jsx("p",{children:t(i.chatCompanionFeedMediaEmptyState,{type:e})})})}function Gf({translate:e}){return r.jsx("div",{className:"companionEmptyState",children:r.jsx("p",{children:e(i.chatCompanionFeedActivityEmptyState)})})}function Kf(e){try{return new Date(e).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return e}}function qf(e,t){const a=e?.entries??[];return a.length===0?r.jsx(Gf,{translate:t}):r.jsxs("div",{className:"companionActivityList",children:[r.jsx("ul",{children:a.map(o=>r.jsxs("li",{className:"companionActivityEntry","data-group":o.group,children:[r.jsx("time",{className:"companionActivityTimestamp",dateTime:o.occurredAt,children:Kf(o.occurredAt)}),r.jsx("span",{className:"companionActivitySummary",children:o.summary}),o.count>1?r.jsxs("span",{className:"companionActivityCount",children:["×",o.count]}):null]},o.id))}),e?.olderHidden?r.jsx("p",{className:"companionActivityHidden",children:t(i.chatCompanionFeedActivityHiddenState)}):null]})}function $f(e,t,a,o){const s=(e?.posts??[]).filter(l=>l.status==="active");return s.length===0?r.jsx(_f,{catName:t,translate:a}):r.jsx("div",{className:"companionProfilePostList",children:s.map(l=>r.jsxs("article",{className:"companionProfilePostCard",children:[r.jsxs("header",{className:"companionProfilePostHeader",children:[r.jsx("h3",{className:"companionProfilePostTitle",children:l.title}),r.jsx("time",{className:"companionProfilePostTimestamp",dateTime:l.publishedAt,children:l.publishedAt})]}),l.body?r.jsx("p",{className:"companionProfilePostBody",children:l.body}):null,l.tags.length>0?r.jsx("ul",{className:"companionProfilePostTags",children:l.tags.map(c=>r.jsx("li",{children:c},c))}):null,l.mediaRefs.length>0?r.jsx("div",{className:"companionProfilePostMediaGrid","aria-label":o(l.mediaRefs.length),children:l.mediaRefs.map(c=>r.jsx("span",{className:"companionProfilePostMediaTile","data-kind":c.kind,"data-id":c.id},`${c.kind}:${c.id}`))}):null]},l.id))})}function Kr(e,t,a,o,n){const s=e??[];return s.length===0?r.jsx(mc,{surfaceLabel:a,translate:o}):r.jsx("ul",{className:`companionProfileMediaList companionProfileMediaList--${t}`,"aria-label":n,children:s.map(l=>r.jsxs("li",{className:"companionProfileMediaTile",children:[r.jsx("span",{className:"companionProfileMediaTitle",children:l.title}),l.mimeType?r.jsx("span",{className:"companionProfileMediaMime",children:l.mimeType}):null]},l.id))})}function zf(e,t,a,o){const n=e??[];return n.length===0?r.jsx(mc,{surfaceLabel:t,translate:a}):r.jsx("ul",{className:"companionProfileFileList","aria-label":o,children:n.map(s=>r.jsxs("li",{className:"companionProfileFileRow",children:[r.jsx("span",{className:"companionProfileFileTitle",children:s.title}),s.mimeType?r.jsx("span",{className:"companionProfileFileMime",children:s.mimeType}):null]},s.id))})}function Vf({cat:e,profile:t=null,activity:a=null}){const[o,n]=d.useState("posts"),{t:s}=H(),l={photo:s(Oa.photo),video:s(Oa.video),music:s(Oa.music),file:s(Oa.file)},c=(h,g)=>s(i.chatCompanionFeedMediaItemsLabel,{count:h,surface:g});d.useEffect(()=>{Bs.some(h=>h.id===o)||n("posts")},[o]);let u;switch(o){case"posts":u=$f(t,e.name,s,h=>c(h,s(i.chatCompanionFeedMediaItemDefaultLabel)));break;case"photos":u=Kr(t?.photos,"photo",l.photo,s,c(t?.photos?.length??0,l.photo));break;case"videos":u=Kr(t?.videos,"video",l.video,s,c(t?.videos?.length??0,l.video));break;case"music":u=Kr(t?.music,"music",l.music,s,c(t?.music?.length??0,l.music));break;case"files":u=zf(t?.files,l.file,s,c(t?.files?.length??0,l.file));break;case"activity":u=qf(a,s);break}return r.jsxs("div",{className:"companionFeed",children:[r.jsx("nav",{className:"companionFeedTabs",role:"tablist","aria-label":s(i.chatCompanionFeedNavAriaLabel),children:Bs.map(h=>r.jsx("button",{type:"button",role:"tab","aria-selected":o===h.id,className:o===h.id?"companionFeedTab companionFeedTabActive":"companionFeedTab",onClick:()=>n(h.id),children:s(h.labelKey)},h.id))}),r.jsx("div",{className:"companionFeedContent",children:u})]})}function Yf({companionMode:e,onToggle:t}){const{t:a}=H();return r.jsxs("div",{className:"companionModeToggle",role:"group","aria-label":a(i.chatCompanionModeToggleDirectLaneAriaLabel),children:[r.jsx("button",{type:"button",className:"channelActionIconButton companionModeToggleSegment","aria-pressed":!e,"aria-label":a(i.chatCompanionModeToggleChatViewAriaLabel),"data-tooltip":a(i.chatCompanionModeToggleChatViewAriaLabel),onClick:()=>{e&&t()},children:r.jsx("svg",{className:"channelActionIconGlyph",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("path",{d:"M2.5 4.5a1.5 1.5 0 0 1 1.5-1.5h8a1.5 1.5 0 0 1 1.5 1.5v5a1.5 1.5 0 0 1-1.5 1.5H7l-3 2.5V11H4a1.5 1.5 0 0 1-1.5-1.5z"})})}),r.jsx("button",{type:"button",className:"channelActionIconButton companionModeToggleSegment","aria-pressed":e,"aria-label":a(i.chatCompanionModeToggleCompanionViewAriaLabel),"data-tooltip":a(i.chatCompanionModeToggleCompanionViewAriaLabel),onClick:()=>{e||t()},children:r.jsxs("svg",{className:"channelActionIconGlyph",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r.jsx("circle",{cx:"8",cy:"6",r:"2.75"}),r.jsx("path",{d:"M2.75 13.25a5.25 5.25 0 0 1 10.5 0"})]})})]})}function Qf(e){try{return new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return e}}function Jf({summary:e,recentMemory:t,presence:a,onWake:o,onSleep:n,loading:s}){const{t:l}=H(),c={identity:l(i.chatCompanionMemoryCategoryIdentity),preference:l(i.chatCompanionMemoryCategoryPreference),relationship:l(i.chatCompanionMemoryCategoryRelationship),fact:l(i.chatCompanionMemoryCategoryFact),event:l(i.chatCompanionMemoryCategoryEvent),owner_note:l(i.chatCompanionMemoryCategoryOwnerNote),all:l(i.chatCompanionMemoryFilterAll)};if(s&&!e)return r.jsx("div",{className:"companionSection companionLoading",children:l(i.chatCompanionOverviewLoadingState)});const u=t.slice(0,5);return r.jsxs("div",{className:"companionSection companionOverview",children:[r.jsxs("div",{className:"companionCard companionPresenceCard",children:[r.jsx("div",{className:"companionCardHeader",children:l(i.chatCompanionOverviewPresenceTitle)}),r.jsxs("div",{className:"companionPresenceRow",children:[r.jsxs("span",{className:`companionPresenceLarge ${a.className}`,children:[r.jsx("span",{className:"companionPresenceDot"}),a.label]}),a.canWake&&r.jsx("button",{type:"button",className:"companionActionButton",onClick:o,children:l(i.chatCompanionOverviewPresenceWakeButton)}),a.canSleep&&r.jsx("button",{type:"button",className:"companionActionButton companionActionSecondary",onClick:n,children:l(i.chatCompanionOverviewPresenceSleepButton)})]})]}),e&&r.jsxs("div",{className:"companionCard companionStatsCard",children:[r.jsx("div",{className:"companionCardHeader",children:l(i.chatCompanionOverviewSummaryTitle)}),r.jsxs("ul",{className:"companionStatsList",children:[r.jsxs("li",{children:[r.jsx("strong",{children:e.sourceCount})," ",l(i.chatCompanionOverviewSummaryResourceLabel)]}),r.jsxs("li",{children:[r.jsx("strong",{children:e.derivedCount})," ",l(i.chatCompanionOverviewSummaryCreationLabel)]}),r.jsxs("li",{children:[r.jsx("strong",{children:e.memoryCount})," ",l(i.chatCompanionOverviewSummaryMemoryLabel)]})]})]}),r.jsxs("div",{className:"companionCard companionRecentMemoryCard",children:[r.jsx("div",{className:"companionCardHeader",children:l(i.chatCompanionOverviewRecentMemoriesTitle)}),u.length===0?r.jsx("p",{className:"companionEmpty",children:l(i.chatCompanionOverviewEmptyState)}):r.jsx("ul",{className:"companionMemoryList",children:u.map(h=>r.jsxs("li",{className:"companionMemoryItem",children:[r.jsx("span",{className:"companionMemoryCategory",children:c[h.category]??h.category}),r.jsx("span",{className:"companionMemoryContent",children:h.content}),r.jsx("span",{className:"companionMemoryDate",children:Qf(h.updatedAt)})]},h.id))})]})]})}function Xf(e){try{return new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"})}catch{return e}}function Zf(e){switch(e){case"note":return"note";case"conversation_log":return"conversation_log";case"article":return"article";case"image":return"image";case"video":return"video";case"audio":return"audio";case"path_ref":return"path_ref";default:return"unknown"}}function ew({sources:e,loading:t,onAddSource:a,onDeleteSource:o}){const[n,s]=d.useState(!1),[l,c]=d.useState(""),[u,h]=d.useState(""),[g,p]=d.useState(""),[b,w]=d.useState(!1),{t:f}=H(),k={note:f(i.chatCompanionResourcesSourceKindNote),conversation_log:f(i.chatCompanionResourcesSourceKindConversationLog),article:f(i.chatCompanionResourcesSourceKindArticle),image:f(i.chatCompanionResourcesSourceKindImage),video:f(i.chatCompanionResourcesSourceKindVideo),audio:f(i.chatCompanionResourcesSourceKindAudio),path_ref:f(i.chatCompanionResourcesSourceKindPath),unknown:f(i.chatCompanionResourcesSourceKindUnknown)};async function m(C){if(C.preventDefault(),!(!l.trim()&&!u.trim()&&!g.trim())){w(!0);try{await a({kind:"note",storageMode:"imported_copy",title:l.trim()||void 0,ownerNote:u.trim()||void 0,textContent:g.trim()||void 0}),c(""),h(""),p(""),s(!1)}finally{w(!1)}}}return t&&e.length===0?r.jsx("div",{className:"companionSection companionLoading",children:f(i.chatCompanionResourcesLoadingState)}):r.jsxs("div",{className:"companionSection companionResources",children:[r.jsxs("div",{className:"companionSectionHeader",children:[r.jsx("span",{children:f(i.chatCompanionResourcesSectionTitle)}),r.jsx("button",{type:"button",className:"companionActionButton",onClick:()=>s(!n),children:f(n?i.chatCompanionResourcesActionCancel:i.chatCompanionResourcesActionShowForm)})]}),n&&r.jsxs("form",{className:"companionCard companionForm",onSubmit:m,children:[r.jsx("input",{type:"text",className:"companionInput",placeholder:f(i.chatCompanionResourcesFormTitlePlaceholder),value:l,onChange:C=>c(C.target.value)}),r.jsx("input",{type:"text",className:"companionInput",placeholder:f(i.chatCompanionResourcesFormNotePlaceholder),value:u,onChange:C=>h(C.target.value)}),r.jsx("textarea",{className:"companionTextarea",placeholder:f(i.chatCompanionResourcesFormContentPlaceholder),value:g,onChange:C=>p(C.target.value),rows:4}),r.jsx("button",{type:"submit",className:"companionActionButton",disabled:b||!l.trim()&&!u.trim()&&!g.trim(),children:f(b?i.chatCompanionResourcesActionBusy:i.chatCompanionResourcesActionAddResource)})]}),e.length===0?r.jsx("p",{className:"companionEmpty",children:f(i.chatCompanionResourcesEmptyState)}):r.jsx("ul",{className:"companionSourceList",children:e.map(C=>r.jsxs("li",{className:"companionCard companionSourceCard",children:[r.jsxs("div",{className:"companionSourceHeader",children:[r.jsx("span",{className:"companionSourceKind",children:k[Zf(C.kind)]}),r.jsx("span",{className:"companionSourceTitle",children:C.title||C.originalFileName||f(i.chatCompanionResourcesUntitledSource)}),r.jsx("span",{className:"companionSourceDate",children:Xf(C.updatedAt)})]}),C.ownerNote&&r.jsx("p",{className:"companionSourceNote",children:C.ownerNote}),C.linkedPath&&r.jsx("span",{className:"companionSourcePath",children:C.linkedPath}),r.jsx("div",{className:"companionSourceActions",children:r.jsx("button",{type:"button",className:"companionDangerButton",onClick:()=>o(C.id),children:f(i.chatCompanionResourcesActionRemove)})})]},C.id))})]})}const Fs=["identity","preference","relationship","fact","event","owner_note"];function tw(e){try{return new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return e}}function aw({memory:e,loading:t,onAddMemory:a,onDeleteMemory:o}){const[n,s]=d.useState(null),[l,c]=d.useState(!1),[u,h]=d.useState("fact"),[g,p]=d.useState(""),[b,w]=d.useState(!1),{t:f}=H(),k={identity:f(i.chatCompanionMemoryCategoryIdentity),preference:f(i.chatCompanionMemoryCategoryPreference),relationship:f(i.chatCompanionMemoryCategoryRelationship),fact:f(i.chatCompanionMemoryCategoryFact),event:f(i.chatCompanionMemoryCategoryEvent),owner_note:f(i.chatCompanionMemoryCategoryOwnerNote),all:f(i.chatCompanionMemoryFilterAll)},m=n?e.filter(v=>v.category===n):e;async function C(v){if(v.preventDefault(),!!g.trim()){w(!0);try{await a({category:u,content:g.trim(),summary:null,sourceIds:[],metadata:{}}),p(""),c(!1)}finally{w(!1)}}}return t&&e.length===0?r.jsx("div",{className:"companionSection companionLoading",children:f(i.chatCompanionMemoryLoadingState)}):r.jsxs("div",{className:"companionSection companionMemory",children:[r.jsxs("div",{className:"companionSectionHeader",children:[r.jsx("span",{children:f(i.chatCompanionMemorySectionTitle)}),r.jsx("button",{type:"button",className:"companionActionButton",onClick:()=>c(!l),children:f(l?i.chatCompanionMemoryActionCancel:i.chatCompanionMemoryActionAdd)})]}),l&&r.jsxs("form",{className:"companionCard companionForm",onSubmit:C,children:[r.jsx("select",{className:"companionSelect",value:u,onChange:v=>h(v.target.value),children:Fs.map(v=>r.jsx("option",{value:v,children:k[v]},v))}),r.jsx("textarea",{className:"companionTextarea",placeholder:f(i.chatCompanionMemoryFormPlaceholder),value:g,onChange:v=>p(v.target.value),rows:3}),r.jsx("button",{type:"submit",className:"companionActionButton",disabled:b||!g.trim(),children:f(b?i.chatCompanionMemoryActionBusy:i.chatCompanionMemoryActionAddSubmit)})]}),r.jsxs("div",{className:"companionFilterBar",children:[r.jsxs("button",{type:"button",className:`companionFilterPill ${n?"":"isActive"}`,onClick:()=>s(null),children:[k.all," (",e.length,")"]}),Fs.map(v=>{const y=e.filter(L=>L.category===v).length;return y===0?null:r.jsxs("button",{type:"button",className:`companionFilterPill ${n===v?"isActive":""}`,onClick:()=>s(n===v?null:v),children:[k[v]," (",y,")"]},v)})]}),m.length===0?r.jsx("p",{className:"companionEmpty",children:e.length===0?f(i.chatCompanionMemoryEmptyState):f(i.chatCompanionMemoryEmptyFilterState)}):r.jsx("ul",{className:"companionMemoryList companionMemoryListFull",children:m.map(v=>r.jsxs("li",{className:"companionCard companionMemoryCard",children:[r.jsxs("div",{className:"companionMemoryCardHeader",children:[r.jsx("span",{className:"companionMemoryCategory",children:k[v.category]??k.all}),r.jsx("span",{className:"companionMemoryDate",children:tw(v.updatedAt)})]}),r.jsx("p",{className:"companionMemoryContent",children:v.content}),v.summary&&r.jsx("p",{className:"companionMemorySummary",children:v.summary}),r.jsx("button",{type:"button",className:"companionDangerButton",onClick:()=>o(v.id),children:f(i.chatCompanionMemoryActionRemove)})]},v.id))})]})}const rw=[{value:"animalistic",label:"animalistic"},{value:"anthropomorphic",label:"anthropomorphic"},{value:"mixed",label:"mixed"}],ow=[{value:"text",label:"text"},{value:"audio_clip",label:"audio_clip"},{value:"tts",label:"tts"},{value:"mixed",label:"mixed"}];function nw({catId:e,responseProfile:t,payload:a,loading:o,onUpdateResponseProfile:n}){const[s,l]=d.useState(t?.notes??""),[c,u]=d.useState(!1),{t:h}=H(),g={animalistic:h(i.chatCompanionSettingsExpressionModeAnimalistic),anthropomorphic:h(i.chatCompanionSettingsExpressionModeAnthropomorphic),mixed:h(i.chatCompanionSettingsExpressionModeMixed)},p={text:h(i.chatCompanionSettingsOutputModeText),audio_clip:h(i.chatCompanionSettingsOutputModeAudioClip),tts:h(i.chatCompanionSettingsOutputModeTts),mixed:h(i.chatCompanionSettingsOutputModeMixed)},b={polling:h(i.sharedSettingsCatsBindingPollingMode),webhook:h(i.sharedSettingsCatsBindingWebhookMode)},w=h(i.chatCompanionSettingsTelegramBindingDefaultMode),f=a.chat.botBindings?.find(v=>v.catId===e);async function k(v){u(!0);try{await n({expressionMode:v})}finally{u(!1)}}async function m(v){u(!0);try{await n({outputMode:v})}finally{u(!1)}}async function C(){u(!0);try{await n({notes:s.trim()||null})}finally{u(!1)}}return o&&!t?r.jsx("div",{className:"companionSection companionLoading",children:h(i.chatCompanionSettingsLoadingState)}):r.jsxs("div",{className:"companionSection companionSettings",children:[r.jsxs("div",{className:"companionCard",children:[r.jsx("div",{className:"companionCardHeader",children:h(i.chatCompanionSettingsResponseProfileTitle)}),r.jsxs("div",{className:"companionFormRow",children:[r.jsx("label",{className:"companionLabel",children:h(i.chatCompanionSettingsExpressionModeLabel)}),r.jsx("div",{className:"companionPillGroup",children:rw.map(({value:v,label:y})=>r.jsx("button",{type:"button",className:`companionPill ${t?.expressionMode===v?"isActive":""}`,onClick:()=>k(v),disabled:c,children:g[y]},v))})]}),r.jsxs("div",{className:"companionFormRow",children:[r.jsx("label",{className:"companionLabel",children:h(i.chatCompanionSettingsOutputModeLabel)}),r.jsx("div",{className:"companionPillGroup",children:ow.map(({value:v,label:y})=>r.jsx("button",{type:"button",className:`companionPill ${t?.outputMode===v?"isActive":""}`,onClick:()=>m(v),disabled:c,children:p[y]},v))})]}),r.jsxs("div",{className:"companionFormRow",children:[r.jsx("label",{className:"companionLabel",children:h(i.chatCompanionSettingsResponseNotesLabel)}),r.jsx("textarea",{className:"companionTextarea",placeholder:h(i.chatCompanionSettingsResponseNotesPlaceholder),value:s,onChange:v=>l(v.target.value),rows:3}),r.jsx("button",{type:"button",className:"companionActionButton",onClick:C,disabled:c||s===(t?.notes??""),children:h(c?i.chatCompanionSettingsResponseNotesSaving:i.chatCompanionSettingsResponseNotesSave)})]})]}),r.jsxs("div",{className:"companionCard",children:[r.jsx("div",{className:"companionCardHeader",children:h(i.chatCompanionSettingsTelegramBindingTitle)}),f?r.jsxs("div",{className:"companionTelegramInfo",children:[r.jsxs("p",{children:[r.jsxs("strong",{children:[h(i.chatCompanionSettingsTelegramBindingBotLabel)," "]}),f.botName??h(i.chatCompanionSettingsTelegramBindingConnected)]}),r.jsxs("p",{children:[r.jsxs("strong",{children:[h(i.chatCompanionSettingsTelegramBindingModeLabel)," "]}),f.inboundMode?b[f.inboundMode]??f.inboundMode:w]}),r.jsxs("p",{className:"companionMuted",children:[h(i.chatCompanionSettingsTelegramBindingManageHint),r.jsx(Tt,{to:"/settings/cats",children:h(i.chatCompanionSettingsTelegramBindingSettingsLabel)}),h(i.chatCompanionSettingsTelegramBindingSuffix)]})]}):r.jsxs("p",{className:"companionEmpty",children:[h(i.chatCompanionSettingsNoTelegramBindingState),r.jsx(Tt,{to:"/settings/cats",children:h(i.chatCompanionSettingsTelegramBindingSettingsLabel)}),h(i.chatCompanionSettingsTelegramBindingSuffix)]})]})]})}function sw({payload:e,cat:t,onBackToChat:a,onWake:o,onSleep:n,onCatAvatarSave:s,onDirectMessage:l,onStartNewChatWithCat:c,hideFeed:u=!1,hideCompanionToggle:h=!1}){const[g,p]=d.useState(!1),[b,w]=d.useState("overview"),{t:f}=H(),k=Of(t.id,e),m=Hf(t.id,b??"overview"),C=Uf({catId:t.id,enabled:!0}),v=Mf({catId:t.id,enabled:!0}),y=d.useCallback(()=>{o(t.id)},[t.id,o]),L=d.useCallback(()=>{n(t.id)},[t.id,n]),D=fe(t.name),T=t.avatarUrl?{backgroundImage:`url(${t.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:t.avatarColor?{background:t.avatarColor}:void 0;function j(I){return r.jsxs(r.Fragment,{children:[m.error?r.jsxs("div",{className:"companionError",children:[m.error,r.jsx("button",{type:"button",className:"companionActionButton",onClick:m.refreshTab,children:f(i.chatCompanionWorkspaceRetryLabel)})]}):null,I]})}const x={overview:j(r.jsx(Jf,{summary:m.summary,recentMemory:m.memory,presence:k,onWake:y,onSleep:L,loading:m.loading})),resources:j(r.jsx(ew,{sources:m.sources,loading:m.loading,onAddSource:m.addSource,onDeleteSource:m.removeSource})),memory:j(r.jsx(aw,{memory:m.memory,loading:m.loading,onAddMemory:m.addMemory,onDeleteMemory:m.removeMemory})),settings:j(r.jsx(nw,{catId:t.id,responseProfile:m.responseProfile,payload:e,loading:m.loading,onUpdateResponseProfile:m.editResponseProfile})),inspector:j(r.jsx("div",{className:"companionEmptyState",children:r.jsx("p",{children:f(i.chatCompanionWorkspaceNoSelectionState)})}))},R=Ur.map(I=>({id:I,title:bf(I,f),children:x[I]}));d.useEffect(()=>{b!==null&&!Ur.includes(b)&&w(Ur[0]??null)},[b]);function P(I){w(O=>O===I?null:I)}return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"viewShell viewShellChannel","data-conversation-mode":"direct_message","data-layout-mode":"companion",children:[r.jsxs("header",{className:"channelTopBar",children:[r.jsx("div",{className:"channelTopBarStart",children:r.jsx("div",{className:"rosterAvatars rosterAvatarsExpanded",children:r.jsx("div",{className:"catAvatar","data-tooltip":t.name,style:T,children:t.avatarUrl?null:D})})}),r.jsx("div",{className:"channelTopBarCenter",children:r.jsx("span",{className:"channelTopBarTitle channelTopBarTitleDirectLane",children:t.name})}),r.jsxs("div",{className:"channelTopBarEnd",children:[h?null:r.jsx(Yf,{companionMode:!0,onToggle:a}),r.jsx("button",{className:"sidePanelToggle",type:"button",onClick:()=>p(I=>!I),"aria-label":f(i.chatTopBarToggleSidePanelAriaLabel),"aria-pressed":g,children:r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M10 2v12"}),r.jsx("rect",{x:"2",y:"2",width:"12",height:"12",rx:"2"})]})})]})]}),r.jsxs("div",{className:"companionContent",children:[r.jsx(yf,{variant:"profile",title:t.name,avatarName:t.name,avatarUrl:t.avatarUrl,avatarColor:t.avatarColor,coverStorageKey:t.id,onAvatarSave:s?I=>s(t.id,I):void 0,alwaysEditable:!0,actions:r.jsxs(r.Fragment,{children:[r.jsxs("button",{type:"button",className:"companionHeaderAction companionHeaderActionPrimary",onClick:()=>l?.(t.id),disabled:!l,children:[r.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})}),f(i.conversationSidebarDirectMessageButton)]}),r.jsx("button",{type:"button",className:"companionHeaderAction companionHeaderActionIconOnly",onClick:()=>c?.(t.id),disabled:!c,"aria-label":f(i.chatSidebarPrimaryActionNewChat),title:f(i.chatSidebarPrimaryActionNewChat),children:r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r.jsx("path",{d:"M8 3v10"}),r.jsx("path",{d:"M3 8h10"})]})})]})}),u?null:r.jsx(Vf,{cat:t,profile:C.profile,activity:v.projection})]})]}),g?r.jsx(mh,{title:f(i.chatCompanionWorkspaceSidePanelTitle),activeSection:b,onSectionToggle:P,onClose:()=>p(!1),position:"side",className:"chatPaneSidePanel chatPaneSidePanelBelowBar",sections:R}):null]})}function iw({catId:e}){const{t}=H();return r.jsx("div",{className:"screen screenCentered entityComingSoonScreen",children:r.jsxs("section",{className:"entityComingSoonPanel",children:[r.jsx("h1",{children:t(i.catProfileNotFoundTitle)}),r.jsx("p",{className:"entityComingSoonBody",children:t(i.catProfileNotFoundBody,{catId:e})})]})})}function lw(){const{catId:e}=ir(),t=Ne(),[a,o]=d.useState(null);if(d.useEffect(()=>{let f=!1;return Ze().then(k=>{f||o(k)}).catch(()=>{}),()=>{f=!0}},[]),!a||!e)return r.jsx("div",{className:"catProfilePageBoot"});const n=a.chat.cats.find(f=>f.id===e);if(!n)return r.jsx(iw,{catId:e});const s=!df(n),l=()=>{Ze().then(f=>o(f)).catch(()=>{})},c=(f,k)=>{Re(f,{avatarUrl:k}).then(()=>l()).catch(()=>{})},u=()=>{},h=()=>{},g=()=>{t("/entities/cats")},p=dr("chat"),b=f=>{t(yn(p,f))},w=f=>{t(mf(p,f))};return r.jsx(sw,{payload:a,cat:n,onBackToChat:g,onWake:u,onSleep:h,onCatAvatarSave:c,onDirectMessage:b,onStartNewChatWithCat:w,hideFeed:s,hideCompanionToggle:!0})}function gc(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function wt(e){if(!e)return;const t=Object.entries(e).filter(([,a])=>gc(a));if(t.length!==0)return Object.fromEntries(t)}function cw(e,t,a){if(!e||!a)return wt(a);const o=e.controls.filter(l=>!l.applicableEntryIds||l.applicableEntryIds.length===0||l.applicableEntryIds.includes(t)),n=new Map(o.map(l=>[l.key,l])),s=Object.entries(a).filter(([l,c])=>{const u=n.get(l);return!u||!gc(c)?!1:u.kind!=="enum"||typeof c!="string"||!u.values?.length?!0:u.values.some(h=>h.value===c&&(!h.applicableEntryIds||h.applicableEntryIds.length===0||h.applicableEntryIds.includes(t)))});return s.length>0?Object.fromEntries(s):void 0}function So(e){const t=tn(e.provider,e.model)??"";return t?(e.provider==="claude"&&e.backend==="cli"&&e.catalog.models.some(a=>a.id==="opus"),t):null}function dw(e){const t=e.advancedCatalog?.backend??e.catalog.backend,a=So({provider:e.target.provider,backend:t,catalog:e.catalog,model:e.target.model}),o=er(e.target.modelSelection);if(o?.entryId){const n=So({provider:e.target.provider,backend:t,catalog:e.catalog,model:o.entryId});n&&(o.entryId=n)}return{...e.target,...a?{model:a}:{},...o?{modelSelection:o}:{}}}function uw(e,t,a){return a?e.presets.some(o=>o.id===a&&(!o.applicableEntryIds||o.applicableEntryIds.length===0||o.applicableEntryIds.includes(t))):!1}function Os(e,t,a){return!e||!a||!uw(e,t,a)?null:e.presets.find(o=>o.id===a)??null}function er(e){return e?{...e.entryId?{entryId:e.entryId}:{},entryMode:e.entryMode,...e.presetId?{presetId:e.presetId}:{},...wt(e.controls)?{controls:wt(e.controls)}:{}}:null}function pw(e){return e?{entryId:e.entryId,model:e.model,entryMode:e.entryMode,...e.presetId?{presetId:e.presetId}:{},...wt(e.controls)?{controls:wt(e.controls)}:{},...e.supportTier?{supportTier:e.supportTier}:{},warnings:[...e.warnings]}:null}function fc(e,t={}){const a=e?.trim();if(!a)return null;const o=wt(t.controls);return{entryId:a,entryMode:"explicit",...t.presetId?.trim()?{presetId:t.presetId.trim()}:{},...o?{controls:o}:{}}}function hw(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const a=wt(e.controls),o=wt(t.controls);return e.entryMode===t.entryMode&&(e.entryId??null)===(t.entryId??null)&&(e.presetId??null)===(t.presetId??null)&&JSON.stringify(a??null)===JSON.stringify(o??null)}function Sn(e,t){const a=t.trim();return a&&e.instances.some(o=>o.id===a)||a&&e.instances.length===0?a:(a&&e.instances.length>0&&console.warn(`Unknown provider instance "${a}" for ${e.id}, falling back to default`),e.defaultInstance??e.instances[0]?.id??"")}function wc(e){const t=So({provider:e.catalog.provider,backend:e.catalog.backend,catalog:e.catalog,model:e.model})??"";return!t||e.modelSelection?!1:!e.catalog.models.some(a=>a.id===t)}function mw(e){const t=dw({target:e.target,catalog:e.catalog,advancedCatalog:e.advancedCatalog}),a=(e.catalog.instance??t.instance)||"",o=t.model?.trim()||"",n=e.catalog.models.some(y=>y.id===t.model),s=wc({catalog:e.catalog,model:t.model,modelSelection:t.modelSelection}),l=e.preserveCurrentModel&&n?t.model:e.preserveCurrentModel&&s?o:rn(e.catalog);if(s&&e.preserveCurrentModel)return{provider:t.provider,instance:a,model:o,modelSelection:null,modelResolution:null};const c=e.advancedCatalog??null,h=e.preserveCurrentSelection??e.preserveCurrentModel?er(t.modelSelection):er(c?.defaultSelection)??null,g=h?.entryId?.trim(),p=g&&e.catalog.models.some(y=>y.id===g)?g:l,b=Os(c,p,h?.presetId),w=b?.preferredEntryId?.trim(),f=h?.entryMode==="auto"&&w&&e.catalog.models.some(y=>y.id===w)?w:p,k=Os(c,f,b?.id),m=cw(c,f,h?.controls),C=h?{entryId:f,entryMode:h.entryMode,...k?{presetId:k.id}:{},...m?{controls:m}:{}}:fc(f,{presetId:void 0,controls:m}),v=c?.warnings.length?[...c.warnings]:[];return{provider:t.provider,instance:a,model:f,modelSelection:C,modelResolution:C?{entryId:f,model:f,entryMode:C.entryMode,...k?{presetId:k.id}:{},...m?{controls:m}:{},...c?{supportTier:c.support.tier}:{},warnings:v}:null}}function gw(e){switch(e){case"token":return"token text";case"chunk":return"chunk text";case"line":return"line text";case"final":return"final-only text";default:return null}}function ea(e,t){switch(t){case"native":return e;case"derived":return`derived ${e}`;default:return null}}function fw(e){switch(e.presentation.recommended){case"event_tape":return"Recommended host view: event tape.";case"content_blocks":return"Recommended host view: content blocks.";case"final_message":return"Recommended host view: final message.";default:return null}}function ww(e){if(!e)return null;const t=[gw(e.normalizedStream.text.mode),ea("tool use",e.normalizedStream.toolUse),ea("tool results",e.normalizedStream.toolResult),ea("progress",e.normalizedStream.progress),ea("reasoning",e.normalizedStream.reasoning),ea("transcript blocks",e.transcript.contentBlocks)].filter(n=>!!n),a=[];t.length>0&&a.push(`Runtime event surface: ${t.join(", ")}.`);const o=fw(e);return o&&a.push(o),a.length===0&&e.notes[0]?e.notes[0]:a.length>0?a.join(" "):null}const bw=3e4;function qr(e,t,a){return{provider:e,backend:null,instance:t?.trim()||null,defaultModel:null,source:"config",cache:null,models:[],warnings:a?[a]:[]}}function Ka(e,t,a){return{provider:e,backend:null,instance:t?.trim()||null,defaultModel:null,source:"config",cache:null,entries:[],presets:[],controls:[],defaultSelection:null,support:{tier:"entry_only",notes:[]},warnings:a?[a]:[]}}function kw(e=[]){return{state:"ready",providers:lm(),...e.length>0?{warnings:e}:{}}}function Ws(e){return{state:e.state,providers:Array.isArray(e.providers)?e.providers:[],recovery:e.recovery,warnings:Array.isArray(e.warnings)?e.warnings:[]}}function yw(e,t=$t){return e.providersLoaded?(e.providerCount??0)>0?t(i.sharedProviderModelFieldSelectProviderHint):e.registryState==="runtime_unreachable"?t(i.sharedProviderModelFieldProviderLoadFailed):t(i.sharedProviderModelFieldNoProviders):t(i.sharedProviderModelFieldLoadingProviders)}function vw(e,t=$t){return e.providersLoaded?e.registry.providers.length>0?Lo(e.registry.warnings?.[0],t)??t(i.sharedProviderModelFieldRegistryStaleHint):e.registry.state==="runtime_unreachable"?Lo(e.registry.warnings?.[0],t)??t(i.sharedProviderModelFieldRegistryLoadFailedHint):t(i.sharedProviderModelFieldRegistryEmptyHint):t(i.sharedProviderModelFieldRegistryCheckingHint)}function Lo(e,t=$t){if(!e)return null;const a=pg(e);if(a!==null)return t(i.sharedProviderModelFieldRegistryCachedRefreshFailedHint,{message:Lo(a,t)??a});switch(e){case tc:return t(i.sharedProviderModelFieldRegistryUsingProductCatalogHint);case dg:return t(i.sharedProviderModelFieldRegistryStaleHint);case Xa:return t(i.sharedProviderModelFieldProviderLoadFailed);case ac:return t(i.sharedProviderModelFieldRegistryLoadFailedHint);default:return e}}function bc(e){const t=e.recovery?.openRuntimeSetupPath?.trim();return t||null}function Cw(e){return kc(e)===0}function kc(e){if(!e.providersLoaded||e.providerCount>0&&e.registryState!=="runtime_unreachable"||e.registryState==="ready"||!e.retryable||!e.documentVisible||e.registryState!=="runtime_unreachable"&&!e.hasSetupHref)return null;const t=e.now-e.lastAutoRecheckAt;return Math.max(0,bw-t)}function Sw(e,t){return!e.applicableEntryIds||e.applicableEntryIds.length===0||e.applicableEntryIds.includes(t)}function yc(e,t){return!e.applicableEntryIds||e.applicableEntryIds.length===0||e.applicableEntryIds.includes(t)}function Lw(e,t){return!e.applicableEntryIds||e.applicableEntryIds.length===0||e.applicableEntryIds.includes(t)}function Rw(e){return`${typeof e}:${String(e)}`}function xa(e,t){const a=[],o=new Map,n=[];for(const s of e.values??[]){const l=Rw(s.value);a.includes(l)||a.push(l),Lw(s,t)&&o.set(l,s)}for(const s of a){const l=o.get(s);l&&n.push(l)}return n}function Pw(e,t){return xa(e,t).some(a=>typeof a.label=="string"&&/\(default\)/iu.test(a.label))}function xw(e,t,a){const o=Ro(a);if(o)return o;const n=xa(e,t).find(s=>typeof s.label=="string"&&/\(default\)/iu.test(s.label));return n?String(n.value):""}function Aw(e,t){if(e.kind==="number"){const a=Number(t);return Number.isFinite(a)?a:0}return e.kind==="boolean"?t==="true":t}function Ro(e){return typeof e=="boolean"?e?"true":"false":typeof e=="number"?String(e):typeof e=="string"?e:""}function Tw(e,t,a){return fc(e,{presetId:t,controls:a})}const Ln="__custom_legacy_model__";function Dw(e){return e==="full"?{labelKey:i.sharedProviderModelSupportAdvanced,tone:"advanced"}:e==="read_only"?{labelKey:i.sharedProviderModelSupportReadOnly,tone:"readOnly"}:null}function Nw(e){const t=e?.trim();if(!t)return"";const a=t.toLowerCase();return a==="available"||a==="supported"?"":a==="preview"||a==="deprecated"||a==="unavailable"?` (${a})`:` (${t})`}function jw(e){return`${e.label}${Nw(e.status)}`}function Aa(e,t){return e.filter(a=>a.scope!=="request"&&yc(a,t)).map(a=>({...a,...a.kind==="enum"&&a.values?{values:xa(a,t)}:{}}))}function Mw(e,t){return e.filter(a=>a.scope==="request"&&yc(a,t)).length}function vc(e,t,a){if(!a)return;const o=Aa(e,t),n=new Map(o.map(l=>[l.key,l])),s=Object.entries(a).filter(([l,c])=>{const u=n.get(l);return u?u.kind!=="enum"||!u.values?.length?!0:xa(u,t).some(h=>h.value===c):!1});return s.length>0?Object.fromEntries(s):void 0}function Ew(e,t){return e.values?.find(o=>o.value===t)?.label??String(t)}function Iw(e){const t=e.modelSelection?.controls;if(!e.entryId||!t)return null;const a=Aa(e.controls,e.entryId),o=new Map(a.map(s=>[s.key,s])),n=new Map(e.controls.map(s=>[s.key,s]));for(const[s,l]of Object.entries(t)){const c=o.get(s),u=n.get(s),h=c?.label??u?.label??s;if(!c)return`${h} is not supported by ${e.entryId}; Cats will use the model default instead.`;if(c.kind==="enum"&&c.values?.length&&!c.values.some(g=>g.value===l))return`${h} value ${Ew(u??c,l)} is not supported by ${e.entryId}; Cats will use the model default instead.`}return null}function Bw(e){const{entryId:t,modelSelection:a,effectiveAdvancedCatalog:o}=e;if(!t)return;const n=Aa(o.controls,t);if(n.length===0)return;const s={},l=o.defaultSelection?.entryId===t?o.defaultSelection.controls:void 0;for(const c of n){const u=a?.controls?.[c.key];if(u!==void 0){s[c.key]=u;continue}const h=l?.[c.key];h!==void 0&&(s[c.key]=h)}return Object.keys(s).length>0?s:void 0}function Fw(e){return e.catalog.source==="static"?!1:wc(e)}function Ow(e){const t=er(e.target.modelSelection);if(!t)return e.target;const a=vc(e.controls,t.entryId??e.target.model,t.controls);return a?t.controls=a:delete t.controls,{...e.target,modelSelection:t,modelResolution:pw(e.target.modelResolution)}}function Cc(e){const t=e.model?.trim()||"",o=(e.effectiveAdvancedCatalog.entries.length>0?e.effectiveAdvancedCatalog.entries:e.effectiveCatalog.models).find(u=>u.id===t)?.label??null,n=t?Aa(e.effectiveAdvancedCatalog.controls,t):[],s=Bw({entryId:t,modelSelection:e.modelSelection??null,effectiveAdvancedCatalog:e.effectiveAdvancedCatalog}),l=Fl(s,n),c=nn(e.provider,e.instance,e.model,null,l,o);return Il({provider:e.provider,instance:e.instance,model:e.model,modelSelection:e.modelSelection??null,executionLabel:c}),c}function tr(e){const t=e.target.model?.trim()??"";return t?{...e.target,executionLabel:Cc({provider:e.target.provider,instance:e.target.instance,model:t,modelSelection:e.target.modelSelection??null,effectiveCatalog:e.effectiveCatalog,effectiveAdvancedCatalog:e.effectiveAdvancedCatalog})}:{...e.target,executionLabel:null}}function Ww(e){return e.catalogSource==="static"&&e.advancedCatalogSource==="static"&&(!!e.model||!!e.modelSelection)}function Uw(e){return e.entryCount>0||e.isLegacyModelTarget}function Us(e){return e?.trim()||""}function Hw(e){return e.instanceOptions.length>1}function _w(e){return e.instanceOptions.find(t=>t.id===e.resolvedInstance)?.eventCapabilities??null}function Hs(e){return e.catalogProvider===e.provider&&Us(e.catalogInstance)===Us(e.instance)}function Gw(e){const{provider:t,instance:a,catalog:o,advancedCatalogResult:n,modelsResult:s,translate:l=$t}=e;if(n.status==="fulfilled")return n.value;if(s.status==="fulfilled"){const c=dm(o);return{...c,warnings:[...c.warnings,n.reason instanceof Error?n.reason.message:l(i.sharedProviderModelFieldAdvancedCatalogUnavailable)]}}return Ka(t,a,n.reason instanceof Error?n.reason.message:l(i.sharedProviderModelFieldAdvancedCatalogUnavailable))}function Kw(e,t,a){return a?[]:e.presets.filter(o=>Sw(o,t))}function qw(e){const{control:t,currentValues:a,rawValue:o}=e;if(o)return{...a,[t.key]:Aw(t,o)};const n=Object.entries(a).filter(([s])=>s!==t.key);return n.length>0?Object.fromEntries(n):void 0}function $w(e){const{selectedProvider:t,instance:a,model:o,modelSelection:n,catalogLoading:s,providersLoaded:l,providerRegistry:c,effectiveCatalog:u,effectiveAdvancedCatalog:h,isLegacyModelTarget:g,translate:p=$t}=e,b=t?Sn(t,a):"",w=h.entries.length>0?h.entries:u.models,f=Uw({entryCount:w.length,isLegacyModelTarget:g}),k=t?t.instances.some(Q=>Q.id===b)?t.instances:b?[{id:b,label:b,target:b,backend:null},...t.instances]:t.instances:[],m=Hw({instanceOptions:k}),C=_w({resolvedInstance:b,instanceOptions:k}),v=ww(C),y=w.some(Q=>Q.id===o)?o:w[0]?.id??"",L=g?Ln:y||"",D=Kw(h,y,g),T=!g&&D.some(Q=>Q.id===n?.presetId)?n?.presetId??"":"",j=g?[]:Aa(h.controls,y),x=g?null:Iw({controls:h.controls,entryId:y,modelSelection:n}),R=g?0:Mw(h.controls,y),P=n?.controls??{},I=Dw(h.support.tier),O=g?[]:w.find(Q=>Q.id===y)?.notes??[],E=h.warnings[0]??u.warnings[0]??null,$=yw({providersLoaded:l,registryState:c.state,providerCount:c.providers.length},p),G=c.providers.length>0,ee=t?p(s?i.sharedProviderModelFieldLoadingModels:f?i.sharedProviderModelFieldSelectModel:i.sharedProviderModelFieldNoModels):l?c.state==="runtime_unreachable"&&!G?p(i.sharedProviderModelFieldRetryProvidersFirst):p(i.sharedProviderModelFieldSelectProviderFirst):p(i.sharedProviderModelFieldWaitingProviders),B=vw({providersLoaded:l,registry:c},p),q=bc(c),F=l&&c.providers.length===0&&c.recovery?.retryable!==!1;return{resolvedInstance:b,instanceOptions:k,showInstanceField:m,selectedInstanceCapabilitySummary:v,entryOptions:w,selectedCatalogEntryId:y,selectedEntryId:L,presetOptions:D,selectedPresetId:T,controlOptions:j,unsupportedSelectionWarning:x,requestScopedControlCount:R,controlValues:P,supportBadge:I,selectedEntryNotes:O,primaryCatalogWarning:E,providerPlaceholder:$,modelPlaceholder:ee,providerRegistryHint:B,providerRegistrySetupHref:q,canRetryProviderRegistry:F,allowLegacyManualModelEntry:f}}function zw(e){const{controlOptions:t,selectedCatalogEntryId:a,controlValues:o,onControlChange:n}=e,{t:s}=H();return t.map(l=>{const c=o[l.key];if(l.kind==="boolean")return r.jsxs("label",{className:"fieldLabel providerControlField",children:[r.jsx("span",{children:l.label}),r.jsxs("select",{className:"textInput",value:Ro(c),onChange:u=>n(l,u.target.value),children:[r.jsx("option",{value:"",children:s(i.sharedProviderModelControlDefault)}),r.jsx("option",{value:"true",children:s(i.sharedProviderModelControlEnabled)}),r.jsx("option",{value:"false",children:s(i.sharedProviderModelControlDisabled)})]}),l.description?r.jsx("span",{className:"fieldHint",children:l.description}):null]},l.key);if(l.kind==="enum"&&l.values&&l.values.length>0){const u=xa(l,a),h=!Pw(l,a),g=xw(l,a,c);return r.jsxs("label",{className:"fieldLabel providerControlField",children:[r.jsx("span",{children:l.label}),r.jsxs("select",{className:"textInput",value:g,onChange:p=>n(l,p.target.value),children:[h?r.jsx("option",{value:"",children:s(i.sharedProviderModelControlDefault)}):null,u.map((p,b)=>r.jsx("option",{value:String(p.value),children:p.label},`${l.key}-${String(p.value)}-${b}`))]}),l.description?r.jsx("span",{className:"fieldHint",children:l.description}):null]},l.key)}return r.jsxs("label",{className:"fieldLabel providerControlField",children:[r.jsx("span",{children:l.label}),r.jsx("input",{className:"textInput",type:l.kind==="number"?"number":"text",value:Ro(c),min:l.kind==="number"?l.minimum:void 0,max:l.kind==="number"?l.maximum:void 0,step:l.kind==="number"?l.step??1:void 0,placeholder:s(i.sharedProviderModelControlOptionalPlaceholder),onChange:u=>n(l,u.target.value)}),l.description?r.jsx("span",{className:"fieldHint",children:l.description}):null]},l.key)})}function Vw(e){const{t}=H(),{providerRegistryHint:a,canRetryProviderRegistry:o,providerRegistrySetupHref:n,forceReloadProviderRegistry:s,hideRetry:l=!1}=e,c=o&&!l;return r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"fieldHint",children:a}),c?r.jsxs("div",{className:"providerCatalogRecoveryActions",children:[r.jsx("button",{className:"secondaryButton",type:"button",onClick:()=>s(),children:t(i.sharedCommonRetry)}),n?r.jsx("a",{className:"secondaryButton",href:n,target:"_blank",rel:"noreferrer",children:t(i.sharedProviderModelFieldOpenRuntimeSetupLabel)}):null]}):n?r.jsx("div",{className:"providerCatalogRecoveryActions",children:r.jsx("a",{className:"secondaryButton",href:n,target:"_blank",rel:"noreferrer",children:t(i.sharedProviderModelFieldOpenRuntimeSetupLabel)})}):null]})}function Sc(e){return e===$l||e===zl||e===Vl||e===Yl}function Yw(e,t){return e instanceof Error?Sc(e.message)?t:e.message:t}function Qw(e,t){return e instanceof Error&&Sc(e.message)?new Error(t):e}function $r(e,t,a){return jl(e,{instance:t,...a?{warnings:[a]}:{}})}function zr(e,t,a){return cm(e,{instance:t,...a?{warnings:[a]}:{}})}function _s(e,t,a){const o=a(i.sharedProviderModelFieldRuntimeCatalogUnavailable,{catalogKind:t});return a(i.sharedProviderModelFieldRuntimeCatalogUnavailableWarning,{catalogKind:t,message:Yw(e,o)})}function Gs(e,t,a){if(!a||!e)return null;const o=t||null,n=sg({provider:e,instance:o}),s=ig({provider:e,instance:o});return n&&s?{models:n,advanced:s}:null}function Jw(e){const t=e.translate??$t,a=Gs(e.provider,e.resolvedInstance,e.hasSelectedProvider),[o,n]=d.useState(!!e.provider&&!a),[s,l]=d.useState(()=>a?.models??(e.hasSelectedProvider&&e.provider?$r(e.provider,e.resolvedInstance||null):qr(e.provider,e.resolvedInstance||null))),[c,u]=d.useState(()=>a?.advanced??(e.hasSelectedProvider&&e.provider?zr(e.provider,e.resolvedInstance||null):Ka(e.provider,e.resolvedInstance||null)));d.useEffect(()=>{let w=!1;if(!e.hasSelectedProvider||!e.provider)return l(qr(e.provider,e.resolvedInstance||null)),u(Ka(e.provider,e.resolvedInstance||null)),n(!1),()=>{w=!0};const f=Gs(e.provider,e.resolvedInstance,e.hasSelectedProvider);return f?(l(f.models),u(f.advanced),n(!1)):(l($r(e.provider,e.resolvedInstance||null)),u(zr(e.provider,e.resolvedInstance||null)),n(!0)),Promise.allSettled([e.fetchProviderModels(e.provider,e.resolvedInstance||null),e.fetchAdvancedProviderModels(e.provider,e.resolvedInstance||null)]).then(([k,m])=>{if(w)return;const C=k.status==="fulfilled"?k.value:$r(e.provider,e.resolvedInstance||null,_s(k.reason,t(i.sharedProviderModelFieldCatalogKindModel),t));if(l(C),m.status==="fulfilled"||k.status==="fulfilled"){const v=t(i.sharedProviderModelFieldAdvancedCatalogUnavailable);u(Gw({provider:e.provider,instance:e.resolvedInstance||null,catalog:C,advancedCatalogResult:m.status==="rejected"?{status:"rejected",reason:Qw(m.reason,v)}:m,modelsResult:k,translate:t}))}else u(zr(e.provider,e.resolvedInstance||null,_s(m.reason,t(i.sharedProviderModelFieldCatalogKindAdvancedModel),t)));n(!1)}),()=>{w=!0}},[e.fetchAdvancedProviderModels,e.fetchProviderModels,e.hasSelectedProvider,e.provider,e.resolvedInstance,t]);const h=qr(e.provider,e.resolvedInstance||null),g=Ka(e.provider,e.resolvedInstance||null),p=Hs({catalogProvider:s.provider,catalogInstance:s.instance,provider:e.provider,instance:e.resolvedInstance})?s:h,b=Hs({catalogProvider:c.provider,catalogInstance:c.instance,provider:e.provider,instance:e.resolvedInstance})?c:g;return{catalogLoading:o,effectiveCatalog:p,effectiveAdvancedCatalog:b}}function Xw(e){const{providerOptions:t,provider:a,resolvedInstance:o,model:n,persistedLegacyModelTarget:s,selectedCatalogEntryId:l,selectedPresetId:c,presetOptions:u,controlValues:h,effectiveControls:g,effectiveCatalog:p,effectiveAdvancedCatalog:b,markManualSelection:w,markLegacyManualSelection:f,clearManualSelection:k,onTargetChange:m}=e,C=d.useCallback(R=>{const P=R.model??l,I=vc(g,P,R.controls),O=R.presetId??null,E=Tw(P,O,I);w(),m(tr({target:{provider:a,instance:R.instance??o,model:P,modelSelection:E},effectiveCatalog:p,effectiveAdvancedCatalog:b}))},[b,p,g,w,m,a,o,l]),v=d.useCallback((R,P)=>{f(),m(tr({target:{provider:a,instance:P??o,model:R,modelSelection:null},effectiveCatalog:p,effectiveAdvancedCatalog:b}))},[b,p,f,m,a,o]),y=d.useCallback(R=>{const P=t.find(O=>O.id===R)??null;if(!P)return;const I=Sn(P,"");k(),m({provider:P.id,instance:I,model:"",modelSelection:null})},[k,m,t]),L=d.useCallback(R=>{k(),m({provider:a,instance:R,model:"",modelSelection:null})},[k,m,a]),D=d.useCallback(R=>{if(R===Ln){v(s?n:"");return}C({model:R,presetId:null,controls:void 0})},[v,C,n,s]),T=d.useCallback(R=>{v(R)},[v]),j=d.useCallback(R=>{const P=u.find(I=>I.id===R)??null;C({presetId:P?.id??null,controls:P?.controlDefaults?{...P.controlDefaults}:void 0})},[C,u]),x=d.useCallback((R,P)=>{C({presetId:c||null,controls:qw({control:R,currentValues:h,rawValue:P})})},[h,C,c]);return{onProviderChange:y,onInstanceChange:L,onModelEntryChange:D,onLegacyModelChange:T,onPresetChange:j,onControlChange:x}}function Zw(e){const{providersLoaded:t,providerCount:a,registryState:o,retryable:n,providerRegistrySetupHref:s,lastAutoProviderRegistryRecheckAt:l,reloadProviderRegistry:c}=e;d.useEffect(()=>{const u=globalThis,h=u.window,g=u.document;if(!h||!g)return;const p=h,b=g;function w(){const m=Date.now();Cw({providersLoaded:t,providerCount:a,registryState:o,retryable:n,hasSetupHref:!!s,documentVisible:b.visibilityState!=="hidden",lastAutoRecheckAt:l,now:m})&&c({markAutoRecheckAt:m})}const f=kc({providersLoaded:t,providerCount:a,registryState:o,retryable:n,hasSetupHref:!!s,documentVisible:b.visibilityState!=="hidden",lastAutoRecheckAt:l,now:Date.now()}),k=f===null?null:setTimeout(w,f);return p.addEventListener("focus",w),b.addEventListener("visibilitychange",w),()=>{k!==null&&clearTimeout(k),p.removeEventListener("focus",w),b.removeEventListener("visibilitychange",w)}},[l,a,s,t,o,n,c])}function eb(e){const t=Sg(),a=t?Ws(t):kw([tc]),[o,n]=d.useState(a.providers),[s,l]=d.useState(()=>a),[c,u]=d.useState(!0),[h,g]=d.useState(0),[p,b]=d.useState(0),w=d.useRef(e.onProviderRegistryChange),f=d.useRef(0),k=d.useRef(a.providers);d.useEffect(()=>{w.current=e.onProviderRegistryChange},[e.onProviderRegistryChange]);function m(L,D){if(L!==f.current)return;const T=Ws(D),j=T.state==="runtime_unreachable"&&T.providers.length===0&&k.current.length>0?{...T,providers:k.current}:T;k.current=j.providers,n(j.providers),l(j),u(!0),w.current?.(j)}function C(L,D){if(L!==f.current)return;const T=D instanceof Error?D.message:Xa;l(j=>{const x=(j.warnings??[]).filter(I=>I!==T),P={state:"runtime_unreachable",providers:j.providers.length>0?j.providers:[],recovery:{retryable:!0},warnings:[...x,T]};return k.current=P.providers,w.current?.(P),P}),u(!0)}d.useEffect(()=>{let L=!1;const D=++f.current;return e.fetchProviderRegistry().then(T=>{L||m(D,T)}).catch(T=>{L||C(D,T)}),()=>{L=!0}},[e.fetchProviderRegistry,h]);function v(L){L?.markAutoRecheckAt!==void 0&&b(L.markAutoRecheckAt),g(D=>D+1)}function y(L){L?.markAutoRecheckAt!==void 0&&b(L.markAutoRecheckAt);const D=++f.current;e.fetchProviderRegistry({force:!0}).then(T=>{m(D,T)}).catch(T=>{C(D,T)})}return{providers:o,providerRegistry:s,providersLoaded:c,lastAutoProviderRegistryRecheckAt:p,reloadProviderRegistry:v,forceReloadProviderRegistry:y}}function tb(e){const[t,a]=d.useState(null),o=d.useRef(null),n=d.useRef(""),s=d.useRef(e.onTargetChange);d.useEffect(()=>{s.current=e.onTargetChange},[e.onTargetChange]);const l=`${e.provider}::${e.resolvedInstance}`,c=!e.catalogLoading&&Fw({catalog:e.effectiveCatalog,model:e.model,modelSelection:e.modelSelection}),u=t===l||c,h=t===l&&(e.model?.trim()||"").length===0&&!e.modelSelection,g=o.current===l||!!e.modelSelection||u;d.useEffect(()=>{e.hasSelectedProvider&&(n.current!==l&&(n.current=l,o.current=null,a(null)),e.resolvedInstance&&e.resolvedInstance!==e.instance&&s.current(tr({target:{provider:e.provider,instance:e.resolvedInstance,model:e.model,modelSelection:e.modelSelection},effectiveCatalog:e.effectiveCatalog,effectiveAdvancedCatalog:e.effectiveAdvancedCatalog})))},[e.effectiveAdvancedCatalog,e.effectiveCatalog,e.hasSelectedProvider,e.instance,e.model,e.modelSelection,e.provider,e.resolvedInstance,l]),d.useEffect(()=>{if(e.effectiveCatalog.models.length===0||h||Ww({catalogSource:e.effectiveCatalog.source,advancedCatalogSource:e.effectiveAdvancedCatalog.source,model:e.model,modelSelection:e.modelSelection}))return;const k=mw({target:{provider:e.provider,instance:e.resolvedInstance,model:e.model,modelSelection:e.modelSelection},catalog:e.effectiveCatalog,advancedCatalog:e.effectiveAdvancedCatalog,preserveCurrentModel:g,preserveCurrentSelection:g}),m=Ow({target:k,controls:e.effectiveAdvancedCatalog.controls});(m.instance!==e.instance||m.model!==e.model||!hw(m.modelSelection,e.modelSelection))&&s.current(tr({target:m,effectiveCatalog:e.effectiveCatalog,effectiveAdvancedCatalog:e.effectiveAdvancedCatalog}))},[e.effectiveAdvancedCatalog,e.effectiveCatalog,e.instance,e.model,e.modelSelection,e.provider,e.resolvedInstance,g,l,h]);function p(){o.current=null,a(null)}function b(){o.current=l,a(null)}function w(){o.current=l,a(l)}return{persistedLegacyModelTarget:c,isLegacyModelTarget:u,clearManualSelection:p,markManualSelection:b,markLegacyManualSelection:w}}function Lc({provider:e,instance:t,model:a,modelSelection:o,onTargetChange:n,fetchProviderRegistry:s,fetchProviderModels:l,fetchAdvancedProviderModels:c,onProviderRegistryChange:u,hideInlineRetry:h=!1,onRegistryRecoveryChange:g}){const{t:p}=H(),{providers:b,providerRegistry:w,providersLoaded:f,lastAutoProviderRegistryRecheckAt:k,reloadProviderRegistry:m,forceReloadProviderRegistry:C}=eb({fetchProviderRegistry:s,onProviderRegistryChange:u}),v=b,y=v.find(Y=>Y.id===e)??null,L=y?Sn(y,t):"",{catalogLoading:D,effectiveCatalog:T,effectiveAdvancedCatalog:j}=Jw({provider:e,resolvedInstance:L,hasSelectedProvider:!!y,fetchProviderModels:l,fetchAdvancedProviderModels:c,translate:p}),{persistedLegacyModelTarget:x,isLegacyModelTarget:R,clearManualSelection:P,markManualSelection:I,markLegacyManualSelection:O}=tb({provider:e,instance:t,model:a,modelSelection:o,resolvedInstance:L,hasSelectedProvider:!!y,catalogLoading:D,effectiveCatalog:T,effectiveAdvancedCatalog:j,onTargetChange:n}),{entryOptions:E,instanceOptions:$,showInstanceField:G,selectedInstanceCapabilitySummary:ee,selectedCatalogEntryId:B,selectedEntryId:q,presetOptions:F,selectedPresetId:Q,controlOptions:he,unsupportedSelectionWarning:W,requestScopedControlCount:N,controlValues:_,supportBadge:J,selectedEntryNotes:X,primaryCatalogWarning:oe,providerPlaceholder:we,modelPlaceholder:Ee,providerRegistryHint:xe,providerRegistrySetupHref:M,canRetryProviderRegistry:U,allowLegacyManualModelEntry:V}=$w({selectedProvider:y,instance:t,model:a,modelSelection:o,catalogLoading:D,providersLoaded:f,providerRegistry:{...w,providers:v},effectiveCatalog:T,effectiveAdvancedCatalog:j,isLegacyModelTarget:R,translate:p});Zw({providersLoaded:f,providerCount:v.length,registryState:w.state,retryable:w.recovery?.retryable!==!1,providerRegistrySetupHref:M,lastAutoProviderRegistryRecheckAt:k,reloadProviderRegistry:m});const Se=d.useRef(C);Se.current=C;const z=d.useMemo(()=>()=>Se.current(),[]),Ke=d.useRef(g);Ke.current=g,d.useEffect(()=>{Ke.current?.({canRetry:U,retry:z,setupHref:M})},[U,M,z]),d.useEffect(()=>()=>{Ke.current?.(null)},[]);const{onProviderChange:dt,onInstanceChange:yt,onModelEntryChange:Qt,onLegacyModelChange:A,onPresetChange:vt,onControlChange:Jt}=Xw({providerOptions:v,provider:e,resolvedInstance:L,model:a,persistedLegacyModelTarget:x,selectedCatalogEntryId:B,selectedPresetId:Q,presetOptions:F,controlValues:_,effectiveControls:j.controls,effectiveCatalog:T,effectiveAdvancedCatalog:j,markManualSelection:I,markLegacyManualSelection:O,clearManualSelection:P,onTargetChange:n});return d.useEffect(()=>{const Y=a.trim();if(!y||!Y)return;const be=ym({provider:e,instance:L,model:Y,modelSelection:o??null}),Te=Cc({provider:e,instance:L,model:Y,modelSelection:o??null,effectiveCatalog:T,effectiveAdvancedCatalog:j});be!==Te&&n({provider:e,instance:L,model:Y,modelSelection:o??null,executionLabel:Te})},[j,T,a,o,n,e,L,y]),r.jsxs(r.Fragment,{children:[r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:p(i.sharedProviderModelFieldProviderLabel)}),r.jsx("select",{className:"textInput",value:y?.id??"",disabled:v.length===0,onChange:Y=>dt(Y.target.value),children:v.length===0?r.jsx("option",{value:"",children:we}):r.jsxs(r.Fragment,{children:[y?null:r.jsx("option",{value:"",disabled:!0,children:p(i.sharedProviderModelFieldSelectProviderHint)}),v.map(Y=>r.jsx("option",{value:Y.id,children:Y.label},Y.id))]})}),v.length===0?r.jsx(Vw,{providerRegistryHint:xe,canRetryProviderRegistry:U,providerRegistrySetupHref:M,forceReloadProviderRegistry:C,hideRetry:h}):null]}),G?r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:p(i.sharedProviderModelFieldProviderInstanceLabel)}),r.jsx("select",{className:"textInput",value:L,onChange:Y=>yt(Y.target.value),children:$.map(Y=>r.jsx("option",{value:Y.id,children:Y.label},Y.id))})]}):null,ee?r.jsx("span",{className:"fieldHint providerCatalogHint",children:ee}):null,r.jsxs("label",{className:"fieldLabel",children:[r.jsxs("div",{className:"fieldLabelInline",children:[r.jsx("span",{children:p(i.sharedProviderModelFieldModelLabel)}),J?r.jsx("span",{className:`providerSupportBadge providerSupportBadge${J.tone}`,children:p(J.labelKey)}):null]}),r.jsxs("select",{className:"textInput",value:q,disabled:!R&&E.length===0,onChange:Y=>Qt(Y.target.value),children:[!R&&E.length===0?r.jsx("option",{value:"",disabled:!0,children:Ee}):null,E.map(Y=>r.jsx("option",{value:Y.id,children:jw(Y)},Y.id)),V?r.jsx("option",{value:Ln,children:p(i.sharedProviderModelFieldCustomLegacyModelLabel)}):null]}),X.length>0?r.jsx("span",{className:"fieldHint",children:X[0]}):oe?r.jsx("span",{className:"fieldHint",children:oe}):null]}),R?r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:p(i.sharedProviderModelFieldLegacyModelIdLabel)}),r.jsx("input",{className:"textInput",type:"text",value:a,placeholder:p(i.sharedProviderModelFieldLegacyModelIdPlaceholder),onChange:Y=>A(Y.target.value)}),r.jsx("span",{className:"fieldHint",children:p(i.sharedProviderModelFieldLegacyModelIdHint)})]}):r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:p(i.sharedProviderModelFieldModeLabel)}),r.jsxs("select",{className:"textInput",value:Q,disabled:F.length===0,onChange:Y=>vt(Y.target.value),children:[r.jsx("option",{value:"",children:F.length>0?p(i.sharedProviderModelFieldModeStandardLabel):p(i.sharedProviderModelFieldModeStandardOnlyLabel)}),F.map(Y=>r.jsxs("option",{value:Y.id,disabled:Y.availability==="unavailable",children:[Y.label,Y.availability==="preview"?p(i.sharedProviderModelFieldPresetPreviewSuffix):"",Y.availability==="unavailable"?p(i.sharedProviderModelFieldPresetUnavailableSuffix):""]},Y.id))]}),Q?r.jsx("span",{className:"fieldHint",children:F.find(Y=>Y.id===Q)?.description??p(i.sharedProviderModelFieldPresetTuningDescriptionFallback)}):F.length===0?r.jsx("span",{className:"fieldHint",children:p(i.sharedProviderModelFieldModeOnlyBaseHint)}):null]}),r.jsx(zw,{controlOptions:he,selectedCatalogEntryId:B,controlValues:_,onControlChange:Jt}),W?r.jsx("span",{className:"fieldHint providerCatalogHint",children:W}):null,N>0?r.jsx("span",{className:"fieldHint providerCatalogHint",children:p(i.sharedProviderModelFieldRequestScopedWarning)}):null,j.warnings.length>0?r.jsx("span",{className:"fieldHint providerCatalogHint",children:j.warnings[0]}):null]})}function Ce(e){const{children:t,className:a,variant:o="default",id:n}=e,s=["contentCard",o==="form"?"contentCardForm":null,"settings-section",a].filter(Boolean).join(" ");return r.jsxs("section",{className:s,"data-variant":o==="form"?"form":void 0,id:n,children:[e.headerless?null:e.header,t]})}function ke(e){const{children:t,className:a,id:o}=e,n=["settings-sub-section",a].filter(Boolean).join(" ");return r.jsxs("section",{className:n,id:o,children:[e.headerless?null:e.header,t]})}function re({title:e,eyebrow:t,status:a,description:o,nested:n=!1}){const s=n?"h3":"h2",l=!!t,c=r.jsx(s,{className:"settings-section-header__title","data-nested":n?"true":void 0,children:e});return r.jsxs(r.Fragment,{children:[r.jsxs("header",{className:"contentCardHeader settings-section-header",children:[l?r.jsxs("div",{children:[r.jsx("p",{className:"settings-section-header__eyebrow",children:t}),c]}):c,a?r.jsx("span",{className:"settings-section-header__status",children:a}):null]}),o?r.jsx("p",{className:"settings-section-header__description",children:o}):null]})}function me({label:e,description:t,control:a,layout:o="inline",asChoice:n=!1,className:s}){if(n){const c=["settingsCheckboxRow","settings-option-row",s].filter(Boolean).join(" ");return r.jsxs("label",{className:c,"data-layout":o,"data-choice":"true",children:[a,r.jsxs("span",{className:"settingsCheckboxMeta settings-option-row__meta",children:[r.jsx("span",{className:"settingsCheckboxLabel settings-option-row__label",children:e}),t?r.jsx("span",{className:"heroNote settings-option-row__description",children:t}):null]})]})}const l=["settings-option-row",s].filter(Boolean).join(" ");return o==="stack"?r.jsxs("div",{className:l,"data-layout":"stack",children:[r.jsx("span",{className:"settings-option-row__label",children:e}),t?r.jsx("span",{className:"settings-option-row__description",children:t}):null,r.jsx("div",{className:"settings-option-row__control",children:a})]}):r.jsxs("div",{className:l,"data-layout":"inline",children:[r.jsxs("div",{className:"settings-option-row__meta",children:[r.jsx("span",{className:"settings-option-row__label",children:e}),t?r.jsx("span",{className:"settings-option-row__description",children:t}):null]}),r.jsx("div",{className:"settings-option-row__control",children:a})]})}function Je({children:e,tone:t="default",className:a}){const o=["settingsActionRow","settings-action-bar",a].filter(Boolean).join(" ");return r.jsx("div",{className:o,"data-tone":t==="danger"?"danger":void 0,children:e})}const ab={ready:"statusChipReady",warm:"statusChipWarm",muted:"statusChipMuted"};function Ot({tone:e,children:t,className:a}){const o=["statusChip",ab[e],"settings-status-chip",a].filter(Boolean).join(" ");return r.jsx("span",{className:o,"data-tone":e,children:t})}function rb({title:e,description:t,children:a,className:o}){const n=["contentCard","settings-section","settings-danger-zone",o].filter(Boolean).join(" ");return r.jsxs("section",{className:n,children:[r.jsx("h2",{className:"settings-danger-zone__title",children:e}),t?r.jsx("p",{className:"settings-danger-zone__description",children:t}):null,a]})}function At({title:e,className:t="catsSubCard",...a}){const{t:o}=H(),[n,s]=d.useState(null),l=e??o(i.sharedProviderModelBrainCardTitle),c=n?.canRetry?r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>n.retry(),children:o(i.sharedCommonRetry)}):null;return r.jsx(ke,{className:t,header:r.jsx(re,{title:l,nested:!0,status:c}),children:r.jsx(Lc,{...a,hideInlineRetry:!0,onRegistryRecoveryChange:s})})}const ob=3e3,nb=300;let sb=1;function at(){const[e,t]=d.useState([]),a=d.useRef(new Map),o=d.useCallback(n=>{if(!n)return;const s=sb++;t(c=>[...c,{id:s,message:n,fading:!1}]);const l=setTimeout(()=>{t(u=>u.map(h=>h.id===s?{...h,fading:!0}:h));const c=setTimeout(()=>{t(u=>u.filter(h=>h.id!==s)),a.current.delete(s)},nb);a.current.set(s,c)},ob);a.current.set(s,l)},[]);return d.useEffect(()=>()=>{for(const n of a.current.values())clearTimeout(n)},[]),{toasts:e,showToast:o}}function rt({toasts:e}){return e.length===0?null:r.jsx("div",{className:"toastContainer",children:e.map(t=>r.jsx("div",{className:t.fading?"toast toastFading":"toast",children:t.message},t.id))})}const Rn={kind:"idle"};function We(){return Rn}function ib(e){return!e||e.kind==="idle"}function AL(e){return!ib(e)}function TL(){return{kind:"draft"}}function DL(e){return{kind:"channel",channelId:e}}function NL(e,t){return{kind:"composer",phase:e,scope:t}}function jL(e){return{kind:"parallel-chat",phase:e}}function ML(e,t){if(e==="reset")return{kind:"channel",action:e};if(!t)throw new Error(`channelId is required for channel busy action "${e}"`);return{kind:"channel",action:e,channelId:t}}function EL(e){return{kind:"channel-participant",action:"update",participantId:e}}function IL(e,t){return{kind:"concurrent-group",action:e,groupId:t}}function gt(e,t){if(e==="create"||e==="create-assign")return{kind:"cat",action:e};if(!t)throw new Error(`catId is required for cat busy action "${e}"`);return{kind:"cat",action:e,catId:t}}function lb(){return{kind:"setup",action:"reset"}}function BL(e,t){return{kind:"approval",taskId:e,action:t}}function FL(e,t){return{kind:"choice",sourceMessageId:e,status:t}}function OL(e,t){return{kind:"operator-action",action:e,busyKey:t}}function Ks(e,t){if(e==="create")return{kind:"bot",action:e};if(!t)throw new Error("bindingId is required for bot delete busy state");return{kind:"bot",action:e,bindingId:t}}function qs(e,t){if(e==="create")return{kind:"memory",action:e};if(!t)throw new Error("recordId is required for memory delete busy state");return{kind:"memory",action:e,recordId:t}}function WL(e,t){return e?.kind==="parallel-chat"&&(t==null||e.phase===t)}function UL(e,t,a){return e?.kind!=="channel"||e.action!==t?!1:t==="reset"?!0:"channelId"in e&&e.channelId===a}function HL(e,t){return e?.kind==="channel-participant"&&(t==null||e.participantId===t)}function _L(e,t,a){return e?.kind==="concurrent-group"&&e.action===t&&(a==null||e.groupId===a)}function le(e,t,a){return e?.kind!=="cat"||e.action!==t?!1:"catId"in e?a==null||e.catId===a:a==null}function cb(e){return e?.kind==="setup"&&e.action==="reset"}function GL(e,t,a){return e?.kind==="approval"&&(t==null||e.taskId===t)&&a==null}function KL(e,t,a){return e?.kind==="choice"&&(t==null||e.sourceMessageId===t)&&(a==null||e.status===a)}function ar(e,t,a){return e?.kind!=="bot"||e.action!==t?!1:"bindingId"in e?a==null||e.bindingId===a:a==null}function _t(e,t,a){return e?.kind!=="memory"||e.action!==t?!1:"recordId"in e?a==null||e.recordId===a:a==null}function qL(e){if(!e||e.kind==="idle")return"";switch(e.kind){case"composer":return e.scope.kind==="draft"?`composer:${e.phase}:draft`:`composer:${e.phase}:${e.scope.channelId}`;case"parallel-chat":return`parallel-chat:${e.phase}`;case"channel":return e.action==="reset"?`channel:${e.action}`:`channel:${e.action}:${"channelId"in e?e.channelId:""}`;case"channel-participant":return`channel-participant:${e.action}:${e.participantId}`;case"concurrent-group":return`concurrent-group:${e.action}:${e.groupId}`;case"cat":return"catId"in e?`cat:${e.action}:${e.catId}`:`cat:${e.action}`;case"setup":return`setup:${e.action}`;case"approval":return`approval:${e.taskId}:${e.action}`;case"choice":return`choice:${e.sourceMessageId}:${e.status}`;case"operator-action":return`operator-action:${e.action}:${e.busyKey}`;case"bot":return"bindingId"in e?`bot:${e.action}:${e.bindingId}`:`bot:${e.action}`;case"memory":return"recordId"in e?`memory:${e.action}:${e.recordId}`:`memory:${e.action}`}}const db=new Map([["Memory content is required.",i.sharedSettingsCatsMemoryContentRequired],["Memory content must be a non-empty string.",i.sharedSettingsCatsMemoryContentRequired],["Invalid memory category.",i.sharedSettingsCatsMemoryInvalidCategory]]),ub=[/^cat memory create returned \d+$/u,/^cat memory delete returned \d+$/u];function pb(e,t){const a=db.get(e);return a?t(a):e.startsWith("Cat memory not found:")?t(i.sharedSettingsCatsMemoryNotFound):e.startsWith("Cat not found:")?t(i.sharedSettingsCatsErrorNotFound):null}function $s(e,t,a){if(!(e instanceof Error))return t;const o=pb(e.message,a);return o||(ub.some(n=>n.test(e.message))?t:e.message)}function Rc(e){const{t}=H(),[a,o]=d.useState({category:"fact",content:""}),[n,s]=d.useState([]),[l,c]=d.useState(!1);d.useEffect(()=>{if(!e.expandedCatId){s([]),c(!1);return}let g=!1;return c(!0),Gg(e.expandedCatId).then(p=>{g||s(p)}).catch(()=>{g||s([])}).finally(()=>{g||c(!1)}),()=>{g=!0}},[e.expandedCatId]);async function u(g){if(a.content.trim()){e.onBusy(qs("create"));try{const p=await Kg(g,{category:a.category,content:a.content.trim()});s(b=>[p,...b.filter(w=>w.id!==p.id)]),o({category:"fact",content:""})}catch(p){e.onFeedback($s(p,t(i.sharedSettingsCatsMemorySaveError),t))}finally{e.onBusy(We())}}}async function h(g,p){e.onBusy(qs("delete",p));try{await qg(g,p),s(b=>b.filter(w=>w.id!==p))}catch(b){e.onFeedback($s(b,t(i.sharedSettingsCatsMemoryDeleteError),t))}finally{e.onBusy(We())}}return{memoryForm:a,setMemoryForm:o,catMemory:n,memoryLoading:l,addMemory:u,deleteMemory:h}}const hb=new Map([["Cat name is required",i.sharedSettingsCatsErrorNameRequired],["Cat provider is required",i.sharedSettingsCatsErrorProviderRequired],["Cat name cannot be empty",i.sharedSettingsCatsErrorNameEmpty],["Cat is already archived",i.sharedSettingsCatsErrorAlreadyArchived],["Cat is already active",i.sharedSettingsCatsErrorAlreadyActive],["Cat cannot be archived and recovered at the same time",i.sharedSettingsCatsErrorArchiveRecoverConflict],["Cat must be available in at least one product",i.sharedSettingsCatsErrorNoProducts],["Bot token is already used by another binding",i.sharedSettingsCatsErrorBotTokenDuplicate]]),mb=[/^cats chat cat creation returned \d+$/u,/^cat profile update returned \d+$/u,/^cats cat deletion returned \d+$/u,/^bot binding create returned \d+$/u,/^bot binding delete returned \d+$/u,/^update bot binding returned \d+$/u];function gb(e,t){const a=hb.get(e);if(a)return t(a);const o=e.match(/^A cat named "(.+)" already exists$/u);if(o)return t(i.sharedSettingsCatsErrorNameDuplicate,{name:o[1]});const n=e.match(/^Cat limit reached \(max (\d+)\)$/u);return n?t(i.sharedSettingsCatsErrorLimitReached,{maxCats:n[1]}):e.startsWith("Cat not found:")?t(i.sharedSettingsCatsErrorNotFound):e.startsWith("Cat is not active:")?t(i.sharedSettingsCatsErrorNotActive):e.startsWith("Cat is not available in Cats Chat:")?t(i.sharedSettingsCatsErrorNotAvailableInChat):e.startsWith("Bot binding not found:")?t(i.sharedSettingsCatsErrorBotBindingNotFound):null}function Be(e,t,a){if(!(e instanceof Error))return t;const o=gb(e.message,a);return o||(mb.some(n=>n.test(e.message))?t:e.message)}function Pc(){return{botName:"",botToken:"",webhookSecret:"",inboundMode:"polling"}}function fb(e){const t=e.t??Fe("en");async function a(){e.onBusy(gt("create"));try{const p=await Bg({name:e.catForm.name,provider:e.catForm.provider,instance:e.catForm.instance||void 0,model:e.catForm.model||void 0,modelSelection:e.catForm.modelSelection,makeBoss:e.catForm.makeBoss||void 0,products:e.catForm.products.length>0?e.catForm.products:void 0,skillProfile:e.catForm.skillProfile||void 0,mcpProfile:e.catForm.mcpProfile&&e.catForm.mcpProfile!==et?e.catForm.mcpProfile:void 0});return e.onPayloadUpdate(p),e.setCatForm(e.emptyCatForm()),e.onFeedback(t(i.sharedSettingsCatsSaveSuccess)),p}catch(p){return e.onFeedback(Be(p,t(i.sharedSettingsCatsSaveError),t)),null}finally{e.onBusy(We())}}async function o(p){return p.preventDefault(),a()}async function n(p){const b=e.renameValue.trim();if(b){e.onBusy(gt("rename",p));try{const w=await Re(p,{name:b});e.onPayloadUpdate(w),e.setRenameValue(""),e.onFeedback(t(i.sharedSettingsCatsRenameSuccess))}catch(w){e.onFeedback(Be(w,t(i.sharedSettingsCatsRenameError),t))}finally{e.onBusy(We())}}}async function s(p,b){e.onBusy(gt("delete",p)),e.onFeedback("");try{const w=await Ig(p);e.onPayloadUpdate(w),e.onFeedback(t(i.sharedSettingsCatsDeleteSuccess,{catName:b})),e.expandedCatId===p&&e.setExpandedCatId(null)}catch(w){e.onFeedback(Be(w,t(i.sharedSettingsCatsDeleteError),t))}finally{e.onBusy(We())}}async function l(p){e.onBusy(gt("makeBoss",p));try{const b=await Re(p,{makeBoss:!0});e.onPayloadUpdate(b),e.onFeedback(t(i.sharedSettingsCatsBossUpdated))}catch(b){e.onFeedback(Be(b,t(i.sharedSettingsCatsSetBossCatError),t))}finally{e.onBusy(We())}}async function c(p,b){e.onBusy(gt("skill",p));try{const w=await Re(p,{skillProfile:b==="chat-default"?null:b});e.onPayloadUpdate(w)}catch(w){e.onFeedback(Be(w,t(i.sharedSettingsCatsSkillUpdateError),t))}finally{e.onBusy(We())}}async function u(p,b){e.onBusy(gt("skill",p));try{const w=await Re(p,{mcpProfile:b});e.onPayloadUpdate(w)}catch(w){e.onFeedback(Be(w,t(i.sharedSettingsCatsChangeMcpProfileError),t))}finally{e.onBusy(We())}}async function h(p){if(e.botForm.botName.trim()){e.onBusy(Ks("create"));try{const b=await Hg({botName:e.botForm.botName.trim(),catId:p,inboundMode:e.botForm.inboundMode,botToken:e.botForm.botToken.trim()||void 0,webhookSecret:e.botForm.inboundMode==="webhook"&&e.botForm.webhookSecret.trim()||void 0});e.onPayloadUpdate(b),e.setBotForm(Pc()),e.onFeedback(t(i.sharedSettingsCatsTelegramBindingCreated))}catch(b){e.onFeedback(Be(b,t(i.sharedSettingsCatsTelegramBindingCreateError),t))}finally{e.onBusy(We())}}}async function g(p){e.onBusy(Ks("delete",p));try{const b=await _g(p);e.onPayloadUpdate(b),e.onFeedback(t(i.sharedSettingsCatsTelegramBindingRemoved))}catch(b){e.onFeedback(Be(b,t(i.sharedSettingsCatsTelegramBindingRemoveError),t))}finally{e.onBusy(We())}}return{onCreateBinding:h,onCreateCat:o,performCreateCat:a,onDeleteBinding:g,onDeleteCat:s,onMakeBossCat:l,onMcpProfileChange:u,onRenameCat:n,onSkillChange:c}}const xc=Fe("en");function Ac(e,t){const a=e?.trim();return a||t}function $L(e,t=xc){const a=Ac(e,t(i.sharedDeleteParallelChatGroupFallback));return{title:t(i.sharedDeleteParallelChatGroupTitle),message:t(i.sharedDeleteParallelChatGroupMessage,{groupTitle:a}),confirmLabel:t(i.sharedDeleteParallelChatGroupConfirm)}}function wb(e,t=xc){const a=Ac(e,t(i.sharedDeleteCatFallback));return{title:t(i.sharedDeleteCatTitle),message:t(i.sharedDeleteCatMessage,{catName:a}),confirmLabel:t(i.sharedDeleteCatConfirm)}}function Tc(e){const{expandedCatId:t,setExpandedCatId:a,onBusy:o,onFeedback:n,onPayloadUpdate:s,confirm:l}=e,{t:c}=H(),[u,h]=d.useState(Ps),[g,p]=d.useState(""),[b,w]=d.useState(Pc),f=d.useRef(!1),{onCreateBinding:k,performCreateCat:m,onDeleteBinding:C,onDeleteCat:v,onMakeBossCat:y,onMcpProfileChange:L,onRenameCat:D,onSkillChange:T}=fb({expandedCatId:t,setExpandedCatId:a,onBusy:o,onFeedback:n,onPayloadUpdate:s,catForm:u,setCatForm:h,renameValue:g,setRenameValue:p,botForm:b,setBotForm:w,emptyCatForm:Ps,t:c});async function j(O,E){if(!l||await l({title:c(i.sharedSettingsCatsArchiveConfirmTitle),message:c(i.sharedSettingsCatsArchiveConfirmMessage,{catName:E}),confirmLabel:c(i.sharedSettingsCatsArchiveLabel)})){o(gt("archive",O)),n("");try{const G=await Re(O,{archive:!0});s(G),n(c(i.sharedSettingsCatsArchiveSuccess,{catName:E})),t===O&&a(null)}catch(G){n(Be(G,c(i.sharedSettingsCatsArchiveError),c))}finally{o(We())}}}async function x(O,E){if(!l||await l({title:c(i.sharedSettingsCatsRecoverConfirmTitle),message:c(i.sharedSettingsCatsRecoverConfirmMessage,{catName:E}),confirmLabel:c(i.sharedSettingsCatsRecoverConfirmLabel)})){o(gt("unarchive",O)),n("");try{const G=await Re(O,{unarchive:!0});s(G),n(c(i.sharedSettingsCatsRecoverSuccess,{catName:E}))}catch(G){n(Be(G,c(i.sharedSettingsCatsRecoverError),c))}finally{o(We())}}}async function R(O,E){(!l||await l(wb(E,c)))&&await v(O,E)}async function P(){if(f.current)return null;f.current=!0;try{return await m()}finally{f.current=!1}}async function I(O){return O.preventDefault(),P()}return{botForm:b,catForm:u,renameValue:g,setBotForm:w,setCatForm:h,setRenameValue:p,onArchiveCat:j,onCreateBinding:k,onCreateCat:I,performCreateCat:P,onDeleteBinding:C,onDeleteCat:R,onMakeBossCat:y,onMcpProfileChange:L,onRenameCat:D,onSkillChange:T,onUnarchiveCat:x}}function bb(){return{started:!1,cancel:()=>{},promise:Promise.resolve()}}function kb(e){const t=[...e.botBindings??[]].map(a=>`${a.id}:${a.status}:${a.updatedAt}`).sort().join("|");return`${e.bossCatId??"no-boss-cat"}::${t}`}async function Dc(e){const[t,a]=await Promise.all([e.fetchStatus(),e.fetchDiagnostics()]);return{status:t,diagnostics:a}}function yb(e,t,a){let o=!1;a.onStart();const n=Dc(e).then(s=>{o||a.onSuccess(s)}).catch(s=>{o||a.onError(s instanceof Error?s.message:t)}).finally(()=>{o||a.onFinish()});return{started:!0,cancel:()=>{o=!0},promise:n}}function vb(e){let t=null;return{loadForScope(a,o,n){return a===t?bb():(t=a,yb(e,o,n))},resetScope(){t=null}}}function Cb(e,t,a,o){const n=e.loadForScope(t,a,o);return{...n,cancel(){n.cancel(),e.resetScope()}}}const Sb=[/^telegram transport status returned \d+$/u,/^telegram transport diagnostics returned \d+$/u,/^polling reconnect returned \d+$/u];function zs(e,t){if(!(e instanceof Error)&&typeof e!="string")return t;const a=e instanceof Error?e.message:e;return Sb.some(o=>o.test(a))?t:a}function Nc(e){const{t}=H(),a=e.chat.botBindings??[],o=kb({bossCatId:e.chat.bossCatId,botBindings:a}),n=t(i.sharedSettingsCatsTelegramDiagnosticsLoadError),[s,l]=d.useState(null),[c,u]=d.useState(null),[h,g]=d.useState(!1),[p,b]=d.useState(""),[w]=d.useState(()=>vb({fetchStatus:Cs,fetchDiagnostics:Ss}));d.useEffect(()=>Cb(w,o,n,{onStart(){g(!0),b("")},onSuccess(m){l(m.status),u(m.diagnostics)},onError(m){l(null),u(null),b(zs(m,n))},onFinish(){g(!1)}}).cancel,[w,n,o]);async function f(){g(!0),b("");try{const k=await Dc({fetchStatus:Cs,fetchDiagnostics:Ss});l(k.status),u(k.diagnostics)}catch(k){l(null),u(null),b(zs(k,n))}finally{g(!1)}}return{botBindings:a,telegramStatus:s,telegramDiagnostics:c,telegramLoading:h,telegramError:p,refreshTelegramDiagnostics:f}}const Gt=[{value:"chat-default",label:i.sharedSettingsCatsSkillProfileDefaultLabel},{value:"companion",label:i.sharedSettingsCatsSkillProfileCompanionLabel}],Dt=[{value:et,label:i.sharedSettingsCatsMcpProfileChatMemoryLabel},{value:lc,label:i.sharedSettingsCatsMcpProfileWorkMemoryLabel}],Pn=[{value:"preference",label:i.sharedSettingsCatsMemoryCategoryPreferenceLabel},{value:"fact",label:i.sharedSettingsCatsMemoryCategoryFactLabel},{value:"policy",label:i.sharedSettingsCatsMemoryCategoryPolicyLabel},{value:"style",label:i.sharedSettingsCatsMemoryCategoryStyleLabel},{value:"relationship",label:i.sharedSettingsCatsMemoryCategoryRelationshipLabel},{value:"lesson",label:i.sharedSettingsCatsMemoryCategoryLessonLabel}];function jc(e){return e==="chat-default"?i.sharedSettingsCatsSkillProfileDefaultLabel:e==="companion"?i.sharedSettingsCatsSkillProfileCompanionLabel:null}function Mc(e){return!e||e===et?i.sharedSettingsCatsMcpProfileChatMemoryLabel:e===lc?i.sharedSettingsCatsMcpProfileWorkMemoryLabel:null}function Ec(e){const t=Pn.find(a=>a.value===e);return t?t.label:null}function Ic(e){return e==="active"?i.sharedSettingsCatsStatusActive:e==="archived"?i.sharedSettingsCatsStatusArchived:null}function Bc(e){return e==="chat"?i.platformProductChatSettingsLabel:e==="code"?i.platformProductCodeSettingsLabel:e==="work"?i.platformProductWorkSettingsLabel:null}function Fc(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function Lb({memoryForm:e,setMemoryForm:t,busyCreating:a,onSubmit:o,onClose:n}){const{t:s}=H();d.useEffect(()=>{function c(u){u.key==="Escape"&&!a&&n()}return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[a,n]);const l=!e.content.trim()||a;return r.jsx("div",{className:"catsDialogOverlay",onClick:()=>{a||n()},children:r.jsxs("form",{className:"catsDialog",onClick:c=>c.stopPropagation(),onSubmit:c=>{c.preventDefault(),!l&&o()},children:[r.jsx("p",{className:"catsDialogTitle",children:s(i.sharedMemoryEditorDialogTitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedMemoryEditorDialogCategoryLabel)}),r.jsx("select",{className:"textInput",value:e.category,onChange:c=>t({...e,category:c.target.value}),children:Pn.map(c=>r.jsx("option",{value:c.value,children:s(c.label)},c.value))})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedMemoryEditorDialogContentLabel)}),r.jsx("textarea",{className:"textInput",rows:4,placeholder:s(i.sharedMemoryEditorDialogMemoryPlaceholder),value:e.content,onChange:c=>t({...e,content:c.target.value}),autoFocus:!0})]}),r.jsxs("div",{className:"catsDialogActions",children:[r.jsx("button",{className:"confirmCancelButton",type:"button",onClick:n,disabled:a,children:s(i.sharedMemoryEditorDialogCancel)}),r.jsx("button",{className:"primaryButton",type:"submit",disabled:l,children:s(a?i.sharedMemoryEditorDialogSaving:i.sharedMemoryEditorDialogAdd)})]})]})})}function Rb({botForm:e,setBotForm:t,busyCreating:a,onSubmit:o,onClose:n}){const{t:s}=H();d.useEffect(()=>{function c(u){u.key==="Escape"&&!a&&n()}return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[a,n]);const l=!e.botName.trim()||!e.botToken.trim()||a;return r.jsx("div",{className:"catsDialogOverlay",onClick:()=>{a||n()},children:r.jsxs("form",{className:"catsDialog",onClick:c=>c.stopPropagation(),onSubmit:c=>{c.preventDefault(),!l&&o()},children:[r.jsx("p",{className:"catsDialogTitle",children:s(i.sharedTelegramConnectDialogTitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectBotUsernameLabel)}),r.jsx("input",{className:"textInput",placeholder:s(i.sharedTelegramConnectBotUsernamePlaceholder),value:e.botName,onChange:c=>t({...e,botName:c.target.value}),autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectBotTokenLabel)}),r.jsx("input",{className:"textInput",type:"password",placeholder:s(i.sharedTelegramConnectBotTokenPlaceholder),value:e.botToken,onChange:c=>t({...e,botToken:c.target.value})})]}),r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectModeLabel)}),r.jsxs("div",{className:"skillPills",children:[r.jsx("button",{type:"button",className:e.inboundMode==="polling"?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>t({...e,inboundMode:"polling"}),children:s(i.sharedTelegramConnectModePolling)}),r.jsx("button",{type:"button",className:e.inboundMode==="webhook"?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>t({...e,inboundMode:"webhook"}),children:s(i.sharedTelegramConnectModeWebhook)})]})]}),e.inboundMode==="webhook"?r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectWebhookSecretLabel)}),r.jsx("input",{className:"textInput",placeholder:s(i.sharedTelegramConnectWebhookSecretPlaceholder),value:e.webhookSecret,onChange:c=>t({...e,webhookSecret:c.target.value})})]}):null,r.jsxs("div",{className:"catsDialogActions",children:[r.jsx("button",{className:"confirmCancelButton",type:"button",onClick:n,disabled:a,children:s(i.sharedTelegramConnectCancel)}),r.jsx("button",{className:"primaryButton",type:"submit",disabled:l,children:s(a?i.sharedTelegramConnectConnecting:i.sharedTelegramConnectConnect)})]})]})})}function Po({busy:e,botBindings:t,cat:a,isBossCat:o,memoryController:n,registryController:s,telegramDiagnostics:l,confirm:c,sections:u}){const h=F=>u===void 0||u.includes(F),{botForm:g,renameValue:p,setBotForm:b,setRenameValue:w,onCreateBinding:f,onDeleteBinding:k,onMakeBossCat:m,onMcpProfileChange:C,onRenameCat:v,onSkillChange:y}=s,{memoryForm:L,setMemoryForm:D,catMemory:T,memoryLoading:j,addMemory:x,deleteMemory:R}=n,P=t.filter(F=>F.catId===a.id),I=l?.bindings.filter(F=>F.bindingId&&P.some(Q=>Q.id===F.bindingId))??[],O=a.status==="active"&&Yo(a.products,"chat",{fallback:ur()}),{t:E}=H(),[$,G]=d.useState(!1);d.useEffect(()=>{P.length>0&&G(!1)},[P.length]),d.useEffect(()=>{G(!1)},[a.id]);const[ee,B]=d.useState(!1),q=d.useRef(T.length);return d.useEffect(()=>{const F=q.current;ee&&T.length>F&&B(!1),q.current=T.length},[ee,T.length]),d.useEffect(()=>{B(!1)},[a.id]),r.jsxs(r.Fragment,{children:[h("rename")?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsRenameLabel)}),r.jsxs("div",{style:{display:"flex",gap:8},children:[r.jsx("input",{className:"textInput",placeholder:a.name,value:p,onChange:F=>w(F.target.value),onFocus:()=>w(a.name)}),r.jsx("button",{className:"primaryButton",type:"button",disabled:!p.trim()||p.trim()===a.name||le(e,"rename",a.id),onClick:()=>{v(a.id)},children:le(e,"rename",a.id)?E(i.sharedSettingsCatsSaving):E(i.sharedSettingsCatsSave)})]})]}):null,h("makeBoss")&&!o?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsBossCatLabel)}),r.jsx("button",{className:"primaryButton",type:"button",disabled:le(e,"makeBoss",a.id),onClick:async()=>{(!c||await c({title:E(i.sharedSettingsCatsChangeBossCatTitle),message:E(i.sharedSettingsCatsChangeBossCatMessage,{name:a.name}),confirmLabel:E(i.sharedSettingsCatsConfirm)}))&&m(a.id)},children:le(e,"makeBoss",a.id)?E(i.sharedSettingsCatsSetting):E(i.sharedSettingsCatsMakeBossCatLabel,{name:a.name})})]}):null,h("skill")?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsSkillProfileLabel)}),r.jsx("div",{className:"skillPills",children:Gt.map(F=>r.jsx("button",{className:(a.skillProfile??"chat-default")===F.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",type:"button",disabled:le(e,"skill",a.id),onClick:()=>{y(a.id,F.value)},children:E(F.label)},F.value))})]}):null,h("mcp")?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsMcpProfileLabel)}),r.jsx("div",{className:"skillPills",children:Dt.map(F=>r.jsx("button",{className:(a.mcpProfile??et)===F.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",type:"button",disabled:le(e,"skill",a.id),onClick:()=>{C(a.id,F.value)},children:E(F.label)},F.value))})]}):null,h("telegram")?P.length>0?r.jsx("div",{className:"catsTelegramConnected",children:P.map(F=>{const Q=I.find(he=>he.bindingId===F.id);return r.jsxs("div",{className:"catsTelegramBinding",children:[r.jsxs("div",{className:"catsTelegramBindingHeader",children:[r.jsx("span",{className:"catsTelegramBindingIcon","aria-hidden":"true",children:r.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:r.jsx("path",{d:"M20.66 3.88 2.92 10.9a.73.73 0 0 0 .04 1.38l4.45 1.4 1.72 5.52a.78.78 0 0 0 1.24.37l2.48-2.02 4.87 3.6a.78.78 0 0 0 1.2-.46L21.7 4.76c.17-.7-.52-1.27-1.04-0.88ZM10.1 14.6l-.44 3.15-1.34-4.3 9.38-6.2Z"})})}),r.jsxs("strong",{className:"catsTelegramBindingName","data-tooltip":`@${F.botName}`,children:["@",F.botName]}),r.jsx("button",{type:"button",className:"catsInlineDeleteButton catsTelegramBindingDisconnect",disabled:ar(e,"delete",F.id),onClick:()=>{k(F.id)},"aria-label":E(i.sharedSettingsCatsDisconnectTelegramAria),"data-tooltip":E(i.sharedSettingsCatsDisconnectTelegram),children:r.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),r.jsxs("div",{className:"catsTelegramBindingMeta",children:[r.jsx("span",{className:`statusChip ${F.status==="active"?"statusChipReady":"statusChipMuted"}`,children:F.status==="active"?E(i.sharedSettingsCatsBindingActive):E(i.sharedSettingsCatsBindingDisabled)}),r.jsx("span",{className:"statusChip statusChipMuted",children:F.inboundMode==="polling"?E(i.sharedSettingsCatsBindingPollingMode):E(i.sharedSettingsCatsBindingWebhookMode)}),Q?.lastInboundAt?r.jsx("span",{className:"catsTelegramBindingLastInbound",children:E(i.sharedSettingsCatsLastInboundLabel,{time:Fc(Q.lastInboundAt)})}):null]})]},F.id)})}):r.jsxs("div",{className:"catsTelegramEmpty",children:[r.jsx("button",{type:"button",className:"primaryButton",disabled:!O,onClick:()=>G(!0),children:E(i.sharedSettingsCatsConnectTelegramLabel)}),O?null:r.jsx("p",{className:"catsTelegramHint",children:E(i.sharedSettingsCatsUnavailableHint)})]}):null,$?r.jsx(Rb,{botForm:g,setBotForm:b,busyCreating:ar(e,"create"),onSubmit:()=>{f(a.id)},onClose:()=>G(!1)}):null,h("memory")?r.jsxs("div",{className:"catsMemorySection",children:[T.length>0?r.jsx("div",{className:"memoryList",children:T.map(F=>r.jsx(Pb,{busy:e,memoryRecord:F,onDelete:()=>{R(a.id,F.id)}},F.id))}):null,r.jsx("button",{type:"button",className:"primaryButton",disabled:_t(e,"create"),onClick:()=>B(!0),children:E(i.sharedSettingsCatsAddMemoryLabel)})]}):null,ee?r.jsx(Lb,{memoryForm:L,setMemoryForm:D,busyCreating:_t(e,"create"),onSubmit:()=>{x(a.id)},onClose:()=>B(!1)}):null]})}function Pb({busy:e,memoryRecord:t,onDelete:a}){const{t:o}=H(),n=Ec(t.category);return r.jsxs("div",{className:"memoryItem",children:[r.jsxs("div",{children:[r.jsx("span",{className:"statusChip statusChipMuted",children:n?o(n):t.category}),r.jsxs("span",{style:{marginLeft:8},children:[t.content.slice(0,100),t.content.length>100?"...":""]})]}),r.jsx("button",{className:"catsInlineDeleteButton",type:"button",disabled:_t(e,"delete",t.id),onClick:a,"aria-label":o(i.sharedSettingsCatsDeleteMemoryAria),children:r.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})}function xb({busy:e,botBindings:t,cat:a,isBossCat:o,memoryController:n,registryController:s,telegramDiagnostics:l,onPayloadUpdate:c,confirm:u}){const[h,g]=d.useState(!1),{t:p}=H();async function b(f){g(!1);try{const k=await Re(a.id,{avatarUrl:f});c?.(k)}catch{}}async function w(){try{const f=await Re(a.id,{avatarUrl:null});c?.(f)}catch{}}return r.jsxs("div",{className:"catDetailPanel",children:[r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:p(i.settingsGeneralAvatarLabel)}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[r.jsx("div",{className:"catAvatar",style:{width:40,height:40,fontSize:"0.85rem",cursor:"pointer",...a.avatarUrl?{backgroundImage:`url(${a.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center",color:"transparent"}:a.avatarColor?{background:a.avatarColor}:{}},onClick:()=>g(!0),role:"button",tabIndex:0,children:a.avatarUrl?"":fe(a.name)}),r.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[r.jsx("button",{type:"button",className:"primaryButton",onClick:()=>g(!0),children:a.avatarUrl?p(i.settingsGeneralAvatarChangeLabel):p(i.settingsGeneralAvatarUploadLabel)}),a.avatarUrl?r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>{w()},children:p(i.settingsGeneralAvatarRemoveLabel)}):null]})]})]}),h?r.jsx(Yt,{onSave:f=>{b(f)},onClose:()=>g(!1)}):null,r.jsx(Po,{busy:e,botBindings:t,cat:a,isBossCat:o,memoryController:n,registryController:s,telegramDiagnostics:l,confirm:u})]})}function Ab({botBindings:e,busy:t,expandedCatId:a,memoryController:o,payload:n,registryController:s,setExpandedCatId:l,telegramDiagnostics:c,availableSurfaces:u,enabledSurfaces:h,onPayloadUpdate:g,confirm:p,CatsDetailPanelComponent:b}){const{t:w}=H(),[f,k]=d.useState(!1),m=n.chat.cats.filter(y=>y.status==="archived").length,C=f?n.chat.cats:n.chat.cats.filter(y=>y.status!=="archived"),v=Ht(C,{bossCatIds:n.chat.bossCatId,archivedLast:!0});return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"contentCardHeader",children:[r.jsxs("div",{children:[r.jsx("p",{className:"sectionLabel",children:w(i.sharedSettingsCatsRegistrySectionLabel)}),r.jsx("h2",{children:n.chat.cats.length>0?w(i.sharedSettingsCatsRegistrySavedCatsLabel):w(i.sharedSettingsCatsRegistryNoCatsYetLabel)})]}),r.jsx("span",{className:"countBadge",children:C.length})]}),m>0?r.jsxs("label",{className:"fieldLabel fieldLabelInline",style:{marginBottom:4},children:[r.jsx("input",{type:"checkbox",checked:f,onChange:y=>k(y.target.checked)}),r.jsx("span",{children:w(i.sharedSettingsCatsRegistryShowArchivedLabel,{count:m})})]}):null,r.jsx("div",{className:"catList",children:v.length>0?v.map(y=>{const L=y.id===n.chat.bossCatId,D=a===y.id,T=e.filter(P=>P.catId===y.id),j=Ic(y.status),x=y.skillProfile?jc(y.skillProfile):i.sharedSettingsCatsRegistryDefaultSkillProfileLabel,R=Mc(y.mcpProfile);return r.jsxs("article",{className:"catCard",children:[r.jsxs("div",{className:"catCardTop",style:{cursor:"pointer"},onClick:()=>l(D?null:y.id),children:[r.jsxs("div",{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[r.jsx("strong",{children:y.name}),L?r.jsx("span",{className:"statusChip statusChipAccent",children:w(i.sharedSettingsCatsRegistryBossCatLabel)}):null]}),r.jsx("p",{children:cc(y)}),y.products.length>0?r.jsx("div",{className:"chipRow",style:{marginTop:4},children:y.products.map(P=>{const I=Bc(P);return r.jsx("span",{className:"productBadge",children:I?w(I):P},P)})}):null]}),r.jsxs("div",{style:{display:"flex",alignSelf:"start",alignItems:"center",gap:8},children:[r.jsx("span",{className:y.status==="active"?"statusChip statusChipReady":"statusChip statusChipMuted",children:j?w(j):y.status}),y.status==="archived"?r.jsxs(r.Fragment,{children:[r.jsx("button",{className:"chromeButton",type:"button",disabled:le(t,"unarchive",y.id)||le(t,"delete",y.id),onClick:P=>{P.stopPropagation(),s.onUnarchiveCat(y.id,y.name)},"data-tooltip":w(i.sharedSettingsCatsRegistryRecoverTooltip,{name:y.name}),children:r.jsx("span",{className:"srOnly",children:w(i.sharedSettingsCatsRegistryRecoverLabel)})}),r.jsx("button",{className:"chromeButton",type:"button",disabled:le(t,"delete",y.id),onClick:P=>{P.stopPropagation(),s.onDeleteCat(y.id,y.name)},"data-tooltip":w(i.sharedSettingsCatsRegistryDeleteTooltip,{name:y.name}),children:"✕"})]}):r.jsx("button",{className:"chromeButton",type:"button",disabled:le(t,"archive",y.id),onClick:P=>{P.stopPropagation(),s.onArchiveCat(y.id,y.name)},"data-tooltip":w(i.sharedSettingsCatsRegistryArchiveTooltip,{name:y.name}),children:"✕"})]})]}),r.jsxs("div",{className:"catMeta",children:[r.jsx("span",{children:x?w(x):y.skillProfile}),r.jsx("span",{children:R?w(R):y.mcpProfile}),r.jsx("span",{children:y.memory.updatedAt?w(i.sharedSettingsCatsRegistryMemorySavedLabel):w(i.sharedSettingsCatsRegistryNoMemoryYetLabel)}),T.length>0?r.jsx("span",{children:w(i.sharedSettingsCatsRegistryBotBindingCount,{count:T.length,pluralSuffix:T.length>1?"s":""})}):null]}),D?r.jsx(b,{busy:t,botBindings:e,cat:y,isBossCat:L,memoryController:o,registryController:s,telegramDiagnostics:c,availableSurfaces:u,enabledSurfaces:h,onPayloadUpdate:g,confirm:p}):null]},y.id)}):r.jsx("div",{className:"emptyStateCard",children:r.jsx("p",{children:w(i.sharedSettingsCatsRegistryEmptyStateHint)})})})]})}function Tb(e){return r.jsx(Ab,{...e,CatsDetailPanelComponent:xb})}function Db(e,t){const a=new Set(e.map(o=>o.id));return t.find(o=>o.status==="active"&&!a.has(o.id))??null}function Nb({payload:e,busy:t,onPayloadUpdate:a,onFeedback:o,onBusy:n,useSettingsCatsRegistryActionsHook:s}){const[l,c]=d.useState(null),{toasts:u,showToast:h}=at(),{dialog:g,confirm:p,handleClose:b}=jt(),w=ye(),f=Ne(),k=w.pathname.endsWith("/cats/new"),{t:m}=H();d.useEffect(()=>{o("")},[]);const C=d.useCallback(S=>{S&&h(S)},[h]),v=s({expandedCatId:l,setExpandedCatId:c,onBusy:n,onFeedback:C,onPayloadUpdate:a,confirm:p}),{botForm:y,catForm:L,renameValue:D,setBotForm:T,setCatForm:j,setRenameValue:x,onCreateBinding:R,onCreateCat:P,performCreateCat:I,onDeleteBinding:O,onDeleteCat:E,onMakeBossCat:$,onMcpProfileChange:G,onArchiveCat:ee,onUnarchiveCat:B,onRenameCat:q,onSkillChange:F}=v,{botBindings:Q,telegramDiagnostics:he,telegramError:W}=Nc(e);d.useEffect(()=>{W&&C(W)},[W,C]);const N=Rc({expandedCatId:l,onBusy:n,onFeedback:C}),_=d.useMemo(()=>e.chat.cats.filter(S=>S.status==="active"),[e.chat.cats]),J=d.useMemo(()=>e.chat.cats.filter(S=>S.status==="archived"),[e.chat.cats]),X=_.length,oe=d.useMemo(()=>Ht(_,{bossCatIds:e.chat.bossCatId}),[_,e.chat.bossCatId]),we=d.useMemo(()=>Ht(J,{bossCatIds:null}),[J]),Ee=X>=e.chat.capabilities.maxCats,[xe,M]=d.useState(()=>e.chat.cats.filter(S=>S.status==="active").length===0&&e.chat.cats.some(S=>S.status==="archived")),[U,V]=d.useState(()=>oe[0]?.id??we[0]?.id??null),Se=X>0||we.length>0,z=k||!Se?"create":"view";d.useEffect(()=>{if(z!=="view")return;const S=U?e.chat.cats.find(te=>te.id===U)??null:null,K=S?.status==="archived"&&!xe;if(!S||K){const te=oe[0]??(xe?we[0]:null);te?V(te.id):(V(null),w.pathname.endsWith("/cats/new")||f("/settings/cats/new",{replace:!0}))}},[z,w.pathname,f,e.chat.cats,U,xe,oe,we]),d.useEffect(()=>{z==="view"&&U&&c(U)},[z,U]);const Ke=d.useMemo(()=>({current:X}),[]),dt=d.useMemo(()=>({current:new Set(_.map(S=>S.id))}),[]);d.useEffect(()=>{if(X>Ke.current){const S=dt.current,K=oe.find(te=>!S.has(te.id))??oe[oe.length-1];K&&V(K.id),w.pathname.endsWith("/cats/new")&&f("/settings/cats",{replace:!0})}Ke.current=X,dt.current=new Set(_.map(S=>S.id))},[X,_,w.pathname,f,a,Ke,dt,oe]);const yt=S=>{V(S),w.pathname.endsWith("/cats/new")&&f("/settings/cats",{replace:!0})},Qt=()=>{Ee||f("/settings/cats/new")},A=d.useMemo(()=>U?e.chat.cats.find(S=>S.id===U)??null:null,[e.chat.cats,U]);d.useEffect(()=>{A?.status==="archived"&&M(!0)},[A]);const vt=d.useRef(null);d.useEffect(()=>{if(z==="create"&&k){const S=vt.current;S?.focus(),S?.select()}},[z,k]);const[Jt,Y]=d.useState(!1),[be,Te]=d.useState(null),[ve,qe]=d.useState(null);d.useEffect(()=>{k||(Te(null),qe(null))},[k]);const vr=async S=>{if(Y(!1),z==="create"){Te(S);return}if(A)try{const K=await Re(A.id,{avatarUrl:S});a(K)}catch{}},Cr=async()=>{if(z==="create"){Te(null);return}if(A)try{const S=await Re(A.id,{avatarUrl:null});a(S)}catch{}},[je,Ct]=d.useState(null),[Sr,ut]=d.useState(!1);d.useEffect(()=>{if(!A){Ct(null);return}return Ct(ba(A.id)),Cn(A.id,Ct)},[A?.id]);const Lr=S=>{if(ut(!1),z==="create"){qe(S);return}A&&xt(A.id,S)},Rr=()=>{if(z==="create"){qe(null);return}A&&xt(A.id,null)},ne=A?.status==="archived",$e=d.useCallback(async(S,K,te)=>{try{const Oe=await Re(S,K);return a(Oe),!0}catch(Oe){return C(Be(Oe,te,m)),!1}},[a,m,C]),Pr=async()=>{const S=await I(),K=S?Db(_,S.chat.cats):null;if(K){if(V(K.id),w.pathname.endsWith("/cats/new")&&f("/settings/cats",{replace:!0}),be)try{const te=await Re(K.id,{avatarUrl:be});a(te),Te(null)}catch(te){Te(null),C(Be(te,m(i.settingsGeneralSaveAvatarError),m))}ve&&(xt(K.id,ve),qe(null))}};return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"catsLayout catsLayoutSidePanel",children:[r.jsxs("nav",{className:"catsSelectorStrip",role:"tablist","aria-label":m(i.sharedSettingsCatsSelectCatAria),children:[oe.map(S=>{const K=z==="view"&&S.id===U,Oe=["catAvatar","catsSelectorAvatar",S.id===e.chat.bossCatId?"catsSelectorAvatarBoss":"",K?"catsSelectorAvatarActive":""].filter(Boolean).join(" ");return r.jsx("button",{type:"button",role:"tab","aria-selected":K,className:Oe,style:S.avatarUrl?{backgroundImage:`url(${S.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:S.avatarColor?{background:S.avatarColor}:void 0,onClick:()=>yt(S.id),"data-tooltip":S.name,"aria-label":S.name,children:S.avatarUrl?null:fe(S.name)},S.id)}),r.jsx("button",{type:"button",className:["catAvatar","catsSelectorAvatar","catsSelectorNewAvatar",z==="create"?"catsSelectorAvatarActive":""].filter(Boolean).join(" "),onClick:Qt,disabled:Ee&&z!=="create","aria-label":m(i.sharedSettingsCatsAddNewCatLabel),"data-tooltip":m(Ee?i.sharedCatsCreateCatLimitReached:i.sharedSettingsCatsAddNewCatLabel),children:r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.25",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),xe&&we.length>0?r.jsx("span",{className:"catsSelectorDivider","aria-hidden":"true"}):null,xe?we.map(S=>{const K=z==="view"&&S.id===U,te=["catAvatar","catsSelectorAvatar","catsSelectorAvatarArchived",K?"catsSelectorAvatarActive":""].filter(Boolean).join(" ");return r.jsx("button",{type:"button",role:"tab","aria-selected":K,className:te,style:S.avatarUrl?{backgroundImage:`url(${S.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:S.avatarColor?{background:S.avatarColor}:void 0,onClick:()=>yt(S.id),"data-tooltip":`${S.name} (${m(i.workObjectStatusArchived)})`,"aria-label":`${S.name} (${m(i.workObjectStatusArchived)})`,children:S.avatarUrl?null:fe(S.name)},S.id)}):null,J.length>0?r.jsxs("label",{className:"catsSelectorArchiveToggle",children:[r.jsx("input",{type:"checkbox",checked:xe,onChange:S=>M(S.target.checked)}),r.jsx("span",{children:m(i.sharedSettingsCatsShowArchivedLabel,{count:J.length})})]}):null]}),r.jsx(Ce,{className:"catsDetailCard",header:r.jsx(re,{title:z==="create"?m(i.sharedCatsCreateNewCat):A?r.jsxs(r.Fragment,{children:[A.name,A.id===e.chat.bossCatId?r.jsx("span",{className:"catsDetailBossTag",children:m(i.sharedCatInspectBossLabel)}):null,A.status==="archived"?r.jsx("span",{className:"catsDetailArchivedTag",children:m(i.workObjectStatusArchived)}):null]}):"",status:z==="view"&&A?r.jsx(Je,{children:A.status==="active"?r.jsx("button",{type:"button",className:"secondaryButton",disabled:le(t,"archive",A.id),onClick:()=>{ee(A.id,A.name)},children:m(i.sharedSettingsCatsArchiveLabel)}):r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",className:"secondaryButton",disabled:le(t,"unarchive",A.id),onClick:()=>{B(A.id,A.name)},children:m(i.sharedSettingsCatsRegistryRecoverLabel)}),r.jsx("button",{type:"button",className:"dangerButton",disabled:le(t,"delete",A.id),onClick:()=>{E(A.id,A.name)},children:m(i.sharedSettingsCatsDeleteLabel)})]})}):z==="create"?r.jsxs(Je,{children:[X>0?r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>f("/settings/cats",{replace:!0}),disabled:le(t,"create"),children:m(i.sharedCatsCreateCancel)}):null,r.jsx("button",{type:"button",className:"primaryButton",disabled:!L.name.trim()||!L.provider.trim()||!L.model.trim()||Ee||le(t,"create"),onClick:()=>{Pr()},children:le(t,"create")?m(i.sharedSettingsCatsSaving):m(i.sharedCatsCreateSaveCat)})]}):null}),children:z==="create"?r.jsxs("div",{className:"catsDetailBody",children:[r.jsxs("div",{className:"catsDetailColumn",children:[r.jsxs(ke,{headerless:!0,className:"catsSubCard catsIdentityCard",children:[r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralAvatarLabel)}),r.jsxs("div",{className:"catsIdentityAvatarRow",children:[r.jsxs("div",{className:"catsAvatarDock",children:[r.jsx("button",{type:"button",className:["catAvatar","catsIdentityAvatar",be?"":"catsIdentityAvatarPlaceholder"].filter(Boolean).join(" "),style:be?{backgroundImage:`url(${be})`,backgroundSize:"cover",backgroundPosition:"center",color:"transparent"}:void 0,onClick:()=>Y(!0),"aria-label":m(be?i.settingsGeneralAvatarChangeLabel:i.settingsGeneralAvatarUploadLabel),"data-tooltip":m(be?i.settingsGeneralAvatarChangeLabel:i.settingsGeneralAvatarUploadLabel),children:be?"":L.name.trim()?fe(L.name):r.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),r.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),r.jsx("polyline",{points:"21 15 16 10 5 21"})]})}),r.jsx("span",{className:"catsAvatarCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),be?r.jsx("button",{type:"button",className:"catsAvatarRemoveBadge",onClick:S=>{S.stopPropagation(),Te(null)},"aria-label":m(i.settingsGeneralAvatarRemoveLabel),"data-tooltip":m(i.settingsGeneralAvatarRemoveLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]}),r.jsxs("label",{className:"fieldLabelInline catsIdentityBossToggle",children:[r.jsx("input",{type:"checkbox",checked:L.makeBoss,onChange:async S=>{const K=S.target.checked;if(K&&e.chat.bossCatId){const te=e.chat.cats.find(xr=>xr.id===e.chat.bossCatId);if(!await p({title:m(i.sharedSettingsCatsChangeBossCatTitle),message:m(i.sharedSettingsCatsChangeBossCatMessage,{name:te?.name??(L.name.trim()||m(i.sharedCatsCreateNewCat))}),confirmLabel:m(i.sharedSettingsCatsConfirm)}))return}j({...L,makeBoss:K})}}),r.jsx("span",{children:m(i.sharedSettingsCatsMakeBossCatLabel,{name:L.name.trim()||m(i.sharedCatsCreateNewCat)})})]})]})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralNameLabel)}),r.jsx("input",{ref:vt,className:"textInput",value:L.name,placeholder:m(i.sharedCatsCreateCatNamePlaceholder),onChange:S=>j({...L,name:S.target.value})})]}),r.jsxs("div",{className:"fieldLabel catsCoverField",children:[r.jsx("span",{children:m(i.sharedSettingsCatsCoverPhotoLabel)}),r.jsxs("div",{className:"catsCoverDock",children:[r.jsx("button",{type:"button",className:`catsCoverThumb${ve?" catsCoverThumbLoaded":" catsCoverThumbPlaceholder"}`,style:ve?{backgroundImage:`url(${ve})`}:void 0,onClick:()=>ut(!0),"aria-label":m(ve?i.sharedSettingsCatsChangeCoverPhotoLabel:i.sharedSettingsCatsUploadCoverPhotoLabel),"data-tooltip":m(ve?i.sharedSettingsCatsChangeCoverLabel:i.sharedSettingsCatsUploadCoverLabel),children:ve?null:r.jsxs("svg",{className:"catsCoverPlaceholderIcon",width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),r.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),r.jsx("polyline",{points:"21 15 16 10 5 21"})]})}),r.jsx("span",{className:"catsCoverCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),ve?r.jsx("button",{type:"button",className:"catsCoverRemoveBadge",onClick:S=>{S.stopPropagation(),qe(null)},"aria-label":m(i.sharedSettingsCatsRemoveCoverLabel),"data-tooltip":m(i.sharedSettingsCatsRemoveCoverLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]})]})]}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsSkillProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Gt.map(S=>r.jsx("button",{type:"button",className:(L.skillProfile||"chat-default")===S.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>j({...L,skillProfile:S.value}),children:m(S.label)},S.value))})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsMcpProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Dt.map(S=>r.jsx("button",{type:"button",className:(L.mcpProfile||et)===S.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>j({...L,mcpProfile:S.value}),children:m(S.label)},S.value))})})]}),r.jsx("div",{className:"catsDetailColumn",children:r.jsx(At,{provider:L.provider,instance:L.instance,model:L.model,modelSelection:L.modelSelection,onTargetChange:S=>j({...L,provider:S.provider,instance:S.instance,model:S.model,modelSelection:S.modelSelection??null}),fetchProviderRegistry:Lt,fetchProviderModels:Rt,fetchAdvancedProviderModels:Pt})})]}):A?r.jsxs("fieldset",{className:ne?"catsDetailBody catsDetailBodyReadOnly":"catsDetailBody",disabled:ne,children:[r.jsxs("div",{className:"catsDetailColumn",children:[r.jsxs(ke,{headerless:!0,className:"catsSubCard catsIdentityCard",children:[r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralAvatarLabel)}),r.jsxs("div",{className:"catsIdentityAvatarRow",children:[r.jsxs("div",{className:"catsAvatarDock",children:[r.jsx("button",{type:"button",className:"catAvatar catsIdentityAvatar",style:A.avatarUrl?{backgroundImage:`url(${A.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center",color:"transparent"}:A.avatarColor?{background:A.avatarColor}:void 0,onClick:()=>{ne||Y(!0)},disabled:ne,"aria-label":A.avatarUrl?m(i.settingsGeneralAvatarChangeLabel):m(i.settingsGeneralAvatarUploadLabel),"data-tooltip":ne?void 0:A.avatarUrl?m(i.settingsGeneralAvatarChangeLabel):m(i.settingsGeneralAvatarUploadLabel),children:A.avatarUrl?"":fe(A.name)}),ne?null:r.jsx("span",{className:"catsAvatarCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),A.avatarUrl&&!ne?r.jsx("button",{type:"button",className:"catsAvatarRemoveBadge",onClick:S=>{S.stopPropagation(),Cr()},"aria-label":m(i.settingsGeneralAvatarRemoveLabel),"data-tooltip":m(i.settingsGeneralAvatarRemoveLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]}),!ne&&A.id!==e.chat.bossCatId?r.jsxs("label",{className:"fieldLabelInline catsIdentityBossToggle",children:[r.jsx("input",{type:"checkbox",checked:!1,onChange:async S=>{S.target.checked&&(e.chat.bossCatId&&e.chat.bossCatId!==A.id&&(e.chat.cats.find(te=>te.id===e.chat.bossCatId),!await p({title:m(i.sharedSettingsCatsChangeBossCatTitle),message:m(i.sharedSettingsCatsChangeBossCatMessage,{name:A.name}),confirmLabel:m(i.sharedSettingsCatsConfirm)}))||await $e(A.id,{makeBoss:!0},m(i.sharedSettingsCatsSetBossCatError)))}}),r.jsx("span",{children:m(i.sharedSettingsCatsMakeBossCatLabel,{name:A.name})})]}):null]})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralNameLabel)}),r.jsx("input",{className:"textInput",defaultValue:A.name,placeholder:A.name,disabled:ne,onBlur:async S=>{const K=S.currentTarget.value.trim();if(!K){S.currentTarget.value=A.name;return}if(K===A.name)return;await $e(A.id,{name:K},m(i.settingsGeneralUpdateNameError))||(S.currentTarget.value=A.name)}},A.id)]}),r.jsxs("div",{className:"fieldLabel catsCoverField",children:[r.jsx("span",{children:m(i.sharedSettingsCatsCoverPhotoLabel)}),r.jsxs("div",{className:"catsCoverDock",style:A.avatarColor?{"--cat-avatar-color":A.avatarColor}:void 0,children:[r.jsx("button",{type:"button",className:`catsCoverThumb${je?" catsCoverThumbLoaded":""}`,style:je?{backgroundImage:`url(${je})`}:void 0,onClick:()=>{ne||ut(!0)},disabled:ne,"aria-label":m(je?i.sharedSettingsCatsChangeCoverPhotoLabel:i.sharedSettingsCatsUploadCoverPhotoLabel),"data-tooltip":ne?void 0:m(je?i.sharedSettingsCatsChangeCoverLabel:i.sharedSettingsCatsUploadCoverLabel)}),ne?null:r.jsx("span",{className:"catsCoverCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),je&&!ne?r.jsx("button",{type:"button",className:"catsCoverRemoveBadge",onClick:S=>{S.stopPropagation(),Rr()},"aria-label":m(i.sharedSettingsCatsRemoveCoverLabel),"data-tooltip":m(i.sharedSettingsCatsRemoveCoverLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]})]})]}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsSkillProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Gt.map(S=>{const K=(A.skillProfile??"chat-default")===S.value;return r.jsx("button",{type:"button",className:K?"draftLeadPill draftLeadPillActive":"draftLeadPill",disabled:ne||K,onClick:()=>{$e(A.id,{skillProfile:S.value},m(i.sharedSettingsCatsChangeSkillProfileError))},children:m(S.label)},S.value)})})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsMcpProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Dt.map(S=>{const K=(A.mcpProfile??et)===S.value;return r.jsx("button",{type:"button",className:K?"draftLeadPill draftLeadPillActive":"draftLeadPill",disabled:ne||K,onClick:()=>{$e(A.id,{mcpProfile:S.value},m(i.sharedSettingsCatsChangeMcpProfileError))},children:m(S.label)},S.value)})})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsChannelLabel),nested:!0}),children:r.jsx(Po,{busy:t,botBindings:Q,cat:A,isBossCat:A.id===e.chat.bossCatId,memoryController:N,registryController:{botForm:y,renameValue:D,setBotForm:T,setRenameValue:x,onCreateBinding:R,onDeleteBinding:O,onMakeBossCat:$,onMcpProfileChange:G,onRenameCat:q,onSkillChange:F},telegramDiagnostics:he,confirm:p,sections:["telegram"]})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsMemoryLabel),nested:!0}),children:r.jsx(Po,{busy:t,botBindings:Q,cat:A,isBossCat:A.id===e.chat.bossCatId,memoryController:N,registryController:{botForm:y,renameValue:D,setBotForm:T,setRenameValue:x,onCreateBinding:R,onDeleteBinding:O,onMakeBossCat:$,onMcpProfileChange:G,onRenameCat:q,onSkillChange:F},telegramDiagnostics:he,confirm:p,sections:["memory"]})})]}),r.jsx("div",{className:"catsDetailColumn",children:r.jsx(At,{provider:A.defaultExecutionTarget.provider??"",instance:A.defaultExecutionTarget.instance??"",model:A.defaultExecutionTarget.model??"",modelSelection:A.defaultModelSelection??null,onTargetChange:S=>{$e(A.id,{provider:S.provider,instance:S.instance||null,model:S.model||null,modelSelection:S.modelSelection??null},m(i.sharedSettingsCatsUpdateBrainError))},fetchProviderRegistry:Lt,fetchProviderModels:Rt,fetchAdvancedProviderModels:Pt})})]}):null})]}),r.jsx(Mt,{dialog:g,onClose:b}),r.jsx(rt,{toasts:u}),Jt?r.jsx(Yt,{onSave:S=>{vr(S)},onClose:()=>Y(!1),initialDataUrl:z==="create"?be:A?.avatarUrl??null}):null,Sr?r.jsx(vn,{onSave:Lr,onClose:()=>ut(!1),initialDataUrl:z==="create"?ve:je}):null]})}function jb(e){return r.jsx(Nb,{...e,useSettingsCatsRegistryActionsHook:Tc,CatsRegistryComponent:Tb})}function Mb(){const[e,t]=d.useState(null),[a,o]=d.useState(Rn),[,n]=d.useState("");return d.useEffect(()=>{let s=!1;return Ze().then(l=>{s||t(l)}).catch(()=>{}),()=>{s=!0}},[]),e?r.jsx(jb,{payload:e,busy:a,onPayloadUpdate:t,onFeedback:n,onBusy:o}):r.jsx("div",{className:"catsCanvasPageBoot"})}function Oc({ariaLabel:e,avatar:t,title:a,subtitle:o,actions:n,tabs:s,children:l}){return r.jsxs("div",{className:"entityDetailPane","aria-label":e,children:[r.jsxs("header",{className:"entityDetailHeader",children:[r.jsx("span",{className:"entityDetailAvatar",children:t}),r.jsxs("div",{className:"entityDetailHeading",children:[r.jsx("h1",{className:"entityDetailTitle",children:a}),o?r.jsx("p",{className:"entityDetailSubtitle",children:o}):null]}),n?r.jsx("div",{className:"entityDetailActions",children:n}):null]}),r.jsx("nav",{className:"entityDetailTabs","aria-label":e,children:s.map(c=>r.jsx(Tt,{to:c.href,className:c.active?"entityDetailTab entityDetailTabActive":"entityDetailTab","aria-current":c.active?"page":void 0,children:c.label},c.key))}),r.jsx("section",{className:"entityDetailBody",children:l})]})}const Wc=["members","clowders","cats","settings"],Eb={members:i.catteryHomeTabMembers,clowders:i.catteryHomeTabClowders,cats:i.catteryHomeTabCats,settings:i.catteryHomeTabSettings},Ib={members:i.catteryHomeEmptyMembers,clowders:i.catteryHomeEmptyClowders,cats:i.catteryHomeEmptyCats};function Bb(e){return typeof e=="string"&&Wc.includes(e)}function Fb(e,t){return(e.lobby.catteries??[]).find(a=>a.id===t)??null}function Ob({cattery:e}){const t=e.avatarUrl?{backgroundImage:`url(${e.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0;return r.jsx("span",{className:"entityDetailAvatarBubble",style:t,children:e.avatarUrl?null:fe(e.name)})}function Wb({tab:e}){const{t}=H();return r.jsx("div",{className:"entityDetailLensStub",children:r.jsx("p",{children:t(Ib[e])})})}function Ub(){const{t:e}=H();return r.jsx("div",{className:"entityDetailLensStub",children:r.jsx("p",{children:e(i.catteryHomeSettingsBody)})})}function Hb({catteryId:e}){const{t}=H();return r.jsx("div",{className:"screen screenCentered entityComingSoonScreen",children:r.jsxs("section",{className:"entityComingSoonPanel",children:[r.jsx("h1",{children:t(i.catteryHomeNotFoundTitle)}),r.jsx("p",{className:"entityComingSoonBody",children:t(i.catteryHomeNotFoundBody,{catteryId:e})})]})})}function Vs({envelope:e}){const{t}=H(),a=ir(),o=a.catteryId??"",n=Fb(e,o),s=Bb(a.tab)?a.tab:"members";if(!n)return r.jsx(Hb,{catteryId:o});const l=Wc.map(c=>({key:c,label:t(Eb[c]),href:`/entities/catteries/${encodeURIComponent(n.id)}/${c}`,active:c===s}));return r.jsx(Oc,{ariaLabel:t(i.catteryHomeAriaLabel),avatar:r.jsx(Ob,{cattery:n}),title:n.name,tabs:l,children:s==="settings"?r.jsx(Ub,{}):r.jsx(Wb,{tab:s})})}const Uc=["cats","settings"],_b={cats:i.clowderHomeTabCats,settings:i.clowderHomeTabSettings};function Gb(e){return typeof e=="string"&&Uc.includes(e)}function Kb(e,t){return(e.lobby.clowders??[]).find(a=>a.id===t)??null}function qb(e,t){return(e.lobby.catteries??[]).find(o=>o.id===t)?.name??null}function $b({clowder:e}){const t=e.avatarUrl?{backgroundImage:`url(${e.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0;return r.jsx("span",{className:"entityDetailAvatarBubble",style:t,children:e.avatarUrl?null:fe(e.name)})}function zb(){const{t:e}=H();return r.jsx("div",{className:"entityDetailLensStub",children:r.jsx("p",{children:e(i.clowderHomeEmptyCats)})})}function Vb(){const{t:e}=H();return r.jsx("div",{className:"entityDetailLensStub",children:r.jsx("p",{children:e(i.clowderHomeSettingsBody)})})}function Yb({clowderId:e}){const{t}=H();return r.jsx("div",{className:"screen screenCentered entityComingSoonScreen",children:r.jsxs("section",{className:"entityComingSoonPanel",children:[r.jsx("h1",{children:t(i.clowderHomeNotFoundTitle)}),r.jsx("p",{className:"entityComingSoonBody",children:t(i.clowderHomeNotFoundBody,{clowderId:e})})]})})}function Ys({envelope:e}){const{t}=H(),a=ir(),o=a.clowderId??"",n=Kb(e,o),s=Gb(a.tab)?a.tab:"cats";if(!n)return r.jsx(Yb,{clowderId:o});const l=Uc.map(h=>({key:h,label:t(_b[h]),href:`/entities/clowders/${encodeURIComponent(n.id)}/${h}`,active:h===s})),c=n.parentCatteryId!==null?qb(e,n.parentCatteryId):null,u=n.parentCatteryId!==null?t(i.clowderHomeChipPartOf,{catteryName:c??n.parentCatteryId}):t(i.clowderHomeChipCrossUnit);return r.jsx(Oc,{ariaLabel:t(i.clowderHomeAriaLabel),avatar:r.jsx($b,{clowder:n}),title:n.name,subtitle:u,tabs:l,children:s==="cats"?r.jsx(zb,{}):r.jsx(Vb,{})})}function Qb({className:e,menuRef:t,style:a,onClick:o,children:n}){const s=r.jsx("div",{ref:t,className:e,style:a,onClick:o,children:n});return typeof document>"u"?s:Ft.createPortal(s,document.body)}function Jb(e,t,a){const[o,n]=d.useState(void 0);if(d.useLayoutEffect(()=>{if(!a){n(void 0);return}function s(){const c=e.current;if(!c)return;const u=c.getBoundingClientRect(),h=t.current?.offsetWidth??136,g=t.current?.offsetHeight??0;let p=u.right+8;p+h>window.innerWidth-8&&(p=Math.max(8,u.left-h-8));let b=u.top-4;g>0&&b+g>window.innerHeight-8&&(b=Math.max(8,window.innerHeight-g-8)),n({position:"fixed",top:b,left:p})}s();const l=e.current?.closest(".sidebarScrollable");return window.addEventListener("resize",s),l?.addEventListener("scroll",s,{passive:!0}),()=>{window.removeEventListener("resize",s),l?.removeEventListener("scroll",s)}},[e,t,a]),!!a)return o??{position:"fixed",top:0,left:0,visibility:"hidden",pointerEvents:"none"}}function Xb({cat:e,isBoss:t,isActive:a,hasTelegramBinding:o,dotClass:n,dotTitle:s,overflowOpen:l,catInitials:c,onDirectChat:u,onArchive:h,onOverflowToggle:g,onDirectMessage:p,terminalActionLabelKey:b,terminalActionDisabled:w}){const{t:f}=H(),k=d.useRef(null),m=d.useRef(null),C=Jb(k,m,l);return r.jsxs("div",{className:["myCatRow",a?"myCatRowActive":"",l?"myCatRowOverflowOpen":""].filter(Boolean).join(" "),onClick:u,children:[r.jsxs("button",{className:a?"myCatItem myCatItemActive":"myCatItem",type:"button",onClick:v=>{v.stopPropagation(),u()},children:[r.jsxs("span",{className:t?"myCatAvatarWrap catAvatar catAvatarBoss":"myCatAvatarWrap catAvatar",style:e.avatarUrl?{backgroundImage:`url(${e.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:e.avatarColor?{background:e.avatarColor}:void 0,children:[e.avatarUrl?null:c(e.name),n?r.jsx("span",{className:n,"data-tooltip":s}):null]}),r.jsx("span",{className:"myCatName",children:e.name})]}),r.jsxs("span",{className:"myCatTrailing",children:[o?r.jsx("span",{className:"myCatTelegramIcon","data-tooltip":f(i.conversationSidebarTelegramBoundTooltip),"aria-label":f(i.conversationSidebarTelegramBoundTooltip),children:r.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:r.jsx("path",{d:"M20.66 3.88 2.92 10.9a.73.73 0 0 0 .04 1.38l4.45 1.4 1.72 5.52a.78.78 0 0 0 1.24.37l2.48-2.02 4.87 3.6a.78.78 0 0 0 1.2-.46L21.7 4.76c.17-.7-.52-1.27-1.04-0.88ZM10.1 14.6l-.44 3.15-1.34-4.3 9.38-6.2Z"})})}):null,r.jsx("button",{ref:k,className:"myCatOverflowButton",type:"button",onClick:v=>{v.stopPropagation(),g()},children:"⋯"})]}),l?r.jsxs(Qb,{menuRef:m,className:"myCatOverflowMenu",style:C,onClick:v=>v.stopPropagation(),children:[p?r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onClick:p,children:f(i.conversationSidebarDirectMessageButton)}),r.jsx("hr",{className:"myCatOverflowMenuDivider","aria-hidden":"true"})]}):null,r.jsx("button",{type:"button",disabled:w===!0,onClick:h,children:f(b??i.conversationSidebarArchiveButton)})]}):null]})}function Hc({iconKind:e}){const t={className:"myCatPlaceholderIcon",width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};return e==="groupPeople"?r.jsxs("svg",{...t,children:[r.jsx("circle",{cx:"6",cy:"10",r:"2.5"}),r.jsx("circle",{cx:"13",cy:"10",r:"2.5"}),r.jsx("path",{d:"M2 19v-1a3 3 0 0 1 3-3h9a3 3 0 0 1 3 3v1"}),r.jsx("line",{x1:"20",y1:"3",x2:"20",y2:"9"}),r.jsx("line",{x1:"23",y1:"6",x2:"17",y2:"6"})]}):e==="orgChart"?r.jsxs("svg",{...t,children:[r.jsx("rect",{x:"6",y:"9",width:"6",height:"4"}),r.jsx("rect",{x:"1",y:"18",width:"5",height:"4"}),r.jsx("rect",{x:"12",y:"18",width:"5",height:"4"}),r.jsx("line",{x1:"9",y1:"13",x2:"9",y2:"16"}),r.jsx("line",{x1:"3.5",y1:"16",x2:"14.5",y2:"16"}),r.jsx("line",{x1:"3.5",y1:"16",x2:"3.5",y2:"18"}),r.jsx("line",{x1:"14.5",y1:"16",x2:"14.5",y2:"18"}),r.jsx("line",{x1:"20",y1:"3",x2:"20",y2:"9"}),r.jsx("line",{x1:"23",y1:"6",x2:"17",y2:"6"})]}):r.jsxs("svg",{...t,children:[r.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),r.jsx("circle",{cx:"9",cy:"7",r:"4"}),r.jsx("line",{x1:"19",y1:"8",x2:"19",y2:"14"}),r.jsx("line",{x1:"22",y1:"11",x2:"16",y2:"11"})]})}function Zb({label:e,onClick:t,iconKind:a}){const o=typeof t=="function",n=()=>{o&&t?.()};return r.jsx("div",{className:["myCatRow","myCatRowPlaceholder",o?"":"myCatRowPlaceholderStatic"].filter(Boolean).join(" "),onClick:n,children:r.jsxs("button",{className:"myCatItem myCatItemPlaceholder",type:"button",onClick:s=>{s.stopPropagation(),n()},disabled:!o,children:[r.jsx("span",{className:"myCatAvatarWrap catAvatar catAvatarPlaceholder","aria-hidden":"true",children:r.jsx(Hc,{iconKind:a??"singlePerson"})}),r.jsx("span",{className:"myCatName myCatNamePlaceholder",children:e})]})})}function Vr({label:e,cats:t,bossCatId:a,payloadChannels:o,activeMyCatId:n,telegramBoundCatIds:s,helpers:l,overflowMenuOpenId:c,onOverflowMenuToggle:u,onDirectChatCat:h,onArchiveCat:g,emptyStatePlaceholder:p,onDirectMessageCat:b,terminalActionLabelKey:w,disableTerminalActionWhenDraft:f=!1,hideLabel:k=!1}){const{t:m}=H(),C=l.sortCatsForDisplay(t.filter(y=>y.status==="active"),{bossCatIds:a}),v=C.length===0&&p!=null;return r.jsxs("section",{className:k?"myCatsSection myCatsSectionHeaderless":"myCatsSection",children:[k?null:r.jsx("p",{className:"sectionLabel",children:e??m(i.conversationSidebarDirectMessagesLabel)}),r.jsxs("div",{className:"myCatsList",children:[v?r.jsx(Zb,{label:p.label,onClick:p.onClick,iconKind:p.iconKind}):null,C.map(y=>{const L=y.id===a,D=n===y.id,T=s.has(y.id),j=l.findDirectLaneForCat(o,y.id),x=l.resolveMyCatStatusDot(j?.defaultRecipientLeaseStatus),R=l.statusDotClassName(x),P=l.statusDotLabel(x),I=P?m(P):"",O=`cat:${y.id}`,E=c===O,$=f&&!j;return r.jsx(Xb,{cat:y,isBoss:L,isActive:D,hasTelegramBinding:T,dotClass:R,dotTitle:I,overflowOpen:E,catInitials:l.catInitials,onDirectChat:()=>h(y.id),onArchive:()=>{u(null),g(y.id)},onOverflowToggle:()=>u(E?null:O),onDirectMessage:b?()=>{u(null),b(y.id)}:void 0,terminalActionLabelKey:w,terminalActionDisabled:$},y.id)})]})]})}const st=3,Yr=5;function Qs(e){return{id:e.id,name:e.name,avatarUrl:e.avatarUrl,avatarColor:e.avatarColor,isBoss:e.isBoss}}function ek(e){return[...e].sort((t,a)=>{const o=t.isBoss?0:1,n=a.isBoss?0:1;return o!==n?o-n:t.createdAt.localeCompare(a.createdAt)})}function Js(e){return[...e].sort((t,a)=>{const o=t.createdAt.localeCompare(a.createdAt);if(o!==0)return o;const n=t.name.localeCompare(a.name);return n!==0?n:t.id.localeCompare(a.id)})}function Xs(e){return{id:e.id,name:e.name,avatarUrl:e.avatarUrl,avatarColor:null,isBoss:!1}}function Zs(e){return{id:e.id,name:e.name,avatarUrl:e.avatarUrl,avatarColor:null,isBoss:!1}}function tk({row:e}){const t=e.avatarUrl?{backgroundImage:`url(${e.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:e.avatarColor?{background:e.avatarColor}:void 0;return r.jsx("span",{className:e.isBoss?"entityIndexAvatar catAvatarBoss":"entityIndexAvatar",style:t,children:e.avatarUrl?null:fe(e.name)})}function ak(e){const t=ek(e.lobby.cats),a=Js(e.lobby.clowders??[]),o=Js(e.lobby.catteries??[]);return[{key:"cats",headerLabelKey:i.entityIndexColumnHeaderCats,rows:t.slice(0,st).map(Qs),overflowAvatarRows:t.slice(st,st+Yr).map(Qs),totalCount:t.length,routePath:"/entities/cats",detailPathPrefix:"/entities/cats/",placeholderLabelKey:i.entitiesSidebarNewCat,placeholderIconKind:"singlePerson",placeholderTarget:"/settings/cats/new"},{key:"clowders",headerLabelKey:i.entityIndexColumnHeaderClowders,rows:a.slice(0,st).map(Xs),overflowAvatarRows:a.slice(st,st+Yr).map(Xs),totalCount:a.length,routePath:"/entities/clowders",detailPathPrefix:"/entities/clowders/",placeholderLabelKey:i.entitiesSidebarNewClowder,placeholderIconKind:"groupPeople",placeholderTarget:null},{key:"catteries",headerLabelKey:i.entityIndexColumnHeaderCatteries,rows:o.slice(0,st).map(Zs),overflowAvatarRows:o.slice(st,st+Yr).map(Zs),totalCount:o.length,routePath:"/entities/catteries",detailPathPrefix:"/entities/catteries/",placeholderLabelKey:i.entitiesSidebarNewCattery,placeholderIconKind:"orgChart",placeholderTarget:null}]}function _c({envelope:e}){const{t}=H(),a=Ne(),o=ak(e);return r.jsx("div",{className:"entityIndexCards",children:o.map(n=>r.jsxs("div",{className:`entityIndexColumn entityIndexColumn--${n.key}`,children:[r.jsx("p",{className:"entityIndexColumnHeader",children:t(n.headerLabelKey)}),r.jsxs("div",{className:["contentCard","platformLobbyCard","platformLobbyCard--entity",`platformLobbyCard--entity-${n.key}`].join(" "),children:[r.jsx("button",{type:"button",className:"entityIndexCardLink","aria-label":t(i.entityIndexCardOpenCanvasAriaLabel,{label:t(n.headerLabelKey)}),onClick:()=>a(n.routePath)}),r.jsx("div",{className:"platformLobbyCardAccent"}),r.jsx("ul",{className:"entityIndexCardItems",children:Array.from({length:st},(s,l)=>{const c=n.rows[l];if(c)return r.jsx("li",{className:"entityIndexRow",children:r.jsxs("button",{type:"button",className:"entityIndexItem",onClick:()=>a(`${n.detailPathPrefix}${encodeURIComponent(c.id)}`),children:[r.jsx(tk,{row:c}),r.jsx("span",{className:"entityIndexName",children:c.name})]})},c.id);if(l===0&&n.totalCount===0){const u=n.placeholderTarget;return r.jsx("li",{className:"entityIndexRow entityIndexRowPlaceholder",children:r.jsxs("button",{type:"button",className:"entityIndexItem entityIndexItemPlaceholder",disabled:u===null,onClick:u===null?void 0:h=>{h.stopPropagation(),a(u)},children:[r.jsx("span",{className:"entityIndexAvatar entityIndexAvatarPlaceholder","aria-hidden":"true",children:r.jsx(Hc,{iconKind:n.placeholderIconKind})}),r.jsx("span",{className:"entityIndexName entityIndexNamePlaceholder",children:t(n.placeholderLabelKey)})]})},`${n.key}-placeholder`)}return r.jsx("li",{className:"entityIndexRow entityIndexRowEmpty","aria-hidden":"true"},`${n.key}-empty-${l}`)})}),n.totalCount>0?r.jsxs("div",{className:"entityIndexCardFooter",children:[n.overflowAvatarRows.length>0?r.jsx("div",{className:"entityIndexAvatarStack","aria-hidden":"true",children:n.overflowAvatarRows.map(s=>r.jsx("span",{className:"entityIndexAvatar entityIndexAvatarStacked",style:s.avatarUrl?{backgroundImage:`url(${s.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:s.avatarColor?{background:s.avatarColor}:void 0,children:s.avatarUrl?null:fe(s.name)},s.id))}):null,r.jsx("span",{className:"entityIndexCardTotal",children:t(i.entityIndexCardTotal,{count:n.totalCount})})]}):null]})]},n.key))})}function rk({envelope:e}){const{t}=H();return r.jsxs("div",{className:"entityCanvas entityCanvas--index","aria-label":t(i.entitiesShellAriaLabel),children:[r.jsx("header",{className:"entityCanvasHeader",children:r.jsxs("div",{children:[r.jsx("p",{className:"eyebrow",children:t(i.entityIndexEyebrow)}),r.jsx("h1",{className:"entityCanvasTitle",children:t(i.entityIndexTitle)})]})}),r.jsx(_c,{envelope:e})]})}function ok(e,t){const a=e.createdAt.localeCompare(t.createdAt);if(a!==0)return a;const o=e.name.localeCompare(t.name);return o!==0?o:e.id.localeCompare(t.id)}function nk(e){return e.slice(0,10)||e}function ei({entry:e}){const t=e.avatarUrl?{backgroundImage:`url(${e.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0;return r.jsx("span",{className:"entityCanvasAvatar",style:t,children:e.avatarUrl?null:fe(e.name)})}function Qr({metrics:e,className:t}){return r.jsx("dl",{className:t,children:e.map(a=>r.jsxs("div",{children:[r.jsx("dt",{children:a.label}),r.jsx("dd",{children:a.value})]},a.key))})}function sk({relations:e,emptyLabel:t}){return e.length===0?r.jsx("p",{className:"entityCanvasDetailEmpty",children:t}):r.jsx("ul",{className:"entityCanvasRelationList",children:e.map(a=>r.jsxs("li",{children:[r.jsx("span",{children:a.label}),a.href?r.jsx(Tt,{to:a.href,children:a.value}):r.jsx("strong",{children:a.value})]},a.key))})}function Gc({kind:e,entries:t,titleKey:a,eyebrowKey:o,emptyStateKey:n,ariaLabelKey:s,detailHeadingKey:l,relationHeadingKey:c,relationEmptyKey:u,openActionKey:h,totals:g}){const{t:p}=H(),b=d.useMemo(()=>[...t].sort(ok),[t]),[w,f]=d.useState(null),k=b.find(m=>m.id===w)??b[0]??null;return r.jsxs("div",{className:`entityCanvas entityCanvas--${e}`,"aria-label":p(s),children:[r.jsxs("header",{className:"entityCanvasHeader",children:[r.jsxs("div",{children:[r.jsx("p",{className:"eyebrow",children:p(o)}),r.jsx("h1",{className:"entityCanvasTitle",children:p(a)})]}),g.length>0?r.jsx(Qr,{metrics:g,className:"entityCanvasTotals"}):null]}),b.length===0?r.jsx("section",{className:"contentCard entityCanvasEmpty",children:r.jsx("p",{children:p(n)})}):r.jsxs("div",{className:"entityCanvasBody",children:[r.jsx("section",{className:"contentCard entityCanvasRegistry","aria-label":p(a),children:r.jsx("ul",{className:"entityCanvasRows",children:b.map(m=>r.jsx("li",{children:r.jsxs("button",{type:"button",className:k?.id===m.id?"entityCanvasRow entityCanvasRowActive":"entityCanvasRow",onClick:()=>f(m.id),"aria-current":k?.id===m.id?"page":void 0,children:[r.jsx(ei,{entry:m}),r.jsxs("span",{className:"entityCanvasRowText",children:[r.jsx("span",{className:"entityCanvasRowName",children:m.name}),r.jsx("span",{className:"entityCanvasRowSubtitle",children:m.subtitle})]}),r.jsx(Qr,{metrics:m.metrics,className:"entityCanvasRowMetrics"})]})},m.id))})}),k?r.jsxs("aside",{className:"contentCard entityCanvasDetail","aria-label":k.name,children:[r.jsxs("header",{className:"entityCanvasDetailHeader",children:[r.jsx(ei,{entry:k}),r.jsxs("div",{children:[r.jsx("p",{className:"eyebrow",children:p(l)}),r.jsx("h2",{children:k.name})]})]}),r.jsx(Qr,{metrics:[...k.detailMetrics,{key:"createdAt",label:p(i.entityCanvasCreatedLabel),value:nk(k.createdAt)},{key:"id",label:p(i.entityCanvasIdLabel),value:k.id}],className:"entityCanvasDetailMeta"}),r.jsxs("section",{className:"entityCanvasRelationSection",children:[r.jsx("h3",{children:p(c)}),r.jsx(sk,{relations:k.relations,emptyLabel:p(u)})]}),r.jsx(Tt,{className:"secondaryButton entityCanvasOpenLink",to:k.routePath,children:p(h)})]}):null]})]})}function Kc(e){return e.filter(t=>Number(t.value)>0)}function ik({envelope:e}){const{t}=H(),a=new Map((e.lobby.catteries??[]).map(s=>[s.id,s])),o=e.lobby.clowders??[],n=o.map(s=>{const l=s.parentCatteryId?a.get(s.parentCatteryId)??null:null,c=l?.name??s.parentCatteryId;return{id:s.id,name:s.name,avatarUrl:s.avatarUrl,createdAt:s.createdAt,routePath:`/entities/clowders/${encodeURIComponent(s.id)}`,subtitle:c?t(i.clowderHomeChipPartOf,{catteryName:c}):t(i.clowderHomeChipCrossUnit),metrics:[{key:"cats",label:t(i.entityCanvasCatsLabel),value:s.catCount},{key:"members",label:t(i.entityCanvasMembersLabel),value:s.memberCount}],detailMetrics:[{key:"cats",label:t(i.entityCanvasCatsLabel),value:s.catCount},{key:"members",label:t(i.entityCanvasMembersLabel),value:s.memberCount}],relations:[c?{key:"parentCattery",label:t(i.entityCanvasParentCatteryLabel),value:c,href:l?`/entities/catteries/${encodeURIComponent(l.id)}`:void 0}:{key:"parentCattery",label:t(i.entityCanvasParentCatteryLabel),value:t(i.clowderHomeChipCrossUnit)}]}});return r.jsx(Gc,{kind:"clowders",entries:n,titleKey:i.clowdersListTitle,eyebrowKey:i.clowdersListEyebrow,emptyStateKey:i.clowdersListEmptyState,ariaLabelKey:i.clowdersCanvasAriaLabel,detailHeadingKey:i.entityCanvasSelectedClowderLabel,relationHeadingKey:i.entityCanvasOrganizationLabel,relationEmptyKey:i.entityCanvasNoOrganizationLabel,openActionKey:i.entityCanvasOpenClowderAction,totals:Kc([{key:"total",label:t(i.entityCanvasTotalLabel),value:o.length},{key:"cats",label:t(i.entityCanvasCatsLabel),value:o.reduce((s,l)=>s+l.catCount,0)},{key:"members",label:t(i.entityCanvasMembersLabel),value:o.reduce((s,l)=>s+l.memberCount,0)}])})}function lk({envelope:e}){const{t}=H(),a=e.lobby.clowders??[],o=e.lobby.catteries??[],n=o.map(s=>{const l=a.filter(c=>c.parentCatteryId===s.id);return{id:s.id,name:s.name,avatarUrl:s.avatarUrl,createdAt:s.createdAt,routePath:`/entities/catteries/${encodeURIComponent(s.id)}`,subtitle:t(i.entityCanvasCatterySubtitle,{clowderCount:String(s.clowderCount),memberCount:String(s.memberCount)}),metrics:[{key:"members",label:t(i.entityCanvasMembersLabel),value:s.memberCount},{key:"clowders",label:t(i.entityCanvasClowdersLabel),value:s.clowderCount}],detailMetrics:[{key:"members",label:t(i.entityCanvasMembersLabel),value:s.memberCount},{key:"clowders",label:t(i.entityCanvasClowdersLabel),value:s.clowderCount},{key:"cats",label:t(i.entityCanvasCatsLabel),value:s.catCount}],relations:l.map(c=>({key:c.id,label:t(i.entityCanvasFormalClowderLabel),value:c.name,href:`/entities/clowders/${encodeURIComponent(c.id)}`}))}});return r.jsx(Gc,{kind:"catteries",entries:n,titleKey:i.catteriesListTitle,eyebrowKey:i.catteriesListEyebrow,emptyStateKey:i.catteriesListEmptyState,ariaLabelKey:i.catteriesCanvasAriaLabel,detailHeadingKey:i.entityCanvasSelectedCatteryLabel,relationHeadingKey:i.entityCanvasOrganizationLabel,relationEmptyKey:i.entityCanvasNoFormalClowdersLabel,openActionKey:i.entityCanvasOpenCatteryAction,totals:Kc([{key:"total",label:t(i.entityCanvasTotalLabel),value:o.length},{key:"members",label:t(i.entityCanvasMembersLabel),value:o.reduce((s,l)=>s+l.memberCount,0)},{key:"clowders",label:t(i.entityCanvasClowdersLabel),value:o.reduce((s,l)=>s+l.clowderCount,0)}])})}const qc="cats.sidebar-open";function ck(e){return e!=="collapsed"}function $c(e){if(!e)return!0;try{return ck(e.getItem(qc))}catch{return!0}}function zc(e,t){if(e)try{e.setItem(qc,t?"open":"collapsed")}catch{}}function xn({slotKind:e}){const t=d.useRef(null),{guideCat:a,projection:o,dockSlotState:n,presentation:s,onDockedPointerDown:l,consumePillClickSuppression:c,clearPillClickSuppression:u,dragActive:h,undock:g}=Jo(),p=Wh(e),{t:b}=H(),w=d.useCallback(P=>{t.current=P,p(P)},[p]);if(!a)return null;const f=n[e],k=o.kind==="docked"&&o.slot===e,m=f.preview,C=ct(),v=b(i.sharedGuideCatPillOpenLabel,{guideCatName:C}),y=b(i.sharedGuideCatDockUndockLabel,{guideCatName:C}),L=dk(a),D=P=>{l(P)},T=()=>{c()||s.toggle()},j=k?T:void 0,x=k?()=>{u()}:void 0,R=P=>{P.stopPropagation(),T()};return r.jsxs("div",{ref:w,className:`guideCatDockSlot guideCatDockSlot--${e}`,"data-active":k?"true":"false","data-preview":m?"true":"false","data-dragging":h?"true":"false",onClick:j,onPointerDown:x,children:[k?r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",className:"guideCatPill guideCatPill--docked",onPointerDown:D,onClick:R,"aria-label":v,"data-tooltip":L,"data-tooltip-delay":"1000",children:r.jsx("img",{className:"guideCatPillAvatar",src:Va,alt:"","aria-hidden":"true"})}),e==="workspace"?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"guideCatDockName",children:C}),r.jsx("button",{type:"button",className:"guideCatDockUndockSlot","aria-label":y,onClick:P=>{P.stopPropagation(),g()},children:r.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M4 4h8v8"}),r.jsx("path",{d:"M4 12 12 4"})]})})]}):null]}):null,m&&!k?r.jsx("div",{className:"guideCatDockSlotGhost","aria-hidden":"true",children:r.jsx("img",{className:"guideCatPillAvatar",src:Va,alt:"","aria-hidden":"true"})}):null]})}function dk(e){const t=ct(),a=gr({provider:e.executionTarget.provider,instance:e.executionTarget.instance,model:e.executionTarget.model,modelSelection:e.modelSelection??null});return Ol(t,a)}const uk={setup:"/runtime/setup"},Vc=uk.setup,pk=new Set(["ok","healthy","ready"]),hk=new Set(["degraded","warming","starting"]),mk=new Set(["error","unavailable","failed"]);function kr(e){if(!e||typeof e.reachable!="boolean")return"unknown";if(!e.reachable)return"unavailable";const t=typeof e.status=="string"?e.status.toLowerCase():"";return pk.has(t)?"ready":hk.has(t)?"degraded":mk.has(t)?"unavailable":e.reachable?"ready":"unknown"}function gk(e){switch(e){case"ready":return"sharedRuntimeStatusTooltipReady";case"degraded":return"sharedRuntimeStatusTooltipDegraded";case"unavailable":return"sharedRuntimeStatusTooltipUnavailable";default:return"sharedRuntimeStatusTooltipUnknown"}}const fk={ready:"Cats Runtime is connected",degraded:"Cats Runtime is starting up",unavailable:"Cats Runtime is offline",unknown:"Checking Cats Runtime status…"};function An(e,t){return t?t(gk(e)):fk[e]}function wk(e){switch(e){case"ready":return"runtimeStatusDot isConnected";case"degraded":return"runtimeStatusDot isDegraded";case"unavailable":return"runtimeStatusDot isUnavailable";default:return"runtimeStatusDot isUnknown"}}function bk(e){switch(e){case"ready":return"lobbyIdentityDot lobbyIdentityDot--ok";case"unavailable":case"degraded":return"lobbyIdentityDot lobbyIdentityDot--warn";default:return"lobbyIdentityDot lobbyIdentityDot--warn"}}function Yc({payload:e,accountMenuRef:t,runtimeFooterStatus:a,runtimeFooterLabel:o,onNavigateSettings:n,onNavigateRuntime:s,catInitials:l,accountMenuOpen:c,onAccountMenuToggle:u}){const{t:h}=H();return r.jsxs("div",{className:"sidebarFooter",ref:t,children:[r.jsxs("button",{type:"button",className:"sidebarFooterMainButton",onClick:n,"aria-label":h(i.conversationSidebarOpenAccountSettingsLabel),children:[r.jsx("div",{className:"profileBadge",style:e.ownerAvatarUrl?{backgroundImage:`url(${e.ownerAvatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0,children:e.ownerAvatarUrl?null:l(e.ownerDisplayName)}),r.jsx("div",{className:"sidebarFooterMeta",children:r.jsx("strong",{children:e.ownerDisplayName})})]}),r.jsxs("button",{type:"button",className:"sidebarFooterTrailing",onClick:s,"aria-label":h(i.conversationSidebarRuntimeStatusAriaLabel,{status:o}),"data-tooltip":o,children:[r.jsx("span",{className:wk(a),"aria-hidden":"true"}),r.jsx("span",{className:"sidebarFooterRuntimeLink","aria-hidden":"true",children:r.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M4 4h8v8"}),r.jsx("path",{d:"M4 12 12 4"})]})})]})]})}function kk(e,t){d.useEffect(()=>{if(!e)return;function a(o){const n=o.target;if(!(n instanceof Element))return;const s=document.querySelector(".myCatOverflowMenu")??document.querySelector(".recentOverflowMenu"),l=n.closest(".myCatOverflowButton, .recentOverflowButton");s?.contains(n)||l||t(null)}return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[e,t])}function Qc(e){let t=null,a=!1,o=!1;return{record(n,s){const l=e.isInside(n);l?a||(t=o&&typeof s=="number"&&s>0?s-1:null):(o=!0,t=null),a=l},getExitDelta(n){return typeof n=="number"&&typeof t=="number"&&n>t?-(n-t):null},__resetForTests(){t=null,a=!1,o=!1}}}const Jc=Qc({isInside:fl});function yk(e,t){Jc.record(e,t)}function vk(e){return Jc.getExitDelta(e)}const Ck="no_dot",Jr={catInitials:e=>fe(e),presentChannelTitle:e=>e,isVisibleCat:()=>!0,sortCatsForDisplay:(e,t)=>{const a=Array.isArray(t.bossCatIds)?t.bossCatIds[0]??null:t.bossCatIds??null;return[...e].sort((o,n)=>{const s=o.id===a?0:1,l=n.id===a?0:1;return s!==l?s-l:o.createdAt.localeCompare(n.createdAt)})},isDirectLaneSummary:()=>!1,findDirectLaneForCat:()=>null,resolveMyCatStatusDot:()=>Ck,statusDotClassName:()=>"",statusDotLabel:()=>null};function Sk(e){const t=e.lobby.cats.map(s=>({id:s.id,name:s.name,status:"active",avatarColor:s.avatarColor,avatarUrl:s.avatarUrl,createdAt:s.createdAt})),a=e.lobby.cats.find(s=>s.isBoss),o=a?a.id:null;return{payload:{ownerDisplayName:e.ownerDisplayName,ownerAvatarUrl:e.ownerAvatarUrl,runtime:e.runtime,runtimeSetup:e.runtimeSetup?{status:e.runtimeSetup.status}:null,chat:{bossCatId:o,cats:t,channels:[]}},cats:t,bossCatId:o}}function Lk({envelope:e,sidebarOpen:t,onToggleSidebar:a,onCollapsedSidebarClick:o,confirmDialog:n}){const{t:s}=H(),l=Ne(),c=d.useRef(null),[u,h]=d.useState(null);kk(u,h);const p=Yd("/entities/cats/:catId/*")?.params.catId??null,b=ye().pathname,w=b==="/entities/cats"||b.startsWith("/entities/cats/"),f=b==="/entities/clowders"||b.startsWith("/entities/clowders/"),k=b==="/entities/catteries"||b.startsWith("/entities/catteries/"),{payload:m,cats:C,bossCatId:v}=Sk(e),y=async G=>{const B=e.lobby.cats.find(F=>F.id===G)?.name??G;if(await n({title:s(i.sharedSettingsCatsArchiveConfirmTitle),message:s(i.sharedSettingsCatsArchiveWithTelegramConfirmMessage,{catName:B}),confirmLabel:s(i.sharedSettingsCatsArchiveLabel)})){try{await Re(G,{archive:!0})}catch(F){console.error("[EntitiesAppShellSidebar] archive failed",F);return}window.location.reload()}},L=kr(m.runtime),D=An(L,s),j={platformShellSurface:e.lastProductSurface??"chat"},x=d.useCallback(()=>{const G=window.history.state,ee=vk(G?.idx);ee!==null?l(ee):l("/lobby",{replace:!0})},[l]),R=r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"8",cy:"6",r:"2.5"}),r.jsx("path",{d:"M3 13.5a5 5 0 0 1 10 0"})]}),P=r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"5",cy:"6",r:"2"}),r.jsx("circle",{cx:"11",cy:"6",r:"2"}),r.jsx("path",{d:"M2 13a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3"})]}),I=r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("rect",{x:"6",y:"2",width:"4",height:"3",rx:"0.5"}),r.jsx("rect",{x:"1",y:"11",width:"4",height:"3",rx:"0.5"}),r.jsx("rect",{x:"11",y:"11",width:"4",height:"3",rx:"0.5"}),r.jsx("path",{d:"M8 5v3"}),r.jsx("path",{d:"M3 8h10"}),r.jsx("path",{d:"M3 8v3"}),r.jsx("path",{d:"M13 8v3"})]}),O={label:s(i.entitiesSidebarNewCat),onClick:()=>l("/settings/cats/new",{state:j}),iconKind:"singlePerson"},E={label:s(i.entitiesSidebarNewClowder),iconKind:"groupPeople"},$={label:s(i.entitiesSidebarNewCattery),iconKind:"orgChart"};return r.jsxs("aside",{className:t?"sidebar":"sidebar sidebarCollapsed","data-shell-surface":"entities",onClick:o,children:[r.jsxs("div",{className:"sidebarInner",children:[r.jsxs("div",{className:"brandRow",children:[r.jsxs("div",{className:"brandCopy entitiesBrandCopy",children:[r.jsx("button",{type:"button",className:"surfaceExitButton","aria-label":s(i.entitiesShellExitButtonAriaLabel),onClick:x,children:r.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("path",{d:"M10 3L5 8l5 5"})})}),r.jsx("span",{className:"brandLabel entitiesBrandLabel",children:s(i.entitiesShellBrandLabel)})]}),r.jsx("button",{className:"chromeButton",type:"button","aria-label":s(t?i.conversationSidebarCloseSidebarLabel:i.conversationSidebarOpenSidebarLabel),onClick:a,children:r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("rect",{x:"1",y:"2",width:"14",height:"12",rx:"2"}),r.jsx("path",{d:"M6 2v12"})]})})]}),r.jsxs("div",{className:"sidebarScrollable",children:[r.jsxs("nav",{className:"navGroup","data-lens-kind":"cats",children:[r.jsxs("button",{type:"button",className:w?"navItem navItemActive":"navItem",onClick:()=>l("/entities/cats"),children:[r.jsx("span",{className:"navGlyph","aria-hidden":"true",children:R}),r.jsx("span",{className:"navLabel",children:s(i.entitiesSidebarSectionCats)})]}),r.jsx(Vr,{hideLabel:!0,cats:C,bossCatId:v,payloadChannels:[],activeMyCatId:p,telegramBoundCatIds:new Set,helpers:Jr,overflowMenuOpenId:u,onOverflowMenuToggle:h,onDirectChatCat:G=>l(`/entities/cats/${encodeURIComponent(G)}`),onArchiveCat:G=>{y(G)},emptyStatePlaceholder:O,onDirectMessageCat:G=>l(yn(dr("chat"),G))})]}),r.jsxs("nav",{className:"navGroup","data-lens-kind":"clowders",children:[r.jsxs("button",{type:"button",className:f?"navItem navItemActive":"navItem",onClick:()=>l("/entities/clowders"),children:[r.jsx("span",{className:"navGlyph","aria-hidden":"true",children:P}),r.jsx("span",{className:"navLabel",children:s(i.entitiesSidebarSectionClowders)})]}),r.jsx(Vr,{hideLabel:!0,cats:[],bossCatId:null,payloadChannels:[],activeMyCatId:null,telegramBoundCatIds:new Set,helpers:Jr,overflowMenuOpenId:null,onOverflowMenuToggle:()=>{},onDirectChatCat:()=>{},onArchiveCat:()=>{},emptyStatePlaceholder:E})]}),r.jsxs("nav",{className:"navGroup","data-lens-kind":"catteries",children:[r.jsxs("button",{type:"button",className:k?"navItem navItemActive":"navItem",onClick:()=>l("/entities/catteries"),children:[r.jsx("span",{className:"navGlyph","aria-hidden":"true",children:I}),r.jsx("span",{className:"navLabel",children:s(i.entitiesSidebarSectionCatteries)})]}),r.jsx(Vr,{hideLabel:!0,cats:[],bossCatId:null,payloadChannels:[],activeMyCatId:null,telegramBoundCatIds:new Set,helpers:Jr,overflowMenuOpenId:null,onOverflowMenuToggle:()=>{},onDirectChatCat:()=>{},onArchiveCat:()=>{},emptyStatePlaceholder:$})]})]})]}),r.jsx(xn,{slotKind:"workspace"}),r.jsx(Yc,{payload:m,accountMenuOpen:!1,accountMenuRef:c,runtimeFooterStatus:L,runtimeFooterLabel:D,onAccountMenuToggle:()=>{},onNavigateSettings:()=>l("/settings/general",{state:j}),onNavigateRuntime:()=>l("/settings/runtime",{state:j}),catInitials:fe})]})}function Rk({envelope:e}){const[t,a]=d.useState(()=>$c(typeof window>"u"?null:window.localStorage)),{dialog:o,confirm:n,handleClose:s}=jt();d.useEffect(()=>{zc(typeof window>"u"?null:window.localStorage,t)},[t]);const l=d.useCallback(()=>{a(u=>!u)},[]),c=d.useCallback(u=>{if(t)return;const h=u.target;h.closest('button, a, input, textarea, select, [role="button"]')||h.closest(".accountMenu")||a(!0)},[t]);return r.jsxs("div",{className:t?"screen claudeShell":"screen claudeShell claudeShellSidebarCollapsed",children:[r.jsx(Lk,{envelope:e,sidebarOpen:t,onToggleSidebar:l,onCollapsedSidebarClick:c,confirmDialog:n}),r.jsx("main",{className:"canvas",children:r.jsx(Yi,{})}),r.jsx(Mt,{dialog:o,onClose:s})]})}function Ta(){return globalThis.catsDesktopHost??null}function Tn(){return Ta()!==null}function Pk(e,t){return e.filter(a=>a.installState!=="available"&&(a.settings?.length??0)>0).flatMap(a=>(a.settings??[]).map(o=>({...o,label:Qp(a.id,o,t),productId:a.id})))}function xk({title:e,children:t}){return r.jsxs("section",{className:"settingsContent",children:[r.jsx("header",{className:"settingsHeader",children:r.jsx("h1",{children:e})}),r.jsx("div",{className:"settingsBody",children:t})]})}const Xc=Qc({isInside:La});function Ak(e,t){Xc.record(e,t)}function Tk(e){return Xc.getExitDelta(e)}function Dk(e){return{payload:{ownerDisplayName:e.ownerDisplayName,ownerAvatarUrl:e.ownerAvatarUrl,runtime:e.runtime,runtimeSetup:e.runtimeSetup?{status:e.runtimeSetup.status}:null,chat:{bossCatId:null,cats:[],channels:[]}}}}function Nk({envelope:e,settingsPayload:t,sidebarOpen:a,onToggleSidebar:o,onCollapsedSidebarClick:n}){const{t:s}=H(),l=Ne(),c=d.useRef(null),u=Tn(),h=t??e,g=Pk(h.products,s),p=ye().pathname,b=d.useCallback(()=>{const L=window.history.state,D=Tk(L?.idx);D!==null?l(D):l("/lobby",{replace:!0})},[l]),w=L=>p===L||p.startsWith(`${L}/`),f=p==="/settings/cats"||p==="/settings/cats/new",k=w("/settings/assistants"),{payload:m}=Dk(h),C=kr(m.runtime),v=An(C,s),y=L=>L?"navItem navItemActive":"navItem";return r.jsxs("aside",{className:a?"sidebar":"sidebar sidebarCollapsed","data-shell-surface":"settings",onClick:n,children:[r.jsxs("div",{className:"sidebarInner",children:[r.jsxs("div",{className:"brandRow",children:[r.jsxs("div",{className:"brandCopy settingsBrandCopy",children:[r.jsx("button",{type:"button",className:"surfaceExitButton","aria-label":s(i.settingsShellCloseButtonLabel),onClick:b,children:r.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("path",{d:"M10 3L5 8l5 5"})})}),r.jsx("span",{className:"brandLabel settingsBrandLabel",children:s(i.settingsShellHeading)})]}),r.jsx("button",{className:"chromeButton",type:"button","aria-label":s(a?i.conversationSidebarCloseSidebarLabel:i.conversationSidebarOpenSidebarLabel),onClick:o,children:r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("rect",{x:"1",y:"2",width:"14",height:"12",rx:"2"}),r.jsx("path",{d:"M6 2v12"})]})})]}),r.jsxs("div",{className:"sidebarScrollable",children:[r.jsx("nav",{className:"navGroup",children:r.jsx("button",{type:"button",className:y(w("/settings/general")),onClick:()=>l("/settings/general"),children:r.jsx("span",{className:"navLabel",children:s(i.settingsShellSectionGeneral)})})}),r.jsx("p",{className:"settingsSidebarGroupHeading",children:s(i.settingsShellSectionCats)}),r.jsxs("nav",{className:"navGroup settingsSidebarGroupNav",children:[r.jsx("button",{type:"button",className:y(f),onClick:()=>l("/settings/cats"),children:r.jsx("span",{className:"navLabel",children:s(i.settingsShellSubsectionMyCats)})}),r.jsx("button",{type:"button",className:y(k),onClick:()=>l("/settings/assistants"),children:r.jsx("span",{className:"navLabel",children:s(i.settingsShellSubsectionAssistants)})})]}),g.length>0?r.jsx("nav",{className:"navGroup",children:g.map(L=>r.jsx("button",{type:"button",className:y(w(L.path)),onClick:()=>l(L.path),children:r.jsx("span",{className:"navLabel",children:L.label})},`${L.productId}:${L.id}`))}):null,r.jsxs("nav",{className:"navGroup",children:[r.jsx("button",{type:"button",className:y(w("/settings/apps")),onClick:()=>l("/settings/apps"),children:r.jsx("span",{className:"navLabel",children:s(i.settingsShellSectionApps)})}),u?r.jsx("button",{type:"button",className:y(w("/settings/desktop")),onClick:()=>l("/settings/desktop"),children:r.jsx("span",{className:"navLabel",children:s(i.settingsShellSectionDesktop)})}):null,r.jsx("button",{type:"button",className:y(w("/settings/runtime")),onClick:()=>l("/settings/runtime"),children:r.jsx("span",{className:"navLabel",children:s(i.settingsShellSectionRuntime)})}),r.jsx("button",{type:"button",className:y(w("/settings/data")),onClick:()=>l("/settings/data"),children:r.jsx("span",{className:"navLabel",children:s(i.settingsShellSectionData)})})]})]})]}),r.jsx(xn,{slotKind:"workspace"}),r.jsx(Yc,{payload:m,accountMenuOpen:!1,accountMenuRef:c,runtimeFooterStatus:C,runtimeFooterLabel:v,onAccountMenuToggle:()=>{},onNavigateSettings:()=>{},onNavigateRuntime:()=>l("/settings/runtime"),catInitials:fe})]})}const jk=5e3;function Mk(e,t){const a=Date.parse(e.metadata.generatedAt),o=Date.parse(t.metadata.generatedAt);return Number.isNaN(a)||Number.isNaN(o)?!0:o>=a}function Ek(e,t){return{...e,runtime:t.runtime,runtimeSetup:t.runtimeSetup,metadata:t.metadata,bootstrapAttemptId:t.bootstrapAttemptId}}function Ik({envelope:e}){const[t,a]=d.useState({status:"loading"}),[o,n]=d.useState(0),s=d.useRef(a);s.current=a;const[l,c]=d.useState(()=>$c(typeof window>"u"?null:window.localStorage));d.useEffect(()=>{zc(typeof window>"u"?null:window.localStorage,l)},[l]);const u=d.useCallback(()=>{c(f=>!f)},[]);d.useEffect(()=>{const f=new AbortController;return a(k=>k.status==="ready"?k:{status:"loading"}),Ze(f.signal).then(k=>{f.signal.aborted||a({status:"ready",payload:k})}).catch(k=>{if(f.signal.aborted)return;const m=k instanceof Error?k.message:null;a({status:"error",message:m})}),()=>{f.abort()}},[o]);const h=t.status==="ready";d.useEffect(()=>{if(!h||typeof window>"u"||typeof document>"u")return;let f=null;const k=()=>{if(document.visibilityState==="hidden"||f)return;const y=new AbortController;f=y,Ze(y.signal).then(L=>{y.signal.aborted||s.current(D=>D.status!=="ready"||!Mk(D.payload,L)?D:{status:"ready",payload:Ek(D.payload,L)})}).catch(()=>{}).finally(()=>{f===y&&(f=null)})},m=window.setInterval(k,jk),C=()=>k(),v=()=>{document.visibilityState==="visible"&&k()};return window.addEventListener("focus",C),document.addEventListener("visibilitychange",v),()=>{f&&f.abort(),window.clearInterval(m),window.removeEventListener("focus",C),document.removeEventListener("visibilitychange",v)}},[h]);const g=d.useCallback(f=>{a({status:"ready",payload:f})},[]),p=d.useCallback(()=>{n(f=>f+1)},[]),b=d.useCallback(f=>{if(l)return;const k=f.target;k.closest('button, a, input, textarea, select, [role="button"]')||k.closest(".accountMenu")||c(!0)},[l]),w=t.status==="ready"?t.payload:null;return r.jsxs("div",{className:l?"screen claudeShell":"screen claudeShell claudeShellSidebarCollapsed",children:[r.jsx(Nk,{envelope:e,settingsPayload:w,sidebarOpen:l,onToggleSidebar:u,onCollapsedSidebarClick:b}),r.jsx("main",{className:"canvas",children:r.jsx(Yi,{context:{loadState:t,onPayloadUpdate:g,onRetryLoad:p}})})]})}function Bk(){return window.catsDesktopHost??null}async function Zc(e){const t=Bk();t?.updatePlatformShell&&await t.updatePlatformShell(e)}async function Fk(e){await Zc({bootstrapAttemptId:e.bootstrapAttemptId??null,setupCompleteAt:e.setupCompleteAt??null,products:e.products})}function Ok({memoryForm:e,setMemoryForm:t,busyCreating:a,onSubmit:o,onClose:n}){const{t:s}=H();d.useEffect(()=>{function c(u){u.key==="Escape"&&!a&&n()}return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[a,n]);const l=!e.content.trim()||a;return r.jsx("div",{className:"catsDialogOverlay",onClick:()=>{a||n()},children:r.jsxs("form",{className:"catsDialog",onClick:c=>c.stopPropagation(),onSubmit:c=>{c.preventDefault(),!l&&o()},children:[r.jsx("p",{className:"catsDialogTitle",children:s(i.sharedMemoryEditorDialogTitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedMemoryEditorDialogCategoryLabel)}),r.jsx("select",{className:"textInput",value:e.category,onChange:c=>t({...e,category:c.target.value}),children:Pn.map(c=>r.jsx("option",{value:c.value,children:s(c.label)},c.value))})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedMemoryEditorDialogContentLabel)}),r.jsx("textarea",{className:"textInput",rows:4,placeholder:s(i.sharedMemoryEditorDialogMemoryPlaceholder),value:e.content,onChange:c=>t({...e,content:c.target.value}),autoFocus:!0})]}),r.jsxs("div",{className:"catsDialogActions",children:[r.jsx("button",{className:"confirmCancelButton",type:"button",onClick:n,disabled:a,children:s(i.sharedMemoryEditorDialogCancel)}),r.jsx("button",{className:"primaryButton",type:"submit",disabled:l,children:s(a?i.sharedMemoryEditorDialogSaving:i.sharedMemoryEditorDialogAdd)})]})]})})}function Wk({botForm:e,setBotForm:t,busyCreating:a,onSubmit:o,onClose:n}){const{t:s}=H();d.useEffect(()=>{function c(u){u.key==="Escape"&&!a&&n()}return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[a,n]);const l=!e.botName.trim()||!e.botToken.trim()||a;return r.jsx("div",{className:"catsDialogOverlay",onClick:()=>{a||n()},children:r.jsxs("form",{className:"catsDialog",onClick:c=>c.stopPropagation(),onSubmit:c=>{c.preventDefault(),!l&&o()},children:[r.jsx("p",{className:"catsDialogTitle",children:s(i.sharedTelegramConnectDialogTitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectBotUsernameLabel)}),r.jsx("input",{className:"textInput",placeholder:s(i.sharedTelegramConnectBotUsernamePlaceholder),value:e.botName,onChange:c=>t({...e,botName:c.target.value}),autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectBotTokenLabel)}),r.jsx("input",{className:"textInput",type:"password",placeholder:s(i.sharedTelegramConnectBotTokenPlaceholder),value:e.botToken,onChange:c=>t({...e,botToken:c.target.value})})]}),r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectModeLabel)}),r.jsxs("div",{className:"skillPills",children:[r.jsx("button",{type:"button",className:e.inboundMode==="polling"?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>t({...e,inboundMode:"polling"}),children:s(i.sharedTelegramConnectModePolling)}),r.jsx("button",{type:"button",className:e.inboundMode==="webhook"?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>t({...e,inboundMode:"webhook"}),children:s(i.sharedTelegramConnectModeWebhook)})]})]}),e.inboundMode==="webhook"?r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:s(i.sharedTelegramConnectWebhookSecretLabel)}),r.jsx("input",{className:"textInput",placeholder:s(i.sharedTelegramConnectWebhookSecretPlaceholder),value:e.webhookSecret,onChange:c=>t({...e,webhookSecret:c.target.value})})]}):null,r.jsxs("div",{className:"catsDialogActions",children:[r.jsx("button",{className:"confirmCancelButton",type:"button",onClick:n,disabled:a,children:s(i.sharedTelegramConnectCancel)}),r.jsx("button",{className:"primaryButton",type:"submit",disabled:l,children:s(a?i.sharedTelegramConnectConnecting:i.sharedTelegramConnectConnect)})]})]})})}function xo({busy:e,botBindings:t,cat:a,isBossCat:o,memoryController:n,registryController:s,telegramDiagnostics:l,confirm:c,sections:u}){const h=F=>u===void 0||u.includes(F),{botForm:g,renameValue:p,setBotForm:b,setRenameValue:w,onCreateBinding:f,onDeleteBinding:k,onMakeBossCat:m,onMcpProfileChange:C,onRenameCat:v,onSkillChange:y}=s,{memoryForm:L,setMemoryForm:D,catMemory:T,memoryLoading:j,addMemory:x,deleteMemory:R}=n,P=t.filter(F=>F.catId===a.id),I=l?.bindings.filter(F=>F.bindingId&&P.some(Q=>Q.id===F.bindingId))??[],O=a.status==="active"&&Yo(a.products,"chat",{fallback:ur()}),{t:E}=H(),[$,G]=d.useState(!1);d.useEffect(()=>{P.length>0&&G(!1)},[P.length]),d.useEffect(()=>{G(!1)},[a.id]);const[ee,B]=d.useState(!1),q=d.useRef(T.length);return d.useEffect(()=>{const F=q.current;ee&&T.length>F&&B(!1),q.current=T.length},[ee,T.length]),d.useEffect(()=>{B(!1)},[a.id]),r.jsxs(r.Fragment,{children:[h("rename")?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsRenameLabel)}),r.jsxs("div",{style:{display:"flex",gap:8},children:[r.jsx("input",{className:"textInput",placeholder:a.name,value:p,onChange:F=>w(F.target.value),onFocus:()=>w(a.name)}),r.jsx("button",{className:"primaryButton",type:"button",disabled:!p.trim()||p.trim()===a.name||le(e,"rename",a.id),onClick:()=>{v(a.id)},children:le(e,"rename",a.id)?E(i.sharedSettingsCatsSaving):E(i.sharedSettingsCatsSave)})]})]}):null,h("makeBoss")&&!o?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsBossCatLabel)}),r.jsx("button",{className:"primaryButton",type:"button",disabled:le(e,"makeBoss",a.id),onClick:async()=>{(!c||await c({title:E(i.sharedSettingsCatsChangeBossCatTitle),message:E(i.sharedSettingsCatsChangeBossCatMessage,{name:a.name}),confirmLabel:E(i.sharedSettingsCatsConfirm)}))&&m(a.id)},children:le(e,"makeBoss",a.id)?E(i.sharedSettingsCatsSetting):E(i.sharedSettingsCatsMakeBossCatLabel,{name:a.name})})]}):null,h("skill")?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsSkillProfileLabel)}),r.jsx("div",{className:"skillPills",children:Gt.map(F=>r.jsx("button",{className:(a.skillProfile??"chat-default")===F.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",type:"button",disabled:le(e,"skill",a.id),onClick:()=>{y(a.id,F.value)},children:E(F.label)},F.value))})]}):null,h("mcp")?r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:E(i.sharedSettingsCatsMcpProfileLabel)}),r.jsx("div",{className:"skillPills",children:Dt.map(F=>r.jsx("button",{className:(a.mcpProfile??et)===F.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",type:"button",disabled:le(e,"skill",a.id),onClick:()=>{C(a.id,F.value)},children:E(F.label)},F.value))})]}):null,h("telegram")?P.length>0?r.jsx("div",{className:"catsTelegramConnected",children:P.map(F=>{const Q=I.find(he=>he.bindingId===F.id);return r.jsxs("div",{className:"catsTelegramBinding",children:[r.jsxs("div",{className:"catsTelegramBindingHeader",children:[r.jsx("span",{className:"catsTelegramBindingIcon","aria-hidden":"true",children:r.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:r.jsx("path",{d:"M20.66 3.88 2.92 10.9a.73.73 0 0 0 .04 1.38l4.45 1.4 1.72 5.52a.78.78 0 0 0 1.24.37l2.48-2.02 4.87 3.6a.78.78 0 0 0 1.2-.46L21.7 4.76c.17-.7-.52-1.27-1.04-0.88ZM10.1 14.6l-.44 3.15-1.34-4.3 9.38-6.2Z"})})}),r.jsxs("strong",{className:"catsTelegramBindingName","data-tooltip":`@${F.botName}`,children:["@",F.botName]}),r.jsx("button",{type:"button",className:"catsInlineDeleteButton catsTelegramBindingDisconnect",disabled:ar(e,"delete",F.id),onClick:()=>{k(F.id)},"aria-label":E(i.sharedSettingsCatsDisconnectTelegramAria),"data-tooltip":E(i.sharedSettingsCatsDisconnectTelegram),children:r.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),r.jsxs("div",{className:"catsTelegramBindingMeta",children:[r.jsx("span",{className:`statusChip ${F.status==="active"?"statusChipReady":"statusChipMuted"}`,children:F.status==="active"?E(i.sharedSettingsCatsBindingActive):E(i.sharedSettingsCatsBindingDisabled)}),r.jsx("span",{className:"statusChip statusChipMuted",children:F.inboundMode==="polling"?E(i.sharedSettingsCatsBindingPollingMode):E(i.sharedSettingsCatsBindingWebhookMode)}),Q?.lastInboundAt?r.jsx("span",{className:"catsTelegramBindingLastInbound",children:E(i.sharedSettingsCatsLastInboundLabel,{time:Fc(Q.lastInboundAt)})}):null]})]},F.id)})}):r.jsxs("div",{className:"catsTelegramEmpty",children:[r.jsx("button",{type:"button",className:"primaryButton",disabled:!O,onClick:()=>G(!0),children:E(i.sharedSettingsCatsConnectTelegramLabel)}),O?null:r.jsx("p",{className:"catsTelegramHint",children:E(i.sharedSettingsCatsUnavailableHint)})]}):null,$?r.jsx(Wk,{botForm:g,setBotForm:b,busyCreating:ar(e,"create"),onSubmit:()=>{f(a.id)},onClose:()=>G(!1)}):null,h("memory")?r.jsxs("div",{className:"catsMemorySection",children:[T.length>0?r.jsx("div",{className:"memoryList",children:T.map(F=>r.jsx(Uk,{busy:e,memoryRecord:F,onDelete:()=>{R(a.id,F.id)}},F.id))}):null,r.jsx("button",{type:"button",className:"primaryButton",disabled:_t(e,"create"),onClick:()=>B(!0),children:E(i.sharedSettingsCatsAddMemoryLabel)})]}):null,ee?r.jsx(Ok,{memoryForm:L,setMemoryForm:D,busyCreating:_t(e,"create"),onSubmit:()=>{x(a.id)},onClose:()=>B(!1)}):null]})}function Uk({busy:e,memoryRecord:t,onDelete:a}){const{t:o}=H(),n=Ec(t.category);return r.jsxs("div",{className:"memoryItem",children:[r.jsxs("div",{children:[r.jsx("span",{className:"statusChip statusChipMuted",children:n?o(n):t.category}),r.jsxs("span",{style:{marginLeft:8},children:[t.content.slice(0,100),t.content.length>100?"...":""]})]}),r.jsx("button",{className:"catsInlineDeleteButton",type:"button",disabled:_t(e,"delete",t.id),onClick:a,"aria-label":o(i.sharedSettingsCatsDeleteMemoryAria),children:r.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})}function Hk({busy:e,botBindings:t,cat:a,isBossCat:o,memoryController:n,registryController:s,telegramDiagnostics:l,onPayloadUpdate:c,confirm:u}){const[h,g]=d.useState(!1),{t:p}=H();async function b(f){g(!1);try{const k=await Re(a.id,{avatarUrl:f});c?.(k)}catch{}}async function w(){try{const f=await Re(a.id,{avatarUrl:null});c?.(f)}catch{}}return r.jsxs("div",{className:"catDetailPanel",children:[r.jsxs("div",{className:"catDetailSection",children:[r.jsx("p",{className:"sectionLabel",children:p(i.settingsGeneralAvatarLabel)}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[r.jsx("div",{className:"catAvatar",style:{width:40,height:40,fontSize:"0.85rem",cursor:"pointer",...a.avatarUrl?{backgroundImage:`url(${a.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center",color:"transparent"}:a.avatarColor?{background:a.avatarColor}:{}},onClick:()=>g(!0),role:"button",tabIndex:0,children:a.avatarUrl?"":fe(a.name)}),r.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[r.jsx("button",{type:"button",className:"primaryButton",onClick:()=>g(!0),children:a.avatarUrl?p(i.settingsGeneralAvatarChangeLabel):p(i.settingsGeneralAvatarUploadLabel)}),a.avatarUrl?r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>{w()},children:p(i.settingsGeneralAvatarRemoveLabel)}):null]})]})]}),h?r.jsx(Yt,{onSave:f=>{b(f)},onClose:()=>g(!1)}):null,r.jsx(xo,{busy:e,botBindings:t,cat:a,isBossCat:o,memoryController:n,registryController:s,telegramDiagnostics:l,confirm:u})]})}function _k({botBindings:e,busy:t,expandedCatId:a,memoryController:o,payload:n,registryController:s,setExpandedCatId:l,telegramDiagnostics:c,availableSurfaces:u,enabledSurfaces:h,onPayloadUpdate:g,confirm:p,SettingsCatsDetailPanelComponent:b}){const{t:w}=H(),[f,k]=d.useState(!1),m=n.chat.cats.filter(y=>y.status==="archived").length,C=f?n.chat.cats:n.chat.cats.filter(y=>y.status!=="archived"),v=Ht(C,{bossCatIds:n.chat.bossCatId,archivedLast:!0});return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"contentCardHeader",children:[r.jsxs("div",{children:[r.jsx("p",{className:"sectionLabel",children:w(i.sharedSettingsCatsRegistrySectionLabel)}),r.jsx("h2",{children:n.chat.cats.length>0?w(i.sharedSettingsCatsRegistrySavedCatsLabel):w(i.sharedSettingsCatsRegistryNoCatsYetLabel)})]}),r.jsx("span",{className:"countBadge",children:C.length})]}),m>0?r.jsxs("label",{className:"fieldLabel fieldLabelInline",style:{marginBottom:4},children:[r.jsx("input",{type:"checkbox",checked:f,onChange:y=>k(y.target.checked)}),r.jsx("span",{children:w(i.sharedSettingsCatsRegistryShowArchivedLabel,{count:m})})]}):null,r.jsx("div",{className:"catList",children:v.length>0?v.map(y=>{const L=y.id===n.chat.bossCatId,D=a===y.id,T=e.filter(P=>P.catId===y.id),j=Ic(y.status),x=y.skillProfile?jc(y.skillProfile):i.sharedSettingsCatsRegistryDefaultSkillProfileLabel,R=Mc(y.mcpProfile);return r.jsxs("article",{className:"catCard",children:[r.jsxs("div",{className:"catCardTop",style:{cursor:"pointer"},onClick:()=>l(D?null:y.id),children:[r.jsxs("div",{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[r.jsx("strong",{children:y.name}),L?r.jsx("span",{className:"statusChip statusChipAccent",children:w(i.sharedSettingsCatsRegistryBossCatLabel)}):null]}),r.jsx("p",{children:cc(y)}),y.products.length>0?r.jsx("div",{className:"chipRow",style:{marginTop:4},children:y.products.map(P=>{const I=Bc(P);return r.jsx("span",{className:"productBadge",children:I?w(I):P},P)})}):null]}),r.jsxs("div",{style:{display:"flex",alignSelf:"start",alignItems:"center",gap:8},children:[r.jsx("span",{className:y.status==="active"?"statusChip statusChipReady":"statusChip statusChipMuted",children:j?w(j):y.status}),y.status==="archived"?r.jsxs(r.Fragment,{children:[r.jsx("button",{className:"chromeButton",type:"button",disabled:le(t,"unarchive",y.id)||le(t,"delete",y.id),onClick:P=>{P.stopPropagation(),s.onUnarchiveCat(y.id,y.name)},"data-tooltip":w(i.sharedSettingsCatsRegistryRecoverTooltip,{name:y.name}),children:r.jsx("span",{className:"srOnly",children:w(i.sharedSettingsCatsRegistryRecoverLabel)})}),r.jsx("button",{className:"chromeButton",type:"button",disabled:le(t,"delete",y.id),onClick:P=>{P.stopPropagation(),s.onDeleteCat(y.id,y.name)},"data-tooltip":w(i.sharedSettingsCatsRegistryDeleteTooltip,{name:y.name}),children:"✕"})]}):r.jsx("button",{className:"chromeButton",type:"button",disabled:le(t,"archive",y.id),onClick:P=>{P.stopPropagation(),s.onArchiveCat(y.id,y.name)},"data-tooltip":w(i.sharedSettingsCatsRegistryArchiveTooltip,{name:y.name}),children:"✕"})]})]}),r.jsxs("div",{className:"catMeta",children:[r.jsx("span",{children:x?w(x):y.skillProfile}),r.jsx("span",{children:R?w(R):y.mcpProfile}),r.jsx("span",{children:y.memory.updatedAt?w(i.sharedSettingsCatsRegistryMemorySavedLabel):w(i.sharedSettingsCatsRegistryNoMemoryYetLabel)}),T.length>0?r.jsx("span",{children:w(i.sharedSettingsCatsRegistryBotBindingCount,{count:T.length,pluralSuffix:T.length>1?"s":""})}):null]}),D?r.jsx(b,{busy:t,botBindings:e,cat:y,isBossCat:L,memoryController:o,registryController:s,telegramDiagnostics:c,availableSurfaces:u,enabledSurfaces:h,onPayloadUpdate:g,confirm:p}):null]},y.id)}):r.jsx("div",{className:"emptyStateCard",children:r.jsx("p",{children:w(i.sharedSettingsCatsRegistryEmptyStateHint)})})})]})}function Gk(e){return r.jsx(_k,{...e,SettingsCatsDetailPanelComponent:Hk})}function Kk(e,t){const a=new Set(e.map(o=>o.id));return t.find(o=>o.status==="active"&&!a.has(o.id))??null}function qk({payload:e,busy:t,onPayloadUpdate:a,onFeedback:o,onBusy:n,useSettingsCatsRegistryActionsHook:s}){const[l,c]=d.useState(null),{toasts:u,showToast:h}=at(),{dialog:g,confirm:p,handleClose:b}=jt(),w=ye(),f=Ne(),k=w.pathname.endsWith("/cats/new"),{t:m}=H();d.useEffect(()=>{o("")},[]);const C=d.useCallback(S=>{S&&h(S)},[h]),v=s({expandedCatId:l,setExpandedCatId:c,onBusy:n,onFeedback:C,onPayloadUpdate:a,confirm:p}),{botForm:y,catForm:L,renameValue:D,setBotForm:T,setCatForm:j,setRenameValue:x,onCreateBinding:R,onCreateCat:P,performCreateCat:I,onDeleteBinding:O,onDeleteCat:E,onMakeBossCat:$,onMcpProfileChange:G,onArchiveCat:ee,onUnarchiveCat:B,onRenameCat:q,onSkillChange:F}=v,{botBindings:Q,telegramDiagnostics:he,telegramError:W}=Nc(e);d.useEffect(()=>{W&&C(W)},[W,C]);const N=Rc({expandedCatId:l,onBusy:n,onFeedback:C}),_=d.useMemo(()=>e.chat.cats.filter(S=>S.status==="active"),[e.chat.cats]),J=d.useMemo(()=>e.chat.cats.filter(S=>S.status==="archived"),[e.chat.cats]),X=_.length,oe=d.useMemo(()=>Ht(_,{bossCatIds:e.chat.bossCatId}),[_,e.chat.bossCatId]),we=d.useMemo(()=>Ht(J,{bossCatIds:null}),[J]),Ee=X>=e.chat.capabilities.maxCats,[xe,M]=d.useState(()=>e.chat.cats.filter(S=>S.status==="active").length===0&&e.chat.cats.some(S=>S.status==="archived")),[U,V]=d.useState(()=>oe[0]?.id??we[0]?.id??null),Se=X>0||we.length>0,z=k||!Se?"create":"view";d.useEffect(()=>{if(z!=="view")return;const S=U?e.chat.cats.find(te=>te.id===U)??null:null,K=S?.status==="archived"&&!xe;if(!S||K){const te=oe[0]??(xe?we[0]:null);te?V(te.id):(V(null),w.pathname.endsWith("/cats/new")||f("/settings/cats/new",{replace:!0}))}},[z,w.pathname,f,e.chat.cats,U,xe,oe,we]),d.useEffect(()=>{z==="view"&&U&&c(U)},[z,U]);const Ke=d.useMemo(()=>({current:X}),[]),dt=d.useMemo(()=>({current:new Set(_.map(S=>S.id))}),[]);d.useEffect(()=>{if(X>Ke.current){const S=dt.current,K=oe.find(te=>!S.has(te.id))??oe[oe.length-1];K&&V(K.id),w.pathname.endsWith("/cats/new")&&f("/settings/cats",{replace:!0})}Ke.current=X,dt.current=new Set(_.map(S=>S.id))},[X,_,w.pathname,f,a,Ke,dt,oe]);const yt=S=>{V(S),w.pathname.endsWith("/cats/new")&&f("/settings/cats",{replace:!0})},Qt=()=>{Ee||f("/settings/cats/new")},A=d.useMemo(()=>U?e.chat.cats.find(S=>S.id===U)??null:null,[e.chat.cats,U]);d.useEffect(()=>{A?.status==="archived"&&M(!0)},[A]);const vt=d.useRef(null);d.useEffect(()=>{if(z==="create"&&k){const S=vt.current;S?.focus(),S?.select()}},[z,k]);const[Jt,Y]=d.useState(!1),[be,Te]=d.useState(null),[ve,qe]=d.useState(null);d.useEffect(()=>{k||(Te(null),qe(null))},[k]);const vr=async S=>{if(Y(!1),z==="create"){Te(S);return}if(A)try{const K=await Re(A.id,{avatarUrl:S});a(K)}catch{}},Cr=async()=>{if(z==="create"){Te(null);return}if(A)try{const S=await Re(A.id,{avatarUrl:null});a(S)}catch{}},[je,Ct]=d.useState(null),[Sr,ut]=d.useState(!1);d.useEffect(()=>{if(!A){Ct(null);return}return Ct(ba(A.id)),Cn(A.id,Ct)},[A?.id]);const Lr=S=>{if(ut(!1),z==="create"){qe(S);return}A&&xt(A.id,S)},Rr=()=>{if(z==="create"){qe(null);return}A&&xt(A.id,null)},ne=A?.status==="archived",$e=d.useCallback(async(S,K,te)=>{try{const Oe=await Re(S,K);return a(Oe),!0}catch(Oe){return C(Be(Oe,te,m)),!1}},[a,m,C]),Pr=async()=>{const S=await I(),K=S?Kk(_,S.chat.cats):null;if(K){if(V(K.id),w.pathname.endsWith("/cats/new")&&f("/settings/cats",{replace:!0}),be)try{const te=await Re(K.id,{avatarUrl:be});a(te),Te(null)}catch(te){Te(null),C(Be(te,m(i.settingsGeneralSaveAvatarError),m))}ve&&(xt(K.id,ve),qe(null))}};return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"catsLayout catsLayoutSidePanel",children:[r.jsxs("nav",{className:"catsSelectorStrip",role:"tablist","aria-label":m(i.sharedSettingsCatsSelectCatAria),children:[oe.map(S=>{const K=z==="view"&&S.id===U,Oe=["catAvatar","catsSelectorAvatar",S.id===e.chat.bossCatId?"catsSelectorAvatarBoss":"",K?"catsSelectorAvatarActive":""].filter(Boolean).join(" ");return r.jsx("button",{type:"button",role:"tab","aria-selected":K,className:Oe,style:S.avatarUrl?{backgroundImage:`url(${S.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:S.avatarColor?{background:S.avatarColor}:void 0,onClick:()=>yt(S.id),"data-tooltip":S.name,"aria-label":S.name,children:S.avatarUrl?null:fe(S.name)},S.id)}),r.jsx("button",{type:"button",className:["catAvatar","catsSelectorAvatar","catsSelectorNewAvatar",z==="create"?"catsSelectorAvatarActive":""].filter(Boolean).join(" "),onClick:Qt,disabled:Ee&&z!=="create","aria-label":m(i.sharedSettingsCatsAddNewCatLabel),"data-tooltip":m(Ee?i.sharedCatsCreateCatLimitReached:i.sharedSettingsCatsAddNewCatLabel),children:r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.25",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),xe&&we.length>0?r.jsx("span",{className:"catsSelectorDivider","aria-hidden":"true"}):null,xe?we.map(S=>{const K=z==="view"&&S.id===U,te=["catAvatar","catsSelectorAvatar","catsSelectorAvatarArchived",K?"catsSelectorAvatarActive":""].filter(Boolean).join(" ");return r.jsx("button",{type:"button",role:"tab","aria-selected":K,className:te,style:S.avatarUrl?{backgroundImage:`url(${S.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:S.avatarColor?{background:S.avatarColor}:void 0,onClick:()=>yt(S.id),"data-tooltip":`${S.name} (${m(i.workObjectStatusArchived)})`,"aria-label":`${S.name} (${m(i.workObjectStatusArchived)})`,children:S.avatarUrl?null:fe(S.name)},S.id)}):null,J.length>0?r.jsxs("label",{className:"catsSelectorArchiveToggle",children:[r.jsx("input",{type:"checkbox",checked:xe,onChange:S=>M(S.target.checked)}),r.jsx("span",{children:m(i.sharedSettingsCatsShowArchivedLabel,{count:J.length})})]}):null]}),r.jsx(Ce,{className:"catsDetailCard",header:r.jsx(re,{title:z==="create"?m(i.sharedCatsCreateNewCat):A?r.jsxs(r.Fragment,{children:[A.name,A.id===e.chat.bossCatId?r.jsx("span",{className:"catsDetailBossTag",children:m(i.sharedCatInspectBossLabel)}):null,A.status==="archived"?r.jsx("span",{className:"catsDetailArchivedTag",children:m(i.workObjectStatusArchived)}):null]}):"",status:z==="view"&&A?r.jsx(Je,{children:A.status==="active"?r.jsx("button",{type:"button",className:"secondaryButton",disabled:le(t,"archive",A.id),onClick:()=>{ee(A.id,A.name)},children:m(i.sharedSettingsCatsArchiveLabel)}):r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",className:"secondaryButton",disabled:le(t,"unarchive",A.id),onClick:()=>{B(A.id,A.name)},children:m(i.sharedSettingsCatsRegistryRecoverLabel)}),r.jsx("button",{type:"button",className:"dangerButton",disabled:le(t,"delete",A.id),onClick:()=>{E(A.id,A.name)},children:m(i.sharedSettingsCatsDeleteLabel)})]})}):z==="create"?r.jsxs(Je,{children:[X>0?r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>f("/settings/cats",{replace:!0}),disabled:le(t,"create"),children:m(i.sharedCatsCreateCancel)}):null,r.jsx("button",{type:"button",className:"primaryButton",disabled:!L.name.trim()||!L.provider.trim()||!L.model.trim()||Ee||le(t,"create"),onClick:()=>{Pr()},children:le(t,"create")?m(i.sharedSettingsCatsSaving):m(i.sharedCatsCreateSaveCat)})]}):null}),children:z==="create"?r.jsxs("div",{className:"catsDetailBody",children:[r.jsxs("div",{className:"catsDetailColumn",children:[r.jsxs(ke,{headerless:!0,className:"catsSubCard catsIdentityCard",children:[r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralAvatarLabel)}),r.jsxs("div",{className:"catsIdentityAvatarRow",children:[r.jsxs("div",{className:"catsAvatarDock",children:[r.jsx("button",{type:"button",className:["catAvatar","catsIdentityAvatar",be?"":"catsIdentityAvatarPlaceholder"].filter(Boolean).join(" "),style:be?{backgroundImage:`url(${be})`,backgroundSize:"cover",backgroundPosition:"center",color:"transparent"}:void 0,onClick:()=>Y(!0),"aria-label":m(be?i.settingsGeneralAvatarChangeLabel:i.settingsGeneralAvatarUploadLabel),"data-tooltip":m(be?i.settingsGeneralAvatarChangeLabel:i.settingsGeneralAvatarUploadLabel),children:be?"":L.name.trim()?fe(L.name):r.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),r.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),r.jsx("polyline",{points:"21 15 16 10 5 21"})]})}),r.jsx("span",{className:"catsAvatarCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),be?r.jsx("button",{type:"button",className:"catsAvatarRemoveBadge",onClick:S=>{S.stopPropagation(),Te(null)},"aria-label":m(i.settingsGeneralAvatarRemoveLabel),"data-tooltip":m(i.settingsGeneralAvatarRemoveLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]}),r.jsxs("label",{className:"fieldLabelInline catsIdentityBossToggle",children:[r.jsx("input",{type:"checkbox",checked:L.makeBoss,onChange:async S=>{const K=S.target.checked;if(K&&e.chat.bossCatId){const te=e.chat.cats.find(xr=>xr.id===e.chat.bossCatId);if(!await p({title:m(i.sharedSettingsCatsChangeBossCatTitle),message:m(i.sharedSettingsCatsChangeBossCatMessage,{name:te?.name??(L.name.trim()||m(i.sharedCatsCreateNewCat))}),confirmLabel:m(i.sharedSettingsCatsConfirm)}))return}j({...L,makeBoss:K})}}),r.jsx("span",{children:m(i.sharedSettingsCatsMakeBossCatLabel,{name:L.name.trim()||m(i.sharedCatsCreateNewCat)})})]})]})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralNameLabel)}),r.jsx("input",{ref:vt,className:"textInput",value:L.name,placeholder:m(i.sharedCatsCreateCatNamePlaceholder),onChange:S=>j({...L,name:S.target.value})})]}),r.jsxs("div",{className:"fieldLabel catsCoverField",children:[r.jsx("span",{children:m(i.sharedSettingsCatsCoverPhotoLabel)}),r.jsxs("div",{className:"catsCoverDock",children:[r.jsx("button",{type:"button",className:`catsCoverThumb${ve?" catsCoverThumbLoaded":" catsCoverThumbPlaceholder"}`,style:ve?{backgroundImage:`url(${ve})`}:void 0,onClick:()=>ut(!0),"aria-label":m(ve?i.sharedSettingsCatsChangeCoverPhotoLabel:i.sharedSettingsCatsUploadCoverPhotoLabel),"data-tooltip":m(ve?i.sharedSettingsCatsChangeCoverLabel:i.sharedSettingsCatsUploadCoverLabel),children:ve?null:r.jsxs("svg",{className:"catsCoverPlaceholderIcon",width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),r.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),r.jsx("polyline",{points:"21 15 16 10 5 21"})]})}),r.jsx("span",{className:"catsCoverCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),ve?r.jsx("button",{type:"button",className:"catsCoverRemoveBadge",onClick:S=>{S.stopPropagation(),qe(null)},"aria-label":m(i.sharedSettingsCatsRemoveCoverLabel),"data-tooltip":m(i.sharedSettingsCatsRemoveCoverLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]})]})]}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsSkillProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Gt.map(S=>r.jsx("button",{type:"button",className:(L.skillProfile||"chat-default")===S.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>j({...L,skillProfile:S.value}),children:m(S.label)},S.value))})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsMcpProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Dt.map(S=>r.jsx("button",{type:"button",className:(L.mcpProfile||et)===S.value?"draftLeadPill draftLeadPillActive":"draftLeadPill",onClick:()=>j({...L,mcpProfile:S.value}),children:m(S.label)},S.value))})})]}),r.jsx("div",{className:"catsDetailColumn",children:r.jsx(At,{provider:L.provider,instance:L.instance,model:L.model,modelSelection:L.modelSelection,onTargetChange:S=>j({...L,provider:S.provider,instance:S.instance,model:S.model,modelSelection:S.modelSelection??null}),fetchProviderRegistry:Lt,fetchProviderModels:Rt,fetchAdvancedProviderModels:Pt})})]}):A?r.jsxs("fieldset",{className:ne?"catsDetailBody catsDetailBodyReadOnly":"catsDetailBody",disabled:ne,children:[r.jsxs("div",{className:"catsDetailColumn",children:[r.jsxs(ke,{headerless:!0,className:"catsSubCard catsIdentityCard",children:[r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralAvatarLabel)}),r.jsxs("div",{className:"catsIdentityAvatarRow",children:[r.jsxs("div",{className:"catsAvatarDock",children:[r.jsx("button",{type:"button",className:"catAvatar catsIdentityAvatar",style:A.avatarUrl?{backgroundImage:`url(${A.avatarUrl})`,backgroundSize:"cover",backgroundPosition:"center",color:"transparent"}:A.avatarColor?{background:A.avatarColor}:void 0,onClick:()=>{ne||Y(!0)},disabled:ne,"aria-label":A.avatarUrl?m(i.settingsGeneralAvatarChangeLabel):m(i.settingsGeneralAvatarUploadLabel),"data-tooltip":ne?void 0:A.avatarUrl?m(i.settingsGeneralAvatarChangeLabel):m(i.settingsGeneralAvatarUploadLabel),children:A.avatarUrl?"":fe(A.name)}),ne?null:r.jsx("span",{className:"catsAvatarCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),A.avatarUrl&&!ne?r.jsx("button",{type:"button",className:"catsAvatarRemoveBadge",onClick:S=>{S.stopPropagation(),Cr()},"aria-label":m(i.settingsGeneralAvatarRemoveLabel),"data-tooltip":m(i.settingsGeneralAvatarRemoveLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]}),!ne&&A.id!==e.chat.bossCatId?r.jsxs("label",{className:"fieldLabelInline catsIdentityBossToggle",children:[r.jsx("input",{type:"checkbox",checked:!1,onChange:async S=>{S.target.checked&&(e.chat.bossCatId&&e.chat.bossCatId!==A.id&&(e.chat.cats.find(te=>te.id===e.chat.bossCatId),!await p({title:m(i.sharedSettingsCatsChangeBossCatTitle),message:m(i.sharedSettingsCatsChangeBossCatMessage,{name:A.name}),confirmLabel:m(i.sharedSettingsCatsConfirm)}))||await $e(A.id,{makeBoss:!0},m(i.sharedSettingsCatsSetBossCatError)))}}),r.jsx("span",{children:m(i.sharedSettingsCatsMakeBossCatLabel,{name:A.name})})]}):null]})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:m(i.settingsGeneralNameLabel)}),r.jsx("input",{className:"textInput",defaultValue:A.name,placeholder:A.name,disabled:ne,onBlur:async S=>{const K=S.currentTarget.value.trim();if(!K){S.currentTarget.value=A.name;return}if(K===A.name)return;await $e(A.id,{name:K},m(i.settingsGeneralUpdateNameError))||(S.currentTarget.value=A.name)}},A.id)]}),r.jsxs("div",{className:"fieldLabel catsCoverField",children:[r.jsx("span",{children:m(i.sharedSettingsCatsCoverPhotoLabel)}),r.jsxs("div",{className:"catsCoverDock",style:A.avatarColor?{"--cat-avatar-color":A.avatarColor}:void 0,children:[r.jsx("button",{type:"button",className:`catsCoverThumb${je?" catsCoverThumbLoaded":""}`,style:je?{backgroundImage:`url(${je})`}:void 0,onClick:()=>{ne||ut(!0)},disabled:ne,"aria-label":m(je?i.sharedSettingsCatsChangeCoverPhotoLabel:i.sharedSettingsCatsUploadCoverPhotoLabel),"data-tooltip":ne?void 0:m(je?i.sharedSettingsCatsChangeCoverLabel:i.sharedSettingsCatsUploadCoverLabel)}),ne?null:r.jsx("span",{className:"catsCoverCameraBadge","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),je&&!ne?r.jsx("button",{type:"button",className:"catsCoverRemoveBadge",onClick:S=>{S.stopPropagation(),Rr()},"aria-label":m(i.sharedSettingsCatsRemoveCoverLabel),"data-tooltip":m(i.sharedSettingsCatsRemoveCoverLabel),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]})]})]}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsSkillProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Gt.map(S=>{const K=(A.skillProfile??"chat-default")===S.value;return r.jsx("button",{type:"button",className:K?"draftLeadPill draftLeadPillActive":"draftLeadPill",disabled:ne||K,onClick:()=>{$e(A.id,{skillProfile:S.value},m(i.sharedSettingsCatsChangeSkillProfileError))},children:m(S.label)},S.value)})})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsMcpProfileLabel),nested:!0}),children:r.jsx("div",{className:"skillPills",children:Dt.map(S=>{const K=(A.mcpProfile??et)===S.value;return r.jsx("button",{type:"button",className:K?"draftLeadPill draftLeadPillActive":"draftLeadPill",disabled:ne||K,onClick:()=>{$e(A.id,{mcpProfile:S.value},m(i.sharedSettingsCatsChangeMcpProfileError))},children:m(S.label)},S.value)})})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsChannelLabel),nested:!0}),children:r.jsx(xo,{busy:t,botBindings:Q,cat:A,isBossCat:A.id===e.chat.bossCatId,memoryController:N,registryController:{botForm:y,renameValue:D,setBotForm:T,setRenameValue:x,onCreateBinding:R,onDeleteBinding:O,onMakeBossCat:$,onMcpProfileChange:G,onRenameCat:q,onSkillChange:F},telegramDiagnostics:he,confirm:p,sections:["telegram"]})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:m(i.sharedSettingsCatsMemoryLabel),nested:!0}),children:r.jsx(xo,{busy:t,botBindings:Q,cat:A,isBossCat:A.id===e.chat.bossCatId,memoryController:N,registryController:{botForm:y,renameValue:D,setBotForm:T,setRenameValue:x,onCreateBinding:R,onDeleteBinding:O,onMakeBossCat:$,onMcpProfileChange:G,onRenameCat:q,onSkillChange:F},telegramDiagnostics:he,confirm:p,sections:["memory"]})})]}),r.jsx("div",{className:"catsDetailColumn",children:r.jsx(At,{provider:A.defaultExecutionTarget.provider??"",instance:A.defaultExecutionTarget.instance??"",model:A.defaultExecutionTarget.model??"",modelSelection:A.defaultModelSelection??null,onTargetChange:S=>{$e(A.id,{provider:S.provider,instance:S.instance||null,model:S.model||null,modelSelection:S.modelSelection??null},m(i.sharedSettingsCatsUpdateBrainError))},fetchProviderRegistry:Lt,fetchProviderModels:Rt,fetchAdvancedProviderModels:Pt})})]}):null})]}),r.jsx(Mt,{dialog:g,onClose:b}),r.jsx(rt,{toasts:u}),Jt?r.jsx(Yt,{onSave:S=>{vr(S)},onClose:()=>Y(!1),initialDataUrl:z==="create"?be:A?.avatarUrl??null}):null,Sr?r.jsx(vn,{onSave:Lr,onClose:()=>ut(!1),initialDataUrl:z==="create"?ve:je}):null]})}function $k(e){return r.jsx(qk,{...e,useSettingsCatsRegistryActionsHook:Tc,SettingsCatsRegistryComponent:Gk})}const Ao="cats:platform-envelope-refresh";function lt(){const e=globalThis;e.document===void 0||typeof e.dispatchEvent!="function"||typeof e.CustomEvent!="function"||e.dispatchEvent(new e.CustomEvent(Ao))}const zk=new Map([["Invalid request body",i.settingsAssistantsApiInvalidRequestBody],["Assistant name is required",i.settingsAssistantsApiAssistantNameRequired],["Assistant provider is required",i.settingsAssistantsApiAssistantProviderRequired],["Assistant model is required",i.settingsAssistantsApiAssistantModelRequired],["Assistant not found",i.settingsAssistantsApiAssistantNotFound],["Unexpected name field. Guide Cat name is system-managed.",i.settingsAssistantsApiGuideCatNameManaged],["status must be active or dismissed",i.settingsAssistantsApiGuideCatStatusInvalid],["No Guide Cat exists",i.settingsAssistantsApiGuideCatNotFound]]);function ti(e,t){const a=zk.get(e);return a?t(a):null}async function ta(e,t,a){try{const o=await e.json();if(typeof o.error=="string")return ti(o.error,t)??(o.error||a);if(o.error&&typeof o.error=="object"){const n=typeof o.error.code=="string"?o.error.code:"",s=typeof o.error.message=="string"?o.error.message:"",l=s?ti(s,t):null;return l||(n?a:s||a)}}catch{}return a}function Vk(e){const t=e.trim();if(!t)return"?";const a=t.split(/\s+/);return a.length===1?a[0].slice(0,2).toUpperCase():`${a[0].charAt(0)}${a[a.length-1].charAt(0)}`.toUpperCase()}function Yk({payload:e,onPayloadUpdate:t}){const a=e.guideCat??null,o=ct(),n=a?fa(a.status):!1,s=e.assistantPresets??[],{t:l}=H(),c=l(i.settingsAssistantsNamePlaceholder),u=d.useCallback(()=>({name:c,roleHint:"",provider:"claude",instance:"",model:"",modelSelection:null}),[c]),{toasts:h,showToast:g}=at(),{dialog:p,confirm:b,handleClose:w}=jt(),[f,k]=d.useState(!1),[m,C]=d.useState(!1),[v,y]=d.useState(s[0]?.id??null),L=d.useMemo(()=>s.find(W=>W.id===v)??null,[s,v]),[D,T]=d.useState(()=>s.length===0),[j,x]=d.useState(u);d.useEffect(()=>{v&&!s.some(W=>W.id===v)&&y(s[0]?.id??null),s.length===0&&!D&&T(!0)},[s,D,v]);const R=d.useCallback(W=>{g(W)},[g]),P=d.useCallback(async W=>{k(!0);try{const N={provider:W.provider??a?.executionTarget.provider??"claude",instance:W.instance!==void 0?W.instance:a?.executionTarget.instance??null,model:W.model!==void 0?W.model:a?.executionTarget.model??null,modelSelection:W.modelSelection!==void 0?W.modelSelection:a?.modelSelection??null},_=await fetch("/api/platform/guide-cat",{method:"PUT",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(N)});if(!_.ok)throw new Error(await ta(_,l,l(i.settingsAssistantsSaveFailedWithError,{status:_.status})));const J=await _.json();return t({...e,guideCat:J.guideCat}),lt(),!0}catch(N){return R(N instanceof Error?N.message:l(i.settingsAssistantsGuideCatSaveFailed)),!1}finally{k(!1)}},[a,t,e,R,l]),I=d.useCallback(async W=>{k(!0);try{const N=await fetch("/api/platform/guide-cat",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({status:W})});if(!N.ok)throw new Error(await ta(N,l,l(i.settingsAssistantsStatusUpdateFailed,{status:N.status})));const _=await N.json();return t({...e,guideCat:_.guideCat}),lt(),!0}catch(N){return R(N instanceof Error?N.message:l(i.settingsAssistantsGuideCatUpdateFailed)),!1}finally{k(!1)}},[t,e,R,l]),O=d.useCallback(async()=>{if(!a){await P({})&&await I("active");return}fa(a.status)||await I("active")},[P,a,I]),E=d.useCallback(()=>{a&&I("dismissed")},[a,I]),$=d.useCallback(async(W,N,_)=>{const J=s.find(X=>X.id===W);if(!J)return!1;C(!0);try{const X={name:N.name!==void 0?N.name:J.name,provider:N.provider!==void 0?N.provider:J.executionTarget.provider,instance:N.instance!==void 0?N.instance:J.executionTarget.instance??null,model:N.model!==void 0?N.model:J.executionTarget.model??null,modelSelection:N.modelSelection!==void 0?N.modelSelection:J.modelSelection,roleHint:N.roleHint!==void 0?N.roleHint:J.roleHint},oe=await fetch(`/api/platform/assistants/${W}`,{method:"PUT",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(X)});if(!oe.ok)throw new Error(await ta(oe,l,l(i.settingsAssistantsSaveFailedWithError,{status:oe.status})));const we=await oe.json();return t({...e,assistantPresets:we.assistants}),!0}catch(X){return R(X instanceof Error?X.message:_),!1}finally{C(!1)}},[s,t,e,R,l]),G=d.useCallback(async()=>{C(!0);try{const W=await fetch("/api/platform/assistants",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({name:j.name.trim(),provider:j.provider,instance:j.instance||null,model:j.model||null,modelSelection:j.modelSelection,roleHint:j.roleHint.trim()||null})});if(!W.ok)throw new Error(await ta(W,l,l(i.settingsAssistantsSaveFailedWithError,{status:W.status})));const N=await W.json();t({...e,assistantPresets:N.assistants}),y(N.assistant.id),T(!1),x(u())}catch(W){R(W instanceof Error?W.message:l(i.settingsAssistantsCreateFailed))}finally{C(!1)}},[j,u,t,e,l,R]),ee=d.useCallback(async()=>{if(!(!L||!await b({title:l(i.settingsAssistantsRemoveTitle),message:l(i.settingsAssistantsRemoveMessage,{title:L.name}),confirmLabel:l(i.settingsAssistantsRemoveButton)}))){C(!0);try{const N=await fetch(`/api/platform/assistants/${L.id}`,{method:"DELETE",headers:{Accept:"application/json"}});if(!N.ok)throw new Error(await ta(N,l,l(i.settingsAssistantsStatusFailed,{status:N.status})));const _=await N.json();t({...e,assistantPresets:_.assistants}),y(_.assistants[0]?.id??null),_.assistants.length===0&&T(!0)}catch(N){R(N instanceof Error?N.message:l(i.settingsAssistantsRemoveFailed))}finally{C(!1)}}},[b,t,e,L,l,R]),B=d.useCallback(W=>{y(W),T(!1)},[]),q=d.useCallback(()=>{T(!0),x(u())},[u]),F=d.useCallback(()=>{s.length!==0&&(T(!1),v||y(s[0]?.id??null))},[s,v]),Q=j.name.trim().length>0&&j.provider.trim().length>0&&j.model.trim().length>0,he=D||!L;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"catsLayout catsLayoutSidePanel",children:[r.jsx(Ce,{className:"catsDetailCard",header:r.jsx(re,{title:o,status:r.jsx(Je,{children:n?r.jsx("button",{type:"button",className:"secondaryButton",disabled:f,onClick:()=>{E()},children:l(i.settingsAssistantsDisableButton)}):r.jsx("button",{type:"button",className:"primaryButton",disabled:f,onClick:()=>{O()},children:l(f?i.sharedCommonSaving:i.settingsAssistantsEnableButton)})})}),children:r.jsxs("div",{className:"catsDetailBody",children:[r.jsx("div",{className:"catsDetailColumn",children:r.jsxs(ke,{headerless:!0,className:"catsSubCard catsIdentityCard",children:[r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:l(i.settingsAssistantsAvatarLabel)}),r.jsx("div",{className:"catsAvatarDock",children:r.jsx("div",{className:"catAvatar catsIdentityAvatar catsIdentityAvatarStatic","aria-label":o,children:r.jsx("img",{className:"catsIdentityAvatarImage",src:Va,alt:"","aria-hidden":"true"})})})]}),r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:l(i.settingsAssistantsNameLabel)}),r.jsx("div",{className:"catsIdentityNameStatic",children:o})]})]})}),r.jsx("div",{className:"catsDetailColumn",children:r.jsx(At,{provider:a?.executionTarget.provider??"claude",instance:a?.executionTarget.instance??"",model:a?.executionTarget.model??"",modelSelection:a?.modelSelection??null,onTargetChange:W=>{P({provider:W.provider,instance:W.instance||null,model:W.model||null,modelSelection:W.modelSelection??null})},fetchProviderRegistry:Lt,fetchProviderModels:Rt,fetchAdvancedProviderModels:Pt})})]})}),r.jsxs("nav",{className:"catsSelectorStrip",role:"tablist","aria-label":l(i.settingsAssistantsSelectAriaLabel),children:[s.map(W=>{const N=!D&&W.id===v,_=["catAvatar","catsSelectorAvatar",N?"catsSelectorAvatarActive":""].filter(Boolean).join(" ");return r.jsx("button",{type:"button",role:"tab","aria-selected":N,className:_,onClick:()=>B(W.id),"data-tooltip":W.name,"aria-label":W.name,children:Vk(W.name)},W.id)}),r.jsx("button",{type:"button",className:["catAvatar","catsSelectorAvatar","catsSelectorNewAvatar",D?"catsSelectorAvatarActive":""].filter(Boolean).join(" "),onClick:q,"aria-label":l(i.settingsAssistantsAddNewLabel),"data-tooltip":l(i.settingsAssistantsAddNewLabel),children:r.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.25",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]}),r.jsx(Ce,{className:"catsDetailCard",header:r.jsx(re,{title:he?l(i.settingsAssistantsNewAssistantTitle):L?.name??"",status:he?r.jsxs(Je,{children:[s.length>0?r.jsx("button",{type:"button",className:"secondaryButton",disabled:m,onClick:F,children:l(i.settingsAssistantsCancelButton)}):null,r.jsx("button",{type:"button",className:"primaryButton",disabled:m||!Q,onClick:()=>{G()},children:l(m?i.sharedCommonSaving:i.settingsAssistantsCreateButton)})]}):r.jsx(Je,{children:r.jsx("button",{type:"button",className:"dangerButton",disabled:m,onClick:()=>{ee()},children:l(i.settingsAssistantsDeleteButton)})})}),children:he?r.jsxs("div",{className:"catsDetailBody",children:[r.jsxs("div",{className:"catsDetailColumn",children:[r.jsx(ke,{headerless:!0,className:"catsSubCard catsIdentityCard",children:r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:l(i.settingsAssistantsNameLabel)}),r.jsx("input",{className:"textInput",value:j.name,placeholder:l(i.settingsAssistantsNamePlaceholder),onChange:W=>x(N=>({...N,name:W.target.value}))})]})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:l(i.settingsAssistantsRoleHintTitle),nested:!0}),children:r.jsx("textarea",{className:"textInput",rows:3,value:j.roleHint,placeholder:l(i.settingsAssistantsRoleHintPlaceholder),onChange:W=>x(N=>({...N,roleHint:W.target.value}))})})]}),r.jsx("div",{className:"catsDetailColumn",children:r.jsx(At,{provider:j.provider,instance:j.instance,model:j.model,modelSelection:j.modelSelection,onTargetChange:W=>x(N=>({...N,provider:W.provider,instance:W.instance,model:W.model,modelSelection:W.modelSelection??null})),fetchProviderRegistry:Lt,fetchProviderModels:Rt,fetchAdvancedProviderModels:Pt})})]}):L?r.jsxs("div",{className:"catsDetailBody",children:[r.jsxs("div",{className:"catsDetailColumn",children:[r.jsx(ke,{headerless:!0,className:"catsSubCard catsIdentityCard",children:r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:l(i.settingsAssistantsNameLabel)}),r.jsx("input",{className:"textInput",defaultValue:L.name,placeholder:l(i.settingsAssistantsNamePlaceholder),onBlur:async W=>{const N=W.currentTarget.value.trim();if(!N){W.currentTarget.value=L.name;return}if(N===L.name)return;await $(L.id,{name:N},l(i.settingsAssistantsRenameFailed))||(W.currentTarget.value=L.name)}},L.id)]})}),r.jsx(ke,{className:"catsSubCard",header:r.jsx(re,{title:l(i.settingsAssistantsRoleHintTitle),nested:!0}),children:r.jsx("textarea",{className:"textInput",rows:3,defaultValue:L.roleHint??"",placeholder:l(i.settingsAssistantsRoleHintPlaceholder),onBlur:async W=>{const N=W.currentTarget.value.trim(),_=N||null,J=L.roleHint??null;if(_===J)return;await $(L.id,{roleHint:_},l(i.settingsAssistantsRoleHintUpdateFailed))||(W.currentTarget.value=L.roleHint??"")}},L.id)})]}),r.jsx("div",{className:"catsDetailColumn",children:r.jsx(At,{provider:L.executionTarget.provider,instance:L.executionTarget.instance??"",model:L.executionTarget.model??"",modelSelection:L.modelSelection,onTargetChange:W=>{$(L.id,{provider:W.provider,instance:W.instance||null,model:W.model||null,modelSelection:W.modelSelection??null},l(i.settingsAssistantsBrainUpdateFailed))},fetchProviderRegistry:Lt,fetchProviderModels:Rt,fetchAdvancedProviderModels:Pt})})]}):null})]}),r.jsx(Mt,{dialog:p,onClose:w}),r.jsx(rt,{toasts:h})]})}function ai(e,t){const a=e?.[t];return typeof a=="string"&&a.trim()?a:null}function Qk(e,t){if(!e)return t(i.settingsAppsValidationFailed);if(e.message==="packagePath is required.")return t(i.settingsAppsPackagePathRequired);const a=e.message.match(/^Package path does not exist: (.+)\.$/u);return a?t(i.settingsAppsErrorPackagePathNotFound,{path:a[1]}):e.message==="Invalid cats.app.json JSON."?t(i.settingsAppsErrorInvalidManifestJson):e.message==="Cannot read cats.app.json."?t(i.settingsAppsErrorCannotReadManifest):e.message==="Cats app manifest must be an object."?t(i.settingsAppsErrorManifestInvalid):e.code==="reserved_cats_app_id"?t(i.settingsAppsErrorReservedAppId,{appId:ai(e.details,"appId")??e.path??""}):e.code==="duplicate_cats_app_id"?t(i.settingsAppsErrorDuplicateAppId,{appId:ai(e.details,"appId")??e.path??""}):t(e.path?i.settingsAppsErrorValidationIssueWithPath:i.settingsAppsErrorValidationIssue,{code:e.code,path:e.path??""})}function Jk(e,t){const a=e.match(/^Cats app "(.+)" is not installed\.$/u);if(a)return t(i.settingsAppsErrorNotInstalled,{appId:a[1]});const o=e.match(/^Cats app "(.+)" is not enabled\.$/u);return o?t(i.settingsAppsErrorNotEnabled,{appId:o[1]}):null}function Xr(e,t,a){return e instanceof Error?Jk(e.message,a)??e.message:t}const ri={"capability-connector":"settingsAppsCategoryConnector","product-module":"settingsAppsCategoryProductModule","user-app":"settingsAppsCategoryUserApp"},Xk={enabled:"settingsAppsInstallStateEnabled",installed:"settingsAppsInstallStateInstalled",disabled:"settingsAppsInstallStateDisabled",error:"settingsAppsInstallStateError","upgrade-pending":"settingsAppsInstallStateUpgradePending",uninstalled:"settingsAppsInstallStateUninstalled"},oi={"local-user":"settingsAppsTrustTierLocalUser",system:"settingsAppsTrustTierSystem","third-party":"settingsAppsTrustTierThirdParty"},Zk={uninstall:"settingsAppsUninstallTitle",enable:"settingsAppsEnableTitle",disable:"settingsAppsDisableTitle"},ey={uninstall:"settingsAppsUninstallMessage",enable:"settingsAppsEnableMessage",disable:"settingsAppsDisableMessage"};function Dn(e){return e===1?"":"s"}function ni(e,t){return t("settingsAppsPermissionCount",{count:e,pluralSuffix:Dn(e)})}function ty(e,t){return t("settingsAppsToolCount",{count:e,pluralSuffix:Dn(e)})}function ay(e,t){if(e.connectors.length===0)return null;const a=e.connectors.reduce((n,s)=>n+s.capabilities.length,0),o=t(a===1?"settingsAppsCapabilitySingular":"settingsAppsCapabilityPlural");return e.connectors.length===1?t("settingsAppsConnectorCountSingle",{connector:e.connectors[0].service,count:a,capabilityLabel:o}):t("settingsAppsConnectorCountMany",{connectorCount:e.connectors.length,count:a,capabilityLabel:o})}function ry(e,t){const a=Array.from(new Set(e.connectors.map(o=>o.auth?.kind??"none").filter(o=>o!=="none")));return a.length>0?`${t("settingsAppsAuthLabel")}: ${a.join(", ")}`:null}function oy(e){return e==="enabled"?"ready":e==="error"||e==="upgrade-pending"?"warm":"muted"}function si(e=[],t){return Qk(e[0],t)}async function ny(e,t){return(await e.json().catch(()=>null))?.error?.message??t}function ii(e,t){return e.findIndex(o=>o.id===t.id)<0?[...e,t]:e.map(o=>o.id===t.id?t:o)}function sy(e,t){return e.filter(a=>a.id!==t)}function li(e){return!e.enabled||e.installState!=="enabled"?null:e.lobbyEntries[0]?.routePath??null}function iy(e){return e.connectors.find(t=>t.setupPath)?.setupPath??e.settings?.[0]?.path??null}function ly({installedApps:e,onInstalledAppsUpdate:t}){const{t:a}=H(),o=Ne(),n=e.filter(x=>x.category==="capability-connector").length,{toasts:s,showToast:l}=at(),{dialog:c,confirm:u,handleClose:h}=jt(),[g,p]=d.useState(null),[b,w]=d.useState(""),[f,k]=d.useState(null),[m,C]=d.useState(!1);async function v(x,R){if(!await u({title:a(Zk[R]),message:a(ey[R],{appDisplayName:x.displayName}),confirmLabel:a(R==="uninstall"?"settingsAppsUninstallAction":R==="enable"?"settingsAppsEnableAction":"settingsAppsDisableAction"),defaultAction:"cancel"}))return;const I=`${x.id}:${R}`;p(I);try{const O=await fetch(R==="uninstall"?`/api/apps/${encodeURIComponent(x.id)}`:`/api/apps/${encodeURIComponent(x.id)}/${R}`,{method:R==="uninstall"?"DELETE":"POST",headers:{Accept:"application/json"}});if(!O.ok)throw new Error(await ny(O,a("settingsAppsMutationFailed",{action:a(R==="uninstall"?"settingsAppsUninstallAction":R==="enable"?"settingsAppsEnableAction":"settingsAppsDisableAction"),status:O.status})));const E=await O.json();R==="uninstall"?t?.(sy(e,E.appId??x.id)):E.app&&t?.(ii(e,E.app)),lt()}catch(O){l(Xr(O,a("settingsAppsMutationFailedFallback"),a))}finally{p(null)}}async function y(){const x=b.trim();if(!x){l(a("settingsAppsPackagePathRequired"));return}C(!0);try{const R=await fetch("/api/apps/validate",{method:"POST",headers:{Accept:"application/json","content-type":"application/json"},body:JSON.stringify({packagePath:x})}),P=await R.json();if(!R.ok||!P.ok||!P.manifest)throw new Error(si(P.issues,a));k({packagePath:P.packagePath??x,manifestPath:P.manifestPath??null,manifest:P.manifest})}catch(R){k(null),l(Xr(R,a("settingsAppsValidationFailed"),a))}finally{C(!1)}}async function L(){if(!(!f||!await u({title:a("settingsAppsInstallTitle"),message:a("settingsAppsInstallMessage",{appDisplayName:f.manifest.displayName}),confirmLabel:a("settingsAppsInstallButton"),defaultAction:"cancel"}))){C(!0);try{const R=await fetch("/api/apps/install",{method:"POST",headers:{Accept:"application/json","content-type":"application/json"},body:JSON.stringify({packagePath:f.packagePath,enable:!0})}),P=await R.json();if(!R.ok||!P.app)throw new Error(P.issues?si(P.issues,a):a("settingsAppsMutationFailed",{action:a("settingsAppsInstallButton"),status:R.status}));t?.(ii(e,P.app)),w(""),k(null),lt();const I=li(P.app);I&&o(I)}catch(R){l(Xr(R,a("settingsAppsMutationFailed",{action:a("settingsAppsInstallButton")}),a))}finally{C(!1)}}}const D=a("settingsAppsSectionTitle"),T=a("settingsAppsSectionDescription"),j=a("settingsAppsInstalledPackagesDescription",{count:n,pluralSuffix:Dn(n)});return r.jsxs(r.Fragment,{children:[r.jsx(Ce,{header:r.jsx(re,{title:D,description:T}),children:r.jsxs("div",{className:"settings-sub-card settingsAppsList",children:[r.jsx(me,{label:a("settingsAppsInstalledPackagesLabel"),description:j,control:r.jsx(Ot,{tone:e.length>0?"ready":"muted",children:e.length})}),e.length>0?e.map(x=>{const R=li(x),P=x.installState==="installed"||x.installState==="disabled",I=x.installState==="enabled",O=g?.startsWith(`${x.id}:`)??!1,E=ay(x,a),$=ry(x,a),G=iy(x);return r.jsx(me,{label:x.displayName,description:r.jsxs("span",{className:"settingsAppsMeta",children:[r.jsx("span",{children:a(ri[x.category],{})}),r.jsx("span",{children:a(oi[x.trustTier],{})}),r.jsx("span",{children:x.version}),r.jsx("span",{children:x.publisher}),r.jsx("span",{children:ni(x.permissions.length,a)}),E?r.jsx("span",{children:E}):null,$?r.jsx("span",{children:$}):null,x.tools.length>0?r.jsx("span",{children:ty(x.tools.length,a)}):null]}),control:r.jsxs(Je,{children:[R?r.jsx("a",{className:"secondaryButton settingsInlineLink",href:R,children:a("settingsAppsOpenAction")}):null,G?r.jsx("a",{className:"secondaryButton settingsInlineLink",href:G,children:a("settingsAppsSettingsAction")}):null,P?r.jsx("button",{type:"button",className:"secondaryButton",disabled:O,onClick:()=>{v(x,"enable")},children:a("settingsAppsEnableAction")}):null,I?r.jsx("button",{type:"button",className:"secondaryButton",disabled:O,onClick:()=>{v(x,"disable")},children:a("settingsAppsDisableAction")}):null,r.jsx("button",{type:"button",className:"dangerButton",disabled:O,onClick:()=>{v(x,"uninstall")},children:a("settingsAppsUninstallAction")}),r.jsx(Ot,{tone:oy(x.installState),children:a(Xk[x.installState],{})})]})},x.id)}):r.jsx(me,{label:a("settingsAppsNoInstalledAppsLabel"),description:a("settingsAppsNoInstalledAppsDescription"),control:r.jsx(Ot,{tone:"muted",children:a("settingsAppsEmptyStateChipLabel")})}),r.jsx(me,{label:a("settingsAppsLocalInstallTitle"),description:a("settingsAppsLocalInstallDescription"),layout:"stack",control:r.jsxs("div",{className:"settingsAppsInstall",children:[r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:a("settingsAppsPackagePathLabel")}),r.jsx("input",{className:"textInput",value:b,placeholder:a("settingsAppsPackagePathPlaceholder"),disabled:m,onChange:x=>{w(x.target.value),k(null)}})]}),r.jsxs(Je,{children:[r.jsx("button",{type:"button",className:"secondaryButton",disabled:m,onClick:()=>{y()},children:a("settingsAppsReviewButton")}),r.jsx(Ot,{tone:f?"ready":"warm",children:a(f?"settingsAppsLocalInstallReady":"settingsAppsLocalInstallNeedsReview")})]}),f?r.jsxs("div",{className:"settingsAppsReview",children:[r.jsx("span",{children:f.manifest.displayName}),r.jsx("span",{children:f.manifest.id}),r.jsx("span",{children:f.manifest.contributions.lobbyApps?.[0]?.routePath??a("settingsAppsNoLobbyRoute")}),r.jsx("span",{children:a(ri[f.manifest.category],{})}),r.jsx("span",{children:a(oi[f.manifest.trustTier],{})}),r.jsx("span",{children:ni(f.manifest.permissions.length,a)}),r.jsx(Je,{children:r.jsx("button",{type:"button",className:"primaryButton",disabled:m,onClick:()=>{L()},children:a("settingsAppsInstallButton")})})]}):null]})})]})}),r.jsx(Mt,{dialog:c,onClose:h}),r.jsx(rt,{toasts:s})]})}const cy={chat:{title:"settingsAdvancedDraftControlsTitle",description:"settingsAdvancedDraftControlsDescription",toggleDescription:"settingsAdvancedDraftControlsToggleDescription"},code:{title:"settingsAdvancedDraftControlsTitle",description:"settingsAdvancedDraftControlsDescription",toggleDescription:"settingsAdvancedDraftControlsToggleDescription"},work:{title:"settingsAdvancedDraftControlsTitle",description:"settingsAdvancedDraftControlsDescription",toggleDescription:"settingsAdvancedDraftControlsToggleDescription"}};function Nn({surface:e,enabled:t,disabled:a=!1,onToggle:o}){if(e!=="chat"&&e!=="code"&&e!=="work")return null;const{t:n}=H(),s=cy[e];return r.jsx(Ce,{header:r.jsx(re,{title:n(s.title),description:n(s.description,{surface:n(`settingsConversationProductLabel${e==="chat"?"Chat":e==="code"?"Code":"Work"}`)})}),children:r.jsx(me,{label:n("settingsAdvancedDraftControlsEnableLabel"),description:n(s.toggleDescription,{surface:n(`settingsConversationProductLabel${e==="chat"?"Chat":e==="code"?"Code":"Work"}`)}),control:r.jsx("input",{type:"checkbox",checked:t,disabled:a,onChange:l=>o(l.target.checked)})})})}async function dy(e,t){return mn("chat",e,t)}async function uy(e,t){return mn("code",e,t)}async function py(e,t){return mn("work",e,t)}const hy={chat:dy,code:uy,work:py};function my(e,t,a){return hy[e](t,a)}const gy=[/^cats chat rename returned \d+$/u,/^cats chat deletion returned \d+$/u,/^parallel chat rename returned \d+$/u,/^parallel chat ungroup returned \d+$/u,/^parallel chat deletion returned \d+$/u];function ed(e,t){return e.startsWith("Chat not found:")?t(i.sharedWorkspaceNavigationErrorChatNotFound):e.startsWith("Channel not found:")||e==="Channel not found."?t(i.sharedWorkspaceNavigationErrorChannelNotFound):e.startsWith("Parallel chat group not found:")?t(i.sharedWorkspaceNavigationErrorParallelChatGroupNotFound):e==="Title must not be empty."?t(i.sharedWorkspaceNavigationErrorTitleRequired):e==="Parallel chat title must not be empty."?t(i.sharedWorkspaceNavigationErrorParallelChatTitleRequired):null}function zL(e,t,a){if(!(e instanceof Error))return t;const o=ed(e.message,a);return o||(gy.some(n=>n.test(e.message))?t:e.message)}const fy=[/^cats conversation behavior update returned \d+$/u,/^cats advanced draft controls update returned \d+$/u];function ka(e,t,a){if(!(e instanceof Error))return t;const o=ed(e.message,a);return o||(fy.some(n=>n.test(e.message))?t:e.message)}const wy={chat:"settingsConversationProductLabelChat",code:"settingsConversationProductLabelCode",work:"settingsConversationProductLabelWork"};function by(e,t,a){return{...e,chat:{...e.chat,conversationBehavior:Jm(e.chat.conversationBehavior,{[t]:a})}}}function jn({surface:e,payload:t,onPayloadUpdate:a,onError:o}){const{t:n}=H(),s=n(wy[e]),l=Xm(t.chat.conversationBehavior,e);async function c(u,h){a(by(t,e,u));try{const g=await my(e,u);d.startTransition(()=>a(g))}catch(g){a(t),o(ka(g,h,n))}}return r.jsxs(Ce,{header:r.jsx(re,{title:n("settingsConversationBehaviorTitle"),description:n("settingsConversationBehaviorDescription",{product:s})}),children:[r.jsx(me,{label:n("settingsConversationShowVerboseLabel"),description:n("settingsConversationShowVerboseDescription"),control:r.jsx("input",{type:"checkbox",checked:l.showVerboseMessages,onChange:()=>{c({showVerboseMessages:!l.showVerboseMessages},n("settingsConversationUpdateFailure"))}})}),r.jsx(me,{label:n("settingsConversationShowLiveProgressLabel"),description:n("settingsConversationShowLiveProgressDescription"),control:r.jsx("input",{type:"checkbox",checked:l.showLiveProgressDetails,onChange:()=>{c({showLiveProgressDetails:!l.showLiveProgressDetails},n("settingsConversationUpdateFailure"))}})}),r.jsx(me,{label:n("settingsConversationConcurrentLayoutLabel"),description:n("settingsConversationConcurrentLayoutDescription",{product:s}),layout:"stack",control:r.jsxs("select",{className:"textInput",value:l.concurrentPresentationMode,onChange:u=>{c({concurrentPresentationMode:u.target.value},n("settingsConversationUpdateFailure"))},children:[r.jsx("option",{value:"inline_stack",children:n("settingsConversationLayoutInlineStack")}),r.jsx("option",{value:"compare_cards",children:n("settingsConversationLayoutCompareCards")}),r.jsx("option",{value:"focus_rail",children:n("settingsConversationLayoutFocusRail")}),r.jsx("option",{value:"adaptive",children:n("settingsConversationLayoutAdaptive")})]})})]})}function ky({payload:e,onPayloadUpdate:t}){const{toasts:a,showToast:o}=at(),{t:n}=H();async function s(h){const g=e.chat.advancedDraftControls,p=fr(g);p.chat=h,t({...e,chat:{...e.chat,advancedDraftControls:p}});try{const b=await gn({chat:h});d.startTransition(()=>t(b))}catch(b){t({...e,chat:{...e.chat,advancedDraftControls:g}}),o(ka(b,n("settingsChatAdvancedControlsFailure"),n))}}async function l(h){const g=e,p=e.chat.globalOrchestrator;t({...e,chat:{...e.chat,globalOrchestrator:{...p,mcpProfile:h}}});try{const b=await xg({mcpProfile:h});d.startTransition(()=>t(b))}catch(b){t(g),o(ka(b,n(i.settingsChatBossToolProfileUpdateFailure),n))}}const c=ln(e.chat.advancedDraftControls,"chat"),u=e.chat.globalOrchestrator.mcpProfile??et;return r.jsxs(r.Fragment,{children:[r.jsx(Ce,{header:r.jsx(re,{title:n(i.settingsChatBossToolProfileTitle)}),children:r.jsx(me,{label:n(i.sharedSettingsCatsMcpProfileLabel),layout:"stack",control:r.jsx("div",{className:"settingsSegmentedControl",role:"radiogroup","aria-label":n(i.sharedSettingsCatsMcpProfileLabel),children:Dt.map(h=>r.jsx("button",{type:"button",role:"radio","aria-checked":u===h.value,className:"settingsSegmentedOption","data-active":u===h.value?"true":"false",onClick:()=>{u!==h.value&&l(h.value)},children:n(h.label)},h.value))})})}),r.jsx(jn,{surface:"chat",payload:e,onPayloadUpdate:t,onError:o}),r.jsx(Nn,{surface:"chat",enabled:c,onToggle:h=>{s(h)}}),r.jsx(rt,{toasts:a})]})}function yy({payload:e,onPayloadUpdate:t}){const{toasts:a,showToast:o}=at(),{t:n}=H(),s=ln(e.chat.advancedDraftControls,"code");async function l(c){const u=e.chat.advancedDraftControls,h=fr(u);h.code=c,t({...e,chat:{...e.chat,advancedDraftControls:h}});try{const g=await gn({code:c});d.startTransition(()=>t(g))}catch(g){t({...e,chat:{...e.chat,advancedDraftControls:u}}),o(ka(g,n("settingsConversationPreferenceUpdateFailure"),n))}}return r.jsxs(r.Fragment,{children:[r.jsx(jn,{surface:"code",payload:e,onPayloadUpdate:t,onError:o}),r.jsx(Nn,{surface:"code",enabled:s,onToggle:c=>{l(c)}}),r.jsx(rt,{toasts:a})]})}const vy=[/^setup reset returned \d+$/u];function Cy(e,t){return e instanceof Error?vy.some(a=>a.test(e.message))?t:e.message:t}function Sy({busy:e,onResetSetup:t}){const a=cb(e),{toasts:o,showToast:n}=at(),{t:s}=H();async function l(){try{await t()}catch(c){n(Cy(c,s("settingsDataResetFailure")))}}return r.jsxs(r.Fragment,{children:[r.jsx(rb,{title:s("settingsDataResetAllDataTitle"),description:s("settingsDataResetAllDataDescription"),children:r.jsx("button",{className:"dangerButton",type:"button",disabled:a,onClick:()=>{l()},children:s(a?"settingsDataResetButtonResetting":"settingsDataResetButtonLabel")})}),r.jsx(rt,{toasts:o})]})}const Ly=[{version:1,size:21,dataCodewords:19,errorCodewords:7,alignmentCenters:[]},{version:2,size:25,dataCodewords:34,errorCodewords:10,alignmentCenters:[6,18]},{version:3,size:29,dataCodewords:55,errorCodewords:15,alignmentCenters:[6,22]},{version:4,size:33,dataCodewords:80,errorCodewords:20,alignmentCenters:[6,26]},{version:5,size:37,dataCodewords:108,errorCodewords:26,alignmentCenters:[6,30]}],Ry=4,Py=1,xy=0,Ay=21522,Ty=1335,ci=[236,17],la=new Array(512),To=new Array(256);let aa=1;for(let e=0;e<255;e+=1)la[e]=aa,To[aa]=e,aa<<=1,(aa&256)!==0&&(aa^=285);for(let e=255;e<la.length;e+=1)la[e]=la[e-255]??1;function Do(e,t){return e===0||t===0?0:la[(To[e]??0)+(To[t]??0)]??0}function Dy(e){const t=new Array(e).fill(0);t[e-1]=1;let a=1;for(let o=0;o<e;o+=1){for(let n=0;n<e;n+=1)t[n]=Do(t[n]??0,a),n+1<e&&(t[n]^=t[n+1]??0);a=Do(a,2)}return t}function Ny(e,t){const a=new Array(t.length).fill(0);for(const o of e){const n=o^(a.shift()??0);a.push(0);for(let s=0;s<t.length;s+=1)a[s]=(a[s]??0)^Do(t[s]??0,n)}return a}function sa(e,t,a){for(let o=a-1;o>=0;o-=1)e.push(t>>>o&1)}function jy(e){const t=[];for(let a=0;a<e.length;a+=8){let o=0;for(let n=0;n<8;n+=1)o=o<<1|(e[a+n]??0);t.push(o)}return t}function My(e){return Ly.find(t=>12+e*8<=t.dataCodewords*8)??null}function Ey(e,t){const a=Array.from(new TextEncoder().encode(e)),o=[],n=t.dataCodewords*8;sa(o,Ry,4),sa(o,a.length,8);for(const c of a)sa(o,c,8);for(sa(o,0,Math.min(4,n-o.length));o.length%8!==0;)o.push(0);const s=jy(o);let l=0;for(;s.length<t.dataCodewords;)s.push(ci[l%ci.length]??236),l+=1;return s}function Iy(e){return{modules:Array.from({length:e},()=>new Array(e).fill(!1)),functionModules:Array.from({length:e},()=>new Array(e).fill(!1))}}function Ae(e,t,a,o,n){o<0||o>=e.length||a<0||a>=e.length||(e[o][a]=n,t[o][a]=!0)}function Zr(e,t,a,o){for(let n=-4;n<=4;n+=1)for(let s=-4;s<=4;s+=1){const l=Math.max(Math.abs(s),Math.abs(n));Ae(e,t,a+s,o+n,l!==2&&l!==4)}}function By(e,t,a,o){for(let n=-2;n<=2;n+=1)for(let s=-2;s<=2;s+=1){const l=Math.max(Math.abs(s),Math.abs(n));Ae(e,t,a+s,o+n,l!==1)}}function Fy(e,t){const a=e.length;for(let o=0;o<=8;o+=1)o!==6&&(Ae(e,t,8,o,!1),Ae(e,t,o,8,!1));for(let o=0;o<8;o+=1)Ae(e,t,a-1-o,8,!1);for(let o=8;o<15;o+=1)Ae(e,t,8,a-15+o,!1)}function Oy(e,t,a){const o=e.length;Zr(e,t,3,3),Zr(e,t,o-4,3),Zr(e,t,3,o-4);for(const n of a.alignmentCenters)for(const s of a.alignmentCenters)t[n]?.[s]||By(e,t,s,n);for(let n=0;n<o;n+=1)t[6][n]||Ae(e,t,n,6,n%2===0),t[n][6]||Ae(e,t,6,n,n%2===0);Ae(e,t,8,o-8,!0),Fy(e,t)}function Wy(e,t){return(e+t)%2===0}function Uy(e,t,a){const o=e.length,n=[];for(const c of a)sa(n,c,8);let s=0,l=!0;for(let c=o-1;c>=1;c-=2){c===6&&(c-=1);for(let u=0;u<o;u+=1){const h=l?o-1-u:u;for(let g=0;g<2;g+=1){const p=c-g;if(t[h][p])continue;const b=(n[s]??0)===1;e[h][p]=Wy(p,h)?!b:b,s+=1}}l=!l}}function Hy(){const e=Py<<3|xy;let t=e<<10;for(let a=14;a>=10;a-=1)(t>>>a&1)!==0&&(t^=Ty<<a-10);return(e<<10|t)^Ay}function _y(e,t){const a=e.length,o=Hy(),n=s=>(o>>>s&1)!==0;for(let s=0;s<=5;s+=1)Ae(e,t,8,s,n(s));Ae(e,t,8,7,n(6)),Ae(e,t,8,8,n(7)),Ae(e,t,7,8,n(8));for(let s=9;s<15;s+=1)Ae(e,t,14-s,8,n(s));for(let s=0;s<8;s+=1)Ae(e,t,a-1-s,8,n(s));for(let s=8;s<15;s+=1)Ae(e,t,8,a-15+s,n(s));Ae(e,t,8,a-8,!0)}function Gy(e){const t=new TextEncoder().encode(e),a=My(t.length);if(!a)return null;const o=Ey(e,a),n=Ny(o,Dy(a.errorCodewords)),{modules:s,functionModules:l}=Iy(a.size);return Oy(s,l,a),Uy(s,l,[...o,...n]),_y(s,l),{size:a.size,cells:s}}const Ky=new Set(["Desktop host is not initialized.","Invalid desktop startup preferences payload."]);function di(e,t,a){return e instanceof Error?Ky.has(e.message)?t:e.message:t}const td={enabled:!1,bindHost:"127.0.0.1",bindPort:0,bindReachability:"loopback",canReachFromLan:!1,selectedLanIp:null,selectedLanUrl:null,diagnosticManifestUrl:null,noLanCandidateReason:"feature_disabled",bindOverrideEnv:"CATS_DESKTOP_APP_HOST=0.0.0.0",pairingUrlStatus:"phase1_pending",pairingUrl:null};function qy(e,t){return e.noLanCandidateReason==="loopback_bound"?t("settingsDesktopMobilePairingReachabilityLoopback"):e.noLanCandidateReason==="no_lan_candidate"?t("settingsDesktopMobilePairingReachabilityLan"):e.noLanCandidateReason==="bind_host_not_lan_candidate"?t("settingsDesktopMobilePairingReachabilityOtherInterface"):t("settingsDesktopMobilePairingReachabilityAllInterfaces")}function $y(e,t){return e.enabled?e.noLanCandidateReason==="loopback_bound"?{tone:"warm",label:t("settingsDesktopMobilePairingStatusLoopbackOnly")}:e.noLanCandidateReason==="no_lan_candidate"||e.noLanCandidateReason==="bind_host_not_lan_candidate"?{tone:"warm",label:t("settingsDesktopMobilePairingStatusNoLanAddress")}:e.pairingUrlStatus==="ready"&&e.pairingUrl?{tone:"ready",label:t("settingsDesktopMobilePairingStatusReady")}:{tone:"warm",label:t("settingsDesktopMobilePairingStatusValidationPending")}:{tone:"muted",label:t("settingsDesktopMobilePairingStatusDisabled")}}function ui(){return{startAtLogin:!0,openWindowOnStartup:!1,systemTrayEnabled:!0,mobilePairing:td}}function zy({t:e,url:t}){const a=Gy(t);if(!a)return r.jsx("span",{children:e("settingsDesktopMobilePairingQrUrlTooLong")});const o=[];for(let n=0;n<a.size;n+=1)for(let s=0;s<a.size;s+=1)a.cells[n]?.[s]&&o.push(r.jsx("rect",{x:s,y:n,width:"1",height:"1"},`${s}:${n}`));return r.jsxs("svg",{className:"settingsMobilePairingQrCode",viewBox:`-4 -4 ${a.size+8} ${a.size+8}`,role:"img","aria-label":e("settingsDesktopMobilePairingQrCodeLabel"),shapeRendering:"crispEdges",children:[r.jsx("rect",{x:"-4",y:"-4",width:a.size+8,height:a.size+8,className:"qrLight"}),r.jsx("g",{className:"qrDark",children:o})]})}function Vy({payload:e,onPayloadUpdate:t}){const{t:a}=H(),[o,n]=d.useState(!1),[s,l]=d.useState(!1),c=e.desktop??ui(),u=c.mobilePairing??td,h=$y(u,a),{toasts:g,showToast:p}=at();async function b(k,m){try{await navigator.clipboard.writeText(k),p(m)}catch{p(a("settingsConversationPreferenceUpdateFailure"))}}async function w(){const k=`CATS_DESKTOP_MOBILE_PAIRING_ENABLED=true
|
|
43
|
+
CATS_DESKTOP_APP_HOST=0.0.0.0`,m=window.catsDesktopHost;if(!m?.enableMobilePairing){await b(k,a("settingsDesktopMobilePairingCopyEnvValuesSuccess"));return}if(window.confirm(a("settingsDesktopMobilePairingConfirmRestart"))){l(!0);try{const v=await m.enableMobilePairing();p(a("settingsDesktopMobilePairingDesktopUpdateSuccess",{envPath:v.envPath})),m.relaunch&&await m.relaunch()}catch(v){p(di(v,a("settingsDesktopMobilePairingDesktopUpdateFailure"))),l(!1)}}}async function f(k){const m=e.desktop??ui(),C=a("settingsConversationPreferenceUpdateFailure");t({...e,desktop:k}),n(!0);try{const v=window.catsDesktopHost;let y=k;if(v?.updateDesktopPreferences)y=await v.updateDesktopPreferences(k);else{const L=await fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(k)});if(!L.ok)throw new Error(C);const D=await L.json();y={...c,startAtLogin:D.startAtLogin!==!1,openWindowOnStartup:D.openWindowOnStartup===!0,systemTrayEnabled:D.systemTrayEnabled!==!1}}t({...e,desktop:y}),lt()}catch(v){t({...e,desktop:m}),p(di(v,C))}finally{n(!1)}}return r.jsxs(r.Fragment,{children:[r.jsx(Ce,{className:"settingsMobilePairing",header:r.jsx(re,{title:a("settingsDesktopMobilePairingTitle"),description:a("settingsDesktopMobilePairingDescription"),status:r.jsx(Ot,{tone:h.tone,children:h.label})}),children:u.enabled?r.jsxs("div",{className:"settingsMobilePairingGrid",children:[r.jsxs("div",{className:"settingsMobilePairingDetails",children:[r.jsxs("dl",{className:"settingsMobilePairingFacts",children:[r.jsxs("div",{children:[r.jsx("dt",{children:a("settingsDesktopMobilePairingBindLabel")}),r.jsxs("dd",{children:[u.bindHost,":",u.bindPort]})]}),r.jsxs("div",{children:[r.jsx("dt",{children:a("settingsDesktopMobilePairingReachabilityLabel")}),r.jsx("dd",{children:qy(u,a)})]}),r.jsxs("div",{children:[r.jsx("dt",{children:a("settingsDesktopMobilePairingLanAddressLabel")}),r.jsx("dd",{children:u.selectedLanIp??a("settingsDesktopMobilePairingNoneLabel")})]})]}),u.noLanCandidateReason==="loopback_bound"&&u.bindOverrideEnv?r.jsx(me,{label:a("settingsDesktopMobilePairingAllowLanLabel"),description:a("settingsDesktopMobilePairingAllowLanDescription",{bindOverrideEnv:u.bindOverrideEnv}),control:r.jsx("button",{type:"button",className:"secondaryButton",disabled:s,onClick:()=>{w()},children:a(s?"settingsDesktopMobilePairingApplyingButton":"settingsDesktopMobilePairingApplyAndRestartButton")})}):null,u.noLanCandidateReason==="no_lan_candidate"?r.jsx("p",{className:"settingsMobilePairingNote",children:a("settingsDesktopMobilePairingNoLanAddressNote")}):null,u.noLanCandidateReason==="bind_host_not_lan_candidate"?r.jsx("p",{className:"settingsMobilePairingNote",children:a("settingsDesktopMobilePairingHostMismatchNote")}):null,u.diagnosticManifestUrl?r.jsx(me,{label:a("settingsDesktopMobilePairingDiagnosticLabel"),description:u.diagnosticManifestUrl,control:r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>{b(u.diagnosticManifestUrl??"",a("settingsDesktopMobilePairingDiagnosticCopiedMessage"))},children:a("settingsDesktopMobilePairingDiagnosticCopyButton")}),layout:"stack"}):null,u.pairingUrlStatus==="ready"&&u.pairingUrl?r.jsx(me,{label:a("settingsDesktopMobilePairingExpoUrlLabel"),description:u.pairingUrl,control:r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>{b(u.pairingUrl??"",a("settingsDesktopMobilePairingExpoUrlCopiedMessage"))},children:a("settingsDesktopMobilePairingCopyUrlButton")}),layout:"stack"}):null]}),r.jsx("div",{className:"settingsMobilePairingQr","data-state":u.pairingUrlStatus,children:u.pairingUrlStatus==="ready"&&u.pairingUrl?r.jsxs("div",{className:"settingsMobilePairingQrContent",children:[r.jsx(zy,{t:a,url:u.pairingUrl}),r.jsx("code",{className:"settingsMobilePairingQrUrl",children:u.pairingUrl})]}):r.jsx("span",{children:a("settingsDesktopMobilePairingNoPairingUrlStatus")})})]}):r.jsx(me,{label:a("settingsDesktopMobilePairingEnableLabel"),description:a("settingsDesktopMobilePairingEnableDescription"),control:r.jsx("button",{type:"button",className:"secondaryButton",disabled:s,onClick:()=>{w()},children:a(s?"settingsDesktopMobilePairingApplyingButton":"settingsDesktopMobilePairingEnableButton")}),layout:"stack"})}),r.jsxs(Ce,{header:r.jsx(re,{title:a("settingsDesktopStartupTitle"),description:a("settingsDesktopStartupDescription")}),children:[r.jsx(me,{asChoice:!0,label:a("settingsDesktopStartupSignInLabel"),description:a("settingsDesktopStartupSignInDescription"),control:r.jsx("input",{type:"checkbox",checked:c.startAtLogin,disabled:o,onChange:()=>{f({...c,startAtLogin:!c.startAtLogin})}})}),r.jsx(me,{asChoice:!0,label:a("settingsDesktopStartupTrayLabel"),description:a("settingsDesktopStartupTrayDescription"),control:r.jsx("input",{type:"checkbox",checked:c.systemTrayEnabled,disabled:o,onChange:()=>{f({...c,systemTrayEnabled:!c.systemTrayEnabled})}})}),r.jsx(me,{asChoice:!0,label:a("settingsDesktopStartupOpenWindowLabel"),description:a("settingsDesktopStartupOpenWindowDescription"),control:r.jsx("input",{type:"checkbox",checked:c.openWindowOnStartup,disabled:o,onChange:()=>{f({...c,openWindowOnStartup:!c.openWindowOnStartup})}})})]}),r.jsx(rt,{toasts:g})]})}const ad=["en","zh-TW","zh-CN","ja","ko","fr","de","es","pt-BR","it","nl","pl","tr","id","vi","th","hi","ar"];function pi(e){return e==="unspecified"||ad.includes(e)}const Yy=new Set(["POST","PUT","PATCH","DELETE"]),No="x-cats-csrf-token";let yr=null,ra=null,Ye=null,hi=!1;function Qy(e){const t=e?.trim();yr=t||null}function Jy(){yr=null}async function mi(){if(!Ye)return null;if(ra)return ra;ra=(async()=>{try{const t=await Ye("/api/auth/status",{headers:{Accept:"application/json"},credentials:"same-origin"});if(!t.ok)return null;const o=(await t.json())?.csrfToken?.trim();return o||null}catch{return null}finally{ra=null}})();const e=await ra;return e&&(yr=e),e}function Xy(e,t){return t?.method?t.method.toUpperCase():e instanceof Request?e.method.toUpperCase():"GET"}function Zy(e){return typeof e=="string"?e:e instanceof URL?e.href:e.url}function ev(e){try{const t=new URL(e,window.location.origin);return t.origin===window.location.origin&&t.pathname.startsWith("/api/")}catch{return!1}}function gi(e){if(!e)return[];if(e instanceof Headers){const t=[];return e.forEach((a,o)=>{t.push([o,a])}),t}return Array.isArray(e)?e.map(([t,a])=>[t,a]):Object.entries(e)}function tv(e,t){return e instanceof Request?gi(e.headers):gi(t?.headers)}function av(e,t){const a=t.toLowerCase();return e.some(([o])=>o.toLowerCase()===a)}function rv(e){return e.some(([t,a])=>t.toLowerCase()==="authorization"&&/^bearer\s/i.test(a))}function fi(e,t,a){if(e instanceof Request){const n=new Headers(e.headers);return n.set(No,a),{input:new Request(e,{headers:n}),init:t}}const o=new Headers(t?.headers);return o.set(No,a),{input:e,init:{...t,headers:o}}}async function ov(e){if(e.status!==403)return!1;try{return(await e.clone().json())?.error?.code==="E_CSRF_MISMATCH"}catch{return!1}}async function nv(e,t){if(!Ye)throw new Error("csrfAwareFetch invoked before installation");const a=Xy(e,t);if(!Yy.has(a))return Ye(e,t);const o=Zy(e);if(!ev(o))return Ye(e,t);const n=tv(e,t);if(av(n,No)||rv(n))return Ye(e,t);let s=yr??await mi();if(!s)return Ye(e,t);const l=fi(e,t,s),c=await Ye(l.input,l.init);if(!await ov(c)||(Jy(),s=await mi(),!s))return c;const u=fi(e,t,s);return Ye(u.input,u.init)}function sv(){hi||typeof window>"u"||(hi=!0,Ye=window.fetch.bind(window),window.fetch=((e,t)=>nv(e,t)))}class Mn extends Error{constructor(t,a,o){super(t),this.status=a,this.code=o,this.name="PlatformAuthApiError"}}function iv(e,t){return e instanceof Mn&&e.code===t}async function lv(e,t){try{const a=await e.json(),o=mv(a);if(typeof o?.code=="string"){const n=o.code,s=t.errorMessagesByCode?.[n];return s?{message:s,code:n}:{message:t.fallbackMessageForStatus(e.status),code:n}}if(typeof o?.message=="string")return{message:o.message,code:null}}catch{}return{message:t.fallbackMessageForStatus(e.status),code:null}}async function jo(e){const t=await fetch("/api/auth/status",{headers:{Accept:"application/json"},signal:e.signal});return Da(t,e)}async function cv(e,t){const a=await fetch("/api/auth/login",{method:"POST",headers:{Accept:"application/json","content-type":"application/json"},body:JSON.stringify(e),signal:t.signal});return Da(a,t)}async function dv(e,t){const a=await fetch("/api/auth/google/login",{method:"POST",headers:{Accept:"application/json","content-type":"application/json"},body:JSON.stringify(e),signal:t.signal});return Da(a,t)}async function uv(e,t){const a=await fetch("/api/auth/repair/first-admin",{method:"POST",headers:{Accept:"application/json","content-type":"application/json"},body:JSON.stringify(e),signal:t.signal});return Da(a,t)}async function pv(e,t){const a=await fetch("/api/auth/logout",{method:"POST",headers:{Accept:"application/json","content-type":"application/json","x-cats-csrf-token":e},body:JSON.stringify({}),signal:t.signal});return Da(a,t)}async function hv(e,t){const a=await jo(t),o=wi(a);try{return await e(o)}catch(s){if(!iv(s,"E_CSRF_MISMATCH"))throw s}const n=await jo(t);return e(wi(n))}async function Da(e,t){if(!e.ok){const o=await lv(e,t);throw new Mn(o.message,e.status,o.code)}const a=await e.json();return Qy(a.csrfToken),a}function wi(e){const t=e.csrfToken?.trim();if(!t)throw new Mn("Authenticated session did not return a Cats CSRF token.",403,"E_CSRF_MISMATCH");return t}function mv(e){if(typeof e!="object"||e===null||!("error"in e))return null;const t=e.error;return typeof t=="object"&&t!==null?t:null}const Xe={unauthenticated:"E_UNAUTHENTICATED",forbidden:"E_FORBIDDEN",csrfMismatch:"E_CSRF_MISMATCH"};function gv(e){return e==="auto"||e==="en"||e==="zh-TW"}function eo(e,t){return{assistantResponseLanguage:e?.assistantResponseLanguage??"unspecified",uiLanguagePreference:e?.uiLanguagePreference??t}}function fv(e,t){const a=e==="zh-TW"?"zh-Hant":e==="zh-CN"?"zh-Hans":e;try{return new Intl.DisplayNames([t],{type:"language"}).of(a)??e}catch{return e}}function wv({payload:e,onPayloadUpdate:t}){const a=Ne(),{languagePreference:o,locale:n,setLanguagePreference:s,t:l}=H(),[c,u]=d.useState(!1),[h,g]=d.useState(!1),[p,b]=d.useState(!1),[w,f]=d.useState(!1),[k,m]=d.useState(!1),[C,v]=d.useState(e.ownerDisplayName),[y,L]=d.useState(!1),D=d.useRef(!1),T=Zo(),{toasts:j,showToast:x}=at();d.useEffect(()=>{v(e.ownerDisplayName)},[e.ownerDisplayName]);async function R(N,_){try{if(!(await fetch("/api/core/owner-profile",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({avatarUrl:N})})).ok)throw new Error(_);t({...e,ownerAvatarUrl:N}),lt()}catch(J){x(J instanceof Error?J.message:_)}}async function P(){if(D.current){D.current=!1;return}const N=C.trim();if(!N){v(e.ownerDisplayName);return}if(N===e.ownerDisplayName){v(e.ownerDisplayName);return}L(!0);try{if(!(await fetch("/api/core/owner-profile",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({displayName:N})})).ok)throw new Error(l("settingsGeneralUpdateNameError"));t({...e,ownerDisplayName:N}),lt()}catch(_){x(_ instanceof Error?_.message:l("settingsGeneralUpdateNameError"))}finally{L(!1)}}async function I(N,_){const J=e.lobby;t({...e,lobby:{...e.lobby,animationMode:N}}),g(!0);try{const X=await fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({lobbyAnimationMode:N})});if(!X.ok)throw new Error(_);const oe=await X.json();t({...e,lobby:{...e.lobby,animationMode:oe.lobbyAnimationMode??N}}),lt()}catch(X){t({...e,lobby:J}),x(X instanceof Error?X.message:_)}finally{g(!1)}}async function O(N){if(N===o)return;const _=o,J=eo(e.language,_);s(N),t({...e,language:{...J,uiLanguagePreference:N}}),b(!0);try{const X=await fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({uiLanguagePreference:N})});if(!X.ok)throw new Error(l("settingsGeneralUpdateLanguageError"));const oe=await X.json(),we=gv(oe.uiLanguagePreference)?oe.uiLanguagePreference:N;s(we),t({...e,language:{...J,uiLanguagePreference:we}}),lt()}catch(X){s(_),t({...e,language:J}),x(X instanceof Error?X.message:l("settingsGeneralUpdateLanguageError"))}finally{b(!1)}}async function E(N){const _=eo(e.language,o);if(N!==_.assistantResponseLanguage){t({...e,language:{..._,assistantResponseLanguage:N}}),f(!0);try{const J=await fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({assistantResponseLanguage:N})});if(!J.ok)throw new Error(l("settingsGeneralUpdateAssistantLanguageError"));const X=await J.json(),oe=pi(X.assistantResponseLanguage)?X.assistantResponseLanguage:N;t({...e,language:{..._,assistantResponseLanguage:oe}}),lt()}catch(J){t({...e,language:_}),x(J instanceof Error?J.message:l("settingsGeneralUpdateAssistantLanguageError"))}finally{f(!1)}}}async function $(N){try{T.update({sidecarMode:N})}catch(_){x(_ instanceof Error?_.message:l("settingsGeneralUpdateGuideCatModeError"))}}async function G(){m(!0);try{const N={fallbackMessageForStatus:_=>l("settingsGeneralSignOutFailedWithStatus",{status:_}),errorMessagesByCode:{[Xe.csrfMismatch]:l("settingsGeneralSignOutCsrfError"),[Xe.forbidden]:l("settingsGeneralSignOutForbiddenError"),[Xe.unauthenticated]:l("settingsGeneralSignOutUnauthenticated")}};await hv(_=>pv(_,N),N),a("/login",{replace:!0})}catch(N){x(N instanceof Error?N.message:l("settingsGeneralSignOutFailed"))}finally{m(!1)}}const ee=e.ownerAvatarUrl,B=fe(C||e.ownerDisplayName),q=ct(),F=fa(e.guideCat?.status),Q=e.lobby??{animationMode:"reduced"},he=eo(e.language,o).assistantResponseLanguage,W=d.useMemo(()=>ad.map(N=>({code:N,label:fv(N,n)})),[n]);return r.jsxs(r.Fragment,{children:[r.jsx(Ce,{header:r.jsx(re,{title:l("settingsGeneralProfileTitle"),description:l("settingsGeneralProfileDescription")}),children:r.jsxs("div",{className:"settings-sub-card",children:[r.jsxs("div",{className:"fieldLabel",children:[r.jsx("span",{children:l("settingsGeneralAvatarLabel")}),r.jsxs("div",{className:"settingsOwnerAvatarDock",children:[r.jsx("button",{type:"button",className:"settingsOwnerAvatar",style:ee?{backgroundImage:`url(${ee})`,backgroundSize:"cover",backgroundPosition:"center",color:"transparent"}:void 0,onClick:()=>u(!0),"aria-label":l(ee?"settingsGeneralAvatarChangeLabel":"settingsGeneralAvatarUploadLabel"),"data-tooltip":l(ee?"settingsGeneralAvatarChangeLabel":"settingsGeneralAvatarUploadLabel"),children:ee?"":B}),r.jsx("span",{className:"settingsOwnerAvatarCamera","aria-hidden":"true",children:r.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),r.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}),ee?r.jsx("button",{type:"button",className:"settingsOwnerAvatarRemove",onClick:N=>{N.stopPropagation(),R(null,l("settingsGeneralRemoveAvatarError"))},"aria-label":l("settingsGeneralAvatarRemoveLabel"),"data-tooltip":l("settingsGeneralAvatarRemoveLabel"),children:r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:l("settingsGeneralNameLabel")}),r.jsx("input",{className:"textInput",value:C,onChange:N=>v(N.target.value),onBlur:()=>{P()},onKeyDown:N=>{N.key==="Enter"?(N.preventDefault(),P()):N.key==="Escape"&&(N.preventDefault(),D.current=!0,v(e.ownerDisplayName),N.currentTarget.blur())},disabled:y,"aria-busy":y})]})]})}),r.jsx(Ce,{header:r.jsx(re,{title:l("settingsGeneralAccountTitle"),description:l("settingsGeneralAccountDescription")}),children:r.jsx("div",{className:"setupActionGroup",children:r.jsx("button",{type:"button",className:"secondaryButton",disabled:k,onClick:()=>{G()},children:l(k?"settingsGeneralSigningOutButton":"settingsGeneralSignOutButton")})})}),r.jsxs(Ce,{header:r.jsx(re,{title:l("settingsGeneralLanguageTitle"),description:l("settingsGeneralLanguageDescription")}),children:[r.jsx(me,{label:l("settingsGeneralLanguagePreferenceLabel"),description:l("settingsGeneralLanguagePreferenceDescription"),layout:"stack",control:r.jsxs("select",{className:"textInput",value:o,disabled:p,onChange:N=>{O(N.target.value)},"aria-label":l("settingsGeneralLanguageSelectAriaLabel"),children:[r.jsx("option",{value:"auto",children:l("settingsGeneralLanguageAutoOption")}),r.jsx("option",{value:"en",children:l("settingsGeneralLanguageEnglishOption")}),r.jsx("option",{value:"zh-TW",children:l("settingsGeneralLanguageTraditionalChineseOption")})]})}),r.jsx(me,{label:l("settingsGeneralAssistantLanguagePreferenceLabel"),description:l("settingsGeneralAssistantLanguagePreferenceDescription"),layout:"stack",control:r.jsxs("select",{className:"textInput",value:he,disabled:w,onChange:N=>{const _=N.target.value;pi(_)&&E(_)},"aria-label":l("settingsGeneralAssistantLanguageSelectAriaLabel"),children:[r.jsx("option",{value:"unspecified",children:l("settingsGeneralAssistantLanguageUnspecifiedOption")}),W.map(N=>r.jsx("option",{value:N.code,children:N.label},N.code))]})})]}),r.jsxs(Ce,{header:r.jsx(re,{title:l("settingsGeneralLobbyMotionTitle"),description:l("settingsGeneralLobbyMotionDescription")}),children:[r.jsx(me,{asChoice:!0,label:l("settingsGeneralLobbyMotionOffLabel"),description:l("settingsGeneralLobbyMotionOffDescription"),control:r.jsx("input",{type:"radio",name:"lobby-animation-mode",checked:Q.animationMode==="off",disabled:h,onChange:()=>{I("off",l("settingsGeneralUpdateLobbyAnimationError"))}})}),r.jsx(me,{asChoice:!0,label:l("settingsGeneralLobbyMotionReducedLabel"),description:l("settingsGeneralLobbyMotionReducedDescription"),control:r.jsx("input",{type:"radio",name:"lobby-animation-mode",checked:Q.animationMode==="reduced",disabled:h,onChange:()=>{I("reduced",l("settingsGeneralUpdateLobbyAnimationError"))}})}),r.jsx(me,{asChoice:!0,label:l("settingsGeneralLobbyMotionFullLabel"),description:l("settingsGeneralLobbyMotionFullDescription"),control:r.jsx("input",{type:"radio",name:"lobby-animation-mode",checked:Q.animationMode==="full",disabled:h,onChange:()=>{I("full",l("settingsGeneralUpdateLobbyAnimationError"))}})})]}),e.guideCat?r.jsx(Ce,{header:r.jsx(re,{title:l("settingsGeneralGuideCatAssistTitle"),description:F?l("settingsGeneralGuideCatAssistEnabledDescription",{guideCatName:q}):l("settingsGeneralGuideCatAssistDisabledDescription",{guideCatName:q})}),children:F?r.jsxs(r.Fragment,{children:[r.jsx(me,{asChoice:!0,label:l("settingsGeneralGuideCatAutoLabel"),description:l("settingsGeneralGuideCatAutoDescription"),control:r.jsx("input",{type:"radio",name:"guide-cat-sidecar-mode",checked:T.prefs.sidecarMode==="auto",onChange:()=>{$("auto")}})}),r.jsx(me,{asChoice:!0,label:l("settingsGeneralGuideCatSidePanelLabel"),description:l("settingsGeneralGuideCatSidePanelDescription"),control:r.jsx("input",{type:"radio",name:"guide-cat-sidecar-mode",checked:T.prefs.sidecarMode==="drawer",onChange:()=>{$("drawer")}})}),r.jsx(me,{asChoice:!0,label:l("settingsGeneralGuideCatBubbleLabel"),description:l("settingsGeneralGuideCatBubbleDescription"),control:r.jsx("input",{type:"radio",name:"guide-cat-sidecar-mode",checked:T.prefs.sidecarMode==="bubble",onChange:()=>{$("bubble")}})})]}):r.jsx("div",{className:"setupActionGroup",children:r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>a("/settings/assistants"),children:l("settingsGeneralOpenAssistantsButton")})})}):null,c?r.jsx(Yt,{onSave:N=>{u(!1),R(N,l("settingsGeneralSaveAvatarError"))},onClose:()=>u(!1),initialDataUrl:ee??null}):null,r.jsx(rt,{toasts:j})]})}function bv(){const e=Ne(),{t}=H();return r.jsx(Ce,{header:r.jsx(re,{title:t(i.settingsRouteTitleNotFound),description:t(i.settingsRouteNotFoundDescription)}),children:r.jsx("div",{className:"settingsActionRow",children:r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>e("/settings/general"),children:t(i.settingsRouteNotFoundOpenGeneral)})})})}let rd={inflight:!1};const Mo=new Set,Eo=new Set;let Wa=null;function bi(e){rd=e;for(const t of Mo)t()}function ki(e){for(const t of Eo)t(e)}function kv(e){return Mo.add(e),()=>{Mo.delete(e)}}function yv(e){return Eo.add(e),()=>{Eo.delete(e)}}function yi(){return rd}function od(){if(Wa)return Wa;bi({inflight:!0});const e=Pg().then(t=>(ki({type:"success",value:t}),t),t=>{throw ki({type:"error",error:t}),t}).finally(()=>{Wa=null,bi({inflight:!1})});return Wa=e,e}const nd={check:"check",install:"apply",upgrade:"upgrade",repair:"force",uninstall:"uninstall"},kt=Fe("en");function vi(e,t){switch(t){case"check":return e.supportsCheckOnly;case"install":return e.supportsApply;case"upgrade":return e.supportsUpgrade;case"repair":return e.supportsForce;case"uninstall":return e.supportsUninstall}}function vv(e,t=kt){const a=["check","install","upgrade","repair","uninstall"],o=Na(e,t);return a.map(n=>({action:n,label:rr(n,t),available:e.supported&&e.available&&vi(e,n),reason:e.supported?e.available?vi(e,n)?null:t(i.settingsRuntimeHelperUnsupportedActionReason,{helperLabel:o,actionLabel:rr(n,t).toLowerCase()}):t(i.settingsRuntimeHelperUnavailableReason,{helperLabel:o}):Sv(e.unsupportedReason,t)}))}function rr(e,t=kt){switch(e){case"check":return t(i.settingsRuntimeActionCheckLabel);case"install":return t(i.settingsRuntimeActionInstallLabel);case"upgrade":return t(i.settingsRuntimeActionUpgradeLabel);case"repair":return t(i.settingsRuntimeActionRepairLabel);case"uninstall":return t(i.settingsRuntimeActionUninstallLabel)}}function Na(e,t=kt){return Ie(e.label,t)}function Cv(e,t){switch(e){case"Windows, macOS, or Linux hosts":return t(i.settingsRuntimePlatformSupportAllDesktop);case"Windows hosts":return t(i.settingsRuntimePlatformSupportWindows);case"Windows hosts with WSL support":return t(i.settingsRuntimePlatformSupportWindowsWsl);case"macOS hosts":return t(i.settingsRuntimePlatformSupportMacos);case"Linux hosts":return t(i.settingsRuntimePlatformSupportLinux);default:return e}}function Sv(e,t=kt){const a=String(e??"").trim();if(!a)return null;const o=a.match(/^(.+) is currently only supported on (.+)\.$/u);return o?t(i.settingsRuntimeHelperUnsupportedPlatformReason,{helperLabel:Ie(o[1],t),platformSupport:Cv(o[2],t)}):a}function or(e,t=kt){switch(e){case"auth_required":return t(i.settingsRuntimeLifecycleStatusAuthRequired);case"blocked":return t(i.settingsRuntimeLifecycleStatusBlocked);case"changes_required":return t(i.settingsRuntimeLifecycleStatusChangesRequired);case"failed":return t(i.settingsRuntimeLifecycleStatusFailed);case"not_installed":return t(i.settingsRuntimeLifecycleStatusNotInstalled);case"preview":return t(i.settingsRuntimeLifecycleStatusPreview);case"ready":return t(i.settingsRuntimeLifecycleStatusReady);case"restart_required":return t(i.settingsRuntimeLifecycleStatusRestartRequired);case"uninstalled":return t(i.settingsRuntimeLifecycleStatusUninstalled);default:return String(e??"")}}function to(e,t){switch(e){case"apply":return t(i.settingsRuntimeLifecycleModeApply);case"check":return t(i.settingsRuntimeLifecycleModeCheck);case"force":return t(i.settingsRuntimeLifecycleModeForce);case"uninstall":return t(i.settingsRuntimeLifecycleModeUninstall);case"upgrade":return t(i.settingsRuntimeLifecycleModeUpgrade);default:return String(e??"")}}function Ci(e,t=kt){const a=String(e??"").trim();let o;switch(a){case"Launch the target WSL distro once to finish first-user setup, then rerun the packaged setup check.":return t(i.settingsRuntimeLifecycleDetailLaunchWslFirstBoot);case"Start Docker Desktop and wait for the engine to become ready, then rerun the packaged setup check.":return t(i.settingsRuntimeLifecycleDetailStartDockerWarmUp)}return o=a.match(/^Run (.+) to install the missing host substrate flagged by the readiness audit\.$/u),o?t(i.settingsRuntimeLifecycleDetailRunMissingHostSubstrate,{helperLabel:Ie(o[1],t)}):(o=a.match(/^Restart the host or Windows session, then rerun (.+) in (.+) mode\.$/u),o?t(i.settingsRuntimeLifecycleDetailRestartThenRerunMode,{helperLabel:Ie(o[1],t),mode:to(o[2],t)}):(o=a.match(/^Restart Windows or the current session, then rerun (.+)\.$/u),o?t(i.settingsRuntimeLifecycleDetailRestartThenRerun,{helperLabel:Ie(o[1],t)}):(o=a.match(/^Relaunch Cats Desktop Host, then rerun (.+) to verify the updated packaged setup state\.$/u),o?t(i.settingsRuntimeLifecycleDetailRelaunchThenVerify,{helperLabel:Ie(o[1],t)}):(o=a.match(/^(.+) requires an elevated host step before it can continue\.$/u),o?t(i.settingsRuntimeLifecycleDetailElevationRequired,{helperLabel:Ie(o[1],t)}):(o=a.match(/^Complete the required sign-in flow, then rerun (.+) in (.+) mode\.$/u),o?t(i.settingsRuntimeLifecycleDetailAuthThenRerunMode,{helperLabel:Ie(o[1],t),mode:to(o[2],t)}):(o=a.match(/^Retry (.+) after addressing the last failure\.$/u),o?t(i.settingsRuntimeLifecycleDetailRetryAfterFailure,{helperLabel:Ie(o[1],t)}):(o=a.match(/^Run (.+) to install the missing packaged setup requirement\.$/u),o?t(i.settingsRuntimeLifecycleDetailRunMissingRequirement,{helperLabel:Ie(o[1],t)}):(o=a.match(/^Finish the manual follow-through for (.+), then rerun a verification step\.$/u),o?t(i.settingsRuntimeLifecycleDetailFinishManualFollowThrough,{helperLabel:Ie(o[1],t)}):(o=a.match(/^Run (.+) again to apply the remaining packaged setup changes\.$/u),o?t(i.settingsRuntimeLifecycleDetailRunApplyRemainingChanges,{helperLabel:Ie(o[1],t)}):(o=a.match(/^Rerun (.+) in check mode if you want to verify the packaged setup state again\.$/u),o?t(i.settingsRuntimeLifecycleDetailRerunCheckToVerify,{helperLabel:Ie(o[1],t)}):(o=a.match(/^(.+) (check|apply|upgrade|force|uninstall) finished with (.+)\.$/u),o?t(i.settingsRuntimeLifecycleDetailFinishedWithStatus,{helperLabel:Ie(o[1],t),mode:to(o[2],t),status:or(o[3],t)||o[3]}):or(a,t)||a)))))))))))}function Ie(e,t){if(e==="Windows PowerShell + PATH readiness helper")return t(i.settingsRuntimeHelperLabelWindowsCliReadiness);if(e==="Windows Microsoft Visual C++ 2015-2022 Redistributable (x64)")return t(i.settingsRuntimeHelperLabelWindowsVcRedist);let a=e.match(/^(Windows|Linux|macOS) Node\.js LTS host installer$/u);return a?t(i.settingsRuntimeHelperLabelNodeHostInstaller,{platform:a[1]}):(a=e.match(/^(Windows|Linux|macOS) GitHub CLI host installer$/u),a?t(i.settingsRuntimeHelperLabelGithubCliHostInstaller,{platform:a[1]}):(a=e.match(/^(Windows|Linux|macOS) npm prefix and PATH prerequisite helper$/u),a?t(i.settingsRuntimeHelperLabelNpmPrefixHelper,{platform:a[1]}):(a=e.match(/^(Windows|Linux|macOS) setup readiness audit$/u),a?t(i.settingsRuntimeHelperLabelSetupReadinessAudit,{platform:a[1]}):(a=e.match(/^(Windows|Linux|macOS) packaged setup background process helper$/u),a?t(i.settingsRuntimeHelperLabelPackagedBackgroundProcessHelper,{platform:a[1]}):(a=e.match(/^(Windows|Linux|macOS) packaged provider uninstall helper$/u),a?t(i.settingsRuntimeHelperLabelPackagedProviderUninstallHelper,{platform:a[1]}):(a=e.match(/^(Windows|Linux|macOS) packaged npm-global CLI installer helper$/u),a?t(i.settingsRuntimeHelperLabelPackagedNpmGlobalCliInstallerHelper,{platform:a[1]}):(a=e.match(/^(Windows|Linux|macOS) native (.+) installer$/u),a?t(i.settingsRuntimeHelperLabelNativeProviderInstaller,{platform:a[1],providerLabel:a[2]}):(a=e.match(/^(Windows|Linux|macOS) (.+) local-model installer$/u),a?t(i.settingsRuntimeHelperLabelLocalModelInstaller,{platform:a[1],providerLabel:a[2]}):(a=e.match(/^(Windows|Linux|macOS) (.+) installer$/u),a?t(i.settingsRuntimeHelperLabelProviderInstaller,{platform:a[1],providerLabel:a[2]}):e)))))))))}const Lv={check:new Set(["ready","not_installed","changes_required","auth_required"]),install:new Set(["ready"]),upgrade:new Set(["ready"]),repair:new Set(["ready"]),uninstall:new Set(["uninstalled","not_installed"])},Rv={check:new Set(["failed"]),install:new Set(["changes_required","auth_required","restart_required","not_installed"]),upgrade:new Set(["changes_required","auth_required","restart_required"]),repair:new Set(["changes_required","auth_required","restart_required"]),uninstall:new Set(["changes_required","blocked","preview"])};function Pv(e,t){if(e.runState==="failed")return"failure";const a=e.status??"";return a==="failed"?"failure":Rv[t].has(a)?t==="check"?"failure":"partial":Lv[t].has(a)?"success":"partial"}function xv(e,t,a,o){const n=a?.state?.lastAction??null,s=rr(t,o).toLowerCase(),l=nd[t];if(!n||n.helperId!==e.id||n.mode!==l)return{kind:"failure",helperId:e.id,action:t,status:null,summary:"",plannedActions:[],appliedChanges:[],warnings:[],manualSteps:[],message:o(i.settingsRuntimeActionNoResult,{helperLabel:e.label,actionLabel:s})};const c=Pv(n,t),u=n.status,h=Na(e,o),g=(()=>{if(c==="success")return o(u==="not_installed"&&t==="uninstall"?i.settingsRuntimeActionSuccessNothingToRemove:i.settingsRuntimeActionSuccessComplete,{helperLabel:h,actionLabel:s});if(c==="partial"){const b=u??"changes_required",w=n.warnings[0]??n.manualSteps[0];return w?o(i.settingsRuntimeActionPartialWithDetail,{helperLabel:h,actionLabel:s,status:or(b,o),detail:Ci(w,o)}):o(i.settingsRuntimeActionPartial,{helperLabel:h,actionLabel:s,status:or(b,o)})}const p=n.summary||n.warnings[0]||u;return p?o(i.settingsRuntimeActionFailedWithDetail,{helperLabel:h,actionLabel:s,detail:Ci(p,o)}):o(i.settingsRuntimeActionFailed,{helperLabel:h,actionLabel:s})})();return{kind:c,helperId:e.id,action:t,status:u,summary:n.summary??"",plannedActions:n.plannedActions??[],appliedChanges:n.appliedChanges??[],warnings:n.warnings??[],manualSteps:n.manualSteps??[],message:g}}async function sd(e,t,a){const o=Ta();if(o?.runSetupHelper)return await o.runSetupHelper(e,t,a)}async function Av(e,t,a=kt){if(!Ta()?.runSetupHelper)return{kind:"failure",helperId:e.id,action:t,status:null,summary:"",plannedActions:[],appliedChanges:[],warnings:[],manualSteps:[],message:a(i.settingsRuntimeHostBridgeUnavailableClient)};try{const n=await sd(e.id,nd[t]),s=xv(e,t,n,a);return(s.kind==="success"||s.kind==="partial")&&od().catch(()=>{}),s}catch(n){return{kind:"failure",helperId:e.id,action:t,status:null,summary:"",plannedActions:[],appliedChanges:[],warnings:[],manualSteps:[],message:n instanceof Error?n.message:a(i.settingsRuntimeActionFailed,{helperLabel:Na(e,a),actionLabel:rr(t,a).toLowerCase()})}}}async function Tv(e,t=kt){if(!Ta()?.runSetupHelper)return{helperId:e.id,status:null,plannedActions:[],warnings:[],manualSteps:[],systemInstallPath:null,available:!1,message:t(i.settingsRuntimeHostBridgeUnavailable)};try{const n=(await sd(e.id,"uninstall",{dryRun:!0}))?.state?.lastAction??null;if(!n||n.helperId!==e.id||n.mode!=="uninstall")return{helperId:e.id,status:null,plannedActions:[],warnings:[],manualSteps:[],systemInstallPath:null,available:!1,message:t(i.settingsRuntimePreviewMissingResult)};const s=(n.warnings??[]).find(l=>l.startsWith("system_install_remains_at:"));return{helperId:e.id,status:n.status,plannedActions:n.plannedActions??[],warnings:n.warnings??[],manualSteps:n.manualSteps??[],systemInstallPath:s?s.slice(26):null,available:!0,message:null}}catch(o){return{helperId:e.id,status:null,plannedActions:[],warnings:[],manualSteps:[],systemInstallPath:null,available:!1,message:o instanceof Error?o.message:t(i.settingsRuntimePreviewFailed)}}}async function Dv(){const e=Ta();if(!e?.getSetupSnapshot)return[];try{const t=await e.getSetupSnapshot();return Array.isArray(t.helpers)?t.helpers:[]}catch{return[]}}function Nv(e){return e.filter(t=>!t.supported||!t.available?!1:t.supportsApply||t.supportsUpgrade||t.supportsForce||t.supportsUninstall)}function jv(e,t,a){const o=kr(e);if(o==="unavailable"||o==="unknown")return{tone:"warm",label:a("settingsRuntimeStatusChipRuntimeUnavailable")};if(o==="degraded")return{tone:"warm",label:a("settingsRuntimeStatusChipRuntimeDegraded")};switch(t.status){case"ready":return{tone:"ready",label:a("settingsRuntimeStatusChipRuntimeReady")};case"ready_to_apply":return{tone:"warm",label:a("settingsRuntimeStatusChipSetupReadyToApply")};case"attention_required":return{tone:"warm",label:a("settingsRuntimeStatusChipSetupNeedsRemediation")};case"scan_required":return{tone:"warm",label:a("settingsRuntimeStatusChipProviderScanRequired")};default:return{tone:"warm",label:a("settingsRuntimeStatusChipSetupUnavailable")}}}function Mv(e){return e.loading||!e.preview||!e.preview.available?!1:e.preview.plannedActions.length>0}function Ev({payload:e}){const{toasts:t,showToast:a}=at(),{t:o}=H(),s=d.useSyncExternalStore(kv,yi,yi).inflight,l=d.useMemo(()=>Tn(),[]),[c,u]=d.useState([]),[h,g]=d.useState(!1),[p,b]=d.useState(null),[w,f]=d.useState(null),k=jv(e.runtime,e.runtimeSetup,o),m=R=>{switch(R){case"check":return o("settingsRuntimeActionCheckLabel");case"install":return o("settingsRuntimeActionInstallLabel");case"upgrade":return o("settingsRuntimeActionUpgradeLabel");case"repair":return o("settingsRuntimeActionRepairLabel");case"uninstall":return o("settingsRuntimeActionUninstallLabel")}},C=R=>R===1?"":"s",v=d.useCallback(R=>{if(!(R instanceof Error))return o("settingsRuntimeRefreshFailure");const P=Rg(R.message);return P===null?R.message:o("settingsRuntimeRefreshFailureWithStatus",{status:P})},[o]),y=d.useCallback(async()=>{if(l){g(!0);try{const R=await Dv();u(R)}finally{g(!1)}}},[l]);d.useEffect(()=>{y()},[y]),d.useEffect(()=>{yv(R=>{if(R.type==="success"){const{refreshed:P,failures:I}=R.value;I.length>0?a(o("settingsRuntimeRefreshSummaryWithFailures",{refreshed:P,failed:I.length})):a(o("settingsRuntimeRefreshSummary",{refreshed:P,pluralSuffix:C(P)}))}else a(v(R.error))})},[v,a,o]);const L=()=>{od().catch(()=>{})},D=d.useMemo(()=>Nv(c),[c]),T=d.useCallback(async(R,P)=>{b(R.id);try{const I=await Av(R,P,o);return a(I.message),I.kind!=="failure"&&await y(),I}finally{b(null)}},[y,a,o]),j=d.useCallback(async R=>{f({helper:R,preview:null,loading:!0});const P=await Tv(R,o);f(I=>!I||I.helper.id!==R.id?I:{helper:R,preview:P,loading:!1})},[o]),x=d.useCallback(async()=>{if(!w||w.loading)return;const R=w.helper;f(null),await T(R,"uninstall")},[w,T]);return r.jsxs(r.Fragment,{children:[r.jsxs(Ce,{header:r.jsx(re,{title:o("settingsRuntimeStatusTitle"),description:o("settingsRuntimeStatusDescription")}),children:[r.jsx("div",{className:"settingsChipRow",children:r.jsx(Ot,{tone:k.tone,children:k.label})}),r.jsxs("div",{className:"settingsRuntimeMetrics",children:[r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.availableCount}),r.jsx("span",{children:o("settingsRuntimeMetricReadyProviders")})]}),r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.providerCount}),r.jsx("span",{children:o("settingsRuntimeMetricProvidersScanned")})]}),r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.providersNeedingAttention.length}),r.jsx("span",{children:o("settingsRuntimeMetricNeedAttention")})]})]})]}),e.runtimeSetup.providersNeedingAttention.length>0?r.jsx(Ce,{header:r.jsx(re,{title:o("settingsRuntimeNeedAttentionTitle"),description:o("settingsRuntimeNeedAttentionDescription")}),children:r.jsx("ul",{className:"settingsRuntimeList",children:e.runtimeSetup.providersNeedingAttention.map(R=>r.jsxs("li",{children:[r.jsx("strong",{children:R.provider}),r.jsxs("span",{children:[R.family,typeof R.remediationCount=="number"?` • ${o("settingsRuntimeFixStepCount",{count:R.remediationCount,pluralSuffix:R.remediationCount===1?"":"s"})}`:""]})]},R.provider))})}):null,l?r.jsx(Ce,{header:r.jsx(re,{title:o("settingsRuntimeProviderHelpersTitle"),description:o("settingsRuntimeProviderHelpersDescription")}),children:h&&D.length===0?r.jsx("p",{className:"settingsRuntimeNote",children:o("settingsRuntimeLoadingHelpers")}):D.length===0?r.jsx("p",{className:"settingsRuntimeNote",children:o("settingsRuntimeNoProviderHelpers")}):r.jsx("ul",{className:"settingsRuntimeList settingsRuntimeHelperList",children:D.map(R=>{const P=vv(R,o),I=p===R.id,O=Na(R,o);return r.jsxs("li",{className:"settingsRuntimeHelperRow",children:[r.jsxs("div",{className:"settingsRuntimeHelperHead",children:[r.jsx("strong",{children:O}),r.jsx("span",{children:R.packagedRelativePath})]}),r.jsxs("div",{className:"settingsRuntimeHelperActions",children:[P.filter(E=>E.action!=="uninstall"&&E.available).map(E=>r.jsx("button",{type:"button",className:"secondaryButton",disabled:I,onClick:()=>{T(R,E.action)},children:I?o("settingsRuntimeWorkingState"):m(E.action)},E.action)),R.supportsUninstall?r.jsx("button",{type:"button",className:"dangerButton",disabled:I,onClick:()=>{j(R)},children:o("settingsRuntimeUninstallButtonLabel")}):null]})]},R.id)})})}):null,r.jsx(Ce,{header:r.jsx(re,{title:o("settingsRuntimeModelCatalogsTitle"),description:o("settingsRuntimeModelCatalogsDescription")}),children:r.jsx("button",{type:"button",className:"secondaryButton settingsRefreshButton",onClick:L,disabled:s,children:s?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"settingsRefreshSpinner","aria-hidden":"true"}),r.jsx("span",{children:o("settingsRuntimeRefreshingState")})]}):o("settingsRuntimeRefreshCatalogsButton")})}),r.jsx(Ce,{header:r.jsx(re,{title:o("settingsRuntimeStandaloneSetupTitle"),description:o("settingsRuntimeStandaloneSetupDescription")}),children:r.jsx("a",{className:"secondaryButton settingsInlineLink",href:Vc,target:"_blank",rel:"noreferrer",children:o("settingsRuntimeOpenStandaloneSetup")})}),w?(()=>{const R=Mv(w),P=!R&&!w.loading;return r.jsx("div",{className:"settingsRuntimeConfirmOverlay",role:"dialog","aria-modal":"true",children:r.jsxs("div",{className:"settingsRuntimeConfirmCard",children:[r.jsx(Iv,{prompt:w,t:o}),r.jsxs(Je,{children:[r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>f(null),children:o(P?"settingsRuntimeCancelActionFallbackLabel":"settingsRuntimeCancelActionLabel")}),r.jsx("button",{type:"button",className:"dangerButton",disabled:!R,onClick:()=>{x()},children:o("settingsRuntimeUninstallButtonLabel")})]})]})})})():null,r.jsx(rt,{toasts:t})]})}function Iv({prompt:e,t}){const a=Na(e.helper,t);return r.jsxs(r.Fragment,{children:[r.jsxs("h3",{children:[t("settingsRuntimeUninstallTitle",{label:a}),"?"]}),r.jsxs("p",{children:[t("settingsRuntimeUninstallDescriptionPrefix"),r.jsxs("strong",{children:[" ",a]}),"."," ",t("settingsRuntimeUninstallDescriptionSuffix")]}),r.jsxs("p",{className:"settingsRuntimeNote",children:[t("settingsRuntimeUninstallHelperLabel",{helperId:e.helper.id}),r.jsx("br",{}),t("settingsRuntimeUninstallScriptLabel",{scriptPath:e.helper.packagedRelativePath})]}),r.jsx(Bv,{preview:e.preview,loading:e.loading,t})]})}function Bv({preview:e,loading:t,t:a}){return t?r.jsx("p",{className:"settingsRuntimeNote",children:a("settingsRuntimeComputingPlannedRemovals")}):!e||!e.available?r.jsx("p",{className:"settingsRuntimeNote",children:e?.message??a("settingsRuntimePreviewUnavailable")}):e.status==="not_installed"?r.jsxs("p",{className:"settingsRuntimeNote",children:[a("settingsRuntimeNothingToRemove"),e.systemInstallPath?r.jsxs(r.Fragment,{children:[r.jsx("br",{}),a("settingsRuntimeSystemInstallDetected",{installPath:e.systemInstallPath})]}):null]}):r.jsxs("div",{className:"settingsRuntimePreview",children:[r.jsx("p",{className:"settingsRuntimeNote",children:a("settingsRuntimeWillRemoveItems",{itemCount:e.plannedActions.length,pluralSuffix:e.plannedActions.length===1?"":"s"})}),r.jsx("ul",{className:"settingsRuntimePreviewList",children:e.plannedActions.map(o=>r.jsx("li",{children:r.jsx("code",{children:o})},o))}),e.systemInstallPath?r.jsx("p",{className:"settingsRuntimeNote",children:a("settingsRuntimeSystemInstallCannotRemove",{installPath:e.systemInstallPath})}):null,e.manualSteps.length>0?r.jsx("ul",{className:"settingsRuntimePreviewList settingsRuntimePreviewManual",children:e.manualSteps.map(o=>r.jsx("li",{children:o},o))}):null]})}function Fv({payload:e,onPayloadUpdate:t}){const{toasts:a,showToast:o}=at(),{t:n}=H(),s=ln(e.chat.advancedDraftControls,"work");async function l(c){const u=e.chat.advancedDraftControls,h=fr(u);h.work=c,t({...e,chat:{...e.chat,advancedDraftControls:h}});try{const g=await gn({work:c});d.startTransition(()=>t(g))}catch(g){t({...e,chat:{...e.chat,advancedDraftControls:u}}),o(ka(g,n("settingsConversationPreferenceUpdateFailure"),n))}}return r.jsxs(r.Fragment,{children:[r.jsx(jn,{surface:"work",payload:e,onPayloadUpdate:t,onError:o}),r.jsx(Nn,{surface:"work",enabled:s,onToggle:c=>{l(c)}}),r.jsx(rt,{toasts:a})]})}function Ov(e,t){return e==="/settings"||e==="/settings/"||pt(e,"/settings/general")?{section:"general",title:t("settingsRouteTitleGeneral")}:pt(e,"/settings/assistants")?{section:"assistants",title:t("settingsRouteTitleAssistants")}:Wv(e)?{section:"cats",title:t("settingsRouteTitleMyCats")}:pt(e,"/settings/chat")?{section:"chat",title:t("settingsRouteTitleChat")}:pt(e,"/settings/work")?{section:"work",title:t("settingsRouteTitleWork")}:pt(e,"/settings/code")?{section:"code",title:t("settingsRouteTitleCode")}:pt(e,"/settings/apps")?{section:"apps",title:t("settingsRouteTitleApps")}:pt(e,"/settings/desktop")?{section:"desktop",title:t("settingsRouteTitleDesktop")}:pt(e,"/settings/runtime")?{section:"runtime",title:t("settingsRouteTitleRuntime")}:pt(e,"/settings/data")?{section:"data",title:t("settingsRouteTitleData")}:{section:"not-found",title:t("settingsRouteTitleNotFound")}}function pt(e,t){return e===t||e.startsWith(`${t}/`)}function Wv(e){return e==="/settings/cats"||e==="/settings/cats/new"}function Uv({payload:e,onPayloadUpdate:t,busy:a,onFeedback:o,onBusy:n,onResetSetup:s}){const l=e.products.find(p=>p.id==="work"),c=e.products.find(p=>p.id==="code"),u=Tn(),h=p=>{t(p)},g=r.jsx($k,{payload:e,busy:a,onPayloadUpdate:h,onFeedback:o,onBusy:n});return r.jsxs(oa,{children:[r.jsx(Z,{index:!0,element:r.jsx(mt,{to:"/settings/general",replace:!0})}),r.jsx(Z,{path:"general",element:r.jsx(wv,{payload:e,onPayloadUpdate:h})}),r.jsx(Z,{path:"cats",element:g}),r.jsx(Z,{path:"cats/new",element:g}),r.jsx(Z,{path:"assistants",element:r.jsx(Yk,{payload:e,onPayloadUpdate:h})}),r.jsx(Z,{path:"chat",element:r.jsx(ky,{payload:e,onPayloadUpdate:h})}),l?r.jsx(Z,{path:"work",element:r.jsx(Fv,{payload:e,onPayloadUpdate:h})}):null,c?r.jsx(Z,{path:"code",element:r.jsx(yy,{payload:e,onPayloadUpdate:h})}):null,r.jsx(Z,{path:"apps/*",element:r.jsx(ly,{installedApps:e.installedApps??[],onInstalledAppsUpdate:p=>{h({...e,installedApps:p})}})}),u?r.jsx(Z,{path:"desktop",element:r.jsx(Vy,{payload:e,onPayloadUpdate:h})}):null,r.jsx(Z,{path:"runtime",element:r.jsx(Ev,{payload:e})}),r.jsx(Z,{path:"data",element:r.jsx(Sy,{payload:e,busy:a,onResetSetup:s})}),r.jsx(Z,{path:"*",element:r.jsx(bv,{})})]})}function Hv(e){const t=ye(),{t:a}=H(),{section:o,title:n}=Ov(t.pathname,a);return r.jsx(xk,{section:o,title:n,products:e.payload.products,children:Uv(e)})}function _v(){const{t:e}=H(),{loadState:t,onPayloadUpdate:a,onRetryLoad:o}=Jd(),[n,s]=d.useState(Rn),[l,c]=d.useState(""),{dialog:u,confirm:h,handleClose:g}=jt(),p=d.useCallback(async()=>{if(await h({title:e(i.settingsDataResetAllDataTitle),message:e(i.settingsDataResetAllDataDescription),confirmLabel:e(i.settingsDataResetButtonLabel)})){s(lb());try{const w=await Wg();km(),await Zc({bootstrapAttemptId:w.bootstrapAttemptId??null,setupCompleteAt:w.setupCompleteAt??null,products:Array.isArray(w.products)?[...w.products]:[]}),window.location.href="/"}catch(w){throw s(We()),w}}},[h,e]);return t.status==="loading"?r.jsx("div",{className:"settingsCanvasBoot",role:"status","aria-live":"polite","aria-label":e(i.settingsCanvasLoadingLabel)}):t.status==="error"?r.jsxs("section",{className:"settingsCanvasError",role:"alert","aria-live":"assertive",children:[r.jsx("h1",{className:"settingsCanvasErrorTitle",children:e(i.settingsCanvasLoadErrorTitle)}),r.jsx("p",{className:"settingsCanvasErrorBody",children:e(i.settingsCanvasLoadErrorBody)}),t.message?r.jsx("p",{className:"settingsCanvasErrorDetail",children:t.message}):null,r.jsx("div",{className:"settingsCanvasErrorActions",children:r.jsx("button",{type:"button",className:"primaryButton",onClick:o,children:e(i.sharedCommonRetry)})})]}):r.jsxs(r.Fragment,{children:[r.jsx(Hv,{payload:t.payload,onPayloadUpdate:a,busy:n,onFeedback:c,onBusy:s,onResetSetup:p}),l?r.jsx("p",{className:"settingsFeedback",role:"status",children:l}):null,r.jsx(Mt,{dialog:u,onClose:g})]})}const ge=14,Gv=.6,Si=.18,Kv=.18,Li=2,qv="#e8c84a",id="#8B7E74";function $v(e){return new Promise((t,a)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>t(o),o.onerror=a,o.src=e})}function zv(e,t,a){return e.map(o=>{const n=Math.random()*Math.PI*2,s=Gv+Math.random()*.3;return{id:o.id,x:ge+Math.random()*(t-ge*2),y:ge+Math.random()*(a-ge*2),vx:Math.cos(n)*s,vy:Math.sin(n)*s,color:o.avatarColor??id,initials:fe(o.name),isBoss:o.isBoss,avatarUrl:o.avatarUrl??null,image:null}})}function Vv(e,t){return!e||e.length!==t.length?!0:e.some((a,o)=>{const n=t[o];return n?a.id!==n.id||a.color!==(n.avatarColor??id)||a.isBoss!==n.isBoss||a.avatarUrl!==(n.avatarUrl??null):!0})}function Yv(e,t,a,o){for(const n of e)n.x+=n.vx*o,n.y+=n.vy*o,n.x-ge<=0?(n.x=ge,n.vx=Math.abs(n.vx)):n.x+ge>=t&&(n.x=t-ge,n.vx=-Math.abs(n.vx)),n.y-ge<=0?(n.y=ge,n.vy=Math.abs(n.vy)):n.y+ge>=a&&(n.y=a-ge,n.vy=-Math.abs(n.vy))}function Qv(e,t,a){for(const o of e)o.x=Math.min(Math.max(ge,o.x),t-ge),o.y=Math.min(Math.max(ge,o.y),a-ge)}function Jv(e,t,a,o){e.clearRect(0,0,a,o);for(const n of t)e.globalAlpha=Si,n.isBoss&&(e.beginPath(),e.arc(n.x,n.y,ge+Li,0,Math.PI*2),e.strokeStyle=qv,e.lineWidth=Li,e.stroke()),n.image?(e.save(),e.beginPath(),e.arc(n.x,n.y,ge,0,Math.PI*2),e.clip(),e.drawImage(n.image,n.x-ge,n.y-ge,ge*2,ge*2),e.restore()):(e.beginPath(),e.arc(n.x,n.y,ge,0,Math.PI*2),e.fillStyle=n.color,e.fill(),e.globalAlpha=Si*1.8,e.font=`700 ${ge*.65}px sans-serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle="#fff",e.fillText(n.initials,n.x,n.y));e.globalAlpha=1}function Xv({animationMode:e,cats:t}){const a=d.useRef(null),o=d.useRef(null),n=d.useRef(0);return d.useEffect(()=>{if(e==="off"||t.length===0)return;const s=a.current;if(!s)return;const l=s,c=l.getContext("2d");if(!c)return;const u=e==="reduced"?Kv:1;function h(){if(l.width=window.innerWidth,l.height=window.innerHeight,Vv(o.current,t)){o.current=zv([...t],l.width,l.height);return}const w=o.current;w&&Qv(w,l.width,l.height)}function g(){n.current!==0&&(cancelAnimationFrame(n.current),n.current=0)}function p(){const w=l.width,f=l.height,k=o.current;!c||!k||(Yv(k,w,f,u),Jv(c,k,w,f),n.current=requestAnimationFrame(p))}h(),n.current=requestAnimationFrame(p);const b=o.current;if(b)for(let w=0;w<t.length;w++){const f=t[w]?.avatarUrl;f&&b[w]&&$v(f).then(k=>{b[w].image=k}).catch(()=>{})}return window.addEventListener("resize",h),()=>{g(),window.removeEventListener("resize",h)}},[e,t]),e==="off"||t.length===0?null:r.jsx("canvas",{ref:a,className:"lobbyBouncingCanvas","aria-hidden":"true"})}const ld=Fe("en");function Zv(e,t=ld){return e.products.map(a=>({productId:a.id,surface:a.surface,productName:$p(a,t),subtitle:zp(a,t),routePrefix:a.routePrefix,lastUsed:a.surface!==null&&a.surface===e.lastUsedSurface,available:a.installState==="available"}))}function eC(e){return e.installedApps.flatMap(t=>!t.enabled||t.installState!=="enabled"?[]:t.lobbyEntries.map(a=>({appId:t.id,entryId:a.id,title:a.title,subtitle:a.subtitle??null,routePath:a.routePath,publisher:t.publisher,installState:t.installState,trustTier:t.trustTier})))}const tC=[i.lobbyGreetingChooseSurface,i.lobbyGreetingHomeReady,i.lobbyGreetingPickProduct,i.lobbyGreetingEverythingStaged,i.lobbyGreetingOpenSurface,i.lobbyGreetingAwake,i.lobbyGreetingContinue];function aC(e){return(e??[]).map(t=>t.trim()).filter(t=>t.length>0)}function rC(e,t=Math.random,a=ld){const o=aC(e),n=tC.map(l=>a(l)),s=o.length>0?o:n;return s[Math.floor(t()*s.length)]}const Io=Fe("en"),oC=[i.lobbyGreetingChooseSurface,i.lobbyGreetingHomeReady,i.lobbyGreetingPickProduct,i.lobbyGreetingEverythingStaged,i.lobbyGreetingOpenSurface,i.lobbyGreetingAwake,i.lobbyGreetingContinue],nC=[i.chatNewChatDraftDefaultGreeting,i.chatNewChatDraftGreetingNap,i.chatNewChatDraftGreetingKeyboard,i.chatNewChatDraftGreetingLetsGo,i.chatNewChatDraftGreetingStandby,i.chatNewChatDraftGreetingTaskReady,i.chatNewChatDraftGreetingOnDuty],sC=[i.codeNewDraftGreeting,i.codeNewDraftGreetingOpenRepo,i.codeNewDraftGreetingBuildFixRefactor,i.codeNewDraftGreetingShipImprovement,i.codeNewDraftGreetingSmallestChange];function iC(e,t=Io){return e.map(a=>t(a))}function lC(e){switch(e.bundle.scope.surfaceId){case"lobby":return oC;case"chat:new":return nC;case"code:new":return sC;default:return null}}function cC(e,t=Io){if(!e)return null;const a=e.bundle.content.greeting?.trim();if(!a)return null;if(e.bundle.provenance.originMode!=="deterministic")return a;const o=lC(e);if(!o)return a;const s=iC(o,Io).findIndex(c=>c===a);if(s<0)return a;const l=o[s];return l?t(l):a}function dC({envelope:e}){const{t}=H(),a=Ne(),[o]=d.useState(()=>rC(null,Math.random,t)),n=Zv({products:e.products,lastUsedSurface:e.lastProductSurface??null},t),s=eC({installedApps:e.installedApps??[]}),l=cC(e.lobby.guideCatAssist,t)??o,c=kr(e.runtime),u=bk(c),h=An(c,t),g=t("lobbyRuntimeStatusLabel",{runtimeStatus:h}),p=e.ownerAvatarUrl?{backgroundImage:`url(${e.ownerAvatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0,b={platformShellSurface:e.lastProductSurface??"chat"};return r.jsxs("div",{className:"screen lobbyScreen",children:[r.jsx(Xv,{animationMode:e.lobby.animationMode,cats:e.lobby.cats}),r.jsxs("div",{className:"platformLobby",children:[r.jsxs("div",{className:"lobbyTopBar",children:[r.jsx("span",{className:"lobbyBrand",children:t("appBrandName")}),r.jsxs("div",{className:"lobbyTopBarEnd",children:[r.jsx(xn,{slotKind:"lobby"}),r.jsxs("div",{className:"lobbyIdentity",role:"group","aria-label":t("lobbyAccountSettingsAriaLabel"),children:[r.jsxs("button",{type:"button",className:"lobbyIdentityMainButton",onClick:()=>a("/settings/general",{state:b}),"aria-label":t("lobbyOpenAccountSettings"),children:[r.jsx("span",{className:"lobbyAvatar",style:p,children:e.ownerAvatarUrl?null:fe(e.ownerDisplayName)}),r.jsx("span",{className:"lobbyOwnerName",children:e.ownerDisplayName})]}),r.jsx("button",{type:"button",className:"lobbyIdentityRuntime",onClick:()=>a("/settings/runtime",{state:b}),"data-tooltip":h,"aria-label":g,children:r.jsx("span",{className:u,"aria-hidden":"true"})})]})]})]}),r.jsx("div",{className:"lobbyHero",children:r.jsx("h1",{className:"lobbyGreeting",children:l})}),r.jsx(_c,{envelope:e}),r.jsxs("div",{className:"lobbyProducts",children:[r.jsx("p",{className:"lobbyProductsEyebrow",children:t("lobbyProductsSectionTitle")}),r.jsx("div",{className:"platformLobbyGrid",children:n.map(w=>{const f=`contentCard platformLobbyCard platformLobbyCard--${w.surface??"module"}`+(w.lastUsed?" platformLobbyCard--recent":"")+(w.available?" platformLobbyCard--mock":""),k=r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"platformLobbyCardAccent"}),r.jsx("span",{className:"platformLobbyCardName",children:w.productName}),r.jsx("span",{className:"platformLobbyCardSub",children:w.subtitle}),w.lastUsed?r.jsx("span",{className:"platformLobbyCardHint",children:t("lobbyContinueText")}):null]});return w.available?r.jsx("div",{className:f,children:k},w.productId):r.jsx("button",{type:"button",className:f,onClick:()=>a(w.routePrefix),children:k},w.productId)})})]}),s.length>0?r.jsxs("div",{className:"lobbyProducts",children:[r.jsx("p",{className:"lobbyProductsEyebrow",children:t("lobbyAppsSectionTitle")}),r.jsx("div",{className:"platformLobbyGrid",children:s.map(w=>r.jsxs("button",{type:"button",className:"contentCard platformLobbyCard platformLobbyCard--app",onClick:()=>a(w.routePath),"aria-label":t("lobbyOpenEntry",{entryTitle:w.title}),children:[r.jsx("div",{className:"platformLobbyCardAccent"}),r.jsx("span",{className:"platformLobbyCardName",children:w.title}),w.subtitle?r.jsx("span",{className:"platformLobbyCardSub",children:w.subtitle}):null]},`${w.appId}:${w.entryId}`))})]}):null]})]})}class ca extends Error{constructor(t,a,o){super(t),this.status=a,this.code=o,this.name="PlatformSetupApiError"}}function uC(e){return e instanceof ca&&e.status===401&&(e.code===null||e.code===Xe.unauthenticated)}function pC(e){return e instanceof ca&&e.status===403&&e.code===Xe.forbidden&&e.message==="Auth repair is required."}async function cd(e,t){return(await dd(e,t)).message}async function dd(e,t){try{const a=await e.json(),o=hC(a);if(typeof o?.code=="string"){const n=t.errorMessagesByCode?.[o.code];return n?{message:n,code:o.code}:{message:t.fallbackMessageForStatus(e.status),code:o.code}}if(typeof o?.message=="string")return{message:o.message,code:null}}catch{}return{message:t.fallbackMessageForStatus(e.status),code:null}}function hC(e){if(typeof e!="object"||e===null)return null;const t=e.error;return typeof t=="object"&&t!==null?t:null}function mC(e){if(typeof e!="object"||e===null||!("routeTarget"in e)||!("auth"in e)||!("setup"in e))return null;const t=e.routeTarget;return t==="setup"||t==="login"||t==="repair"?t:null}async function gC(e,t){const a=await fetch("/api/platform/setup/complete",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t.signal});if(!a.ok)throw new Error(await cd(a,t));return await a.json()}async function ya(e){const t=await fetch("/api/app-shell",{headers:{Accept:"application/json"},signal:e.signal});if(!t.ok){const n=await dd(t,e);throw new ca(n.message,t.status,n.code)}const a=await t.json(),o=mC(a);if(o==="login")throw new ca("Authentication is required.",401,Xe.unauthenticated);if(o==="repair")throw new ca("Auth repair is required.",403,Xe.forbidden);return a}async function fC(e,t){const a=await fetch("/api/platform/bootstrap-diagnostics/opened",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({attemptId:e??null}),signal:t.signal});if(!a.ok)throw new Error(await cd(a,t));return await a.json()}async function wC(e){return wr(e)}async function bC(e,t){return pn({provider:e,instance:t})}async function kC(e,t){return hn({provider:e,instance:t})}function yC({name:e,onNameChange:t,nameReadOnly:a,provider:o,instance:n,model:s,modelSelection:l,onTargetChange:c,nameLabel:u,namePlaceholder:h,nameHint:g,autoFocusName:p,makeBoss:b,onMakeBossChange:w,hideMakeBoss:f,fetchProviderRegistry:k,fetchProviderModels:m,fetchAdvancedProviderModels:C,onProviderRegistryChange:v}){const{t:y}=H();return r.jsxs(r.Fragment,{children:[r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:u??y(i.settingsGeneralNameLabel)}),r.jsx("input",{className:"textInput",value:e,onChange:L=>t(L.target.value),placeholder:h,autoFocus:p&&!a,readOnly:a,"aria-readonly":a?"true":void 0}),g?r.jsx("span",{className:"fieldHint",children:g}):null]}),!f&&w?r.jsxs("label",{className:"fieldLabel fieldLabelInline",children:[r.jsx("input",{type:"checkbox",checked:b??!1,onChange:L=>w(L.target.checked)}),r.jsx("span",{children:y(i.sharedSettingsCatsSetBossCatLabel)})]}):null,r.jsx(Lc,{provider:o,instance:n,model:s,modelSelection:l,onTargetChange:c,fetchProviderRegistry:k,fetchProviderModels:m,fetchAdvancedProviderModels:C,onProviderRegistryChange:v})]})}function vC(e){return r.jsx(yC,{...e,fetchProviderRegistry:wC,fetchProviderModels:bC,fetchAdvancedProviderModels:kC})}function CC({provider:e,instance:t,model:a,modelSelection:o,runtimeReachable:n,onTargetChange:s}){const l=ct(),{t:c}=H(),[u,h]=d.useState({state:"ready",providers:[]}),g=bc(u)??Vc,p=u.state==="runtime_unreachable"?{className:"statusChip statusChipWarm",label:c(i.setupGuideCatRuntimeUnavailable)}:u.state==="no_usable_targets"?{className:"statusChip statusChipWarm",label:c(i.setupGuideCatNoUsableTargets)}:n?{className:"statusChip statusChipReady",label:c(i.setupGuideCatRuntimeConnected)}:{className:"statusChip statusChipWarm",label:c(i.setupGuideCatRuntimeNotDetected)};return r.jsxs(r.Fragment,{children:[r.jsx(vC,{name:l,onNameChange:()=>{},nameReadOnly:!0,provider:e,instance:t,model:a,modelSelection:o,onTargetChange:s,nameLabel:c(i.setupGuideCatNameLabel),namePlaceholder:l,nameHint:c(i.setupGuideCatNameHint),hideMakeBoss:!0,hideProductToggles:!0,onProviderRegistryChange:h}),r.jsxs("div",{className:"setupRuntimeStatus",children:[r.jsx("span",{className:p.className,children:p.label}),u.state==="runtime_unreachable"?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"setupRuntimeNote",children:c(i.setupGuideCatUnavailableNote)}),r.jsx("a",{className:"secondaryButton setupInlineLink",href:g,target:"_blank",rel:"noreferrer",children:c(i.setupGuideCatOpenRuntimeSetup)})]}):null,u.state==="no_usable_targets"?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"setupRuntimeNote",children:c(i.setupGuideCatNoUsableTargetsNote)}),r.jsx("a",{className:"secondaryButton setupInlineLink",href:g,target:"_blank",rel:"noreferrer",children:c(i.setupGuideCatOpenRuntimeSetup)})]}):null]})]})}function SC(e){return!!e.model.trim()}function LC(e){return!e.createGuideCat||SC({model:e.model})}const va=[1,2],RC=va.length;function Ri(e){const t=va.indexOf(e);return va[t+1]??e}function PC(e){const t=va.indexOf(e);return va[t-1]??e}const xC=new Set(["Invalid desktop platform shell payload."]);function AC(e,t,a){return e instanceof Error?xC.has(e.message)?t:e.message:t}function TC(e){return e.step===2&&e.createGuideCat}function DC({envelope:e,onComplete:t}){const[a,o]=d.useState(1),[n,s]=d.useState(""),[l,c]=d.useState(""),[u,h]=d.useState(""),[g,p]=d.useState(!1),[b,w]=d.useState("claude"),[f,k]=d.useState(""),[m,C]=d.useState(""),[v,y]=d.useState(null),[L,D]=d.useState(null),[T,j]=d.useState(""),x=d.useRef(!1),{t:R}=H(),P=L!==null,I=ct(),O=!!(n.trim()&&l.trim()&&u),E=LC({createGuideCat:g,model:m}),$=e.bootstrapAttemptId??null,G=d.useCallback(async()=>{D("complete"),j("");try{const B=await gC({attemptId:$,ownerDisplayName:n.trim(),adminIdentifier:l.trim(),adminPassword:u,createGuideCat:g,guideCatProvider:g?b:void 0,guideCatInstance:g&&f||void 0,guideCatModel:g&&m||void 0,guideCatModelSelection:g?v:void 0},{fallbackMessageForStatus:q=>R(i.setupWizardFailedWithStatus,{status:q}),errorMessagesByCode:{already_complete:R(i.setupWizardAlreadyCompleteError),bad_request:R(i.setupWizardInvalidRequestError),internal_error:R(i.setupWizardServerError)}});await Fk(B),t(B)}catch(B){j(AC(B,R(i.setupWizardFailedMessage)))}finally{D(null)}},[g,l,u,f,m,v,t,n,b,$,R]);d.useEffect(()=>{x.current||(x.current=!0,fC($,{fallbackMessageForStatus:B=>R(i.setupWizardRecordOpenFailedWithStatus,{status:B})}).catch(()=>{}))},[$,R]),d.useEffect(()=>{function B(q){q.key!=="Enter"||P||q.target instanceof HTMLSelectElement||q.target instanceof HTMLTextAreaElement||a===1&&!O||a===2&&!E||(q.preventDefault(),a===1?o(Ri(a)):a===2&&G())}return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[P,E,O,G,a]),d.useEffect(()=>{TC({step:a,createGuideCat:g})&&Lg()},[g,a]);const ee=Array.from({length:RC},(B,q)=>q+1);return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"setupWizard",children:[r.jsx("div",{className:"setupStepIndicator",children:ee.map(B=>r.jsx("span",{className:B<=a?"setupDot setupDotActive":"setupDot"},B))}),a===1?r.jsxs("div",{className:"contentCard setupCard",children:[r.jsx("p",{className:"eyebrow",children:R(i.appBrandName)}),r.jsx("h1",{children:R(i.setupWizardWelcomeTitle)}),r.jsx("p",{className:"heroNote",children:R(i.setupWizardWelcomeIntro)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:R(i.setupWizardOwnerNameLabel)}),r.jsx("input",{className:"textInput",value:n,onChange:B=>s(B.target.value),placeholder:R(i.setupWizardOwnerNamePlaceholder),autoFocus:!0})]}),r.jsx("p",{className:"setupRuntimeNote",children:R(i.setupWizardAdminCredentialsHint)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:R(i.setupWizardAdminIdentifierLabel)}),r.jsx("input",{className:"textInput",value:l,onChange:B=>c(B.target.value),placeholder:R(i.setupWizardAdminIdentifierPlaceholder),autoComplete:"username"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:R(i.setupWizardAdminPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:u,onChange:B=>h(B.target.value),placeholder:R(i.setupWizardAdminPasswordPlaceholder),autoComplete:"new-password"})]}),T?r.jsx("p",{className:"feedbackText",children:T}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!O,type:"button",onClick:()=>o(Ri(a)),children:R(i.setupWizardGetStartedButton)})]}):null,a===2?r.jsxs("div",{className:"contentCard setupCard",children:[r.jsx("p",{className:"eyebrow",children:R(i.setupWizardStepIndicator,{step:2,total:2})}),r.jsx("h1",{children:R(i.setupWizardEnableGuideTitle,{guideCatName:I})}),r.jsx("p",{className:"heroNote",children:R(i.setupWizardEnableGuideSubtitle)}),r.jsxs("label",{className:"setupCheckboxLabel",children:[r.jsx("input",{type:"checkbox",className:"setupCheckbox",checked:g,onChange:B=>p(B.target.checked)}),r.jsx("span",{children:R(i.setupWizardEnableGuideLabel,{guideCatName:I})})]}),g?r.jsx(CC,{provider:b,instance:f,model:m,modelSelection:v,runtimeReachable:e.runtime.reachable,onTargetChange:B=>{w(B.provider),k(B.instance),C(B.model),y(B.modelSelection??null)}}):r.jsx("p",{className:"setupRuntimeNote",children:R(i.setupWizardSkipGuideMessage,{guideCatName:I})}),T?r.jsx("p",{className:"feedbackText",children:T}):null,r.jsxs("div",{className:"setupActions",children:[r.jsx("button",{className:"setupBackButton",type:"button",disabled:P,onClick:()=>o(PC(a)),children:R(i.setupWizardBackButton)}),r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:P||!E,type:"button",onClick:()=>{G()},children:R(L==="complete"?i.setupWizardOpeningCatsAction:i.setupWizardOpenCatsAction)})]})]}):null]})})}const Pi="https://accounts.google.com/gsi/client",NC="g_csrf_token";let Ua=null;function jC(e=document,t=window){return t.google?.accounts?.id?Promise.resolve(t.google):Ua||(Ua=new Promise((a,o)=>{const n=e.querySelector(`script[src="${Pi}"]`),s=n??e.createElement("script");s.src=Pi,s.async=!0,s.defer=!0,s.onload=()=>{if(t.google?.accounts?.id){a(t.google);return}o(new Error("Google Identity Services did not initialize."))},s.onerror=()=>{o(new Error("Google Identity Services could not be loaded."))},n||e.head.appendChild(s)}),Ua)}function MC(){const e=new Uint8Array(24);globalThis.crypto.getRandomValues(e);let t="";for(const a of e)t+=String.fromCharCode(a);return btoa(t).replace(/\+/gu,"-").replace(/\//gu,"_").replace(/=+$/u,"")}function EC(e,t=document){const a=t.location.protocol==="https:"?"; Secure":"";t.cookie=`${NC}=${encodeURIComponent(e)}; Path=/; SameSite=Lax${a}`}function IC({clientId:e,disabled:t,onCredential:a,onError:o}){const n=d.useRef(null);return d.useEffect(()=>{if(t)return;let s=!1;const l=MC();return EC(l),jC().then(c=>{s||!n.current||(c.accounts.id.initialize({client_id:e,callback:u=>{const h=u.credential?.trim();if(!h){o(new Error("Google did not return an ID token."));return}a({credential:h,csrfToken:l})}}),n.current.innerHTML="",c.accounts.id.renderButton(n.current,{type:"standard",theme:"outline",size:"large",text:"signin_with",shape:"rectangular",logo_alignment:"left",width:320}))}).catch(c=>{s||o(c instanceof Error?c:new Error("Google sign-in failed."))}),()=>{s=!0}},[e,t,a,o]),r.jsx("div",{className:"googleSignInButton",ref:n})}function xi({onAuthenticated:e}){const{t}=H(),[a,o]=d.useState(""),[n,s]=d.useState(""),[l,c]=d.useState(!1),[u,h]=d.useState(""),[g,p]=d.useState(null),b=!!(a.trim()&&n&&!l),w=d.useCallback(()=>({fallbackMessageForStatus:C=>t(i.authLoginFailedWithStatus,{status:C}),errorMessagesByCode:{[Xe.unauthenticated]:t(i.authLoginInvalidCredentials),[Xe.forbidden]:t(i.authLoginForbidden),[Xe.csrfMismatch]:t(i.authLoginCsrfMismatch)}}),[t]);d.useEffect(()=>{let C=!0;return jo(w()).then(v=>{if(!C)return;const y=v.providers.google.enabled&&v.providers.google.clientId?.trim()||null;p(y)}).catch(()=>{C&&p(null)}),()=>{C=!1}},[w]);async function f(C){if(C.preventDefault(),!!b){c(!0),h("");try{await cv({identifier:a.trim(),password:n},w());const v=await ya({fallbackMessageForStatus:y=>t(i.appLoadStateFailedWithStatus,{status:y})});e(v)}catch(v){h(v instanceof Error?v.message:t(i.authLoginFailed))}finally{c(!1)}}}const k=d.useCallback(async C=>{if(!l){c(!0),h("");try{await dv({credential:C.credential,csrfToken:C.csrfToken},w());const v=await ya({fallbackMessageForStatus:y=>t(i.appLoadStateFailedWithStatus,{status:y})});e(v)}catch(v){h(v instanceof Error?v.message:t(i.authLoginFailed))}finally{c(!1)}}},[w,l,e,t]),m=d.useCallback(()=>{h(t(i.authLoginGoogleUnavailable))},[t]);return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("form",{className:"contentCard setupCard",onSubmit:C=>{f(C)},children:[r.jsx("p",{className:"eyebrow",children:t(i.appBrandName)}),r.jsx("h1",{children:t(i.authLoginTitle)}),r.jsx("p",{className:"heroNote",children:t(i.authLoginSubtitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(i.authLoginIdentifierLabel)}),r.jsx("input",{className:"textInput",value:a,onChange:C=>o(C.target.value),placeholder:t(i.authLoginIdentifierPlaceholder),autoComplete:"username",autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(i.authLoginPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:n,onChange:C=>s(C.target.value),placeholder:t(i.authLoginPasswordPlaceholder),autoComplete:"current-password"})]}),u?r.jsx("p",{className:"feedbackText",children:u}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!b,type:"submit",children:t(l?i.authLoginSubmitting:i.authLoginSubmit)}),g?r.jsxs("div",{className:"googleSignInSection",children:[r.jsx("div",{className:"setupRuntimeNote",children:t(i.authLoginGoogleOriginHint)}),r.jsx(IC,{clientId:g,disabled:l,onCredential:C=>{k(C)},onError:m})]}):null]})})}function BC({onRepaired:e}){const{t}=H(),[a,o]=d.useState(""),[n,s]=d.useState(""),[l,c]=d.useState(""),[u,h]=d.useState(""),[g,p]=d.useState(!1),[b,w]=d.useState(""),f=!!(n.trim()&&l&&u.trim()&&!g);async function k(m){if(m.preventDefault(),!f){w(t(i.authRepairFailed));return}p(!0),w("");try{const C=a.trim(),v=u.trim();await uv({displayName:C||void 0,identifier:n.trim(),password:l,recoveryToken:v||void 0},{fallbackMessageForStatus:L=>t(i.authRepairFailedWithStatus,{status:L}),errorMessagesByCode:{[Xe.forbidden]:t(i.authRepairForbidden)}});const y=await ya({fallbackMessageForStatus:L=>t(i.appLoadStateFailedWithStatus,{status:L})});e(y)}catch(C){w(C instanceof Error?C.message:t(i.authRepairFailed))}finally{p(!1)}}return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("form",{className:"contentCard setupCard",onSubmit:m=>{k(m)},children:[r.jsx("p",{className:"eyebrow",children:t(i.appBrandName)}),r.jsx("h1",{children:t(i.authRepairTitle)}),r.jsx("p",{className:"heroNote",children:t(i.authRepairSubtitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(i.authRepairDisplayNameLabel)}),r.jsx("input",{className:"textInput",value:a,onChange:m=>o(m.target.value),placeholder:t(i.authRepairDisplayNamePlaceholder),autoComplete:"name",autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(i.authRepairIdentifierLabel)}),r.jsx("input",{className:"textInput",value:n,onChange:m=>s(m.target.value),placeholder:t(i.authRepairIdentifierPlaceholder),autoComplete:"username"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(i.authRepairPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:l,onChange:m=>c(m.target.value),placeholder:t(i.authRepairPasswordPlaceholder),autoComplete:"new-password"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(i.authRepairRecoveryTokenLabel)}),r.jsx("input",{className:"textInput",value:u,onChange:m=>h(m.target.value),placeholder:t(i.authRepairRecoveryTokenPlaceholder),autoComplete:"off"})]}),r.jsx("p",{className:"setupRuntimeNote",children:t(i.authRepairRecoveryTokenHint)}),b?r.jsx("p",{className:"feedbackText",role:"alert",children:b}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!f,type:"submit",children:t(g?i.authRepairSubmitting:i.authRepairSubmit)})]})})}const Ai="/login",Ti="/repair",FC="/lobby";function OC(e,t){return uC(e)?{status:"unauthenticated"}:pC(e)?{status:"repairRequired"}:{status:"error",message:e instanceof Error?e.message:t}}function Di(e){return e.lastProductSurface?dr(e.lastProductSurface):FC}const WC="modulepreload",UC=function(e){return"/"+e},Ni={},En=function(t,a,o){let n=Promise.resolve();if(a&&a.length>0){let u=function(h){return Promise.all(h.map(g=>Promise.resolve(g).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=l?.nonce||l?.getAttribute("nonce");n=u(a.map(h=>{if(h=UC(h),h in Ni)return;Ni[h]=!0;const g=h.endsWith(".css"),p=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${p}`))return;const b=document.createElement("link");if(b.rel=g?"stylesheet":WC,g||(b.as="script"),b.crossOrigin="",b.href=h,c&&b.setAttribute("nonce",c),document.head.appendChild(b),g)return new Promise((w,f)=>{b.addEventListener("load",w),b.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${h}`)))})}))}function s(l){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=l,window.dispatchEvent(c),!c.defaultPrevented)throw l}return n.then(l=>{for(const c of l||[])c.status==="rejected"&&s(c.reason);return t().catch(s)})},HC=()=>En(()=>import("./App-B13AzNko.js"),__vite__mapDeps([0,1,2,3,4,5])),_C=()=>En(()=>import("./App-BbuTWT6Y.js"),__vite__mapDeps([6,1,2,3,7,8])),GC=()=>En(()=>import("./App-n-RtGh42.js"),__vite__mapDeps([9,1,2,7,4,10])),KC={chat:HC,work:_C,code:GC};function ud(e){return KC[e]}function In(e){return d.lazy(ud(e))}function qC(e,t=ud){return t(e)()}function VL(e){return qC(e)}const $C=5e3,zC=In("chat"),VC=In("work"),YC=In("code");function QC(){if(typeof navigator>"u")return"en";const e=Array.isArray(navigator.languages)&&navigator.languages.length>0?navigator.languages:[navigator.language];for(const t of e){const a=ll(t);if(a)return a}return"en"}function JC(e){return e?.language?.uiLanguagePreference??"auto"}function XC(e){return e==="auto"?QC():Gp(e)}function ZC(e){return!!(e.guideCat&&fa(e.guideCat.status)&&!e.productSurfaceFallbackActive)}function eS({surface:e,translate:t,onVisibilityChange:a}){const o=cl(e,Dp(e),t);return d.useEffect(()=>(a(!0),()=>a(!1)),[a]),r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"loadingPanel",children:[r.jsx("p",{className:"eyebrow",children:t("appBrandName")}),r.jsx("h1",{children:t("appLoadingWithSurface",{surface:o})})]})})}function ao(e,t,a){const o=e==="work"?VC:e==="code"?YC:zC;return r.jsx(d.Suspense,{fallback:r.jsx(eS,{surface:e,translate:a,onVisibilityChange:t}),children:r.jsx(o,{})})}function tS(e){return typeof e!="object"||e===null?null:na(e.platformShellSurface)}function aS(e){return e.loadStatus!=="ready"||!e.setupComplete||ma(e.pathname)||gl(e.pathname)?e.t("appTitle"):null}function rS(e,t){const a=Date.parse(e.metadata.generatedAt),o=Date.parse(t.metadata.generatedAt);return Number.isNaN(a)||Number.isNaN(o)?!0:o>=a}function oS(){const e=ye(),t=Ne(),[a,o]=d.useState({status:"loading"}),[n,s]=d.useState(!1),[l,c]=d.useState(0),u=JC(a.status==="ready"?a.envelope:null),[h,g]=d.useState(null),p=h??u,b=XC(p),w=d.useMemo(()=>Fe(b),[b]),f=d.useRef(null),k=d.useRef(e.pathname),[m,C]=d.useState("chat");d.useEffect(()=>{g(null)},[u]);const v=d.useCallback(async(B,q)=>{try{const F=await ya({signal:B,fallbackMessageForStatus:Q=>w("appLoadStateFailedWithStatus",{status:Q})});B?.aborted||d.startTransition(()=>o({status:"ready",envelope:F}))}catch(F){if(B?.aborted)return;const Q=OC(F,w("appLoadErrorMessage"));if(Q.status==="unauthenticated"){d.startTransition(()=>o({status:"unauthenticated"}));return}if(Q.status==="repairRequired"){d.startTransition(()=>o({status:"repairRequired"}));return}q?.suppressErrors||o(Q)}},[w]);d.useEffect(()=>{const B=new AbortController;return v(B.signal),()=>B.abort()},[v]),d.useEffect(()=>{function B(){v(void 0,{suppressErrors:!0})}return window.addEventListener(Ao,B),()=>{window.removeEventListener(Ao,B)}},[v]);const y=ma(e.pathname),L=Zo({hydrate:a.status==="ready"}),D=d.useCallback(()=>{L.update({sidecarSeen:!0})},[L.update]);d.useEffect(()=>{const B=k.current;k.current=e.pathname,!(!(y&&!ma(B))||a.status!=="ready")&&v(void 0,{suppressErrors:!0})},[y,e.pathname,v,a.status]),d.useEffect(()=>{const B=window.history.state;Ak(e.pathname,B?.idx),yk(e.pathname,B?.idx)},[e.pathname]),d.useEffect(()=>{if(a.status!=="ready"||!y||typeof window>"u"||typeof document>"u")return;let B=null;const q=()=>{if(document.visibilityState==="hidden"||B)return;const W=new AbortController;B=W,ya({signal:W.signal,fallbackMessageForStatus:N=>w("appLoadStateFailedWithStatus",{status:N})}).then(N=>{W.signal.aborted||d.startTransition(()=>{o(_=>_.status!=="ready"||!rS(_.envelope,N)?_:{status:"ready",envelope:{..._.envelope,runtime:N.runtime,runtimeSetup:N.runtimeSetup,metadata:N.metadata,bootstrapAttemptId:N.bootstrapAttemptId}})})}).catch(()=>{}).finally(()=>{B===W&&(B=null)})},F=window.setInterval(q,$C),Q=()=>{q()},he=()=>{document.visibilityState==="visible"&&q()};return window.addEventListener("focus",Q),document.addEventListener("visibilitychange",he),()=>{B&&B.abort(),window.clearInterval(F),window.removeEventListener("focus",Q),document.removeEventListener("visibilitychange",he)}},[y,a.status,w]);const T=a.status==="ready"?a.envelope:null,j=!!T?.setupCompleteAt,x=T?.lastProductSurface??null,R=tS(e.state),P=f.current,I=uh(R,P,x,m);if(d.useEffect(()=>{const B=aS({loadStatus:a.status,pathname:e.pathname,setupComplete:j,t:w});B&&(document.title=B)},[e.pathname,j,a.status]),d.useEffect(()=>{a.status!=="ready"||!j||wr().then(B=>cg(B)).catch(()=>{})},[j,a.status]),d.useEffect(()=>{if(a.status!=="ready")return;const B=a.envelope.lastProductSurface??null;B&&C(q=>q===B?q:B)},[a.status,a.status==="ready"?a.envelope.lastProductSurface:null]),d.useEffect(()=>{if(La(e.pathname)){C(B=>B===I?B:I);return}},[e.pathname,I]),d.useEffect(()=>{if(!j)return;const B=dh(e.pathname);if(!(e.pathname==="/"&&x!=="chat")&&!(e.pathname==="/"&&!x)&&!ch(e.pathname)){if(C(q=>q===B?q:B),f.current===null){f.current=B,B!==x&&(d.startTransition(()=>{o(q=>q.status==="ready"?{status:"ready",envelope:{...q.envelope,lastProductSurface:B}}:q)}),fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({lastProductSurface:B})}).catch(()=>{}));return}B!==f.current&&(f.current=B,d.startTransition(()=>{o(q=>q.status==="ready"?{status:"ready",envelope:{...q.envelope,lastProductSurface:B}}:q)}),fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({lastProductSurface:B})}).catch(()=>{}))}},[j,x,e.pathname]),a.status==="loading")return r.jsx(Bt,{languagePreference:p,locale:b,setLanguagePreference:g,children:r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"loadingPanel",children:[r.jsx("p",{className:"eyebrow",children:w("appBrandName")}),r.jsx("h1",{children:w("appLoadingEllipsis")})]})})});if(a.status==="error")return r.jsx(Bt,{languagePreference:p,locale:b,setLanguagePreference:g,children:r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"errorPanel",children:[r.jsx("p",{className:"eyebrow",children:w("appErrorEyebrow")}),r.jsx("h1",{children:w("appErrorTitle")}),r.jsx("p",{children:a.message})]})})});if(a.status==="unauthenticated")return r.jsx(Bt,{languagePreference:p,locale:b,setLanguagePreference:g,children:r.jsxs(oa,{children:[r.jsx(Z,{path:Ai,element:r.jsx(xi,{onAuthenticated:B=>{const q=Di(B);Ft.flushSync(()=>o({status:"ready",envelope:B})),t(q,{replace:!0})}})}),r.jsx(Z,{path:"*",element:r.jsx(mt,{to:Ai,replace:!0})})]})});if(a.status==="repairRequired")return r.jsx(Bt,{languagePreference:p,locale:b,setLanguagePreference:g,children:r.jsxs(oa,{children:[r.jsx(Z,{path:Ti,element:r.jsx(BC,{onRepaired:B=>{const q=Di(B);Ft.flushSync(()=>o({status:"ready",envelope:B})),t(q,{replace:!0})}})}),r.jsx(Z,{path:"*",element:r.jsx(mt,{to:Ti,replace:!0})})]})});const{envelope:O}=a;if(!O.setupCompleteAt)return r.jsx(Bt,{languagePreference:p,locale:b,setLanguagePreference:g,children:r.jsxs(oa,{children:[r.jsx(Z,{path:"/setup",element:r.jsx(DC,{envelope:O,onComplete:B=>{Ft.flushSync(()=>{o({status:"ready",envelope:B}),B.guideCat&&fa(B.guideCat.status)&&L.hydrated&&!L.prefs.sidecarSeen&&c(q=>q+1)}),t("/lobby",{replace:!0})}})}),r.jsx(Z,{path:"*",element:r.jsx(mt,{to:"/setup",replace:!0})})]})});const $=!!O.lastProductSurface?dr(I):"/lobby",G={guideCat:O.guideCat,productSurfaceFallbackActive:n},ee=ZC(G);return r.jsx(Bt,{languagePreference:p,locale:b,setLanguagePreference:g,children:r.jsxs(Oh,{guideCat:ee?G.guideCat:null,placement:L.prefs.placement,floatingAnchor:L.prefs.floatingAnchor,sidecarMode:L.prefs.sidecarMode,proactiveGreetingToken:l,onPersistSeen:D,onCommit:L.update,children:[ee?r.jsx(Om,{guideCat:G.guideCat,ownerDisplayName:O.ownerDisplayName,unreadCount:0,onDismissed:()=>{v()}}):null,r.jsxs(oa,{children:[r.jsx(Z,{path:"/lobby",element:r.jsx(dC,{envelope:O})}),r.jsxs(Z,{element:r.jsx(Rk,{envelope:O}),children:[r.jsx(Z,{path:"/entities",element:r.jsx(rk,{envelope:O})}),r.jsx(Z,{path:"/entities/cats",element:r.jsx(Mb,{})}),r.jsx(Z,{path:"/entities/cats/:catId",element:r.jsx(lw,{})}),r.jsx(Z,{path:"/entities/clowders",element:r.jsx(ik,{envelope:O})}),r.jsx(Z,{path:"/entities/clowders/:clowderId",element:r.jsx(Ys,{envelope:O})}),r.jsx(Z,{path:"/entities/clowders/:clowderId/:tab",element:r.jsx(Ys,{envelope:O})}),r.jsx(Z,{path:"/entities/catteries",element:r.jsx(lk,{envelope:O})}),r.jsx(Z,{path:"/entities/catteries/:catteryId",element:r.jsx(Vs,{envelope:O})}),r.jsx(Z,{path:"/entities/catteries/:catteryId/:tab",element:r.jsx(Vs,{envelope:O})})]}),r.jsx(Z,{path:"/apps/:appId/*",element:r.jsx(Hm,{envelope:O})}),r.jsx(Z,{path:"/products",element:r.jsx(mt,{to:"/lobby",replace:!0})}),r.jsx(Z,{path:"/login",element:r.jsx(xi,{onAuthenticated:B=>{Ft.flushSync(()=>o({status:"ready",envelope:B})),t($,{replace:!0})}})}),r.jsx(Z,{element:r.jsx(Ik,{envelope:O}),children:r.jsx(Z,{path:"/settings/*",element:r.jsx(_v,{})})}),r.jsx(Z,{path:`${jr.chat.routePrefix}/*`,element:ao("chat",s,w)}),r.jsx(Z,{path:`${jr.work.routePrefix}/*`,element:ao("work",s,w)}),r.jsx(Z,{path:`${jr.code.routePrefix}/*`,element:ao("code",s,w)}),r.jsx(Z,{path:"/setup",element:r.jsx(mt,{to:$,replace:!0})}),r.jsx(Z,{path:"/",element:r.jsx(mt,{to:$,replace:!0})}),r.jsx(Z,{path:"*",element:r.jsx(mt,{to:$,replace:!0})})]})]})})}const nS=new vp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!0,refetchOnMount:"always",retry:1}}});sv();yh();hd.createRoot(document.getElementById("root")).render(r.jsx(md.StrictMode,{children:r.jsx(Cp,{client:nS,children:r.jsx(Fu,{unstable_useTransitions:!1,children:r.jsx(oS,{})})})}));export{nf as $,dS as A,pL as B,yL as C,hL as D,xs as E,fL as F,cL as G,ln as H,ce as I,Fe as J,Ne as K,Tt as L,ir as M,mt as N,$t as O,ah as P,mh as Q,oa as R,cr as S,iS as T,PL as U,RL as V,LL as W,SL as X,ws as Y,Ht as Z,Xg as _,If as a,VL as a$,nS as a0,$S as a1,rh as a2,hw as a3,cC as a4,Yg as a5,qS as a6,YS as a7,KS as a8,zS as a9,kL as aA,We as aB,ye as aC,Yd as aD,vL as aE,bL as aF,wL as aG,La as aH,Tl as aI,tn as aJ,en as aK,ed as aL,Lt as aM,Rt as aN,Pt as aO,Sn as aP,Ww as aQ,Fw as aR,Ow as aS,mw as aT,tr as aU,er as aV,Gw as aW,ML as aX,EL as aY,jL as aZ,mf as a_,Ol as aa,Sm as ab,yf as ac,aL as ad,rt as ae,dn as af,Dl as ag,an as ah,za as ai,Et as aj,nn as ak,gr as al,rc as am,vS as an,oL as ao,Mt as ap,Hv as aq,$c as ar,zc as as,Kl as at,mS as au,bS as av,hS as aw,gS as ax,WL as ay,qL as az,VS as b,Ps as b$,LS as b0,FS as b1,Wg as b2,BS as b3,OS as b4,Ig as b5,RS as b6,zL as b7,yn as b8,IL as b9,rf as bA,eL as bB,ZS as bC,NL as bD,DL as bE,TL as bF,DS as bG,iL as bH,SS as bI,sL as bJ,nL as bK,QS as bL,HS as bM,Jg as bN,US as bO,IS as bP,WS as bQ,BL as bR,FL as bS,OL as bT,Ta as bU,dr as bV,jt as bW,at as bX,TS as bY,Re as bZ,Vp as b_,$L as ba,wb as bb,gt as bc,Be as bd,xL as be,lb as bf,km as bg,Zc as bh,mL as bi,gL as bj,Vt as bk,qm as bl,Ze as bm,CS as bn,fS as bo,Mg as bp,JS as bq,lL as br,gb as bs,Bg as bt,PS as bu,xS as bv,et as bw,jS as bx,NS as by,MS as bz,Z as c,rL as c0,wS as c1,kS as c2,ES as c3,AS as c4,yS as c5,Lc as c6,Mc as c7,cc as c8,le as c9,An as cA,na as cB,_L as cC,Vr as cD,xn as cE,Yc as cF,Dt as ca,pS as cb,bn as cc,ba as cd,Cn as ce,GL as cf,HL as cg,UL as ch,XS as ci,tL as cj,Ls as ck,AL as cl,KL as cm,Xm as cn,GS as co,_S as cp,Yi as cq,Jd as cr,Ap as cs,uS as ct,Yp as cu,Ft as cv,Jb as cw,Qb as cx,Tp as cy,kr as cz,lp as d,tp as e,lS as f,io as g,Ve as h,dL as i,al as j,Zu as k,so as l,i as m,fe as n,Zi as o,uL as p,fp as q,Rp as r,CL as s,ep as t,H as u,op as v,Me as w,pa as x,bp as y,cS as z};
|