@pleri/olam-cli 0.1.195 → 0.1.198

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 (144) hide show
  1. package/README.md +52 -0
  2. package/dist/ask/knowledge-pack.generated.d.ts.map +1 -1
  3. package/dist/ask/knowledge-pack.generated.js +12 -8
  4. package/dist/ask/knowledge-pack.generated.js.map +1 -1
  5. package/dist/commands/auth-list-json.d.ts +34 -0
  6. package/dist/commands/auth-list-json.d.ts.map +1 -1
  7. package/dist/commands/auth-list-json.js +24 -0
  8. package/dist/commands/auth-list-json.js.map +1 -1
  9. package/dist/commands/auth-migrate.d.ts +212 -0
  10. package/dist/commands/auth-migrate.d.ts.map +1 -0
  11. package/dist/commands/auth-migrate.js +465 -0
  12. package/dist/commands/auth-migrate.js.map +1 -0
  13. package/dist/commands/auth.d.ts.map +1 -1
  14. package/dist/commands/auth.js +239 -184
  15. package/dist/commands/auth.js.map +1 -1
  16. package/dist/commands/bootstrap.d.ts +4 -0
  17. package/dist/commands/bootstrap.d.ts.map +1 -1
  18. package/dist/commands/bootstrap.js +6 -0
  19. package/dist/commands/bootstrap.js.map +1 -1
  20. package/dist/commands/dispatch.d.ts.map +1 -1
  21. package/dist/commands/dispatch.js +11 -1
  22. package/dist/commands/dispatch.js.map +1 -1
  23. package/dist/commands/doctor.d.ts +33 -0
  24. package/dist/commands/doctor.d.ts.map +1 -1
  25. package/dist/commands/doctor.js +299 -12
  26. package/dist/commands/doctor.js.map +1 -1
  27. package/dist/commands/kg-mirror.d.ts +18 -2
  28. package/dist/commands/kg-mirror.d.ts.map +1 -1
  29. package/dist/commands/kg-mirror.js +78 -3
  30. package/dist/commands/kg-mirror.js.map +1 -1
  31. package/dist/commands/mcp/complete.d.ts +36 -0
  32. package/dist/commands/mcp/complete.d.ts.map +1 -0
  33. package/dist/commands/mcp/complete.js +66 -0
  34. package/dist/commands/mcp/complete.js.map +1 -0
  35. package/dist/commands/mcp/index.d.ts +1 -1
  36. package/dist/commands/mcp/index.d.ts.map +1 -1
  37. package/dist/commands/mcp/index.js +3 -1
  38. package/dist/commands/mcp/index.js.map +1 -1
  39. package/dist/commands/memory/bridge.d.ts +1 -1
  40. package/dist/commands/memory/bridge.d.ts.map +1 -1
  41. package/dist/commands/memory/bridge.js +2 -6
  42. package/dist/commands/memory/bridge.js.map +1 -1
  43. package/dist/commands/memory/secret.d.ts.map +1 -1
  44. package/dist/commands/memory/secret.js +4 -3
  45. package/dist/commands/memory/secret.js.map +1 -1
  46. package/dist/commands/observe.d.ts +3 -3
  47. package/dist/commands/observe.d.ts.map +1 -1
  48. package/dist/commands/observe.js +11 -8
  49. package/dist/commands/observe.js.map +1 -1
  50. package/dist/commands/runbooks.d.ts.map +1 -1
  51. package/dist/commands/runbooks.js +77 -10
  52. package/dist/commands/runbooks.js.map +1 -1
  53. package/dist/commands/services-tls.d.ts.map +1 -1
  54. package/dist/commands/services-tls.js +65 -10
  55. package/dist/commands/services-tls.js.map +1 -1
  56. package/dist/commands/services.d.ts +35 -1
  57. package/dist/commands/services.d.ts.map +1 -1
  58. package/dist/commands/services.js +153 -32
  59. package/dist/commands/services.js.map +1 -1
  60. package/dist/commands/setup-phase-8-kg-hook.d.ts +48 -0
  61. package/dist/commands/setup-phase-8-kg-hook.d.ts.map +1 -0
  62. package/dist/commands/setup-phase-8-kg-hook.js +93 -0
  63. package/dist/commands/setup-phase-8-kg-hook.js.map +1 -0
  64. package/dist/commands/setup-phase-9-memory-bridge.d.ts +36 -0
  65. package/dist/commands/setup-phase-9-memory-bridge.d.ts.map +1 -0
  66. package/dist/commands/setup-phase-9-memory-bridge.js +59 -0
  67. package/dist/commands/setup-phase-9-memory-bridge.js.map +1 -0
  68. package/dist/commands/setup.d.ts +34 -1
  69. package/dist/commands/setup.d.ts.map +1 -1
  70. package/dist/commands/setup.js +372 -32
  71. package/dist/commands/setup.js.map +1 -1
  72. package/dist/commands/skills-source.d.ts.map +1 -1
  73. package/dist/commands/skills-source.js +70 -1
  74. package/dist/commands/skills-source.js.map +1 -1
  75. package/dist/commands/update.d.ts +24 -0
  76. package/dist/commands/update.d.ts.map +1 -1
  77. package/dist/commands/update.js +53 -0
  78. package/dist/commands/update.js.map +1 -1
  79. package/dist/commands/upgrade.d.ts +5 -0
  80. package/dist/commands/upgrade.d.ts.map +1 -1
  81. package/dist/commands/upgrade.js +31 -8
  82. package/dist/commands/upgrade.js.map +1 -1
  83. package/dist/image-digests.json +8 -8
  84. package/dist/index.js +4487 -2451
  85. package/dist/lib/auth-backend.d.ts +168 -0
  86. package/dist/lib/auth-backend.d.ts.map +1 -0
  87. package/dist/lib/auth-backend.js +172 -0
  88. package/dist/lib/auth-backend.js.map +1 -0
  89. package/dist/lib/auth-list-cache.d.ts +67 -0
  90. package/dist/lib/auth-list-cache.d.ts.map +1 -0
  91. package/dist/lib/auth-list-cache.js +84 -0
  92. package/dist/lib/auth-list-cache.js.map +1 -0
  93. package/dist/lib/auth-list.d.ts +107 -0
  94. package/dist/lib/auth-list.d.ts.map +1 -0
  95. package/dist/lib/auth-list.js +123 -0
  96. package/dist/lib/auth-list.js.map +1 -0
  97. package/dist/lib/auth-login.d.ts +92 -0
  98. package/dist/lib/auth-login.d.ts.map +1 -0
  99. package/dist/lib/auth-login.js +124 -0
  100. package/dist/lib/auth-login.js.map +1 -0
  101. package/dist/lib/auth-mutator-backend.d.ts +54 -0
  102. package/dist/lib/auth-mutator-backend.d.ts.map +1 -0
  103. package/dist/lib/auth-mutator-backend.js +62 -0
  104. package/dist/lib/auth-mutator-backend.js.map +1 -0
  105. package/dist/lib/auth-remote.d.ts +50 -0
  106. package/dist/lib/auth-remote.d.ts.map +1 -1
  107. package/dist/lib/auth-remote.js +84 -2
  108. package/dist/lib/auth-remote.js.map +1 -1
  109. package/dist/lib/bootstrap-kubernetes.d.ts +69 -10
  110. package/dist/lib/bootstrap-kubernetes.d.ts.map +1 -1
  111. package/dist/lib/bootstrap-kubernetes.js +264 -46
  112. package/dist/lib/bootstrap-kubernetes.js.map +1 -1
  113. package/dist/lib/config.d.ts +35 -4
  114. package/dist/lib/config.d.ts.map +1 -1
  115. package/dist/lib/config.js +82 -11
  116. package/dist/lib/config.js.map +1 -1
  117. package/dist/lib/health-probes.d.ts +0 -22
  118. package/dist/lib/health-probes.d.ts.map +1 -1
  119. package/dist/lib/health-probes.js +57 -0
  120. package/dist/lib/health-probes.js.map +1 -1
  121. package/dist/lib/peripheral-registry.d.ts +11 -0
  122. package/dist/lib/peripheral-registry.d.ts.map +1 -1
  123. package/dist/lib/peripheral-registry.js +5 -0
  124. package/dist/lib/peripheral-registry.js.map +1 -1
  125. package/dist/lib/plans-client.d.ts.map +1 -1
  126. package/dist/lib/plans-client.js +6 -3
  127. package/dist/lib/plans-client.js.map +1 -1
  128. package/dist/mcp-server.js +138 -6
  129. package/hermes-bundle/version.json +1 -1
  130. package/host-cp/k8s/manifests/30-configmap.yaml +4 -0
  131. package/host-cp/k8s/manifests/50-deployment.yaml +13 -1
  132. package/host-cp/k8s/manifests/65-tls-secret-template.yaml.tmpl +35 -0
  133. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
  134. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
  135. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
  136. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
  137. package/host-cp/src/dispatch-persister.mjs +157 -0
  138. package/host-cp/src/pr-nanny.mjs +7 -0
  139. package/host-cp/src/server.mjs +175 -3
  140. package/host-cp/src/world-watchdog-pid-lookup.mjs +119 -0
  141. package/host-cp/src/world-watchdog-probes.mjs +271 -0
  142. package/host-cp/src/world-watchdog-recovery.mjs +192 -0
  143. package/host-cp/src/world-watchdog.mjs +313 -0
  144. package/package.json +1 -1
@@ -65,6 +65,7 @@ import * as path from 'node:path';
65
65
  import * as os from 'node:os';
66
66
  import { OLAM_HOME, OLAM_CONFIG_PATH, readConfig } from '../lib/config.js';
67
67
  import { HERMES_KG_HOOK_SENTINEL } from './hermes-kg-hook.js';
68
+ import { DEFAULT_AUTH_WORKER_URL } from '../lib/auth-login.js';
68
69
  /** Default registry prefix for registry-tagged images. Mirrors bootstrap.ts's default. */
69
70
  const DEFAULT_REGISTRY = 'ghcr.io/pleri';
70
71
  /**
@@ -144,10 +145,22 @@ export async function runDoctor(opts, deps = {}) {
144
145
  const slot2Promise = isK8s
145
146
  ? Promise.resolve({ ok: true, message: 'images probe skipped (kubernetes substrate uses digest-pinned images verified via image-present probe)' })
146
147
  : probeImagePresence(imageRefs, dockerExec);
148
+ // B7: when authVaultFetchImpl is explicitly provided (or authWorkerUrlOverride is set),
149
+ // use the new dual-backend probe. Otherwise fall back to the legacy local-only probe
150
+ // so existing callers that don't inject authVaultFetchImpl stay unaffected.
151
+ const useDualBackend = deps.authVaultFetchImpl !== undefined || deps.authWorkerUrlOverride !== undefined;
152
+ const authWorkerUrl = deps.authWorkerUrlOverride ?? resolveAuthWorkerUrlForDoctor();
147
153
  const [imageResult, hostCpResult, authResult, kgResult, engineResult, colimaResult] = await Promise.all([
148
154
  slot2Promise,
149
155
  probeHostCpHealth(fetchImpl),
150
- probeAuthVault(olamHomeOverride),
156
+ useDualBackend
157
+ ? probeAuthVaultBothBackends({
158
+ olamHomeOverride,
159
+ dockerExec,
160
+ authWorkerUrl,
161
+ fetchImpl: deps.authVaultFetchImpl,
162
+ })
163
+ : probeAuthVault(olamHomeOverride),
151
164
  probeKgStorage(olamHomeOverride),
152
165
  probeEngine(fetchImpl),
153
166
  probeColimaVersion(dockerExec),
@@ -237,23 +250,42 @@ async function runPeripheralProbes(peripheral, startPosition, kubectlContext, wr
237
250
  // Probe N: Ready — check the pod's Ready condition via kubectl get pod jsonpath.
238
251
  // Uses kubelet's view of readiness without requiring any binary inside the container
239
252
  // (distroless images don't ship wget/curl, so kubectl exec -- wget always fails).
253
+ //
254
+ // The jsonpath uses a `{range .items[*]}...{end}` form rather than `.items[0]`:
255
+ // an indexed access on an EMPTY items array makes kubectl exit non-zero and
256
+ // print `array index out of bounds: index 0, length 0` to stderr. That error
257
+ // used to leak verbatim into the remedy whenever pods were mid-rollout (0 pods
258
+ // matching the label for a moment) — confusing operators into thinking the
259
+ // infra was broken. The range form returns an empty string for 0 pods with no
260
+ // error, so we can distinguish "no pods yet" from "pod present, not Ready".
240
261
  const reachableResult = await (async () => {
241
262
  const result = await wrapImpl([
242
263
  ...ctxArgs,
243
264
  'get', 'pod',
244
265
  '-n', K8S_NAMESPACE,
245
266
  '-l', `app=${peripheral.k8sResourceName}`,
246
- '-o', `jsonpath={.items[0].status.conditions[?(@.type=="Ready")].status}`,
267
+ '-o', `jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\\n"}{end}`,
247
268
  ], { timeout: 5_000 });
248
- const isReady = result.ok && (result.stdout?.trim() === 'True');
249
- if (isReady) {
269
+ const statuses = (result.stdout ?? '')
270
+ .split('\n')
271
+ .map((s) => s.trim())
272
+ .filter((s) => s.length > 0);
273
+ if (result.ok && statuses.includes('True')) {
250
274
  return { ok: true, message: `${peripheral.name} pod ready` };
251
275
  }
252
- const errLine = (result.stderr?.split('\n')[0] ?? '').trim();
276
+ // No pods matched the label — deployment is rolling or scaled to 0. This is
277
+ // a transient state during `olam upgrade`, not a hard failure of infra.
278
+ if (result.ok && statuses.length === 0) {
279
+ return {
280
+ ok: false,
281
+ message: `${peripheral.name}: 0 pods (deployment rolling or scaled to 0)`,
282
+ remedy: `kubectl get pods -n ${K8S_NAMESPACE} -l app=${peripheral.k8sResourceName} — if mid-rollout, re-run \`olam doctor\` shortly`,
283
+ };
284
+ }
253
285
  return {
254
286
  ok: false,
255
287
  message: `${peripheral.name} pod not ready`,
256
- remedy: `kubectl get pod -l app=${peripheral.k8sResourceName} -n ${K8S_NAMESPACE}${errLine ? ` (kubectl stderr: ${errLine})` : ''}`,
288
+ remedy: `kubectl get pod -l app=${peripheral.k8sResourceName} -n ${K8S_NAMESPACE} -o wide`,
257
289
  };
258
290
  })();
259
291
  rows.push({ name: `${peripheral.name} ready`, result: reachableResult, position: startPosition });
@@ -287,23 +319,30 @@ async function runPeripheralProbes(peripheral, startPosition, kubectlContext, wr
287
319
  })();
288
320
  rows.push({ name: `${peripheral.name} port-forward`, result: pfLivenessResult, position: startPosition + 1 });
289
321
  // Probe N+2: ImagePresent — kubectl get pod jsonpath for container image.
322
+ // Same `{range .items[*]}...{end}` empty-safe form as the Ready probe above
323
+ // (indexed `.items[0]` errors on 0 pods and leaks an ugly kubectl template
324
+ // error). "image not detected" is a downstream symptom of 0 pods, so call
325
+ // that out explicitly rather than implying the image itself is missing.
290
326
  const imagePresentResult = await (async () => {
291
327
  const result = await wrapImpl([
292
328
  ...ctxArgs,
293
329
  'get', 'pod',
294
330
  '-n', K8S_NAMESPACE,
295
331
  '-l', `app=${peripheral.k8sResourceName}`,
296
- '-o', `jsonpath={.items[0].status.containerStatuses[0].image}`,
332
+ '-o', `jsonpath={range .items[*]}{.status.containerStatuses[*].image}{"\\n"}{end}`,
297
333
  ], { timeout: 10_000 });
298
- const image = result.stdout.trim();
299
- if (result.ok && image.length > 0) {
300
- return { ok: true, message: `${peripheral.name} image present: ${image}` };
334
+ const images = (result.stdout ?? '')
335
+ .split('\n')
336
+ .map((s) => s.trim())
337
+ .filter((s) => s.length > 0);
338
+ if (result.ok && images.length > 0) {
339
+ return { ok: true, message: `${peripheral.name} image present: ${images[0]}` };
301
340
  }
302
341
  return {
303
342
  ok: true,
304
343
  warn: true,
305
- message: `${peripheral.name} image not detected`,
306
- remedy: `Verify pod is running: kubectl get pods -n ${K8S_NAMESPACE} -l app=${peripheral.k8sResourceName}`,
344
+ message: `${peripheral.name} image not detected (0 pods — deployment rolling or scaled to 0)`,
345
+ remedy: `kubectl get pods -n ${K8S_NAMESPACE} -l app=${peripheral.k8sResourceName}`,
307
346
  };
308
347
  })();
309
348
  rows.push({ name: `${peripheral.name} image`, result: imagePresentResult, position: startPosition + 2 });
@@ -610,6 +649,250 @@ export async function runComposePreflight(opts, deps = {}) {
610
649
  }
611
650
  return emit(makeReport(rows), opts);
612
651
  }
652
+ // ── B7 — Auth vault dual-backend probe ────────────────────────────────────────
653
+ /**
654
+ * Resolve the auth-worker URL for the doctor probe.
655
+ *
656
+ * Mirrors the resolution order from `runAuthLogin` in auth-login.ts:
657
+ * 1. `OLAM_AUTH_WORKER_URL` env var.
658
+ * 2. `~/.olam/auth-worker-url` file.
659
+ * 3. Hard-coded fallback `https://auth-worker.kaluga.co`.
660
+ *
661
+ * Pure (no side effects) — reads env + filesystem only.
662
+ */
663
+ function resolveAuthWorkerUrlForDoctor() {
664
+ const fromEnv = process.env['OLAM_AUTH_WORKER_URL'];
665
+ if (fromEnv && fromEnv.length > 0)
666
+ return fromEnv;
667
+ try {
668
+ const file = path.join(os.homedir(), '.olam', 'auth-worker-url');
669
+ if (fs.existsSync(file)) {
670
+ const content = fs.readFileSync(file, 'utf-8').trim();
671
+ if (content.length > 0)
672
+ return content;
673
+ }
674
+ }
675
+ catch {
676
+ // Unreadable file — fall through.
677
+ }
678
+ return DEFAULT_AUTH_WORKER_URL;
679
+ }
680
+ /** Default local auth-service port. */
681
+ const LOCAL_AUTH_PORT = 9999;
682
+ /** Default local auth-container name. */
683
+ const LOCAL_AUTH_CONTAINER = 'olam-auth';
684
+ /** Remote probe timeout (milliseconds). */
685
+ const REMOTE_PROBE_TIMEOUT_MS = 5_000;
686
+ /**
687
+ * Probe the remote auth-worker status with a 5-second timeout.
688
+ *
689
+ * Uses GET /v1/health which exists per auth-remote.ts. If that returns 401
690
+ * the worker is reachable but the operator is not authenticated. If it fails
691
+ * with DNS / TCP error or 5xx it is unreachable.
692
+ */
693
+ async function probeRemoteAuthWorker(authWorkerUrl, fetchImpl) {
694
+ const fetchFn = fetchImpl ?? fetch;
695
+ const start = Date.now();
696
+ const url = authWorkerUrl.replace(/\/$/, '') + '/v1/health';
697
+ try {
698
+ const controller = new AbortController();
699
+ const timer = setTimeout(() => controller.abort(), REMOTE_PROBE_TIMEOUT_MS);
700
+ let res;
701
+ try {
702
+ res = await fetchFn(url, { signal: controller.signal });
703
+ }
704
+ finally {
705
+ clearTimeout(timer);
706
+ }
707
+ const durationMs = Date.now() - start;
708
+ if (res.status === 401 || res.status === 403) {
709
+ return { state: 'unauthenticated', durationMs };
710
+ }
711
+ if (res.status >= 200 && res.status < 300) {
712
+ return { state: 'healthy', durationMs };
713
+ }
714
+ // 5xx or other non-2xx non-auth error → unreachable.
715
+ return { state: 'unreachable', durationMs };
716
+ }
717
+ catch {
718
+ // DNS failure, TCP refused, AbortError (timeout), etc.
719
+ return { state: 'unreachable', durationMs: Date.now() - start };
720
+ }
721
+ }
722
+ /**
723
+ * Check whether the `olam-auth` container is currently running on the local
724
+ * Docker daemon by running `docker inspect --format {{.State.Running}} olam-auth`.
725
+ */
726
+ function probeLocalAuthContainer(dockerExec) {
727
+ if (!dockerExec)
728
+ return false;
729
+ try {
730
+ const result = dockerExec('docker', [
731
+ 'inspect', '--format', '{{.State.Running}}', LOCAL_AUTH_CONTAINER,
732
+ ]);
733
+ return result.status === 0 && (result.stdout ?? '').trim() === 'true';
734
+ }
735
+ catch {
736
+ return false;
737
+ }
738
+ }
739
+ /**
740
+ * Classify the local auth state from the file-existence + container-running booleans.
741
+ *
742
+ * D3: when the container is running (regardless of file), classify as
743
+ * 'present-active-but-deprecated' since cloud-only-vault is now the default.
744
+ * The 'present-active' classification is retained for back-compat with callers
745
+ * that explicitly pass `remoteIsHealthy: false` to override the cloud path.
746
+ */
747
+ function classifyLocalState(fileExists, containerRunning) {
748
+ if (containerRunning) {
749
+ // D3: container running → deprecated (cloud is the default now)
750
+ return fileExists ? 'present-active-but-deprecated' : 'present-active-but-deprecated';
751
+ }
752
+ if (!fileExists && !containerRunning)
753
+ return 'absent';
754
+ return 'present-stale';
755
+ }
756
+ /**
757
+ * Build the suggestion line for the `auth vault` doctor row.
758
+ *
759
+ * Suggestion lookup table (per B7 + D3 spec):
760
+ * - remote=healthy + local=present-active-but-deprecated → stop olam-auth
761
+ * - remote=healthy + local=present-active|present-stale → migrate dry-run
762
+ * - remote=healthy + local=absent → no suggestion (cloud-native)
763
+ * - remote=unreachable + local=absent → stranded (4 recovery options)
764
+ * - remote=unreachable + local=present-active-but-deprecated → stay-local env override
765
+ * - remote=unreachable + local=present-active → stay-local env override
766
+ * - remote=unauthenticated + any → `olam auth login`
767
+ */
768
+ function authVaultSuggestion(remote, local) {
769
+ if (remote === 'unauthenticated') {
770
+ return 'Run `olam auth login` (logs into the cloud auth-worker by default).';
771
+ }
772
+ if (remote === 'healthy') {
773
+ if (local === 'present-active-but-deprecated') {
774
+ // D3: container running but cloud is default — suggest stopping it
775
+ return ('olam-auth container is running but cloud vault is now the default. ' +
776
+ 'Stop it: `olam services down --include olam-auth` ' +
777
+ '(see docs/architecture/cloud-only-vault-migration.md)');
778
+ }
779
+ if (local === 'present-active' || local === 'present-stale') {
780
+ return 'Run `olam auth migrate --dry-run` to plan cloud migration of local credentials.';
781
+ }
782
+ return undefined; // already cloud-native
783
+ }
784
+ // remote=unreachable
785
+ if (local === 'absent') {
786
+ // D3: stranded — 4 recovery options
787
+ return ('Stranded: cloud auth-worker unreachable and no local fallback. Recovery options:\n' +
788
+ ' 1. Wait and retry (transient network issue)\n' +
789
+ ' 2. Set ANTHROPIC_API_KEY env var (bypass vault for offline use)\n' +
790
+ ' 3. `OLAM_CREDENTIAL_BACKEND=local olam services up --with-local-auth` (restore local vault)\n' +
791
+ ' 4. Check network / VPN connectivity to the auth-worker');
792
+ }
793
+ if (local === 'present-active-but-deprecated' || local === 'present-active') {
794
+ return 'Cloud auth-worker unreachable. Stay on local: `OLAM_CREDENTIAL_BACKEND=local olam auth list`';
795
+ }
796
+ return undefined;
797
+ }
798
+ /**
799
+ * probeAuthVaultBothBackends — B7 cloud-only-vault dual-backend auth probe.
800
+ *
801
+ * Replaces the legacy `probeAuthVault` (which only read the local file) at
802
+ * doctor position 4. Reports three remote states (healthy / unreachable /
803
+ * unauthenticated) and three local states (present-active / present-stale /
804
+ * absent), then routes to the correct suggestion.
805
+ *
806
+ * Non-gating when remote is unreachable + local is present-active (operator
807
+ * already has a working local vault; WARN not FAIL). All other error states
808
+ * remain gating (FAIL).
809
+ *
810
+ * Exported for direct use in `doctor-auth-probes.test.ts`.
811
+ */
812
+ export async function probeAuthVaultBothBackends(deps) {
813
+ const { olamHomeOverride, dockerExec, authWorkerUrl, fetchImpl } = deps;
814
+ // Probe remote + local in parallel (both are independent).
815
+ const olamHome = olamHomeOverride ?? process.env.OLAM_HOME ?? path.join(os.homedir(), '.olam');
816
+ const accountsFile = path.join(olamHome, 'auth-data', 'accounts.json');
817
+ const [remoteResult] = await Promise.all([
818
+ probeRemoteAuthWorker(authWorkerUrl, fetchImpl),
819
+ ]);
820
+ const localFileExists = fs.existsSync(accountsFile);
821
+ const localContainerRunning = probeLocalAuthContainer(dockerExec);
822
+ const localState = classifyLocalState(localFileExists, localContainerRunning);
823
+ const { state: remoteState, durationMs } = remoteResult;
824
+ // Humanize the auth-worker host for display (strip https:// for brevity).
825
+ const workerHost = authWorkerUrl.replace(/^https?:\/\//, '');
826
+ const suggestion = authVaultSuggestion(remoteState, localState);
827
+ // Build the summary message.
828
+ const remotePart = remoteState === 'healthy'
829
+ ? `remote (${workerHost}) healthy (${durationMs}ms)`
830
+ : remoteState === 'unauthenticated'
831
+ ? `remote (${workerHost}) unauthenticated`
832
+ : `remote (${workerHost}) unreachable`;
833
+ let localDetail;
834
+ if (localState === 'present-active-but-deprecated') {
835
+ // D3: container running, but deprecated (cloud is the default)
836
+ localDetail = 'local (olam-auth:9999) present-active-but-deprecated';
837
+ }
838
+ else if (localState === 'present-active') {
839
+ localDetail = 'local (olam-auth:9999) present-active';
840
+ }
841
+ else if (localState === 'present-stale') {
842
+ const which = localFileExists
843
+ ? 'file present, container not running'
844
+ : 'container running, file absent';
845
+ localDetail = `local (olam-auth:9999) present-stale (${which})`;
846
+ }
847
+ else {
848
+ localDetail = 'local (olam-auth:9999) absent';
849
+ }
850
+ const message = `${remotePart}; ${localDetail}`;
851
+ // Determine ok/warn/fail:
852
+ // - unauthenticated → FAIL (operator must login before cloud works)
853
+ // - unreachable + local=absent → FAIL (stranded — D3 4-option remedy)
854
+ // - unreachable + local=present-stale → WARN (partial local, cloud down)
855
+ // - unreachable + local=present-active[-but-deprecated] → WARN (local works)
856
+ // - healthy + local=present-active-but-deprecated → WARN (suggest stop olam-auth — D3)
857
+ // - healthy → ok:true (cloud is the source of truth)
858
+ if (remoteState === 'unauthenticated') {
859
+ return {
860
+ ok: false,
861
+ message,
862
+ remedy: suggestion ?? 'Run `olam auth login` to authenticate with the cloud auth-worker.',
863
+ };
864
+ }
865
+ if (remoteState === 'unreachable' && localState === 'absent') {
866
+ // D3 stranded: 4 recovery options surfaced via suggestion
867
+ return {
868
+ ok: false,
869
+ message,
870
+ remedy: suggestion ?? ('Stranded: cloud auth-worker unreachable and no local fallback. ' +
871
+ 'Set ANTHROPIC_API_KEY or run `OLAM_CREDENTIAL_BACKEND=local olam services up --with-local-auth`.'),
872
+ };
873
+ }
874
+ if (remoteState === 'unreachable') {
875
+ // local is present-active[-but-deprecated] or present-stale — WARN
876
+ const remedy = suggestion
877
+ ?? 'Set `OLAM_CREDENTIAL_BACKEND=local` to route through the local vault until the cloud is reachable.';
878
+ return {
879
+ ok: true,
880
+ warn: true,
881
+ message,
882
+ remedy,
883
+ };
884
+ }
885
+ // remote=healthy
886
+ if (suggestion) {
887
+ return {
888
+ ok: true,
889
+ warn: true,
890
+ message,
891
+ remedy: suggestion,
892
+ };
893
+ }
894
+ return { ok: true, message };
895
+ }
613
896
  function makeReport(rows) {
614
897
  const failureCount = rows.filter((r) => !r.result.ok).length;
615
898
  const warnCount = rows.filter((r) => isWarn(r.result)).length;
@@ -778,6 +1061,10 @@ export function registerDoctor(program) {
778
1061
  // When the dir is absent the probe is skipped; when present it WARNs
779
1062
  // if olam is not wired into Hermes.
780
1063
  hermesHomeOverride: hermesDir,
1064
+ // B7: opt-in the dual-backend auth vault probe in production by
1065
+ // providing the global fetch. The probe resolves the auth-worker URL
1066
+ // via env / file / DEFAULT_AUTH_WORKER_URL.
1067
+ authVaultFetchImpl: fetch,
781
1068
  });
782
1069
  if (r.exitCode !== 0)
783
1070
  process.exitCode = r.exitCode;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,11 @@
2
2
  * `olam kg mirror <subcommand>` — operator CLI for the cloud-kg-mirror feature.
3
3
  *
4
4
  * Subcommands:
5
- * - build <workspace> POST to the builder Worker (/v1/build)
6
- * - status [<ws>] GET /freshness from the classifier Worker
5
+ * - build <workspace> POST to the builder Worker (/v1/build)
6
+ * - status [<ws>] GET /freshness from the classifier Worker (bearer-authed)
7
+ * - classify <question> POST /v1/classify to the classifier Worker — route a
8
+ * query through the remote edge classifier (works with
9
+ * no local kg-service running)
7
10
  *
8
11
  * Both subcommands resolve their Worker URL + bearer from env-or-file:
9
12
  * - OLAM_KG_MIRROR_BUILDER_URL / ~/.olam/kg-mirror-builder-url
@@ -35,6 +38,19 @@ export declare function runKgMirrorBuild(workspace: string, options?: MirrorBuil
35
38
  export declare function runKgMirrorStatus(workspace: string | undefined, options?: MirrorStatusOptions): Promise<{
36
39
  exitCode: number;
37
40
  }>;
41
+ interface MirrorClassifyOptions {
42
+ readonly workspace?: string;
43
+ readonly json?: boolean;
44
+ }
45
+ /**
46
+ * `olam kg mirror classify <question>` — route a query through the remote
47
+ * edge classifier (POST $OLAM_KG_PROXY_URL/v1/classify with bearer). Mirrors
48
+ * the local `olam kg classify` but targets the cloud proxy Worker, so it works
49
+ * with no local kg-service running. Returns the route decision + savings.
50
+ */
51
+ export declare function runKgMirrorClassify(question: string, options?: MirrorClassifyOptions): Promise<{
52
+ exitCode: number;
53
+ }>;
38
54
  export declare function registerKgMirrorCommand(kg: Command): void;
39
55
  export {};
40
56
  //# sourceMappingURL=kg-mirror.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kg-mirror.d.ts","sourceRoot":"","sources":["../../src/commands/kg-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWtE;AAqBD,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgE/B;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiD/B;AAyCD,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CA0BzD"}
1
+ {"version":3,"file":"kg-mirror.d.ts","sourceRoot":"","sources":["../../src/commands/kg-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWtE;AAqBD,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgE/B;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAsD/B;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD/B;AAyCD,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAqCzD"}
@@ -2,8 +2,11 @@
2
2
  * `olam kg mirror <subcommand>` — operator CLI for the cloud-kg-mirror feature.
3
3
  *
4
4
  * Subcommands:
5
- * - build <workspace> POST to the builder Worker (/v1/build)
6
- * - status [<ws>] GET /freshness from the classifier Worker
5
+ * - build <workspace> POST to the builder Worker (/v1/build)
6
+ * - status [<ws>] GET /freshness from the classifier Worker (bearer-authed)
7
+ * - classify <question> POST /v1/classify to the classifier Worker — route a
8
+ * query through the remote edge classifier (works with
9
+ * no local kg-service running)
7
10
  *
8
11
  * Both subcommands resolve their Worker URL + bearer from env-or-file:
9
12
  * - OLAM_KG_MIRROR_BUILDER_URL / ~/.olam/kg-mirror-builder-url
@@ -135,7 +138,12 @@ export async function runKgMirrorStatus(workspace, options = {}) {
135
138
  return { exitCode: 0 };
136
139
  }
137
140
  const url = `${cfg.url}/freshness?workspace=${encodeURIComponent(workspace)}`;
138
- const res = await fetch(url);
141
+ // The proxy Worker requires bearer auth on /freshness (returns 401
142
+ // missing_bearer otherwise). The /health branch above is intentionally
143
+ // unauthenticated; this one is not.
144
+ const res = await fetch(url, {
145
+ headers: { Authorization: `Bearer ${cfg.bearer}` },
146
+ });
139
147
  const text = await res.text();
140
148
  if (options.json) {
141
149
  process.stdout.write(text + '\n');
@@ -157,6 +165,62 @@ export async function runKgMirrorStatus(workspace, options = {}) {
157
165
  printSuccess(`kg mirror status ${workspace} — ${j.node_count ?? '?'} nodes / ${j.label_count ?? '?'} labels (build_dir=${j.build_dir}, built_at=${j.built_at})`);
158
166
  return { exitCode: 0 };
159
167
  }
168
+ /**
169
+ * `olam kg mirror classify <question>` — route a query through the remote
170
+ * edge classifier (POST $OLAM_KG_PROXY_URL/v1/classify with bearer). Mirrors
171
+ * the local `olam kg classify` but targets the cloud proxy Worker, so it works
172
+ * with no local kg-service running. Returns the route decision + savings.
173
+ */
174
+ export async function runKgMirrorClassify(question, options = {}) {
175
+ const cfg = resolveClassifier();
176
+ if (!cfg) {
177
+ printError('kg-mirror classifier URL/bearer not configured. Set OLAM_KG_PROXY_URL + OLAM_KG_PROXY_BEARER (or ~/.olam/kg-proxy-url + ~/.olam/kg-proxy-bearer).');
178
+ return { exitCode: 3 };
179
+ }
180
+ const body = { q: question };
181
+ if (options.workspace)
182
+ body.workspace = options.workspace;
183
+ let res;
184
+ try {
185
+ res = await fetch(`${cfg.url}/v1/classify`, {
186
+ method: 'POST',
187
+ headers: {
188
+ Authorization: `Bearer ${cfg.bearer}`,
189
+ 'Content-Type': 'application/json',
190
+ },
191
+ body: JSON.stringify(body),
192
+ });
193
+ }
194
+ catch (err) {
195
+ printError(`classifier unreachable: ${err instanceof Error ? err.message : String(err)}`);
196
+ return { exitCode: 4 };
197
+ }
198
+ const text = await res.text();
199
+ if (options.json) {
200
+ process.stdout.write(text + '\n');
201
+ return { exitCode: res.ok ? 0 : 1 };
202
+ }
203
+ let parsed;
204
+ try {
205
+ parsed = JSON.parse(text);
206
+ }
207
+ catch {
208
+ printError(`classifier returned non-JSON (HTTP ${res.status}): ${text.slice(0, 200)}`);
209
+ return { exitCode: 1 };
210
+ }
211
+ const j = parsed;
212
+ if (!res.ok) {
213
+ printError(`classifier /v1/classify failed (HTTP ${res.status}): ${j.error ?? '?'}`);
214
+ return { exitCode: 1 };
215
+ }
216
+ const savings = j.savings?.saved_tokens_est ?? 0;
217
+ printInfo('route', String(j.route ?? '?'));
218
+ printInfo('layer', String(j.layer ?? '?'));
219
+ if (j.reason)
220
+ printInfo('reason', String(j.reason));
221
+ printInfo('est. savings', `~${Math.round(Number(savings) / 1000)}k tokens`);
222
+ return { exitCode: 0 };
223
+ }
160
224
  /**
161
225
  * Infer the git URL from `git -C <workspace> remote get-url origin`.
162
226
  * Returns the empty string when the workspace dir isn't a git repo
@@ -224,5 +288,16 @@ export function registerKgMirrorCommand(kg) {
224
288
  if (r.exitCode !== 0)
225
289
  process.exitCode = r.exitCode;
226
290
  });
291
+ mirror
292
+ .command('classify')
293
+ .description('Route a query through the remote edge classifier (POST /v1/classify on the proxy Worker)')
294
+ .argument('<question>', 'the search question to classify')
295
+ .option('--workspace <name>', 'workspace name to scope the classification')
296
+ .option('--json', 'emit raw JSON response')
297
+ .action(async (question, opts) => {
298
+ const r = await runKgMirrorClassify(question, opts);
299
+ if (r.exitCode !== 0)
300
+ process.exitCode = r.exitCode;
301
+ });
227
302
  }
228
303
  //# sourceMappingURL=kg-mirror.js.map