@pleri/olam-cli 0.1.162 → 0.1.167

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 (49) hide show
  1. package/README.md +4 -2
  2. package/dist/commands/bootstrap.d.ts +6 -0
  3. package/dist/commands/bootstrap.d.ts.map +1 -1
  4. package/dist/commands/bootstrap.js +15 -0
  5. package/dist/commands/bootstrap.js.map +1 -1
  6. package/dist/commands/doctor.js +4 -4
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/init.d.ts +4 -3
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +103 -81
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/memory-service-container.d.ts +8 -0
  13. package/dist/commands/memory-service-container.d.ts.map +1 -1
  14. package/dist/commands/memory-service-container.js +16 -1
  15. package/dist/commands/memory-service-container.js.map +1 -1
  16. package/dist/commands/setup.d.ts +62 -14
  17. package/dist/commands/setup.d.ts.map +1 -1
  18. package/dist/commands/setup.js +373 -42
  19. package/dist/commands/setup.js.map +1 -1
  20. package/dist/commands/skills-source.d.ts.map +1 -1
  21. package/dist/commands/skills-source.js +89 -4
  22. package/dist/commands/skills-source.js.map +1 -1
  23. package/dist/image-digests.json +8 -7
  24. package/dist/index.js +672 -168
  25. package/dist/lib/bootstrap-kubernetes.d.ts.map +1 -1
  26. package/dist/lib/bootstrap-kubernetes.js +163 -106
  27. package/dist/lib/bootstrap-kubernetes.js.map +1 -1
  28. package/dist/lib/health-probes.d.ts +16 -0
  29. package/dist/lib/health-probes.d.ts.map +1 -1
  30. package/dist/lib/health-probes.js +49 -0
  31. package/dist/lib/health-probes.js.map +1 -1
  32. package/dist/lib/peripheral-registry.d.ts +9 -3
  33. package/dist/lib/peripheral-registry.d.ts.map +1 -1
  34. package/dist/lib/peripheral-registry.js +4 -4
  35. package/dist/lib/peripheral-registry.js.map +1 -1
  36. package/dist/lib/port-forward.js +1 -1
  37. package/dist/lib/port-forward.js.map +1 -1
  38. package/dist/lib/upgrade-kubernetes.d.ts +1 -1
  39. package/dist/lib/upgrade-kubernetes.d.ts.map +1 -1
  40. package/dist/lib/upgrade-kubernetes.js +35 -21
  41. package/dist/lib/upgrade-kubernetes.js.map +1 -1
  42. package/dist/mcp-server.js +990 -331
  43. package/hermes-bundle/version.json +1 -1
  44. package/host-cp/k8s/manifests/50-deployment.yaml +1 -1
  45. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
  46. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
  47. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
  48. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
  49. package/package.json +1 -1
@@ -1,20 +1,35 @@
1
1
  /**
2
- * olam setup — 7-phase fresh-host wizard.
2
+ * olam setup — substrate-aware fresh-host wizard.
3
3
  *
4
4
  * Phase C2 of olam-operator-onboarding-parity (plan
5
5
  * ~/.claude/plans/olam-operator-onboarding-parity.md).
6
6
  *
7
- * Orchestrates existing olam primitives (Decision 2 narrow scope; does
8
- * NOT install Docker / Node / Homebrew / Claude Code; preserves olam's
9
- * "operator owns host, olam owns substrate" posture):
7
+ * Substrate-aware orchestration. Default substrate = kubernetes (k3d on all
8
+ * platforms macOS and Linux alike). Existing installs whose ~/.olam/config.json
9
+ * carries host.substrate: 'compose' are protected — they continue on docker/compose
10
+ * and see a one-line migration hint; no auto-migration.
10
11
  *
11
- * Phase 1: System check (Docker daemon reachable + Node ≥20)
12
- * Phase 2: olam CLI sanity (--version returns)
13
- * Phase 3: Bootstrap (subprocess: olam bootstrap)
14
- * Phase 4: Shell init (idempotent append of completion eval-line)
15
- * Phase 5: Init project (offer `olam init` if .olam/config.yaml missing)
16
- * Phase 6: Auth prompt (offer interactive `olam auth login`)
17
- * Phase 7: Final verify (subprocess: olam doctor; halt on non-zero)
12
+ * Kubernetes substrate phases (default for fresh installs):
13
+ * Phase 1: System check (kubectl on PATH + docker daemon + Node ≥20)
14
+ * Phase 1.5: Install k3d (brew install k3d when available; else upstream install.sh)
15
+ * Phase 2: olam CLI sanity (--version returns)
16
+ * Phase 2.5: Provision cluster (k3d cluster create olam-dev; k3d updates ~/.kube/config)
17
+ * Phase 2.6: Pin kubectl context (writes host.kubectl_context_pinned = k3d-olam-dev)
18
+ * Phase 3: Bootstrap (subprocess: olam bootstrap with kubernetes substrate)
19
+ * … same as docker thereafter
20
+ *
21
+ * Docker substrate phases (existing compose installs or --substrate=docker):
22
+ * Phase 1: System check (Docker daemon reachable + Node ≥20)
23
+ * Phase 1.5: (no-op for docker)
24
+ * Phase 2: olam CLI sanity (--version returns)
25
+ * Phase 2.5: (no-op for docker)
26
+ * Phase 3: Bootstrap (subprocess: olam bootstrap)
27
+ * Phase 4: Shell init (idempotent append of completion eval-line)
28
+ * Phase 5: Init project (offer `olam init` if .olam/config.yaml missing)
29
+ * Phase 5a: Skill source picker
30
+ * Phase 5b: Project sweep
31
+ * Phase 6: Auth prompt (offer interactive `olam auth login`)
32
+ * Phase 7: Final verify (subprocess: olam doctor; halt on non-zero)
18
33
  *
19
34
  * End-state prints "next steps" pointing at the 3-contract docs per
20
35
  * CLAUDE.md's "Reading order for new orgs."
@@ -23,30 +38,40 @@
23
38
  * a named remedy. All phases are idempotent so re-running is safe.
24
39
  *
25
40
  * Flags:
26
- * --skip-shell-init skip Phase 4 (operator manages shell rc manually)
27
- * --skip-auth skip Phase 6 (operator will run `olam auth login` later)
28
- * --yes / -y auto-affirm every prompt (non-interactive)
41
+ * --substrate=<docker|kubernetes> substrate to target (default: kubernetes; alias k3s→kubernetes)
42
+ * --skip-shell-init skip Phase 4 (operator manages shell rc manually)
43
+ * --skip-auth skip Phase 6 (operator will run `olam auth login` later)
44
+ * --yes / -y auto-affirm every prompt (non-interactive)
29
45
  *
30
46
  * Reversibility: clean-revert; each phase delegates to a separately-
31
47
  * tested primitive. Phase 4 keeps a `<rc>.olam-bak.<ts>` backup.
32
48
  */
33
- import { spawn } from 'node:child_process';
34
- import { existsSync } from 'node:fs';
49
+ import { spawn, spawnSync } from 'node:child_process';
50
+ import { existsSync, readFileSync } from 'node:fs';
35
51
  import { homedir } from 'node:os';
36
52
  import path from 'node:path';
37
53
  import { createInterface } from 'node:readline';
38
54
  import { readCliVersion } from '../cli-version.js';
39
- import { probeDockerDaemon } from '../lib/health-probes.js';
55
+ import { probeDockerDaemon, probeComposePlugin, probeKubectl, probeK3d, } from '../lib/health-probes.js';
40
56
  import { appendIdempotent, resolveShellRc } from '../lib/shell-rc.js';
41
- import { findProjectRoot } from './init.js';
57
+ import { applyKubectlContextPin, findProjectRoot } from './init.js';
42
58
  import { printError, printHeader, printInfo, printSuccess, printWarning } from '../output.js';
43
59
  import { pickSkillSourcePhase, } from './setup-phase-5a-skill-source.js';
44
60
  import { runProjectSweepPhase } from './setup-phase-5b-project-sweep.js';
61
+ import { OLAM_CONFIG_PATH, writeConfig } from '../lib/config.js';
45
62
  const REQUIRED_NODE_MAJOR = 20;
46
- const NEXT_STEPS_DOCS = [
47
- 'docs/architecture/devbox-contract.md — image contract',
48
- 'docs/architecture/manifest-spec.md — per-repo .adb.yaml schema',
49
- 'docs/architecture/config-spec.md workspace .olam/config.yaml schema',
63
+ /** k3d cluster name provisioned by olam setup --substrate=kubernetes. */
64
+ export const SETUP_K3D_CLUSTER_NAME = 'olam-dev';
65
+ const NEXT_STEPS_DOCS_DOCKER = [
66
+ 'https://github.com/pleri/olam/blob/main/docs/architecture/devbox-contract.md image contract',
67
+ 'https://github.com/pleri/olam/blob/main/docs/architecture/manifest-spec.md — per-repo .adb.yaml schema',
68
+ 'https://github.com/pleri/olam/blob/main/docs/architecture/config-spec.md — workspace .olam/config.yaml schema',
69
+ ];
70
+ const NEXT_STEPS_DOCS_KUBERNETES = [
71
+ 'https://github.com/pleri/olam/blob/main/docs/architecture/devbox-contract.md — image contract',
72
+ 'https://github.com/pleri/olam/blob/main/docs/architecture/manifest-spec.md — per-repo .adb.yaml schema',
73
+ 'https://github.com/pleri/olam/blob/main/docs/architecture/config-spec.md — workspace .olam/config.yaml schema',
74
+ 'https://github.com/pleri/olam/blob/main/docs/k8s/SETUP.md — k3d operator guide',
50
75
  ];
51
76
  // ── Default deps ───────────────────────────────────────────────────────
52
77
  const defaultSpawn = (cmd, args) => new Promise((resolve) => {
@@ -83,15 +108,90 @@ const defaultPrompt = (question, defaultYes) => {
83
108
  rl.on('close', () => resolve(defaultYes));
84
109
  });
85
110
  };
111
+ // ── Substrate resolution ───────────────────────────────────────────────────
112
+ /** Migration hint printed once when an existing docker/compose install is detected. */
113
+ export const DOCKER_MIGRATION_HINT = 'olam: detected existing docker stack — continuing on docker. '
114
+ + 'To migrate to k3d, run: olam upgrade --substrate=kubernetes (available in a future release).';
115
+ /**
116
+ * Resolve the effective substrate: explicit opt has highest priority, then
117
+ * auto-detect from ~/.olam/config.json (or override path), then default
118
+ * 'kubernetes' for fresh installs.
119
+ *
120
+ * The --substrate=k3s alias normalises to 'kubernetes'.
121
+ *
122
+ * Existing-install guard: when the config has host.substrate='compose' (the
123
+ * old docker default) and no explicit flag is provided, the wizard continues
124
+ * on 'docker' and prints a one-line migration hint. No auto-migration.
125
+ */
126
+ function resolveSubstrate(opts, deps) {
127
+ if (opts.substrate === 'kubernetes')
128
+ return 'kubernetes';
129
+ if (opts.substrate === 'docker')
130
+ return 'docker';
131
+ // Auto-detect from config file
132
+ const configPath = deps.configPath ?? OLAM_CONFIG_PATH;
133
+ if (existsSync(configPath)) {
134
+ try {
135
+ const raw = readFileSync(configPath, 'utf8');
136
+ const parsed = JSON.parse(raw);
137
+ const host = parsed.host;
138
+ if (host?.substrate === 'kubernetes')
139
+ return 'kubernetes';
140
+ if (host?.substrate === 'compose') {
141
+ // Existing docker/compose install — protect it from the default flip.
142
+ process.stderr.write(DOCKER_MIGRATION_HINT + '\n');
143
+ return 'docker';
144
+ }
145
+ }
146
+ catch {
147
+ // malformed config — fall through to new default
148
+ }
149
+ }
150
+ // Fresh install (no config file, or unrecognised substrate) → new default
151
+ return 'kubernetes';
152
+ }
86
153
  // ── Phases ─────────────────────────────────────────────────────────────
87
- async function phase1SystemCheck(deps) {
154
+ async function phase1SystemCheck(substrate, deps) {
155
+ const nodeVersion = deps.nodeVersion ?? process.version;
156
+ const nodeMajor = parseNodeMajor(nodeVersion);
157
+ const nodeOk = nodeMajor !== null && nodeMajor >= REQUIRED_NODE_MAJOR;
158
+ if (substrate === 'kubernetes') {
159
+ // kubectl is required on all platforms.
160
+ const kubectlProbe = await probeKubectl(deps.dockerExec);
161
+ if (!kubectlProbe.ok) {
162
+ return phaseFromProbe(kubectlProbe);
163
+ }
164
+ // k3d runs inside Docker on all platforms (macOS and Linux alike).
165
+ const dockerProbe = await probeDockerDaemon(deps.dockerExec);
166
+ if (!dockerProbe.ok) {
167
+ return {
168
+ ok: false,
169
+ message: 'docker daemon required for k3d: ' + dockerProbe.message,
170
+ remedy: dockerProbe.remedy,
171
+ };
172
+ }
173
+ if (!nodeOk) {
174
+ return {
175
+ ok: false,
176
+ message: `Node.js ${nodeVersion} is too old (need ≥${REQUIRED_NODE_MAJOR})`,
177
+ remedy: `Install Node.js ${REQUIRED_NODE_MAJOR}+ LTS via nvm/fnm/asdf and re-run \`olam setup\`.`,
178
+ };
179
+ }
180
+ return { ok: true, message: `kubectl on PATH; docker ready; node ${nodeVersion}` };
181
+ }
182
+ // Docker substrate (default)
88
183
  const dockerProbe = await probeDockerDaemon(deps.dockerExec);
89
184
  if (!dockerProbe.ok) {
90
185
  return phaseFromProbe(dockerProbe);
91
186
  }
92
- const nodeVersion = deps.nodeVersion ?? process.version;
93
- const nodeMajor = parseNodeMajor(nodeVersion);
94
- if (nodeMajor === null || nodeMajor < REQUIRED_NODE_MAJOR) {
187
+ // Verify docker compose v2 plugin. Linux operators who installed docker.io
188
+ // (or via `brew install docker` on macOS) without the compose plugin will
189
+ // hit cryptic "unknown command" errors later; fail early with a clear remedy.
190
+ const composeProbe = await probeComposePlugin(deps.dockerExec);
191
+ if (!composeProbe.ok) {
192
+ return phaseFromProbe(composeProbe);
193
+ }
194
+ if (!nodeOk) {
95
195
  return {
96
196
  ok: false,
97
197
  message: `Node.js ${nodeVersion} is too old (need ≥${REQUIRED_NODE_MAJOR})`,
@@ -100,9 +200,80 @@ async function phase1SystemCheck(deps) {
100
200
  }
101
201
  return {
102
202
  ok: true,
103
- message: `${dockerProbe.message}; node ${nodeVersion}`,
203
+ message: `${dockerProbe.message}; ${composeProbe.message}; node ${nodeVersion}`,
104
204
  };
105
205
  }
206
+ /**
207
+ * Phase 1.5 — Install missing substrate tools (idempotent).
208
+ *
209
+ * Docker: no-op.
210
+ * Kubernetes (all platforms): installs k3d via brew when available, else the
211
+ * upstream install script. k3d works on both macOS and Linux — no sudo needed
212
+ * (k3d only requires docker, which Phase 1 already confirmed).
213
+ */
214
+ async function phase1_5InstallSubstrate(substrate, opts, deps) {
215
+ if (substrate === 'docker') {
216
+ return { ok: true, skipped: true, message: 'no-op for docker substrate' };
217
+ }
218
+ const spawnFn = deps.spawnSubprocess ?? defaultSpawn;
219
+ const promptFn = deps.prompt ?? defaultPrompt;
220
+ // k3d works on both darwin and linux; one path for both.
221
+ // Requires docker daemon (Phase 1 already checks this).
222
+ const k3dProbe = await probeK3d(deps.dockerExec);
223
+ if (k3dProbe.ok) {
224
+ return { ok: true, message: `k3d already present: ${k3dProbe.message}` };
225
+ }
226
+ // Determine installer: brew when available (common on macOS, sometimes on Linux),
227
+ // else upstream install script (no sudo needed).
228
+ const hasBrew = spawnSync('command', ['-v', 'brew'], { shell: true, stdio: 'pipe' }).status === 0;
229
+ const useBrewMsg = hasBrew ? 'Homebrew' : 'upstream install script';
230
+ if (!opts.yes) {
231
+ const confirmed = await promptFn(`k3d is not installed. Install via ${useBrewMsg}?`, true);
232
+ if (!confirmed) {
233
+ return {
234
+ ok: false,
235
+ message: 'k3d install declined; required for kubernetes substrate',
236
+ remedy: 'Install manually: `brew install k3d` or curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash, '
237
+ + 'then re-run `olam setup --substrate=kubernetes`.',
238
+ };
239
+ }
240
+ }
241
+ if (hasBrew) {
242
+ process.stdout.write('Installing k3d via Homebrew...\n');
243
+ const r = await spawnFn('brew', ['install', 'k3d']);
244
+ if (r.status !== 0) {
245
+ return {
246
+ ok: false,
247
+ message: `brew install k3d failed (exit ${r.status ?? 'signal'})`,
248
+ remedy: 'Try manually: `brew install k3d` or curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash',
249
+ };
250
+ }
251
+ }
252
+ else {
253
+ process.stdout.write('Installing k3d via upstream install script...\n');
254
+ const r = await spawnFn('bash', [
255
+ '-c',
256
+ 'curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash',
257
+ ]);
258
+ if (r.status !== 0) {
259
+ return {
260
+ ok: false,
261
+ message: `k3d upstream install failed (exit ${r.status ?? 'signal'})`,
262
+ remedy: 'Install manually: https://k3d.io/v5.x/installation/',
263
+ };
264
+ }
265
+ }
266
+ // Verify k3d is now on PATH
267
+ const k3dCheck = await probeK3d(deps.dockerExec);
268
+ if (!k3dCheck.ok) {
269
+ return {
270
+ ok: false,
271
+ message: 'k3d still not on PATH after install — shell PATH may need updating',
272
+ remedy: 'Close and re-open your terminal, then re-run `olam setup --substrate=kubernetes`.',
273
+ };
274
+ }
275
+ return { ok: true, message: `k3d installed: ${k3dCheck.message}` };
276
+ }
106
277
  function parseNodeMajor(version) {
107
278
  const m = version.match(/^v?(\d+)\./);
108
279
  if (!m)
@@ -115,6 +286,72 @@ function phaseFromProbe(probe) {
115
286
  return { ok: true, message: probe.message };
116
287
  return { ok: false, message: probe.message, remedy: probe.remedy };
117
288
  }
289
+ /**
290
+ * Phase 2.5 — Provision k3d cluster (all platforms).
291
+ * No-op for docker substrate.
292
+ * Idempotent: if the cluster already exists, logs and skips.
293
+ * k3d updates ~/.kube/config automatically — no kubeconfig juggling needed.
294
+ */
295
+ async function phase2_5ProvisionCluster(substrate, opts, deps) {
296
+ if (substrate === 'docker') {
297
+ return { ok: true, skipped: true, message: 'no-op for docker substrate' };
298
+ }
299
+ const spawnFn = deps.spawnSubprocess ?? defaultSpawn;
300
+ // k3d cluster create olam-dev (idempotent — same on macOS and Linux)
301
+ // Check if cluster already exists
302
+ const listResult = await captureSpawn('k3d', ['cluster', 'list', '--output', 'json'], deps.dockerExec);
303
+ if (listResult.ok) {
304
+ const exists = clusterExistsInList(listResult.stdout, SETUP_K3D_CLUSTER_NAME);
305
+ if (exists) {
306
+ return {
307
+ ok: true,
308
+ message: `cluster ${SETUP_K3D_CLUSTER_NAME} already exists; skipping create`,
309
+ };
310
+ }
311
+ }
312
+ process.stdout.write(`Creating k3d cluster ${SETUP_K3D_CLUSTER_NAME}...\n`);
313
+ const ghConfigBind = `${homedir()}/.config/gh:/host/.config/gh`;
314
+ const createResult = await spawnFn('k3d', [
315
+ 'cluster', 'create', SETUP_K3D_CLUSTER_NAME,
316
+ '--volume', ghConfigBind,
317
+ '--wait', '--timeout', '90s',
318
+ ]);
319
+ if (createResult.status !== 0) {
320
+ return {
321
+ ok: false,
322
+ message: `k3d cluster create ${SETUP_K3D_CLUSTER_NAME} failed (exit ${createResult.status ?? 'signal'})`,
323
+ remedy: `Run manually: k3d cluster create ${SETUP_K3D_CLUSTER_NAME} --wait --timeout 90s`,
324
+ };
325
+ }
326
+ // Verify kubectl can reach it (k3d updates ~/.kube/config automatically)
327
+ const ctxResult = captureSpawnSync('kubectl', ['config', 'current-context']);
328
+ const ctx = ctxResult.ok ? ctxResult.stdout.trim() : '(unknown)';
329
+ return { ok: true, message: `cluster ${SETUP_K3D_CLUSTER_NAME} created; context: ${ctx}` };
330
+ }
331
+ /** Capture-only spawn via dockerExec (no subprocess) for list/query operations. */
332
+ async function captureSpawn(cmd, args, dockerExec) {
333
+ const exec = dockerExec ?? ((c, a) => {
334
+ const r = spawnSync(c, [...a], { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'pipe'] });
335
+ return { status: r.status, stdout: r.stdout ?? '', stderr: r.stderr ?? '' };
336
+ });
337
+ const r = exec(cmd, args);
338
+ return { ok: r.status === 0, stdout: r.stdout, stderr: r.stderr };
339
+ }
340
+ /** Synchronous capture spawn used for non-critical reads (cluster context). */
341
+ function captureSpawnSync(cmd, args) {
342
+ const r = spawnSync(cmd, [...args], { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'pipe'] });
343
+ return { ok: r.status === 0, stdout: r.stdout ?? '' };
344
+ }
345
+ /** Parse k3d cluster list JSON and return true if clusterName is present. */
346
+ function clusterExistsInList(json, clusterName) {
347
+ try {
348
+ const parsed = JSON.parse(json);
349
+ return Array.isArray(parsed) && parsed.some((c) => c.name === clusterName);
350
+ }
351
+ catch {
352
+ return false;
353
+ }
354
+ }
118
355
  async function phase2CliSanity(deps) {
119
356
  // CRITICAL fix (Phase C CP3): readCliVersion() is the canonical
120
357
  // source (same helper `index.ts:55` uses for `--version`). The
@@ -140,16 +377,70 @@ function safeReadCliVersion() {
140
377
  return null;
141
378
  }
142
379
  }
143
- async function phase3Bootstrap(deps) {
380
+ /**
381
+ * Phase 2.6 — Pin kubectl context after k3d cluster creation.
382
+ * No-op for docker substrate.
383
+ *
384
+ * `olam upgrade` (called by bootstrap step 6/6) requires
385
+ * host.kubectl_context_pinned in ~/.olam/config.json. On the kubernetes
386
+ * substrate, Phase 2.5 creates the cluster (context = k3d-<cluster>),
387
+ * but the standard `olam init` that writes this field runs in Phase 5
388
+ * (AFTER bootstrap). This phase bridges the gap: it pins the context
389
+ * immediately after cluster creation so bootstrap/upgrade can proceed.
390
+ *
391
+ * Idempotent: applyKubectlContextPin skips when the field is already set.
392
+ */
393
+ async function phase2_6PinKubectlContext(substrate, deps) {
394
+ if (substrate !== 'kubernetes') {
395
+ return { ok: true, skipped: true, message: 'no-op for docker substrate' };
396
+ }
397
+ // k3d names the context `k3d-<cluster-name>`.
398
+ const expectedContext = `k3d-${SETUP_K3D_CLUSTER_NAME}`;
399
+ // Ensure ~/.olam/config.json exists with a valid schema before patching
400
+ // kubectl_context_pinned. applyKubectlContextPin preserves existing keys but
401
+ // starts from `{}` when the file is absent — that produces an invalid schema
402
+ // (`readConfig` warns and falls back to defaults, losing kubectl_context_pinned).
403
+ // writeConfig reads current config (or creates a valid default) and writes a
404
+ // schema-conformant file. The subsequent applyKubectlContextPin will then
405
+ // patch kubectl_context_pinned on top of that valid foundation.
406
+ writeConfig({ host: { substrate: 'kubernetes' } }, { configPath: deps.configPath });
407
+ const result = applyKubectlContextPin([expectedContext], {
408
+ configPath: deps.configPath,
409
+ });
410
+ if ('pinned' in result) {
411
+ return { ok: true, message: `kubectl context pinned: ${result.pinned}` };
412
+ }
413
+ if ('skipped' in result) {
414
+ return { ok: true, message: `kubectl context already pinned (${result.skipped})` };
415
+ }
416
+ // 'refused' — multiple contexts (should not happen since we pass exactly one)
417
+ return {
418
+ ok: false,
419
+ message: `kubectl context pin refused: ${result.refused}`,
420
+ remedy: `Set host.kubectl_context_pinned = ${expectedContext} in ~/.olam/config.json and re-run.`,
421
+ };
422
+ }
423
+ async function phase3Bootstrap(substrate, deps) {
144
424
  // HIGH fix (Phase C CP3): pass --skip-auth-login. `olam bootstrap`
145
425
  // step 6 (bootstrap.ts:499-520) runs PKCE interactively by default.
146
426
  // Phase 6 owns the operator-facing auth UX (with non-fatal recovery);
147
427
  // letting bootstrap run auth too means double-prompt + collapses
148
428
  // Phase 6's recovery affordance when auth fails during bootstrap.
429
+ //
430
+ // Substrate-aware: the bootstrap command reads ~/.olam/config.json for
431
+ // substrate dispatch. For kubernetes substrate we additionally pass
432
+ // --skip-cluster-create (Phase 2.5 already created it) and
433
+ // --skip-observability is NOT passed — bootstrap still installs observability.
149
434
  const spawnFn = deps.spawnSubprocess ?? defaultSpawn;
150
- const r = await spawnFn('olam', ['bootstrap', '--skip-auth-login']);
435
+ const bootstrapArgs = ['bootstrap', '--skip-auth-login'];
436
+ if (substrate === 'kubernetes') {
437
+ // Cluster was already created by Phase 2.5; bootstrap's preflight
438
+ // and cluster-create steps should skip.
439
+ bootstrapArgs.push('--skip-cluster-create');
440
+ }
441
+ const r = await spawnFn('olam', bootstrapArgs);
151
442
  if (r.status === 0) {
152
- return { ok: true, message: 'olam bootstrap succeeded' };
443
+ return { ok: true, message: `olam bootstrap succeeded (substrate: ${substrate})` };
153
444
  }
154
445
  return {
155
446
  ok: false,
@@ -271,7 +562,10 @@ async function phase6Auth(opts, deps) {
271
562
  message: `olam auth login exited ${r.status}; re-run \`olam auth login\` after resolving`,
272
563
  };
273
564
  }
274
- async function phase7Verify(deps) {
565
+ async function phase7Verify(opts, deps) {
566
+ if (opts.skipDoctor) {
567
+ return { ok: true, skipped: true, message: 'skipped via --skip-doctor' };
568
+ }
275
569
  const spawnFn = deps.spawnSubprocess ?? defaultSpawn;
276
570
  const r = await spawnFn('olam', ['doctor']);
277
571
  if (r.status === 0) {
@@ -284,9 +578,12 @@ async function phase7Verify(deps) {
284
578
  };
285
579
  }
286
580
  // ── Orchestrator ──────────────────────────────────────────────────────
287
- const PHASE_TITLES = [
581
+ const PHASE_TITLES_DOCKER = [
288
582
  'Phase 1: System check',
583
+ 'Phase 1.5: Substrate tools install',
289
584
  'Phase 2: olam CLI sanity',
585
+ 'Phase 2.5: Cluster provision',
586
+ 'Phase 2.6: Pin kubectl context',
290
587
  'Phase 3: Bootstrap',
291
588
  'Phase 4: Shell init',
292
589
  'Phase 5: Init project',
@@ -295,23 +592,33 @@ const PHASE_TITLES = [
295
592
  'Phase 6: Auth prompt',
296
593
  'Phase 7: Final verification',
297
594
  ];
595
+ // For backward compatibility the phases array has the same indices
596
+ // as before when substrate=docker (1.5 and 2.5 are no-ops/skipped).
597
+ // The phase count is 11 not 9 but existing tests that assert on
598
+ // phase indices are updated to use the new positions.
298
599
  export async function runSetup(opts, deps = {}) {
299
- printHeader('olam setup');
600
+ const substrate = resolveSubstrate(opts, deps);
601
+ const bannerSubstrate = substrate === 'kubernetes' ? 'Kubernetes (k3d)' : 'Docker Compose';
602
+ printHeader(`olam setup — Olam local stack on ${bannerSubstrate}`);
603
+ process.stdout.write(`substrate: ${substrate}\n`);
300
604
  const phaseFns = [
301
- () => phase1SystemCheck(deps),
605
+ () => phase1SystemCheck(substrate, deps),
606
+ () => phase1_5InstallSubstrate(substrate, opts, deps),
302
607
  () => phase2CliSanity(deps),
303
- () => phase3Bootstrap(deps),
608
+ () => phase2_5ProvisionCluster(substrate, opts, deps),
609
+ () => phase2_6PinKubectlContext(substrate, deps),
610
+ () => phase3Bootstrap(substrate, deps),
304
611
  () => phase4ShellInit(opts, deps),
305
612
  () => phase5InitProject(opts, deps),
306
613
  () => phase5aSkillSource(opts, deps),
307
614
  () => phase5bProjectSweep(opts, deps),
308
615
  () => phase6Auth(opts, deps),
309
- () => phase7Verify(deps),
616
+ () => phase7Verify(opts, deps),
310
617
  ];
311
618
  const results = [];
312
619
  let failureAt = null;
313
620
  for (let i = 0; i < phaseFns.length; i += 1) {
314
- const name = PHASE_TITLES[i];
621
+ const name = PHASE_TITLES_DOCKER[i];
315
622
  process.stdout.write(`\n${name}\n`);
316
623
  const result = await phaseFns[i]();
317
624
  results.push({ name, result });
@@ -336,7 +643,8 @@ export async function runSetup(opts, deps = {}) {
336
643
  }
337
644
  printSuccess('Setup complete.');
338
645
  process.stdout.write('\nNext steps — read these in order for the 3-contract pattern:\n');
339
- for (const line of NEXT_STEPS_DOCS) {
646
+ const nextStepsDocs = substrate === 'kubernetes' ? NEXT_STEPS_DOCS_KUBERNETES : NEXT_STEPS_DOCS_DOCKER;
647
+ for (const line of nextStepsDocs) {
340
648
  printInfo('docs', line);
341
649
  }
342
650
  process.stdout.write('\n');
@@ -345,8 +653,13 @@ export async function runSetup(opts, deps = {}) {
345
653
  export function registerSetup(program) {
346
654
  program
347
655
  .command('setup')
348
- .description('Fresh-host onboarding wizard. Runs 7 phases (system check bootstrap → shell init → '
349
- + 'init project auth prompt doctor verification). Idempotent; safe to re-run.')
656
+ .description('Fresh-host onboarding wizard. Default substrate=kubernetes (k3d on all platforms): '
657
+ + 'installs k3d (no sudo needed only requires docker), provisions the olam-dev cluster, '
658
+ + 'then runs bootstrap end-to-end. '
659
+ + 'Existing docker/compose installs are protected — they continue on docker with a migration hint. '
660
+ + 'Idempotent; safe to re-run.')
661
+ .option('--substrate <substrate>', 'Target substrate: kubernetes (default, alias: k3s) or docker. '
662
+ + 'Auto-detected from ~/.olam/config.json when not specified.')
350
663
  .option('--skip-shell-init', 'Skip Phase 4 (do not append to ~/.zshrc / ~/.bashrc)')
351
664
  .option('--skip-auth', 'Skip Phase 6 (do not prompt for `olam auth login`)')
352
665
  .option('--skip-skill-source', 'Skip Phase 5a (do not pick a skill source; run `olam skills source add` later)')
@@ -356,9 +669,27 @@ export function registerSetup(program) {
356
669
  .option('--dry-run', 'Phase 5b: print matches without registering or building (no side effects)')
357
670
  .option('--exclude <glob...>', 'Phase 5b: additional skip patterns for project sweep')
358
671
  .option('--skip-kg', 'Phase 5b: skip KG eager-build sub-step (sources still registered)')
672
+ .option('--skip-doctor', 'Skip Phase 7 final `olam doctor` verification (for CI or minimal setups)')
359
673
  .option('-y, --yes', 'Auto-affirm every prompt (non-interactive)')
360
- .action(async (opts) => {
361
- const report = await runSetup(opts);
674
+ .action(async (rawOpts) => {
675
+ // Normalise the --substrate flag: 'k3s' is an alias for 'kubernetes'.
676
+ let substrate;
677
+ const rawSubstrate = rawOpts.substrate;
678
+ if (rawSubstrate === 'k3s' || rawSubstrate === 'kubernetes') {
679
+ substrate = 'kubernetes';
680
+ }
681
+ else if (rawSubstrate === 'docker') {
682
+ substrate = 'docker';
683
+ }
684
+ else if (rawSubstrate !== undefined) {
685
+ process.stderr.write(`[olam setup] Unknown --substrate value '${rawSubstrate}'. `
686
+ + `Valid values: docker, kubernetes (alias: k3s).\n`);
687
+ process.exitCode = 1;
688
+ return;
689
+ }
690
+ const { substrate: _drop, ...restOpts } = rawOpts;
691
+ void _drop;
692
+ const report = await runSetup({ ...restOpts, substrate });
362
693
  if (report.exitCode !== 0)
363
694
  process.exitCode = report.exitCode;
364
695
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAGH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,QAAQ,GAGT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EACL,oBAAoB,GAOrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AAEjD,MAAM,sBAAsB,GAAG;IAC7B,gGAAgG;IAChG,2GAA2G;IAC3G,oHAAoH;CACrH,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC,gGAAgG;IAChG,2GAA2G;IAC3G,oHAAoH;IACpH,oGAAoG;CACrG,CAAC;AAiGF,0EAA0E;AAE1E,MAAM,YAAY,GAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAClD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEL,MAAM,aAAa,GAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;IAC1D,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8DAA8D,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK;cACxF,4DAA4D,CACjE,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACpD,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE;gBAAE,OAAO,CAAC,UAAU,CAAC,CAAC;iBAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;;gBAC5C,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,2EAA2E;QAC3E,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,8EAA8E;AAE9E,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAChC,+DAA+D;MAC7D,8FAA8F,CAAC;AAEnG;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CAAC,IAAqB,EAAE,IAAkB;IACjE,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IACzD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACjD,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC;IACvD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAA2C,CAAC;YAChE,IAAI,IAAI,EAAE,SAAS,KAAK,YAAY;gBAAE,OAAO,YAAY,CAAC;YAC1D,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,sEAAsE;gBACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;gBACnD,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,0EAA0E;AAE1E,KAAK,UAAU,iBAAiB,CAAC,SAAyB,EAAE,IAAkB;IAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IACxD,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,mBAAmB,CAAC;IAEtE,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,wCAAwC;QACxC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QACD,mEAAmE;QACnE,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAAC,OAAO;gBACjE,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,WAAW,WAAW,sBAAsB,mBAAmB,GAAG;gBAC3E,MAAM,EAAE,mBAAmB,mBAAmB,mDAAmD;aAClG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,uCAAuC,WAAW,EAAE,EAAE,CAAC;IACrF,CAAC;IAED,6BAA6B;IAC7B,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,8EAA8E;IAC9E,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,WAAW,WAAW,sBAAsB,mBAAmB,GAAG;YAC3E,MAAM,EAAE,mBAAmB,mBAAmB,mDAAmD;SAClG,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO,UAAU,WAAW,EAAE;KAChF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,wBAAwB,CACrC,SAAyB,EACzB,IAAqB,EACrB,IAAkB;IAElB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAE9C,yDAAyD;IACzD,wDAAwD;IACxD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;IAC3E,CAAC;IAED,kFAAkF;IAClF,iDAAiD;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAClG,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC;IACpE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,MAAM,QAAQ,CAC9B,qCAAqC,UAAU,GAAG,EAClD,IAAI,CACL,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,yDAAyD;gBAClE,MAAM,EACJ,uHAAuH;sBACnH,kDAAkD;aACzD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,iCAAiC,CAAC,CAAC,MAAM,IAAI,QAAQ,GAAG;gBACjE,MAAM,EACJ,iHAAiH;aACpH,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE;YAC9B,IAAI;YACJ,6EAA6E;SAC9E,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,qCAAqC,CAAC,CAAC,MAAM,IAAI,QAAQ,GAAG;gBACrE,MAAM,EAAE,qDAAqD;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oEAAoE;YAC7E,MAAM,EAAE,mFAAmF;SAC5F,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB;IACxC,IAAI,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CACrC,SAAyB,EACzB,IAAqB,EACrB,IAAkB;IAElB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;IAErD,qEAAqE;IACrE,kCAAkC;IAClC,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACvG,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAC9E,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,WAAW,sBAAsB,kCAAkC;aAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,sBAAsB,OAAO,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,GAAG,OAAO,EAAE,8BAA8B,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;QACxC,SAAS,EAAE,QAAQ,EAAE,sBAAsB;QAC3C,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,WAAW,EAAE,KAAK;KAC7B,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,sBAAsB,sBAAsB,iBAAiB,YAAY,CAAC,MAAM,IAAI,QAAQ,GAAG;YACxG,MAAM,EAAE,oCAAoC,sBAAsB,uBAAuB;SAC1F,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACjE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,sBAAsB,sBAAsB,GAAG,EAAE,EAAE,CAAC;AAC7F,CAAC;AAED,mFAAmF;AACnF,KAAK,UAAU,YAAY,CACzB,GAAW,EACX,IAAuB,EACvB,UAAuB;IAEvB,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,CAAC,CAAS,EAAE,CAAoB,EAAE,EAAE;QAC9D,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACpE,CAAC;AAED,+EAA+E;AAC/E,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAuB;IAC5D,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9F,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAG,CAAC,CAAC,MAAiB,IAAI,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,6EAA6E;AAC7E,SAAS,mBAAmB,CAAC,IAAY,EAAE,WAAmB;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmC,CAAC;QAClE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAkB;IAC/C,gEAAgE;IAChE,+DAA+D;IAC/D,+DAA+D;IAC/D,gEAAgE;IAChE,iEAAiE;IACjE,qBAAqB;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,kBAAkB,EAAE,CAAC;IAC5D,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,iCAAiC;YAC1C,MAAM,EAAE,2EAA2E;SACpF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,OAAO,EAAE,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CACtC,SAAyB,EACzB,IAAkB;IAElB,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IAC5E,CAAC;IAED,8CAA8C;IAC9C,MAAM,eAAe,GAAG,OAAO,sBAAsB,EAAE,CAAC;IAExD,wEAAwE;IACxE,6EAA6E;IAC7E,6EAA6E;IAC7E,kFAAkF;IAClF,6EAA6E;IAC7E,0EAA0E;IAC1E,gEAAgE;IAChE,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,eAAe,CAAC,EAAE;QACvD,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IACrF,CAAC;IACD,8EAA8E;IAC9E,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,gCAAgC,MAAM,CAAC,OAAO,EAAE;QACzD,MAAM,EAAE,qCAAqC,eAAe,qCAAqC;KAClG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAyB,EAAE,IAAkB;IAC1E,mEAAmE;IACnE,oEAAoE;IACpE,sEAAsE;IACtE,iEAAiE;IACjE,kEAAkE;IAClE,EAAE;IACF,uEAAuE;IACvE,oEAAoE;IACpE,2DAA2D;IAC3D,+EAA+E;IAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;IACrD,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IACzD,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,kEAAkE;QAClE,wCAAwC;QACxC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,wCAAwC,SAAS,GAAG,EAAE,CAAC;IACrF,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,yBAAyB,CAAC,CAAC,MAAM,EAAE;QAC5C,MAAM,EAAE,2FAA2F;KACpG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,IAAqB,EACrB,IAAkB;IAElB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IAC/E,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACpD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,uBAAuB,QAAQ,IAAI,OAAO,wEAAwE;SAC5H,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,2BAA2B,aAAa,IAAI,CAAC;IAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC;QAC9B,MAAM;QACN,MAAM,EAAE,iBAAiB;QACzB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,GAAG,MAAM,gCAAgC,QAAQ,+BAA+B;SAC1F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,kCAAkC,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,GAAG,MAAM,uBAAuB,MAAM,CAAC,UAAU,GAAG;KAC9D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAqB,EACrB,IAAkB;IAElB,yEAAyE;IACzE,qEAAqE;IACrE,0DAA0D;IAC1D,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,sDAAsD;IACtD,kDAAkD;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,sBAAsB,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG;QACzB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,QAAQ,CAAC,2BAA2B,GAAG,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACtF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,4CAA4C;SACtD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACtD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,oBAAoB,CAAC,CAAC,MAAM,EAAE;QACvC,MAAM,EAAE,uDAAuD;KAChE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,IAAqB,EACrB,IAAkB;IAElB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACjF,CAAC;IACD,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAqB,EACrB,IAAkB;IAElB,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,IAAqB,EACrB,IAAkB;IAElB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,uDAAuD;SACjE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG;QAC3B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,QAAQ,CACZ,kFAAkF,EAClF,KAAK,CACN,CAAC;IACN,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,kDAAkD;SAC5D,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAC5D,CAAC;IACD,4EAA4E;IAC5E,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,0BAA0B,CAAC,CAAC,MAAM,8CAA8C;KAC1F,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAqB,EACrB,IAAkB;IAElB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IAChE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,sBAAsB,CAAC,CAAC,MAAM,EAAE;QACzC,MAAM,EAAE,2EAA2E;KACpF,CAAC;AACJ,CAAC;AAED,yEAAyE;AAEzE,MAAM,mBAAmB,GAAG;IAC1B,uBAAuB;IACvB,oCAAoC;IACpC,0BAA0B;IAC1B,8BAA8B;IAC9B,gCAAgC;IAChC,oBAAoB;IACpB,qBAAqB;IACrB,uBAAuB;IACvB,+BAA+B;IAC/B,yBAAyB;IACzB,sBAAsB;IACtB,6BAA6B;CACrB,CAAC;AAEX,mEAAmE;AACnE,oEAAoE;AACpE,gEAAgE;AAChE,sDAAsD;AAEtD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAqB,EACrB,OAAqB,EAAE;IAEvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/C,MAAM,eAAe,GACnB,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACrE,WAAW,CAAC,oCAAoC,eAAe,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,IAAI,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAsC;QAClD,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;QACxC,GAAG,EAAE,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QACrD,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAC3B,GAAG,EAAE,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QACrD,GAAG,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC;QAChD,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC;QACtC,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;QACjC,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC;QACnC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;QACpC,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;QACrC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;QAC5B,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;KAC/B,CAAC;IAEF,MAAM,OAAO,GAAiD,EAAE,CAAC;IACjE,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAE/B,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,MAAM;gBAAE,YAAY,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,UAAU,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACzF,MAAM,aAAa,GACjB,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACnF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,qFAAqF;UACjF,yFAAyF;UACzF,kCAAkC;UAClC,kGAAkG;UAClG,6BAA6B,CAClC;SACA,MAAM,CACL,yBAAyB,EACzB,gEAAgE;UAC5D,4DAA4D,CACjE;SACA,MAAM,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;SACnF,MAAM,CAAC,aAAa,EAAE,oDAAoD,CAAC;SAC3E,MAAM,CAAC,qBAAqB,EAAE,gFAAgF,CAAC;SAC/G,MAAM,CAAC,4BAA4B,EAAE,wEAAwE,CAAC;SAC9G,MAAM,CAAC,sBAAsB,EAAE,mEAAmE,CAAC;SACnG,MAAM,CAAC,mBAAmB,EAAE,2DAA2D,CAAC;SACxF,MAAM,CAAC,WAAW,EAAE,2EAA2E,CAAC;SAChG,MAAM,CAAC,qBAAqB,EAAE,sDAAsD,CAAC;SACrF,MAAM,CAAC,WAAW,EAAE,mEAAmE,CAAC;SACxF,MAAM,CACL,eAAe,EACf,0EAA0E,CAC3E;SACA,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,OAAoE,EAAE,EAAE;QACrF,sEAAsE;QACtE,IAAI,SAAqC,CAAC;QAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;QACvC,IAAI,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YAC5D,SAAS,GAAG,YAAY,CAAC;QAC3B,CAAC;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS,GAAG,QAAQ,CAAC;QACvB,CAAC;aAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2CAA2C,YAAY,KAAK;kBACxD,kDAAkD,CACvD,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAmD,CAAC;QAC9F,KAAK,KAAK,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills-source.d.ts","sourceRoot":"","sources":["../../src/commands/skills-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiFzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAyB1F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAic3D"}
1
+ {"version":3,"file":"skills-source.d.ts","sourceRoot":"","sources":["../../src/commands/skills-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiFzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAwC1F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0hB3D"}