@cats-inc/cats-platform 0.1.10 → 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.
Files changed (163) hide show
  1. package/.env.example +7 -10
  2. package/build/desktop/bootstrapPage.d.ts.map +1 -1
  3. package/build/desktop/bootstrapPage.js +162 -55
  4. package/build/desktop/bootstrapPage.js.map +1 -1
  5. package/build/desktop/cliInventoryProbe.d.ts +18 -0
  6. package/build/desktop/cliInventoryProbe.d.ts.map +1 -1
  7. package/build/desktop/cliInventoryProbe.js +42 -0
  8. package/build/desktop/cliInventoryProbe.js.map +1 -1
  9. package/build/desktop/contracts.d.ts +9 -0
  10. package/build/desktop/contracts.d.ts.map +1 -1
  11. package/build/desktop/main.js +101 -20
  12. package/build/desktop/main.js.map +1 -1
  13. package/build/desktop/readiness.d.ts.map +1 -1
  14. package/build/desktop/readiness.js +35 -2
  15. package/build/desktop/readiness.js.map +1 -1
  16. package/build/desktop/tray.d.ts +1 -1
  17. package/build/desktop/tray.d.ts.map +1 -1
  18. package/build/desktop/tray.js +2 -7
  19. package/build/desktop/tray.js.map +1 -1
  20. package/build/desktop/trayMenu.d.ts +23 -2
  21. package/build/desktop/trayMenu.d.ts.map +1 -1
  22. package/build/desktop/trayMenu.js +24 -30
  23. package/build/desktop/trayMenu.js.map +1 -1
  24. package/build/desktop/updateDialog.d.ts +40 -0
  25. package/build/desktop/updateDialog.d.ts.map +1 -0
  26. package/build/desktop/updateDialog.js +178 -0
  27. package/build/desktop/updateDialog.js.map +1 -0
  28. package/build/desktop/updateNotifications.js +2 -2
  29. package/build/desktop/updateNotifications.js.map +1 -1
  30. package/build/desktop/updaterAdapter.d.ts +1 -0
  31. package/build/desktop/updaterAdapter.d.ts.map +1 -1
  32. package/build/desktop/updaterAdapter.js +13 -1
  33. package/build/desktop/updaterAdapter.js.map +1 -1
  34. package/build/renderer/assets/{ActiveSessionPermissionChip-Dl2UOFgh.js → ActiveSessionPermissionChip-DImsuR9T.js} +1 -1
  35. package/build/renderer/assets/{App-CPqGDXVi.js → App-BfOvMP2m.js} +1 -1
  36. package/build/renderer/assets/{App-ChvP0G9X.js → App-DKOSn0o_.js} +1 -1
  37. package/build/renderer/assets/{App-C57f4p8k.js → App-DWd7I3Z2.js} +1 -1
  38. package/build/renderer/assets/{WorkspaceAppRoutes-DYg2vnjz.js → WorkspaceAppRoutes-CrbTA9En.js} +1 -1
  39. package/build/renderer/assets/app-BTww3Hl4.js +43 -0
  40. package/build/renderer/assets/{app-XnXwkcD2.css → app-CPxWQwLA.css} +1 -1
  41. package/build/renderer/assets/conversationSidebarRecentEntries-QuaOPxCb.js +6 -0
  42. package/build/renderer/assets/{useDraftSessionChips-By3XXabI.js → useDraftSessionChips-DCIId0eY.js} +1 -1
  43. package/build/renderer/index.html +2 -2
  44. package/build/server/app/renderer/auth/api.d.ts +28 -2
  45. package/build/server/app/renderer/auth/api.d.ts.map +1 -1
  46. package/build/server/app/renderer/auth/api.js +29 -4
  47. package/build/server/app/renderer/auth/api.js.map +1 -1
  48. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts +11 -4
  49. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts.map +1 -1
  50. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js +25 -5
  51. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js.map +1 -1
  52. package/build/server/app/server/authGatePolicy.js +1 -2
  53. package/build/server/app/server/authGatePolicy.js.map +1 -1
  54. package/build/server/app/server/authRoutes.d.ts +14 -1
  55. package/build/server/app/server/authRoutes.d.ts.map +1 -1
  56. package/build/server/app/server/authRoutes.js +395 -76
  57. package/build/server/app/server/authRoutes.js.map +1 -1
  58. package/build/server/app/server/contracts.d.ts +4 -1
  59. package/build/server/app/server/contracts.d.ts.map +1 -1
  60. package/build/server/app/server/dependencies.d.ts.map +1 -1
  61. package/build/server/app/server/dependencies.js +6 -1
  62. package/build/server/app/server/dependencies.js.map +1 -1
  63. package/build/server/app/server/platformSetupRoutes.d.ts +2 -1
  64. package/build/server/app/server/platformSetupRoutes.d.ts.map +1 -1
  65. package/build/server/app/server/platformSetupRoutes.js +129 -64
  66. package/build/server/app/server/platformSetupRoutes.js.map +1 -1
  67. package/build/server/app/server/requestRouter.d.ts.map +1 -1
  68. package/build/server/app/server/requestRouter.js +3 -0
  69. package/build/server/app/server/requestRouter.js.map +1 -1
  70. package/build/server/app/server/runtimeSurfaceProxy.d.ts.map +1 -1
  71. package/build/server/app/server/runtimeSurfaceProxy.js +12 -17
  72. package/build/server/app/server/runtimeSurfaceProxy.js.map +1 -1
  73. package/build/server/config.d.ts +1 -3
  74. package/build/server/config.d.ts.map +1 -1
  75. package/build/server/config.js +2 -13
  76. package/build/server/config.js.map +1 -1
  77. package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -1
  78. package/build/server/design/components/providerModelFieldsSupport.js +4 -1
  79. package/build/server/design/components/providerModelFieldsSupport.js.map +1 -1
  80. package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -1
  81. package/build/server/design/components/useProviderTargetReconciliation.js +3 -1
  82. package/build/server/design/components/useProviderTargetReconciliation.js.map +1 -1
  83. package/build/server/platform/auth/actionGrant.d.ts +61 -0
  84. package/build/server/platform/auth/actionGrant.d.ts.map +1 -0
  85. package/build/server/platform/auth/actionGrant.js +108 -0
  86. package/build/server/platform/auth/actionGrant.js.map +1 -0
  87. package/build/server/platform/auth/adminCredentials.d.ts +37 -0
  88. package/build/server/platform/auth/adminCredentials.d.ts.map +1 -0
  89. package/build/server/platform/auth/adminCredentials.js +63 -0
  90. package/build/server/platform/auth/adminCredentials.js.map +1 -0
  91. package/build/server/platform/auth/bootstrap.d.ts +14 -0
  92. package/build/server/platform/auth/bootstrap.d.ts.map +1 -1
  93. package/build/server/platform/auth/bootstrap.js +29 -4
  94. package/build/server/platform/auth/bootstrap.js.map +1 -1
  95. package/build/server/platform/auth/config.d.ts.map +1 -1
  96. package/build/server/platform/auth/config.js +1 -1
  97. package/build/server/platform/auth/config.js.map +1 -1
  98. package/build/server/platform/auth/errorCodes.d.ts +2 -0
  99. package/build/server/platform/auth/errorCodes.d.ts.map +1 -1
  100. package/build/server/platform/auth/errorCodes.js +2 -0
  101. package/build/server/platform/auth/errorCodes.js.map +1 -1
  102. package/build/server/platform/auth/googleAccount.d.ts +40 -13
  103. package/build/server/platform/auth/googleAccount.d.ts.map +1 -1
  104. package/build/server/platform/auth/googleAccount.js +89 -70
  105. package/build/server/platform/auth/googleAccount.js.map +1 -1
  106. package/build/server/platform/auth/index.d.ts +4 -0
  107. package/build/server/platform/auth/index.d.ts.map +1 -1
  108. package/build/server/platform/auth/index.js +4 -0
  109. package/build/server/platform/auth/index.js.map +1 -1
  110. package/build/server/platform/auth/localLogin.d.ts +10 -0
  111. package/build/server/platform/auth/localLogin.d.ts.map +1 -1
  112. package/build/server/platform/auth/localLogin.js +17 -0
  113. package/build/server/platform/auth/localLogin.js.map +1 -1
  114. package/build/server/platform/auth/loginMethods.d.ts +18 -0
  115. package/build/server/platform/auth/loginMethods.d.ts.map +1 -0
  116. package/build/server/platform/auth/loginMethods.js +19 -0
  117. package/build/server/platform/auth/loginMethods.js.map +1 -0
  118. package/build/server/platform/auth/securityEvents.d.ts +31 -0
  119. package/build/server/platform/auth/securityEvents.d.ts.map +1 -0
  120. package/build/server/platform/auth/securityEvents.js +45 -0
  121. package/build/server/platform/auth/securityEvents.js.map +1 -0
  122. package/build/server/products/chat/api/contracts.d.ts +0 -8
  123. package/build/server/products/chat/api/contracts.d.ts.map +1 -1
  124. package/build/server/products/chat/api/setupRoutes.d.ts.map +1 -1
  125. package/build/server/products/chat/api/setupRoutes.js +2 -84
  126. package/build/server/products/chat/api/setupRoutes.js.map +1 -1
  127. package/build/server/products/shared/api/workspaceContracts.d.ts +0 -8
  128. package/build/server/products/shared/api/workspaceContracts.d.ts.map +1 -1
  129. package/build/server/runtime/client.d.ts +11 -0
  130. package/build/server/runtime/client.d.ts.map +1 -1
  131. package/build/server/runtime/client.js +23 -1
  132. package/build/server/runtime/client.js.map +1 -1
  133. package/build/server/shared/i18n/catalogs/en.d.ts.map +1 -1
  134. package/build/server/shared/i18n/catalogs/en.js +40 -0
  135. package/build/server/shared/i18n/catalogs/en.js.map +1 -1
  136. package/build/server/shared/i18n/catalogs/zh-TW.d.ts.map +1 -1
  137. package/build/server/shared/i18n/catalogs/zh-TW.js +39 -0
  138. package/build/server/shared/i18n/catalogs/zh-TW.js.map +1 -1
  139. package/build/server/shared/i18n/index.d.ts +39 -0
  140. package/build/server/shared/i18n/index.d.ts.map +1 -1
  141. package/build/server/shared/i18n/messageKeys.d.ts +39 -0
  142. package/build/server/shared/i18n/messageKeys.d.ts.map +1 -1
  143. package/build/server/shared/i18n/messageKeys.js +39 -0
  144. package/build/server/shared/i18n/messageKeys.js.map +1 -1
  145. package/build/server/shared/providerCatalog.d.ts +3 -2
  146. package/build/server/shared/providerCatalog.d.ts.map +1 -1
  147. package/build/server/shared/providerCatalog.js +9 -1
  148. package/build/server/shared/providerCatalog.js.map +1 -1
  149. package/build/server/shared/providerCatalogData.d.ts +11 -1
  150. package/build/server/shared/providerCatalogData.d.ts.map +1 -1
  151. package/build/server/shared/providerCatalogData.js +9 -0
  152. package/build/server/shared/providerCatalogData.js.map +1 -1
  153. package/build/server/shared/providerCatalogInstances.d.ts.map +1 -1
  154. package/build/server/shared/providerCatalogInstances.js +3 -0
  155. package/build/server/shared/providerCatalogInstances.js.map +1 -1
  156. package/package.json +1 -1
  157. package/scripts/README.md +30 -0
  158. package/scripts/linux/node-cli-common.sh +2 -75
  159. package/scripts/macos/node-cli-common.sh +2 -75
  160. package/scripts/windows/Check-WindowsSetupReadiness.ps1 +14 -443
  161. package/scripts/windows/Remove-MergedBranches.ps1 +229 -0
  162. package/build/renderer/assets/app-DVN9Ghrk.js +0 -43
  163. 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
- CATS_AUTH_SESSION_TTL_MS=
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
- # Legacy compound setup timeout (ms). When set, becomes the fallback for both
108
- # CATS_RUNTIME_SETUP_SCAN_PROXY_TIMEOUT_MS and
109
- # CATS_RUNTIME_SETUP_APPLY_PROXY_TIMEOUT_MS below; explicit per-step values
110
- # still win. Leave blank for the explicit defaults.
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,CAmsFlD"}
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.nodeStatus': 'Required by npm CLIs',
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.nodeStatus': 'npm CLI 需要此項',
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', 'aider', 'ollama'
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, and that scan is deliberately NOT part of the boot path it spawns
1696
- one where/which lookup per provider and would add seconds to startup.
1697
- Until then every candidate arrives as installed:false, which is
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
- function isNodePrerequisiteReady(setupSnap) {
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 || action.runState === 'failed') return false;
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 !plannedActionsIncludeNodeInstall(action);
1790
+ return rememberAuditState(
1791
+ 'node',
1792
+ plannedActionsIncludeNodeInstall(action) ? 'missing' : 'ready'
1793
+ );
1755
1794
  }
1756
- return false;
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
- var nodeReady = isNodePrerequisiteReady(setupSnap);
1777
- return {
1778
- helperId: helper.id,
1779
- label: ONBOARDING_CARD_LABELS.node,
1780
- statusText: ONBOARDING_CARD_STATUS.node,
1781
- installed: nodeReady,
1782
- available: helper.available,
1783
- supported: helper.supported,
1784
- supportsApply: nodeReady ? false : helper.supportsApply
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 = options.nodePrerequisiteStatusText || tx('onboarding.installNodeFirst');
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
- var nodeReady = isNodePrerequisiteReady(setupSnap);
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: !nodeReady,
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAisFD,CAAC;AACT,CAAC"}
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,EAEL,KAAK,mBAAmB,EAGzB,MAAM,gBAAgB,CAAC;AAKxB,MAAM,WAAW,wBAAwB;IACvC,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,CAAA;SAAE,CAAC,CAAC;KAC5D,GAAG,IAAI,CAAC;CACV;AA8ED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,wBAAwB,GAAG,IAAI,EACtC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,mBAAmB,CAsCrB"}
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":"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"}
1
+ {"version":3,"file":"cliInventoryProbe.js","sourceRoot":"","sources":["../../desktop/host/cliInventoryProbe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,GAKvC,MAAM,gBAAgB,CAAC;AAqBxB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oCAAoC,CAClD,KAAsC,EACtC,uBAAuC;IAEvC,IAAI,OAAO,KAAK,EAAE,iBAAiB,KAAK,SAAS,IAAI,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,uBAAuB,KAAK,KAAK,CAAC,iBAAiB,CAAC;AAC7D,CAAC;AAED,MAAM,yBAAyB,GAAoC;IACjE,cAAc;IACd,SAAS;IACT,SAAS;CACV,CAAC;AAEF,2EAA2E;AAC3E,8EAA8E;AAC9E,qDAAqD;AACrD,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAQ,yBAA+C,CAAC,QAAQ,CAAC,KAAe,CAAC;QAC/E,CAAC,CAAC,KAA6B;QAC/B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,0EAA0E;AAC1E,8EAA8E;AAC9E,0CAA0C;AAC1C,MAAM,2BAA2B,GAA+D;IAC9F,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,cAAc,GAAwD;IAC1E,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AACpD,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAE9D,MAAM,yBAAyB,GAAwD;IACrF,WAAW,EAAE,QAAQ,GAAG,uBAAuB;IAC/C,YAAY,EAAE,QAAQ,GAAG,uBAAuB;IAChD,KAAK,EAAE,OAAO,GAAG,uBAAuB;IACxC,WAAW,EAAE,aAAa,GAAG,uBAAuB;IACpD,OAAO,EAAE,SAAS,GAAG,uBAAuB;IAC5C,QAAQ,EAAE,UAAU,GAAG,uBAAuB;IAC9C,IAAI,EAAE,MAAM,GAAG,uBAAuB;IACtC,IAAI,EAAE,MAAM,GAAG,uBAAuB;IACtC,KAAK,EAAE,OAAO,GAAG,uBAAuB;IACxC,KAAK,EAAE,OAAO,GAAG,uBAAuB;IACxC,MAAM,EAAE,QAAQ,GAAG,uBAAuB;IAC1C,EAAE,EAAE,IAAI,GAAG,uBAAuB;IAClC,IAAI,EAAE,MAAM,GAAG,uBAAuB;IACtC,KAAK,EAAE,OAAO,GAAG,uBAAuB;IACxC,KAAK,EAAE,OAAO,GAAG,uBAAuB;IACxC,KAAK,EAAE,OAAO,GAAG,uBAAuB;IACxC,MAAM,EAAE,QAAQ,GAAG,4BAA4B;CAChD,CAAC;AAEF,SAAS,sBAAsB,CAAC,QAAyB;IACvD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,KAAsC,EACtC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACtD,+EAA+E;IAC/E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAClE,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;QAChB,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;YACxE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAA+B,sCAAsC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACvG,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,eAAe,KAAK,IAAI;YACxC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI;YACnD,CAAC,CAAC,KAAK,CAAC;QACV,uEAAuE;QACvE,4CAA4C;QAC5C,MAAM,UAAU,GAAyB,SAAS,IAAI,eAAe,KAAK,IAAI;YAC5E,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO;YACL,QAAQ;YACR,UAAU;YACV,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC;YACjC,SAAS;YACT,SAAS,EAAE,QAAQ,KAAK,EAAE;YAC1B,SAAS,EAAE,YAAY,KAAK,IAAI;YAChC,UAAU;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,UAAU;SACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;SAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC3C,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -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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"}