@cats-inc/cats-platform 0.1.9 → 0.1.21
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 +7 -10
- package/build/desktop/bootstrapPage.d.ts.map +1 -1
- package/build/desktop/bootstrapPage.js +162 -55
- package/build/desktop/bootstrapPage.js.map +1 -1
- package/build/desktop/cliInventoryProbe.d.ts +18 -0
- package/build/desktop/cliInventoryProbe.d.ts.map +1 -1
- package/build/desktop/cliInventoryProbe.js +42 -0
- package/build/desktop/cliInventoryProbe.js.map +1 -1
- package/build/desktop/contracts.d.ts +9 -0
- package/build/desktop/contracts.d.ts.map +1 -1
- package/build/desktop/main.js +101 -20
- package/build/desktop/main.js.map +1 -1
- package/build/desktop/readiness.d.ts.map +1 -1
- package/build/desktop/readiness.js +35 -2
- package/build/desktop/readiness.js.map +1 -1
- package/build/desktop/tray.d.ts +1 -1
- package/build/desktop/tray.d.ts.map +1 -1
- package/build/desktop/tray.js +2 -7
- package/build/desktop/tray.js.map +1 -1
- package/build/desktop/trayMenu.d.ts +23 -2
- package/build/desktop/trayMenu.d.ts.map +1 -1
- package/build/desktop/trayMenu.js +24 -30
- package/build/desktop/trayMenu.js.map +1 -1
- package/build/desktop/updateDialog.d.ts +40 -0
- package/build/desktop/updateDialog.d.ts.map +1 -0
- package/build/desktop/updateDialog.js +178 -0
- package/build/desktop/updateDialog.js.map +1 -0
- package/build/desktop/updateNotifications.js +2 -2
- package/build/desktop/updateNotifications.js.map +1 -1
- package/build/desktop/updaterAdapter.d.ts +1 -0
- package/build/desktop/updaterAdapter.d.ts.map +1 -1
- package/build/desktop/updaterAdapter.js +13 -1
- package/build/desktop/updaterAdapter.js.map +1 -1
- package/build/renderer/assets/{ActiveSessionPermissionChip-Dl2UOFgh.js → ActiveSessionPermissionChip-DImsuR9T.js} +1 -1
- package/build/renderer/assets/{App-CPqGDXVi.js → App-BfOvMP2m.js} +1 -1
- package/build/renderer/assets/{App-ChvP0G9X.js → App-DKOSn0o_.js} +1 -1
- package/build/renderer/assets/{App-C57f4p8k.js → App-DWd7I3Z2.js} +1 -1
- package/build/renderer/assets/{WorkspaceAppRoutes-DYg2vnjz.js → WorkspaceAppRoutes-CrbTA9En.js} +1 -1
- package/build/renderer/assets/app-BTww3Hl4.js +43 -0
- package/build/renderer/assets/{app-XnXwkcD2.css → app-CPxWQwLA.css} +1 -1
- package/build/renderer/assets/conversationSidebarRecentEntries-QuaOPxCb.js +6 -0
- package/build/renderer/assets/{useDraftSessionChips-By3XXabI.js → useDraftSessionChips-DCIId0eY.js} +1 -1
- package/build/renderer/index.html +2 -2
- package/build/server/app/renderer/auth/api.d.ts +28 -2
- package/build/server/app/renderer/auth/api.d.ts.map +1 -1
- package/build/server/app/renderer/auth/api.js +29 -4
- package/build/server/app/renderer/auth/api.js.map +1 -1
- package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts +11 -4
- package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts.map +1 -1
- package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js +25 -5
- package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js.map +1 -1
- package/build/server/app/server/authGatePolicy.js +1 -2
- package/build/server/app/server/authGatePolicy.js.map +1 -1
- package/build/server/app/server/authRoutes.d.ts +14 -1
- package/build/server/app/server/authRoutes.d.ts.map +1 -1
- package/build/server/app/server/authRoutes.js +395 -76
- package/build/server/app/server/authRoutes.js.map +1 -1
- package/build/server/app/server/contracts.d.ts +4 -1
- package/build/server/app/server/contracts.d.ts.map +1 -1
- package/build/server/app/server/dependencies.d.ts.map +1 -1
- package/build/server/app/server/dependencies.js +6 -1
- package/build/server/app/server/dependencies.js.map +1 -1
- package/build/server/app/server/platformSetupRoutes.d.ts +2 -1
- package/build/server/app/server/platformSetupRoutes.d.ts.map +1 -1
- package/build/server/app/server/platformSetupRoutes.js +129 -64
- package/build/server/app/server/platformSetupRoutes.js.map +1 -1
- package/build/server/app/server/requestRouter.d.ts.map +1 -1
- package/build/server/app/server/requestRouter.js +3 -0
- package/build/server/app/server/requestRouter.js.map +1 -1
- package/build/server/app/server/runtimeSurfaceProxy.d.ts.map +1 -1
- package/build/server/app/server/runtimeSurfaceProxy.js +12 -17
- package/build/server/app/server/runtimeSurfaceProxy.js.map +1 -1
- package/build/server/config.d.ts +1 -3
- package/build/server/config.d.ts.map +1 -1
- package/build/server/config.js +2 -13
- package/build/server/config.js.map +1 -1
- package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -1
- package/build/server/design/components/providerModelFieldsSupport.js +4 -1
- package/build/server/design/components/providerModelFieldsSupport.js.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.js +3 -1
- package/build/server/design/components/useProviderTargetReconciliation.js.map +1 -1
- package/build/server/platform/auth/actionGrant.d.ts +61 -0
- package/build/server/platform/auth/actionGrant.d.ts.map +1 -0
- package/build/server/platform/auth/actionGrant.js +108 -0
- package/build/server/platform/auth/actionGrant.js.map +1 -0
- package/build/server/platform/auth/adminCredentials.d.ts +37 -0
- package/build/server/platform/auth/adminCredentials.d.ts.map +1 -0
- package/build/server/platform/auth/adminCredentials.js +63 -0
- package/build/server/platform/auth/adminCredentials.js.map +1 -0
- package/build/server/platform/auth/bootstrap.d.ts +14 -0
- package/build/server/platform/auth/bootstrap.d.ts.map +1 -1
- package/build/server/platform/auth/bootstrap.js +29 -4
- package/build/server/platform/auth/bootstrap.js.map +1 -1
- package/build/server/platform/auth/config.d.ts.map +1 -1
- package/build/server/platform/auth/config.js +1 -1
- package/build/server/platform/auth/config.js.map +1 -1
- package/build/server/platform/auth/errorCodes.d.ts +2 -0
- package/build/server/platform/auth/errorCodes.d.ts.map +1 -1
- package/build/server/platform/auth/errorCodes.js +2 -0
- package/build/server/platform/auth/errorCodes.js.map +1 -1
- package/build/server/platform/auth/googleAccount.d.ts +40 -13
- package/build/server/platform/auth/googleAccount.d.ts.map +1 -1
- package/build/server/platform/auth/googleAccount.js +89 -70
- package/build/server/platform/auth/googleAccount.js.map +1 -1
- package/build/server/platform/auth/index.d.ts +4 -0
- package/build/server/platform/auth/index.d.ts.map +1 -1
- package/build/server/platform/auth/index.js +4 -0
- package/build/server/platform/auth/index.js.map +1 -1
- package/build/server/platform/auth/localLogin.d.ts +10 -0
- package/build/server/platform/auth/localLogin.d.ts.map +1 -1
- package/build/server/platform/auth/localLogin.js +17 -0
- package/build/server/platform/auth/localLogin.js.map +1 -1
- package/build/server/platform/auth/loginMethods.d.ts +18 -0
- package/build/server/platform/auth/loginMethods.d.ts.map +1 -0
- package/build/server/platform/auth/loginMethods.js +19 -0
- package/build/server/platform/auth/loginMethods.js.map +1 -0
- package/build/server/platform/auth/securityEvents.d.ts +31 -0
- package/build/server/platform/auth/securityEvents.d.ts.map +1 -0
- package/build/server/platform/auth/securityEvents.js +45 -0
- package/build/server/platform/auth/securityEvents.js.map +1 -0
- package/build/server/products/chat/api/contracts.d.ts +0 -8
- package/build/server/products/chat/api/contracts.d.ts.map +1 -1
- package/build/server/products/chat/api/setupRoutes.d.ts.map +1 -1
- package/build/server/products/chat/api/setupRoutes.js +2 -84
- package/build/server/products/chat/api/setupRoutes.js.map +1 -1
- package/build/server/products/shared/api/workspaceContracts.d.ts +0 -8
- package/build/server/products/shared/api/workspaceContracts.d.ts.map +1 -1
- package/build/server/runtime/client.d.ts +11 -0
- package/build/server/runtime/client.d.ts.map +1 -1
- package/build/server/runtime/client.js +23 -1
- package/build/server/runtime/client.js.map +1 -1
- package/build/server/shared/i18n/catalogs/en.d.ts.map +1 -1
- package/build/server/shared/i18n/catalogs/en.js +40 -0
- package/build/server/shared/i18n/catalogs/en.js.map +1 -1
- package/build/server/shared/i18n/catalogs/zh-TW.d.ts.map +1 -1
- package/build/server/shared/i18n/catalogs/zh-TW.js +39 -0
- package/build/server/shared/i18n/catalogs/zh-TW.js.map +1 -1
- package/build/server/shared/i18n/index.d.ts +39 -0
- package/build/server/shared/i18n/index.d.ts.map +1 -1
- package/build/server/shared/i18n/messageKeys.d.ts +39 -0
- package/build/server/shared/i18n/messageKeys.d.ts.map +1 -1
- package/build/server/shared/i18n/messageKeys.js +39 -0
- package/build/server/shared/i18n/messageKeys.js.map +1 -1
- package/build/server/shared/providerCatalog.d.ts +3 -2
- package/build/server/shared/providerCatalog.d.ts.map +1 -1
- package/build/server/shared/providerCatalog.js +9 -1
- package/build/server/shared/providerCatalog.js.map +1 -1
- package/build/server/shared/providerCatalogData.d.ts +11 -1
- package/build/server/shared/providerCatalogData.d.ts.map +1 -1
- package/build/server/shared/providerCatalogData.js +9 -0
- package/build/server/shared/providerCatalogData.js.map +1 -1
- package/build/server/shared/providerCatalogInstances.d.ts.map +1 -1
- package/build/server/shared/providerCatalogInstances.js +3 -0
- package/build/server/shared/providerCatalogInstances.js.map +1 -1
- package/package.json +1 -1
- package/scripts/README.md +30 -0
- package/scripts/linux/node-cli-common.sh +2 -75
- package/scripts/macos/node-cli-common.sh +2 -75
- package/scripts/windows/Check-WindowsSetupReadiness.ps1 +14 -443
- package/scripts/windows/Remove-MergedBranches.ps1 +229 -0
- package/build/renderer/assets/app-DVN9Ghrk.js +0 -43
- package/build/renderer/assets/conversationSidebarRecentEntries-XZVCnMLw.js +0 -6
package/.env.example
CHANGED
|
@@ -63,8 +63,9 @@ CATS_AUTH_ENABLED=
|
|
|
63
63
|
# Cats generates and persists a user-local 256-bit secret when this is empty.
|
|
64
64
|
# Set an explicit value for clustered or ephemeral deployments; it always wins.
|
|
65
65
|
CATS_AUTH_SESSION_SECRET=
|
|
66
|
-
# Browser and Cats Mobile session TTLs in milliseconds.
|
|
67
|
-
|
|
66
|
+
# Browser and Cats Mobile session TTLs in milliseconds. Browser sessions
|
|
67
|
+
# default to 30 days; this explicit example keeps copied env files aligned.
|
|
68
|
+
CATS_AUTH_SESSION_TTL_MS=2592000000
|
|
68
69
|
CATS_AUTH_MOBILE_SESSION_TTL_MS=
|
|
69
70
|
# Local/Google login throttling. Keep these non-empty only when tuning tests or
|
|
70
71
|
# deployments with unusual LAN threat models.
|
|
@@ -104,15 +105,11 @@ CATS_RUNTIME_SESSION_CREATE_TIMEOUT_MS=
|
|
|
104
105
|
CATS_RUNTIME_SESSION_CREATE_SLOW_WARNING_MS=
|
|
105
106
|
# Idle timeout (ms) for an in-flight runtime stream/turn. Default 120000.
|
|
106
107
|
CATS_RUNTIME_MESSAGE_IDLE_TIMEOUT_MS=
|
|
107
|
-
#
|
|
108
|
-
#
|
|
109
|
-
#
|
|
110
|
-
#
|
|
108
|
+
# Proxy budget (ms) for the setup mutations, /setup-scan and /setup-apply.
|
|
109
|
+
# Default 30000. A scan is started, not awaited -- the runtime answers 202 and
|
|
110
|
+
# progress is read from /setup-state -- so this bounds a wedged runtime, not the
|
|
111
|
+
# length of a provider scan.
|
|
111
112
|
CATS_RUNTIME_SETUP_PROXY_TIMEOUT_MS=
|
|
112
|
-
# Setup wizard proxy scan budget (ms). Default 120000.
|
|
113
|
-
CATS_RUNTIME_SETUP_SCAN_PROXY_TIMEOUT_MS=
|
|
114
|
-
# Setup wizard proxy apply budget (ms). Default 30000.
|
|
115
|
-
CATS_RUNTIME_SETUP_APPLY_PROXY_TIMEOUT_MS=
|
|
116
113
|
|
|
117
114
|
# Optional override for the provider capability bootstrap YAML path
|
|
118
115
|
# (ADR-082 / PLAN-080). Defaults to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapPage.d.ts","sourceRoot":"","sources":["../../desktop/host/bootstrapPage.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"bootstrapPage.d.ts","sourceRoot":"","sources":["../../desktop/host/bootstrapPage.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,CA8yFlD"}
|
|
@@ -643,7 +643,7 @@ export function buildDesktopBootstrapPage() {
|
|
|
643
643
|
'onboarding.installCli': 'Install a CLI',
|
|
644
644
|
'onboarding.installNodeFirst': 'Install Node first',
|
|
645
645
|
'onboarding.nodeLabel': 'Node.js / npm',
|
|
646
|
-
'onboarding.
|
|
646
|
+
'onboarding.ollamaLabel': 'Ollama',
|
|
647
647
|
'onboarding.rescanClis': 'Detect again',
|
|
648
648
|
'onboarding.scanClis': 'Detect installed CLIs',
|
|
649
649
|
'onboarding.scanningClis': 'Detecting…',
|
|
@@ -760,8 +760,10 @@ export function buildDesktopBootstrapPage() {
|
|
|
760
760
|
'status.error': 'error',
|
|
761
761
|
'status.failed': 'failed',
|
|
762
762
|
'status.info': 'info',
|
|
763
|
+
'status.checkingInstall': 'Checking…',
|
|
763
764
|
'status.install': 'Install',
|
|
764
765
|
'status.installed': 'Installed',
|
|
766
|
+
'status.notInstalled': 'Not installed',
|
|
765
767
|
'status.installedWithCheck': '\u2713 Installed',
|
|
766
768
|
'status.installing': 'Installing\u2026',
|
|
767
769
|
'status.notDetected': 'Not detected yet',
|
|
@@ -896,7 +898,7 @@ export function buildDesktopBootstrapPage() {
|
|
|
896
898
|
'onboarding.installCli': '安裝 CLI',
|
|
897
899
|
'onboarding.installNodeFirst': '請先安裝 Node',
|
|
898
900
|
'onboarding.nodeLabel': 'Node.js / npm',
|
|
899
|
-
'onboarding.
|
|
901
|
+
'onboarding.ollamaLabel': 'Ollama',
|
|
900
902
|
'onboarding.rescanClis': '重新偵測',
|
|
901
903
|
'onboarding.scanClis': '偵測已安裝的 CLI',
|
|
902
904
|
'onboarding.scanningClis': '偵測中…',
|
|
@@ -1013,8 +1015,10 @@ export function buildDesktopBootstrapPage() {
|
|
|
1013
1015
|
'status.error': '錯誤',
|
|
1014
1016
|
'status.failed': '失敗',
|
|
1015
1017
|
'status.info': '資訊',
|
|
1018
|
+
'status.checkingInstall': '檢查中…',
|
|
1016
1019
|
'status.install': '安裝',
|
|
1017
1020
|
'status.installed': '已安裝',
|
|
1021
|
+
'status.notInstalled': '未安裝',
|
|
1018
1022
|
'status.installedWithCheck': '\u2713 已安裝',
|
|
1019
1023
|
'status.installing': '安裝中…',
|
|
1020
1024
|
'status.notDetected': '尚未偵測',
|
|
@@ -1652,21 +1656,29 @@ export function buildDesktopBootstrapPage() {
|
|
|
1652
1656
|
/* CLI install card — used by onboarding mode AND the recovery accordion.
|
|
1653
1657
|
First row favors CLIs that do not depend on Node/npm. Lower rows are
|
|
1654
1658
|
collapsed until Show more is pressed, then npm prerequisites appear
|
|
1655
|
-
before npm-based CLIs.
|
|
1659
|
+
before npm-based CLIs.
|
|
1660
|
+
|
|
1661
|
+
Two providers are deliberately absent from these lists. Aider: the
|
|
1662
|
+
runtime's config writer skips it outright — it is a presence-only
|
|
1663
|
+
provider with no machine-readable execution contract — so a CLI
|
|
1664
|
+
installed from this grid would be detected and then never become a
|
|
1665
|
+
usable target, which is the worst thing onboarding can produce. Ollama:
|
|
1666
|
+
it is a local model runtime, not a CLI provider, so the runtime scan
|
|
1667
|
+
never reports it; its card is built from the readiness audit instead
|
|
1668
|
+
(see buildLocalModelCard). */
|
|
1656
1669
|
var ONBOARDING_NATIVE_PROVIDER_ORDER = [
|
|
1657
1670
|
'claude_code', 'antigravity', 'cursor_agent', 'kiro', 'junie',
|
|
1658
|
-
'goose', 'grok', 'cline', 'devin'
|
|
1671
|
+
'goose', 'grok', 'cline', 'devin'
|
|
1659
1672
|
];
|
|
1660
1673
|
var ONBOARDING_NPM_PROVIDER_ORDER = [
|
|
1661
1674
|
'codex', 'copilot', 'opencode',
|
|
1662
1675
|
'kilo', 'auggie', 'pi'
|
|
1663
1676
|
];
|
|
1664
1677
|
var ONBOARDING_NODE_HELPER_SUFFIX = '-node-host-installer';
|
|
1678
|
+
var ONBOARDING_LOCAL_MODEL_HELPER_SUFFIX = '-ollama-local-model-installer';
|
|
1665
1679
|
var ONBOARDING_CARD_LABELS = {
|
|
1666
|
-
node: tx('onboarding.nodeLabel')
|
|
1667
|
-
|
|
1668
|
-
var ONBOARDING_CARD_STATUS = {
|
|
1669
|
-
node: tx('onboarding.nodeStatus')
|
|
1680
|
+
node: tx('onboarding.nodeLabel'),
|
|
1681
|
+
ollama: tx('onboarding.ollamaLabel')
|
|
1670
1682
|
};
|
|
1671
1683
|
var ONBOARDING_PROVIDER_LABELS = {
|
|
1672
1684
|
claude_code: 'Claude',
|
|
@@ -1683,18 +1695,17 @@ export function buildDesktopBootstrapPage() {
|
|
|
1683
1695
|
pi: 'Pi',
|
|
1684
1696
|
grok: 'Grok',
|
|
1685
1697
|
cline: 'Cline',
|
|
1686
|
-
devin: 'Devin'
|
|
1687
|
-
aider: 'Aider',
|
|
1688
|
-
ollama: 'Ollama'
|
|
1698
|
+
devin: 'Devin'
|
|
1689
1699
|
};
|
|
1690
1700
|
var cliInstallingState = Object.create(null);
|
|
1691
1701
|
var cliScanInFlight = false;
|
|
1692
1702
|
var onboardingExpanded = false;
|
|
1693
1703
|
|
|
1694
1704
|
/* The runtime only fills in cliInventory after a setup scan has actually
|
|
1695
|
-
run
|
|
1696
|
-
|
|
1697
|
-
|
|
1705
|
+
run. The host now kicks that scan off in the background at startup, so
|
|
1706
|
+
this is a window of a few seconds rather than a state the user is parked
|
|
1707
|
+
in until they click Detect — but the window still exists, and until it
|
|
1708
|
+
closes every candidate arrives as installed:false, which is
|
|
1698
1709
|
indistinguishable from "we checked and it is missing". Render that as
|
|
1699
1710
|
unknown instead of claiming the CLI is absent; the inventory's source
|
|
1700
1711
|
field is the flag that tells the two apart. */
|
|
@@ -1744,45 +1755,133 @@ export function buildDesktopBootstrapPage() {
|
|
|
1744
1755
|
|| planned.indexOf('install_node_lts_via_nvm') >= 0;
|
|
1745
1756
|
}
|
|
1746
1757
|
|
|
1747
|
-
|
|
1758
|
+
/* Last conclusive answer per audit-backed card.
|
|
1759
|
+
setupSnap carries only the single most recent setup action, so installing
|
|
1760
|
+
any CLI from this grid overwrites the audit result that these cards are
|
|
1761
|
+
built from. Without a memory the Node card would fall back to "unknown"
|
|
1762
|
+
every time the user installed something, which is the state it is least
|
|
1763
|
+
able to leave on its own -- the audit only re-runs on its own terms. */
|
|
1764
|
+
var lastKnownAuditState = { node: null, ollama: null };
|
|
1765
|
+
|
|
1766
|
+
function rememberAuditState(key, state) {
|
|
1767
|
+
if (state !== 'checking') {
|
|
1768
|
+
lastKnownAuditState[key] = state;
|
|
1769
|
+
}
|
|
1770
|
+
return state === 'checking' && lastKnownAuditState[key]
|
|
1771
|
+
? lastKnownAuditState[key]
|
|
1772
|
+
: state;
|
|
1773
|
+
}
|
|
1774
|
+
|
|
1775
|
+
/* 'checking' | 'ready' | 'missing'.
|
|
1776
|
+
'checking' and 'missing' were previously the same value, so a card that
|
|
1777
|
+
had not been looked at yet rendered exactly like one that had been looked
|
|
1778
|
+
at and found absent -- a Node card reading "Install" while Node was in
|
|
1779
|
+
fact installed. A failed audit resolves to 'missing' rather than
|
|
1780
|
+
'checking': it is not coming back on its own, and an install button the
|
|
1781
|
+
user can press beats a spinner that never stops. */
|
|
1782
|
+
function resolveNodePrerequisiteState(setupSnap) {
|
|
1748
1783
|
var action = setupSnap && setupSnap.state ? setupSnap.state.lastAction : null;
|
|
1749
|
-
if (!action
|
|
1784
|
+
if (!action) return rememberAuditState('node', 'checking');
|
|
1785
|
+
if (action.runState === 'failed') return rememberAuditState('node', 'missing');
|
|
1750
1786
|
if (isNodePrerequisiteHelperId(action.helperId)) {
|
|
1751
|
-
return action.status === 'ready';
|
|
1787
|
+
return rememberAuditState('node', action.status === 'ready' ? 'ready' : 'missing');
|
|
1752
1788
|
}
|
|
1753
1789
|
if (isReadinessAuditAction(action)) {
|
|
1754
|
-
return
|
|
1790
|
+
return rememberAuditState(
|
|
1791
|
+
'node',
|
|
1792
|
+
plannedActionsIncludeNodeInstall(action) ? 'missing' : 'ready'
|
|
1793
|
+
);
|
|
1755
1794
|
}
|
|
1756
|
-
|
|
1795
|
+
/* Some other helper ran and says nothing about Node. */
|
|
1796
|
+
return rememberAuditState('node', 'checking');
|
|
1797
|
+
}
|
|
1798
|
+
|
|
1799
|
+
function buildAuditBackedCard(helper, label, state) {
|
|
1800
|
+
var ready = state === 'ready';
|
|
1801
|
+
return {
|
|
1802
|
+
helperId: helper ? helper.id : null,
|
|
1803
|
+
label: label,
|
|
1804
|
+
/* The status line carries a state in every card in this grid. It used
|
|
1805
|
+
to carry the reason the card exists -- why npm CLIs depend on it --
|
|
1806
|
+
which sits in the same place a state sits and therefore reads as one.
|
|
1807
|
+
The state it implied was "you need this and do not have it", which
|
|
1808
|
+
was wrong for the whole window before the audit reported. */
|
|
1809
|
+
statusText: tx('status.notInstalled'),
|
|
1810
|
+
installed: ready,
|
|
1811
|
+
auditPending: state === 'checking',
|
|
1812
|
+
available: helper ? helper.available : false,
|
|
1813
|
+
supported: helper ? helper.supported : true,
|
|
1814
|
+
supportsApply: ready || !helper ? false : helper.supportsApply
|
|
1815
|
+
};
|
|
1757
1816
|
}
|
|
1758
1817
|
|
|
1759
1818
|
function buildNodePrerequisiteCard(setupSnap) {
|
|
1760
1819
|
var helper = pickNodePrerequisiteHelper(setupSnap);
|
|
1761
|
-
if (!helper) {
|
|
1762
|
-
if (!setupSnap) {
|
|
1763
|
-
return {
|
|
1764
|
-
helperId: null,
|
|
1765
|
-
label: ONBOARDING_CARD_LABELS.node,
|
|
1766
|
-
statusText: ' ',
|
|
1767
|
-
installed: false,
|
|
1768
|
-
available: false,
|
|
1769
|
-
supported: true,
|
|
1770
|
-
supportsApply: false,
|
|
1771
|
-
checkingHint: 'spinner-in-status'
|
|
1772
|
-
};
|
|
1773
|
-
}
|
|
1820
|
+
if (!helper && setupSnap) {
|
|
1774
1821
|
return null;
|
|
1775
1822
|
}
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1823
|
+
return buildAuditBackedCard(
|
|
1824
|
+
helper,
|
|
1825
|
+
ONBOARDING_CARD_LABELS.node,
|
|
1826
|
+
resolveNodePrerequisiteState(setupSnap)
|
|
1827
|
+
);
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
function isLocalModelHelperId(helperId) {
|
|
1831
|
+
return Boolean(helperId && helperId.indexOf(ONBOARDING_LOCAL_MODEL_HELPER_SUFFIX) > 0);
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1834
|
+
function pickLocalModelHelper(setupSnap) {
|
|
1835
|
+
return pickSetupHelper(setupSnap, function (candidate) {
|
|
1836
|
+
return candidate && isLocalModelHelperId(candidate.id);
|
|
1837
|
+
});
|
|
1838
|
+
}
|
|
1839
|
+
|
|
1840
|
+
function plannedActionsIncludeLocalModelInstall(action) {
|
|
1841
|
+
var planned = action && Array.isArray(action.plannedActions) ? action.plannedActions : [];
|
|
1842
|
+
return planned.indexOf('local_model:install_ollama_local_model') >= 0;
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
/* The audit reports installation and API readiness as separate planned
|
|
1846
|
+
actions — start_ollama_local_model means the binary is already on disk,
|
|
1847
|
+
the service just is not up. This card only ever claims installation, so
|
|
1848
|
+
only the install action holds it back. A direct helper run reports the
|
|
1849
|
+
same split through its status, and everything except not_installed
|
|
1850
|
+
means the install itself landed. */
|
|
1851
|
+
function resolveLocalModelState(setupSnap) {
|
|
1852
|
+
var action = setupSnap && setupSnap.state ? setupSnap.state.lastAction : null;
|
|
1853
|
+
if (!action) return rememberAuditState('ollama', 'checking');
|
|
1854
|
+
if (action.runState === 'failed') return rememberAuditState('ollama', 'missing');
|
|
1855
|
+
if (isLocalModelHelperId(action.helperId)) {
|
|
1856
|
+
return rememberAuditState(
|
|
1857
|
+
'ollama',
|
|
1858
|
+
action.status !== 'not_installed' ? 'ready' : 'missing'
|
|
1859
|
+
);
|
|
1860
|
+
}
|
|
1861
|
+
if (isReadinessAuditAction(action)) {
|
|
1862
|
+
return rememberAuditState(
|
|
1863
|
+
'ollama',
|
|
1864
|
+
plannedActionsIncludeLocalModelInstall(action) ? 'missing' : 'ready'
|
|
1865
|
+
);
|
|
1866
|
+
}
|
|
1867
|
+
return rememberAuditState('ollama', 'checking');
|
|
1868
|
+
}
|
|
1869
|
+
|
|
1870
|
+
/* Ollama is not a CLI provider, so cats-runtime's setup scan has no entry
|
|
1871
|
+
for it and its inventory candidate is hardcoded to installed:false —
|
|
1872
|
+
a card driven from the inventory could never clear, not even right after
|
|
1873
|
+
a successful install from that very card. Build it from the readiness
|
|
1874
|
+
audit instead, exactly like the Node prerequisite card above. */
|
|
1875
|
+
function buildLocalModelCard(setupSnap) {
|
|
1876
|
+
var helper = pickLocalModelHelper(setupSnap);
|
|
1877
|
+
if (!helper && setupSnap) {
|
|
1878
|
+
return null;
|
|
1879
|
+
}
|
|
1880
|
+
return buildAuditBackedCard(
|
|
1881
|
+
helper,
|
|
1882
|
+
ONBOARDING_CARD_LABELS.ollama,
|
|
1883
|
+
resolveLocalModelState(setupSnap)
|
|
1884
|
+
);
|
|
1786
1885
|
}
|
|
1787
1886
|
|
|
1788
1887
|
function toProviderInstallCard(candidate, scanned) {
|
|
@@ -1858,6 +1957,14 @@ export function buildDesktopBootstrapPage() {
|
|
|
1858
1957
|
statusClass = 'c-ok';
|
|
1859
1958
|
statusContent = tx('status.installedWithCheck');
|
|
1860
1959
|
btnContent = btnLabel;
|
|
1960
|
+
} else if (card.auditPending) {
|
|
1961
|
+
/* The readiness audit has not reported on this card yet. It runs
|
|
1962
|
+
itself, so there is nothing for the user to press -- and pressing
|
|
1963
|
+
Install here would act on an answer nobody has. */
|
|
1964
|
+
btnLabel = tx('status.checkingInstall');
|
|
1965
|
+
statusClass = '';
|
|
1966
|
+
statusContent = tx('status.checkingInstall');
|
|
1967
|
+
btnContent = spinnerEl();
|
|
1861
1968
|
} else if (card.inventoryUnknown) {
|
|
1862
1969
|
btnLabel = tx('status.detect');
|
|
1863
1970
|
statusClass = '';
|
|
@@ -1868,11 +1975,6 @@ export function buildDesktopBootstrapPage() {
|
|
|
1868
1975
|
statusClass = '';
|
|
1869
1976
|
statusContent = card.statusText || ' ';
|
|
1870
1977
|
btnContent = btnLabel;
|
|
1871
|
-
if (card.checkingHint === 'spinner-in-status') {
|
|
1872
|
-
statusContent = spinnerEl();
|
|
1873
|
-
} else if (card.checkingHint === 'spinner-in-button') {
|
|
1874
|
-
btnContent = spinnerEl();
|
|
1875
|
-
}
|
|
1876
1978
|
}
|
|
1877
1979
|
var btn = el('button', {
|
|
1878
1980
|
class: 'btn cli-card-btn',
|
|
@@ -1881,6 +1983,7 @@ export function buildDesktopBootstrapPage() {
|
|
|
1881
1983
|
unknown — the CLI may well already be installed. */
|
|
1882
1984
|
disabled: installing
|
|
1883
1985
|
|| cliScanInFlight
|
|
1986
|
+
|| card.auditPending
|
|
1884
1987
|
|| !card.available
|
|
1885
1988
|
|| !card.supported
|
|
1886
1989
|
|| (!card.inventoryUnknown && card.supportsApply === false),
|
|
@@ -1914,11 +2017,8 @@ export function buildDesktopBootstrapPage() {
|
|
|
1914
2017
|
if (!candidate || !candidate.available) continue;
|
|
1915
2018
|
var card = toProviderInstallCard(candidate, scanned);
|
|
1916
2019
|
if (options && options.waitForNodePrerequisite) {
|
|
1917
|
-
card.statusText =
|
|
2020
|
+
card.statusText = tx('onboarding.installNodeFirst');
|
|
1918
2021
|
card.supportsApply = false;
|
|
1919
|
-
if (options.showCheckingSpinner) {
|
|
1920
|
-
card.checkingHint = 'spinner-in-button';
|
|
1921
|
-
}
|
|
1922
2022
|
}
|
|
1923
2023
|
card.collapsedSlot = ONBOARDING_COLLAPSED_PROVIDER_IDS.indexOf(providerId) !== -1;
|
|
1924
2024
|
cards.push(card);
|
|
@@ -1930,17 +2030,24 @@ export function buildDesktopBootstrapPage() {
|
|
|
1930
2030
|
var expanded = alwaysExpanded || onboardingExpanded;
|
|
1931
2031
|
var entries = [];
|
|
1932
2032
|
appendProviderCards(entries, snapshot, ONBOARDING_NATIVE_PROVIDER_ORDER);
|
|
2033
|
+
/* Tail of the native row, where Ollama used to sit as a provider card. */
|
|
2034
|
+
var localModelCard = buildLocalModelCard(setupSnap);
|
|
2035
|
+
if (localModelCard) {
|
|
2036
|
+
entries.push(localModelCard);
|
|
2037
|
+
}
|
|
1933
2038
|
entries.push({ kind: 'break' });
|
|
1934
2039
|
var nodeCard = buildNodePrerequisiteCard(setupSnap);
|
|
1935
2040
|
if (nodeCard) {
|
|
1936
2041
|
nodeCard.collapsedSlot = ONBOARDING_COLLAPSED_INCLUDES_NODE;
|
|
1937
2042
|
entries.push(nodeCard);
|
|
1938
2043
|
}
|
|
1939
|
-
|
|
2044
|
+
/* Only a Node we know is missing holds the npm group back. While the
|
|
2045
|
+
audit is still checking, these cards keep their own state: telling a
|
|
2046
|
+
user to install Node first -- and taking Reinstall away from a CLI
|
|
2047
|
+
they already have -- on the strength of an answer nobody has yet is
|
|
2048
|
+
the same mistake the Node card itself was making. */
|
|
1940
2049
|
appendProviderCards(entries, snapshot, ONBOARDING_NPM_PROVIDER_ORDER, {
|
|
1941
|
-
waitForNodePrerequisite:
|
|
1942
|
-
nodePrerequisiteStatusText: setupSnap ? tx('onboarding.installNodeFirst') : ' ',
|
|
1943
|
-
showCheckingSpinner: !setupSnap
|
|
2050
|
+
waitForNodePrerequisite: resolveNodePrerequisiteState(setupSnap) === 'missing'
|
|
1944
2051
|
});
|
|
1945
2052
|
|
|
1946
2053
|
var elements = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapPage.js","sourceRoot":"","sources":["../../desktop/host/bootstrapPage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,OAAO
|
|
1
|
+
{"version":3,"file":"bootstrapPage.js","sourceRoot":"","sources":["../../desktop/host/bootstrapPage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4yFD,CAAC;AACT,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type DesktopCliInventory } from './contracts.js';
|
|
2
2
|
export interface RuntimeCliInventoryProbe {
|
|
3
|
+
bootstrapRequired?: boolean;
|
|
3
4
|
state?: {
|
|
4
5
|
status?: 'pending' | 'scanning' | 'ready' | 'applied' | 'error' | string;
|
|
5
6
|
error?: string | null;
|
|
@@ -9,8 +10,25 @@ export interface RuntimeCliInventoryProbe {
|
|
|
9
10
|
providers: Array<{
|
|
10
11
|
provider: string;
|
|
11
12
|
available: boolean;
|
|
13
|
+
authStatus?: string;
|
|
12
14
|
}>;
|
|
13
15
|
} | null;
|
|
14
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* True when the runtime's own bootstrap answer on a probe disagrees with the
|
|
19
|
+
* one the caller has cached.
|
|
20
|
+
*
|
|
21
|
+
* The desktop snapshot phase is derived from a cached GET /health payload that
|
|
22
|
+
* is only refetched at startup and on a few user actions, never on a timer.
|
|
23
|
+
* Applying a provider config takes the runtime out of bootstrap in-process, so
|
|
24
|
+
* nothing tells the host: it keeps republishing "Cats Runtime setup is still
|
|
25
|
+
* required" from a payload captured before the apply, until the app restarts.
|
|
26
|
+
*
|
|
27
|
+
* Every probe already carries the runtime's current answer, so the
|
|
28
|
+
* disagreement is visible without asking for anything extra. A caller that has
|
|
29
|
+
* no cached answer yet, or a runtime too old to send the field, reports no
|
|
30
|
+
* disagreement -- absence of a signal is not a claim that the state changed.
|
|
31
|
+
*/
|
|
32
|
+
export declare function probeContradictsCachedBootstrapState(probe: RuntimeCliInventoryProbe | null, cachedBootstrapRequired: boolean | null): boolean;
|
|
15
33
|
export declare function buildDesktopCliInventoryFromRuntime(probe: RuntimeCliInventoryProbe | null, platform?: NodeJS.Platform): DesktopCliInventory;
|
|
16
34
|
//# sourceMappingURL=cliInventoryProbe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliInventoryProbe.d.ts","sourceRoot":"","sources":["../../desktop/host/cliInventoryProbe.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"cliInventoryProbe.d.ts","sourceRoot":"","sources":["../../desktop/host/cliInventoryProbe.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,gBAAgB,CAAC;AAKxB,MAAM,WAAW,wBAAwB;IAKvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;QACzE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,GAAG,IAAI,CAAC;IACT,IAAI,EAAE;QACJ,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,SAAS,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjF,GAAG,IAAI,CAAC;CACV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,wBAAwB,GAAG,IAAI,EACtC,uBAAuB,EAAE,OAAO,GAAG,IAAI,GACtC,OAAO,CAKT;AA6FD,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,wBAAwB,GAAG,IAAI,EACtC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,mBAAmB,CA8CrB"}
|
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
import { DESKTOP_PROVIDER_SETUP_LOCAL_PROVIDERS, } from './contracts.js';
|
|
2
|
+
/**
|
|
3
|
+
* True when the runtime's own bootstrap answer on a probe disagrees with the
|
|
4
|
+
* one the caller has cached.
|
|
5
|
+
*
|
|
6
|
+
* The desktop snapshot phase is derived from a cached GET /health payload that
|
|
7
|
+
* is only refetched at startup and on a few user actions, never on a timer.
|
|
8
|
+
* Applying a provider config takes the runtime out of bootstrap in-process, so
|
|
9
|
+
* nothing tells the host: it keeps republishing "Cats Runtime setup is still
|
|
10
|
+
* required" from a payload captured before the apply, until the app restarts.
|
|
11
|
+
*
|
|
12
|
+
* Every probe already carries the runtime's current answer, so the
|
|
13
|
+
* disagreement is visible without asking for anything extra. A caller that has
|
|
14
|
+
* no cached answer yet, or a runtime too old to send the field, reports no
|
|
15
|
+
* disagreement -- absence of a signal is not a claim that the state changed.
|
|
16
|
+
*/
|
|
17
|
+
export function probeContradictsCachedBootstrapState(probe, cachedBootstrapRequired) {
|
|
18
|
+
if (typeof probe?.bootstrapRequired !== 'boolean' || cachedBootstrapRequired === null) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return cachedBootstrapRequired !== probe.bootstrapRequired;
|
|
22
|
+
}
|
|
23
|
+
const DESKTOP_CLI_AUTH_STATUSES = [
|
|
24
|
+
'not_required',
|
|
25
|
+
'missing',
|
|
26
|
+
'unknown',
|
|
27
|
+
];
|
|
28
|
+
// The runtime types authStatus as a plain string on the wire, and an older
|
|
29
|
+
// runtime does not send it at all. Anything we do not recognize is "we do not
|
|
30
|
+
// know", never a claim about the user's credentials.
|
|
31
|
+
function normalizeCliAuthStatus(value) {
|
|
32
|
+
return DESKTOP_CLI_AUTH_STATUSES.includes(value)
|
|
33
|
+
? value
|
|
34
|
+
: 'unknown';
|
|
35
|
+
}
|
|
2
36
|
// Mapping: desktop's local-provider id -> the runtime KNOWN_PROVIDERS id.
|
|
3
37
|
// They mostly line up but a few desktop ids carry a suffix (e.g. claude_code,
|
|
4
38
|
// cursor_agent) that runtime doesn't use.
|
|
@@ -77,11 +111,13 @@ export function buildDesktopCliInventoryFromRuntime(probe, platform = process.pl
|
|
|
77
111
|
const helperPrefix = platformToHelperPrefix(platform);
|
|
78
112
|
// Runtime provider id -> installed command detected by the runtime setup scan.
|
|
79
113
|
const runtimeAvailability = new Map();
|
|
114
|
+
const runtimeAuthStatus = new Map();
|
|
80
115
|
let scannedAt = null;
|
|
81
116
|
if (probe?.scan) {
|
|
82
117
|
scannedAt = probe.scan.scannedAt ?? null;
|
|
83
118
|
for (const provider of probe.scan.providers) {
|
|
84
119
|
runtimeAvailability.set(provider.provider, provider.available === true);
|
|
120
|
+
runtimeAuthStatus.set(provider.provider, normalizeCliAuthStatus(provider.authStatus));
|
|
85
121
|
}
|
|
86
122
|
}
|
|
87
123
|
const candidates = DESKTOP_PROVIDER_SETUP_LOCAL_PROVIDERS.map((providerId) => {
|
|
@@ -91,6 +127,11 @@ export function buildDesktopCliInventoryFromRuntime(probe, platform = process.pl
|
|
|
91
127
|
const installed = runtimeProvider !== null
|
|
92
128
|
? runtimeAvailability.get(runtimeProvider) === true
|
|
93
129
|
: false;
|
|
130
|
+
// Auth only means something for a CLI we found. A provider that is not
|
|
131
|
+
// installed has nothing to be signed in to.
|
|
132
|
+
const authStatus = installed && runtimeProvider !== null
|
|
133
|
+
? runtimeAuthStatus.get(runtimeProvider) ?? 'unknown'
|
|
134
|
+
: 'unknown';
|
|
94
135
|
return {
|
|
95
136
|
helperId,
|
|
96
137
|
providerId,
|
|
@@ -98,6 +139,7 @@ export function buildDesktopCliInventoryFromRuntime(probe, platform = process.pl
|
|
|
98
139
|
installed,
|
|
99
140
|
available: helperId !== '',
|
|
100
141
|
supported: helperPrefix !== null,
|
|
142
|
+
authStatus,
|
|
101
143
|
};
|
|
102
144
|
});
|
|
103
145
|
const installed = candidates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliInventoryProbe.js","sourceRoot":"","sources":["../../desktop/host/cliInventoryProbe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,
|
|
1
|
+
{"version":3,"file":"cliInventoryProbe.js","sourceRoot":"","sources":["../../desktop/host/cliInventoryProbe.ts"],"names":[],"mappings":"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"}
|
|
@@ -535,6 +535,14 @@ export interface DesktopBootstrapSnapshot {
|
|
|
535
535
|
hostStatePath: string | null;
|
|
536
536
|
prerequisites: DesktopBootstrapPrerequisites | null;
|
|
537
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Mirrors cats-runtime's ProviderAuthStatus. There is deliberately no
|
|
540
|
+
* "satisfied" value: the runtime reports `missing` only when a probe actually
|
|
541
|
+
* read an auth or login requirement out of the CLI's own output, and `unknown`
|
|
542
|
+
* covers both "signed in" and "needs auth but we could not verify it". Only
|
|
543
|
+
* `missing` is a claim strong enough to act on.
|
|
544
|
+
*/
|
|
545
|
+
export type DesktopCliAuthStatus = 'not_required' | 'missing' | 'unknown';
|
|
538
546
|
export interface DesktopCliInventoryEntry {
|
|
539
547
|
helperId: string;
|
|
540
548
|
providerId: DesktopProviderSetupLocalProviderId;
|
|
@@ -542,6 +550,7 @@ export interface DesktopCliInventoryEntry {
|
|
|
542
550
|
installed: boolean;
|
|
543
551
|
available: boolean;
|
|
544
552
|
supported: boolean;
|
|
553
|
+
authStatus: DesktopCliAuthStatus;
|
|
545
554
|
}
|
|
546
555
|
export interface DesktopCliInventory {
|
|
547
556
|
source: 'runtime' | 'unknown';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../desktop/host/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../desktop/host/contracts.ts"],"names":[],"mappings":"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"}
|