@wernerbisschoff/pi-gatekeeper 0.1.5 → 0.1.6

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.
@@ -53,8 +53,7 @@ export type PermissionDecision = {
53
53
  };
54
54
  /**
55
55
  * Outcome of prompting for a compound (multi-segment) command. Maps each segment to its
56
- * scoped decision and records whether the Allow All Once shortcut was triggered.
57
- * Used as the return type of {@link promptForCompoundCommand} (FLOW-12 Step 3).
56
+ * scoped decision. Used as the return type of {@link promptForCompoundCommand} (FLOW-12 Step 3).
58
57
  *
59
58
  * Flow references:
60
59
  * - FLOW-12 Step 3 ("CompoundDecision as return type of promptForCompoundCommand")
@@ -64,19 +63,18 @@ export type CompoundDecision = {
64
63
  segments: Array<{
65
64
  segment: string;
66
65
  decision: "allow" | "deny";
67
- scope: "ephemeral" | "session" | "persist";
66
+ scope: "ephemeral" | "session" | "always" | "persist";
68
67
  pattern?: string;
69
68
  }>;
70
- allowAllOnceUsed: boolean;
71
69
  /**
72
70
  * True when the user dismissed the prompt (Escape, focus loss, TUI
73
71
  * auto-dismiss) without choosing any option. Distinct from "every segment
74
72
  * was explicitly denied" — `finalizeCompoundGateResult` uses this flag to
75
73
  * emit "Blocked: Prompt dismissed" instead of the misleading
76
74
  * "Blocked: All segments denied" message. Always `false` for headless
77
- * short-circuit, empty segments, prompt throw, Allow All Once short-circuit,
78
- * and normal completion paths; only `true` when `ctx.ui.select` resolves
79
- * with `undefined` mid-iteration.
75
+ * short-circuit, empty segments, prompt throw, and normal completion
76
+ * paths; only `true` when `ctx.ui.select` resolves with `undefined`
77
+ * mid-iteration.
80
78
  */
81
79
  cancelled: boolean;
82
80
  };
@@ -688,29 +686,6 @@ export declare function sessionAllow(command: string): void;
688
686
  * {@link setCurrentMode}.
689
687
  */
690
688
  export declare function isSessionAllowed(command: string): boolean;
691
- /**
692
- * Set the Allow All Once flag. After this call, the next
693
- * {@link consumeAllowAllOnce} returns `true` and clears the flag.
694
- * Exported so the TSK-009-03 lifecycle tests can drive it directly
695
- * without going through {@link promptForCompoundCommand}.
696
- */
697
- export declare function setAllowAllOnce(): void;
698
- /**
699
- * Consume (read-and-clear) the Allow All Once flag. Returns `true`
700
- * exactly once when the flag was set by a prior {@link setAllowAllOnce}
701
- * call; subsequent calls return `false` until the flag is re-set.
702
- * This one-shot semantics mirrors the existing {@link isEphemeralAllowed}
703
- * pattern.
704
- */
705
- export declare function consumeAllowAllOnce(): boolean;
706
- /**
707
- * Unconditionally clear the Allow All Once flag. Idempotent — calling
708
- * when the flag is already `false` is a no-op. Primed as the test-teardown
709
- * seam (per-test `beforeEach` in the FLOW-12 lifecycle describe); intended
710
- * for cleanup after compound command execution resolves (FLOW-12 Step 8 —
711
- * integration pending).
712
- */
713
- export declare function resetAllowAllOnce(): void;
714
689
  /**
715
690
  * Persist command stems from "ask" segments to the current level's allow list.
716
691
  * Each stem is written in two forms — bare (`"git diff"`) and wildcard (`"git diff *"`)
@@ -723,19 +698,38 @@ export declare function resetAllowAllOnce(): void;
723
698
  * glued-wildcard forms (`"git*"`) so future programmatic callers (FLOW-12's
724
699
  * `promptForCompoundCommand`) cannot seed `perm-rules.json` with an over-broad
725
700
  * pattern that would match `gitlog` / `git-fetch`. Empty input is a no-op (no write).
701
+ *
702
+ * Scope parameter:
703
+ * - `"session"` — in-memory only; adds each stem to {@link sessionAllowList} so it
704
+ * survives the rest of the session without ever touching disk. No file-only
705
+ * filtering or pattern expansion (matches the existing `sessionAllow` contract).
706
+ * - `"always"` (default) — persist to `perm-rules.json` per the original contract.
726
707
  */
727
- export declare function appendStemsToAllowList(stems: readonly string[], ctx: ExtensionContext): void;
708
+ export declare function appendStemsToAllowList(stems: readonly string[], ctx: ExtensionContext, scope?: "session" | "always"): void;
728
709
  /**
729
710
  * Segment-by-segment interactive prompt for compound commands (FLOW-12).
730
711
  *
731
- * For each "ask" segment, computes positional wildcard candidates via
732
- * {@link unfoldPositionalCandidates}, presents them in a `ctx.ui.select()`
733
- * dialog with Allow All Once / This Session / Always / Deny options, and
734
- * returns a {@link CompoundDecision} mapping each segment to its scoped result.
735
- *
736
- * The Allow All Once option short-circuits remaining segments without prompting
737
- * and sets the Allow All Once flag so {@link runPermissionGate} can skip
738
- * re-prompting for subsequent segments of the same compound execution.
712
+ * For each "ask" segment, computes the command stem (and parent stem for
713
+ * multi-word commands), presents them in a `ctx.ui.select()` dialog with
714
+ * a per-segment menu (Allow "{stem}" once, Allow "{stem}" this session,
715
+ * Allow "{stem}" always, Deny "{stem}"; multi-word segments also expose
716
+ * parent-stem session/always variants), and returns a {@link CompoundDecision}
717
+ * mapping each segment to its scoped result.
718
+ *
719
+ * After applying a per-segment decision, the function short-circuits when
720
+ * the user commits to a session or always scope (remaining segments are
721
+ * auto-allowed through that scope without further prompting); "once" and
722
+ * "deny" continue iterating so each segment is decided individually.
723
+ *
724
+ * **Classifier-aware pre-pass** (FLOW-12 Step 2 enhancement): segments
725
+ * whose per-segment classifier verdict is `allow` (e.g. cascade-matched
726
+ * `git diff *` for a `cd /repo; git diff HEAD` chain) are recorded as
727
+ * `decision: "allow"` in the result WITHOUT prompting — the cascade rule
728
+ * already gates them, so re-prompting wastes UI cycles and trains the user
729
+ * to deny out of habit. Per-segment `deny` is unreachable here because
730
+ * `runPermissionGate` routes denies through `classifyCommand`'s combined
731
+ * precedence before reaching this prompt (the compound branch only fires
732
+ * when combined decision is `ask`).
739
733
  *
740
734
  * Headless short-circuit (FLOW-11): when `ctx.hasUI === false`, returns an empty
741
735
  * `CompoundDecision` immediately without calling `ctx.ui.select` — the caller
@@ -745,7 +739,6 @@ export declare function appendStemsToAllowList(stems: readonly string[], ctx: Ex
745
739
  *
746
740
  * Flow references:
747
741
  * - FLOW-12 Step 3 ("segment-by-segment prompt loop")
748
- * - FLOW-12 Step 8 ("Allow All Once flag lifecycle")
749
742
  * - FLOW-08 Step 3 ("scope-based persistence routing")
750
743
  */
751
744
  export declare function promptForCompoundCommand(segments: string[], ctx: ExtensionContext): Promise<CompoundDecision>;
@@ -1 +1 @@
1
- {"version":3,"file":"gatekeeper.d.ts","sourceRoot":"","sources":["../src/gatekeeper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatekeeper.d.ts","sourceRoot":"","sources":["../src/gatekeeper.ts"],"names":[],"mappings":"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"}
@@ -609,7 +609,7 @@ const MODE_COLORS = {
609
609
  */
610
610
  export function updateStatus(ctx) {
611
611
  const label = MODE_LABELS[currentMode];
612
- const text = `● ${label} /perm`;
612
+ const text = `● ${label} · /perm`;
613
613
  const colorKey = MODE_COLORS[currentMode];
614
614
  const styled = typeof ctx.ui.theme?.fg === "function" ? ctx.ui.theme.fg(colorKey, text) : text;
615
615
  ctx.ui.setStatus(PERMISSION_STATUS_KEY, styled);
@@ -2477,50 +2477,6 @@ export function sessionAllow(command) {
2477
2477
  export function isSessionAllowed(command) {
2478
2478
  return sessionAllowList.has(command);
2479
2479
  }
2480
- /* ─── Allow All Once — ephemeral flag for compound commands (FLOW-12) ───
2481
- *
2482
- * Module-level boolean that when set causes `runPermissionGate` to return
2483
- * `{ allow: true }` for remaining segments without prompting. Cleared after
2484
- * execution completes (does NOT persist across bash tool invocations).
2485
- *
2486
- * Lifecycle: setAllowAllOnce → consumeAllowAllOnce (read-and-clear,
2487
- * one-shot, returns true once) → resetAllowAllOnce (unconditional clear).
2488
- *
2489
- * Flow references: FLOW-12 Step 3 + Step 8 + FLOW-08 Step 3. */
2490
- let allowAllOnceActive = false;
2491
- /**
2492
- * Set the Allow All Once flag. After this call, the next
2493
- * {@link consumeAllowAllOnce} returns `true` and clears the flag.
2494
- * Exported so the TSK-009-03 lifecycle tests can drive it directly
2495
- * without going through {@link promptForCompoundCommand}.
2496
- */
2497
- export function setAllowAllOnce() {
2498
- allowAllOnceActive = true;
2499
- }
2500
- /**
2501
- * Consume (read-and-clear) the Allow All Once flag. Returns `true`
2502
- * exactly once when the flag was set by a prior {@link setAllowAllOnce}
2503
- * call; subsequent calls return `false` until the flag is re-set.
2504
- * This one-shot semantics mirrors the existing {@link isEphemeralAllowed}
2505
- * pattern.
2506
- */
2507
- export function consumeAllowAllOnce() {
2508
- if (allowAllOnceActive) {
2509
- allowAllOnceActive = false;
2510
- return true;
2511
- }
2512
- return false;
2513
- }
2514
- /**
2515
- * Unconditionally clear the Allow All Once flag. Idempotent — calling
2516
- * when the flag is already `false` is a no-op. Primed as the test-teardown
2517
- * seam (per-test `beforeEach` in the FLOW-12 lifecycle describe); intended
2518
- * for cleanup after compound command execution resolves (FLOW-12 Step 8 —
2519
- * integration pending).
2520
- */
2521
- export function resetAllowAllOnce() {
2522
- allowAllOnceActive = false;
2523
- }
2524
2480
  /**
2525
2481
  * shared by {@link appendStemsToAllowList} and {@link appendToDenyList} — both writers push
2526
2482
  * entries onto a per-level pattern list and MUST preserve the
@@ -2547,8 +2503,20 @@ function appendUnique(list, entries) {
2547
2503
  * glued-wildcard forms (`"git*"`) so future programmatic callers (FLOW-12's
2548
2504
  * `promptForCompoundCommand`) cannot seed `perm-rules.json` with an over-broad
2549
2505
  * pattern that would match `gitlog` / `git-fetch`. Empty input is a no-op (no write).
2506
+ *
2507
+ * Scope parameter:
2508
+ * - `"session"` — in-memory only; adds each stem to {@link sessionAllowList} so it
2509
+ * survives the rest of the session without ever touching disk. No file-only
2510
+ * filtering or pattern expansion (matches the existing `sessionAllow` contract).
2511
+ * - `"always"` (default) — persist to `perm-rules.json` per the original contract.
2550
2512
  */
2551
- export function appendStemsToAllowList(stems, ctx) {
2513
+ export function appendStemsToAllowList(stems, ctx, scope = "always") {
2514
+ if (scope === "session") {
2515
+ for (const stem of stems) {
2516
+ sessionAllow(stem);
2517
+ }
2518
+ return;
2519
+ }
2552
2520
  const rules = loadRules(ctx);
2553
2521
  const mode = getCurrentMode();
2554
2522
  const expanded = [];
@@ -2666,44 +2634,75 @@ async function promptForPermission(reason, command, askPreview, ctx) {
2666
2634
  }
2667
2635
  }
2668
2636
  /**
2669
- * Build the option list for the compound command prompt from positional wildcard
2670
- * candidates. Pure function — no I/O, no side effects.
2637
+ * Build the option list for the compound command prompt from the segment's stem
2638
+ * and (if present) parent stem. Pure function — no I/O, no side effects.
2639
+ *
2640
+ * Single-word segments emit a flat 4-option list:
2641
+ * Allow "{stem}" once
2642
+ * Allow "{stem}" this session
2643
+ * Allow "{stem}" always
2644
+ * Deny "{stem}"
2671
2645
  *
2672
- * Order: Allow All Once, then each candidate with This Session / Always suffixes,
2673
- * then Deny as the final entry.
2646
+ * Multi-word segments (e.g. `git diff`) emit a 6-option list that adds the
2647
+ * parent-stem expansion (e.g. `Allow "git" this session`, `Allow "git" always`)
2648
+ * so the developer can grant just the parent tool without locking in the
2649
+ * specific subcommand.
2674
2650
  *
2675
- * @param candidatesoutput of {@link unfoldPositionalCandidates}
2651
+ * @param stem`extractCommandStem(segment)`, the command without arguments
2652
+ * @param parent — null for single-word stems, else the first word of `stem`
2676
2653
  * @returns a string array suitable for `ctx.ui.select({ options })`
2677
2654
  */
2678
- function buildCompoundOptions(candidates) {
2679
- const options = ["Allow All Once"];
2680
- for (const c of candidates) {
2681
- options.push(`${c} This Session`);
2682
- options.push(`${c} Always`);
2655
+ function buildCompoundOptions(stem, parent) {
2656
+ if (parent !== null) {
2657
+ return [
2658
+ `Allow "${stem}" once`,
2659
+ `Allow "${parent}" this session`,
2660
+ `Allow "${stem}" this session`,
2661
+ `Allow "${parent}" always`,
2662
+ `Allow "${stem}" always`,
2663
+ `Deny "${stem}"`,
2664
+ ];
2683
2665
  }
2684
- options.push("Deny");
2685
- return options;
2666
+ return [
2667
+ `Allow "${stem}" once`,
2668
+ `Allow "${stem}" this session`,
2669
+ `Allow "${stem}" always`,
2670
+ `Deny "${stem}"`,
2671
+ ];
2686
2672
  }
2687
2673
  /**
2688
2674
  * Parse a selected option string from the compound command prompt back into
2689
2675
  * a structured {@link CompoundSelection}. Pure function — no I/O, no side effects.
2690
2676
  *
2677
+ * The shape is unambiguous because each option has a unique label suffix:
2678
+ * - ` <something>" once` → once
2679
+ * - `Deny "<something>"` → deny
2680
+ * - `Allow "<something>" this session` → session
2681
+ * - `Allow "<something>" always` → always
2682
+ * Both parent and self options share the `"Allow "<stem>" this session"`
2683
+ * shape, but their `stem` values are different — that's OK, since the parent
2684
+ * is the FIRST whitespace token of the multi-word self and is never itself
2685
+ * ambiguous.
2686
+ *
2691
2687
  * Returns `null` for unrecognised selections (the caller treats this as a
2692
2688
  * conservative deny per Constitution §1.6).
2693
2689
  */
2694
2690
  function parseCompoundSelection(selected) {
2695
- if (selected === "Allow All Once")
2696
- return { type: "allow-all-once" };
2697
- if (selected === "Deny")
2698
- return { type: "deny" };
2699
- // Must be a candidate option — determine if This Session or Always.
2700
- if (selected.endsWith(" This Session")) {
2701
- const pattern = selected.slice(0, -" This Session".length);
2702
- return { type: "candidate", pattern, isSession: true };
2703
- }
2704
- if (selected.endsWith(" Always")) {
2705
- const pattern = selected.slice(0, -" Always".length);
2706
- return { type: "candidate", pattern, isSession: false };
2691
+ const onceMatch = /^Allow "(.+)" once$/.exec(selected);
2692
+ if (onceMatch) {
2693
+ return { type: "once", stem: onceMatch[1] ?? "" };
2694
+ }
2695
+ const denyMatch = /^Deny "(.+)"$/.exec(selected);
2696
+ if (denyMatch) {
2697
+ return { type: "deny", stem: denyMatch[1] ?? "" };
2698
+ }
2699
+ const sessionMatch = /^Allow "(.+)" this session$/.exec(selected);
2700
+ if (sessionMatch) {
2701
+ return { type: "session", stem: sessionMatch[1] ?? "" };
2702
+ }
2703
+ const alwaysMatch = /^Allow "(.+)" always$/.exec(selected);
2704
+ if (alwaysMatch) {
2705
+ return { type: "always", stem: alwaysMatch[1] ?? "" };
2707
2706
  }
2708
2707
  // Unexpected selection.
2709
2708
  return null;
@@ -2711,62 +2710,65 @@ function parseCompoundSelection(selected) {
2711
2710
  /**
2712
2711
  * Apply a parsed compound selection decision: construct the decision entry,
2713
2712
  * append it to `resultSegments`, and execute any persistence side effects
2714
- * (session allow, allow-always persistence). Intended as the inner workhorse
2715
- * of {@link promptForCompoundCommand}'s segment loop.
2713
+ * (`appendStemsToAllowList` for session/always, `ephemeralAllow` for once,
2714
+ * `appendToDenyList` for deny). Intended as the inner workhorse of
2715
+ * {@link promptForCompoundCommand}'s segment loop.
2716
2716
  *
2717
- * Returns `true` when the caller should short-circuit (Allow All Once selected
2718
- * the flag has been set and the function has already returned early by
2719
- * returning the compound decision with `allowAllOnceUsed: true`); returns
2720
- * `false` to continue to the next segment.
2717
+ * Side effects:
2718
+ * - `once` → `ephemeralAllow(stem)` (consume-on-match)
2719
+ * - `session` `appendStemsToAllowList([stem], ctx, "session")` (in-memory only)
2720
+ * - `always` `appendStemsToAllowList([stem], ctx, "always")` (persists `stem` and `stem *`)
2721
+ * - `deny` → `appendToDenyList(stem, ctx)` (persists stem to current level)
2721
2722
  *
2722
- * Pure-ish: writes to `resultSegments` (mutating push), calls `setAllowAllOnce`,
2723
- * `sessionAllow`, or `appendStemsToAllowList` as side effects. The caller owns
2724
- * `resultSegments` and must not reuse it after this returns `true` (the return
2725
- * already contains the final compound decision).
2723
+ * Mutation: pushes onto `resultSegments` in place, including `pattern: parsed.stem`
2724
+ * on every pushed entry so downstream consumers can reconstruct the chosen stem
2725
+ * (the parent-stem session/always selections arrive here with `stem === parent`).
2726
2726
  */
2727
2727
  function applyCompoundSegmentDecision(segment, parsed, resultSegments, ctx) {
2728
- if (parsed.type === "allow-all-once") {
2729
- setAllowAllOnce();
2730
- resultSegments.push({ segment, decision: "allow", scope: "ephemeral" });
2731
- return true;
2732
- }
2733
2728
  if (parsed.type === "deny") {
2734
- resultSegments.push({ segment, decision: "deny", scope: "persist" });
2729
+ appendToDenyList(parsed.stem, ctx);
2730
+ resultSegments.push({ segment, decision: "deny", scope: "persist", pattern: parsed.stem });
2735
2731
  return false;
2736
2732
  }
2737
- // Candidate — extract the stem (remove trailing ` *` for persistence).
2738
- const stem = parsed.pattern.endsWith(" *") ? parsed.pattern.slice(0, -2) : parsed.pattern;
2739
- if (parsed.isSession) {
2740
- sessionAllow(stem);
2741
- resultSegments.push({
2742
- segment,
2743
- decision: "allow",
2744
- scope: "session",
2745
- pattern: parsed.pattern,
2746
- });
2747
- }
2748
- else {
2749
- appendStemsToAllowList([stem], ctx);
2750
- resultSegments.push({
2751
- segment,
2752
- decision: "allow",
2753
- scope: "persist",
2754
- pattern: parsed.pattern,
2755
- });
2733
+ if (parsed.type === "once") {
2734
+ ephemeralAllow(parsed.stem);
2735
+ resultSegments.push({ segment, decision: "allow", scope: "ephemeral", pattern: parsed.stem });
2736
+ return false;
2756
2737
  }
2738
+ if (parsed.type === "session") {
2739
+ appendStemsToAllowList([parsed.stem], ctx, "session");
2740
+ resultSegments.push({ segment, decision: "allow", scope: "session", pattern: parsed.stem });
2741
+ return false;
2742
+ }
2743
+ // "always"
2744
+ appendStemsToAllowList([parsed.stem], ctx, "always");
2745
+ resultSegments.push({ segment, decision: "allow", scope: "always", pattern: parsed.stem });
2757
2746
  return false;
2758
2747
  }
2759
2748
  /**
2760
2749
  * Segment-by-segment interactive prompt for compound commands (FLOW-12).
2761
2750
  *
2762
- * For each "ask" segment, computes positional wildcard candidates via
2763
- * {@link unfoldPositionalCandidates}, presents them in a `ctx.ui.select()`
2764
- * dialog with Allow All Once / This Session / Always / Deny options, and
2765
- * returns a {@link CompoundDecision} mapping each segment to its scoped result.
2766
- *
2767
- * The Allow All Once option short-circuits remaining segments without prompting
2768
- * and sets the Allow All Once flag so {@link runPermissionGate} can skip
2769
- * re-prompting for subsequent segments of the same compound execution.
2751
+ * For each "ask" segment, computes the command stem (and parent stem for
2752
+ * multi-word commands), presents them in a `ctx.ui.select()` dialog with
2753
+ * a per-segment menu (Allow "{stem}" once, Allow "{stem}" this session,
2754
+ * Allow "{stem}" always, Deny "{stem}"; multi-word segments also expose
2755
+ * parent-stem session/always variants), and returns a {@link CompoundDecision}
2756
+ * mapping each segment to its scoped result.
2757
+ *
2758
+ * After applying a per-segment decision, the function short-circuits when
2759
+ * the user commits to a session or always scope (remaining segments are
2760
+ * auto-allowed through that scope without further prompting); "once" and
2761
+ * "deny" continue iterating so each segment is decided individually.
2762
+ *
2763
+ * **Classifier-aware pre-pass** (FLOW-12 Step 2 enhancement): segments
2764
+ * whose per-segment classifier verdict is `allow` (e.g. cascade-matched
2765
+ * `git diff *` for a `cd /repo; git diff HEAD` chain) are recorded as
2766
+ * `decision: "allow"` in the result WITHOUT prompting — the cascade rule
2767
+ * already gates them, so re-prompting wastes UI cycles and trains the user
2768
+ * to deny out of habit. Per-segment `deny` is unreachable here because
2769
+ * `runPermissionGate` routes denies through `classifyCommand`'s combined
2770
+ * precedence before reaching this prompt (the compound branch only fires
2771
+ * when combined decision is `ask`).
2770
2772
  *
2771
2773
  * Headless short-circuit (FLOW-11): when `ctx.hasUI === false`, returns an empty
2772
2774
  * `CompoundDecision` immediately without calling `ctx.ui.select` — the caller
@@ -2776,25 +2778,64 @@ function applyCompoundSegmentDecision(segment, parsed, resultSegments, ctx) {
2776
2778
  *
2777
2779
  * Flow references:
2778
2780
  * - FLOW-12 Step 3 ("segment-by-segment prompt loop")
2779
- * - FLOW-12 Step 8 ("Allow All Once flag lifecycle")
2780
2781
  * - FLOW-08 Step 3 ("scope-based persistence routing")
2781
2782
  */
2782
2783
  export async function promptForCompoundCommand(segments, ctx) {
2783
2784
  if (!ensureSelectAvailable(ctx)) {
2784
- return { segments: [], allowAllOnceUsed: false, cancelled: false };
2785
+ return { segments: [], cancelled: false };
2785
2786
  }
2786
2787
  if (segments.length === 0) {
2787
- return { segments: [], allowAllOnceUsed: false, cancelled: false };
2788
+ return { segments: [], cancelled: false };
2788
2789
  }
2789
2790
  const resultSegments = [];
2790
2791
  const promptSelect = ctx.ui.select;
2791
- for (const segment of segments) {
2792
- const candidates = unfoldPositionalCandidates(segment);
2793
- const options = buildCompoundOptions(candidates);
2792
+ // Pre-classify every segment so cascade-allowed pieces of a compound
2793
+ // command (`cd /repo; git diff HEAD; echo done` at medium mode where
2794
+ // `cd *`, `git diff *`, and `echo *` all cascade-allow) never reach the
2795
+ // per-segment prompt. The classifier runs in a single pipeline (no I/O)
2796
+ // and mirrors `classifyCommand`'s per-segment walker at
2797
+ // `src/gatekeeper.ts:1799-1858`.
2798
+ const mode = getCurrentMode();
2799
+ const rules = loadRules(ctx);
2800
+ const strippedSegments = segments.map((seg) => stripLeadingEnvAssignments(seg));
2801
+ const perSegment = strippedSegments.map((seg) => classifySegment(seg, mode, rules));
2802
+ for (let i = 0; i < segments.length; i += 1) {
2803
+ const segment = segments[i];
2804
+ const segmentClassifier = perSegment[i];
2805
+ // Cascade-allowed segments are recorded but not prompted — the rule
2806
+ // that already gates them (e.g. `git diff *` matched via cascade-down)
2807
+ // is the authoritative allow signal; re-prompting would only confirm
2808
+ // what the rule already says and creates the false-deny surface the
2809
+ // user kept tripping on ("Blocked: All segments denied" out of habit).
2810
+ if (segmentClassifier.decision === "allow") {
2811
+ resultSegments.push({ segment, decision: "allow", scope: "ephemeral" });
2812
+ continue;
2813
+ }
2814
+ // Per-segment `deny` is unreachable through `runPermissionGate`
2815
+ // (combined precedence is `deny > ask > allow`), but if a future
2816
+ // caller routes a deny-yielding compound here we surface it as a
2817
+ // hard deny without prompting. `pattern` is omitted because the
2818
+ // upstream deny was decided at the full-command classifier level,
2819
+ // not from this per-segment prompt.
2820
+ if (segmentClassifier.decision === "deny") {
2821
+ resultSegments.push({ segment, decision: "deny", scope: "persist" });
2822
+ return { segments: resultSegments, cancelled: false };
2823
+ }
2824
+ // Compute the full command stem (e.g., `pnpm exec biome check test/`,
2825
+ // `git diff HEAD`) via `extractCommandStem`. The menu only needs the
2826
+ // first two tokens — the bare command plus its first subcommand — to
2827
+ // stay readable; longer stems add no meaningful choice granularity.
2828
+ // `parent` is the first token of that two-token menu stem, used for
2829
+ // the parent-stem "this session" / "always" expansion entries.
2830
+ const stem = extractCommandStem(segment);
2831
+ const tokens = stem.split(" ");
2832
+ const menuStem = tokens.slice(0, 2).join(" ");
2833
+ const parent = tokens.length > 1 ? (tokens[0] ?? null) : null;
2834
+ const options = buildCompoundOptions(menuStem, parent);
2794
2835
  let selected;
2795
2836
  try {
2796
2837
  selected = await promptSelect({
2797
- message: `Segment: ${segment}`,
2838
+ message: `Allow command "${segment}"`,
2798
2839
  options,
2799
2840
  });
2800
2841
  }
@@ -2802,26 +2843,31 @@ export async function promptForCompoundCommand(segments, ctx) {
2802
2843
  // Fail closed per Constitution §1.6 — a thrown prompt must never silently
2803
2844
  // allow. The denial is recorded in the CompoundDecision and surfaced by
2804
2845
  // finalizeCompoundGateResult's notification, avoiding a duplicate warning.
2805
- resultSegments.push({ segment, decision: "deny", scope: "persist" });
2806
- return { segments: resultSegments, allowAllOnceUsed: false, cancelled: false };
2846
+ resultSegments.push({ segment, decision: "deny", scope: "persist", pattern: stem });
2847
+ return { segments: resultSegments, cancelled: false };
2807
2848
  }
2808
2849
  if (selected === undefined) {
2809
2850
  // User dismissed the prompt (Escape, focus loss, TUI auto-dismiss) without
2810
2851
  // choosing any option. Mark `cancelled: true` so finalizeCompoundGateResult
2811
2852
  // can emit "Blocked: Prompt dismissed" — distinct from the misleading
2812
2853
  // "Blocked: All segments denied" that an empty `resultSegments` would otherwise produce.
2813
- return { segments: resultSegments, allowAllOnceUsed: false, cancelled: true };
2854
+ return { segments: resultSegments, cancelled: true };
2814
2855
  }
2815
2856
  const parsed = parseCompoundSelection(selected);
2816
2857
  if (parsed === null) {
2817
- resultSegments.push({ segment, decision: "deny", scope: "persist" });
2858
+ resultSegments.push({ segment, decision: "deny", scope: "persist", pattern: stem });
2818
2859
  continue;
2819
2860
  }
2820
- if (applyCompoundSegmentDecision(segment, parsed, resultSegments, ctx)) {
2821
- return { segments: resultSegments, allowAllOnceUsed: true, cancelled: false };
2861
+ applyCompoundSegmentDecision(segment, parsed, resultSegments, ctx);
2862
+ // Short-circuit: when the user commits to a session or always scope on
2863
+ // the current segment, remaining segments are auto-allowed through that
2864
+ // scope without further prompting. "once" and "deny" continue to the
2865
+ // next segment so each is decided individually.
2866
+ if (parsed.type === "session" || parsed.type === "always") {
2867
+ return { segments: resultSegments, cancelled: false };
2822
2868
  }
2823
2869
  }
2824
- return { segments: resultSegments, allowAllOnceUsed: false, cancelled: false };
2870
+ return { segments: resultSegments, cancelled: false };
2825
2871
  }
2826
2872
  /**
2827
2873
  * Interpret a {@link CompoundDecision} returned by
@@ -2838,9 +2884,6 @@ export async function promptForCompoundCommand(segments, ctx) {
2838
2884
  * - No segment allowed → notify and deny.
2839
2885
  */
2840
2886
  function finalizeCompoundGateResult(compoundDecision, ctx) {
2841
- if (compoundDecision.allowAllOnceUsed) {
2842
- return { allow: true };
2843
- }
2844
2887
  if (compoundDecision.cancelled) {
2845
2888
  // User dismissed the prompt (Escape, focus loss) without choosing. This is
2846
2889
  // semantically distinct from "explicitly denied every segment" — the user did
@@ -2910,15 +2953,6 @@ export async function runPermissionGate(command, ctx) {
2910
2953
  if (runtimeMode === "off") {
2911
2954
  return { allow: true };
2912
2955
  }
2913
- // (1.5) Allow All Once check — FLOW-12 Step 7/8. When the flag is set by
2914
- // promptForCompoundCommand for a preceding segment in the same compound
2915
- // execution, skip all processing (classifier, prompt) and return allow.
2916
- // The flag is consumed on first access (single-shot), so a subsequent
2917
- // runPermissionGate invocation without re-setting the flag goes through the
2918
- // normal classifier/prompt path.
2919
- if (consumeAllowAllOnce()) {
2920
- return { allow: true };
2921
- }
2922
2956
  // (2) Session allow check — persists across the session without consuming on match.
2923
2957
  if (isSessionAllowed(resolvedCommand)) {
2924
2958
  return { allow: true };
@@ -3105,38 +3139,28 @@ function buildBashResult(text, isError) {
3105
3139
  * Source anchor: `tasks.md TSK-005-03` (bash tool registration + execute handler).
3106
3140
  */
3107
3141
  async function bashExecute(_toolCallId, params, _signal, _onUpdate, ctx) {
3142
+ // (1) Defensive non-string guard — a malformed tool payload (number, object, null,
3143
+ // undefined) never reaches the gate. Returns BLOCKED with isError: true so the LLM
3144
+ // surfaces a structured error to the developer.
3145
+ if (typeof params.command !== "string") {
3146
+ return buildBashResult("BLOCKED: bash tool command must be a string", true);
3147
+ }
3148
+ // (2) Permission gate — classifier + prompt + persistence routing. The gate runs BEFORE
3149
+ // shell dispatch so a denied command never reaches `child_process.exec`.
3150
+ const decision = await runPermissionGate(params.command, ctx);
3151
+ if (!decision.allow) {
3152
+ return buildBashResult(`BLOCKED: ${params.command}`, true);
3153
+ }
3154
+ // (3) Shell dispatch — gate approved; run the command in `ctx.cwd` and surface the
3155
+ // merged stdout/stderr payload. A spawn failure (ENOENT, EACCES, etc.) is caught and
3156
+ // returned as a structured error result so the LLM sees a normalized shape.
3108
3157
  try {
3109
- // (1) Defensive non-string guard a malformed tool payload (number, object, null,
3110
- // undefined) never reaches the gate. Returns BLOCKED with isError: true so the LLM
3111
- // surfaces a structured error to the developer.
3112
- if (typeof params.command !== "string") {
3113
- return buildBashResult("BLOCKED: bash tool command must be a string", true);
3114
- }
3115
- // (2) Permission gate — classifier + prompt + persistence routing. The gate runs BEFORE
3116
- // shell dispatch so a denied command never reaches `child_process.exec`.
3117
- const decision = await runPermissionGate(params.command, ctx);
3118
- if (!decision.allow) {
3119
- return buildBashResult(`BLOCKED: ${params.command}`, true);
3120
- }
3121
- // (3) Shell dispatch — gate approved; run the command in `ctx.cwd` and surface the
3122
- // merged stdout/stderr payload. A spawn failure (ENOENT, EACCES, etc.) is caught and
3123
- // returned as a structured error result so the LLM sees a normalized shape.
3124
- try {
3125
- const { stdout, stderr } = await execBash(params.command, ctx.cwd);
3126
- return buildBashResult(stderr && stderr.length > 0 ? `${stdout}${stdout ? "\n" : ""}${stderr}` : stdout, false);
3127
- }
3128
- catch (err) {
3129
- const message = err instanceof Error ? err.message : String(err);
3130
- return buildBashResult(`BLOCKED: shell exec failed: ${message}`, true);
3131
- }
3158
+ const { stdout, stderr } = await execBash(params.command, ctx.cwd);
3159
+ return buildBashResult(stderr && stderr.length > 0 ? `${stdout}${stdout ? "\n" : ""}${stderr}` : stdout, false);
3132
3160
  }
3133
- finally {
3134
- // FLOW-12 Step 8 clearance: after any compound execution completes,
3135
- // unconditionally clear the Allow All Once flag so it does not persist
3136
- // across separate bash tool invocations. The outer try/finally guarantees
3137
- // this runs even if runPermissionGate throws unexpectedly, making the
3138
- // safety contract unbreakable (FLOW-12 Step 8, FLOW-08 Step 5).
3139
- resetAllowAllOnce();
3161
+ catch (err) {
3162
+ const message = err instanceof Error ? err.message : String(err);
3163
+ return buildBashResult(`BLOCKED: shell exec failed: ${message}`, true);
3140
3164
  }
3141
3165
  }
3142
3166
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gatekeeper.js","sourceRoot":"","sources":["../src/gatekeeper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatekeeper.js","sourceRoot":"","sources":["../src/gatekeeper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wernerbisschoff/pi-gatekeeper",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Permission enforcement extension for Pi/OMP",
5
5
  "keywords": [
6
6
  "pi-package",