specweave 2.1.0 → 2.2.1

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 (73) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/README.md +7 -6
  3. package/bin/specweave.js +28 -0
  4. package/dist/src/cli/commands/jev-helpers.d.ts +148 -0
  5. package/dist/src/cli/commands/jev-helpers.d.ts.map +1 -0
  6. package/dist/src/cli/commands/jev-helpers.js +582 -0
  7. package/dist/src/cli/commands/jev-helpers.js.map +1 -0
  8. package/dist/src/cli/commands/jev.d.ts +21 -0
  9. package/dist/src/cli/commands/jev.d.ts.map +1 -0
  10. package/dist/src/cli/commands/jev.js +350 -0
  11. package/dist/src/cli/commands/jev.js.map +1 -0
  12. package/dist/src/cli/helpers/init/instruction-file-writer.d.ts +4 -0
  13. package/dist/src/cli/helpers/init/instruction-file-writer.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/instruction-file-writer.js +11 -6
  15. package/dist/src/cli/helpers/init/instruction-file-writer.js.map +1 -1
  16. package/dist/src/core/auto/completion-evaluator.d.ts +22 -1
  17. package/dist/src/core/auto/completion-evaluator.d.ts.map +1 -1
  18. package/dist/src/core/auto/completion-evaluator.js +99 -9
  19. package/dist/src/core/auto/completion-evaluator.js.map +1 -1
  20. package/dist/src/core/config/types.d.ts +39 -1
  21. package/dist/src/core/config/types.d.ts.map +1 -1
  22. package/dist/src/core/config/types.js +1 -0
  23. package/dist/src/core/config/types.js.map +1 -1
  24. package/dist/src/core/hooks/handlers/pre-tool-use.d.ts +28 -5
  25. package/dist/src/core/hooks/handlers/pre-tool-use.d.ts.map +1 -1
  26. package/dist/src/core/hooks/handlers/pre-tool-use.js +162 -7
  27. package/dist/src/core/hooks/handlers/pre-tool-use.js.map +1 -1
  28. package/dist/src/core/jev/browse.d.ts +56 -0
  29. package/dist/src/core/jev/browse.d.ts.map +1 -0
  30. package/dist/src/core/jev/browse.js +721 -0
  31. package/dist/src/core/jev/browse.js.map +1 -0
  32. package/dist/src/core/jev/client.d.ts +134 -0
  33. package/dist/src/core/jev/client.d.ts.map +1 -0
  34. package/dist/src/core/jev/client.js +329 -0
  35. package/dist/src/core/jev/client.js.map +1 -0
  36. package/dist/src/core/jev/config.d.ts +69 -0
  37. package/dist/src/core/jev/config.d.ts.map +1 -0
  38. package/dist/src/core/jev/config.js +181 -0
  39. package/dist/src/core/jev/config.js.map +1 -0
  40. package/dist/src/core/jev/decide.d.ts +162 -0
  41. package/dist/src/core/jev/decide.d.ts.map +1 -0
  42. package/dist/src/core/jev/decide.js +333 -0
  43. package/dist/src/core/jev/decide.js.map +1 -0
  44. package/dist/src/core/jev/index.d.ts +20 -0
  45. package/dist/src/core/jev/index.d.ts.map +1 -0
  46. package/dist/src/core/jev/index.js +20 -0
  47. package/dist/src/core/jev/index.js.map +1 -0
  48. package/dist/src/core/jev/questions.d.ts +56 -0
  49. package/dist/src/core/jev/questions.d.ts.map +1 -0
  50. package/dist/src/core/jev/questions.js +159 -0
  51. package/dist/src/core/jev/questions.js.map +1 -0
  52. package/dist/src/core/jev/redact.d.ts +44 -0
  53. package/dist/src/core/jev/redact.d.ts.map +1 -0
  54. package/dist/src/core/jev/redact.js +102 -0
  55. package/dist/src/core/jev/redact.js.map +1 -0
  56. package/dist/src/core/jev/usage.d.ts +38 -0
  57. package/dist/src/core/jev/usage.d.ts.map +1 -0
  58. package/dist/src/core/jev/usage.js +70 -0
  59. package/dist/src/core/jev/usage.js.map +1 -0
  60. package/dist/src/utils/model-selection.d.ts +49 -0
  61. package/dist/src/utils/model-selection.d.ts.map +1 -1
  62. package/dist/src/utils/model-selection.js +70 -0
  63. package/dist/src/utils/model-selection.js.map +1 -1
  64. package/package.json +1 -1
  65. package/plugins/PLUGINS-INDEX.md +14 -4
  66. package/plugins/specweave/.claude-plugin/plugin.json +5 -3
  67. package/plugins/specweave/PLUGIN.md +16 -4
  68. package/plugins/specweave/hooks/run-worker.mjs +37 -2
  69. package/plugins/specweave/hooks/run.mjs +30 -0
  70. package/plugins/specweave/marketplace.json +6 -0
  71. package/plugins/specweave/skills/jev/SKILL.md +203 -0
  72. package/src/templates/AGENTS.md.template +22 -0
  73. package/src/templates/CLAUDE.md.template +22 -0
@@ -7,7 +7,8 @@
7
7
  *
8
8
  * Model Selection:
9
9
  * - No LLM: tasks_complete, acs_satisfied (grep-based)
10
- * - Haiku: tests_pass, build_succeeds (binary checks)
10
+ * - No LLM: tests_pass, build_succeeds (the command's exit code decides; an
11
+ * enabled Jev noul may only downgrade a green run, never rescue a red one)
11
12
  * - Opus: llm_evaluate, custom criteria (semantic understanding with ultrathink)
12
13
  *
13
14
  * @module core/auto/completion-evaluator
@@ -99,12 +100,14 @@ function runCommand(command, projectPath) {
99
100
  return {
100
101
  success: result.status === 0,
101
102
  output: (result.stdout || '') + (result.stderr || ''),
103
+ exitCode: result.status ?? null,
102
104
  };
103
105
  }
104
106
  catch (error) {
105
107
  return {
106
108
  success: false,
107
109
  output: error instanceof Error ? error.message : String(error),
110
+ exitCode: null,
108
111
  };
109
112
  }
110
113
  }
@@ -154,31 +157,118 @@ function evaluateACsSatisfied(context) {
154
157
  reason: openACs === 0 ? 'All ACs satisfied' : `${openACs} AC(s) still open`,
155
158
  };
156
159
  }
160
+ /**
161
+ * Jev verdict for a command's output (AC-07).
162
+ *
163
+ * When `jev.enabled` and a key are present, ask System One whether the output
164
+ * shows a clean run. A confident `false` lets the caller downgrade a green exit
165
+ * code (a suite that "passed" while printing failures); a confident `true` is
166
+ * only ever corroborating — see {@link combineCommandVerdict}. Anything in
167
+ * between (and every failure: disabled, no key, timeout, transport, schema)
168
+ * returns null so the caller keeps its plain exit-code behaviour.
169
+ *
170
+ * Never throws.
171
+ *
172
+ * @param output - captured stdout+stderr of the test or build command
173
+ * @param kind - which binary check is being evaluated
174
+ * @param projectPath - root whose `.specweave/config.json` holds the `jev.enabled`
175
+ * consent and provider settings; omit only when the caller has
176
+ * no project context (then the effective root is resolved)
177
+ * @returns true (passed), false (failed), or null (fall through)
178
+ */
179
+ export async function jevTestOutputVerdict(output, kind, projectPath) {
180
+ try {
181
+ const jev = await import('../jev/index.js');
182
+ if (!jev.isJevEnabled(projectPath))
183
+ return null;
184
+ const client = jev.createJevClient(projectPath);
185
+ if (!client)
186
+ return null;
187
+ const verdict = await jev.testOutputPassed(client, output, kind);
188
+ if (!verdict.available)
189
+ return null;
190
+ if (verdict.passed >= JEV_PASS_THRESHOLD)
191
+ return true;
192
+ if (verdict.passed <= JEV_FAIL_THRESHOLD)
193
+ return false;
194
+ return null;
195
+ }
196
+ catch (error) {
197
+ logger.debug(`Jev output verdict unavailable: ${error}`);
198
+ return null;
199
+ }
200
+ }
201
+ /** Noul at or above this means "the run succeeded". */
202
+ const JEV_PASS_THRESHOLD = 0.8;
203
+ /** Noul at or below this means "the run failed". */
204
+ const JEV_FAIL_THRESHOLD = 0.2;
205
+ /** Human-readable exit status, recorded in every reason so a flip is auditable. */
206
+ function describeExit(exitCode) {
207
+ return exitCode === null ? 'no exit code (killed or never started)' : `exit ${exitCode}`;
208
+ }
209
+ /**
210
+ * Combine the command's real exit status with an optional Jev verdict.
211
+ *
212
+ * Jev may only **downgrade**. The exit code is the ground truth for "did this
213
+ * run succeed"; a non-zero status is never talked back up to satisfied, because
214
+ * the text Jev reads is test/build stdout — attacker- and fixture-controlled,
215
+ * and Jev is documented as literal-reading and injection-susceptible. A
216
+ * confident `false` on a green run is still useful (a suite that swallows its
217
+ * own failures), so that direction is honoured and labelled `(jev)`.
218
+ */
219
+ function combineCommandVerdict(run, jevVerdict, labels) {
220
+ const satisfied = run.success && jevVerdict !== false;
221
+ const exit = describeExit(run.exitCode);
222
+ if (satisfied) {
223
+ return { satisfied: true, reason: `${labels.passed} (${exit})` };
224
+ }
225
+ const downgraded = run.success && jevVerdict === false;
226
+ const cause = downgraded ? `jev, despite ${exit}` : exit;
227
+ // A "looks green" output on a red exit stays advisory: it never flips the verdict,
228
+ // but it is worth saying out loud (often a wrapper swallowing the real status).
229
+ const advisory = !run.success && jevVerdict === true
230
+ ? ' [advisory: the output reads as a pass - check for a wrapper that swallows the exit status]'
231
+ : '';
232
+ return {
233
+ satisfied: false,
234
+ reason: `${labels.failed} (${cause}): ${run.output.slice(0, 200)}${advisory}`,
235
+ };
236
+ }
157
237
  /**
158
238
  * Evaluate tests_pass criterion
159
239
  */
160
- function evaluateTestsPass(criterion, projectPath) {
240
+ async function evaluateTestsPass(criterion, projectPath) {
161
241
  const command = criterion.command || 'npm test';
162
242
  const startTime = performance.now();
163
243
  const result = runCommand(command, projectPath);
244
+ const jevVerdict = await jevTestOutputVerdict(result.output, 'tests', projectPath);
245
+ const { satisfied, reason } = combineCommandVerdict(result, jevVerdict, {
246
+ passed: 'Tests passed',
247
+ failed: 'Tests failed',
248
+ });
164
249
  return {
165
250
  criterion,
166
- satisfied: result.success,
167
- reason: result.success ? 'Tests passed' : `Tests failed: ${result.output.slice(0, 200)}`,
251
+ satisfied,
252
+ reason,
168
253
  durationMs: performance.now() - startTime,
169
254
  };
170
255
  }
171
256
  /**
172
257
  * Evaluate build_succeeds criterion
173
258
  */
174
- function evaluateBuildSucceeds(criterion, projectPath) {
259
+ async function evaluateBuildSucceeds(criterion, projectPath) {
175
260
  const command = criterion.command || 'npm run build';
176
261
  const startTime = performance.now();
177
262
  const result = runCommand(command, projectPath);
263
+ const jevVerdict = await jevTestOutputVerdict(result.output, 'build', projectPath);
264
+ const { satisfied, reason } = combineCommandVerdict(result, jevVerdict, {
265
+ passed: 'Build succeeded',
266
+ failed: 'Build failed',
267
+ });
178
268
  return {
179
269
  criterion,
180
- satisfied: result.success,
181
- reason: result.success ? 'Build succeeded' : `Build failed: ${result.output.slice(0, 200)}`,
270
+ satisfied,
271
+ reason,
182
272
  durationMs: performance.now() - startTime,
183
273
  };
184
274
  }
@@ -269,9 +359,9 @@ async function evaluateCriterion(criterion, context, projectPath, options) {
269
359
  case 'acs_satisfied':
270
360
  return evaluateACsSatisfied(context);
271
361
  case 'tests_pass':
272
- return evaluateTestsPass(criterion, projectPath);
362
+ return await evaluateTestsPass(criterion, projectPath);
273
363
  case 'build_succeeds':
274
- return evaluateBuildSucceeds(criterion, projectPath);
364
+ return await evaluateBuildSucceeds(criterion, projectPath);
275
365
  case 'llm_evaluate':
276
366
  case 'custom_command':
277
367
  if (options.skipLLM) {
@@ -1 +1 @@
1
- {"version":3,"file":"completion-evaluator.js","sourceRoot":"","sources":["../../../../src/core/auto/completion-evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion-evaluator.js","sourceRoot":"","sources":["../../../../src/core/auto/completion-evaluator.ts"],"names":[],"mappings":"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"}
@@ -644,6 +644,42 @@ export interface TasksConfig {
644
644
  /**
645
645
  * Main SpecWeave configuration
646
646
  */
647
+ /**
648
+ * Jev (TypeSafe System One) settings, as written in `.specweave/config.json`.
649
+ *
650
+ * Every field is optional: `src/core/jev/config.ts` merges this over
651
+ * `JEV_DEFAULTS`. Jev stays off until `enabled` is explicitly true.
652
+ * Only env var NAMES live here — never a key value.
653
+ */
654
+ export interface JevConfigInput {
655
+ /** Explicit opt-in. Default false. */
656
+ enabled?: boolean;
657
+ /** 'openrouter' (default) or 'typesafe'. */
658
+ provider?: 'openrouter' | 'typesafe';
659
+ /** Model id, e.g. 'jev-1.13' (openrouter) or 'jev-latest' (typesafe). */
660
+ model?: string;
661
+ /** NAME of the environment variable holding the API key. Never the key. */
662
+ apiKeyEnv?: string;
663
+ /** Per-request timeout in ms. Default 4000. */
664
+ timeoutMs?: number;
665
+ /** Confidence cut-offs for routing and the Bash guard. */
666
+ thresholds?: {
667
+ route?: number;
668
+ guardDeny?: number;
669
+ guardWarn?: number;
670
+ };
671
+ /** Opt-in guards. `bash` also needs `.specweave/state/jev-guard.enabled`. */
672
+ guards?: {
673
+ bash?: boolean;
674
+ };
675
+ /** Use Jev for model-tier selection. Default true (only matters when enabled). */
676
+ modelRouting?: boolean;
677
+ /** Headless browse loop limits. */
678
+ browse?: {
679
+ allowDomains?: string[];
680
+ maxSteps?: number;
681
+ };
682
+ }
647
683
  export interface SpecWeaveConfig {
648
684
  /** Config schema version. 2.0 configs carry "2.0". */
649
685
  version: string;
@@ -695,6 +731,8 @@ export interface SpecWeaveConfig {
695
731
  hooks?: HookConfiguration;
696
732
  /** adapters/claude/adapter.ts (`plugins.enabled` list). */
697
733
  plugins?: PluginConfig;
734
+ /** Jev (TypeSafe System One) opt-in. Read by core/jev/config.ts. */
735
+ jev?: JevConfigInput;
698
736
  /** @deprecated migrated to `workspace` on load */
699
737
  umbrella?: UmbrellaConfig;
700
738
  /** @deprecated migrated to `workspace` on load */
@@ -711,7 +749,7 @@ export type SpecweaveConfig = SpecWeaveConfig;
711
749
  * The exact top-level keys a 2.0 config may carry.
712
750
  * Anything else produces one warning line on load (see config-manager).
713
751
  */
714
- export declare const KNOWN_CONFIG_KEYS: readonly ["version", "project", "adapters", "workspace", "testing", "limits", "planning", "auto", "tasks", "sync", "livingDocs", "lsp", "cicd", "repository", "issueTracker", "hooks", "plugins"];
752
+ export declare const KNOWN_CONFIG_KEYS: readonly ["version", "project", "adapters", "workspace", "testing", "limits", "planning", "auto", "tasks", "sync", "livingDocs", "lsp", "cicd", "repository", "issueTracker", "hooks", "plugins", "jev"];
715
753
  /**
716
754
  * Default configuration values (2.0)
717
755
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export const KNOWN_CONFIG_KEYS = [
27
27
  'issueTracker',
28
28
  'hooks',
29
29
  'plugins',
30
+ 'jev',
30
31
  ];
31
32
  /**
32
33
  * Default configuration values (2.0)
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyyBH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;IACX,SAAS;IACT,QAAQ;IACR,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,YAAY;IACZ,KAAK;IACL,MAAM;IACN,YAAY;IACZ,cAAc;IACd,OAAO;IACP,SAAS;CACD,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE;QACR,OAAO,EAAE,QAAQ;KAClB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE;YACR,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,GAAG;SACT;KACF;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,CAAC;KACpB;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;KACrB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;KACtB;IACD,UAAU,EAAE,KAAK;CAClB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAw0BH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;IACX,SAAS;IACT,QAAQ;IACR,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,YAAY;IACZ,KAAK;IACL,MAAM;IACN,YAAY;IACZ,cAAc;IACd,OAAO;IACP,SAAS;IACT,KAAK;CACG,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE;QACR,OAAO,EAAE,QAAQ;KAClB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE;YACR,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,GAAG;SACT;KACF;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,CAAC;KACpB;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;KACrB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;KACtB;IACD,UAAU,EAAE,KAAK;CAClB,CAAC"}
@@ -1,13 +1,36 @@
1
1
  /**
2
- * PreToolUse hook handler (matcher: Write|Edit) — the hard rule:
3
- * Status Completion Guard — no manual `status: completed` in an increment's
4
- * metadata.json; closure goes through `/sw:done` / `specweave complete`.
2
+ * PreToolUse hook handler (tools: Write, Edit, Bash) — two hard rules:
3
+ *
4
+ * 1. Status Completion Guard — no manual `status: completed` in an increment's
5
+ * metadata.json; closure goes through `/sw:done` / `specweave complete`.
6
+ * 2. Jev Bash guard (opt-in, 0878) — when `.specweave/state/jev-guard.enabled`
7
+ * exists AND `jev.enabled` AND `jev.guards.bash`, a shell command that
8
+ * survives the regex prefilter is scored by Jev; a `deny` verdict blocks it,
9
+ * a `warn` verdict is surfaced as additionalContext.
10
+ *
11
+ * NOT registered by the plugin manifest: 2.1 retired the intrusive default
12
+ * hooks, and `plugins/specweave/hooks/hooks.json` still ships only SessionStart
13
+ * and Stop. The Bash guard reaches this handler through a PROJECT-level entry
14
+ * (matcher `Bash`) that `specweave jev setup --guard-bash` writes into
15
+ * `<projectRoot>/.claude/settings.json`; the Write/Edit rule stays callable for
16
+ * anyone who wires PreToolUse up themselves.
17
+ *
18
+ * PRIVACY: scoring a command means POSTing its text to a third-party API
19
+ * (OpenRouter or TypeSafe). The prefilter routes `curl`, `ssh`, `publish`,
20
+ * `deploy` … toward Jev — exactly the commands that carry credentials — so
21
+ * every command is run through `redactSecrets` (core/jev/redact) first —
22
+ * the same single choke point the client uses on request state, so a key
23
+ * shape only has to be taught once. Redaction is a heuristic, not a
24
+ * guarantee; the guard stays opt-in for that reason and the docs page states
25
+ * the export.
5
26
  *
6
27
  * 2.0 removed the interview-enforcement guard: `planning.deepInterview` is
7
28
  * advisory ('off' | 'warn') and enforced by the planning skill, not a hook.
8
29
  *
9
- * Output: `{}` (pass) or `hookSpecificOutput.permissionDecision: "deny"`.
10
- * Paths are backslash-normalized so the guards fire on Windows too.
30
+ * Output: `{}` (pass), `hookSpecificOutput.permissionDecision: "deny"`, or
31
+ * `hookSpecificOutput.additionalContext` (warn). Paths are backslash-normalized
32
+ * so the guards fire on Windows too. Everything fails OPEN: any error, timeout,
33
+ * missing key or disabled config returns `{}`.
11
34
  *
12
35
  * @module core/hooks/handlers/pre-tool-use
13
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pre-tool-use.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAsC,MAAM,YAAY,CAAC;AAiDhF,eAAO,MAAM,MAAM,EAAE,SAWpB,CAAC"}
1
+ {"version":3,"file":"pre-tool-use.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAsC,MAAM,YAAY,CAAC;AA6LhF,eAAO,MAAM,MAAM,EAAE,SAuBpB,CAAC"}
@@ -1,21 +1,53 @@
1
1
  /**
2
- * PreToolUse hook handler (matcher: Write|Edit) — the hard rule:
3
- * Status Completion Guard — no manual `status: completed` in an increment's
4
- * metadata.json; closure goes through `/sw:done` / `specweave complete`.
2
+ * PreToolUse hook handler (tools: Write, Edit, Bash) — two hard rules:
3
+ *
4
+ * 1. Status Completion Guard — no manual `status: completed` in an increment's
5
+ * metadata.json; closure goes through `/sw:done` / `specweave complete`.
6
+ * 2. Jev Bash guard (opt-in, 0878) — when `.specweave/state/jev-guard.enabled`
7
+ * exists AND `jev.enabled` AND `jev.guards.bash`, a shell command that
8
+ * survives the regex prefilter is scored by Jev; a `deny` verdict blocks it,
9
+ * a `warn` verdict is surfaced as additionalContext.
10
+ *
11
+ * NOT registered by the plugin manifest: 2.1 retired the intrusive default
12
+ * hooks, and `plugins/specweave/hooks/hooks.json` still ships only SessionStart
13
+ * and Stop. The Bash guard reaches this handler through a PROJECT-level entry
14
+ * (matcher `Bash`) that `specweave jev setup --guard-bash` writes into
15
+ * `<projectRoot>/.claude/settings.json`; the Write/Edit rule stays callable for
16
+ * anyone who wires PreToolUse up themselves.
17
+ *
18
+ * PRIVACY: scoring a command means POSTing its text to a third-party API
19
+ * (OpenRouter or TypeSafe). The prefilter routes `curl`, `ssh`, `publish`,
20
+ * `deploy` … toward Jev — exactly the commands that carry credentials — so
21
+ * every command is run through `redactSecrets` (core/jev/redact) first —
22
+ * the same single choke point the client uses on request state, so a key
23
+ * shape only has to be taught once. Redaction is a heuristic, not a
24
+ * guarantee; the guard stays opt-in for that reason and the docs page states
25
+ * the export.
5
26
  *
6
27
  * 2.0 removed the interview-enforcement guard: `planning.deepInterview` is
7
28
  * advisory ('off' | 'warn') and enforced by the planning skill, not a hook.
8
29
  *
9
- * Output: `{}` (pass) or `hookSpecificOutput.permissionDecision: "deny"`.
10
- * Paths are backslash-normalized so the guards fire on Windows too.
30
+ * Output: `{}` (pass), `hookSpecificOutput.permissionDecision: "deny"`, or
31
+ * `hookSpecificOutput.additionalContext` (warn). Paths are backslash-normalized
32
+ * so the guards fire on Windows too. Everything fails OPEN: any error, timeout,
33
+ * missing key or disabled config returns `{}`.
11
34
  *
12
35
  * @module core/hooks/handlers/pre-tool-use
13
36
  */
14
37
  import * as fs from 'fs';
15
38
  import * as path from 'path';
16
- import { deny, pass } from './types.js';
17
- import { extractIncrementId, getFilePath, getToolInput, getToolName, isIncrementFile, readJsonSafe, } from './utils.js';
39
+ import { redactSecrets } from '../../jev/redact.js';
40
+ import { deny, pass, warn } from './types.js';
41
+ import { extractIncrementId, getFilePath, getToolInput, getToolName, isIncrementFile, logHook, readJsonSafe, } from './utils.js';
18
42
  const METADATA_RE = /\.specweave\/increments\/[^/]+\/metadata\.json$/;
43
+ /** Opt-in marker: `.specweave/state/jev-guard.enabled` (relative to stateDir). */
44
+ const JEV_GUARD_MARKER = 'jev-guard.enabled';
45
+ /**
46
+ * Hard ceiling for the whole Jev round trip inside the hook. The launcher's
47
+ * PreToolUse budget is 7.5 s; staying at 3 s keeps the handler path well under
48
+ * it even when the network stalls.
49
+ */
50
+ const JEV_GUARD_BUDGET_MS = 3000;
19
51
  /** The text the tool is about to write (Edit: new_string, Write: content). */
20
52
  function newText(input) {
21
53
  const ti = getToolInput(input);
@@ -42,10 +74,133 @@ function checkStatusCompletionGuard(input, context, filePath) {
42
74
  `Run /sw:done ${id} (or \`specweave complete ${id}\`) so the closure gates run.`);
43
75
  }
44
76
  // ---------------------------------------------------------------------------
77
+ // Guard: Jev Bash command guard (opt-in)
78
+ // ---------------------------------------------------------------------------
79
+ /** The `tool_input.command` string ('' when absent). */
80
+ function getCommand(input) {
81
+ const cmd = getToolInput(input).command;
82
+ return typeof cmd === 'string' ? cmd : '';
83
+ }
84
+ /**
85
+ * `0` / `false` / `off` (case-insensitive) turn the guard off for this process.
86
+ *
87
+ * Read from the *hook process* env, which only the person launching the agent
88
+ * controls. It is deliberately NOT read out of `tool_input.command`: a prefix
89
+ * the agent can type is a self-service bypass of a guard whose whole job is to
90
+ * restrain the agent.
91
+ */
92
+ function isGuardOff(value) {
93
+ const v = (value ?? '').trim().toLowerCase();
94
+ return v === '0' || v === 'false' || v === 'off';
95
+ }
96
+ /** `tool_input.description` when the caller supplied one. */
97
+ function getDescription(input) {
98
+ const d = getToolInput(input).description;
99
+ return typeof d === 'string' && d.trim() ? d : undefined;
100
+ }
101
+ /** Resolve `promise` or `null` after `ms`, without leaving a live timer behind. */
102
+ async function withBudget(promise, ms) {
103
+ let timer;
104
+ try {
105
+ return await Promise.race([
106
+ promise,
107
+ new Promise((resolve) => {
108
+ timer = setTimeout(() => resolve(null), ms);
109
+ if (typeof timer.unref === 'function')
110
+ timer.unref();
111
+ }),
112
+ ]);
113
+ }
114
+ finally {
115
+ if (timer)
116
+ clearTimeout(timer);
117
+ }
118
+ }
119
+ /** Human-readable probabilities: `read_only 0.02, local_irreversible 0.82`. */
120
+ function formatProbabilities(probabilities) {
121
+ const entries = Object.entries(probabilities ?? {})
122
+ .filter(([, v]) => typeof v === 'number' && Number.isFinite(v))
123
+ .sort((a, b) => b[1] - a[1])
124
+ .slice(0, 5)
125
+ .map(([k, v]) => `${k} ${v.toFixed(2)}`);
126
+ return entries.join(', ');
127
+ }
128
+ /**
129
+ * What a blocked agent is told to do next.
130
+ *
131
+ * Deliberately NOT a how-to for disabling the guard: this text lands in the
132
+ * model's context on the exact turn it was blocked, and a control should not
133
+ * hand the party it restrains the procedure for switching it off. Operators
134
+ * turn the guard off from the docs (config flag + marker file), not from here.
135
+ */
136
+ const DENY_ADVICE = 'Do not try to work around this guard (no rewording, no wrapper script, no config edit): ' +
137
+ 'stop, tell the user what you were about to run and why, and let them decide.';
138
+ async function checkJevBashGuard(input, context) {
139
+ const command = getCommand(input).trim();
140
+ if (!command)
141
+ return pass();
142
+ // Escape hatch for the operator (hook-process env), checked before any load.
143
+ if (isGuardOff(process.env.SPECWEAVE_JEV_GUARD))
144
+ return pass();
145
+ // Opt-in marker — absent means the guard does not exist for this project.
146
+ if (!fs.existsSync(path.join(context.stateDir, JEV_GUARD_MARKER)))
147
+ return pass();
148
+ const jev = await import('../../jev/index.js');
149
+ const cfg = jev.loadJevConfig(context.projectRoot);
150
+ if (!cfg.enabled || !cfg.guards.bash)
151
+ return pass();
152
+ // Plainly read-only commands never reach the API.
153
+ if (jev.prefilterCommand(command) === 'skip')
154
+ return pass();
155
+ const client = jev.createJevClient(context.projectRoot, { kind: 'guard' });
156
+ if (!client)
157
+ return pass(); // no key / disabled — fail open
158
+ // Everything below this line leaves the machine — scrub first, always.
159
+ const safe = redactSecrets(command);
160
+ const description = getDescription(input);
161
+ const safeDescription = description ? redactSecrets(description) : undefined;
162
+ const redactions = safe.redactions + (safeDescription?.redactions ?? 0);
163
+ if (redactions > 0) {
164
+ logHook(context, 'jev-bash-guard', `masked ${redactions} secret-shaped value(s) before scoring (command text is sent to ${cfg.provider})`, 'warn');
165
+ }
166
+ const decision = await withBudget(jev.guardCommand(client, {
167
+ command: safe.text,
168
+ cwd: typeof input.cwd === 'string' ? input.cwd : context.projectRoot,
169
+ description: safeDescription?.text,
170
+ }), JEV_GUARD_BUDGET_MS);
171
+ if (!decision) {
172
+ logHook(context, 'jev-bash-guard', `timeout after ${JEV_GUARD_BUDGET_MS}ms — passing`, 'warn');
173
+ return pass();
174
+ }
175
+ if (decision.available !== true)
176
+ return pass();
177
+ if (decision.verdict === 'allow')
178
+ return pass();
179
+ const probabilities = formatProbabilities(decision.probabilities);
180
+ const detail = `scope=${decision.scope} (confidence ${decision.scopeConfidence.toFixed(2)}), ` +
181
+ `destructive=${decision.destructive.toFixed(2)}` +
182
+ (probabilities ? `; probabilities: ${probabilities}` : '');
183
+ if (decision.verdict === 'deny') {
184
+ return deny(`Jev command guard blocked this command: ${detail}. ${DENY_ADVICE}`);
185
+ }
186
+ return warn(`Jev command guard warning: ${detail}. Re-read the command before running it.`);
187
+ }
188
+ // ---------------------------------------------------------------------------
45
189
  // Main handler
46
190
  // ---------------------------------------------------------------------------
47
191
  export const handle = async (input, context) => {
48
192
  const toolName = getToolName(input);
193
+ if (toolName === 'Bash') {
194
+ try {
195
+ return await checkJevBashGuard(input, context);
196
+ }
197
+ catch (error) {
198
+ // Fail open, always: a guard that cannot answer must not block work.
199
+ const msg = error instanceof Error ? error.message : String(error);
200
+ logHook(context, 'jev-bash-guard', `[ERROR] ${msg}`, 'error');
201
+ return pass();
202
+ }
203
+ }
49
204
  if (toolName !== 'Edit' && toolName !== 'Write')
50
205
  return pass();
51
206
  const filePath = getFilePath(input);
@@ -1 +1 @@
1
- {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EAEf,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,GAAG,iDAAiD,CAAC;AAEtE,8EAA8E;AAC9E,SAAS,OAAO,CAAC,KAAgB;IAC/B,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E,SAAS,0BAA0B,CAAC,KAAgB,EAAE,OAAoB,EAAE,QAAgB;IAC1F,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IAEtE,gEAAgE;IAChE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IAEtF,mCAAmC;IACnC,MAAM,OAAO,GAAG,YAAY,CAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CACpD,CAAC;IACF,IAAI,OAAO,EAAE,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,EAAE,CAAC;IAElF,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,IAAI,CACT,sDAAsD,EAAE,IAAI;QAC1D,gBAAgB,EAAE,6BAA6B,EAAE,+BAA+B,CACnF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,CAAC,MAAM,MAAM,GAAc,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IAE3D,MAAM,YAAY,GAAG,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,YAAY,CAAC,kBAAkB;QAAE,OAAO,YAAY,CAAC;IAEzD,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/pre-tool-use.ts"],"names":[],"mappings":"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"}