@pleri/olam-cli 0.1.169 → 0.1.173
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.
- package/README.md +38 -0
- package/dist/agent-stream/driver-runner.js +13 -0
- package/dist/commands/auth-status.d.ts +1 -0
- package/dist/commands/auth-status.d.ts.map +1 -1
- package/dist/commands/auth-status.js +45 -4
- package/dist/commands/auth-status.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +26 -0
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/enter.d.ts.map +1 -1
- package/dist/commands/enter.js +5 -0
- package/dist/commands/enter.js.map +1 -1
- package/dist/commands/resume.d.ts +63 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +174 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/commands/setup.d.ts +19 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +157 -19
- package/dist/commands/setup.js.map +1 -1
- package/dist/image-digests.json +8 -8
- package/dist/index.js +1025 -577
- package/dist/index.js.map +1 -1
- package/dist/lib/health-probes.d.ts +28 -0
- package/dist/lib/health-probes.d.ts.map +1 -1
- package/dist/lib/health-probes.js +75 -0
- package/dist/lib/health-probes.js.map +1 -1
- package/dist/lib/k8s-context-discovery.d.ts +80 -0
- package/dist/lib/k8s-context-discovery.d.ts.map +1 -0
- package/dist/lib/k8s-context-discovery.js +102 -0
- package/dist/lib/k8s-context-discovery.js.map +1 -0
- package/dist/mcp-server.js +2417 -1060
- package/dist/spawn/home-override.d.ts +82 -0
- package/dist/spawn/home-override.d.ts.map +1 -0
- package/dist/spawn/home-override.js +107 -0
- package/dist/spawn/home-override.js.map +1 -0
- package/hermes-bundle/version.json +1 -1
- package/host-cp/k8s/manifests/30-configmap.yaml +5 -0
- package/host-cp/k8s/manifests/50-deployment.yaml +9 -2
- package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
- package/host-cp/lifecycle/classify.mjs +110 -0
- package/host-cp/lifecycle/emit.mjs +119 -0
- package/host-cp/lifecycle/evidence.mjs +45 -0
- package/host-cp/lifecycle/failure-kinds.mjs +56 -0
- package/host-cp/lifecycle/index.mjs +22 -0
- package/host-cp/lifecycle/phases.mjs +52 -0
- package/host-cp/observability/grafana-port-forward.sh +1 -1
- package/host-cp/observability/kyverno-cardinality-mutate.sh +2 -2
- package/host-cp/observability/loki-ingest.sh +1 -1
- package/host-cp/observability/ndjson-span-sink.mjs +183 -0
- package/host-cp/observability/prom-no-double-grafana.sh +4 -4
- package/host-cp/observability/redactor.mjs +72 -0
- package/host-cp/recovery/engine.mjs +148 -0
- package/host-cp/recovery/index.mjs +16 -0
- package/host-cp/recovery/ledger.mjs +105 -0
- package/host-cp/recovery/recipes.mjs +46 -0
- package/host-cp/recovery/scenarios.mjs +124 -0
- package/host-cp/recovery/step-runners.mjs +263 -0
- package/host-cp/src/docker-events.mjs +30 -6
- package/host-cp/src/linear-sync.mjs +43 -0
- package/host-cp/src/plan-chat-service.mjs +129 -1
- package/host-cp/src/pr-nanny.mjs +55 -3
- package/host-cp/src/server.mjs +261 -0
- package/package.json +1 -1
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* olam resume <pr> — Find and enter the world that opened a PR.
|
|
3
|
+
*
|
|
4
|
+
* Accepts a PR number (e.g. `876`), a PR URL (e.g.
|
|
5
|
+
* `https://github.com/pleri/olam/pull/876`), or a branch name
|
|
6
|
+
* (`night/cycle-04-goal-dispatch`). PR number / URL inputs are
|
|
7
|
+
* normalised via `gh pr view <input> --json number,headRefName`;
|
|
8
|
+
* branch-name inputs skip the `gh` round-trip.
|
|
9
|
+
*
|
|
10
|
+
* After resolving the branch, walks the world registry via
|
|
11
|
+
* `WorldManager.listWorlds()` and matches against `WorldMetadata.branch`.
|
|
12
|
+
* On a unique match, execs `olam enter <id>` so the operator drops into
|
|
13
|
+
* the world's terminal. On zero or multiple matches, prints a clear
|
|
14
|
+
* error and exits 1.
|
|
15
|
+
*
|
|
16
|
+
* Language-aligned with Claude Code 2.1.122's `/resume <pr-url>`.
|
|
17
|
+
*/
|
|
18
|
+
import { execFileSync } from 'node:child_process';
|
|
19
|
+
import { loadContext } from '../context.js';
|
|
20
|
+
import { printError } from '../output.js';
|
|
21
|
+
/** Detect whether the input looks like a PR identifier (number or GitHub URL). */
|
|
22
|
+
export function looksLikePrIdentifier(input) {
|
|
23
|
+
if (/^\d+$/.test(input.trim()))
|
|
24
|
+
return true;
|
|
25
|
+
if (/^https?:\/\/[^\s]*\/pull\/\d+(?:[/?#].*)?$/i.test(input.trim()))
|
|
26
|
+
return true;
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Run the resume command. Pure: all I/O happens through {@link ResumeDeps}.
|
|
31
|
+
*
|
|
32
|
+
* @returns Process exit code (0 success, 1 error).
|
|
33
|
+
*/
|
|
34
|
+
export async function runResume(input, deps) {
|
|
35
|
+
const trimmed = input.trim();
|
|
36
|
+
if (trimmed.length === 0) {
|
|
37
|
+
deps.stderr('resume: argument <pr> is required (PR number, URL, or branch name).');
|
|
38
|
+
return 1;
|
|
39
|
+
}
|
|
40
|
+
let resolved;
|
|
41
|
+
try {
|
|
42
|
+
resolved = await deps.resolveInput(trimmed);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
deps.stderr(`resume: could not resolve "${trimmed}" via gh pr view — ` +
|
|
46
|
+
(err instanceof Error ? err.message : String(err)));
|
|
47
|
+
return 1;
|
|
48
|
+
}
|
|
49
|
+
const { branch, prNumber } = resolved;
|
|
50
|
+
const worlds = deps.listWorlds();
|
|
51
|
+
const matches = worlds.filter((w) => w.branch === branch);
|
|
52
|
+
const prLabel = prNumber !== undefined ? `PR #${prNumber}` : `branch ${branch}`;
|
|
53
|
+
if (matches.length === 0) {
|
|
54
|
+
deps.stderr(`No active world found for ${prLabel} (branch ${branch}). ` +
|
|
55
|
+
`Worlds visible via olam list.`);
|
|
56
|
+
return 1;
|
|
57
|
+
}
|
|
58
|
+
if (matches.length > 1) {
|
|
59
|
+
deps.stderr(`Multiple worlds match ${prLabel} (branch ${branch}); operator decides:`);
|
|
60
|
+
for (const w of matches) {
|
|
61
|
+
deps.stderr(` - ${w.name} (${w.id})`);
|
|
62
|
+
}
|
|
63
|
+
return 1;
|
|
64
|
+
}
|
|
65
|
+
// matches.length is exactly 1 here (guarded by the === 0 and > 1 branches
|
|
66
|
+
// above), so matches[0] is definitely defined. TS strict-mode can't narrow
|
|
67
|
+
// array indexing from a length check, so use a non-null assertion.
|
|
68
|
+
const match = matches[0];
|
|
69
|
+
deps.stdout(`Found world ${match.name} (${match.id}) for ${prLabel}. Entering...`);
|
|
70
|
+
try {
|
|
71
|
+
deps.enterWorld(match.id);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
deps.stderr(`resume: olam enter ${match.id} failed — ` +
|
|
75
|
+
(err instanceof Error ? err.message : String(err)));
|
|
76
|
+
return 1;
|
|
77
|
+
}
|
|
78
|
+
return 0;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Production resolver: shells out to `gh pr view` for PR-shaped inputs.
|
|
82
|
+
* Branch-name inputs short-circuit (no gh round-trip).
|
|
83
|
+
*/
|
|
84
|
+
export function resolveInputViaGh(input) {
|
|
85
|
+
if (!looksLikePrIdentifier(input)) {
|
|
86
|
+
// Treat as a branch name directly. Refuse empties (defensive — runResume
|
|
87
|
+
// already trims/rejects them, but this keeps the helper standalone-safe).
|
|
88
|
+
if (input.length === 0) {
|
|
89
|
+
return Promise.reject(new Error('empty branch name'));
|
|
90
|
+
}
|
|
91
|
+
return Promise.resolve({ branch: input });
|
|
92
|
+
}
|
|
93
|
+
// Use execFileSync with argv array — input is a defensively-validated
|
|
94
|
+
// PR number or URL (regex above), but argv-array still avoids any shell
|
|
95
|
+
// interpolation hazard if validation is ever loosened.
|
|
96
|
+
let stdout;
|
|
97
|
+
try {
|
|
98
|
+
stdout = execFileSync('gh', ['pr', 'view', input, '--json', 'number,headRefName'], {
|
|
99
|
+
encoding: 'utf-8',
|
|
100
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
101
|
+
timeout: 10_000,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
// execFileSync throws on non-zero exit OR if `gh` is missing.
|
|
106
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
107
|
+
return Promise.reject(new Error(`gh pr view failed: ${msg}`));
|
|
108
|
+
}
|
|
109
|
+
let parsed;
|
|
110
|
+
try {
|
|
111
|
+
parsed = JSON.parse(stdout);
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
return Promise.reject(new Error(`gh pr view returned non-JSON output: ${err instanceof Error ? err.message : String(err)}`));
|
|
115
|
+
}
|
|
116
|
+
if (typeof parsed.headRefName !== 'string' || parsed.headRefName.length === 0) {
|
|
117
|
+
return Promise.reject(new Error('gh pr view response missing headRefName'));
|
|
118
|
+
}
|
|
119
|
+
const prNumber = typeof parsed.number === 'number' ? parsed.number : undefined;
|
|
120
|
+
return Promise.resolve({ branch: parsed.headRefName, prNumber });
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Commander wiring. Composes existing primitives:
|
|
124
|
+
* 1. `gh pr view` → branch + PR number (skipped when input is already a branch).
|
|
125
|
+
* 2. `WorldManager.listWorlds()` → match by `branch`.
|
|
126
|
+
* 3. `execFileSync('olam', ['enter', id])` → drop the operator into the world.
|
|
127
|
+
*/
|
|
128
|
+
export function registerResume(program) {
|
|
129
|
+
program
|
|
130
|
+
.command('resume')
|
|
131
|
+
.description('Resume a world by PR number, URL, or branch — finds the world that opened the PR and enters it.')
|
|
132
|
+
.argument('<pr>', 'PR number (876), PR URL, or branch name')
|
|
133
|
+
.addHelpText('after', `
|
|
134
|
+
Examples:
|
|
135
|
+
$ olam resume 876
|
|
136
|
+
$ olam resume https://github.com/pleri/olam/pull/876
|
|
137
|
+
$ olam resume night/feat/foo
|
|
138
|
+
`)
|
|
139
|
+
.action(async (pr) => {
|
|
140
|
+
const { ctx, error } = await loadContext();
|
|
141
|
+
if (!ctx) {
|
|
142
|
+
printError(error?.message ?? 'Olam is not configured. Run `olam init` first.');
|
|
143
|
+
process.exitCode = 1;
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const code = await runResume(pr, {
|
|
147
|
+
resolveInput: resolveInputViaGh,
|
|
148
|
+
listWorlds: () => ctx.worldManager.listWorlds().map((w) => ({
|
|
149
|
+
id: w.id,
|
|
150
|
+
name: w.name,
|
|
151
|
+
branch: w.branch,
|
|
152
|
+
})),
|
|
153
|
+
enterWorld: (worldId) => {
|
|
154
|
+
// Re-invoke the CLI binary. process.argv[1] is the entry script path
|
|
155
|
+
// (e.g. /usr/local/bin/olam or .../packages/cli/dist/index.js). Falling
|
|
156
|
+
// back to argv[0] ('node') is meaningless, so refuse when argv[1] is
|
|
157
|
+
// missing rather than guess.
|
|
158
|
+
const entry = process.argv[1];
|
|
159
|
+
if (!entry) {
|
|
160
|
+
throw new Error('cannot locate CLI entry script (process.argv[1] missing)');
|
|
161
|
+
}
|
|
162
|
+
execFileSync(process.execPath, [entry, 'enter', worldId, '--exec'], {
|
|
163
|
+
stdio: 'inherit',
|
|
164
|
+
});
|
|
165
|
+
},
|
|
166
|
+
stdout: (line) => console.log(line),
|
|
167
|
+
stderr: (line) => printError(line),
|
|
168
|
+
});
|
|
169
|
+
if (code !== 0) {
|
|
170
|
+
process.exitCode = code;
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
*/
|
|
51
51
|
import type { Command } from 'commander';
|
|
52
52
|
import { type DockerExec } from '../lib/health-probes.js';
|
|
53
|
+
import { type KubeContextDeps, type KubeContextProbe } from '../lib/k8s-context-discovery.js';
|
|
53
54
|
import { type AddSkillSourceFn, type CloneSkillSourceFn, type AppendTrustAuditFn, type RedactUrlFn, type SelectPromptFn, type InputPromptFn } from './setup-phase-5a-skill-source.js';
|
|
54
55
|
/** k3d cluster name provisioned by olam setup --substrate=kubernetes. */
|
|
55
56
|
export declare const SETUP_K3D_CLUSTER_NAME = "olam-dev";
|
|
@@ -96,6 +97,14 @@ export interface RunSetupOptions {
|
|
|
96
97
|
* subsequent `kubectl wait deployment --all` and `curl /health` steps.
|
|
97
98
|
*/
|
|
98
99
|
readonly skipDoctor?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Phase 0.5 (ADR 021): reuse an existing kubeconfig context instead of
|
|
102
|
+
* provisioning a new k3d cluster. When set, Phase 1.5 (k3d install) and
|
|
103
|
+
* Phase 2.5 (cluster provision) are skipped. Phase 2.6 pins to this context.
|
|
104
|
+
* Pair with --substrate=kubernetes. Operator owns lifecycle (teardown not
|
|
105
|
+
* handled by olam setup).
|
|
106
|
+
*/
|
|
107
|
+
readonly reuseCluster?: string;
|
|
99
108
|
}
|
|
100
109
|
export type SpawnSubprocess = (cmd: string, args: ReadonlyArray<string>) => Promise<{
|
|
101
110
|
readonly status: number | null;
|
|
@@ -127,6 +136,16 @@ export interface RunSetupDeps {
|
|
|
127
136
|
* Default: ~/.olam/config.json. Inject in tests to pin substrate.
|
|
128
137
|
*/
|
|
129
138
|
readonly configPath?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Injectable kubeconfig context discovery deps (Phase 0.5).
|
|
141
|
+
* Default: real kubectl-based implementations in k8s-context-discovery.ts.
|
|
142
|
+
*/
|
|
143
|
+
readonly kubeContextDeps?: KubeContextDeps;
|
|
144
|
+
/**
|
|
145
|
+
* Injectable cluster-info probe used when --reuse-cluster=<name> is passed.
|
|
146
|
+
* Default: defaultClusterInfo from k8s-context-discovery.ts.
|
|
147
|
+
*/
|
|
148
|
+
readonly kubectlClusterInfo?: (context: string) => KubeContextProbe;
|
|
130
149
|
}
|
|
131
150
|
export interface PhaseResult {
|
|
132
151
|
readonly ok: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,OAAO,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -54,7 +54,8 @@ import { homedir } from 'node:os';
|
|
|
54
54
|
import path from 'node:path';
|
|
55
55
|
import { createInterface } from 'node:readline';
|
|
56
56
|
import { readCliVersion } from '../cli-version.js';
|
|
57
|
-
import { probeDockerDaemon, probeComposePlugin, probeKubectl, probeK3d, } from '../lib/health-probes.js';
|
|
57
|
+
import { probeDockerDaemon, probeComposePlugin, probeKubectl, probeK3d, probeColimaKubernetesEnabled, } from '../lib/health-probes.js';
|
|
58
|
+
import { discoverOfferableContexts, defaultClusterInfo, defaultGetContexts, defaultIsIdle, } from '../lib/k8s-context-discovery.js';
|
|
58
59
|
import { appendIdempotent, resolveShellRc } from '../lib/shell-rc.js';
|
|
59
60
|
import { applyKubectlContextPin, findProjectRoot } from './init.js';
|
|
60
61
|
import { printError, printHeader, printInfo, printSuccess, printWarning } from '../output.js';
|
|
@@ -177,6 +178,83 @@ function resolveSubstrate(opts, deps) {
|
|
|
177
178
|
return 'kubernetes';
|
|
178
179
|
}
|
|
179
180
|
// ── Phases ─────────────────────────────────────────────────────────────
|
|
181
|
+
/**
|
|
182
|
+
* Phase 0.5 — Detect existing reachable kubeconfig contexts (ADR 021).
|
|
183
|
+
*
|
|
184
|
+
* Only runs when substrate=kubernetes. On docker substrate, returns no-op.
|
|
185
|
+
*
|
|
186
|
+
* Behaviour:
|
|
187
|
+
* 1. --reuse-cluster=<name> provided → validate reachability of that context.
|
|
188
|
+
* If reachable, skip Phase 1.5 + 2.5 and pin Phase 2.6 to this context.
|
|
189
|
+
* If unreachable, fail fast with actionable error.
|
|
190
|
+
* 2. --yes mode: if reachable idle contexts exist, print an info line and
|
|
191
|
+
* continue to k3d provision (backward compat — --yes defaults to NO reuse).
|
|
192
|
+
* 3. Interactive: prompt for each offerable context; operator chooses.
|
|
193
|
+
*
|
|
194
|
+
* Returns a PhaseResult extended with an optional `reuseContext` field.
|
|
195
|
+
* When `reuseContext` is set, later phases skip k3d install/provision.
|
|
196
|
+
*/
|
|
197
|
+
async function phase0_5DetectExistingContext(substrate, opts, deps) {
|
|
198
|
+
if (substrate !== 'kubernetes') {
|
|
199
|
+
return { ok: true, skipped: true, message: 'no-op for docker substrate' };
|
|
200
|
+
}
|
|
201
|
+
// --reuse-cluster=<name> explicit opt-in: validate that context.
|
|
202
|
+
if (opts.reuseCluster) {
|
|
203
|
+
const name = opts.reuseCluster;
|
|
204
|
+
const clusterInfoFn = deps.kubectlClusterInfo ?? defaultClusterInfo;
|
|
205
|
+
const probe = clusterInfoFn(name);
|
|
206
|
+
if (!probe.reachable) {
|
|
207
|
+
return {
|
|
208
|
+
ok: false,
|
|
209
|
+
message: `--reuse-cluster=${name} but context is not reachable: ${probe.error ?? 'unknown error'}`,
|
|
210
|
+
remedy: `Verify the context exists (\`kubectl config get-contexts\`) and is reachable `
|
|
211
|
+
+ `(\`kubectl --context=${name} cluster-info\`), then re-run \`olam setup --reuse-cluster=${name}\`.`,
|
|
212
|
+
reuseContext: undefined,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
ok: true,
|
|
217
|
+
message: `will reuse context ${name}${probe.serverUrl ? ` (${probe.serverUrl})` : ''}`,
|
|
218
|
+
reuseContext: name,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
// Discover reachable idle contexts not owned by olam.
|
|
222
|
+
const { offerable } = discoverOfferableContexts(deps.kubeContextDeps);
|
|
223
|
+
if (offerable.length === 0) {
|
|
224
|
+
return {
|
|
225
|
+
ok: true,
|
|
226
|
+
skipped: true,
|
|
227
|
+
message: 'no idle reachable contexts detected; will provision k3d cluster',
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
// --yes mode: backward compat — default to NO reuse; print informational hint.
|
|
231
|
+
if (opts.yes) {
|
|
232
|
+
process.stdout.write(` Detected ${offerable.length} existing Kubernetes context(s): ${offerable.join(', ')}. `
|
|
233
|
+
+ `To reuse one, pass --reuse-cluster=<name>. Provisioning k3d (--yes default).\n`);
|
|
234
|
+
return {
|
|
235
|
+
ok: true,
|
|
236
|
+
skipped: true,
|
|
237
|
+
message: `idle context(s) available but --yes defaults to k3d provision; use --reuse-cluster=<name> to opt in`,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
// Interactive: prompt for each offerable context.
|
|
241
|
+
const promptFn = deps.prompt ?? defaultPrompt;
|
|
242
|
+
for (const ctx of offerable) {
|
|
243
|
+
const reuse = await promptFn(`Detected existing Kubernetes context \`${ctx}\`. Use this cluster instead of provisioning a new k3d cluster?`, false);
|
|
244
|
+
if (reuse) {
|
|
245
|
+
return {
|
|
246
|
+
ok: true,
|
|
247
|
+
message: `operator chose to reuse context ${ctx}`,
|
|
248
|
+
reuseContext: ctx,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return {
|
|
253
|
+
ok: true,
|
|
254
|
+
skipped: true,
|
|
255
|
+
message: 'operator declined reuse; will provision k3d cluster',
|
|
256
|
+
};
|
|
257
|
+
}
|
|
180
258
|
async function phase1SystemCheck(substrate, deps) {
|
|
181
259
|
const nodeVersion = deps.nodeVersion ?? process.version;
|
|
182
260
|
const nodeMajor = parseNodeMajor(nodeVersion);
|
|
@@ -203,6 +281,16 @@ async function phase1SystemCheck(substrate, deps) {
|
|
|
203
281
|
remedy: `Install Node.js ${REQUIRED_NODE_MAJOR}+ LTS via nvm/fnm/asdf and re-run \`olam setup\`.`,
|
|
204
282
|
};
|
|
205
283
|
}
|
|
284
|
+
// ADR 021 Phase 1 Colima lint: warn when Colima has kubernetes.enabled:true
|
|
285
|
+
// on macOS. This causes k3d to conflict on the same Lima VM ports.
|
|
286
|
+
// Warning only — operator may be using --reuse-cluster=colima intentionally.
|
|
287
|
+
const platform = String(deps.osPlatform ?? process.platform);
|
|
288
|
+
const home = deps.home ?? homedir();
|
|
289
|
+
const colimaLint = probeColimaKubernetesEnabled({ platform, home });
|
|
290
|
+
if (colimaLint.ok && 'warn' in colimaLint && colimaLint.warn === true) {
|
|
291
|
+
const lintWithWarn = colimaLint;
|
|
292
|
+
printWarning(` ⚠ ${lintWithWarn.remedy}`);
|
|
293
|
+
}
|
|
206
294
|
return { ok: true, message: `kubectl on PATH; docker ready; node ${nodeVersion}` };
|
|
207
295
|
}
|
|
208
296
|
// Docker substrate (default)
|
|
@@ -236,11 +324,21 @@ async function phase1SystemCheck(substrate, deps) {
|
|
|
236
324
|
* Kubernetes (all platforms): installs k3d via brew when available, else the
|
|
237
325
|
* upstream install script. k3d works on both macOS and Linux — no sudo needed
|
|
238
326
|
* (k3d only requires docker, which Phase 1 already confirmed).
|
|
327
|
+
*
|
|
328
|
+
* @param reuseContext - when set (ADR 021 Phase 0.5), skip k3d install
|
|
239
329
|
*/
|
|
240
|
-
async function phase1_5InstallSubstrate(substrate, opts, deps) {
|
|
330
|
+
async function phase1_5InstallSubstrate(substrate, opts, deps, reuseContext) {
|
|
241
331
|
if (substrate === 'docker') {
|
|
242
332
|
return { ok: true, skipped: true, message: 'no-op for docker substrate' };
|
|
243
333
|
}
|
|
334
|
+
// ADR 021: when reusing an existing context, k3d install is not needed.
|
|
335
|
+
if (reuseContext) {
|
|
336
|
+
return {
|
|
337
|
+
ok: true,
|
|
338
|
+
skipped: true,
|
|
339
|
+
message: `skipped k3d install (reusing context ${reuseContext})`,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
244
342
|
const spawnFn = deps.spawnSubprocess ?? defaultSpawn;
|
|
245
343
|
const promptFn = deps.prompt ?? defaultPrompt;
|
|
246
344
|
// k3d works on both darwin and linux; one path for both.
|
|
@@ -319,11 +417,20 @@ function phaseFromProbe(probe) {
|
|
|
319
417
|
* k3d updates ~/.kube/config automatically — no kubeconfig juggling needed.
|
|
320
418
|
*
|
|
321
419
|
* @param clusterName - resolved cluster name (default: SETUP_K3D_CLUSTER_NAME)
|
|
420
|
+
* @param reuseContext - when set (ADR 021 Phase 0.5), skip cluster provision
|
|
322
421
|
*/
|
|
323
|
-
async function phase2_5ProvisionCluster(substrate, clusterName, opts, deps) {
|
|
422
|
+
async function phase2_5ProvisionCluster(substrate, clusterName, opts, deps, reuseContext) {
|
|
324
423
|
if (substrate === 'docker') {
|
|
325
424
|
return { ok: true, skipped: true, message: 'no-op for docker substrate' };
|
|
326
425
|
}
|
|
426
|
+
// ADR 021: when reusing an existing context, k3d cluster provision is skipped.
|
|
427
|
+
if (reuseContext) {
|
|
428
|
+
return {
|
|
429
|
+
ok: true,
|
|
430
|
+
skipped: true,
|
|
431
|
+
message: `skipped k3d cluster provision (reusing context ${reuseContext})`,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
327
434
|
const spawnFn = deps.spawnSubprocess ?? defaultSpawn;
|
|
328
435
|
// k3d cluster create <clusterName> (idempotent — same on macOS and Linux)
|
|
329
436
|
// Check if cluster already exists
|
|
@@ -406,7 +513,7 @@ function safeReadCliVersion() {
|
|
|
406
513
|
}
|
|
407
514
|
}
|
|
408
515
|
/**
|
|
409
|
-
* Phase 2.6 — Pin kubectl context after k3d cluster creation.
|
|
516
|
+
* Phase 2.6 — Pin kubectl context after k3d cluster creation (or context reuse).
|
|
410
517
|
* No-op for docker substrate.
|
|
411
518
|
*
|
|
412
519
|
* `olam upgrade` (called by bootstrap step 6/6) requires
|
|
@@ -416,16 +523,21 @@ function safeReadCliVersion() {
|
|
|
416
523
|
* (AFTER bootstrap). This phase bridges the gap: it pins the context
|
|
417
524
|
* immediately after cluster creation so bootstrap/upgrade can proceed.
|
|
418
525
|
*
|
|
526
|
+
* When reuseContext is set (ADR 021), pins to the reused context name
|
|
527
|
+
* instead of the k3d-derived context name.
|
|
528
|
+
*
|
|
419
529
|
* Idempotent: applyKubectlContextPin skips when the field is already set.
|
|
420
530
|
*
|
|
421
531
|
* @param clusterName - resolved cluster name (default: SETUP_K3D_CLUSTER_NAME)
|
|
532
|
+
* @param reuseContext - when set (ADR 021 Phase 0.5), pin to this context name
|
|
422
533
|
*/
|
|
423
|
-
async function phase2_6PinKubectlContext(substrate, clusterName, deps) {
|
|
534
|
+
async function phase2_6PinKubectlContext(substrate, clusterName, deps, reuseContext) {
|
|
424
535
|
if (substrate !== 'kubernetes') {
|
|
425
536
|
return { ok: true, skipped: true, message: 'no-op for docker substrate' };
|
|
426
537
|
}
|
|
427
|
-
//
|
|
428
|
-
|
|
538
|
+
// ADR 021: reused context uses the context name directly (not k3d-prefixed).
|
|
539
|
+
// k3d names the context `k3d-<cluster-name>`; reused contexts use their own name.
|
|
540
|
+
const expectedContext = reuseContext ?? `k3d-${clusterName}`;
|
|
429
541
|
// Ensure ~/.olam/config.json exists with a valid schema before patching
|
|
430
542
|
// kubectl_context_pinned. applyKubectlContextPin preserves existing keys but
|
|
431
543
|
// starts from `{}` when the file is absent — that produces an invalid schema
|
|
@@ -608,7 +720,8 @@ async function phase7Verify(opts, deps) {
|
|
|
608
720
|
};
|
|
609
721
|
}
|
|
610
722
|
// ── Orchestrator ──────────────────────────────────────────────────────
|
|
611
|
-
const
|
|
723
|
+
const PHASE_TITLES = [
|
|
724
|
+
'Phase 0.5: Detect existing k8s context',
|
|
612
725
|
'Phase 1: System check',
|
|
613
726
|
'Phase 1.5: Substrate tools install',
|
|
614
727
|
'Phase 2: olam CLI sanity',
|
|
@@ -622,10 +735,6 @@ const PHASE_TITLES_DOCKER = [
|
|
|
622
735
|
'Phase 6: Auth prompt',
|
|
623
736
|
'Phase 7: Final verification',
|
|
624
737
|
];
|
|
625
|
-
// For backward compatibility the phases array has the same indices
|
|
626
|
-
// as before when substrate=docker (1.5 and 2.5 are no-ops/skipped).
|
|
627
|
-
// The phase count is 11 not 9 but existing tests that assert on
|
|
628
|
-
// phase indices are updated to use the new positions.
|
|
629
738
|
export async function runSetup(opts, deps = {}) {
|
|
630
739
|
const substrate = resolveSubstrate(opts, deps);
|
|
631
740
|
const clusterName = resolveClusterName(opts);
|
|
@@ -654,12 +763,36 @@ export async function runSetup(opts, deps = {}) {
|
|
|
654
763
|
if (substrate === 'kubernetes') {
|
|
655
764
|
process.stdout.write(`cluster: ${clusterName}\n`);
|
|
656
765
|
}
|
|
766
|
+
// Phase 0.5: detect existing k8s context. Run eagerly (not in phaseFns) so
|
|
767
|
+
// we can capture reuseContext and thread it through Phases 1.5, 2.5, 2.6.
|
|
768
|
+
// We still push the result into the phases array for the SetupReport.
|
|
769
|
+
const results = [];
|
|
770
|
+
let failureAt = null;
|
|
771
|
+
const phase0_5Title = PHASE_TITLES[0];
|
|
772
|
+
process.stdout.write(`\n${phase0_5Title}\n`);
|
|
773
|
+
const phase0_5Result = await phase0_5DetectExistingContext(substrate, opts, deps);
|
|
774
|
+
results.push({ name: phase0_5Title, result: phase0_5Result });
|
|
775
|
+
if (phase0_5Result.ok && phase0_5Result.skipped) {
|
|
776
|
+
printWarning(` ⊘ ${phase0_5Result.message}`);
|
|
777
|
+
}
|
|
778
|
+
else if (phase0_5Result.ok) {
|
|
779
|
+
printSuccess(` ✓ ${phase0_5Result.message}`);
|
|
780
|
+
}
|
|
781
|
+
else {
|
|
782
|
+
printError(` ✗ ${phase0_5Result.message}`);
|
|
783
|
+
if (phase0_5Result.remedy)
|
|
784
|
+
printWarning(` remedy: ${phase0_5Result.remedy}`);
|
|
785
|
+
process.stdout.write('\n');
|
|
786
|
+
printError('Setup FAILED at Phase 1');
|
|
787
|
+
return { phases: results, failureAt: 1, exitCode: 1 };
|
|
788
|
+
}
|
|
789
|
+
const reuseContext = phase0_5Result.reuseContext;
|
|
657
790
|
const phaseFns = [
|
|
658
791
|
() => phase1SystemCheck(substrate, deps),
|
|
659
|
-
() => phase1_5InstallSubstrate(substrate, opts, deps),
|
|
792
|
+
() => phase1_5InstallSubstrate(substrate, opts, deps, reuseContext),
|
|
660
793
|
() => phase2CliSanity(deps),
|
|
661
|
-
() => phase2_5ProvisionCluster(substrate, clusterName, opts, deps),
|
|
662
|
-
() => phase2_6PinKubectlContext(substrate, clusterName, deps),
|
|
794
|
+
() => phase2_5ProvisionCluster(substrate, clusterName, opts, deps, reuseContext),
|
|
795
|
+
() => phase2_6PinKubectlContext(substrate, clusterName, deps, reuseContext),
|
|
663
796
|
() => phase3Bootstrap(substrate, deps),
|
|
664
797
|
() => phase4ShellInit(opts, deps),
|
|
665
798
|
() => phase5InitProject(opts, deps),
|
|
@@ -668,10 +801,10 @@ export async function runSetup(opts, deps = {}) {
|
|
|
668
801
|
() => phase6Auth(opts, deps),
|
|
669
802
|
() => phase7Verify(opts, deps),
|
|
670
803
|
];
|
|
671
|
-
|
|
672
|
-
|
|
804
|
+
// results + failureAt were initialised above (before Phase 0.5).
|
|
805
|
+
// phaseFns indices correspond to PHASE_TITLES[1..] (Phase 0.5 is PHASE_TITLES[0]).
|
|
673
806
|
for (let i = 0; i < phaseFns.length; i += 1) {
|
|
674
|
-
const name =
|
|
807
|
+
const name = PHASE_TITLES[i + 1];
|
|
675
808
|
process.stdout.write(`\n${name}\n`);
|
|
676
809
|
const result = await phaseFns[i]();
|
|
677
810
|
results.push({ name, result });
|
|
@@ -685,7 +818,7 @@ export async function runSetup(opts, deps = {}) {
|
|
|
685
818
|
printError(` ✗ ${result.message}`);
|
|
686
819
|
if (result.remedy)
|
|
687
820
|
printWarning(` remedy: ${result.remedy}`);
|
|
688
|
-
failureAt = i + 1
|
|
821
|
+
failureAt = i + 2; // +2 because Phase 0.5 is position 1
|
|
689
822
|
break;
|
|
690
823
|
}
|
|
691
824
|
}
|
|
@@ -717,6 +850,11 @@ export function registerSetup(program) {
|
|
|
717
850
|
+ 'Use a different name to avoid colliding with a pre-existing olam-dev cluster, '
|
|
718
851
|
+ 'to run multiple olam stacks side-by-side, or for per-run unique names in CI smoke. '
|
|
719
852
|
+ 'Must be DNS-compatible: lowercase alphanumeric, hyphens allowed in the middle.')
|
|
853
|
+
.option('--reuse-cluster <name>', 'Reuse an existing kubeconfig context instead of provisioning a new k3d cluster. '
|
|
854
|
+
+ 'Pair with --substrate=kubernetes. Skips Phase 1.5 (k3d install) and Phase 2.5 '
|
|
855
|
+
+ '(cluster provision); Phase 2.6 pins to this context. Operator owns the cluster '
|
|
856
|
+
+ 'lifecycle (teardown not handled by olam setup). '
|
|
857
|
+
+ 'Example: --reuse-cluster=colima (for Colima k8s users).')
|
|
720
858
|
.option('--skip-shell-init', 'Skip Phase 4 (do not append to ~/.zshrc / ~/.bashrc)')
|
|
721
859
|
.option('--skip-auth', 'Skip Phase 6 (do not prompt for `olam auth login`)')
|
|
722
860
|
.option('--skip-skill-source', 'Skip Phase 5a (do not pick a skill source; run `olam skills source add` later)')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;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;AA0GF,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,iEAAiE;AACjE,MAAM,eAAe,GAAG,iCAAiC,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gCAAgC,CAAC;IAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,uDAAuD,CAAC;IACrF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,CACL,iBAAiB,IAAI,4DAA4D;cAC/E,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAqB;IAC/C,OAAO,IAAI,CAAC,WAAW,IAAI,sBAAsB,CAAC;AACpD,CAAC;AAED,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;;;;;;;GAOG;AACH,KAAK,UAAU,wBAAwB,CACrC,SAAyB,EACzB,WAAmB,EACnB,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,0EAA0E;IAC1E,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,WAAW,CAAC,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,WAAW,WAAW,kCAAkC;aAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,WAAW,OAAO,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,GAAG,OAAO,EAAE,8BAA8B,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;QACxC,SAAS,EAAE,QAAQ,EAAE,WAAW;QAChC,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,WAAW,iBAAiB,YAAY,CAAC,MAAM,IAAI,QAAQ,GAAG;YAC7F,MAAM,EAAE,oCAAoC,WAAW,uBAAuB;SAC/E,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,WAAW,sBAAsB,GAAG,EAAE,EAAE,CAAC;AAClF,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;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,yBAAyB,CACtC,SAAyB,EACzB,WAAmB,EACnB,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,WAAW,EAAE,CAAC;IAE7C,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;IAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE7C,uDAAuD;IACvD,yEAAyE;IACzE,0EAA0E;IAC1E,mEAAmE;IACnE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAgB;gBAC7B,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,mBAAmB,SAAS,EAAE;gBACvC,MAAM,EACJ,+EAA+E;sBAC3E,gCAAgC;aACvC,CAAC;YACF,UAAU,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,IAAI,SAAS,CAAC,MAAM;gBAAE,YAAY,CAAC,eAAe,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,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;IAClD,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,WAAW,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,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,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;QAClE,GAAG,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC;QAC7D,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,CACL,uBAAuB,EACvB,iFAAiF;UAC7E,gFAAgF;UAChF,qFAAqF;UACrF,gFAAgF,CACrF;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
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|