@sibyllinesoft/smith-installer 0.1.11 → 0.1.12

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/agents.md CHANGED
@@ -15,8 +15,8 @@ You are the Smith Core installer and configuration agent. Your job is to bootstr
15
15
 
16
16
  Run these phases in order unless the user asks for a specific step:
17
17
 
18
- 1. `infra` — start Docker infrastructure.
19
- 2. `build` — compile Rust workspaces.
18
+ 1. `infra` — start Docker infrastructure (pulls pre-built images from ghcr.io).
19
+ 2. `build` — install pre-built smith-services and agentd binaries via npm.
20
20
  3. `npm` — install Node workspace dependencies.
21
21
  4. `verify` — run lightweight build checks and tunnel e2e checks when configured.
22
22
  5. `configure-agentd` — ensure `.env` defaults are present and, on macOS, enable Gondolin VM pool settings.
@@ -49,22 +49,22 @@ if [ "$(uname -s)" = "Darwin" ]; then
49
49
  # SMITH_EXECUTOR_GONDOLIN_ARGS=exec,--
50
50
  fi
51
51
 
52
- # infra
52
+ # infra (pulls pre-built images from ghcr.io)
53
53
  bash infra/envoy/certs/generate-certs.sh
54
54
  docker compose up -d
55
55
  docker compose ps
56
56
 
57
- # build
58
- cargo build --workspace
57
+ # build (install pre-built binaries)
58
+ npm install -g @sibyllinesoft/smith-services
59
+ npm install -g @sibyllinesoft/agentd
59
60
 
60
61
  # npm
61
62
  npm install
62
- npm install -g @sibyllinesoft/agentd
63
63
 
64
64
  # verify
65
- cargo check --workspace
66
65
  npm run build --workspaces --if-present
67
- agentd --version
66
+ smith-chat-daemon --help || echo "smith-services not installed (non-fatal)"
67
+ agentd --version || echo "agentd not installed (non-fatal)"
68
68
 
69
69
  # optional tunnel e2e checks when configured in .env
70
70
  bash scripts/tunnel-e2e.sh cloudflare
@@ -107,3 +107,59 @@ When a step fails:
107
107
  3. Apply the smallest viable fix.
108
108
  4. Re-run only the failed command.
109
109
  5. Summarize the root cause and the fix applied.
110
+
111
+ ### Port Conflicts
112
+
113
+ If Docker Compose fails with "port is already allocated" or "address already in use":
114
+
115
+ ```bash
116
+ # Linux — identify what is using a port
117
+ ss -tlnp 'sport = :5432'
118
+
119
+ # macOS — identify what is using a port
120
+ lsof -iTCP:5432 -sTCP:LISTEN
121
+
122
+ # If a previous smith-core stack is running
123
+ docker compose down
124
+ ```
125
+
126
+ Key ports: 4222 (NATS), 5432 (PostgreSQL), 3000 (Grafana), 9200 (MCP Index), 6173 (Envoy), 9901 (Envoy Admin).
127
+
128
+ ### Node.js Version Management
129
+
130
+ If `node_22_ok` is `no` in preflight, check `node_version_manager`:
131
+
132
+ - **`fnm` detected**: Run `fnm install 22 && fnm use 22`, then verify with `node -v`.
133
+ - **`nvm` detected**: Run `. "$NVM_DIR/nvm.sh" && nvm install 22 && nvm use 22`, then verify with `node -v`.
134
+ - **`none` detected**: Ask the user which version manager they'd like to install:
135
+ - **fnm** (recommended — single binary, fast):
136
+ ```bash
137
+ curl -fsSL https://fnm.vercel.app/install | bash
138
+ ```
139
+ - **nvm** (widely used):
140
+ ```bash
141
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
142
+ ```
143
+ After installation, source the shell profile and install Node 22.
144
+ Remind the user they may need to restart their shell for PATH changes to take effect.
145
+
146
+ ### npm Auth Warnings
147
+
148
+ `npm notice Access token expired or revoked` during `npm install -g` is harmless — smith packages are public. This warning appears when npm finds a stale token in `~/.npmrc`. The install will succeed regardless.
149
+
150
+ ### Network Configuration
151
+
152
+ When no private network indicator is detected, recommend one of:
153
+
154
+ ```bash
155
+ # Cloudflare Tunnel
156
+ cloudflared tunnel login
157
+ # Then set CLOUDFLARE_TUNNEL_TOKEN in .env
158
+
159
+ # Tailscale
160
+ tailscale up
161
+ # Then set TAILSCALE_AUTHKEY in .env
162
+
163
+ # SSH tunneling (simplest)
164
+ ssh -L 6173:localhost:6173 user@host
165
+ ```
package/dist/cli.js CHANGED
@@ -6,6 +6,7 @@ import { pipeline } from "stream/promises";
6
6
  import { randomBytes } from "crypto";
7
7
  import { tmpdir, homedir } from "os";
8
8
  import { createInterface } from "readline/promises";
9
+ import { createServer } from "net";
9
10
  import { createInstallerSession } from "./agents.js";
10
11
  import { parseArgs, findSmithRoot, evaluateInstallerSecurity, readSmithConfig, writeSmithConfig } from "./lib.js";
11
12
  const DEFAULT_REPO = "sibyllinesoft/smith-core";
@@ -185,7 +186,40 @@ function isCommandAvailable(cmd) {
185
186
  return false;
186
187
  }
187
188
  }
188
- function runPreflightChecks() {
189
+ function detectNodeVersionManager() {
190
+ // fnm is a standalone binary
191
+ try {
192
+ execFileSync("fnm", ["--version"], { stdio: "ignore" });
193
+ return { name: "fnm", dir: "" };
194
+ }
195
+ catch { }
196
+ // nvm is a shell function sourced from NVM_DIR/nvm.sh
197
+ const nvmDir = process.env.NVM_DIR || join(homedir(), ".nvm");
198
+ if (existsSync(join(nvmDir, "nvm.sh"))) {
199
+ return { name: "nvm", dir: nvmDir };
200
+ }
201
+ return null;
202
+ }
203
+ const REQUIRED_PORTS = [
204
+ [4222, "NATS"],
205
+ [5432, "PostgreSQL"],
206
+ [3000, "Grafana"],
207
+ [9200, "MCP Index"],
208
+ [6173, "Envoy mTLS Gateway"],
209
+ [9901, "Envoy Admin"],
210
+ ];
211
+ function checkPortAvailable(port, host = "127.0.0.1") {
212
+ return new Promise((resolve) => {
213
+ const server = createServer();
214
+ server.once("error", () => resolve(false));
215
+ server.once("listening", () => {
216
+ server.close();
217
+ resolve(true);
218
+ });
219
+ server.listen(port, host);
220
+ });
221
+ }
222
+ async function runPreflightChecks() {
189
223
  const errors = [];
190
224
  // Check Docker
191
225
  if (!isCommandAvailable("docker")) {
@@ -210,7 +244,10 @@ function runPreflightChecks() {
210
244
  const nodeVersion = process.versions.node;
211
245
  const major = parseInt(nodeVersion.split(".")[0], 10);
212
246
  if (major < 20) {
213
- errors.push(`Node.js ${nodeVersion} detected but >=20 is required. Install via nvm or https://nodejs.org/`);
247
+ errors.push(`Node.js v${nodeVersion} detected but >=20 is required (>=22 recommended).\n` +
248
+ ` Install with nvm: nvm install 22 && nvm use 22\n` +
249
+ ` Install with fnm: fnm install 22 && fnm use 22\n` +
250
+ ` Or download from: https://nodejs.org/`);
214
251
  }
215
252
  if (errors.length > 0) {
216
253
  console.error("\n[preflight] Missing prerequisites:\n");
@@ -222,10 +259,39 @@ function runPreflightChecks() {
222
259
  }
223
260
  console.log(`[preflight] Docker OK, Node.js ${nodeVersion} OK`);
224
261
  if (major < 22) {
225
- console.warn(`[preflight] Warning: Node.js ${nodeVersion} is supported for the installer, but runtime\n` +
226
- `[preflight] services (pi-bridge, smith-cron, session-recorder) require Node >= 22.\n` +
227
- `[preflight] Docker containers use Node 22 regardless, but local development may fail.\n` +
228
- `[preflight] Upgrade via: nvm install 22 && nvm use 22`);
262
+ const versionManager = detectNodeVersionManager();
263
+ if (versionManager) {
264
+ const cmd = versionManager.name;
265
+ console.warn(`\n[preflight] Warning: Node.js v${nodeVersion} detected runtime services require Node >= 22.\n` +
266
+ `[preflight] Affected: pi-bridge, smith-cron, session-recorder (local dev only;\n` +
267
+ `[preflight] Docker containers use Node 22 regardless).\n` +
268
+ `[preflight] Detected ${cmd}. Upgrade with: ${cmd} install 22 && ${cmd} use 22\n`);
269
+ }
270
+ else {
271
+ console.warn(`\n[preflight] Warning: Node.js v${nodeVersion} detected — runtime services require Node >= 22.\n` +
272
+ `[preflight] Affected: pi-bridge, smith-cron, session-recorder (local dev only;\n` +
273
+ `[preflight] Docker containers use Node 22 regardless).\n` +
274
+ `[preflight] No version manager (nvm/fnm) detected — the installer agent can help set one up.\n`);
275
+ }
276
+ }
277
+ // Check port availability for Docker services
278
+ const portConflicts = [];
279
+ for (const [port, service] of REQUIRED_PORTS) {
280
+ const available = await checkPortAvailable(port);
281
+ if (!available) {
282
+ portConflicts.push([port, service]);
283
+ }
284
+ }
285
+ if (portConflicts.length > 0) {
286
+ console.warn("\n[preflight] Port conflicts detected — these ports are already in use:");
287
+ for (const [port, service] of portConflicts) {
288
+ console.warn(`[preflight] :${port} (${service})`);
289
+ }
290
+ console.warn(`[preflight]\n` +
291
+ `[preflight] Docker Compose will fail if these ports are not freed.\n` +
292
+ `[preflight] To identify the process: ss -tlnp 'sport = :PORT' (Linux)\n` +
293
+ `[preflight] lsof -iTCP:PORT -sTCP:LISTEN (macOS)\n` +
294
+ `[preflight] If a previous smith-core stack is running: docker compose down\n`);
229
295
  }
230
296
  }
231
297
  function ensureMacOsGondolinDefaults(smithRoot) {
@@ -319,6 +385,33 @@ function ensureSecurityDefaults(smithRoot) {
319
385
  configured.push(key);
320
386
  }
321
387
  };
388
+ // Database / service password hardening — replace known weak defaults
389
+ const weakPasswords = [
390
+ ["POSTGRES_PASSWORD", ["smith-dev", "postgres", "password", "changeme"]],
391
+ ["CLICKHOUSE_PASSWORD", ["observability-dev", "clickhouse", "password", "changeme"]],
392
+ ["GRAFANA_ADMIN_PASSWORD", ["admin", "grafana", "password", "changeme"]],
393
+ ];
394
+ for (const [key, weakValues] of weakPasswords) {
395
+ const current = (vars[key] ?? "").trim();
396
+ if (current.length === 0 || weakValues.includes(current)) {
397
+ const newPassword = generateHexSecret(16); // 32-char hex
398
+ upsertEnvValue(envPath, key, newPassword);
399
+ // Update connection strings that embed the old password
400
+ if (key === "POSTGRES_PASSWORD" && current.length > 0) {
401
+ const connKeys = ["SMITH_DATABASE_URL", "PI_BRIDGE_PG"];
402
+ for (const connKey of connKeys) {
403
+ const connStr = (vars[connKey] ?? "").trim();
404
+ if (connStr && connStr.includes(`:${current}@`)) {
405
+ const updated = connStr.replace(`:${current}@`, `:${newPassword}@`);
406
+ upsertEnvValue(envPath, connKey, updated);
407
+ vars[connKey] = updated;
408
+ }
409
+ }
410
+ }
411
+ vars[key] = newPassword;
412
+ generated.push(key);
413
+ }
414
+ }
322
415
  // MCP index / sidecar API hardening
323
416
  ensureToken("MCP_INDEX_API_TOKEN", 24, 24);
324
417
  ensureToken("MCP_SIDECAR_API_TOKEN", 24, 24);
@@ -346,6 +439,42 @@ function ensureSecurityDefaults(smithRoot) {
346
439
  console.log(`[installer] Applied security defaults in .env (${details})`);
347
440
  }
348
441
  }
442
+ function tryInstallSmithServices(smithRoot) {
443
+ const platform = process.platform;
444
+ const arch = process.arch;
445
+ const platformTag = `${platform}-${arch}`;
446
+ const supported = {
447
+ "linux-x64": "@sibyllinesoft/smith-services-linux-x64",
448
+ "darwin-arm64": "@sibyllinesoft/smith-services-darwin-arm64",
449
+ };
450
+ if (!supported[platformTag]) {
451
+ console.warn(`[installer] smith-services: no pre-built binaries for ${platformTag}.\n` +
452
+ `[installer] Supported platforms: ${Object.keys(supported).join(", ")}.\n` +
453
+ `[installer] To build from source: cargo build --workspace\n` +
454
+ `[installer] Skipping smith-services install (non-fatal).`);
455
+ return;
456
+ }
457
+ try {
458
+ runCommand(smithRoot, { command: "npm", args: ["install", "-g", "@sibyllinesoft/smith-services"] });
459
+ }
460
+ catch {
461
+ console.warn(`\n[installer] smith-services installation failed.\n` +
462
+ `[installer] The platform package ${supported[platformTag]} may not be published yet.\n` +
463
+ `[installer] This is non-fatal — you can build from source: cargo build --workspace\n` +
464
+ `[installer] To retry later: npm install -g @sibyllinesoft/smith-services\n`);
465
+ return;
466
+ }
467
+ // Verify at least one binary works
468
+ try {
469
+ execFileSync("smith-chat-daemon", ["--help"], { stdio: "pipe", env: process.env });
470
+ console.log("[installer] smith-services installed and verified.");
471
+ }
472
+ catch {
473
+ console.warn(`\n[installer] smith-services package installed but binaries not functional on ${platformTag}.\n` +
474
+ `[installer] The platform package ${supported[platformTag]} may be missing from the registry.\n` +
475
+ `[installer] This is non-fatal — you can build from source: cargo build --workspace\n`);
476
+ }
477
+ }
349
478
  function tryInstallAgentd(smithRoot) {
350
479
  const platform = process.platform;
351
480
  const arch = process.arch;
@@ -442,23 +571,18 @@ function runNonInteractiveBootstrap(smithRoot, step, force) {
442
571
  all: [
443
572
  { command: "bash", args: ["infra/envoy/certs/generate-certs.sh"] },
444
573
  { command: "docker", args: ["compose", "up", "-d"] },
445
- { command: "cargo", args: ["build", "--workspace"] },
446
574
  { command: "npm", args: ["install"] },
447
- { command: "cargo", args: ["check", "--workspace"] },
448
575
  { command: "npm", args: ["run", "build", "--workspaces", "--if-present"] },
449
576
  ],
450
577
  infra: [
451
578
  { command: "bash", args: ["infra/envoy/certs/generate-certs.sh"] },
452
579
  { command: "docker", args: ["compose", "up", "-d"] },
453
580
  ],
454
- build: [
455
- { command: "cargo", args: ["build", "--workspace"] },
456
- ],
581
+ build: [],
457
582
  npm: [
458
583
  { command: "npm", args: ["install"] },
459
584
  ],
460
585
  verify: [
461
- { command: "cargo", args: ["check", "--workspace"] },
462
586
  { command: "npm", args: ["run", "build", "--workspaces", "--if-present"] },
463
587
  ],
464
588
  "25": [
@@ -468,11 +592,8 @@ function runNonInteractiveBootstrap(smithRoot, step, force) {
468
592
  { command: "bash", args: ["infra/envoy/certs/generate-certs.sh"] },
469
593
  { command: "docker", args: ["compose", "up", "-d"] },
470
594
  ],
471
- "40": [
472
- { command: "cargo", args: ["build", "--workspace"] },
473
- ],
595
+ "40": [],
474
596
  "90": [
475
- { command: "cargo", args: ["check", "--workspace"] },
476
597
  { command: "npm", args: ["run", "build", "--workspaces", "--if-present"] },
477
598
  ],
478
599
  "configure-policy": [
@@ -500,9 +621,10 @@ function runNonInteractiveBootstrap(smithRoot, step, force) {
500
621
  if (infraSteps.includes(normalizedStep)) {
501
622
  waitForDockerHealth(smithRoot);
502
623
  }
503
- // Install agentd (non-fatal) after npm steps
504
- const agentdSteps = ["all"];
505
- if (agentdSteps.includes(normalizedStep)) {
624
+ // Install pre-built binaries (non-fatal) after build/all steps
625
+ const binarySteps = ["all", "build", "40"];
626
+ if (binarySteps.includes(normalizedStep)) {
627
+ tryInstallSmithServices(smithRoot);
506
628
  tryInstallAgentd(smithRoot);
507
629
  }
508
630
  if (normalizedStep === "all" || normalizedStep === "verify" || normalizedStep === "90") {
@@ -519,7 +641,7 @@ Options:
519
641
  --provider <name> LLM provider (default: anthropic)
520
642
  --model <id> Model ID (default: claude-sonnet-4-20250514)
521
643
  --thinking <level> Thinking level: none, low, medium, high (default: medium)
522
- --step <name> Run one step: all, infra, build, npm, verify, policy (also accepts 25/30/40/90)
644
+ --step <name> Run one step: all, infra, build, npm, verify, policy (also 25/30/40/90)
523
645
  --force Recreate infrastructure before running infra/all
524
646
  --repo <owner/repo> GitHub repository (default: sibyllinesoft/smith-core)
525
647
  --ref <tag> Release tag to install (default: latest)
@@ -540,7 +662,7 @@ async function main() {
540
662
  printHelp();
541
663
  process.exit(0);
542
664
  }
543
- runPreflightChecks();
665
+ await runPreflightChecks();
544
666
  // Resolve smith-core location
545
667
  const existingConfig = readSmithConfig();
546
668
  let smithRoot;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACrH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,yBAAyB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQlH,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,gCAAgC,IAAI,oBAAoB,EACxD,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CACjD,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,CAAE,KAAK,EAAE,CAAC,CAAC,CAAE;gBAAE,OAAO,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,CAAC,CAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,GAAW;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,sBAAsB,IAAI,sBAAsB,GAAG,SAAS,CAAC;IAEhF,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAW,EAAE,UAAU,CAAC,CAAC;IAE7C,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;QAC1E,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,IAAI,GAAG,OAAO,MAAM,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,GAAG,GAA2B;QAClC,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;QACxB,cAAc,EAAE,sBAAsB;QACtC,IAAI,EAAE,cAAc;KACrB,CAAC;IACF,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAClD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO;IAEhC,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAEjC,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBb,CAAC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,uBAAuB,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,QAAQ,aAAa,MAAM,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,0BAA0B,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,IAAiB;IAChD,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;QACpC,GAAG;QACH,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,oBAAoB,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC9C,CAAC;YACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,YAAY,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,eAAe;IACf,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;IAC1G,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACH,YAAY,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IACrH,CAAC;IAED,4DAA4D;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,WAAW,WAAW,wEAAwE,CAAC,CAAC;IAC9G,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,WAAW,KAAK,CAAC,CAAC;IAEhE,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,gCAAgC,WAAW,gDAAgD;YAC3F,sFAAsF;YACtF,yFAAyF;YACzF,uDAAuD,CACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAiB;IACpD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,uEAAuE,CACxE,CAAC;QACF,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC;QACH,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1E,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAExE,2BAA2B;QAC3B,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACH,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACpF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CACV,8EAA8E;oBAC9E,yEAAyE,CAC1E,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAC3E,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,EAAE;gBACjE,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CACV,wGAAwG;gBACxG,yEAAyE,CAC1E,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAAO,EAAE,gCAAgC,EAAE,MAAM,CAAC,CAAC;IAClE,cAAc,CAAC,OAAO,EAAE,0BAA0B,EAAE,UAAU,CAAC,CAAC;IAChE,cAAc,CAAC,OAAO,EAAE,iCAAiC,EAAE,UAAU,CAAC,CAAC;IACvE,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,SAAS,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CACT,sFAAsF,CACvF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa,EAAE,SAAS,GAAG,EAAE;IAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/C,IACE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;QAC7B,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5B,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,EACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAK,GAAG,EAAE;IACnC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,WAAW,GAAG,CAClB,GAAW,EACX,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,EAAE,EACR,EAAE;QACR,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAa,EAAQ,EAAE;QACvD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,oCAAoC;IACpC,WAAW,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,WAAW,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,WAAW,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;IACxD,WAAW,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;IAE1D,kCAAkC;IAClC,WAAW,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;IAC3D,WAAW,CAAC,mCAAmC,EAAE,0BAA0B,CAAC,CAAC;IAC7E,WAAW,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,WAAW,CAAC,mCAAmC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,WAAW,CAAC,qCAAqC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,WAAW,CAAC,mCAAmC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,WAAW,CAAC,iCAAiC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG;YACd,SAAS,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,sBAAsB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9C,CAAC,CAAC,IAAI;YACR,UAAU,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjD,CAAC,CAAC,IAAI;SACT;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,kDAAkD,OAAO,GAAG,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAA2B;QACxC,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE,oCAAoC;KACrD,CAAC;IAEF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CACV,+CAA+C,WAAW,KAAK;YAC/D,oCAAoC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAC1E,wFAAwF;YACxF,kDAAkD,CACnD,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,UAAU,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CACV,6CAA6C;YAC7C,oCAAoC,SAAS,CAAC,WAAW,CAAC,8BAA8B;YACxF,kFAAkF;YAClF,2BAA2B;YAC3B,qEAAqE;YACrE,8DAA8D,CAC/D,CAAC;QACF,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC;QACH,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CACV,uEAAuE,WAAW,KAAK;YACvF,oCAAoC,SAAS,CAAC,WAAW,CAAC,sCAAsC;YAChG,kFAAkF;YAClF,2EAA2E,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,YAAY,CACV,QAAQ,EACR,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAC1D,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CACvD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CACV,gFAAgF;YAChF,oDAAoD;YACpD,4DAA4D,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GACjB,CAAC,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACxD,CAAC,IAAI,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7E,IAAI,aAAa,EAAE,CAAC;QAClB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,yGAAyG,CAC1G,CAAC;QACF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;QACpE,UAAU,CAAC,SAAS,EAAE;YACpB,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAyB,EACzB,QAA4D;IAE5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,cAAc,WAAW,EAAE,CAAC,CAAC;IACrG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,0CAA0C,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,CAAC,KAAK,CACX,+GAA+G,CAChH,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,SAAiB,EACjB,IAAwB,EACxB,KAAc;IAEd,MAAM,cAAc,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IAEpD,MAAM,KAAK,GAAkC;QAC3C,GAAG,EAAE;YACH,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,qCAAqC,CAAC,EAAE;YAClE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YACpD,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;YACpD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;YACrC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;YACpD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;SAC3E;QACD,KAAK,EAAE;YACL,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,qCAAqC,CAAC,EAAE;YAClE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;SACrD;QACD,KAAK,EAAE;YACL,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;SACrD;QACD,GAAG,EAAE;YACH,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;SACtC;QACD,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;YACpD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;SAC3E;QACD,IAAI,EAAE;YACJ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;SACtC;QACD,IAAI,EAAE;YACJ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,qCAAqC,CAAC,EAAE;YAClE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;SACrD;QACD,IAAI,EAAE;YACJ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;SACrD;QACD,IAAI,EAAE;YACJ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;YACpD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;SAC3E;QACD,kBAAkB,EAAE;YAClB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,yEAAyE,CAAC,EAAE;YACzL,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,CAAC,EAAE;SACzH;QACD,QAAQ,EAAE;YACR,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,yEAAyE,CAAC,EAAE;YACzL,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,CAAC,EAAE;SACzH;KACF,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,oBAAoB,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,IAAI,CAAC,EAAE,CAAC;QACjG,UAAU,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACxC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,6CAA6C;IAC7C,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QACvF,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;sCAawB,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC;IAExC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB,EAAE,CAAC;IAErB,8BAA8B;IAC9B,MAAM,cAAc,GAAG,eAAe,EAAE,CAAC;IACzC,IAAI,SAAiB,CAAC;IAEtB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,cAAc,IAAI,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,0BAA0B,cAAc,CAAC,GAAG,aAAa,SAAS,EAAE,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1C,gBAAgB,CAAC;gBACf,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,IAAI;gBACJ,GAAG,EAAE,GAAG;gBACR,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,cAAc,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC5D,qBAAqB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE1E,yDAAyD;IACzD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAA0C,CAAC;YACvD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,MAAM,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CACpD,+BAA+B,CAChC,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAsB,CAAC;QAC/C,SAAS;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,gBAAgB,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,wBAAwB,CAAC,CAAC,cAAc,EAAE,CAC9D;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEhF,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,sFAAsF,IAAI,CAAC,IAAI,sDAAsD;QACvJ,CAAC,CAAC,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,2DAA2D,IAAI,CAAC,IAAI,IAAI;YAC1E,CAAC,CAAC,wKAAwK,CAAC;IAE/K,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,0CAA0C;QAC1C,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACrE,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sibyllinesoft/smith-installer",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "AI-guided Smith platform installer powered by pi-agent",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -10,7 +10,7 @@ uname -a
10
10
  node -v
11
11
  docker --version
12
12
  docker compose version
13
- cargo --version
13
+ cargo --version 2>/dev/null || echo "cargo not installed (optional — pre-built binaries available)"
14
14
 
15
15
  if [ "$(uname -s)" = "Darwin" ]; then
16
16
  command -v gondolin
@@ -25,7 +25,7 @@ This skill gathers the minimum environment facts needed before bootstrap.
25
25
  1. Confirms host OS/kernel information.
26
26
  2. Confirms Node.js runtime availability.
27
27
  3. Confirms Docker engine and Compose plugin availability.
28
- 4. Confirms Rust toolchain availability.
28
+ 4. Checks for Rust toolchain (optional — pre-built binaries are available via npm).
29
29
  5. On macOS, confirms Gondolin is installed for persistent VM sandbox mode.
30
30
  6. Establishes whether the machine can run the standard Smith Core flow.
31
31
 
@@ -51,17 +51,18 @@ cargo 1.xx.x ...
51
51
 
52
52
  - Missing `node` means installer and Node workspaces cannot run.
53
53
  - Missing `docker compose` means infrastructure cannot start.
54
- - Missing `cargo` means Rust services cannot build from source.
54
+ - Missing `cargo` is non-blocking — pre-built binaries are installed via `npm install -g @sibyllinesoft/smith-services`. Cargo is only needed to build from source.
55
55
  - On macOS, missing `gondolin` means persistent VM sandbox sessions cannot start.
56
56
 
57
57
  ## Common Failures
58
58
 
59
59
  | Symptom | Cause | Fix |
60
60
  |---------|-------|-----|
61
- | `node: command not found` | Node.js missing | Install Node 22+ |
61
+ | `node: command not found` | Node.js missing | Install Node 22+: `nvm install 22` or `fnm install 22` |
62
+ | Node < 22 detected | Older Node.js version | Upgrade: `nvm install 22 && nvm use 22` (or `fnm install 22 && fnm use 22`) |
62
63
  | `docker: command not found` | Docker missing | Install Docker engine |
63
64
  | `docker compose` unknown command | Compose plugin missing | Install Docker Compose plugin |
64
- | `cargo: command not found` | Rust toolchain missing | Install Rust via rustup |
65
+ | `cargo: command not found` | Rust toolchain missing | Optional — pre-built binaries available via npm. Install Rust via rustup only if building from source |
65
66
  | `gondolin: command not found` (macOS) | Gondolin missing | Install Gondolin and verify `gondolin help` works |
66
67
 
67
68
  ## Notes
@@ -30,15 +30,25 @@ NODE_VERSION="$(node -v 2>/dev/null || echo missing)"
30
30
  NODE_MAJOR="${NODE_VERSION#v}"
31
31
  NODE_MAJOR="${NODE_MAJOR%%.*}"
32
32
 
33
+ # Detect node version manager
34
+ if command -v fnm >/dev/null 2>&1; then
35
+ NODE_VM="fnm"
36
+ elif [ -f "${NVM_DIR:-$HOME/.nvm}/nvm.sh" ]; then
37
+ NODE_VM="nvm"
38
+ else
39
+ NODE_VM="none"
40
+ fi
41
+
33
42
  cat > var/installer/preflight.json <<JSON
34
43
  {
35
44
  "env_source": "'${ENV_SOURCE}'",
36
45
  "node": "'${NODE_VERSION}'",
37
46
  "node_major": "'${NODE_MAJOR}'",
38
47
  "node_22_ok": "'$( [ "${NODE_MAJOR}" -ge 22 ] 2>/dev/null && echo yes || echo no )'",
48
+ "node_version_manager": "'${NODE_VM}'",
39
49
  "docker": "'$(docker --version 2>/dev/null || echo missing)'",
40
50
  "compose": "'$(docker compose version 2>/dev/null || echo missing)'",
41
- "cargo": "'$(cargo --version 2>/dev/null || echo missing)'",
51
+ "cargo": "'$(cargo --version 2>/dev/null || echo optional)'",
42
52
  "postgres_password_default": "'$( [ "${POSTGRES_PASSWORD}" = "smith-dev" ] && echo yes || echo no )'",
43
53
  "mcp_index_token_set": "'$( [ -n "${MCP_INDEX_API_TOKEN}" ] && echo yes || echo no )'",
44
54
  "cloudflare_tunnel_hint": "'$( [ -n "${CLOUDFLARE_TUNNEL_TOKEN}" ] && echo yes || echo no )'",
@@ -70,9 +80,10 @@ A JSON document exists at `var/installer/preflight.json` and includes:
70
80
  - `node` — full version string
71
81
  - `node_major` — major version number
72
82
  - `node_22_ok` — `yes` if Node >= 22 (recommended for runtime services)
83
+ - `node_version_manager` — `fnm`, `nvm`, or `none`
73
84
  - `docker`
74
85
  - `compose`
75
- - `cargo`
86
+ - `cargo` — `optional` if not installed (pre-built binaries available via npm)
76
87
  - `postgres_password_default`
77
88
  - `mcp_index_token_set`
78
89
  - `cloudflare_tunnel_hint`
@@ -80,10 +91,13 @@ A JSON document exists at `var/installer/preflight.json` and includes:
80
91
 
81
92
  ## Reading Results
82
93
 
83
- - Any `missing` value is a hard blocker for full bootstrap.
84
- - If `node_22_ok` is `no`, warn that runtime services (pi-bridge, smith-cron, session-recorder) require Node >= 22 for local development. Docker containers use Node 22 regardless, so this only affects running services outside Docker.
94
+ - A `missing` value for `node`, `docker`, or `compose` is a hard blocker for full bootstrap. A `cargo` value of `optional` is non-blocking since pre-built binaries are available.
95
+ - If `node_22_ok` is `no`, warn that runtime services (pi-bridge, smith-cron, session-recorder) require Node >= 22 for local development. Docker containers use Node 22 regardless, so this only affects running services outside Docker. Provide upgrade instructions:
96
+ - nvm: `nvm install 22 && nvm use 22`
97
+ - fnm: `fnm install 22 && fnm use 22`
85
98
  - If all values are present, continue with stack startup/build steps.
86
99
  - If password defaults or missing private-network hints are detected, continue but emit loud warnings.
100
+ - Port conflicts are checked automatically by the CLI preflight. If reported, the user must free the ports before `docker compose up` will succeed.
87
101
 
88
102
  ## Common Failures
89
103
 
@@ -93,3 +107,6 @@ A JSON document exists at `var/installer/preflight.json` and includes:
93
107
  | Empty JSON values | Command substitution failed | Re-run with full shell output |
94
108
  | `cat: ... no such file` | Preflight command not run | Re-run preflight block |
95
109
  | Missing tunnel hints | VPN/tunnel env not configured yet | Continue with warning and recommend Cloudflare Tunnel or Tailscale |
110
+ | Port conflict on :5432 | Another PostgreSQL instance | `ss -tlnp 'sport = :5432'` (Linux) or `lsof -iTCP:5432` (macOS) to identify; stop the conflicting service |
111
+ | Port conflict on :4222 | Another NATS instance | Stop the conflicting NATS or remap in compose |
112
+ | Port conflict on :3000 | Another service on Grafana port | Free port or remap Grafana in compose |
@@ -26,7 +26,7 @@ This skill starts the chat bridge daemon and the correct gateway binary for each
26
26
  ### 1. Start the daemon
27
27
 
28
28
  ```bash
29
- cargo run -p smith-chat --features webhooks --bin smith-chat-daemon
29
+ smith-chat-daemon
30
30
  ```
31
31
 
32
32
  The daemon reads `CHAT_BRIDGE_CONFIG` (defaults to `config/chat-bridge.toml`) and starts the webhook server on `CHAT_BRIDGE_WEBHOOK_PORT` (defaults to 8092).
@@ -34,7 +34,7 @@ The daemon reads `CHAT_BRIDGE_CONFIG` (defaults to `config/chat-bridge.toml`) an
34
34
  Start this in a separate terminal or background it with log redirection:
35
35
 
36
36
  ```bash
37
- cargo run -p smith-chat --features webhooks --bin smith-chat-daemon 2>&1 | tee logs/chat-daemon.log &
37
+ smith-chat-daemon 2>&1 | tee logs/chat-daemon.log &
38
38
  ```
39
39
 
40
40
  ### 2. Start gateway(s) for each configured platform
@@ -54,16 +54,16 @@ Parse the `type = ` values from the config and start the matching gateway binary
54
54
  | `google_chat` | `smith-google-chat-gateway` | `GOOGLE_CHAT_WEBHOOK_URL` |
55
55
  | `imessage` | `smith-imessage-gateway` | (config-only) |
56
56
 
57
- Start each gateway with:
57
+ Start each gateway directly:
58
58
 
59
59
  ```bash
60
- cargo run -p smith-chat --bin <binary-name>
60
+ <binary-name>
61
61
  ```
62
62
 
63
63
  For example, for Discord:
64
64
 
65
65
  ```bash
66
- cargo run -p smith-chat --bin smith-discord-gateway 2>&1 | tee logs/discord-gateway.log &
66
+ smith-discord-gateway 2>&1 | tee logs/discord-gateway.log &
67
67
  ```
68
68
 
69
69
  Each gateway should run in its own terminal or backgrounded process.
@@ -73,7 +73,7 @@ Each gateway should run in its own terminal or backgrounded process.
73
73
  - `config/chat-bridge.toml` exists and has at least one `[[adapters]]` stanza (run `setup-chat-bridge` first).
74
74
  - Platform credentials set in `.env` for each configured adapter.
75
75
  - Docker stack running (NATS and Redis required by daemon).
76
- - Rust workspace built (`cargo build -p smith-chat`).
76
+ - smith-services installed (`npm install -g @sibyllinesoft/smith-services`) or built from source (`cargo build -p smith-chat`).
77
77
 
78
78
  ## Expected Output
79
79
 
@@ -6,24 +6,24 @@ description: Verify the full Smith Core bootstrap state after install steps
6
6
  Run:
7
7
 
8
8
  ```bash
9
- cargo check --workspace
10
9
  npm run build --workspaces --if-present
11
10
  docker compose ps
12
11
  ```
13
12
 
14
- Then check agentd (optional, may not be installed):
13
+ Then check pre-built binaries (optional, may not be installed):
15
14
 
16
15
  ```bash
16
+ smith-chat-daemon --help || echo "smith-services not installed (non-fatal)"
17
17
  agentd --version || echo "agentd not installed (non-fatal)"
18
18
  ```
19
19
 
20
20
  ## What It Does
21
21
 
22
- This skill validates that core components are buildable and infrastructure is running.
22
+ This skill validates that core components are installed and infrastructure is running.
23
23
 
24
- 1. Checks Rust root workspace.
25
- 2. Builds Node workspaces.
26
- 3. Confirms Docker services are active and healthy.
24
+ 1. Builds Node workspaces.
25
+ 2. Confirms Docker services are active and healthy.
26
+ 3. Optionally verifies smith-services binaries are installed (non-fatal if missing).
27
27
  4. Optionally verifies agentd is installed (non-fatal if missing).
28
28
 
29
29
  ## Prerequisites
@@ -33,27 +33,26 @@ This skill validates that core components are buildable and infrastructure is ru
33
33
 
34
34
  ## Expected Output
35
35
 
36
- - All check/build commands exit with status 0.
36
+ - All build commands exit with status 0.
37
37
  - `docker compose ps` shows core services as `running` or `healthy`.
38
38
 
39
39
  ## Reading Results
40
40
 
41
41
  Installation is considered healthy when:
42
42
 
43
- - Rust checks pass.
44
43
  - Node workspace build passes.
45
44
  - Core services (`nats`, `postgres`, `envoy`, `mcp-index`) are running.
46
45
 
47
- agentd is a supplementary componentits absence does not block the core stack.
46
+ smith-services and agentd are supplementary componentstheir absence does not block the core stack.
48
47
 
49
48
  ## Common Failures
50
49
 
51
50
  | Symptom | Cause | Fix |
52
51
  |---------|-------|-----|
53
- | Rust check failures | Code/toolchain mismatch | Fix compile issues and rerun |
54
52
  | npm build failures | TS/dependency issue | Resolve workspace build errors |
55
53
  | Containers not running | Compose/startup failure | Inspect compose logs and restart |
56
54
  | Intermittent health failures | Service startup race | Wait and re-run verification |
55
+ | smith-chat-daemon --help fails | Platform binary not available | Non-fatal; build from source with cargo if needed |
57
56
  | agentd --version fails | Platform binary not available | Non-fatal; build from source if needed |
58
57
 
59
58
  ## Notes