@wernerbisschoff/pi-gatekeeper 0.1.2 → 0.1.4

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.
@@ -51,6 +51,24 @@ export type PermissionDecision = {
51
51
  decision: "allow" | "ask" | "deny";
52
52
  reason: string;
53
53
  };
54
+ /**
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).
58
+ *
59
+ * Flow references:
60
+ * - FLOW-12 Step 3 ("CompoundDecision as return type of promptForCompoundCommand")
61
+ * - FLOW-08 Step 3 (scope-based persistence routing from scope field)
62
+ */
63
+ export type CompoundDecision = {
64
+ segments: Array<{
65
+ segment: string;
66
+ decision: "allow" | "deny";
67
+ scope: "ephemeral" | "session" | "persist";
68
+ pattern?: string;
69
+ }>;
70
+ allowAllOnceUsed: boolean;
71
+ };
54
72
  /** ─── Sensitive Path Guard (compile-time, not user-configurable) ─── */
55
73
  /**
56
74
  * Compile-time regex pattern + human-readable label for a sensitive path category.
@@ -242,10 +260,8 @@ export declare const PERMISSION_STATUS_KEY = "perm";
242
260
  * may write to it (otherwise the level indicator could be shadowed on the TUI footer).
243
261
  */
244
262
  /**
245
- * Plain-text level labels used by {@link updateStatus} to build the
246
263
  * TUI footer indicator. The labels are intentionally simple — the
247
- * `/perm` hint is appended at render time so the indicator is
248
- * self-documenting without coloured circles.
264
+ * circle is added at render time with per-level theme colors.
249
265
  */
250
266
  export declare const MODE_LABELS: Record<PermissionLevel, string>;
251
267
  /**
@@ -531,13 +547,76 @@ export declare function stripLeadingEnvAssignments(command: string): string;
531
547
  * (not command stems). These entries are used by:
532
548
  * - `promptForPermission` for the "Will allow" preview (which further filters
533
549
  * to show only the "ask" segments' command stems)
534
- * - `appendToAllowList` for persistence (which converts each to its command stem)
550
+ * - `appendStemsToAllowList` for persistence (each entry is already a command stem
551
+ * extracted by the caller — this function does NOT do the stem extraction)
535
552
  * - "allow-session" and "allow-once" for session/ephemeral caching of the
536
553
  * full resolved command
537
554
  *
538
555
  * Returns full segments so the caller can decide how to display/persist them.
539
556
  */
540
557
  export declare function getAllowListEntries(command: string): string[];
558
+ /**
559
+ * Compute the list of positional wildcard candidates for a single shell segment. Used by
560
+ * FLOW-12's segment-by-segment prompt (TSK-009-04) to build `<candidate> * This Session` and
561
+ * `<candidate> * Always` options from the segment's executable token chain.
562
+ *
563
+ * Pipeline:
564
+ * 1. {@link stripLeadingEnvAssignments} — drop transient `VAR=val` prefixes so they do not
565
+ * leak into the candidate list.
566
+ * 2. {@link splitShellWords} — tokenize on whitespace, respecting single/double quotes so
567
+ * `"hello world"` is one token, not two.
568
+ * 3. {@link stripRedirectsFromTokens} — drop redirect operators (`>`, `>>`, `<`, `<<`,
569
+ * `2>`, `2>&1`, …) and their targets so `pnpm exec biome check test/ 2>&1` produces the
570
+ * same candidates as `pnpm exec biome check test/`.
571
+ * 4. Prefix-depth unfolding — emit one candidate per prefix depth `k`:
572
+ * `<tokens[0..k).join(" ") + " *">`. The wildcard is always on the LAST emitted token,
573
+ * never between tokens.
574
+ *
575
+ * Contract (pinned by `test/prompt.test.ts` FLOW-12 sub-describe):
576
+ * - `unfoldPositionalCandidates("pnpm exec biome check test/")` →
577
+ * `["pnpm *", "pnpm exec *", "pnpm exec biome *", "pnpm exec biome check *", "pnpm exec biome check test/ *"]`
578
+ * - `unfoldPositionalCandidates("pnpm exec biome check test/ 2>&1")` → identical to above
579
+ * (the `2>&1` redirect contributes nothing).
580
+ * - `unfoldPositionalCandidates("> /dev/null")` → `[]` (bare redirect consumes its target).
581
+ * - `unfoldPositionalCandidates("NODE_ENV=test pnpm test")` → `["pnpm *", "pnpm test *"]`
582
+ * (env-var prefix stripped, then unfolded).
583
+ * - `unfoldPositionalCandidates("head")` → `["head *"]` (single-word segment).
584
+ * - `unfoldPositionalCandidates("")` → `[]` (empty / whitespace-only inputs never throw).
585
+ *
586
+ * Pure function — no I/O, no side effects, no module-level state. O(n) over the segment's
587
+ * character count.
588
+ *
589
+ * Source anchor: AC-ADHOC-012-01 / AC-ADHOC-012-02 (positional wildcard unfolding).
590
+ */
591
+ export declare function unfoldPositionalCandidates(segment: string): string[];
592
+ /**
593
+ * Validate that every `*` wildcard in `pattern` is preceded by either a whitespace character or
594
+ * the start of the pattern. Used by FLOW-12 as the write-time guard inside
595
+ * {@link appendStemsToAllowList} (defense-in-depth) and by the ingest-time check on any
596
+ * programmatically-built wildcard before it lands in `perm-rules.json`.
597
+ *
598
+ * Rule (Issue 009 Hard Inclusion #2, AC-ADHOC-012-04):
599
+ * - Every `*` in `pattern` MUST be at position 0 OR immediately preceded by whitespace
600
+ * (` `, `\t`, or `\n`).
601
+ * - Patterns without a `*` are vacuously valid.
602
+ *
603
+ * Why: a pattern like `git*` (no space before the wildcard) compiles to the regex
604
+ * `^git.*$`, which matches `gitlog`, `git-fetch`, and any other input that merely STARTS
605
+ * with `git`. The full-token-boundary rule prevents this class of accidental over-match
606
+ * — `git *` is the correct pattern for "git followed by anything" and matches only inputs
607
+ * where `git` is its own whitespace-delimited token.
608
+ *
609
+ * Pure predicate — single linear scan, O(n) over `pattern.length`. Sub-microsecond per call.
610
+ *
611
+ * Contract (pinned by `test/prompt.test.ts` FLOW-12 sub-describe):
612
+ * - `validateFullTokenBoundary("git *")` → `true`
613
+ * - `validateFullTokenBoundary("git*")` → `false`
614
+ * - `validateFullTokenBoundary("*")` → `true` (position 0)
615
+ * - `validateFullTokenBoundary("git diff *")` → `true`
616
+ * - `validateFullTokenBoundary("npm install express")` → `true` (no `*`, vacuously valid)
617
+ * - `validateFullTokenBoundary("")` → `true` (vacuously valid)
618
+ */
619
+ export declare function validateFullTokenBoundary(pattern: string): boolean;
541
620
  /**
542
621
  * Add `command` to the in-memory ephemeral allow set so the next evaluation that matches the
543
622
  * command returns `{ allow: true }` without consulting the classifier or showing a prompt. Consumed
@@ -567,6 +646,67 @@ export declare function sessionAllow(command: string): void;
567
646
  * {@link setCurrentMode}.
568
647
  */
569
648
  export declare function isSessionAllowed(command: string): boolean;
649
+ /**
650
+ * Set the Allow All Once flag. After this call, the next
651
+ * {@link consumeAllowAllOnce} returns `true` and clears the flag.
652
+ * Exported so the TSK-009-03 lifecycle tests can drive it directly
653
+ * without going through {@link promptForCompoundCommand}.
654
+ */
655
+ export declare function setAllowAllOnce(): void;
656
+ /**
657
+ * Consume (read-and-clear) the Allow All Once flag. Returns `true`
658
+ * exactly once when the flag was set by a prior {@link setAllowAllOnce}
659
+ * call; subsequent calls return `false` until the flag is re-set.
660
+ * This one-shot semantics mirrors the existing {@link isEphemeralAllowed}
661
+ * pattern.
662
+ */
663
+ export declare function consumeAllowAllOnce(): boolean;
664
+ /**
665
+ * Unconditionally clear the Allow All Once flag. Idempotent — calling
666
+ * when the flag is already `false` is a no-op. Primed as the test-teardown
667
+ * seam (per-test `beforeEach` in the FLOW-12 lifecycle describe); intended
668
+ * for cleanup after compound command execution resolves (FLOW-12 Step 8 —
669
+ * integration pending).
670
+ */
671
+ export declare function resetAllowAllOnce(): void;
672
+ /**
673
+ * Persist command stems from "ask" segments to the current level's allow list.
674
+ * Each stem is written in two forms — bare (`"git diff"`) and wildcard (`"git diff *"`)
675
+ * — matching the default-rules convention without being overly broad (`"git *"`
676
+ * would allow all subcommands). Dedup via {@link appendUnique} so re-clicking
677
+ * "Allow Always" on the same compound does NOT duplicate entries.
678
+ *
679
+ * Defense-in-depth (Issue 009 §Hard Inclusion #2, AC-ADHOC-012-04): each candidate
680
+ * is filtered through {@link validateFullTokenBoundary}, silently dropping
681
+ * glued-wildcard forms (`"git*"`) so future programmatic callers (FLOW-12's
682
+ * `promptForCompoundCommand`) cannot seed `perm-rules.json` with an over-broad
683
+ * pattern that would match `gitlog` / `git-fetch`. Empty input is a no-op (no write).
684
+ */
685
+ export declare function appendStemsToAllowList(stems: readonly string[], ctx: ExtensionContext): void;
686
+ /**
687
+ * Segment-by-segment interactive prompt for compound commands (FLOW-12).
688
+ *
689
+ * For each "ask" segment, computes positional wildcard candidates via
690
+ * {@link unfoldPositionalCandidates}, presents them in a `ctx.ui.select()`
691
+ * dialog with Allow All Once / This Session / Always / Deny options, and
692
+ * returns a {@link CompoundDecision} mapping each segment to its scoped result.
693
+ *
694
+ * The Allow All Once option short-circuits remaining segments without prompting
695
+ * and sets the Allow All Once flag so {@link runPermissionGate} can skip
696
+ * re-prompting for subsequent segments of the same compound execution.
697
+ *
698
+ * Headless short-circuit (FLOW-11): when `ctx.hasUI === false`, returns an empty
699
+ * `CompoundDecision` immediately without calling `ctx.ui.select` — the caller
700
+ * should treat this as a deny per the existing headless auto-deny contract.
701
+ * Similarly, when `ctx.ui.select` is not a function (UI is absent at runtime),
702
+ * returns an empty result conservatively.
703
+ *
704
+ * Flow references:
705
+ * - FLOW-12 Step 3 ("segment-by-segment prompt loop")
706
+ * - FLOW-12 Step 8 ("Allow All Once flag lifecycle")
707
+ * - FLOW-08 Step 3 ("scope-based persistence routing")
708
+ */
709
+ export declare function promptForCompoundCommand(segments: string[], ctx: ExtensionContext): Promise<CompoundDecision>;
570
710
  /**
571
711
  * Four-branch permission gate — the user-visible keystone for FLOW-07 (interactive prompt),
572
712
  * FLOW-08 (scope: ephemeral / persist-allow / persist-deny), and FLOW-11 (headless auto-deny).
@@ -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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"}
@@ -571,16 +571,30 @@ export const PERMISSION_STATUS_KEY = "perm";
571
571
  * may write to it (otherwise the level indicator could be shadowed on the TUI footer).
572
572
  */
573
573
  /**
574
- * Plain-text level labels used by {@link updateStatus} to build the
575
574
  * TUI footer indicator. The labels are intentionally simple — the
576
- * `/perm` hint is appended at render time so the indicator is
577
- * self-documenting without coloured circles.
575
+ * circle is added at render time with per-level theme colors.
578
576
  */
579
577
  export const MODE_LABELS = {
580
578
  low: "LOW",
581
579
  medium: "MEDIUM",
582
580
  high: "HIGH",
583
581
  };
582
+ /**
583
+ * Theme color key for each permission level. Maps the semantic permission tiers
584
+ * to the theme's semantic color palette so the indicator is unambiguously
585
+ * distinguishable by color even without the label:
586
+ * - low → `success` (green) — restricted/safe
587
+ * - medium → `warning` (yellow/amber) — balanced
588
+ * - high → `error` (red) — permissive/warning
589
+ * The type is a `string` to avoid importing the private ThemeColor union from
590
+ * pi-coding-agent; the values are verbatim ThemeColor literals so a future
591
+ * tsc check catches a typo that falls outside the union.
592
+ */
593
+ const MODE_COLORS = {
594
+ low: "success",
595
+ medium: "warning",
596
+ high: "error",
597
+ };
584
598
  /**
585
599
  * Render the active permission level into the TUI footer via `ctx.ui.setStatus(...)` using the
586
600
  * reserved `PERMISSION_STATUS_KEY`. The custom footer extension (`footer.ts`) reads the
@@ -595,9 +609,9 @@ export const MODE_LABELS = {
595
609
  */
596
610
  export function updateStatus(ctx) {
597
611
  const label = MODE_LABELS[currentMode];
598
- const text = `${label} · /perm`;
599
- // Apply muted theme styling when available (supported in both Pi and OMP).
600
- const styled = typeof ctx.ui.theme?.fg === "function" ? ctx.ui.theme.fg("muted", text) : text;
612
+ const text = `● ${label} /perm`;
613
+ const colorKey = MODE_COLORS[currentMode];
614
+ const styled = typeof ctx.ui.theme?.fg === "function" ? ctx.ui.theme.fg(colorKey, text) : text;
601
615
  ctx.ui.setStatus(PERMISSION_STATUS_KEY, styled);
602
616
  // Broadcast the current mode on the shared extension event bus so the footer
603
617
  // extension (which may replace the built-in footer) can update its indicator
@@ -2095,7 +2109,8 @@ function extractCommandStem(segment) {
2095
2109
  * (not command stems). These entries are used by:
2096
2110
  * - `promptForPermission` for the "Will allow" preview (which further filters
2097
2111
  * to show only the "ask" segments' command stems)
2098
- * - `appendToAllowList` for persistence (which converts each to its command stem)
2112
+ * - `appendStemsToAllowList` for persistence (each entry is already a command stem
2113
+ * extracted by the caller — this function does NOT do the stem extraction)
2099
2114
  * - "allow-session" and "allow-once" for session/ephemeral caching of the
2100
2115
  * full resolved command
2101
2116
  *
@@ -2126,6 +2141,136 @@ export function getAllowListEntries(command) {
2126
2141
  }
2127
2142
  return out;
2128
2143
  }
2144
+ /**
2145
+ * Redirect-operator prefix anchor: a token is a redirect when it begins with `<` / `>`
2146
+ * (including `<<` heredoc, `<<<` herestring, bare `>`), with `&<` / `&>`, or with a digit
2147
+ * fd-prefix followed by a redirect (`2>`, `1<`, `2>>`, …). Single-shot module-scope RegExp
2148
+ * so the three alternative branches don't recompile per call.
2149
+ */
2150
+ const REDIRECT_OP_PREFIX_RE = /^(?:[<>]|&[<>]|\d+[<>])/;
2151
+ /**
2152
+ * Bare (operator-only) redirect shape: the token is EXACTLY the operator with no embedded
2153
+ * target — `>`, `>>`, `<<`, `<<<`, `&>`, `&>>`, `2>`, `2>>`, … Self-contained forms like
2154
+ * `2>&1`, `2>file`, or `&>out` have non-redirect trailing chars and therefore do NOT match.
2155
+ * Drives {@link stripRedirectsFromTokens}'s target-consumption decision.
2156
+ */
2157
+ const BARE_REDIRECT_RE = /^&?[0-9]*[<>]+$/;
2158
+ /**
2159
+ * Filter redirect operators and their targets from an already-tokenized word list. Returns the
2160
+ * surviving executable words in their original order.
2161
+ *
2162
+ * Algorithm mirrors `splitShellSegments`'s redirect-tracking state machine
2163
+ * (`src/gatekeeper.ts:1382-1396`) but at the WORD level — a bare redirect operator
2164
+ * (`>`, `>>`, `<`, `<<`, `2>`, `2>>`, …) consumes the next token as its target; self-contained
2165
+ * forms like `2>&1`, `2>file`, `&>out` are recognized by {@link REDIRECT_OP_PREFIX_RE} but do
2166
+ * NOT match {@link BARE_REDIRECT_RE}, so they consume nothing further.
2167
+ */
2168
+ function stripRedirectsFromTokens(tokens) {
2169
+ const out = [];
2170
+ let consumeNext = false;
2171
+ for (const token of tokens) {
2172
+ if (consumeNext) {
2173
+ consumeNext = false;
2174
+ continue;
2175
+ }
2176
+ if (token.length > 0 && REDIRECT_OP_PREFIX_RE.test(token)) {
2177
+ if (BARE_REDIRECT_RE.test(token)) {
2178
+ consumeNext = true;
2179
+ }
2180
+ continue;
2181
+ }
2182
+ out.push(token);
2183
+ }
2184
+ return out;
2185
+ }
2186
+ /**
2187
+ * Compute the list of positional wildcard candidates for a single shell segment. Used by
2188
+ * FLOW-12's segment-by-segment prompt (TSK-009-04) to build `<candidate> * This Session` and
2189
+ * `<candidate> * Always` options from the segment's executable token chain.
2190
+ *
2191
+ * Pipeline:
2192
+ * 1. {@link stripLeadingEnvAssignments} — drop transient `VAR=val` prefixes so they do not
2193
+ * leak into the candidate list.
2194
+ * 2. {@link splitShellWords} — tokenize on whitespace, respecting single/double quotes so
2195
+ * `"hello world"` is one token, not two.
2196
+ * 3. {@link stripRedirectsFromTokens} — drop redirect operators (`>`, `>>`, `<`, `<<`,
2197
+ * `2>`, `2>&1`, …) and their targets so `pnpm exec biome check test/ 2>&1` produces the
2198
+ * same candidates as `pnpm exec biome check test/`.
2199
+ * 4. Prefix-depth unfolding — emit one candidate per prefix depth `k`:
2200
+ * `<tokens[0..k).join(" ") + " *">`. The wildcard is always on the LAST emitted token,
2201
+ * never between tokens.
2202
+ *
2203
+ * Contract (pinned by `test/prompt.test.ts` FLOW-12 sub-describe):
2204
+ * - `unfoldPositionalCandidates("pnpm exec biome check test/")` →
2205
+ * `["pnpm *", "pnpm exec *", "pnpm exec biome *", "pnpm exec biome check *", "pnpm exec biome check test/ *"]`
2206
+ * - `unfoldPositionalCandidates("pnpm exec biome check test/ 2>&1")` → identical to above
2207
+ * (the `2>&1` redirect contributes nothing).
2208
+ * - `unfoldPositionalCandidates("> /dev/null")` → `[]` (bare redirect consumes its target).
2209
+ * - `unfoldPositionalCandidates("NODE_ENV=test pnpm test")` → `["pnpm *", "pnpm test *"]`
2210
+ * (env-var prefix stripped, then unfolded).
2211
+ * - `unfoldPositionalCandidates("head")` → `["head *"]` (single-word segment).
2212
+ * - `unfoldPositionalCandidates("")` → `[]` (empty / whitespace-only inputs never throw).
2213
+ *
2214
+ * Pure function — no I/O, no side effects, no module-level state. O(n) over the segment's
2215
+ * character count.
2216
+ *
2217
+ * Source anchor: AC-ADHOC-012-01 / AC-ADHOC-012-02 (positional wildcard unfolding).
2218
+ */
2219
+ export function unfoldPositionalCandidates(segment) {
2220
+ const cleaned = stripLeadingEnvAssignments(segment);
2221
+ if (cleaned.trim().length === 0)
2222
+ return [];
2223
+ const tokens = stripRedirectsFromTokens(splitShellWords(cleaned));
2224
+ if (tokens.length === 0)
2225
+ return [];
2226
+ const candidates = [];
2227
+ for (let k = 1; k <= tokens.length; k += 1) {
2228
+ candidates.push(`${tokens.slice(0, k).join(" ")} *`);
2229
+ }
2230
+ return candidates;
2231
+ }
2232
+ /**
2233
+ * Validate that every `*` wildcard in `pattern` is preceded by either a whitespace character or
2234
+ * the start of the pattern. Used by FLOW-12 as the write-time guard inside
2235
+ * {@link appendStemsToAllowList} (defense-in-depth) and by the ingest-time check on any
2236
+ * programmatically-built wildcard before it lands in `perm-rules.json`.
2237
+ *
2238
+ * Rule (Issue 009 Hard Inclusion #2, AC-ADHOC-012-04):
2239
+ * - Every `*` in `pattern` MUST be at position 0 OR immediately preceded by whitespace
2240
+ * (` `, `\t`, or `\n`).
2241
+ * - Patterns without a `*` are vacuously valid.
2242
+ *
2243
+ * Why: a pattern like `git*` (no space before the wildcard) compiles to the regex
2244
+ * `^git.*$`, which matches `gitlog`, `git-fetch`, and any other input that merely STARTS
2245
+ * with `git`. The full-token-boundary rule prevents this class of accidental over-match
2246
+ * — `git *` is the correct pattern for "git followed by anything" and matches only inputs
2247
+ * where `git` is its own whitespace-delimited token.
2248
+ *
2249
+ * Pure predicate — single linear scan, O(n) over `pattern.length`. Sub-microsecond per call.
2250
+ *
2251
+ * Contract (pinned by `test/prompt.test.ts` FLOW-12 sub-describe):
2252
+ * - `validateFullTokenBoundary("git *")` → `true`
2253
+ * - `validateFullTokenBoundary("git*")` → `false`
2254
+ * - `validateFullTokenBoundary("*")` → `true` (position 0)
2255
+ * - `validateFullTokenBoundary("git diff *")` → `true`
2256
+ * - `validateFullTokenBoundary("npm install express")` → `true` (no `*`, vacuously valid)
2257
+ * - `validateFullTokenBoundary("")` → `true` (vacuously valid)
2258
+ */
2259
+ export function validateFullTokenBoundary(pattern) {
2260
+ for (let i = 0; i < pattern.length; i += 1) {
2261
+ if (pattern[i] !== "*")
2262
+ continue;
2263
+ // Position-0 wildcard is the "start of pattern" boundary — a leading `*` is a suffix
2264
+ // wildcard ("anything ending with X"), which is acceptable.
2265
+ if (i === 0)
2266
+ continue;
2267
+ const prev = pattern[i - 1];
2268
+ if (prev === " " || prev === "\t" || prev === "\n")
2269
+ continue;
2270
+ return false;
2271
+ }
2272
+ return true;
2273
+ }
2129
2274
  /**
2130
2275
  * Module-level ephemeral allow set — survives across `runPermissionGate` invocations within a
2131
2276
  * single session, cleared by {@link sessionStartHandler} on the next session start so long-lived
@@ -2190,9 +2335,52 @@ export function sessionAllow(command) {
2190
2335
  export function isSessionAllowed(command) {
2191
2336
  return sessionAllowList.has(command);
2192
2337
  }
2338
+ /* ─── Allow All Once — ephemeral flag for compound commands (FLOW-12) ───
2339
+ *
2340
+ * Module-level boolean that when set causes `runPermissionGate` to return
2341
+ * `{ allow: true }` for remaining segments without prompting. Cleared after
2342
+ * execution completes (does NOT persist across bash tool invocations).
2343
+ *
2344
+ * Lifecycle: setAllowAllOnce → consumeAllowAllOnce (read-and-clear,
2345
+ * one-shot, returns true once) → resetAllowAllOnce (unconditional clear).
2346
+ *
2347
+ * Flow references: FLOW-12 Step 3 + Step 8 + FLOW-08 Step 3. */
2348
+ let allowAllOnceActive = false;
2349
+ /**
2350
+ * Set the Allow All Once flag. After this call, the next
2351
+ * {@link consumeAllowAllOnce} returns `true` and clears the flag.
2352
+ * Exported so the TSK-009-03 lifecycle tests can drive it directly
2353
+ * without going through {@link promptForCompoundCommand}.
2354
+ */
2355
+ export function setAllowAllOnce() {
2356
+ allowAllOnceActive = true;
2357
+ }
2358
+ /**
2359
+ * Consume (read-and-clear) the Allow All Once flag. Returns `true`
2360
+ * exactly once when the flag was set by a prior {@link setAllowAllOnce}
2361
+ * call; subsequent calls return `false` until the flag is re-set.
2362
+ * This one-shot semantics mirrors the existing {@link isEphemeralAllowed}
2363
+ * pattern.
2364
+ */
2365
+ export function consumeAllowAllOnce() {
2366
+ if (allowAllOnceActive) {
2367
+ allowAllOnceActive = false;
2368
+ return true;
2369
+ }
2370
+ return false;
2371
+ }
2193
2372
  /**
2194
- * Append `entries` to `list` (in place) using first-occurrence-wins dedup. Pure helper
2195
- * shared by {@link appendToAllowList} and {@link appendToDenyList} both writers push
2373
+ * Unconditionally clear the Allow All Once flag. Idempotent calling
2374
+ * when the flag is already `false` is a no-op. Primed as the test-teardown
2375
+ * seam (per-test `beforeEach` in the FLOW-12 lifecycle describe); intended
2376
+ * for cleanup after compound command execution resolves (FLOW-12 Step 8 —
2377
+ * integration pending).
2378
+ */
2379
+ export function resetAllowAllOnce() {
2380
+ allowAllOnceActive = false;
2381
+ }
2382
+ /**
2383
+ * shared by {@link appendStemsToAllowList} and {@link appendToDenyList} — both writers push
2196
2384
  * entries onto a per-level pattern list and MUST preserve the
2197
2385
  * "clicking-twice-doesn't-duplicate" contract (AC-005-04 / AC-005-05 first-match-wins).
2198
2386
  */
@@ -2207,34 +2395,41 @@ function appendUnique(list, entries) {
2207
2395
  }
2208
2396
  /**
2209
2397
  * Persist command stems from "ask" segments to the current level's allow list.
2210
- * Each stem is persisted as both the bare form AND the wildcard form
2211
- * (e.g. `"grep"` + `"grep *"`, `"git diff"` + `"git diff *"`) matching the
2212
- * default-rules convention. Dedup via {@link appendUnique} so re-clicking
2398
+ * Each stem is written in two forms bare (`"git diff"`) and wildcard (`"git diff *"`)
2399
+ * matching the default-rules convention without being overly broad (`"git *"`
2400
+ * would allow all subcommands). Dedup via {@link appendUnique} so re-clicking
2213
2401
  * "Allow Always" on the same compound does NOT duplicate entries.
2214
2402
  *
2215
- * File-local (NOT exported) driven exclusively via {@link runPermissionGate}'s
2216
- * "allow-always" branch. Only "ask"-segment stems are persisted (segments that
2217
- * are already cascade-allowed are intentionally skipped persisting `git *`
2218
- * for a `git diff` command would be overly broad).
2403
+ * Defense-in-depth (Issue 009 §Hard Inclusion #2, AC-ADHOC-012-04): each candidate
2404
+ * is filtered through {@link validateFullTokenBoundary}, silently dropping
2405
+ * glued-wildcard forms (`"git*"`) so future programmatic callers (FLOW-12's
2406
+ * `promptForCompoundCommand`) cannot seed `perm-rules.json` with an over-broad
2407
+ * pattern that would match `gitlog` / `git-fetch`. Empty input is a no-op (no write).
2219
2408
  */
2220
- function appendStemsToAllowList(stems, ctx) {
2409
+ export function appendStemsToAllowList(stems, ctx) {
2221
2410
  const rules = loadRules(ctx);
2222
2411
  const mode = getCurrentMode();
2223
2412
  const expanded = [];
2224
2413
  for (const stem of stems) {
2225
- expanded.push(stem, `${stem} *`);
2414
+ const wild = `${stem} *`;
2415
+ if (validateFullTokenBoundary(stem))
2416
+ expanded.push(stem);
2417
+ if (validateFullTokenBoundary(wild))
2418
+ expanded.push(wild);
2226
2419
  }
2420
+ if (expanded.length === 0)
2421
+ return;
2227
2422
  appendUnique(rules.rules[mode].allow, expanded);
2228
2423
  saveRules(getRulesPath(), rules, ctx);
2229
2424
  }
2230
2425
  /**
2231
2426
  * Append `command` to the current level's `deny` list in `perm-rules.json`, mirroring the
2232
- * read-then-write + dedup + safety-floor-preservation contract from {@link appendToAllowList}.
2427
+ * read-then-write + dedup + safety-floor-preservation contract from {@link appendStemsToAllowList}.
2233
2428
  * Cascade direction (FLOW-10) is a READ-time concern in {@link classifySegment}; this writer
2234
2429
  * mutates only the CURRENT level, so the developer-facing "Deny" choice is scoped exactly to
2235
2430
  * the active permission level.
2236
- *
2237
- * **API asymmetry note** (see {@link appendToAllowList} for the full rationale): this writer
2431
+
2432
+ * **API asymmetry note** (see {@link appendStemsToAllowList} for the full rationale): this writer
2238
2433
  * takes a single `command` string rather than a `readonly string[]`. "Deny" persists only the
2239
2434
  * literal compound command — splitting a deny into per-segment entries would be ambiguous
2240
2435
  * (a `rm x && cat /tmp/junk` deny would create two rules that future explicit-level denials
@@ -2248,7 +2443,7 @@ function appendToDenyList(command, ctx) {
2248
2443
  saveRules(getRulesPath(), rules, ctx);
2249
2444
  }
2250
2445
  /**
2251
- * Headless-safety short-circuit helper shared by {@link promptForPermission} and
2446
+ * Headless-safety short-circuit helper shared by {@link ensureSelectAvailable} and
2252
2447
  * {@link runPermissionGate}. Returns `true` when the caller should treat the request as
2253
2448
  * auto-denied because `ctx.hasUI === false`; in that case surfaces the {@link BLOCKED_HEADLESS_MESSAGE}
2254
2449
  * notification through the (optional) `ctx.ui` surface — guarded through an `if (ctx.ui)`
@@ -2262,6 +2457,30 @@ function checkHeadlessShortCircuit(ctx) {
2262
2457
  ctx.ui.notify(BLOCKED_HEADLESS_MESSAGE, "warning");
2263
2458
  return true;
2264
2459
  }
2460
+ /**
2461
+ * Shared prompt-availability guard used by both {@link promptForPermission} and
2462
+ * {@link promptForCompoundCommand}. Returns `true` when the caller should proceed with
2463
+ * the prompt; `false` when a UI issue (headless mode, missing select function) prevents
2464
+ * showing the prompt and the caller should fall back to a conservative deny.
2465
+ *
2466
+ * Combines two independent checks that are always used together:
2467
+ * 1. {@link checkHeadlessShortCircuit} — headless mode (ctx.hasUI === false)
2468
+ * 2. `ctx.ui.select` availability — runtime-absent UI surface
2469
+ *
2470
+ * Each check emits its own notification on failure so the developer has a clear signal
2471
+ * about why the prompt was skipped. Centralizing them ensures both prompt paths share
2472
+ * the same failure UX without duplicating the guard logic.
2473
+ */
2474
+ function ensureSelectAvailable(ctx) {
2475
+ if (checkHeadlessShortCircuit(ctx))
2476
+ return false;
2477
+ if (typeof ctx.ui?.select !== "function") {
2478
+ if (ctx.ui)
2479
+ ctx.ui.notify("Prompt unavailable; defaulting to deny", "warning");
2480
+ return false;
2481
+ }
2482
+ return true;
2483
+ }
2265
2484
  /**
2266
2485
  * Three-choice `ctx.ui.select` prompt rendered when the classifier yields `ask`. Surfaces the
2267
2486
  * FLOW-07 "developer saw every distinct command" preview verbatim by inlining
@@ -2275,13 +2494,8 @@ function checkHeadlessShortCircuit(ctx) {
2275
2494
  * prompt MUST NOT silently persist anything to `perm-rules.json`).
2276
2495
  */
2277
2496
  async function promptForPermission(reason, command, askPreview, ctx) {
2278
- if (checkHeadlessShortCircuit(ctx))
2497
+ if (!ensureSelectAvailable(ctx))
2279
2498
  return null;
2280
- if (typeof ctx.ui?.select !== "function") {
2281
- if (ctx.ui)
2282
- ctx.ui.notify("Prompt unavailable; defaulting to deny", "warning");
2283
- return null;
2284
- }
2285
2499
  const message = `[${reason}]\n\nCommand: ${command}\n\nWill allow: ${askPreview}`;
2286
2500
  try {
2287
2501
  const items = ["Allow Once", "Allow This Session", "Allow Always", "Deny"];
@@ -2302,6 +2516,187 @@ async function promptForPermission(reason, command, askPreview, ctx) {
2302
2516
  return null;
2303
2517
  }
2304
2518
  }
2519
+ /**
2520
+ * Build the option list for the compound command prompt from positional wildcard
2521
+ * candidates. Pure function — no I/O, no side effects.
2522
+ *
2523
+ * Order: Allow All Once, then each candidate with This Session / Always suffixes,
2524
+ * then Deny as the final entry.
2525
+ *
2526
+ * @param candidates — output of {@link unfoldPositionalCandidates}
2527
+ * @returns a string array suitable for `ctx.ui.select({ options })`
2528
+ */
2529
+ function buildCompoundOptions(candidates) {
2530
+ const options = ["Allow All Once"];
2531
+ for (const c of candidates) {
2532
+ options.push(`${c} This Session`);
2533
+ options.push(`${c} Always`);
2534
+ }
2535
+ options.push("Deny");
2536
+ return options;
2537
+ }
2538
+ /**
2539
+ * Parse a selected option string from the compound command prompt back into
2540
+ * a structured {@link CompoundSelection}. Pure function — no I/O, no side effects.
2541
+ *
2542
+ * Returns `null` for unrecognised selections (the caller treats this as a
2543
+ * conservative deny per Constitution §1.6).
2544
+ */
2545
+ function parseCompoundSelection(selected) {
2546
+ if (selected === "Allow All Once")
2547
+ return { type: "allow-all-once" };
2548
+ if (selected === "Deny")
2549
+ return { type: "deny" };
2550
+ // Must be a candidate option — determine if This Session or Always.
2551
+ if (selected.endsWith(" This Session")) {
2552
+ const pattern = selected.slice(0, -" This Session".length);
2553
+ return { type: "candidate", pattern, isSession: true };
2554
+ }
2555
+ if (selected.endsWith(" Always")) {
2556
+ const pattern = selected.slice(0, -" Always".length);
2557
+ return { type: "candidate", pattern, isSession: false };
2558
+ }
2559
+ // Unexpected selection.
2560
+ return null;
2561
+ }
2562
+ /**
2563
+ * Apply a parsed compound selection decision: construct the decision entry,
2564
+ * append it to `resultSegments`, and execute any persistence side effects
2565
+ * (session allow, allow-always persistence). Intended as the inner workhorse
2566
+ * of {@link promptForCompoundCommand}'s segment loop.
2567
+ *
2568
+ * Returns `true` when the caller should short-circuit (Allow All Once selected
2569
+ * — the flag has been set and the function has already returned early by
2570
+ * returning the compound decision with `allowAllOnceUsed: true`); returns
2571
+ * `false` to continue to the next segment.
2572
+ *
2573
+ * Pure-ish: writes to `resultSegments` (mutating push), calls `setAllowAllOnce`,
2574
+ * `sessionAllow`, or `appendStemsToAllowList` as side effects. The caller owns
2575
+ * `resultSegments` and must not reuse it after this returns `true` (the return
2576
+ * already contains the final compound decision).
2577
+ */
2578
+ function applyCompoundSegmentDecision(segment, parsed, resultSegments, ctx) {
2579
+ if (parsed.type === "allow-all-once") {
2580
+ setAllowAllOnce();
2581
+ resultSegments.push({ segment, decision: "allow", scope: "ephemeral" });
2582
+ return true;
2583
+ }
2584
+ if (parsed.type === "deny") {
2585
+ resultSegments.push({ segment, decision: "deny", scope: "persist" });
2586
+ return false;
2587
+ }
2588
+ // Candidate — extract the stem (remove trailing ` *` for persistence).
2589
+ const stem = parsed.pattern.endsWith(" *") ? parsed.pattern.slice(0, -2) : parsed.pattern;
2590
+ if (parsed.isSession) {
2591
+ sessionAllow(stem);
2592
+ resultSegments.push({
2593
+ segment,
2594
+ decision: "allow",
2595
+ scope: "session",
2596
+ pattern: parsed.pattern,
2597
+ });
2598
+ }
2599
+ else {
2600
+ appendStemsToAllowList([stem], ctx);
2601
+ resultSegments.push({
2602
+ segment,
2603
+ decision: "allow",
2604
+ scope: "persist",
2605
+ pattern: parsed.pattern,
2606
+ });
2607
+ }
2608
+ return false;
2609
+ }
2610
+ /**
2611
+ * Segment-by-segment interactive prompt for compound commands (FLOW-12).
2612
+ *
2613
+ * For each "ask" segment, computes positional wildcard candidates via
2614
+ * {@link unfoldPositionalCandidates}, presents them in a `ctx.ui.select()`
2615
+ * dialog with Allow All Once / This Session / Always / Deny options, and
2616
+ * returns a {@link CompoundDecision} mapping each segment to its scoped result.
2617
+ *
2618
+ * The Allow All Once option short-circuits remaining segments without prompting
2619
+ * and sets the Allow All Once flag so {@link runPermissionGate} can skip
2620
+ * re-prompting for subsequent segments of the same compound execution.
2621
+ *
2622
+ * Headless short-circuit (FLOW-11): when `ctx.hasUI === false`, returns an empty
2623
+ * `CompoundDecision` immediately without calling `ctx.ui.select` — the caller
2624
+ * should treat this as a deny per the existing headless auto-deny contract.
2625
+ * Similarly, when `ctx.ui.select` is not a function (UI is absent at runtime),
2626
+ * returns an empty result conservatively.
2627
+ *
2628
+ * Flow references:
2629
+ * - FLOW-12 Step 3 ("segment-by-segment prompt loop")
2630
+ * - FLOW-12 Step 8 ("Allow All Once flag lifecycle")
2631
+ * - FLOW-08 Step 3 ("scope-based persistence routing")
2632
+ */
2633
+ export async function promptForCompoundCommand(segments, ctx) {
2634
+ if (!ensureSelectAvailable(ctx)) {
2635
+ return { segments: [], allowAllOnceUsed: false };
2636
+ }
2637
+ if (segments.length === 0) {
2638
+ return { segments: [], allowAllOnceUsed: false };
2639
+ }
2640
+ const resultSegments = [];
2641
+ const promptSelect = ctx.ui.select;
2642
+ for (const segment of segments) {
2643
+ const candidates = unfoldPositionalCandidates(segment);
2644
+ const options = buildCompoundOptions(candidates);
2645
+ let selected;
2646
+ try {
2647
+ selected = await promptSelect({
2648
+ message: `Segment: ${segment}`,
2649
+ options,
2650
+ });
2651
+ }
2652
+ catch {
2653
+ // Fail closed per Constitution §1.6 — a thrown prompt must never silently
2654
+ // allow. The denial is recorded in the CompoundDecision and surfaced by
2655
+ // finalizeCompoundGateResult's notification, avoiding a duplicate warning.
2656
+ resultSegments.push({ segment, decision: "deny", scope: "persist" });
2657
+ return { segments: resultSegments, allowAllOnceUsed: false };
2658
+ }
2659
+ if (selected === undefined) {
2660
+ return { segments: resultSegments, allowAllOnceUsed: false };
2661
+ }
2662
+ const parsed = parseCompoundSelection(selected);
2663
+ if (parsed === null) {
2664
+ resultSegments.push({ segment, decision: "deny", scope: "persist" });
2665
+ continue;
2666
+ }
2667
+ if (applyCompoundSegmentDecision(segment, parsed, resultSegments, ctx)) {
2668
+ return { segments: resultSegments, allowAllOnceUsed: true };
2669
+ }
2670
+ }
2671
+ return { segments: resultSegments, allowAllOnceUsed: false };
2672
+ }
2673
+ /**
2674
+ * Interpret a {@link CompoundDecision} returned by
2675
+ * {@link promptForCompoundCommand} into a gate result suitable for
2676
+ * {@link runPermissionGate}'s compound branch (5b). Pure logic — no I/O,
2677
+ * no side effects, no persistence.
2678
+ *
2679
+ * Resolution rules:
2680
+ * - Allow All Once → allow all segments (flag already consumed by
2681
+ * `promptForCompoundCommand`).
2682
+ * - Any segment allowed → allow the compound command (permissive default:
2683
+ * when the classifier yielded "ask" for every segment, gates that pass
2684
+ * at least one segment's prompt allow the chain to proceed).
2685
+ * - No segment allowed → notify and deny.
2686
+ */
2687
+ function finalizeCompoundGateResult(compoundDecision, ctx) {
2688
+ if (compoundDecision.allowAllOnceUsed) {
2689
+ return { allow: true };
2690
+ }
2691
+ const anyAllowed = compoundDecision.segments.some((s) => s.decision === "allow");
2692
+ if (anyAllowed) {
2693
+ return { allow: true };
2694
+ }
2695
+ if (ctx.hasUI && ctx.ui) {
2696
+ ctx.ui.notify("Blocked: All segments denied", "warning");
2697
+ }
2698
+ return { allow: false };
2699
+ }
2305
2700
  /**
2306
2701
  * Four-branch permission gate — the user-visible keystone for FLOW-07 (interactive prompt),
2307
2702
  * FLOW-08 (scope: ephemeral / persist-allow / persist-deny), and FLOW-11 (headless auto-deny).
@@ -2350,6 +2745,15 @@ export async function runPermissionGate(command, ctx) {
2350
2745
  if (runtimeMode === "off") {
2351
2746
  return { allow: true };
2352
2747
  }
2748
+ // (1.5) Allow All Once check — FLOW-12 Step 7/8. When the flag is set by
2749
+ // promptForCompoundCommand for a preceding segment in the same compound
2750
+ // execution, skip all processing (classifier, prompt) and return allow.
2751
+ // The flag is consumed on first access (single-shot), so a subsequent
2752
+ // runPermissionGate invocation without re-setting the flag goes through the
2753
+ // normal classifier/prompt path.
2754
+ if (consumeAllowAllOnce()) {
2755
+ return { allow: true };
2756
+ }
2353
2757
  // (2) Session allow check — persists across the session without consuming on match.
2354
2758
  if (isSessionAllowed(resolvedCommand)) {
2355
2759
  return { allow: true };
@@ -2358,7 +2762,7 @@ export async function runPermissionGate(command, ctx) {
2358
2762
  if (isEphemeralAllowed(resolvedCommand)) {
2359
2763
  return { allow: true };
2360
2764
  }
2361
- // (3) Classifier routing.
2765
+ // (4) Classifier routing.
2362
2766
  const mode = getCurrentMode();
2363
2767
  const rules = loadRules(ctx);
2364
2768
  const decision = classifyCommand(resolvedCommand, mode, rules);
@@ -2372,17 +2776,29 @@ export async function runPermissionGate(command, ctx) {
2372
2776
  return { allow: false };
2373
2777
  }
2374
2778
  // (5) Prompt branch — classifier yielded "ask".
2375
- // (4a) Headless short-circuit (FLOW-11).
2779
+ // (5a) Headless short-circuit (FLOW-11).
2376
2780
  if (checkHeadlessShortCircuit(ctx)) {
2377
2781
  return { allow: false };
2378
2782
  }
2379
- // Build the "Will allow" preview from only the segments that triggered the
2380
- // "ask" decision. Split the command, re-classify each segment, and extract
2381
- // command stems from the ask segments. This avoids showing already-allowed
2382
- // entries (e.g. `git diff` when `git diff *` is already in the low allow list)
2383
- // in the "Will allow" preview.
2783
+ // (5b) Compound command routing FLOW-12 Step 2. Split the command into
2784
+ // shell segments; when there is more than one non-empty segment, route
2785
+ // through the segment-by-segment compound prompt instead of the
2786
+ // single-segment prompt.
2384
2787
  const rawSegments = splitShellSegments(resolvedCommand);
2385
2788
  const segments = rawSegments.filter((s) => s.trim() !== "");
2789
+ if (segments.length > 1) {
2790
+ // Compound command: delegate to segment-by-segment prompt, then interpret
2791
+ // the CompoundDecision through the shared finalizeCompoundGateResult helper.
2792
+ // Note: promptForCompoundCommand → unfoldPositionalCandidates handles env
2793
+ // stripping internally, so we pass raw segments here.
2794
+ const compoundDecision = await promptForCompoundCommand(segments, ctx);
2795
+ return finalizeCompoundGateResult(compoundDecision, ctx);
2796
+ }
2797
+ // (5c) Single-segment (or collapsed-to-one) ask path. Build the "Will allow"
2798
+ // preview from only the segments that triggered the "ask" decision. Split
2799
+ // the command, re-classify each segment, and extract command stems from the
2800
+ // ask segments. This avoids showing already-allowed entries (e.g. `git diff`
2801
+ // when `git diff *` is already in the low allow list) in the preview.
2386
2802
  const strippedSegments = segments.map((seg) => stripLeadingEnvAssignments(seg));
2387
2803
  const perSegment = strippedSegments.map((seg) => classifySegment(seg, mode, rules));
2388
2804
  const askStems = perSegment
@@ -2509,29 +2925,38 @@ function buildBashResult(text, isError) {
2509
2925
  * Source anchor: `tasks.md TSK-005-03` (bash tool registration + execute handler).
2510
2926
  */
2511
2927
  async function bashExecute(_toolCallId, params, _signal, _onUpdate, ctx) {
2512
- // (1) Defensive non-string guard — a malformed tool payload (number, object, null,
2513
- // undefined) never reaches the gate. Returns BLOCKED with isError: true so the LLM
2514
- // surfaces a structured error to the developer.
2515
- if (typeof params.command !== "string") {
2516
- return buildBashResult("BLOCKED: bash tool command must be a string", true);
2517
- }
2518
- // (2) Permission gate — classifier + prompt + persistence routing. The gate runs BEFORE
2519
- // shell dispatch so a denied command never reaches `child_process.exec`.
2520
- const decision = await runPermissionGate(params.command, ctx);
2521
- if (!decision.allow) {
2522
- return buildBashResult(`BLOCKED: ${params.command}`, true);
2523
- }
2524
- // (3) Shell dispatch — gate approved; run the command in `ctx.cwd` and surface the
2525
- // merged stdout/stderr payload. A spawn failure (ENOENT, EACCES, etc.) is caught and
2526
- // returned as a structured error result so the LLM sees a normalized shape.
2527
2928
  try {
2528
- const { stdout, stderr } = await execBash(params.command, ctx.cwd);
2529
- const text = stderr && stderr.length > 0 ? `${stdout}${stdout ? "\n" : ""}${stderr}` : stdout;
2530
- return buildBashResult(text, false);
2929
+ // (1) Defensive non-string guard a malformed tool payload (number, object, null,
2930
+ // undefined) never reaches the gate. Returns BLOCKED with isError: true so the LLM
2931
+ // surfaces a structured error to the developer.
2932
+ if (typeof params.command !== "string") {
2933
+ return buildBashResult("BLOCKED: bash tool command must be a string", true);
2934
+ }
2935
+ // (2) Permission gate — classifier + prompt + persistence routing. The gate runs BEFORE
2936
+ // shell dispatch so a denied command never reaches `child_process.exec`.
2937
+ const decision = await runPermissionGate(params.command, ctx);
2938
+ if (!decision.allow) {
2939
+ return buildBashResult(`BLOCKED: ${params.command}`, true);
2940
+ }
2941
+ // (3) Shell dispatch — gate approved; run the command in `ctx.cwd` and surface the
2942
+ // merged stdout/stderr payload. A spawn failure (ENOENT, EACCES, etc.) is caught and
2943
+ // returned as a structured error result so the LLM sees a normalized shape.
2944
+ try {
2945
+ const { stdout, stderr } = await execBash(params.command, ctx.cwd);
2946
+ return buildBashResult(stderr && stderr.length > 0 ? `${stdout}${stdout ? "\n" : ""}${stderr}` : stdout, false);
2947
+ }
2948
+ catch (err) {
2949
+ const message = err instanceof Error ? err.message : String(err);
2950
+ return buildBashResult(`BLOCKED: shell exec failed: ${message}`, true);
2951
+ }
2531
2952
  }
2532
- catch (err) {
2533
- const message = err instanceof Error ? err.message : String(err);
2534
- return buildBashResult(`BLOCKED: shell exec failed: ${message}`, true);
2953
+ finally {
2954
+ // FLOW-12 Step 8 clearance: after any compound execution completes,
2955
+ // unconditionally clear the Allow All Once flag so it does not persist
2956
+ // across separate bash tool invocations. The outer try/finally guarantees
2957
+ // this runs even if runPermissionGate throws unexpectedly, making the
2958
+ // safety contract unbreakable (FLOW-12 Step 8, FLOW-08 Step 5).
2959
+ resetAllowAllOnce();
2535
2960
  }
2536
2961
  }
2537
2962
  /**
@@ -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,8 +1,13 @@
1
1
  {
2
2
  "name": "@wernerbisschoff/pi-gatekeeper",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Permission enforcement extension for Pi/OMP",
5
- "keywords": ["pi-package", "permission", "gatekeeper", "security"],
5
+ "keywords": [
6
+ "pi-package",
7
+ "permission",
8
+ "gatekeeper",
9
+ "security"
10
+ ],
6
11
  "type": "module",
7
12
  "main": "dist/gatekeeper.js",
8
13
  "types": "dist/gatekeeper.d.ts",
@@ -14,7 +19,10 @@
14
19
  "url": "https://github.com/wernerbisschoff/pi-gatekeeper/issues"
15
20
  },
16
21
  "homepage": "https://github.com/wernerbisschoff/pi-gatekeeper#readme",
17
- "files": ["dist/**/*", "README.md"],
22
+ "files": [
23
+ "dist/**/*",
24
+ "README.md"
25
+ ],
18
26
  "publishConfig": {
19
27
  "access": "public"
20
28
  },
@@ -37,6 +45,8 @@
37
45
  "node": ">=20"
38
46
  },
39
47
  "pi": {
40
- "extensions": ["./dist/gatekeeper.js"]
48
+ "extensions": [
49
+ "./dist/gatekeeper.js"
50
+ ]
41
51
  }
42
52
  }