secretless-ai 0.16.3 → 0.17.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 (53) hide show
  1. package/README.md +29 -6
  2. package/dist/cli.js +41 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/core.d.ts +2 -0
  5. package/dist/commands/core.d.ts.map +1 -1
  6. package/dist/commands/core.js +167 -76
  7. package/dist/commands/core.js.map +1 -1
  8. package/dist/commands/diff.d.ts +60 -0
  9. package/dist/commands/diff.d.ts.map +1 -0
  10. package/dist/commands/diff.js +284 -0
  11. package/dist/commands/diff.js.map +1 -0
  12. package/dist/commands/feedback.d.ts +14 -0
  13. package/dist/commands/feedback.d.ts.map +1 -0
  14. package/dist/commands/feedback.js +29 -0
  15. package/dist/commands/feedback.js.map +1 -0
  16. package/dist/commands/git.d.ts +1 -1
  17. package/dist/commands/git.d.ts.map +1 -1
  18. package/dist/commands/git.js +3 -2
  19. package/dist/commands/git.js.map +1 -1
  20. package/dist/commands/help.d.ts.map +1 -1
  21. package/dist/commands/help.js +13 -2
  22. package/dist/commands/help.js.map +1 -1
  23. package/dist/commands/ignore.d.ts +54 -0
  24. package/dist/commands/ignore.d.ts.map +1 -0
  25. package/dist/commands/ignore.js +0 -0
  26. package/dist/commands/ignore.js.map +1 -0
  27. package/dist/confidence.d.ts +95 -0
  28. package/dist/confidence.d.ts.map +1 -0
  29. package/dist/confidence.js +200 -0
  30. package/dist/confidence.js.map +1 -0
  31. package/dist/index.d.ts +2 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +14 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/init.d.ts +11 -0
  36. package/dist/init.d.ts.map +1 -1
  37. package/dist/init.js +18 -0
  38. package/dist/init.js.map +1 -1
  39. package/dist/patterns.js +1 -1
  40. package/dist/patterns.js.map +1 -1
  41. package/dist/scan-staged.d.ts +10 -1
  42. package/dist/scan-staged.d.ts.map +1 -1
  43. package/dist/scan-staged.js +36 -1
  44. package/dist/scan-staged.js.map +1 -1
  45. package/dist/scan.d.ts +28 -0
  46. package/dist/scan.d.ts.map +1 -1
  47. package/dist/scan.js +147 -40
  48. package/dist/scan.js.map +1 -1
  49. package/dist/secretlessignore.d.ts +53 -0
  50. package/dist/secretlessignore.d.ts.map +1 -0
  51. package/dist/secretlessignore.js +256 -0
  52. package/dist/secretlessignore.js.map +1 -0
  53. package/package.json +2 -2
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  [![npm version](https://img.shields.io/npm/v/secretless-ai.svg)](https://www.npmjs.com/package/secretless-ai)
5
5
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
6
- [![Tests](https://img.shields.io/badge/tests-809-brightgreen)](https://github.com/opena2a-org/secretless-ai)
6
+ [![Tests](https://img.shields.io/badge/tests-988-brightgreen)](https://github.com/opena2a-org/secretless-ai)
7
7
 
8
8
  Keep API keys and secrets invisible to AI coding tools. Works with Claude Code, Cursor, GitHub Copilot, Windsurf, Cline, and Aider.
9
9
 
@@ -14,10 +14,22 @@ npx secretless-ai init
14
14
  ```
15
15
 
16
16
  ```
17
- Detected: Claude Code, Cursor
18
- Protected: .env, .aws/credentials, *.key, *.pem (21 file patterns)
19
- Blocked: 49 credential patterns from AI context
20
- Done. Secrets are now invisible to AI tools.
17
+ Secretless v0.17.0
18
+ Keeping secrets out of AI
19
+
20
+ Configured: Claude Code (1 of 1 detected)
21
+
22
+ Created:
23
+ + .claude/hooks/secretless-guard.sh
24
+ + CLAUDE.md
25
+
26
+ Modified:
27
+ ~ .claude/settings.json (added 69 deny patterns)
28
+
29
+ Next steps:
30
+ Verify: secretless-ai verify
31
+ Scan: secretless-ai scan
32
+ Status: secretless-ai status
21
33
  ```
22
34
 
23
35
  ![Secretless AI Demo](docs/secretless-ai-demo.gif)
@@ -58,9 +70,20 @@ npx secretless-ai mcp-status # Show which servers are prot
58
70
  npx secretless-ai mcp-unprotect # Restore original configs from backup
59
71
  ```
60
72
 
73
+ ## Triage Helpers
74
+
75
+ ```bash
76
+ npx secretless-ai scan --min-confidence 0.85 # Show only high-confidence findings
77
+ npx secretless-ai ignore docs/migration.md # Append a path to .secretlessignore
78
+ npx secretless-ai ignore --pattern '*.golden.txt'
79
+ npx secretless-ai diff main # Audit secretless-managed file changes vs a git ref
80
+ ```
81
+
82
+ `scan` now renders a `Confidence: high (0.92)` line under every finding. The score combines pattern specificity, value entropy, value length, and path tier. With `--no-ignore`, findings whose path matches the default-ignore list are tagged `(looks like a test fixture)` so users can keep them in view without re-suppressing them.
83
+
61
84
  ## How It Works
62
85
 
63
- 1. **Scans** your project for hardcoded credentials in config files *and* source code (49 patterns across .js, .ts, .py, .go, .java, .rb, and more)
86
+ 1. **Scans** your project for hardcoded credentials in config files *and* source code (56 patterns from `@opena2a/credential-patterns@0.1.1`, lockstep-asserted, across .js, .ts, .py, .go, .java, .rb, and more). Suppresses fixture-path false positives via `.secretlessignore` defaults (`test/`, `__tests__/`, `examples/`, `e2e/`, `docs/vhs/`, `node_modules/` ...)
64
87
  2. **Migrates** them to secure storage (OS keychain, 1Password, Vault, GCP Secret Manager)
65
88
  3. **Blocks** AI tools from reading credential files (21 file patterns)
66
89
  4. **Brokers** access through environment variables -- secrets never enter AI context
package/dist/cli.js CHANGED
@@ -54,6 +54,9 @@ const broker_1 = require("./commands/broker");
54
54
  const vault_1 = require("./commands/vault");
55
55
  const scope_1 = require("./commands/scope");
56
56
  const session_1 = require("./commands/session");
57
+ const feedback_1 = require("./commands/feedback");
58
+ const ignore_1 = require("./commands/ignore");
59
+ const diff_1 = require("./commands/diff");
57
60
  const help_1 = require("./commands/help");
58
61
  const TOOL = 'secretless-ai';
59
62
  // Subcommands we don't track: pure-help / pure-config calls don't represent
@@ -124,10 +127,39 @@ async function dispatch(args, command) {
124
127
  }
125
128
  const includeTests = args.includes('--include-tests');
126
129
  const explain = args.includes('--explain');
127
- const positionalArgs = args.slice(1).filter(a => !a.startsWith('--'));
130
+ const noIgnore = args.includes('--no-ignore');
131
+ // --min-confidence <n> (n in [0, 1]). Drops findings whose composite
132
+ // confidence score is below the threshold. Useful on noisy repos to
133
+ // surface only high-confidence credentials. Invalid values fall back to
134
+ // 0 (no filtering) and the runner prints a warning.
135
+ let minConfidence = 0;
136
+ const mcIdx = args.indexOf('--min-confidence');
137
+ if (mcIdx !== -1 && mcIdx + 1 < args.length) {
138
+ const raw = args[mcIdx + 1];
139
+ const parsed = Number.parseFloat(raw);
140
+ if (Number.isFinite(parsed) && parsed >= 0 && parsed <= 1) {
141
+ minConfidence = parsed;
142
+ }
143
+ else {
144
+ console.error(` Warning: ignoring invalid --min-confidence value "${raw}" (must be in [0, 1]).`);
145
+ }
146
+ }
147
+ const flagFlag = new Set(['--include-tests', '--explain', '--no-ignore', '--min-confidence']);
148
+ const positionalArgs = [];
149
+ for (let k = 1; k < args.length; k++) {
150
+ const a = args[k];
151
+ if (flagFlag.has(a)) {
152
+ if (a === '--min-confidence')
153
+ k++;
154
+ continue;
155
+ }
156
+ if (a.startsWith('--'))
157
+ continue;
158
+ positionalArgs.push(a);
159
+ }
128
160
  const dirArg = positionalArgs[0];
129
161
  const projectDir = dirArg ? path.resolve(dirArg) : process.cwd();
130
- return (0, core_1.runScan)(projectDir, { includeTests, explain });
162
+ return (0, core_1.runScan)(projectDir, { includeTests, explain, noIgnore, minConfidence });
131
163
  }
132
164
  case 'status': {
133
165
  const dirArg = args[1];
@@ -172,7 +204,7 @@ async function dispatch(args, command) {
172
204
  case 'hook':
173
205
  return (0, git_1.runHook)(args.slice(1));
174
206
  case 'scan-staged':
175
- return (0, git_1.runScanStaged)();
207
+ return (0, git_1.runScanStaged)(args.slice(1));
176
208
  case 'cache':
177
209
  return (0, backend_1.runCache)(args.slice(1));
178
210
  case 'broker':
@@ -189,6 +221,12 @@ async function dispatch(args, command) {
189
221
  return (0, session_1.runWarm)(args.slice(1));
190
222
  case 'install':
191
223
  return (0, session_1.runInstall)(args.slice(1));
224
+ case 'feedback':
225
+ return (0, feedback_1.runFeedback)();
226
+ case 'ignore':
227
+ return (0, ignore_1.runIgnore)(args.slice(1));
228
+ case 'diff':
229
+ return (0, diff_1.runDiff)(args.slice(1));
192
230
  case '--help':
193
231
  case '-h':
194
232
  case undefined:
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export declare function runInit(projectDir: string): number;
2
2
  export declare function runScan(projectDir: string, options?: {
3
3
  includeTests?: boolean;
4
4
  explain?: boolean;
5
+ noIgnore?: boolean;
6
+ minConfidence?: number;
5
7
  }): Promise<number>;
6
8
  export declare function runStatus(projectDir: string): number;
7
9
  export declare function runVerify(projectDir: string, showAll?: boolean): number;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA4ElD;AAED,wBAAsB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB1H;AAwED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8DpD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,MAAM,CAkFrE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAwElD"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8FlD;AAED,wBAAsB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCtK;AAqFD,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAoHpD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,MAAM,CAkFrE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAwElD"}
@@ -22,67 +22,87 @@ function runInit(projectDir) {
22
22
  console.log('\n Secretless v' + utils_1.VERSION);
23
23
  console.log(' Keeping secrets out of AI\n');
24
24
  const result = (0, init_1.init)(projectDir);
25
- // Report detected tools
26
- if (result.toolsDetected.length > 0) {
27
- console.log(' Detected:');
28
- for (const tool of result.toolsDetected) {
29
- console.log(` + ${(0, detect_1.toolDisplayName)(tool)}`);
25
+ // Configured line: collapse Detected + Configured into one row that tells
26
+ // the user what's now active and how it compares to what we found.
27
+ const configuredCount = result.toolsConfigured.length;
28
+ const detectedCount = result.toolsDetected.length;
29
+ if (configuredCount > 0) {
30
+ const names = result.toolsConfigured.map(detect_1.toolDisplayName).join(', ');
31
+ if (detectedCount === 0) {
32
+ console.log(` Configured: ${names} (no AI tools detected — defaulted to Claude Code)`);
33
+ }
34
+ else {
35
+ console.log(` Configured: ${names} (${configuredCount} of ${detectedCount} detected)`);
30
36
  }
31
37
  }
32
38
  else {
33
- console.log(' No AI tools detected, defaulting to Claude Code');
34
- }
35
- console.log();
36
- // Report configured tools
37
- console.log(' Configured:');
38
- for (const tool of result.toolsConfigured) {
39
- console.log(` * ${(0, detect_1.toolDisplayName)(tool)}`);
39
+ console.log(' Configured: none');
40
40
  }
41
- console.log();
42
- // Report files
41
+ // Files: keep the breakdown but with a specific deny-rule count when
42
+ // settings.json was modified. The count is the load-bearing fact (not just
43
+ // "modified") — users want to know what changed, not that it changed.
44
+ const settingsModified = result.filesModified.includes('.claude/settings.json');
45
+ const otherModified = result.filesModified.filter(f => f !== '.claude/settings.json');
43
46
  if (result.filesCreated.length > 0) {
47
+ console.log();
44
48
  console.log(' Created:');
45
49
  for (const f of result.filesCreated) {
46
50
  console.log(` + ${f}`);
47
51
  }
48
- console.log();
49
52
  }
50
- if (result.filesModified.length > 0) {
53
+ if (settingsModified || otherModified.length > 0) {
54
+ console.log();
51
55
  console.log(' Modified:');
52
- for (const f of result.filesModified) {
56
+ if (settingsModified) {
57
+ if (result.denyRulesAdded > 0) {
58
+ console.log(` ~ .claude/settings.json (added ${result.denyRulesAdded} deny pattern${result.denyRulesAdded === 1 ? '' : 's'})`);
59
+ }
60
+ else {
61
+ console.log(` ~ .claude/settings.json`);
62
+ }
63
+ }
64
+ for (const f of otherModified) {
53
65
  console.log(` ~ ${f}`);
54
66
  }
67
+ }
68
+ // No-op case: nothing created, nothing modified — already up to date.
69
+ if (result.filesCreated.length === 0 && !settingsModified && otherModified.length === 0) {
55
70
  console.log();
71
+ console.log(' Already up to date. No files changed.');
56
72
  }
57
- // Report secrets found
73
+ // Surface inline observations: secrets found + shell profile fix. Each
74
+ // observation ends in a runnable verb (no dead ends).
58
75
  if (result.secretsFound > 0) {
59
- console.log(` Warning: found ${result.secretsFound} hardcoded credential(s)`);
60
- console.log(' Run `npx secretless-ai scan` to see details\n');
76
+ console.log();
77
+ console.log(` Warning: ${result.secretsFound} hardcoded credential${result.secretsFound === 1 ? '' : 's'} in config files secretless-ai scan`);
61
78
  }
62
- // Auto-fix shell profile issues
63
79
  const fix = (0, doctor_1.fixProfiles)();
64
80
  if (fix) {
65
- console.log(' Shell profile fix:');
66
- console.log(` Copied ${fix.fixed.length} export(s) from ~/${fix.sourceProfile} to ~/${fix.targetProfile}`);
81
+ console.log();
82
+ console.log(` Shell profile fix: copied ${fix.fixed.length} export${fix.fixed.length === 1 ? '' : 's'} from ~/${fix.sourceProfile} to ~/${fix.targetProfile}`);
67
83
  for (const v of fix.fixed) {
68
- console.log(` + ${v}`);
84
+ console.log(` + ${v}`);
69
85
  }
70
86
  if (fix.created) {
71
87
  console.log(` Created ~/${fix.targetProfile}`);
72
88
  }
73
- console.log(' Restart your terminal for changes to take effect.\n');
89
+ console.log(' Restart your terminal for changes to take effect.');
74
90
  }
75
- console.log(' Done. Secrets are now blocked from AI context.\n');
76
- // Suggest warm for backends that trigger OS auth prompts
91
+ // Suggest warm for backends that trigger OS auth prompts.
77
92
  const configuredBackend = (0, config_1.readBackendConfig)();
78
93
  if (configuredBackend === '1password' || configuredBackend === 'keychain') {
79
- console.log(` Tip: Run 'npx secretless-ai warm' before starting an AI session`);
80
- console.log(` to avoid repeated ${configuredBackend === '1password' ? '1Password' : 'keychain'} auth prompts.\n`);
81
- }
82
- // Star prompt (interactive TTY only)
83
- if (process.stdout.isTTY) {
84
- console.log(' Helpful? Star the project: https://github.com/opena2a-org/secretless-ai\n');
94
+ const backendName = configuredBackend === '1password' ? '1Password' : 'keychain';
95
+ console.log();
96
+ console.log(` Tip: Run \`secretless-ai warm\` before starting an AI session to avoid`);
97
+ console.log(` repeated ${backendName} auth prompts.`);
85
98
  }
99
+ // Next steps block — every action ends in a runnable verb.
100
+ console.log();
101
+ console.log(' Next steps:');
102
+ console.log(' Verify: secretless-ai verify');
103
+ console.log(' Scan: secretless-ai scan');
104
+ console.log(' Status: secretless-ai status');
105
+ console.log();
86
106
  return 0;
87
107
  }
88
108
  async function runScan(projectDir, options) {
@@ -93,7 +113,14 @@ async function runScan(projectDir, options) {
93
113
  console.error(' Check the path and try again.\n');
94
114
  return 1;
95
115
  }
96
- const findings = (0, scan_1.scan)(projectDir, { includeTests: options?.includeTests });
116
+ const findings = (0, scan_1.scan)(projectDir, {
117
+ includeTests: options?.includeTests,
118
+ // `noIgnore` disables BOTH the user `.secretlessignore` and the
119
+ // default-ignore list. Used when a user wants to see every finding,
120
+ // including known-fixture noise.
121
+ ignore: options?.noIgnore ? false : undefined,
122
+ minConfidence: options?.minConfidence,
123
+ });
97
124
  if (findings.length === 0) {
98
125
  console.log(' No hardcoded credentials found.');
99
126
  console.log(' Verify keys are working: npx secretless-ai verify\n');
@@ -125,10 +152,23 @@ function printFindings(findings) {
125
152
  for (const finding of findings) {
126
153
  const sevColor = finding.severity === 'critical' ? colors_1.c.brightRed : colors_1.c.yellow;
127
154
  const sevLabel = finding.severity === 'critical' ? 'CRITICAL' : 'HIGH';
155
+ // Confidence rendering: `confidence: high (0.92)`. Tier colour mirrors the
156
+ // severity colour ramp \u2014 high green, medium yellow, low dim \u2014 so a low-
157
+ // confidence high-severity finding still looks lower than a high-
158
+ // confidence one without the user squinting at the number.
159
+ const tierColor = finding.confidenceTier === 'high'
160
+ ? colors_1.c.green
161
+ : finding.confidenceTier === 'medium'
162
+ ? colors_1.c.yellow
163
+ : colors_1.c.dim;
164
+ const fixtureSuffix = finding.looksLikeFixture
165
+ ? colors_1.c.dim(' (looks like a test fixture)')
166
+ : '';
128
167
  console.log();
129
168
  console.log(` ${sevColor('\u2502')} ${colors_1.c.bold(sevLabel)} ${colors_1.c.boldWhite(finding.patternName)}`);
130
- console.log(` ${sevColor('\u2502')} ${colors_1.c.dim(`${finding.file}:${finding.line}`)}`);
169
+ console.log(` ${sevColor('\u2502')} ${colors_1.c.dim(`${finding.file}:${finding.line}`)}${fixtureSuffix}`);
131
170
  console.log(` ${sevColor('\u2502')} ${finding.preview}`);
171
+ console.log(` ${sevColor('\u2502')} ${colors_1.c.cyan('Confidence:')} ${tierColor(`${finding.confidenceTier} (${finding.confidence.toFixed(2)})`)}`);
132
172
  if (finding.fix) {
133
173
  console.log(` ${sevColor('\u2502')} ${colors_1.c.cyan('Fix:')} ${finding.fix}`);
134
174
  }
@@ -171,62 +211,113 @@ async function runScanWithExplanations(findings) {
171
211
  function runStatus(projectDir) {
172
212
  console.log('\n Secretless Status\n');
173
213
  const s = (0, status_1.status)(projectDir);
174
- console.log(` Protected: ${s.isProtected ? 'Yes' : 'No'}`);
175
- console.log(` Tools: ${s.configuredTools.map(detect_1.toolDisplayName).join(', ') || 'None'}`);
176
- console.log(` Hook: ${s.hookInstalled ? 'Installed' : 'Not installed'}`);
177
- console.log(` Deny rules: ${s.denyRuleCount}`);
178
- console.log(` Secrets: ${s.secretsFound} found in config files`);
179
- // Session status
180
214
  const session = (0, session_state_1.getSessionStatus)();
181
- console.log();
182
- console.log(' Session:');
183
- if (session.warm) {
184
- console.log(` Status: warm`);
185
- console.log(` Expires: ${(0, utils_1.formatRemainingTime)(session.remainingSeconds)} (${session.expiresAt})`);
215
+ const brokerStatus = (0, daemon_1.getDaemonStatus)();
216
+ const brokerInstalled = (0, install_1.isDaemonInstalled)();
217
+ const tp = s.transcriptProtection;
218
+ const configuredBackend = (0, config_1.readBackendConfig)();
219
+ const rows = [];
220
+ const addRow = (row) => { rows[rows.length] = row; };
221
+ // Protection / hook.
222
+ if (s.hookInstalled) {
223
+ const denyText = s.denyRuleCount > 0 ? ` — ${s.denyRuleCount} deny pattern${s.denyRuleCount === 1 ? '' : 's'}` : '';
224
+ addRow({ glyph: '✓', label: `Claude Code hook installed (.claude/settings.json${denyText})` });
186
225
  }
187
- else if (session.authenticatedAt) {
188
- console.log(` Status: expired`);
189
- console.log(` Last auth: ${session.authenticatedAt}`);
190
- console.log(' Warm it: npx secretless-ai warm');
226
+ else {
227
+ addRow({ glyph: '⚠', label: 'Claude Code hook not installed', action: 'secretless-ai init' });
228
+ }
229
+ // Stop hook (transcript redaction).
230
+ if (tp.stopHookInstalled) {
231
+ addRow({ glyph: '✓', label: 'Stop hook installed (transcript redaction)' });
191
232
  }
192
233
  else {
193
- console.log(` Status: not initialized`);
194
- console.log(' Set up: npx secretless-ai warm');
234
+ addRow({ glyph: '⚠', label: 'Stop hook not installed (transcripts unredacted)', action: 'secretless-ai init' });
195
235
  }
196
- // Broker status
197
- const brokerStatus = (0, daemon_1.getDaemonStatus)();
198
- console.log();
199
- console.log(' Broker:');
200
- if (brokerStatus) {
201
- console.log(` Status: running (PID ${brokerStatus.pid})`);
202
- console.log(` Uptime: ${(0, utils_1.formatUptime)(brokerStatus.uptimeSeconds)}`);
203
- console.log(` Socket: ${brokerStatus.socketPath}`);
204
- console.log(` Policies: ${brokerStatus.policyCount}`);
236
+ // Configured tools (instructions present in tool config files).
237
+ if (s.configuredTools.length > 0) {
238
+ addRow({ glyph: '✓', label: `Tool instructions: ${s.configuredTools.map(detect_1.toolDisplayName).join(', ')}` });
239
+ }
240
+ // Secrets in config files.
241
+ if (s.secretsFound > 0) {
242
+ addRow({ glyph: '⚠', label: `${s.secretsFound} credential${s.secretsFound === 1 ? '' : 's'} detected in config files`, action: 'secretless-ai scan' });
205
243
  }
206
244
  else {
207
- console.log(` Status: not running`);
208
- const installed = (0, install_1.isDaemonInstalled)();
209
- if (!installed) {
210
- console.log(' Install: npx secretless-ai install');
245
+ addRow({ glyph: '✓', label: 'No credentials in config files' });
246
+ }
247
+ // Session warmth (only relevant when a backend that prompts is configured).
248
+ const sessionRelevant = configuredBackend === '1password' || configuredBackend === 'keychain';
249
+ if (sessionRelevant) {
250
+ if (session.warm) {
251
+ addRow({ glyph: '✓', label: `Biometric session warm (expires ${(0, utils_1.formatRemainingTime)(session.remainingSeconds)})` });
252
+ }
253
+ else if (session.authenticatedAt) {
254
+ addRow({ glyph: '⚠', label: `Biometric session expired (last auth ${session.authenticatedAt})`, action: 'secretless-ai warm' });
211
255
  }
212
256
  else {
213
- console.log(' Start: npx secretless-ai broker start');
257
+ addRow({ glyph: '⚠', label: 'Biometric session not initialized', action: 'secretless-ai warm' });
214
258
  }
215
259
  }
216
- // Transcript protection status
217
- if (s.transcriptProtection) {
218
- console.log();
219
- console.log(' Transcript Protection:');
220
- console.log(` Stop hook: ${s.transcriptProtection.stopHookInstalled ? 'Installed' : 'Not installed'}`);
221
- console.log(` Watcher: ${s.transcriptProtection.watcherRunning ? 'Running' : 'Not running'}`);
222
- console.log(` Files: ${s.transcriptProtection.transcriptFiles} transcript files`);
223
- if (s.transcriptProtection.transcriptSecretsFound > 0) {
224
- console.log(` Secrets: ${s.transcriptProtection.transcriptSecretsFound} found in recent transcripts`);
260
+ // Watcher running (transcript file monitoring).
261
+ if (tp.watcherRunning) {
262
+ addRow({ glyph: '✓', label: 'Transcript watcher running' });
263
+ }
264
+ else {
265
+ addRow({ glyph: '', label: 'Transcript watcher not running', action: 'secretless-ai watch' });
266
+ }
267
+ // Transcript files + secrets within them.
268
+ if (tp.transcriptSecretsFound > 0) {
269
+ addRow({ glyph: '⚠', label: `${tp.transcriptSecretsFound} credential${tp.transcriptSecretsFound === 1 ? '' : 's'} in recent transcripts`, action: 'secretless-ai clean' });
270
+ }
271
+ else if (tp.transcriptFiles > 0) {
272
+ addRow({ glyph: '✓', label: `Transcripts clean (${tp.transcriptFiles} file${tp.transcriptFiles === 1 ? '' : 's'} scanned)` });
273
+ }
274
+ // Broker daemon.
275
+ if (brokerStatus) {
276
+ addRow({ glyph: '✓', label: `Broker running (PID ${brokerStatus.pid}, ${(0, utils_1.formatUptime)(brokerStatus.uptimeSeconds)})` });
277
+ }
278
+ else if (brokerInstalled) {
279
+ addRow({ glyph: '⚠', label: 'Broker daemon not running', action: 'secretless-ai broker start' });
280
+ }
281
+ else {
282
+ addRow({ glyph: '⚠', label: 'Broker daemon not installed', action: 'secretless-ai install' });
283
+ }
284
+ // Render the Observations block. We measure the visible width (glyph +
285
+ // label) so the `→ command` column lines up tidily across rows.
286
+ const headerLine = '──────────────────────────────────────────────────────────';
287
+ console.log(` ── Observations ${headerLine.slice(0, Math.max(0, 44))}`);
288
+ let leftWidth = 0;
289
+ for (const row of rows) {
290
+ const visible = row.glyph + ' ' + row.label;
291
+ if (visible.length > leftWidth)
292
+ leftWidth = visible.length;
293
+ }
294
+ for (const row of rows) {
295
+ const left = `${row.glyph} ${row.label}`;
296
+ if (row.action) {
297
+ const padded = left.padEnd(leftWidth, ' ');
298
+ console.log(` ${padded} → ${row.action}`);
225
299
  }
226
300
  else {
227
- console.log(` Secrets: Clean`);
301
+ console.log(` ${left}`);
228
302
  }
229
303
  }
304
+ // Verdict — reflects warnings (count of ⚠ rows). "Protected" requires
305
+ // the hook installed; "Clean" requires zero warnings.
306
+ console.log();
307
+ console.log(` ── Verdict ${headerLine.slice(0, Math.max(0, 49))}`);
308
+ const warningCount = rows.filter(r => r.glyph === '⚠').length;
309
+ if (!s.isProtected) {
310
+ console.log(' Not protected. Run `secretless-ai init` to install hooks.');
311
+ }
312
+ else if (warningCount === 0) {
313
+ console.log(' Protected — Clean');
314
+ }
315
+ else {
316
+ const credSuffix = s.secretsFound > 0
317
+ ? ` (${s.secretsFound} unblocked credential${s.secretsFound === 1 ? '' : 's'} need review)`
318
+ : ` (${warningCount} observation${warningCount === 1 ? '' : 's'} need attention)`;
319
+ console.log(` Protected${credSuffix}`);
320
+ }
230
321
  console.log();
231
322
  return 0;
232
323
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":";;AAeA,0BA4EC;AAED,0BAyBC;AAwED,8BA8DC;AAED,8BAkFC;AAED,8BAwEC;AAzZD,kCAA+B;AAC/B,kCAA+B;AAC/B,sCAAmC;AACnC,sCAAmC;AACnC,sCAA4C;AAC5C,sCAAgE;AAChE,+CAAuD;AACvD,6CAAmD;AACnD,4DAA4D;AAC5D,gDAAuD;AACvD,mCAAqE;AACrE,0CAAgE;AAChE,qCAAsC;AAEtC,SAAgB,OAAO,CAAC,UAAkB;IACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,eAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,UAAU,CAAC,CAAC;IAEhC,wBAAwB;IACxB,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAA,wBAAe,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,SAAS,IAAA,wBAAe,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,eAAe;IACf,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,YAAY,0BAA0B,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAED,gCAAgC;IAChC,MAAM,GAAG,GAAG,IAAA,oBAAW,GAAE,CAAC;IAC1B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,SAAS,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9G,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAElE,yDAAyD;IACzD,MAAM,iBAAiB,GAAG,IAAA,0BAAiB,GAAE,CAAC;IAC9C,IAAI,iBAAiB,KAAK,WAAW,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,uBAAuB,iBAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC;IACrH,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,UAAkB,EAAE,OAAuD;IACvG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAwB,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IAE3E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,QAAiC;IACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;IAE9C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,OAAO,CAAC,GAAG,SAAS,uBAAuB,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,cAAc,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,UAAU,CAAC,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,SAAS,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,UAAC,CAAC,SAAS,CAAC,GAAG,SAAS,WAAW,CAAC,CAAC,CAAC;IAC3E,IAAI,SAAS,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,UAAC,CAAC,MAAM,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAC,CAAC,MAAM,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QACvE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,UAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAiC;IACtE,MAAM,WAAW,GAAG,MAAM,IAAA,4BAAiB,GAAE,CAAC;IAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAE7E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE3C,oDAAoD;QACpD,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAc,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/F,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,SAAS,CAAC,UAAkB;IAC1C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,CAAC,GAAG,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,wBAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,YAAY,wBAAwB,CAAC,CAAC;IAErE,iBAAiB;IACjB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IACnC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAA,2BAAmB,EAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACxG,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB;IAChB,MAAM,YAAY,GAAG,IAAA,wBAAe,GAAE,CAAC;IACvC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAA,oBAAY,EAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAA,2BAAiB,GAAE,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1G,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,eAAe,mBAAmB,CAAC,CAAC;QACzF,IAAI,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,8BAA8B,CAAC,CAAC;QAC7G,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,SAAS,CAAC,UAAkB,EAAE,OAAO,GAAG,KAAK;IAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,UAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC;IAElC,4BAA4B;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,OAAO,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,MAAM,6CAA6C,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,UAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,uDAAuD;IACvD,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,wBAAwB,CAAC,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAE,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,UAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3H,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,UAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,UAAC,CAAC,KAAK,CAAC,0DAA0D,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;SAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAC,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;QAEvF,MAAM,IAAI,GAAG,IAAA,uBAAc,GAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,MAAM,4CAA4C,CAAC,CAAC;YAC7F,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAC,CAAC,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,SAAS,CAAC,OAAgB;IACxC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAA,eAAM,GAAE,CAAC;IAExB,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,WAAW;IACX,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,KAAK,aAAa;YAClD,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,OAAO,CAAC,cAAc,KAAK,kBAAkB;gBAC7C,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,OAAO,CAAC,cAAc,KAAK,YAAY;oBACvC,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM;YAClC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC9B,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,SAAS;gBACzC,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC,CAAC,WAAW,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,aAAa,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,WAAW;IACX,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAA,oBAAW,GAAE,CAAC;QAC1B,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,SAAS,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;YAC9G,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,+DAA+D;QACxE,QAAQ,EAAE,oEAAoE;QAC9E,MAAM,EAAE,iDAAiD;KAC1D,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"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"}