@pleri/olam-cli 0.1.196 → 0.1.199

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 (139) 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 +10 -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 +10 -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 +41 -0
  55. package/dist/commands/services-tls.js.map +1 -1
  56. package/dist/commands/services.d.ts +45 -3
  57. package/dist/commands/services.d.ts.map +1 -1
  58. package/dist/commands/services.js +198 -71
  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 +328 -23
  71. package/dist/commands/setup.js.map +1 -1
  72. package/dist/commands/update.d.ts +24 -0
  73. package/dist/commands/update.d.ts.map +1 -1
  74. package/dist/commands/update.js +53 -0
  75. package/dist/commands/update.js.map +1 -1
  76. package/dist/commands/upgrade.d.ts +5 -0
  77. package/dist/commands/upgrade.d.ts.map +1 -1
  78. package/dist/commands/upgrade.js +31 -8
  79. package/dist/commands/upgrade.js.map +1 -1
  80. package/dist/image-digests.json +8 -8
  81. package/dist/index.js +4302 -2466
  82. package/dist/lib/auth-backend.d.ts +168 -0
  83. package/dist/lib/auth-backend.d.ts.map +1 -0
  84. package/dist/lib/auth-backend.js +172 -0
  85. package/dist/lib/auth-backend.js.map +1 -0
  86. package/dist/lib/auth-list-cache.d.ts +67 -0
  87. package/dist/lib/auth-list-cache.d.ts.map +1 -0
  88. package/dist/lib/auth-list-cache.js +84 -0
  89. package/dist/lib/auth-list-cache.js.map +1 -0
  90. package/dist/lib/auth-list.d.ts +107 -0
  91. package/dist/lib/auth-list.d.ts.map +1 -0
  92. package/dist/lib/auth-list.js +123 -0
  93. package/dist/lib/auth-list.js.map +1 -0
  94. package/dist/lib/auth-login.d.ts +92 -0
  95. package/dist/lib/auth-login.d.ts.map +1 -0
  96. package/dist/lib/auth-login.js +124 -0
  97. package/dist/lib/auth-login.js.map +1 -0
  98. package/dist/lib/auth-mutator-backend.d.ts +54 -0
  99. package/dist/lib/auth-mutator-backend.d.ts.map +1 -0
  100. package/dist/lib/auth-mutator-backend.js +62 -0
  101. package/dist/lib/auth-mutator-backend.js.map +1 -0
  102. package/dist/lib/auth-remote.d.ts +50 -0
  103. package/dist/lib/auth-remote.d.ts.map +1 -1
  104. package/dist/lib/auth-remote.js +84 -2
  105. package/dist/lib/auth-remote.js.map +1 -1
  106. package/dist/lib/bootstrap-kubernetes.d.ts +93 -12
  107. package/dist/lib/bootstrap-kubernetes.d.ts.map +1 -1
  108. package/dist/lib/bootstrap-kubernetes.js +364 -53
  109. package/dist/lib/bootstrap-kubernetes.js.map +1 -1
  110. package/dist/lib/config.d.ts +7 -0
  111. package/dist/lib/config.d.ts.map +1 -1
  112. package/dist/lib/config.js.map +1 -1
  113. package/dist/lib/health-probes.d.ts +0 -22
  114. package/dist/lib/health-probes.d.ts.map +1 -1
  115. package/dist/lib/health-probes.js +23 -2
  116. package/dist/lib/health-probes.js.map +1 -1
  117. package/dist/lib/peripheral-registry.d.ts +11 -0
  118. package/dist/lib/peripheral-registry.d.ts.map +1 -1
  119. package/dist/lib/peripheral-registry.js +5 -0
  120. package/dist/lib/peripheral-registry.js.map +1 -1
  121. package/dist/lib/plans-client.d.ts.map +1 -1
  122. package/dist/lib/plans-client.js +6 -3
  123. package/dist/lib/plans-client.js.map +1 -1
  124. package/dist/mcp-server.js +14 -3
  125. package/hermes-bundle/version.json +1 -1
  126. package/host-cp/k8s/manifests/30-configmap.yaml +4 -0
  127. package/host-cp/k8s/manifests/50-deployment.yaml +13 -1
  128. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
  129. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
  130. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
  131. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
  132. package/host-cp/src/dispatch-persister.mjs +157 -0
  133. package/host-cp/src/pr-nanny.mjs +7 -0
  134. package/host-cp/src/server.mjs +175 -3
  135. package/host-cp/src/world-watchdog-pid-lookup.mjs +119 -0
  136. package/host-cp/src/world-watchdog-probes.mjs +271 -0
  137. package/host-cp/src/world-watchdog-recovery.mjs +192 -0
  138. package/host-cp/src/world-watchdog.mjs +313 -0
  139. package/package.json +1 -1
@@ -161,9 +161,50 @@ function fetchExistingCertPem(kubectl, context, spawn) {
161
161
  return null;
162
162
  }
163
163
  }
164
+ /**
165
+ * For k3d clusters, query the docker serverlb container's published host port
166
+ * for 443/tcp. This is the operator-reachable port (e.g. 8443 from
167
+ * `k3d cluster create --port 8443:443@loadbalancer`).
168
+ *
169
+ * The k8s NodePort is the cluster-internal port and is NOT reachable from the
170
+ * operator's host machine.
171
+ *
172
+ * Context must start with `k3d-` for this to apply; otherwise returns null.
173
+ *
174
+ * Example `docker port` output:
175
+ * 0.0.0.0:8443
176
+ * [::]:8443
177
+ *
178
+ * We parse the IPv4 line (0.0.0.0:PORT) and return the port number.
179
+ */
180
+ function resolveK3dHostHttpsPort(spawn, context) {
181
+ if (!context.startsWith('k3d-'))
182
+ return null;
183
+ const clusterName = context.slice('k3d-'.length);
184
+ const r = spawn('docker', ['port', `k3d-${clusterName}-serverlb`, '443/tcp']);
185
+ if (r.status !== 0)
186
+ return null;
187
+ // Match the IPv4 binding line: "0.0.0.0:8443"
188
+ const m = r.stdout.match(/(?:^|\n)0\.0\.0\.0:(\d+)/);
189
+ if (!m || m[1] === undefined)
190
+ return null;
191
+ const n = Number.parseInt(m[1], 10);
192
+ return Number.isFinite(n) && n > 0 ? n : null;
193
+ }
164
194
  /** Resolve Traefik's `websecure` NodePort (HTTPS edge), or null on failure. */
165
195
  export function resolveTraefikHttpsPort(spawnArg, context) {
166
196
  const spawn = spawnArg ?? defaultSpawn;
197
+ // k3d-managed clusters: the host-reachable port is the docker serverlb
198
+ // published port, NOT the k8s NodePort. The NodePort is cluster-internal
199
+ // only and unreachable from the operator's host.
200
+ if (context !== undefined) {
201
+ const hostPort = resolveK3dHostHttpsPort(spawn, context);
202
+ if (hostPort !== null)
203
+ return hostPort;
204
+ }
205
+ // Fallback: NodePort query — used when:
206
+ // - context is not a k3d cluster (external k8s: k3s, EKS, etc.)
207
+ // - docker port failed (daemon down, container name mismatch, etc.)
167
208
  const args = [
168
209
  ...(context !== undefined ? ['--context', context] : []),
169
210
  '-n', TRAEFIK_NAMESPACE,
@@ -1 +1 @@
1
- {"version":3,"file":"services-tls.js","sourceRoot":"","sources":["../../src/commands/services-tls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,SAAS,GAAG,MAAM,CAAC;AACzB,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAU,CAAC;AAC7D,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AACxC,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC,MAAM,kBAAkB,GAAG,oDAAoD,CAAC;AA2ChF,SAAS,YAAY,CACnB,GAAW,EACX,IAAuB,EACvB,IAA+D;IAE/D,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAClC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,KAAK,EAAE,IAAI,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,KAA+C;IAE/C,8BAA8B;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,6DAA6D;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE;YAC9B,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,oCAAoC;SACzE,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,wBAAwB;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,wBAAwB,EAAE,EAAE,kCAAkC,CAAC,CAAC;AAC9E,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CACvB,QAAgB,EAChB,SAAmD;IAEnD,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,yDAAyD;IACzD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,+EAA+E;AAC/E,SAAS,YAAY,CAAC,IAAoB;IACxC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACnC,CAAC;IACD,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,SAAS,oBAAoB,CAC3B,OAAe,EACf,OAAe,EACf,KAA+C;IAE/C,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE;QACvB,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,QAAQ,EAAE,WAAW;QAC5B,IAAI,EAAE,4BAA4B;KACnC,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CACrC,QAAsC,EACtC,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,IAAI,YAAY,CAAC;IACvC,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,KAAK,EAAE,eAAe;QAC7B,IAAI,EAAE,yDAAyD;KAChE,CAAC;IACF,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,mEAAmE;AACnE,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,SAAiB,EAAE,SAAiB;IACpF,OAAO,QAAQ;SACZ,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC;SACxC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAuB,EAAE;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAEnC,8BAA8B;IAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EACJ,sDAAsD;oBACtD,4FAA4F;oBAC5F,6DAA6D;oBAC7D,+FAA+F;oBAC/F,yEAAyE;aAC5E,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,kEAAkE;IAClE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EACJ,iDAAiD;gBACjD,iDAAiD,kBAAkB,IAAI;gBACvE,0CAA0C;SAC7C,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACpE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9E,IAAI,QAAQ,GAAG,sBAAsB,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC;gBACvE,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,2BAA2B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B;oBACpF,SAAS;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,4EAA4E;gBAC5E,OAAO;oBACL,MAAM,EAAE,QAAQ;oBAChB,MAAM,EACJ,gFAAgF;wBAChF,2BAA2B;wBAC3B,0BAA0B;wBAC1B,wCAAwC;iBAC3C,CAAC;YACJ,CAAC;YACD,iFAAiF;YACjF,IAAI,CAAC;gBACH,YAAY,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,oEAAoE;iBAC7E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE;YACzB,YAAY,EAAE,OAAO;YACrB,WAAW,EAAE,OAAO;YACpB,GAAG,QAAQ;SACZ,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,+BAA+B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aAClF,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,qDAAqD,OAAO,EAAE;aACvE,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,sCAAsC;QACtC,6CAA6C;QAC7C,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE;YAChC,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW;YACtC,UAAU,OAAO,EAAE;YACnB,SAAS,OAAO,EAAE;YAClB,kBAAkB;YAClB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,+CAA+C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aAC1G,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QACtF,CAAC;QAED,2EAA2E;QAC3E,gCAAgC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE;YAC7B,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,EAAE,GAAG;SACnB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,yBAAyB,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aAC9E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC;QACvE,OAAO;YACL,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACtD,SAAS;SACV,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,oBAAoB;IACjC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,oBAAoB,CAAC,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACzC,YAAY,CAAC,GAAG,WAAW,UAAU,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,GAAG,WAAW,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC3B,YAAY,CACV,6DAA6D;YAC3D,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,uCAAuC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,YAAY,CACV,+DAA+D;YAC7D,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAiB;IACnD,QAAQ;SACL,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAC7B,QAAsC,EACtC,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,IAAI,YAAY,CAAC;IACvC,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,QAAQ,EAAE,WAAW;QAC5B,oBAAoB;QACpB,IAAI,EAAE,MAAM;KACb,CAAC;IACF,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,YAAY,CAAC,SAAS,EAAE;YACtB,WAAW,EAAE,OAAO;YACpB,OAAO,EAAE,IAAI,EAAE,eAAe;SAC/B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,IAAI,QAAQ,IAAI,GAAG;YACjD,CAAC,CAAC,MAAM,CAAE,GAAmC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAClE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"services-tls.js","sourceRoot":"","sources":["../../src/commands/services-tls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,SAAS,GAAG,MAAM,CAAC;AACzB,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAU,CAAC;AAC7D,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AACxC,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC,MAAM,kBAAkB,GAAG,oDAAoD,CAAC;AA2ChF,SAAS,YAAY,CACnB,GAAW,EACX,IAAuB,EACvB,IAA+D;IAE/D,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAClC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,KAAK,EAAE,IAAI,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,KAA+C;IAE/C,8BAA8B;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,6DAA6D;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE;YAC9B,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,oCAAoC;SACzE,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,wBAAwB;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,wBAAwB,EAAE,EAAE,kCAAkC,CAAC,CAAC;AAC9E,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CACvB,QAAgB,EAChB,SAAmD;IAEnD,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,yDAAyD;IACzD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,+EAA+E;AAC/E,SAAS,YAAY,CAAC,IAAoB;IACxC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACnC,CAAC;IACD,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,SAAS,oBAAoB,CAC3B,OAAe,EACf,OAAe,EACf,KAA+C;IAE/C,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE;QACvB,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,QAAQ,EAAE,WAAW;QAC5B,IAAI,EAAE,4BAA4B;KACnC,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,uBAAuB,CAC9B,KAA+C,EAC/C,OAAe;IAEf,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,WAAW,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,8CAA8C;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CACrC,QAAsC,EACtC,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,IAAI,YAAY,CAAC;IAEvC,uEAAuE;IACvE,yEAAyE;IACzE,iDAAiD;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC;IACzC,CAAC;IAED,wCAAwC;IACxC,kEAAkE;IAClE,sEAAsE;IACtE,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,KAAK,EAAE,eAAe;QAC7B,IAAI,EAAE,yDAAyD;KAChE,CAAC;IACF,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,mEAAmE;AACnE,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,SAAiB,EAAE,SAAiB;IACpF,OAAO,QAAQ;SACZ,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC;SACxC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAuB,EAAE;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAEnC,8BAA8B;IAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EACJ,sDAAsD;oBACtD,4FAA4F;oBAC5F,6DAA6D;oBAC7D,+FAA+F;oBAC/F,yEAAyE;aAC5E,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,kEAAkE;IAClE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EACJ,iDAAiD;gBACjD,iDAAiD,kBAAkB,IAAI;gBACvE,0CAA0C;SAC7C,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACpE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9E,IAAI,QAAQ,GAAG,sBAAsB,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC;gBACvE,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,2BAA2B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B;oBACpF,SAAS;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,4EAA4E;gBAC5E,OAAO;oBACL,MAAM,EAAE,QAAQ;oBAChB,MAAM,EACJ,gFAAgF;wBAChF,2BAA2B;wBAC3B,0BAA0B;wBAC1B,wCAAwC;iBAC3C,CAAC;YACJ,CAAC;YACD,iFAAiF;YACjF,IAAI,CAAC;gBACH,YAAY,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,oEAAoE;iBAC7E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE;YACzB,YAAY,EAAE,OAAO;YACrB,WAAW,EAAE,OAAO;YACpB,GAAG,QAAQ;SACZ,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,+BAA+B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aAClF,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,qDAAqD,OAAO,EAAE;aACvE,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,sCAAsC;QACtC,6CAA6C;QAC7C,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE;YAChC,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW;YACtC,UAAU,OAAO,EAAE;YACnB,SAAS,OAAO,EAAE;YAClB,kBAAkB;YAClB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,+CAA+C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aAC1G,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QACtF,CAAC;QAED,2EAA2E;QAC3E,gCAAgC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE;YAC7B,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,EAAE,GAAG;SACnB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,yBAAyB,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aAC9E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC;QACvE,OAAO;YACL,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACtD,SAAS;SACV,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,oBAAoB;IACjC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,oBAAoB,CAAC,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACzC,YAAY,CAAC,GAAG,WAAW,UAAU,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,GAAG,WAAW,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC3B,YAAY,CACV,6DAA6D;YAC3D,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,uCAAuC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,YAAY,CACV,+DAA+D;YAC7D,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAiB;IACnD,QAAQ;SACL,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAC7B,QAAsC,EACtC,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,IAAI,YAAY,CAAC;IACvC,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,QAAQ,EAAE,WAAW;QAC5B,oBAAoB;QACpB,IAAI,EAAE,MAAM;KACb,CAAC;IACF,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,YAAY,CAAC,SAAS,EAAE;YACtB,WAAW,EAAE,OAAO;YACpB,OAAO,EAAE,IAAI,EAAE,eAAe;SAC/B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,IAAI,QAAQ,IAAI,GAAG;YACjD,CAAC,CAAC,MAAM,CAAE,GAAmC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAClE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -54,6 +54,12 @@ export declare function servicesDownKubernetes(deps?: ServicesKubernetesDeps): P
54
54
  * Fetches `kubectl get deployment -n olam -o wide` and formats it to match
55
55
  * the compose table shape: NAME | STATUS | IMAGE | AGE | RESTARTS.
56
56
  */
57
+ /**
58
+ * Collect k8s deployment statuses and emit as `ServiceStatusEntry[]` array.
59
+ * Used by `servicesStatusJsonKubernetes()` for `--json` mode.
60
+ * Probes kubectl for deployment readiness and maps to the compose schema.
61
+ */
62
+ export declare function collectServicesStatusKubernetes(deps?: ServicesKubernetesDeps): Promise<ServiceStatusEntry[]>;
57
63
  export declare function servicesStatusKubernetes(deps?: ServicesKubernetesDeps): Promise<void>;
58
64
  /**
59
65
  * Normalize a user-supplied service name to the k8s Deployment name form.
@@ -116,11 +122,41 @@ export interface PullSocatImageResult {
116
122
  readonly error?: string;
117
123
  }
118
124
  export declare function pullSocatImage(deps?: PullSocatImageDeps): PullSocatImageResult;
119
- export declare function servicesUp(): Promise<{
125
+ export interface ServicesUpComposeDeps {
126
+ /**
127
+ * D1: when true, start the local olam-auth container (legacy mode).
128
+ * Defaults to false — cloud-only-vault is the new default.
129
+ * Auto-opt-in when OLAM_CREDENTIAL_BACKEND=local env var is present.
130
+ */
131
+ readonly withLocalAuth?: boolean;
132
+ /**
133
+ * D1: injectable docker-inspect function for stale-detection tests.
134
+ * Receives the container name; returns 'running' | 'stopped' | 'missing'.
135
+ */
136
+ readonly inspectContainerStateFn?: (name: string) => ContainerState;
137
+ }
138
+ /**
139
+ * Resolve whether the local olam-auth container should be started.
140
+ *
141
+ * Priority (D1):
142
+ * 1. `withLocalAuth` explicit option
143
+ * 2. `OLAM_CREDENTIAL_BACKEND=local` env var → auto-opt-in (back-compat)
144
+ * 3. Default false (cloud-only-vault default)
145
+ */
146
+ export declare function resolveWithLocalAuth(withLocalAuth?: boolean): boolean;
147
+ export declare function servicesUp(deps?: ServicesUpComposeDeps): Promise<{
120
148
  exitCode: number;
121
149
  }>;
122
- /** Stop all service containers. */
123
- export declare function servicesDown(): {
150
+ /** Stop all (or a named subset of) service containers.
151
+ *
152
+ * @param include - Optional list of container names to stop. When empty,
153
+ * all containers are stopped. When non-empty, only the named containers
154
+ * are stopped (e.g. `['olam-auth']`). Unknown names produce a warning
155
+ * and are skipped; they do NOT set exitCode = 1.
156
+ */
157
+ export declare function servicesDown(opts?: {
158
+ include?: string[];
159
+ }): {
124
160
  exitCode: number;
125
161
  };
126
162
  /** One service container's state in the `--json` projection. */
@@ -171,6 +207,12 @@ export declare function servicesStatus(deps?: ServicesStatusDeps): void;
171
207
  * health).
172
208
  */
173
209
  export declare function servicesStatusJson(deps?: ServicesStatusDeps): void;
210
+ /**
211
+ * `--json` projection of `services status` (kubernetes path). Emits a stable
212
+ * array to stdout, matching the compose JSON shape. Exit-code contract is
213
+ * unchanged (always 0).
214
+ */
215
+ export declare function servicesStatusJsonKubernetes(deps?: ServicesKubernetesDeps): Promise<void>;
174
216
  export declare function registerServices(program: Command): void;
175
217
  export {};
176
218
  //# sourceMappingURL=services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/commands/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/commands/services.ts"],"names":[],"mappings":"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"}
@@ -226,6 +226,72 @@ export async function servicesDownKubernetes(deps = {}) {
226
226
  * Fetches `kubectl get deployment -n olam -o wide` and formats it to match
227
227
  * the compose table shape: NAME | STATUS | IMAGE | AGE | RESTARTS.
228
228
  */
229
+ /**
230
+ * Collect k8s deployment statuses and emit as `ServiceStatusEntry[]` array.
231
+ * Used by `servicesStatusJsonKubernetes()` for `--json` mode.
232
+ * Probes kubectl for deployment readiness and maps to the compose schema.
233
+ */
234
+ export async function collectServicesStatusKubernetes(deps = {}) {
235
+ const ctx = assertK8sContext(deps.configPath);
236
+ if (!ctx)
237
+ return [];
238
+ const wrap = deps.kubectlWrapImpl ?? kubectlWrap;
239
+ const { context } = ctx;
240
+ const result = await wrap([
241
+ '--context', context,
242
+ 'get', 'deployment',
243
+ '-n', K8S_NAMESPACE,
244
+ '-o', 'wide',
245
+ ], { timeout: 30_000 });
246
+ if (!result.ok) {
247
+ // On kubectl failure, return all services in 'missing' state.
248
+ return PERIPHERALS.map((p) => ({
249
+ name: p.composeContainerName,
250
+ state: 'missing',
251
+ port: p.port,
252
+ containerId: null,
253
+ }));
254
+ }
255
+ // Parse kubectl output: NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
256
+ // Map deployment readiness to state: running (READY == AVAILABLE) or degraded.
257
+ const lines = result.stdout.trim().split('\n');
258
+ const entries = [];
259
+ for (const line of lines.slice(1)) {
260
+ const cols = line.trim().split(/\s+/);
261
+ const name = cols[0] ?? '';
262
+ const ready = cols[1] ?? '0/0';
263
+ const available = cols[3] ?? '0';
264
+ // Map deployment name back to compose container name.
265
+ // kubectl returns `olam-<service-name>` format.
266
+ const composeName = name.startsWith('olam-') ? name : `olam-${name}`;
267
+ const peripheral = PERIPHERALS.find((p) => p.composeContainerName === composeName);
268
+ if (!peripheral)
269
+ continue;
270
+ // Determine state: running if available > 0, missing otherwise.
271
+ // k8s does not expose container IDs in the deployment list, so containerId is null.
272
+ const availableCount = parseInt(available, 10);
273
+ const state = availableCount > 0 ? 'running' : 'missing';
274
+ entries.push({
275
+ name: composeName,
276
+ state,
277
+ port: peripheral.port,
278
+ containerId: null, // k8s deployments do not expose pod container IDs in this view
279
+ });
280
+ }
281
+ // Include any peripherals not found in the deployment list as 'missing'.
282
+ const foundNames = new Set(entries.map((e) => e.name));
283
+ for (const p of PERIPHERALS) {
284
+ if (!foundNames.has(p.composeContainerName)) {
285
+ entries.push({
286
+ name: p.composeContainerName,
287
+ state: 'missing',
288
+ port: p.port,
289
+ containerId: null,
290
+ });
291
+ }
292
+ }
293
+ return entries;
294
+ }
229
295
  export async function servicesStatusKubernetes(deps = {}) {
230
296
  const ctx = assertK8sContext(deps.configPath);
231
297
  if (!ctx)
@@ -365,7 +431,23 @@ function dumpContainerLogs(container, tail = 40) {
365
431
  }
366
432
  catch { /* best effort */ }
367
433
  }
368
- export async function servicesUp() {
434
+ /**
435
+ * Resolve whether the local olam-auth container should be started.
436
+ *
437
+ * Priority (D1):
438
+ * 1. `withLocalAuth` explicit option
439
+ * 2. `OLAM_CREDENTIAL_BACKEND=local` env var → auto-opt-in (back-compat)
440
+ * 3. Default false (cloud-only-vault default)
441
+ */
442
+ export function resolveWithLocalAuth(withLocalAuth) {
443
+ if (withLocalAuth !== undefined)
444
+ return withLocalAuth;
445
+ if (process.env['OLAM_CREDENTIAL_BACKEND'] === 'local')
446
+ return true;
447
+ return false;
448
+ }
449
+ export async function servicesUp(deps = {}) {
450
+ const withLocalAuth = resolveWithLocalAuth(deps.withLocalAuth);
369
451
  const auth = new AuthContainerController();
370
452
  const mcpAuth = new McpAuthContainerController();
371
453
  const kgService = new KgServiceContainerController();
@@ -388,30 +470,51 @@ export async function servicesUp() {
388
470
  else {
389
471
  printInfo('alpine/socat:latest', 'already cached');
390
472
  }
391
- // Start olam-auth
392
- const authStatus = auth.status();
393
- if (authStatus.state === 'running') {
394
- printSuccess(`olam-auth already running on :${authStatus.port}`);
473
+ // D1 — stale-detection: if olam-auth is running but the flag is absent,
474
+ // emit a one-line warning suggesting migration.
475
+ if (!withLocalAuth) {
476
+ const inspectFn = deps.inspectContainerStateFn
477
+ ?? ((name) => {
478
+ const r = spawnSync('docker', ['inspect', '--format', '{{.State.Status}}', name], { encoding: 'utf-8' });
479
+ if (r.status !== 0)
480
+ return 'missing';
481
+ const s = r.stdout.trim();
482
+ return s === 'running' ? 'running' : 'stopped';
483
+ });
484
+ const authState = inspectFn('olam-auth');
485
+ if (authState === 'running') {
486
+ process.stderr.write('olam-auth detected as running; cloud-only-vault is now the default — ' +
487
+ 'see docs/architecture/cloud-only-vault-migration.md\n' +
488
+ ' To suppress: run with --with-local-auth\n');
489
+ }
490
+ // Skip starting olam-auth when not opted in.
395
491
  }
396
492
  else {
397
- try {
398
- auth.start();
399
- }
400
- catch (err) {
401
- printError(`olam-auth failed to start: ${err instanceof Error ? err.message : String(err)}`);
402
- return { exitCode: 1 };
493
+ // Start olam-auth (legacy --with-local-auth mode)
494
+ const authStatus = auth.status();
495
+ if (authStatus.state === 'running') {
496
+ printSuccess(`olam-auth already running on :${authStatus.port}`);
403
497
  }
404
- const ready = await auth.waitForReady(MCP_AUTH_HEALTH_TIMEOUT_MS);
405
- if (!ready) {
406
- printError(`olam-auth started but /health did not respond within ${MCP_AUTH_HEALTH_TIMEOUT_MS / 1000}s.`);
407
- dumpContainerLogs('olam-auth');
408
- printError('\nTry:');
409
- printError(' - olam doctor # check service prereqs');
410
- printError(' - docker logs olam-auth # full logs');
411
- printError(' - docker restart olam-auth # restart');
412
- return { exitCode: 1 };
498
+ else {
499
+ try {
500
+ auth.start();
501
+ }
502
+ catch (err) {
503
+ printError(`olam-auth failed to start: ${err instanceof Error ? err.message : String(err)}`);
504
+ return { exitCode: 1 };
505
+ }
506
+ const ready = await auth.waitForReady(MCP_AUTH_HEALTH_TIMEOUT_MS);
507
+ if (!ready) {
508
+ printError(`olam-auth started but /health did not respond within ${MCP_AUTH_HEALTH_TIMEOUT_MS / 1000}s.`);
509
+ dumpContainerLogs('olam-auth');
510
+ printError('\nTry:');
511
+ printError(' - olam doctor # check service prereqs');
512
+ printError(' - docker logs olam-auth # full logs');
513
+ printError(' - docker restart olam-auth # restart');
514
+ return { exitCode: 1 };
515
+ }
516
+ printSuccess('olam-auth started');
413
517
  }
414
- printSuccess('olam-auth started');
415
518
  }
416
519
  // Start olam-mcp-auth
417
520
  const mcpStatus = mcpAuth.status();
@@ -450,7 +553,8 @@ export async function servicesUp() {
450
553
  // for an intentional opt-out is noise.
451
554
  printInfo('olam-kg-service', 'skipped (no image; run `olam bootstrap` to pull)');
452
555
  printHeader('Services up');
453
- printInfo('olam-auth', ':9999');
556
+ if (withLocalAuth)
557
+ printInfo('olam-auth', ':9999');
454
558
  printInfo('olam-mcp-auth', ':9998');
455
559
  return { exitCode: 0 };
456
560
  }
@@ -468,7 +572,8 @@ export async function servicesUp() {
468
572
  : '';
469
573
  printWarning(`olam-kg-service not started: ${errMsg}${stderr ? `\n stderr: ${stderr}` : ''}`);
470
574
  printHeader('Services up');
471
- printInfo('olam-auth', ':9999');
575
+ if (withLocalAuth)
576
+ printInfo('olam-auth', ':9999');
472
577
  printInfo('olam-mcp-auth', ':9998');
473
578
  return { exitCode: 0 };
474
579
  }
@@ -505,7 +610,8 @@ export async function servicesUp() {
505
610
  // the legacy host-process model. Operators on the host-process path
506
611
  // continue working.
507
612
  printHeader('Services up');
508
- printInfo('olam-auth', ':9999');
613
+ if (withLocalAuth)
614
+ printInfo('olam-auth', ':9999');
509
615
  printInfo('olam-mcp-auth', ':9998');
510
616
  printInfo('olam-kg-service', `:${KG_SERVICE_PORT}`);
511
617
  return { exitCode: 0 };
@@ -523,50 +629,51 @@ export async function servicesUp() {
523
629
  printSuccess('olam-memory-service started');
524
630
  }
525
631
  printHeader('Services up');
526
- printInfo('olam-auth', ':9999');
632
+ if (withLocalAuth) {
633
+ printInfo('olam-auth', ':9999');
634
+ }
527
635
  printInfo('olam-mcp-auth', ':9998');
528
636
  printInfo('olam-kg-service', `:${KG_SERVICE_PORT}`);
529
637
  printInfo('olam-memory-service', `:${MEMORY_SERVICE_PORT}`);
530
638
  return { exitCode: 0 };
531
639
  }
532
- /** Stop all service containers. */
533
- export function servicesDown() {
534
- const auth = new AuthContainerController();
535
- const mcpAuth = new McpAuthContainerController();
536
- const kgService = new KgServiceContainerController();
537
- const memoryService = new MemoryServiceContainerController();
538
- let exitCode = 0;
539
- try {
540
- auth.stop();
541
- printSuccess('olam-auth stopped.');
542
- }
543
- catch (err) {
544
- printError(`olam-auth: ${err instanceof Error ? err.message : String(err)}`);
545
- exitCode = 1;
546
- }
547
- try {
548
- mcpAuth.stop();
549
- printSuccess('olam-mcp-auth stopped.');
550
- }
551
- catch (err) {
552
- printError(`olam-mcp-auth: ${err instanceof Error ? err.message : String(err)}`);
553
- exitCode = 1;
554
- }
555
- try {
556
- kgService.stop();
557
- printSuccess('olam-kg-service stopped.');
558
- }
559
- catch (err) {
560
- printError(`olam-kg-service: ${err instanceof Error ? err.message : String(err)}`);
561
- exitCode = 1;
562
- }
563
- try {
564
- memoryService.stop();
565
- printSuccess('olam-memory-service stopped.');
640
+ /** Stop all (or a named subset of) service containers.
641
+ *
642
+ * @param include - Optional list of container names to stop. When empty,
643
+ * all containers are stopped. When non-empty, only the named containers
644
+ * are stopped (e.g. `['olam-auth']`). Unknown names produce a warning
645
+ * and are skipped; they do NOT set exitCode = 1.
646
+ */
647
+ export function servicesDown(opts = {}) {
648
+ const { include } = opts;
649
+ const services = [
650
+ { name: 'olam-auth', stop: () => new AuthContainerController().stop() },
651
+ { name: 'olam-mcp-auth', stop: () => new McpAuthContainerController().stop() },
652
+ { name: 'olam-kg-service', stop: () => new KgServiceContainerController().stop() },
653
+ { name: 'olam-memory-service', stop: () => new MemoryServiceContainerController().stop() },
654
+ ];
655
+ const known = new Set(services.map((s) => s.name));
656
+ // Validate --include values up-front; warn and skip unknowns.
657
+ if (include && include.length > 0) {
658
+ for (const name of include) {
659
+ if (!known.has(name)) {
660
+ printError(`--include: unknown service '${name}'; known: ${[...known].join(', ')}`);
661
+ }
662
+ }
566
663
  }
567
- catch (err) {
568
- printError(`olam-memory-service: ${err instanceof Error ? err.message : String(err)}`);
569
- exitCode = 1;
664
+ let exitCode = 0;
665
+ for (const svc of services) {
666
+ // Skip if --include is given and this service is not in the list.
667
+ if (include && include.length > 0 && !include.includes(svc.name))
668
+ continue;
669
+ try {
670
+ svc.stop();
671
+ printSuccess(`${svc.name} stopped.`);
672
+ }
673
+ catch (err) {
674
+ printError(`${svc.name}: ${err instanceof Error ? err.message : String(err)}`);
675
+ exitCode = 1;
676
+ }
570
677
  }
571
678
  return { exitCode };
572
679
  }
@@ -625,6 +732,15 @@ export function servicesStatusJson(deps = {}) {
625
732
  const entries = collectServicesStatus(deps);
626
733
  process.stdout.write(JSON.stringify(entries, null, 2) + '\n');
627
734
  }
735
+ /**
736
+ * `--json` projection of `services status` (kubernetes path). Emits a stable
737
+ * array to stdout, matching the compose JSON shape. Exit-code contract is
738
+ * unchanged (always 0).
739
+ */
740
+ export async function servicesStatusJsonKubernetes(deps = {}) {
741
+ const entries = await collectServicesStatusKubernetes(deps);
742
+ process.stdout.write(JSON.stringify(entries, null, 2) + '\n');
743
+ }
628
744
  // ── Commander registration ────────────────────────────────────────
629
745
  export function registerServices(program) {
630
746
  const services = program
@@ -633,7 +749,9 @@ export function registerServices(program) {
633
749
  services
634
750
  .command('up')
635
751
  .description('Start all service containers (idempotent)')
636
- .action(async () => {
752
+ .option('--with-local-auth', 'Also start the local olam-auth container (deprecated — cloud vault is now the default). ' +
753
+ 'Auto-enabled when OLAM_CREDENTIAL_BACKEND=local is set.')
754
+ .action(async (opts) => {
637
755
  const cfg = readConfig();
638
756
  if (cfg.host.substrate === 'kubernetes') {
639
757
  const result = await servicesUpKubernetes();
@@ -641,7 +759,7 @@ export function registerServices(program) {
641
759
  process.exitCode = result.exitCode;
642
760
  }
643
761
  else {
644
- const result = await servicesUp();
762
+ const result = await servicesUp({ withLocalAuth: opts.withLocalAuth });
645
763
  if (result.exitCode !== 0)
646
764
  process.exitCode = result.exitCode;
647
765
  }
@@ -649,15 +767,22 @@ export function registerServices(program) {
649
767
  services
650
768
  .command('down')
651
769
  .description('Stop all service containers')
652
- .action(async () => {
770
+ .option('--include <name>', 'Stop only the named service container (repeatable). Known names: ' +
771
+ 'olam-auth, olam-mcp-auth, olam-kg-service, olam-memory-service. ' +
772
+ 'When omitted, all containers are stopped.', (val, acc) => [...acc, val], [])
773
+ .action(async (opts) => {
653
774
  const cfg = readConfig();
654
775
  if (cfg.host.substrate === 'kubernetes') {
776
+ // Kubernetes substrate: --include filtering not yet supported; stop all.
777
+ if (opts.include.length > 0) {
778
+ process.stderr.write('[services down] --include is not supported on kubernetes substrate; stopping all services\n');
779
+ }
655
780
  const result = await servicesDownKubernetes();
656
781
  if (result.exitCode !== 0)
657
782
  process.exitCode = result.exitCode;
658
783
  }
659
784
  else {
660
- const result = servicesDown();
785
+ const result = servicesDown({ include: opts.include });
661
786
  if (result.exitCode !== 0)
662
787
  process.exitCode = result.exitCode;
663
788
  }
@@ -665,14 +790,16 @@ export function registerServices(program) {
665
790
  services
666
791
  .command('status')
667
792
  .description('Show state of all service containers')
668
- .option('--json', 'Emit a machine-readable JSON array of service states (compose substrate only)')
793
+ .option('--json', 'Emit a machine-readable JSON array of service states')
669
794
  .action(async (opts) => {
670
795
  const cfg = readConfig();
671
796
  if (cfg.host.substrate === 'kubernetes') {
672
- // The kubernetes path reformats `kubectl get deployment` text and has no
673
- // structured controller collector; --json is a no-op there for now (the
674
- // human table is unchanged). Compose is the default + the path drivers hit.
675
- await servicesStatusKubernetes();
797
+ if (opts.json === true) {
798
+ await servicesStatusJsonKubernetes();
799
+ }
800
+ else {
801
+ await servicesStatusKubernetes();
802
+ }
676
803
  }
677
804
  else if (opts.json === true) {
678
805
  servicesStatusJson();