@pleri/olam-cli 0.1.147 → 0.1.150

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 (137) hide show
  1. package/dist/agent-stream/agent-sdk-to-chunks.js +276 -0
  2. package/dist/agent-stream/agent-stream-launch.js +348 -0
  3. package/dist/agent-stream/chunks-subscriber-transport.js +262 -0
  4. package/dist/agent-stream/codex-runner.js +188 -0
  5. package/dist/agent-stream/driver-runner.js +347 -0
  6. package/dist/agent-stream/operator-subscription.js +179 -0
  7. package/dist/commands/auth.d.ts.map +1 -1
  8. package/dist/commands/auth.js +26 -1
  9. package/dist/commands/auth.js.map +1 -1
  10. package/dist/commands/create.d.ts.map +1 -1
  11. package/dist/commands/create.js +39 -0
  12. package/dist/commands/create.js.map +1 -1
  13. package/dist/commands/doctor.d.ts +54 -3
  14. package/dist/commands/doctor.d.ts.map +1 -1
  15. package/dist/commands/doctor.js +348 -6
  16. package/dist/commands/doctor.js.map +1 -1
  17. package/dist/commands/init.d.ts +46 -0
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +90 -0
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/kg-build.d.ts +23 -0
  22. package/dist/commands/kg-build.d.ts.map +1 -1
  23. package/dist/commands/kg-build.js +104 -2
  24. package/dist/commands/kg-build.js.map +1 -1
  25. package/dist/commands/restart.d.ts +18 -0
  26. package/dist/commands/restart.d.ts.map +1 -0
  27. package/dist/commands/restart.js +113 -0
  28. package/dist/commands/restart.js.map +1 -0
  29. package/dist/commands/services.d.ts +41 -3
  30. package/dist/commands/services.d.ts.map +1 -1
  31. package/dist/commands/services.js +221 -13
  32. package/dist/commands/services.js.map +1 -1
  33. package/dist/commands/setup-linux-gate.d.ts +26 -0
  34. package/dist/commands/setup-linux-gate.d.ts.map +1 -0
  35. package/dist/commands/setup-linux-gate.js +42 -0
  36. package/dist/commands/setup-linux-gate.js.map +1 -0
  37. package/dist/commands/setup-metrics.d.ts +26 -0
  38. package/dist/commands/setup-metrics.d.ts.map +1 -0
  39. package/dist/commands/setup-metrics.js +57 -0
  40. package/dist/commands/setup-metrics.js.map +1 -0
  41. package/dist/commands/setup-phase-5a-skill-source.d.ts +68 -0
  42. package/dist/commands/setup-phase-5a-skill-source.d.ts.map +1 -0
  43. package/dist/commands/setup-phase-5a-skill-source.js +196 -0
  44. package/dist/commands/setup-phase-5a-skill-source.js.map +1 -0
  45. package/dist/commands/setup-phase-5b-project-sweep.d.ts +38 -0
  46. package/dist/commands/setup-phase-5b-project-sweep.d.ts.map +1 -0
  47. package/dist/commands/setup-phase-5b-project-sweep.js +176 -0
  48. package/dist/commands/setup-phase-5b-project-sweep.js.map +1 -0
  49. package/dist/commands/setup.d.ts +19 -0
  50. package/dist/commands/setup.d.ts.map +1 -1
  51. package/dist/commands/setup.js +22 -0
  52. package/dist/commands/setup.js.map +1 -1
  53. package/dist/commands/skills-10x.d.ts +23 -0
  54. package/dist/commands/skills-10x.d.ts.map +1 -0
  55. package/dist/commands/skills-10x.js +308 -0
  56. package/dist/commands/skills-10x.js.map +1 -0
  57. package/dist/commands/substrate-audit-log.d.ts +2 -0
  58. package/dist/commands/substrate-audit-log.d.ts.map +1 -1
  59. package/dist/commands/substrate-audit-log.js +13 -0
  60. package/dist/commands/substrate-audit-log.js.map +1 -1
  61. package/dist/image-digests.json +7 -7
  62. package/dist/index.js +18102 -15234
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/auth-refresh-kubernetes.d.ts +62 -0
  65. package/dist/lib/auth-refresh-kubernetes.d.ts.map +1 -0
  66. package/dist/lib/auth-refresh-kubernetes.js +127 -0
  67. package/dist/lib/auth-refresh-kubernetes.js.map +1 -0
  68. package/dist/lib/build-if-stale.d.ts +33 -0
  69. package/dist/lib/build-if-stale.d.ts.map +1 -0
  70. package/dist/lib/build-if-stale.js +156 -0
  71. package/dist/lib/build-if-stale.js.map +1 -0
  72. package/dist/lib/bundle-freshness.d.ts +57 -0
  73. package/dist/lib/bundle-freshness.d.ts.map +1 -0
  74. package/dist/lib/bundle-freshness.js +223 -0
  75. package/dist/lib/bundle-freshness.js.map +1 -0
  76. package/dist/lib/bundle-source.d.ts +52 -0
  77. package/dist/lib/bundle-source.d.ts.map +1 -0
  78. package/dist/lib/bundle-source.js +83 -0
  79. package/dist/lib/bundle-source.js.map +1 -0
  80. package/dist/lib/kubectl-wrap.d.ts +6 -0
  81. package/dist/lib/kubectl-wrap.d.ts.map +1 -1
  82. package/dist/lib/kubectl-wrap.js +6 -1
  83. package/dist/lib/kubectl-wrap.js.map +1 -1
  84. package/dist/lib/manifest-refresh.d.ts +42 -1
  85. package/dist/lib/manifest-refresh.d.ts.map +1 -1
  86. package/dist/lib/manifest-refresh.js +83 -7
  87. package/dist/lib/manifest-refresh.js.map +1 -1
  88. package/dist/lib/peripheral-registry.d.ts +36 -0
  89. package/dist/lib/peripheral-registry.d.ts.map +1 -0
  90. package/dist/lib/peripheral-registry.js +55 -0
  91. package/dist/lib/peripheral-registry.js.map +1 -0
  92. package/dist/lib/port-forward.d.ts +67 -0
  93. package/dist/lib/port-forward.d.ts.map +1 -1
  94. package/dist/lib/port-forward.js +153 -0
  95. package/dist/lib/port-forward.js.map +1 -1
  96. package/dist/lib/upgrade-kubernetes.d.ts +52 -12
  97. package/dist/lib/upgrade-kubernetes.d.ts.map +1 -1
  98. package/dist/lib/upgrade-kubernetes.js +390 -22
  99. package/dist/lib/upgrade-kubernetes.js.map +1 -1
  100. package/dist/mcp-server.js +84 -58
  101. package/host-cp/compose.yaml +6 -0
  102. package/host-cp/k8s/manifests/30-configmap.yaml +6 -0
  103. package/host-cp/k8s/manifests/50-deployment.yaml +46 -9
  104. package/host-cp/k8s/manifests/auth-service/10-serviceaccount.yaml +8 -0
  105. package/host-cp/k8s/manifests/auth-service/20-rbac.yaml +34 -0
  106. package/host-cp/k8s/manifests/auth-service/30-configmap.yaml +24 -0
  107. package/host-cp/k8s/manifests/auth-service/45-pvc.yaml +25 -0
  108. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +117 -0
  109. package/host-cp/k8s/manifests/auth-service/60-service.yaml +21 -0
  110. package/host-cp/k8s/manifests/kg-service/10-serviceaccount.yaml +8 -0
  111. package/host-cp/k8s/manifests/kg-service/20-rbac.yaml +34 -0
  112. package/host-cp/k8s/manifests/kg-service/30-configmap.yaml +18 -0
  113. package/host-cp/k8s/manifests/kg-service/45-pvc.yaml +25 -0
  114. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +108 -0
  115. package/host-cp/k8s/manifests/kg-service/60-service.yaml +21 -0
  116. package/host-cp/k8s/manifests/mcp-auth-service/10-serviceaccount.yaml +8 -0
  117. package/host-cp/k8s/manifests/mcp-auth-service/20-rbac.yaml +34 -0
  118. package/host-cp/k8s/manifests/mcp-auth-service/30-configmap.yaml +18 -0
  119. package/host-cp/k8s/manifests/mcp-auth-service/45-pvc.yaml +25 -0
  120. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +117 -0
  121. package/host-cp/k8s/manifests/mcp-auth-service/60-service.yaml +21 -0
  122. package/host-cp/k8s/manifests/memory-service/10-serviceaccount.yaml +8 -0
  123. package/host-cp/k8s/manifests/memory-service/20-rbac.yaml +34 -0
  124. package/host-cp/k8s/manifests/memory-service/30-configmap.yaml +20 -0
  125. package/host-cp/k8s/manifests/memory-service/45-pvc.yaml +25 -0
  126. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +121 -0
  127. package/host-cp/k8s/manifests/memory-service/60-service.yaml +21 -0
  128. package/host-cp/k8s/templates/auth-service-secret-template.yaml +28 -0
  129. package/host-cp/k8s/templates/kg-service-secret-template.yaml +28 -0
  130. package/host-cp/k8s/templates/mcp-auth-service-secret-template.yaml +28 -0
  131. package/host-cp/k8s/templates/memory-service-secret-template.yaml +29 -0
  132. package/host-cp/src/agent-runtime-trigger.mjs +7 -5
  133. package/host-cp/src/plan-chat-secret.mjs +13 -2
  134. package/host-cp/src/plan-chat-service.mjs +116 -15
  135. package/host-cp/src/server.mjs +23 -11
  136. package/host-cp/src/upgrade-spawner.mjs +10 -5
  137. package/package.json +4 -2
@@ -0,0 +1,223 @@
1
+ /**
2
+ * bundle-freshness.ts — Phase A1 of olam-world-bundle-freshness.
3
+ *
4
+ * Surfaces whether each running olam world is running the SAME agent-stream
5
+ * bundle that the operator has built locally (`packages/intelligence/dist/
6
+ * agent-stream/`).
7
+ *
8
+ * The bake mechanism (devbox.runtime.glibc.Dockerfile:263-287) builds the
9
+ * bundle INSIDE the world image at world-image-build time, so subsequent
10
+ * fixes to agent-stream do NOT reach running worlds via `olam restart` —
11
+ * they need either a docker cp (manual workaround) or the Phase B
12
+ * bind-mount overlay (the real fix).
13
+ *
14
+ * This probe makes the staleness gap visible BEFORE Phase B lands.
15
+ *
16
+ * Verdict:
17
+ * - fresh — every checked file's sha256 matches host + host dist ≥ container.
18
+ * - stale — at least one file's sha differs OR host dist is newer by >60s.
19
+ * - unknown — no running worlds, OR host dist missing, OR docker unreachable.
20
+ */
21
+ import { createHash } from 'node:crypto';
22
+ import { existsSync, readFileSync, statSync } from 'node:fs';
23
+ import { join, resolve } from 'node:path';
24
+ /**
25
+ * Files the probe checks inside each world's
26
+ * `/opt/olam/agent-stream/dist/`. Mirrors the brainstorm's docker-cp
27
+ * recovery list (PR #653 + PR #665).
28
+ */
29
+ export const BUNDLE_FILES = [
30
+ 'driver-runner.js',
31
+ 'codex-runner.js',
32
+ 'agent-sdk-to-chunks.js',
33
+ 'agent-stream-launch.js',
34
+ 'operator-subscription.js',
35
+ 'chunks-subscriber-transport.js',
36
+ ];
37
+ /** Mtime drift tolerance — host can be up to this much newer than world without flagging stale. */
38
+ const MTIME_TOLERANCE_MS = 60_000;
39
+ /**
40
+ * Aggregate doctor probe.
41
+ *
42
+ * Returns:
43
+ * - PASS (`ok: true, no warn`) when every running world is `fresh`.
44
+ * - WARN (`ok: true, warn: true`) when at least one world is `stale`.
45
+ * - PASS-with-unknown (`ok: true, no warn`) when no running worlds OR no
46
+ * host dist exists — nothing to be stale against, so no alarm.
47
+ *
48
+ * Never FAILs — bundle staleness is an informational signal, not a
49
+ * gate. Operators land Phase B by reading this row before Phase B
50
+ * makes the row redundant.
51
+ */
52
+ export async function probeBundleFreshness(deps = {}) {
53
+ const dockerExec = deps.dockerExec;
54
+ // Host dist path. CLI's install-root pattern: <cli-pkg>/../../.
55
+ // In source-mode this resolves to <repo>/packages/intelligence/dist/agent-stream.
56
+ // In install-mode there's no host dist; return unknown.
57
+ const repoRoot = deps.repoRootOverride ?? resolveRepoRootBestEffort();
58
+ if (!repoRoot) {
59
+ return {
60
+ ok: true,
61
+ message: 'bundle: unknown (repo root not detected; install-mode CLI cannot probe host dist)',
62
+ };
63
+ }
64
+ const hostDistDir = join(repoRoot, 'packages', 'intelligence', 'dist', 'agent-stream');
65
+ if (!existsSync(hostDistDir)) {
66
+ return {
67
+ ok: true,
68
+ message: `bundle: unknown (host dist missing at ${hostDistDir})`,
69
+ };
70
+ }
71
+ // Enumerate running olam worlds. Match container names like `olam-<id>-devbox`.
72
+ if (!dockerExec) {
73
+ return { ok: true, message: 'bundle: unknown (no docker exec injected)' };
74
+ }
75
+ const psResult = dockerExec('docker', ['ps', '--format', '{{.Names}}']);
76
+ if (psResult.status !== 0) {
77
+ return {
78
+ ok: true,
79
+ message: `bundle: unknown (docker ps failed: ${psResult.stderr.trim() || 'no stderr'})`,
80
+ };
81
+ }
82
+ const containers = psResult.stdout
83
+ .split('\n')
84
+ .map((l) => l.trim())
85
+ .filter((l) => /^olam-[a-z0-9][a-z0-9-]*-devbox$/.test(l));
86
+ if (containers.length === 0) {
87
+ return { ok: true, message: 'bundle: unknown (no running olam worlds)' };
88
+ }
89
+ // Compute host shas once.
90
+ const hostShas = new Map();
91
+ for (const f of BUNDLE_FILES) {
92
+ const p = join(hostDistDir, f);
93
+ if (!existsSync(p))
94
+ continue;
95
+ const buf = readFileSync(p);
96
+ const sha = createHash('sha256').update(buf).digest('hex');
97
+ const mtimeMs = statSync(p).mtimeMs;
98
+ hostShas.set(f, { sha, mtimeMs });
99
+ }
100
+ if (hostShas.size === 0) {
101
+ return {
102
+ ok: true,
103
+ message: `bundle: unknown (no BUNDLE_FILES present at ${hostDistDir})`,
104
+ };
105
+ }
106
+ // Per-world comparison.
107
+ const perWorld = [];
108
+ for (const container of containers) {
109
+ perWorld.push(checkWorld(container, hostShas, dockerExec));
110
+ }
111
+ const staleWorlds = perWorld.filter((w) => w.verdict === 'stale');
112
+ if (staleWorlds.length > 0) {
113
+ const remedy = `Run \`olam restart <worldId>\` after Phase B lands, OR for now: ` +
114
+ `\`for f in ${BUNDLE_FILES.join(' ')}; do docker cp packages/intelligence/dist/agent-stream/$f <container>:/opt/olam/agent-stream/dist/$f; done\``;
115
+ return {
116
+ ok: true,
117
+ warn: true,
118
+ message: `bundle: stale in ${staleWorlds.length}/${perWorld.length} world(s) — ${staleWorlds
119
+ .map((w) => `${w.container} (${w.mismatchedFiles.length} file(s) differ)`)
120
+ .join(', ')}`,
121
+ remedy,
122
+ };
123
+ }
124
+ const unknownCount = perWorld.filter((w) => w.verdict === 'unknown').length;
125
+ if (unknownCount === perWorld.length) {
126
+ return {
127
+ ok: true,
128
+ message: `bundle: unknown (could not probe ${unknownCount}/${perWorld.length} world(s); docker exec failed)`,
129
+ };
130
+ }
131
+ return {
132
+ ok: true,
133
+ message: `bundle: fresh in ${perWorld.length} world(s)`,
134
+ };
135
+ }
136
+ function checkWorld(container, hostShas, dockerExec) {
137
+ // Single exec sha256s all bundle files at once for efficiency.
138
+ // Format: `<sha> <path>` per line.
139
+ const filePaths = Array.from(hostShas.keys()).map((f) => `/opt/olam/agent-stream/dist/${f}`);
140
+ const r = dockerExec('docker', [
141
+ 'exec',
142
+ container,
143
+ 'sh',
144
+ '-c',
145
+ `for f in ${filePaths.join(' ')}; do if [ -f "$f" ]; then sha256sum "$f"; stat -c '%Y' "$f"; fi; done`,
146
+ ]);
147
+ if (r.status !== 0) {
148
+ return { container, verdict: 'unknown', mismatchedFiles: [] };
149
+ }
150
+ // Parse: alternating lines of `<sha> <path>` and `<mtime_epoch_seconds>`.
151
+ const lines = r.stdout.trim().split('\n');
152
+ const containerShas = new Map();
153
+ for (let i = 0; i < lines.length; i += 2) {
154
+ const shaLine = lines[i];
155
+ const mtimeLine = lines[i + 1];
156
+ if (!shaLine || !mtimeLine)
157
+ continue;
158
+ const m = shaLine.match(/^([a-f0-9]{64})\s+(.+)$/);
159
+ if (!m)
160
+ continue;
161
+ const sha = m[1];
162
+ const path = m[2];
163
+ const filename = path?.split('/').pop();
164
+ if (!filename)
165
+ continue;
166
+ const mtimeSecs = parseInt(mtimeLine.trim(), 10);
167
+ if (Number.isNaN(mtimeSecs) || !sha)
168
+ continue;
169
+ containerShas.set(filename, { sha, mtimeMs: mtimeSecs * 1000 });
170
+ }
171
+ const mismatched = [];
172
+ let maxMtimeDelta = 0;
173
+ for (const [filename, hostEntry] of hostShas) {
174
+ const containerEntry = containerShas.get(filename);
175
+ if (!containerEntry) {
176
+ // File present on host, absent in world → mismatch.
177
+ mismatched.push(filename);
178
+ continue;
179
+ }
180
+ if (containerEntry.sha !== hostEntry.sha) {
181
+ mismatched.push(filename);
182
+ }
183
+ const delta = hostEntry.mtimeMs - containerEntry.mtimeMs;
184
+ if (delta > maxMtimeDelta)
185
+ maxMtimeDelta = delta;
186
+ }
187
+ // Fresh = no sha mismatches AND mtime drift within tolerance.
188
+ if (mismatched.length === 0 && maxMtimeDelta <= MTIME_TOLERANCE_MS) {
189
+ return { container, verdict: 'fresh', mismatchedFiles: [], mtimeDeltaMs: maxMtimeDelta };
190
+ }
191
+ return {
192
+ container,
193
+ verdict: 'stale',
194
+ mismatchedFiles: mismatched,
195
+ mtimeDeltaMs: maxMtimeDelta,
196
+ };
197
+ }
198
+ /**
199
+ * Best-effort repo root resolution. Mirrors install-root.ts's pattern:
200
+ * the CLI lives at `<repo>/packages/cli` in source-mode; walking up two
201
+ * levels lands at the repo root iff `packages/` AND `package.json` exist
202
+ * there.
203
+ */
204
+ function resolveRepoRootBestEffort() {
205
+ // The probe is module-level; we can't reach __dirname in ESM directly,
206
+ // but the CLI loads from <repo>/packages/cli/dist/lib/bundle-freshness.js
207
+ // (or src/lib in dev), so process.argv[1] points into the CLI tree.
208
+ // Fall back to cwd if argv resolution fails.
209
+ const start = process.argv[1] ?? process.cwd();
210
+ // Walk up looking for a parent that has BOTH `packages/` AND `package.json`.
211
+ let dir = resolve(start);
212
+ for (let i = 0; i < 6; i++) {
213
+ const parent = resolve(dir, '..');
214
+ if (parent === dir)
215
+ break;
216
+ if (existsSync(join(parent, 'packages')) && existsSync(join(parent, 'package.json'))) {
217
+ return parent;
218
+ }
219
+ dir = parent;
220
+ }
221
+ return null;
222
+ }
223
+ //# sourceMappingURL=bundle-freshness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-freshness.js","sourceRoot":"","sources":["../../src/lib/bundle-freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,kBAAkB;IAClB,iBAAiB;IACjB,wBAAwB;IACxB,wBAAwB;IACxB,0BAA0B;IAC1B,gCAAgC;CACjC,CAAC;AAEF,mGAAmG;AACnG,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAmBlC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA4B,EAAE;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IAEnC,gEAAgE;IAChE,kFAAkF;IAClF,wDAAwD;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,IAAI,yBAAyB,EAAE,CAAC;IACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,mFAAmF;SAC7F,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACvF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,yCAAyC,WAAW,GAAG;SACjE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,sCAAsC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,WAAW,GAAG;SACxF,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM;SAC/B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;IAC3E,CAAC;IAED,0BAA0B;IAC1B,MAAM,QAAQ,GAAkD,IAAI,GAAG,EAAE,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,+CAA+C,WAAW,GAAG;SACvE,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAClE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,GACV,kEAAkE;YAClE,cAAc,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,8GAA8G,CAAC;QACrJ,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,oBAAoB,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,eAAe,WAAW;iBACzF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,kBAAkB,CAAC;iBACzE,IAAI,CAAC,IAAI,CAAC,EAAE;YACf,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC5E,IAAI,YAAY,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,oCAAoC,YAAY,IAAI,QAAQ,CAAC,MAAM,gCAAgC;SAC7G,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,oBAAoB,QAAQ,CAAC,MAAM,WAAW;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,SAAiB,EACjB,QAA+D,EAC/D,UAAsB;IAEtB,+DAA+D;IAC/D,oCAAoC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B,CAAC,EAAE,CAC1C,CAAC;IACF,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE;QAC7B,MAAM;QACN,SAAS;QACT,IAAI;QACJ,IAAI;QACJ,YAAY,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,uEAAuE;KACvG,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,2EAA2E;IAC3E,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4C,CAAC;IAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,SAAS;QACrC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;YAAE,SAAS;QAC9C,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,oDAAoD;YACpD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QACzD,IAAI,KAAK,GAAG,aAAa;YAAE,aAAa,GAAG,KAAK,CAAC;IACnD,CAAC;IAED,8DAA8D;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,IAAI,kBAAkB,EAAE,CAAC;QACnE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO;QACL,SAAS;QACT,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,UAAU;QAC3B,YAAY,EAAE,aAAa;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB;IAChC,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,6CAA6C;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,6EAA6E;IAC7E,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * bundle-source.ts — Phase C C2 (olam-world-bundle-freshness).
3
+ *
4
+ * Single resolver for the agent-stream bind-mount source path. Two modes:
5
+ *
6
+ * source-mode (OLAM_DEV=1 + packages/ sibling in repo root):
7
+ * → <repo>/packages/intelligence/dist/agent-stream
8
+ *
9
+ * install-mode (OLAM_FORCE_INSTALL_MODE=1, or OLAM_DEV is absent/not '1',
10
+ * or the packages/ sibling is absent):
11
+ * → <cli-pkg-root>/dist/agent-stream
12
+ * (the path populated by bundle-agent-stream.mjs at publish time)
13
+ *
14
+ * Throws `BundleSourceNotFoundError` with a remediation message when neither
15
+ * path exists on disk.
16
+ *
17
+ * Design decisions:
18
+ * - Reuses `installRoot()` + `isDevMode()` from install-root.ts (the seam
19
+ * established by Phase B / fresh-install-self-bootstrap). No new heuristics.
20
+ * - `OLAM_FORCE_INSTALL_MODE=1` forces install-mode regardless of cwd; used
21
+ * by the C4 integration test to exercise install-mode paths without a real
22
+ * global install.
23
+ * - Does NOT import from @olam/adapters (dep cycle — adapters cannot import
24
+ * from @pleri/olam-cli). The container.ts refactor in Phase C receives the
25
+ * resolved path as an argument instead of computing it internally.
26
+ */
27
+ /** Resolved bundle source description. */
28
+ export interface BundleSource {
29
+ /** 'source' = operator repo dist; 'install' = CLI package dist. */
30
+ readonly mode: 'source' | 'install';
31
+ /** Absolute path to the agent-stream dist directory. */
32
+ readonly path: string;
33
+ }
34
+ /**
35
+ * Thrown when neither the source-mode nor the install-mode bundle directory
36
+ * exists on disk. Carries a remediation message operators can act on.
37
+ */
38
+ export declare class BundleSourceNotFoundError extends Error {
39
+ constructor(sourceModePath: string, installModePath: string);
40
+ }
41
+ /**
42
+ * Resolve the agent-stream bind-mount source for the current runtime context.
43
+ *
44
+ * @param env - Process environment. Defaults to `process.env`. Injectable for
45
+ * tests — pass `{ OLAM_FORCE_INSTALL_MODE: '1' }` to exercise install-mode.
46
+ * @param installRootDir - Override the CLI package root. Defaults to
47
+ * `installRoot()`. Injectable for tests.
48
+ * @returns `BundleSource` with the resolved mode and absolute directory path.
49
+ * @throws `BundleSourceNotFoundError` when neither path exists.
50
+ */
51
+ export declare function resolveBundleSource(env?: NodeJS.ProcessEnv, installRootDir?: string): BundleSource;
52
+ //# sourceMappingURL=bundle-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-source.d.ts","sourceRoot":"","sources":["../../src/lib/bundle-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IACpC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAa5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,cAAc,GAAE,MAAsB,GACrC,YAAY,CA2Bd"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * bundle-source.ts — Phase C C2 (olam-world-bundle-freshness).
3
+ *
4
+ * Single resolver for the agent-stream bind-mount source path. Two modes:
5
+ *
6
+ * source-mode (OLAM_DEV=1 + packages/ sibling in repo root):
7
+ * → <repo>/packages/intelligence/dist/agent-stream
8
+ *
9
+ * install-mode (OLAM_FORCE_INSTALL_MODE=1, or OLAM_DEV is absent/not '1',
10
+ * or the packages/ sibling is absent):
11
+ * → <cli-pkg-root>/dist/agent-stream
12
+ * (the path populated by bundle-agent-stream.mjs at publish time)
13
+ *
14
+ * Throws `BundleSourceNotFoundError` with a remediation message when neither
15
+ * path exists on disk.
16
+ *
17
+ * Design decisions:
18
+ * - Reuses `installRoot()` + `isDevMode()` from install-root.ts (the seam
19
+ * established by Phase B / fresh-install-self-bootstrap). No new heuristics.
20
+ * - `OLAM_FORCE_INSTALL_MODE=1` forces install-mode regardless of cwd; used
21
+ * by the C4 integration test to exercise install-mode paths without a real
22
+ * global install.
23
+ * - Does NOT import from @olam/adapters (dep cycle — adapters cannot import
24
+ * from @pleri/olam-cli). The container.ts refactor in Phase C receives the
25
+ * resolved path as an argument instead of computing it internally.
26
+ */
27
+ import { existsSync } from 'node:fs';
28
+ import { join, resolve } from 'node:path';
29
+ import { installRoot, isDevMode } from '../install-root.js';
30
+ /**
31
+ * Thrown when neither the source-mode nor the install-mode bundle directory
32
+ * exists on disk. Carries a remediation message operators can act on.
33
+ */
34
+ export class BundleSourceNotFoundError extends Error {
35
+ constructor(sourceModePath, installModePath) {
36
+ super(`agent-stream bundle not found in either location:\n` +
37
+ ` source-mode path: ${sourceModePath}\n` +
38
+ ` install-mode path: ${installModePath}\n` +
39
+ `\n` +
40
+ `Remediation:\n` +
41
+ ` In a monorepo clone (OLAM_DEV=1): run \`npm run build --workspace=@olam/intelligence\`\n` +
42
+ ` In a global install: reinstall or update — \`npm install -g @pleri/olam-cli@latest\`\n` +
43
+ ` (the published tarball ships dist/agent-stream/ as of Phase C)\n`);
44
+ this.name = 'BundleSourceNotFoundError';
45
+ }
46
+ }
47
+ /**
48
+ * Resolve the agent-stream bind-mount source for the current runtime context.
49
+ *
50
+ * @param env - Process environment. Defaults to `process.env`. Injectable for
51
+ * tests — pass `{ OLAM_FORCE_INSTALL_MODE: '1' }` to exercise install-mode.
52
+ * @param installRootDir - Override the CLI package root. Defaults to
53
+ * `installRoot()`. Injectable for tests.
54
+ * @returns `BundleSource` with the resolved mode and absolute directory path.
55
+ * @throws `BundleSourceNotFoundError` when neither path exists.
56
+ */
57
+ export function resolveBundleSource(env = process.env, installRootDir = installRoot()) {
58
+ // OLAM_FORCE_INSTALL_MODE=1 skips the source-mode check unconditionally.
59
+ // Used by the C4 integration test to force install-mode without a real
60
+ // global install.
61
+ const forceInstall = env['OLAM_FORCE_INSTALL_MODE'] === '1';
62
+ // Source-mode: OLAM_DEV=1 + packages/ sibling + package.json (per isDevMode).
63
+ if (!forceInstall && isDevMode(env, installRootDir)) {
64
+ // installRoot sits at <repo>/packages/cli; walk up two levels to repo root.
65
+ const repoRoot = resolve(installRootDir, '..', '..');
66
+ const sourcePath = join(repoRoot, 'packages', 'intelligence', 'dist', 'agent-stream');
67
+ const installPath = join(installRootDir, 'dist', 'agent-stream');
68
+ if (!existsSync(sourcePath)) {
69
+ throw new BundleSourceNotFoundError(sourcePath, installPath);
70
+ }
71
+ return { mode: 'source', path: sourcePath };
72
+ }
73
+ // Install-mode: use the CLI's own dist/agent-stream/ (shipped via C1).
74
+ const installPath = join(installRootDir, 'dist', 'agent-stream');
75
+ // Source path for error message.
76
+ const repoRoot = resolve(installRootDir, '..', '..');
77
+ const sourcePath = join(repoRoot, 'packages', 'intelligence', 'dist', 'agent-stream');
78
+ if (!existsSync(installPath)) {
79
+ throw new BundleSourceNotFoundError(sourcePath, installPath);
80
+ }
81
+ return { mode: 'install', path: installPath };
82
+ }
83
+ //# sourceMappingURL=bundle-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-source.js","sourceRoot":"","sources":["../../src/lib/bundle-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU5D;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,cAAsB,EAAE,eAAuB;QACzD,KAAK,CACH,qDAAqD;YACnD,uBAAuB,cAAc,IAAI;YACzC,wBAAwB,eAAe,IAAI;YAC3C,IAAI;YACJ,gBAAgB;YAChB,4FAA4F;YAC5F,0FAA0F;YAC1F,sEAAsE,CACzE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAyB,OAAO,CAAC,GAAG,EACpC,iBAAyB,WAAW,EAAE;IAEtC,yEAAyE;IACzE,uEAAuE;IACvE,kBAAkB;IAClB,MAAM,YAAY,GAAG,GAAG,CAAC,yBAAyB,CAAC,KAAK,GAAG,CAAC;IAE5D,8EAA8E;IAC9E,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC;QACpD,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,yBAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,uEAAuE;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACjE,iCAAiC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACtF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,yBAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAChD,CAAC"}
@@ -48,6 +48,12 @@ export interface KubectlWrapOpts {
48
48
  * Signature matches `child_process.spawn` return type.
49
49
  */
50
50
  readonly spawnImpl?: typeof spawn;
51
+ /**
52
+ * Optional stdin payload. When set, the subprocess stdin is set to 'pipe'
53
+ * and this string is written then closed. Used for `kubectl apply -f -`
54
+ * patterns (C1 ConfigMap substitution; D20 — value never in argv).
55
+ */
56
+ readonly stdin?: string;
51
57
  }
52
58
  /**
53
59
  * Invoke kubectl with a timeout.
@@ -1 +1 @@
1
- {"version":3,"file":"kubectl-wrap.d.ts","sourceRoot":"","sources":["../../src/lib/kubectl-wrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAG1C,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAE7G,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,aAAa,CAAC,CAuFxB"}
1
+ {"version":3,"file":"kubectl-wrap.d.ts","sourceRoot":"","sources":["../../src/lib/kubectl-wrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAG1C,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAE7G,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,aAAa,CAAC,CA6FxB"}
@@ -59,7 +59,7 @@ export async function kubectlWrap(args, opts = {}) {
59
59
  let child;
60
60
  try {
61
61
  child = spawnImpl('kubectl', [...args], {
62
- stdio: ['ignore', 'pipe', 'pipe'],
62
+ stdio: [opts.stdin !== undefined ? 'pipe' : 'ignore', 'pipe', 'pipe'],
63
63
  env: { ...process.env, ...(opts.env ?? {}) },
64
64
  });
65
65
  }
@@ -73,6 +73,11 @@ export async function kubectlWrap(args, opts = {}) {
73
73
  });
74
74
  return;
75
75
  }
76
+ // Write stdin payload and close the stream when provided.
77
+ if (opts.stdin !== undefined && child.stdin) {
78
+ child.stdin.write(opts.stdin, 'utf8');
79
+ child.stdin.end();
80
+ }
76
81
  if (child.stdout) {
77
82
  child.stdout.on('data', (chunk) => { stdout.push(chunk.toString('utf8')); });
78
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kubectl-wrap.js","sourceRoot":"","sources":["../../src/lib/kubectl-wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kubectl-wrap.js","sourceRoot":"","sources":["../../src/lib/kubectl-wrap.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,8 @@ export interface ManifestRefreshAuditEntry {
42
42
  changed_fields: string[];
43
43
  accepted: boolean;
44
44
  operator_pid: number;
45
+ /** When set, the refresh was scoped to this peripheral's manifest subdir (C4/D19). */
46
+ peripheral?: string;
45
47
  }
46
48
  export interface ManifestRefreshDeps {
47
49
  /** Override state dir for tests. */
@@ -61,6 +63,40 @@ export interface ManifestRefreshDeps {
61
63
  /** Override Date.now for tests. */
62
64
  readonly now?: () => Date;
63
65
  }
66
+ export interface SeedManifestsDeps {
67
+ /** Override installRoot path (for tests). */
68
+ readonly installRootDir?: string;
69
+ /** Override target manifests dir path (for tests). */
70
+ readonly targetManifestsDir?: string;
71
+ /** Override fs.existsSync (for tests). */
72
+ readonly existsSync?: typeof fs.existsSync;
73
+ /** Override fs.cpSync (for tests). */
74
+ readonly cpSync?: typeof fs.cpSync;
75
+ /** Override fs.mkdirSync (for tests). */
76
+ readonly mkdirSync?: typeof fs.mkdirSync;
77
+ }
78
+ export type SeedManifestsResult = {
79
+ seeded: true;
80
+ source: string;
81
+ target: string;
82
+ message: string;
83
+ } | {
84
+ seeded: false;
85
+ skipped: true;
86
+ reason: string;
87
+ } | {
88
+ seeded: false;
89
+ skipped: false;
90
+ error: string;
91
+ };
92
+ /**
93
+ * Copy bundled manifests from the CLI package's host-cp/k8s/manifests/ to
94
+ * ~/.olam/k8s/manifests/ if the target dir does not yet exist.
95
+ *
96
+ * @param forceRefresh — when true, always overwrite (--force-refresh-manifests path).
97
+ * @param deps — injectable for tests.
98
+ */
99
+ export declare function seedManifestsFromBundle(forceRefresh: boolean, deps?: SeedManifestsDeps): SeedManifestsResult;
64
100
  /**
65
101
  * Pure diff between two YAML manifest file contents (as strings).
66
102
  * Parses each as JSON (manifests may be JSON or YAML; we handle JSON
@@ -82,14 +118,19 @@ export type ManifestRefreshResult = {
82
118
  * @param manifestsDir — path to ~/.olam/k8s/manifests/
83
119
  * @param acceptRegression — true when --accept-security-regression is set
84
120
  * @param deps — injectable for tests
121
+ * @param peripheral — when set, scope diff to manifests/<peripheral>/ ONLY (C4/D19)
85
122
  *
86
123
  * Returns ok=false when:
87
124
  * - Security-sensitive fields differ AND !acceptRegression.
88
125
  * - Audit log write fails (ENOSPC).
126
+ * - peripheral is set but the peripheral subdir does not exist.
89
127
  *
90
128
  * On ok=true the audit log entry is written with accepted=true (or
91
129
  * accepted=false when no regression was detected — regression-free
92
130
  * refreshes are still audited).
131
+ *
132
+ * When peripheral is set, the audit-log entry includes { peripheral: <name> } (D19).
133
+ * Other peripherals' security drift does NOT block a targeted peripheral refresh (D19).
93
134
  */
94
- export declare function runManifestRefresh(manifestsDir: string, acceptRegression: boolean, deps?: ManifestRefreshDeps): Promise<ManifestRefreshResult>;
135
+ export declare function runManifestRefresh(manifestsDir: string, acceptRegression: boolean, deps?: ManifestRefreshDeps, peripheral?: string): Promise<ManifestRefreshResult>;
95
136
  //# sourceMappingURL=manifest-refresh.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-refresh.d.ts","sourceRoot":"","sources":["../../src/lib/manifest-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,eAAO,MAAM,0BAA0B,QAA4D,CAAC;AAEpG,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB,qGAM5B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uCAAuC;IACvC,aAAa,EAAE,sBAAsB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC;IAC7C,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC;IAC/C,2CAA2C;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC;IACjD,wCAAwC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IAC3C,mCAAmC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAkCD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,kBAAkB,CA4BpB;AAyBD,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,OAAO,EACzB,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAqFhC"}
1
+ {"version":3,"file":"manifest-refresh.d.ts","sourceRoot":"","sources":["../../src/lib/manifest-refresh.ts"],"names":[],"mappings":"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"}