@panguard-ai/panguard 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/dist/cli/commands/audit.d.ts.map +1 -1
  3. package/dist/cli/commands/audit.js +56 -6
  4. package/dist/cli/commands/audit.js.map +1 -1
  5. package/dist/cli/commands/config.d.ts +6 -1
  6. package/dist/cli/commands/config.d.ts.map +1 -1
  7. package/dist/cli/commands/config.js +39 -23
  8. package/dist/cli/commands/config.js.map +1 -1
  9. package/dist/cli/commands/doctor.d.ts.map +1 -1
  10. package/dist/cli/commands/doctor.js +63 -20
  11. package/dist/cli/commands/doctor.js.map +1 -1
  12. package/dist/cli/commands/guard.d.ts.map +1 -1
  13. package/dist/cli/commands/guard.js +220 -70
  14. package/dist/cli/commands/guard.js.map +1 -1
  15. package/dist/cli/commands/hook.d.ts +115 -0
  16. package/dist/cli/commands/hook.d.ts.map +1 -0
  17. package/dist/cli/commands/hook.js +767 -0
  18. package/dist/cli/commands/hook.js.map +1 -0
  19. package/dist/cli/commands/persist.d.ts +32 -0
  20. package/dist/cli/commands/persist.d.ts.map +1 -0
  21. package/dist/cli/commands/persist.js +104 -0
  22. package/dist/cli/commands/persist.js.map +1 -0
  23. package/dist/cli/commands/scan.d.ts.map +1 -1
  24. package/dist/cli/commands/scan.js +157 -54
  25. package/dist/cli/commands/scan.js.map +1 -1
  26. package/dist/cli/commands/setup.d.ts.map +1 -1
  27. package/dist/cli/commands/setup.js +110 -37
  28. package/dist/cli/commands/setup.js.map +1 -1
  29. package/dist/cli/commands/status.d.ts.map +1 -1
  30. package/dist/cli/commands/status.js +66 -26
  31. package/dist/cli/commands/status.js.map +1 -1
  32. package/dist/cli/commands/up.d.ts.map +1 -1
  33. package/dist/cli/commands/up.js +380 -96
  34. package/dist/cli/commands/up.js.map +1 -1
  35. package/dist/cli/consent.d.ts +26 -6
  36. package/dist/cli/consent.d.ts.map +1 -1
  37. package/dist/cli/consent.js +47 -18
  38. package/dist/cli/consent.js.map +1 -1
  39. package/dist/cli/credentials.d.ts +11 -1
  40. package/dist/cli/credentials.d.ts.map +1 -1
  41. package/dist/cli/credentials.js +6 -1
  42. package/dist/cli/credentials.js.map +1 -1
  43. package/dist/cli/dashboard-url.d.ts +31 -0
  44. package/dist/cli/dashboard-url.d.ts.map +1 -0
  45. package/dist/cli/dashboard-url.js +66 -0
  46. package/dist/cli/dashboard-url.js.map +1 -0
  47. package/dist/cli/first-run.d.ts +35 -0
  48. package/dist/cli/first-run.d.ts.map +1 -0
  49. package/dist/cli/first-run.js +59 -0
  50. package/dist/cli/first-run.js.map +1 -0
  51. package/dist/cli/guard-config.d.ts.map +1 -1
  52. package/dist/cli/guard-config.js +15 -3
  53. package/dist/cli/guard-config.js.map +1 -1
  54. package/dist/cli/index.js +32 -11
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/cli/interactive/actions/setup.d.ts.map +1 -1
  57. package/dist/cli/interactive/actions/setup.js +2 -10
  58. package/dist/cli/interactive/actions/setup.js.map +1 -1
  59. package/dist/cli/interactive/menu-defs.js +6 -6
  60. package/dist/cli/interactive/render.js +1 -1
  61. package/dist/cli/interactive/render.js.map +1 -1
  62. package/dist/cli/workspace-sync.d.ts +0 -1
  63. package/dist/cli/workspace-sync.d.ts.map +1 -1
  64. package/dist/cli/workspace-sync.js +3 -1
  65. package/dist/cli/workspace-sync.js.map +1 -1
  66. package/dist/init/wizard-runner.d.ts.map +1 -1
  67. package/dist/init/wizard-runner.js +0 -8
  68. package/dist/init/wizard-runner.js.map +1 -1
  69. package/package.json +15 -14
package/CHANGELOG.md CHANGED
@@ -2,6 +2,130 @@
2
2
 
3
3
  All notable changes to Panguard AI will be documented in this file.
4
4
 
5
+ ## [1.7.0] - 2026-06-20
6
+
7
+ GA hardening of the free Community product — the full path from website to
8
+ install to activation to real protection, with a security review of the install
9
+ package itself. Two adversarial audits (security + product readiness) drove this
10
+ release; the items below are the confirmed, fixed, and verified findings.
11
+
12
+ ### Added
13
+
14
+ - **Guard dashboard 1.7.** New Coverage, Runtime, and Threat Cloud tabs;
15
+ one-click threat actions (quarantine / whitelist / restore); an honest
16
+ three-state Guard mode (Learning / Report-only / Protection); a
17
+ collective-defense opt-in control (off by default); and a redesigned Alert
18
+ Channels page — zero-config by default, with each optional channel shown as a
19
+ copy-paste config line (secrets go in the file, never the dashboard).
20
+ - **`pga guard ai`** (alias of `setup-ai`) connects the optional semantic layer
21
+ (Layer C). It auto-detects a local Ollama runtime (free, private, nothing
22
+ leaves the machine) or persists a cloud key encrypted at rest
23
+ (`~/.panguard-guard` is unaffected; the key lives AES-256-GCM-encrypted in
24
+ `~/.panguard/llm.enc`, `0600`) so the reboot-surviving daemon can actually read
25
+ it — a shell environment variable could not. `pga guard ai --remove` turns it
26
+ off. Layer C is advisory and can never auto-block.
27
+ - **Multi-platform PreToolUse hooks** across seven agent platforms, and
28
+ `pga hook uninstall --all` / `--platform` to remove them.
29
+
30
+ ### Fixed
31
+
32
+ - **`pga scan --all` reported known-malicious skills as clean.** The batch path
33
+ read a non-existent `findings` field from the ATR JSON, so every skill counted
34
+ clean. It now parses the real schema (`threats_detected` / `results[].matches`)
35
+ — a malicious skill is flagged.
36
+ - **`pga status` disagreed with `pga guard status`.** It read only the legacy
37
+ master config and printed "Config: Not initialized" while the daemon was
38
+ running. It now consults the canonical Guard config + live engine and agrees.
39
+ - **`pga doctor`** read the wrong config path (reporting a fresh install as
40
+ broken) and claimed Threat Cloud shared findings "by default"; it now reads the
41
+ canonical config and shows Threat Cloud as opt-in / off.
42
+ - **`pga -v`** printed nothing useful and fell through to the first-run setup
43
+ wizard (which wrote config files); it now prints the version and exits.
44
+ - **Dashboard mode + collective-defense toggles** reported success but reverted,
45
+ because the daemon never reloaded its config. They now apply live (the engine
46
+ re-arms for the new mode) and two saves no longer clobber each other.
47
+ - **`pga audit skill <missing-path>`** returned a green PASS; it now errors. The
48
+ default (cloud) audit no longer hangs ~120s after printing its report.
49
+ - **Honest posture end to end.** Zero loaded rules now shows DEGRADED instead of
50
+ a green "PROTECTED" / all-clear; Report-only never displays PROTECTED; an
51
+ unauthenticated dashboard shows an explicit "run `pga up`" screen instead of a
52
+ static green "Active" badge.
53
+ - **English-only CLI/daemon output** (first-run consent prompt, interactive menu
54
+ footer, config-load logs) and a renumbered interactive menu (no dead key).
55
+ - **Secondary CLIs.** `threat-cloud --version`/`--help` no longer boot a full
56
+ HTTP server (now gated behind `threat-cloud serve`); `panguard-skill-audit`
57
+ with no args prints help instead of silently scanning the current directory and
58
+ dumping structured logs.
59
+ - **Cross-platform.** The unscoped `panguard` redirect no longer crashes on
60
+ Windows (`pathToFileURL`); Linux persistence uses rootless `systemctl --user`.
61
+
62
+ ### Security
63
+
64
+ - **`pga scan` no longer uploads to Threat Cloud without consent.** The bundled
65
+ scanner reports anonymously by default; both `pga scan` paths now force
66
+ `--no-report` and strip any inherited `TC_API_KEY` unless the user has
67
+ explicitly opted in (consent stays default-off). A user-facing `--no-report`
68
+ flag was added. Verified: a non-consented scan makes zero network calls.
69
+ - **Install package hardened (curl / PowerShell / Homebrew).** The installers now
70
+ activate through the single hardened `pga up` path — real rule/threat counts,
71
+ reboot-survival, and an authenticated dashboard URL — and the hardcoded fake
72
+ "61 rules / learning mode day 1/7" lines were removed. Prebuilt-binary checksum
73
+ verification is now fail-closed: an unverifiable binary is never installed (it
74
+ falls back to a local source build). The served and source installer copies are
75
+ kept byte-identical.
76
+ - **Corrupt config fails safe.** A malformed `config.json` no longer silently
77
+ restores `protection` mode (discarding the user's telemetry opt-out); it falls
78
+ back to the most conservative posture (report-only, telemetry + uploads off)
79
+ with a prominent warning, and preserves the corrupt file.
80
+ - **Cloud rule sync fails closed** (an unsigned/unverifiable update loads zero
81
+ rules with a loud warning, never silently); community blacklist revocation now
82
+ requires a confidence threshold, resisting MITM/poisoning.
83
+ - **Outbound SSRF guards.** A shared validator (https-only; blocks
84
+ private / reserved / loopback-metadata / IPv4-mapped-IPv6 addresses) now gates
85
+ Threat Cloud provisioning, telemetry, notification webhooks, the dashboard
86
+ endpoint, and the trap uploader; outbound `fetch` uses `redirect: 'error'`.
87
+ - **Hardening.** ReDoS checks on engine + LLM-generated regex; Slack/Discord
88
+ webhook URLs redacted from config dumps and `/api/config`; removed argv secret
89
+ flags (`threat-cloud` admin/Anthropic keys, `panguard-chat` Telegram token);
90
+ config files written `0600`; `panguard-chat` config dump redacted; the PreToolUse
91
+ hook fails open when `pga` is missing so an orphaned hook can't brick an agent.
92
+ - **Dependencies.** `ws` → `^8.21.0` (GHSA-96hv-2xvq-fx4p), `hono` override
93
+ → `>=4.12.25`. A LICENSE file now ships in every published package.
94
+ - **Claims.** Trade-libel cleanup, defensible benchmark numbers, and rule counts
95
+ realigned to the bundled ATR ruleset (650+, sourced dynamically).
96
+
97
+ ## [1.6.1] - 2026-06-15
98
+
99
+ ### Fixed
100
+
101
+ - **`pga scan` now runs the bundled ruleset.** The scanner used to shell out to
102
+ whatever `atr` binary happened to be on `$PATH` (or `npx agent-threat-rules@latest`),
103
+ so a user with an older global `atr` silently scanned with a stale, smaller rule
104
+ set (e.g. 462 rules from a 3.2.0 global install instead of the 651 PanGuard ships).
105
+ It now resolves and runs the agent-threat-rules CLI bundled with this install.
106
+ - **`pga up` scans before it deploys.** The flow injected runtime protection into
107
+ agent configs first and scanned skills afterwards — the opposite of what the
108
+ command described. It now detects platforms, scans installed skills, surfaces
109
+ threats, and only then injects protection and starts Guard.
110
+ - **Honest active-rule count.** `pga up` no longer prints a hardcoded `311`
111
+ fallback (referencing a two-year-old bundled version). It reads the real count
112
+ bundled with the install and never reports fewer rules than are actually loaded.
113
+ - **English-only Guard dashboard data.** Anomaly-baseline deviation descriptions
114
+ and investigation reasoning were bilingual (English + Chinese) and surfaced into
115
+ the dashboard via verdict evidence. They are now English-only.
116
+
117
+ ### Security
118
+
119
+ - **Detection rules no longer live-apply from a network relay.** The Guard daemon
120
+ used to pull ATR rule content from Threat Cloud every 5 minutes and apply it to
121
+ the engine with no review — a supply-chain attack surface (a compromised or
122
+ MITM'd relay could push ReDoS or auto-blocking rules to every client). Rules now
123
+ ship bundled with the npm package (integrity-verified, immutable, publicly
124
+ auditable) and change only via an explicit `pga upgrade`. A once-a-day check
125
+ against the npm registry NOTIFIES when a newer published ruleset is available;
126
+ it never downloads or applies rules automatically. Threat-indicator feeds
127
+ (IP/domain blocklists, community skill lists) are unaffected.
128
+
5
129
  ## [1.6.0] - 2026-06-15
6
130
 
7
131
  ### Security
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2IpC,wBAAgB,YAAY,IAAI,OAAO,CAqftC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2IpC,wBAAgB,YAAY,IAAI,OAAO,CA0iBtC"}
@@ -130,6 +130,25 @@ export function auditCommand() {
130
130
  else if (!options.json) {
131
131
  setLogLevel('silent');
132
132
  }
133
+ // Collective-defense upload is OPT-IN, default OFF. `--no-cloud` is a hard
134
+ // off-switch, but even with cloud not disabled we only upload when the user
135
+ // has EXPLICITLY opted in (threatCloudUploadEnabled === true in the guard
136
+ // config). Absent/unset config or any read error => OFF (no upload).
137
+ const cloudUploadAllowed = await (async () => {
138
+ if (!options.cloud)
139
+ return false;
140
+ try {
141
+ const { existsSync, readFileSync } = await import('node:fs');
142
+ const cfgPath = path.join(process.env['HOME'] ?? process.env['USERPROFILE'] ?? '.', '.panguard-guard', 'config.json');
143
+ if (!existsSync(cfgPath))
144
+ return false;
145
+ const cfg = JSON.parse(readFileSync(cfgPath, 'utf-8'));
146
+ return cfg.threatCloudUploadEnabled === true;
147
+ }
148
+ catch {
149
+ return false;
150
+ }
151
+ })();
133
152
  // ── Detect URL vs local path ──
134
153
  let resolvedPath;
135
154
  let tempDir = null;
@@ -177,6 +196,20 @@ export function auditCommand() {
177
196
  }
178
197
  else {
179
198
  resolvedPath = path.resolve(skillPath);
199
+ // Validate the local path exists before auditing — mirrors `pga scan
200
+ // <path>`. Without this, auditSkill() on a missing path silently
201
+ // returned an empty (clean) report, so a typo'd path rendered a green
202
+ // PASS instead of an error.
203
+ if (!existsSync(resolvedPath)) {
204
+ if (options.json) {
205
+ console.log(JSON.stringify({ error: `Path not found: ${resolvedPath}` }));
206
+ }
207
+ else {
208
+ console.error(`Error: Path not found: ${resolvedPath}`);
209
+ }
210
+ process.exitCode = 1;
211
+ return;
212
+ }
180
213
  if (!options.json) {
181
214
  banner('Panguard Skill Auditor');
182
215
  console.log(c.dim(` Scanning: ${resolvedPath}`));
@@ -323,8 +356,8 @@ export function auditCommand() {
323
356
  }
324
357
  }
325
358
  }
326
- // ── Report to Threat Cloud (flywheel) ──
327
- if (options.cloud && report.riskScore > 0) {
359
+ // ── Report to Threat Cloud (flywheel) — OPT-IN upload only ──
360
+ if (cloudUploadAllowed && report.riskScore > 0) {
328
361
  const skillHash = computeSkillHash(resolvedPath);
329
362
  const skillName = report.manifest?.name ?? path.basename(resolvedPath);
330
363
  const submission = {
@@ -363,8 +396,8 @@ export function auditCommand() {
363
396
  }
364
397
  }
365
398
  }
366
- // ── Flywheel: submit ATR proposal for HIGH/CRITICAL findings ──
367
- if (options.cloud &&
399
+ // ── Flywheel: submit ATR proposal for HIGH/CRITICAL findings — OPT-IN ──
400
+ if (cloudUploadAllowed &&
368
401
  (report.riskLevel === 'HIGH' || report.riskLevel === 'CRITICAL') &&
369
402
  report.findings.length > 0) {
370
403
  try {
@@ -438,8 +471,8 @@ response:
438
471
  // ATR proposal submission is best-effort
439
472
  }
440
473
  }
441
- // Report scan event to TC for metrics (always, regardless of findings)
442
- if (options.cloud) {
474
+ // Report scan event to TC for metrics OPT-IN upload only.
475
+ if (cloudUploadAllowed) {
443
476
  try {
444
477
  const { ThreatCloudClient } = await import('@panguard-ai/panguard-guard');
445
478
  const dataDir = path.join(process.env['HOME'] ?? process.env['USERPROFILE'] ?? '.', '.panguard-guard');
@@ -524,6 +557,23 @@ response:
524
557
  process.exitCode = 2;
525
558
  else if (report.riskLevel === 'HIGH')
526
559
  process.exitCode = 1;
560
+ // Explicit exit. The Threat Cloud client (ThreatCloudClient) starts a
561
+ // 60s flush `setInterval` per instance and this command creates several
562
+ // transient instances (blacklist, submit, proposal, scan-event) that go
563
+ // out of scope without stopFlushTimer(), each leaving an unreferenced
564
+ // timer / keep-alive socket that pins the event loop open for ~120s. All
565
+ // meaningful async work above is already awaited and best-effort uploads
566
+ // are fire-and-forget by design, so once output is flushed we terminate
567
+ // deterministically instead of hanging on those leaked handles. The
568
+ // fast --no-cloud / --json paths reach here with the same exit code, so
569
+ // a clean exit does not change their behavior.
570
+ const code = process.exitCode ?? 0;
571
+ const done = () => process.exit(code);
572
+ // Drain stdout before exiting so no rendered report is truncated.
573
+ if (process.stdout.writableLength === 0)
574
+ done();
575
+ else
576
+ process.stdout.write('', done);
527
577
  });
528
578
  return cmd;
529
579
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,oCAAoC;AACpC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAErD,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E,6CAA6C;AAC7C,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,CACL,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAC9F,CAAC;AACJ,CAAC;AAUD,kDAAkD;AAClD,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;QACrE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAElC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;YACrE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,KAAK;YACL,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAyB;SAClE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,IAAY,EACZ,MAAc,EACd,QAAgB;IAEhB,MAAM,GAAG,GAAG,qCAAqC,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;IACvF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,iBAAiB,CAC9B,MAAiB;IAEjB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEzD,8EAA8E;IAC9E,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,CAAC,GAAG,QAAQ,WAAW,EAAE,GAAG,QAAQ,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;QAC1E,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAE7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE,EAAE,CAAC;IACrF,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpE,IAAI,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,KAAK,IAAI,IAAI,YAAY,EAAE,CAAC;IAEvF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iEAAiE;AACjE,SAAS,cAAc,CAAC,OAAe,EAAE,SAAiB;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACnB,MAAM,EAAE,EACR,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CACpE,CAAC;IACF,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,wEAAwE;IACxE,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,SAAS,aAAa,OAAO,EAAE,CAAC;IAC/F,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAElF,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4EAA4E,CAAC;SACzF,QAAQ,CACP,eAAe,EACf,wFAAwF,CACzF;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC;SACzC,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,CAAC;SAC5C,MAAM,CAAC,YAAY,EAAE,8BAA8B,CAAC;SACpD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;SAC3E,MAAM,CACL,KAAK,EACH,SAAiB,EACjB,OAKC,EACD,EAAE;QACF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,WAAW,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzB,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,iCAAiC;QACjC,IAAI,YAAoB,CAAC;QACzB,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,YAAY,GAAkB,IAAI,CAAC;QAEvC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,qDAAqD,EAAE,CAAC,CACjF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;oBAC7D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACvF,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;wBACb,KAAK,EAAE,8BAA8B,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,uBAAuB;qBACxF,CAAC,CACH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACrF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACnD,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACrD,YAAY,GAAG,OAAO,CAAC;YACvB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YAE9B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,YAAY,EAAE,CAAC,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEvC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;QAE3E,sDAAsD;QACtD,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,eAAe,GAAG,EAAE,CAAC;QASzB,MAAM,UAAU,GAAmB,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,EACxD,iBAAiB,CAClB,CAAC;gBACF,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEvE,oDAAoD;gBACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBACjD,MAAM,SAAS,GAAG,YAAY;oBAC5B,CAAC,CAAC,YAAY;yBACT,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;yBACjC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;oBAC/C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,UAAU;wBAC1C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC3C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CACrF,CAAC;oBACF,IAAI,KAAK,EAAE,CAAC;wBACV,aAAa,GAAG,IAAI,CAAC;wBACrB,eAAe,GAAG,0BAA0B,KAAK,CAAC,WAAW,iCAAiC,KAAK,CAAC,YAAY,GAAG,CAAC;wBACpH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAClB,OAAO,CAAC,GAAG,EAAE,CAAC;4BACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAClF,CAAC;4BACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,SAAS,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CACzE,CAAC;4BACF,OAAO,CAAC,GAAG,EAAE,CAAC;wBAChB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;gBAED,4BAA4B;gBAC5B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;gBAC5C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAiB,CAAC;wBAC9D,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BAClD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,yBAAyB;oBAC3B,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,MAAM,2BAA2B,CAAC,CAAC,CAAC;oBACpF,IAAI,CAAC,aAAa;wBAAE,OAAO,CAAC,GAAG,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAE9D,qCAAqC;QACrC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC;YAC9B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACnD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,EAAE,EAAE,eAAe;gBACnB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,eAAe;aACE,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,MAAM,WAAW,GAA0C;gBACzD,GAAG,EAAE,CAAC,CAAC,KAAK;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,GAAG;gBACX,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC1C,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YAEvD,OAAO,CAAC,GAAG,CACT,GAAG,CACD;gBACE,GAAG,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE;gBAC1C,EAAE;gBACF,eAAe,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvI,eAAe,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,SAAS,EAAE;gBAC/D,eAAe,OAAO,CAAC,GAAG,MAAM,CAAC,SAAS,SAAS,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE;gBACzE,eAAe,MAAM,CAAC,UAAU,IAAI;aACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;YAEF,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,GACR,KAAK,CAAC,MAAM,KAAK,MAAM;oBACrB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBACvB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;wBACvB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;wBACrB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;4BACvB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;4BACxB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,KAAK,MAAM;oBACrB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;wBACvB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;4BACvB,CAAC,CAAC,MAAM;4BACR,CAAC,CAAC,MAAM,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,WAAW,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,6CAA6C;YAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CACjE,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,MAAM,CAAC,qEAAqE,CAAC,CAChF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;YAEV,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACtC,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,KAAK,UAAU;wBAC7B,CAAC,CAAC,CAAC,CAAC,GAAG;wBACP,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM;4BAC3B,CAAC,CAAC,CAAC,CAAC,MAAM;4BACV,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACjD,IAAI,OAAO,CAAC,QAAQ;wBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC5E,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEvE,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,SAAS;gBACT,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC;aACJ,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,EACxD,iBAAiB,CAClB,CAAC;gBACF,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvE,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAEzD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClB,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,8CAA8C,CAAC,EAAE,CACtF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,+CAA+C,CAAC,EAAE,CAC7E,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,mDAAmD,CAAC,EAAE,CACjF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IACE,OAAO,CAAC,KAAK;YACb,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC;YAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,EACxD,iBAAiB,CAClB,CAAC;gBACF,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAEvE,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ;qBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC;qBACjE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACf,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAErD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAEtE,MAAM,UAAU,GAAG,YAAY;qBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;oBACd,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK;yBACrB,KAAK,CAAC,KAAK,CAAC;yBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;yBAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACf,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;oBACvC,MAAM,KAAK,GAAG,QAAQ;yBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;yBACpD,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO,kEAAkE,KAAK,kCAAkC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;gBACtJ,CAAC,CAAC;qBACD,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEnB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,WAAW,GAAG,sBAAsB,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS;qBACnF,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;sCAGA,SAAS;cACjC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;;SAEjC,IAAI;;;;YAID,QAAQ;;;;;;;EAOlB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;6BAGM,CAAC;oBAEhB,MAAM,EAAE,CAAC,iBAAiB,CAAC;wBACzB,WAAW,EAAE,KAAK;wBAClB,WAAW;wBACX,WAAW,EAAE,aAAa;wBAC1B,QAAQ,EAAE,oBAAoB;wBAC9B,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;4BAChC,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE,aAAa;4BACrB,SAAS;4BACT,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,YAAY,EAAE,YAAY,CAAC,MAAM;yBAClC,CAAC;qBACH,CAAC,CAAC;oBAEH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAClB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,6CAA6C,CAAC,EAAE,CACrF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,EACxD,iBAAiB,CAClB,CAAC;gBACF,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvE,KAAK,EAAE,CAAC,eAAe,CAAC;oBACtB,MAAM,EAAE,UAAU;oBAClB,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;oBACrC,kBAAkB,EAAE,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,gBAAgB,EAAE,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,UAAU,EAAE,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzE,CAAC,CAAC;gBAEH,kEAAkE;gBAClE,gEAAgE;gBAChE,8DAA8D;gBAC9D,yDAAyD;gBACzD,uDAAuD;gBACvD,KAAK,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,YAAY,EAAE;oBAC5C,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,GAAG,uBAAuB,EAAE;qBAC7B;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,UAAU,EAAE,UAAU;wBACtB,MAAM,EAAE,UAAU;wBAClB,QAAQ,EAAE;4BACR,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;4BAC3D,IAAI,EAAE,MAAM,CAAC,SAAS;4BACtB,KAAK,EAAE,MAAM,CAAC,SAAS;4BACvB,MAAM,EAAE,CAAC,CAAC,YAAY;yBACvB;qBACF,CAAC;oBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;iBAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,iEAAiE;QACjE,+DAA+D;QAC/D,IAAI,CAAC;YACH,mEAAmE;YACnE,6CAA6C;YAC7C,IAAI,UAA8B,CAAC;YACnC,IAAI,CAAC;gBACH,UAAU,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;YACD,MAAM,MAAM,GAAG,0BAA0B,CAAC;gBACxC,MAAM,EAAE,YAAY,IAAI,YAAY;gBACpC,UAAU;gBACV,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAKf;gBACF,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;aAChE,CAAC,CAAC;YACH,MAAM,UAAU,CAAC,MAAM,EAAE;gBACvB,eAAe,EAAE,gBAAgB;gBACjC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;QAED,iDAAiD;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;aACrD,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC7D,CAAC,CACF,CAAC;IAEJ,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,15 @@
2
2
  * panguard config - Manage local configuration
3
3
  *
4
4
  * Subcommands:
5
- * pga config llm --provider claude --api-key sk-xxx
5
+ * pga config llm --provider claude
6
6
  * pga config llm --provider ollama --endpoint http://localhost:11434
7
7
  * pga config llm --show
8
8
  * pga config llm --clear
9
+ *
10
+ * Security: there is no --api-key flag. A secret passed on the command line is
11
+ * exposed to `ps`, shell history, and process listings. Cloud keys are read
12
+ * only from the ANTHROPIC_API_KEY / OPENAI_API_KEY environment variables (see
13
+ * panguard-guard llm-detect.ts); this build never persists a cloud key to disk.
9
14
  */
10
15
  import { Command } from 'commander';
11
16
  export declare function configCommand(): Command;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,aAAa,IAAI,OAAO,CAsMvC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,aAAa,IAAI,OAAO,CA6LvC"}
@@ -2,10 +2,15 @@
2
2
  * panguard config - Manage local configuration
3
3
  *
4
4
  * Subcommands:
5
- * pga config llm --provider claude --api-key sk-xxx
5
+ * pga config llm --provider claude
6
6
  * pga config llm --provider ollama --endpoint http://localhost:11434
7
7
  * pga config llm --show
8
8
  * pga config llm --clear
9
+ *
10
+ * Security: there is no --api-key flag. A secret passed on the command line is
11
+ * exposed to `ps`, shell history, and process listings. Cloud keys are read
12
+ * only from the ANTHROPIC_API_KEY / OPENAI_API_KEY environment variables (see
13
+ * panguard-guard llm-detect.ts); this build never persists a cloud key to disk.
9
14
  */
10
15
  import { Command } from 'commander';
11
16
  import { c, banner } from '@panguard-ai/core';
@@ -13,6 +18,17 @@ import { PANGUARD_VERSION } from '../../index.js';
13
18
  import { saveLlmConfig, loadLlmConfig, deleteLlmConfig } from '../credentials.js';
14
19
  import { loadGuardConfig, updateGuardConfig } from '../guard-config.js';
15
20
  import { saveLang } from '../interactive/lang.js';
21
+ /**
22
+ * Print how to provide a cloud key without persisting it: via the environment
23
+ * variable the semantic layer actually reads, or via local Ollama (no key).
24
+ */
25
+ function printCloudKeyGuidance() {
26
+ console.log('');
27
+ console.log(` ${c.dim('Set the key in your environment (never stored on disk):')}`);
28
+ console.log(` ${c.sage('export ANTHROPIC_API_KEY=sk-ant-...')} ${c.dim('# Anthropic')}`);
29
+ console.log(` ${c.sage('export OPENAI_API_KEY=sk-...')} ${c.dim('# OpenAI')}`);
30
+ console.log(` ${c.dim('Or use local Ollama (no key):')} pga config llm --provider ollama`);
31
+ }
16
32
  export function configCommand() {
17
33
  const cmd = new Command('config').description('Manage local configuration');
18
34
  cmd
@@ -55,7 +71,7 @@ export function configCommand() {
55
71
  console.log(` ${c.sage('Guard Configuration')}`);
56
72
  const guardConfig = loadGuardConfig();
57
73
  console.log(` Telemetry: ${guardConfig.telemetryEnabled === true ? c.safe('enabled') : c.dim('disabled')}`);
58
- console.log(` Threat Cloud: ${guardConfig.threatCloudUploadEnabled === false ? c.dim('disabled') : c.safe('enabled')}`);
74
+ console.log(` Threat Cloud: ${guardConfig.threatCloudUploadEnabled === true ? c.safe('enabled') : c.dim('disabled')}`);
59
75
  console.log(` Mode: ${guardConfig.mode ? c.bold(guardConfig.mode) : c.dim('default')}`);
60
76
  console.log(` Dashboard: ${guardConfig.dashboardEnabled === true ? c.safe('enabled') : c.dim('disabled')}`);
61
77
  if (guardConfig.dashboardPort) {
@@ -78,30 +94,27 @@ export function configCommand() {
78
94
  .command('llm')
79
95
  .description('Configure the optional advisory semantic layer (bring your own LLM, off by default)')
80
96
  .option('--provider <provider>', 'LLM provider: claude, openai, ollama')
81
- .option('--api-key <key>', 'API key (for claude/openai)')
82
97
  .option('--model <model>', 'Model override (e.g., claude-haiku-4-5-20251001, gpt-4o)')
83
98
  .option('--endpoint <url>', 'Endpoint URL (for ollama, default: http://localhost:11434)')
84
99
  .option('--show', 'Show current LLM configuration')
85
100
  .option('--clear', 'Remove stored LLM configuration')
86
101
  .action((options) => {
87
102
  console.log(banner(PANGUARD_VERSION));
88
- console.log(` ${c.dim('Note: detection is deterministic by default (ATR rules + heuristics). Configuring a provider adds an OPTIONAL, advisory semantic layer — it can flag findings for review but never auto-blocks. --show / --clear manage the stored config.')}`);
103
+ console.log(` ${c.dim('Note: detection is deterministic by default (ATR rules + heuristics). The OPTIONAL advisory semantic layer can flag findings for review but never auto-blocks. This build never stores a cloud API key on disk.')}`);
89
104
  console.log('');
90
105
  if (options.show) {
91
106
  const config = loadLlmConfig();
92
107
  if (!config) {
93
108
  console.log(` ${c.dim('No LLM configuration found.')}`);
94
- console.log(` ${c.dim('Set one with:')} pga config llm --provider claude --api-key sk-...`);
109
+ printCloudKeyGuidance();
95
110
  return;
96
111
  }
97
112
  console.log(` ${c.sage('LLM Configuration')}`);
98
113
  console.log(` Provider: ${c.bold(config.provider)}`);
99
- console.log(` API Key: ${config.apiKey ? c.safe(config.apiKey.slice(0, 8) + '...' + config.apiKey.slice(-4)) : c.dim('none')}`);
100
114
  console.log(` Model: ${config.model ? c.bold(config.model) : c.dim('default')}`);
101
115
  console.log(` Endpoint: ${config.endpoint ? c.bold(config.endpoint) : c.dim('default')}`);
102
116
  console.log(` Saved: ${c.dim(config.savedAt)}`);
103
117
  console.log('');
104
- console.log(` ${c.dim('Stored encrypted at ~/.panguard/llm.enc')}`);
105
118
  return;
106
119
  }
107
120
  if (options.clear) {
@@ -118,14 +131,10 @@ export function configCommand() {
118
131
  console.log(` ${c.caution('--provider is required.')}`);
119
132
  console.log('');
120
133
  console.log(' Examples:');
121
- console.log(` ${c.dim('$')} pga config llm --provider claude --api-key sk-ant-xxx`);
122
- console.log(` ${c.dim('$')} pga config llm --provider openai --api-key sk-xxx`);
134
+ console.log(` ${c.dim('$')} pga config llm --provider claude`);
135
+ console.log(` ${c.dim('$')} pga config llm --provider openai`);
123
136
  console.log(` ${c.dim('$')} pga config llm --provider ollama`);
124
- console.log('');
125
- console.log(' OpenAI-compatible APIs (Gemini, Groq, Qwen, DeepSeek, etc.):');
126
- console.log(` ${c.dim('$')} pga config llm --provider openai --endpoint https://api.groq.com/openai/v1 --api-key gsk-xxx`);
127
- console.log(` ${c.dim('$')} pga config llm --provider openai --endpoint https://generativelanguage.googleapis.com/v1beta/openai/ --api-key AIza-xxx`);
128
- console.log(` ${c.dim('$')} pga config llm --provider openai --endpoint https://dashscope.aliyuncs.com/compatible-mode/v1 --api-key sk-xxx ${c.dim('# Qwen')}`);
137
+ console.log(` ${c.dim('$')} pga config llm --provider ollama --endpoint http://gpu:11434`);
129
138
  console.log('');
130
139
  console.log(` ${c.dim('$')} pga config llm --show`);
131
140
  console.log(` ${c.dim('$')} pga config llm --clear`);
@@ -136,28 +145,35 @@ export function configCommand() {
136
145
  console.log(` ${c.caution(`Invalid provider: ${options.provider}. Must be one of: ${validProviders.join(', ')}`)}`);
137
146
  return;
138
147
  }
139
- if (options.provider !== 'ollama' && !options.apiKey) {
140
- console.log(` ${c.caution(`--api-key is required for provider '${options.provider}'.`)}`);
148
+ // Cloud providers: never collect or persist a key. The semantic layer
149
+ // reads the key only from the environment (see llm-detect.ts). Tell the
150
+ // user which env var to set instead of writing a plaintext secret.
151
+ if (options.provider !== 'ollama') {
152
+ console.log(` ${c.dim(`Panguard does not store a cloud API key. Provider '${options.provider}' reads its key from the environment:`)}`);
153
+ printCloudKeyGuidance();
141
154
  return;
142
155
  }
156
+ // Ollama: no secret involved. This community build does not persist the
157
+ // selection (the engine resolves the semantic layer from the
158
+ // environment / local-runtime probe at startup — see llm-detect.ts), so
159
+ // be honest rather than claim an encrypted save that never happens.
143
160
  saveLlmConfig({
144
161
  provider: options.provider,
145
- apiKey: options.apiKey,
146
162
  model: options.model,
147
163
  endpoint: options.endpoint,
148
164
  savedAt: new Date().toISOString(),
149
165
  });
150
- console.log(` ${c.safe('LLM configuration saved.')}`);
166
+ console.log(` ${c.sage('Local AI (Ollama) selected.')}`);
151
167
  console.log(` Provider: ${c.bold(options.provider)}`);
152
- if (options.apiKey) {
153
- console.log(` API Key: ${c.safe(options.apiKey.slice(0, 8) + '...' + options.apiKey.slice(-4))}`);
154
- }
155
168
  if (options.model) {
156
169
  console.log(` Model: ${c.bold(options.model)}`);
157
170
  }
171
+ if (options.endpoint) {
172
+ console.log(` Endpoint: ${c.bold(options.endpoint)}`);
173
+ }
158
174
  console.log('');
159
- console.log(` ${c.dim('Encrypted and stored at ~/.panguard/llm.enc')}`);
160
- console.log(` ${c.dim('The Guard engine will use this configuration automatically.')}`);
175
+ console.log(` ${c.dim('Start the semantic layer against a local runtime with:')} PANGUARD_SEMANTIC=1`);
176
+ console.log(` ${c.dim('or point at any OpenAI-compatible endpoint with:')} PANGUARD_LLM_ENDPOINT=...`);
161
177
  });
162
178
  return cmd;
163
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,KAAK,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AA0hB3B,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCzD;AAMD,wBAAgB,aAAa,IAAI,OAAO,CA0DvC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,KAAK,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AA0kB3B,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCzD;AAMD,wBAAgB,aAAa,IAAI,OAAO,CA0DvC"}