@lannguyensi/harness 0.59.2 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README.md +1 -1
- package/dist/cli/apply/apply.d.ts +20 -0
- package/dist/cli/apply/apply.js +13 -7
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/install-codex-config.d.ts +11 -3
- package/dist/cli/apply/install-codex-config.js +130 -52
- package/dist/cli/apply/install-codex-config.js.map +1 -1
- package/dist/cli/approve/understanding.js +34 -28
- package/dist/cli/approve/understanding.js.map +1 -1
- package/dist/cli/doctor/format.js +22 -0
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.js +60 -31
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +17 -0
- package/dist/cli/dry-run.js +7 -0
- package/dist/cli/dry-run.js.map +1 -1
- package/dist/cli/index.js +46 -144
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/pack/auto-approve-path.js +25 -11
- package/dist/cli/pack/auto-approve-path.js.map +1 -1
- package/dist/cli/pack/hook-codex-post-tool-use.js +2 -2
- package/dist/cli/pack/hook-codex-post-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.js +32 -5
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-post-merge-gate-record.d.ts +7 -0
- package/dist/cli/pack/hook-post-merge-gate-record.js +39 -2
- package/dist/cli/pack/hook-post-merge-gate-record.js.map +1 -1
- package/dist/cli/pack/hook-post-tool-use.js +2 -2
- package/dist/cli/pack/hook-post-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-pre-tool-use.js +60 -15
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
- package/dist/cli/policy/intercept.js +5 -1
- package/dist/cli/policy/intercept.js.map +1 -1
- package/dist/cli/record/index.d.ts +11 -2
- package/dist/cli/record/index.js +18 -5
- package/dist/cli/record/index.js.map +1 -1
- package/dist/cli/session-start/branch-check.d.ts +3 -29
- package/dist/cli/session-start/branch-check.js +7 -37
- package/dist/cli/session-start/branch-check.js.map +1 -1
- package/dist/cli/session-start/index.d.ts +16 -30
- package/dist/cli/session-start/index.js +72 -26
- package/dist/cli/session-start/index.js.map +1 -1
- package/dist/cli/session-start/shared-options.d.ts +92 -0
- package/dist/cli/session-start/shared-options.js +109 -0
- package/dist/cli/session-start/shared-options.js.map +1 -0
- package/dist/cli/session-start/stale-base-check.d.ts +3 -28
- package/dist/cli/session-start/stale-base-check.js +7 -37
- package/dist/cli/session-start/stale-base-check.js.map +1 -1
- package/dist/cli/session-start/toolchain-parity.d.ts +5 -21
- package/dist/cli/session-start/toolchain-parity.js +6 -38
- package/dist/cli/session-start/toolchain-parity.js.map +1 -1
- package/dist/cli/smoke/index.d.ts +1 -1
- package/dist/cli/smoke/index.js +8 -11
- package/dist/cli/smoke/index.js.map +1 -1
- package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +11 -0
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js +11 -0
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.d.ts +36 -0
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js +73 -0
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +3 -2
- package/dist/policy-packs/builtin/understanding-before-execution/index.js +5 -2
- package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +205 -1
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +360 -3
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.d.ts +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +2 -2
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.d.ts +36 -0
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js +50 -0
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js.map +1 -1
- package/dist/runtime/bash-prefix-parse.js +319 -126
- package/dist/runtime/bash-prefix-parse.js.map +1 -1
- package/dist/runtime/intercept.d.ts +38 -0
- package/dist/runtime/intercept.js +224 -5
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/read-only-bash.js +11 -1
- package/dist/runtime/read-only-bash.js.map +1 -1
- package/dist/runtime/shell-word.d.ts +16 -1
- package/dist/runtime/shell-word.js +82 -1
- package/dist/runtime/shell-word.js.map +1 -1
- package/package.json +1 -1
|
@@ -343,6 +343,58 @@ export function sanitizeEnvelopeReason(reason) {
|
|
|
343
343
|
const stripped = reason.replace(ENVELOPE_CONTROL_CHARS, " ");
|
|
344
344
|
return stripped.length > 200 ? `${stripped.slice(0, 200)}...` : stripped;
|
|
345
345
|
}
|
|
346
|
+
const EMPTY_REPO_MESSAGE = "no git repository was found for this command: the working directory (or the directory the command targets) is not inside a git repository, so the repository-scoped evidence this policy checks cannot be looked up. " +
|
|
347
|
+
"Change into the target repository first (`cd <repo>`) or name it explicitly (`git -C <repo> ...`), then retry the command.";
|
|
348
|
+
/**
|
|
349
|
+
* Names the repository whose HEAD is detached, so a detached working
|
|
350
|
+
* directory that is denied next to a `git -C <other repo>` target is
|
|
351
|
+
* recognisable as the working directory's own repository. The name is the
|
|
352
|
+
* resolved `${REPO}` value: the work-tree basename, a `HARNESS_REPO`
|
|
353
|
+
* override, or the value of a policy extract named `REPO` (which can
|
|
354
|
+
* carry tool input), so it is cleaned and bounded like any other untrusted
|
|
355
|
+
* text before it reaches the agent envelope: control characters blanked,
|
|
356
|
+
* at most 200 characters (`sanitizeEnvelopeReason`).
|
|
357
|
+
*/
|
|
358
|
+
function emptyBranchMessage(repo) {
|
|
359
|
+
const name = sanitizeEnvelopeReason(repo);
|
|
360
|
+
return (`no branch is checked out in repository \`${name}\`: HEAD is detached, so the branch-scoped evidence this policy checks cannot be looked up. ` +
|
|
361
|
+
"Check out a named branch there (`git switch <branch>`, or `git switch -c <branch>` for a new one), create the evidence for that branch, then retry the command.");
|
|
362
|
+
}
|
|
363
|
+
function isBlankIdentifier(value) {
|
|
364
|
+
return value === undefined || value.trim().length === 0;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Does `ledgerTagTemplate` reference `${REPO}` / `${BRANCH}` while the
|
|
368
|
+
* value resolved for this context is empty? An empty identifier must
|
|
369
|
+
* never be rendered into a ledger tag: `preflight:` is a substring of
|
|
370
|
+
* EVERY preflight fact, so a blank tag lets any unrelated fact satisfy
|
|
371
|
+
* the gate (and `preflight-before-push` would render "You cannot push
|
|
372
|
+
* branch yet."). The caller decides per enforcement with
|
|
373
|
+
* `message` instead of querying the ledger.
|
|
374
|
+
*
|
|
375
|
+
* `REPO` wins over `BRANCH`, and a branch-only template evaluated where
|
|
376
|
+
* REPO is empty too (no repository at all) gets the no-repository text,
|
|
377
|
+
* since "HEAD is detached" would be false there. The messages name a
|
|
378
|
+
* state the agent can establish (`cd` / `git -C` / `git switch`), never
|
|
379
|
+
* a tag to produce, so there is no producer trap, and never an opt-out
|
|
380
|
+
* (a block that names its own disable path is not a gate).
|
|
381
|
+
*
|
|
382
|
+
* Exported so `harness dry-run` shows the same hint instead of a blank
|
|
383
|
+
* tag (`src/cli/dry-run.ts`).
|
|
384
|
+
*/
|
|
385
|
+
export function emptyIdentifierGuard(ledgerTagTemplate, values) {
|
|
386
|
+
const refsRepo = ledgerTagTemplate.includes("${REPO}");
|
|
387
|
+
const refsBranch = ledgerTagTemplate.includes("${BRANCH}");
|
|
388
|
+
if (refsRepo && isBlankIdentifier(values.REPO)) {
|
|
389
|
+
return { identifier: "REPO", message: EMPTY_REPO_MESSAGE };
|
|
390
|
+
}
|
|
391
|
+
if (refsBranch && isBlankIdentifier(values.BRANCH)) {
|
|
392
|
+
return isBlankIdentifier(values.REPO)
|
|
393
|
+
? { identifier: "REPO", message: EMPTY_REPO_MESSAGE }
|
|
394
|
+
: { identifier: "BRANCH", message: emptyBranchMessage(values.REPO ?? "") };
|
|
395
|
+
}
|
|
396
|
+
return null;
|
|
397
|
+
}
|
|
346
398
|
/**
|
|
347
399
|
* Placeholder `ledgerTag` recorded on an `operator_only` decision (and on
|
|
348
400
|
* the defensive schema-invariant-violated branch below). Both outcomes
|
|
@@ -406,6 +458,26 @@ async function evaluateOnePolicy(policy, options) {
|
|
|
406
458
|
evaluatedAt,
|
|
407
459
|
};
|
|
408
460
|
}
|
|
461
|
+
// Empty-identifier guard: decided BEFORE any tag is rendered or the
|
|
462
|
+
// ledger is queried, per the policy's own enforcement (block -> deny,
|
|
463
|
+
// require_approval -> require_approval, warn -> warn). Deliberately NOT
|
|
464
|
+
// routed through `degradedOutcome` / the unresolved-variable branch
|
|
465
|
+
// below: that path ends in the `deny-degraded` envelope, which blames
|
|
466
|
+
// an unreadable ledger and tells the agent to ask the operator to
|
|
467
|
+
// check grounding-mcp, false and misleading for an empty identifier.
|
|
468
|
+
const emptyGuard = emptyIdentifierGuard(requires.ledger_tag, extract.values);
|
|
469
|
+
if (emptyGuard !== null) {
|
|
470
|
+
return {
|
|
471
|
+
policyName: policy.name,
|
|
472
|
+
enforcement: policy.enforcement,
|
|
473
|
+
outcome: outcomeForFailedRequires(policy.enforcement),
|
|
474
|
+
reason: emptyGuard.message,
|
|
475
|
+
extractValues: extract.values,
|
|
476
|
+
ledgerTag: `(empty ${emptyGuard.identifier}: no ledger tag rendered, no ledger query)`,
|
|
477
|
+
emptyIdentifier: emptyGuard.identifier,
|
|
478
|
+
evaluatedAt,
|
|
479
|
+
};
|
|
480
|
+
}
|
|
409
481
|
const missingExtracts = extract.traceData
|
|
410
482
|
.filter((t) => t.source === "missing")
|
|
411
483
|
.map((t) => t.var);
|
|
@@ -678,6 +750,18 @@ function realpathOrSelf(p) {
|
|
|
678
750
|
* demands BOTH A's and B's context, where the pre-D-021 engine demanded
|
|
679
751
|
* only B's.
|
|
680
752
|
*
|
|
753
|
+
* One exception to "never dropped": when the working directory is outside
|
|
754
|
+
* every git repository (a blank `${REPO}` for the policy, as the guard
|
|
755
|
+
* sees it), its cwd context is not demanded next to a segment whose own
|
|
756
|
+
* target resolved to a real repository (see the loop body). That
|
|
757
|
+
* exception relies on two static models: the target attribution, whose
|
|
758
|
+
* known misattribution (a `GIT_DIR=` prefix or a third repository reached
|
|
759
|
+
* through another construct) exists for every cwd, and the check that the
|
|
760
|
+
* cwd is outside every repository, which errs toward inside: it holds only
|
|
761
|
+
* when neither the cwd nor any ancestor has an entry named `HEAD` or
|
|
762
|
+
* `.git` (`mayBeInsideRepository`). A detached cwd and every other
|
|
763
|
+
* non-blank cwd context are still never dropped.
|
|
764
|
+
*
|
|
681
765
|
* D-012: a target reached through a symlink resolves to its REAL
|
|
682
766
|
* (realpath'd) repository identity, not the symlink's own lexical
|
|
683
767
|
* basename — `resolveGitContext` derives `repo` from the basename of
|
|
@@ -711,9 +795,11 @@ function realpathOrSelf(p) {
|
|
|
711
795
|
* REALPATH'D absolute path (never module-level state — no cross-event
|
|
712
796
|
* caching), so several policies (or several satisfying segments) naming
|
|
713
797
|
* the same foreign path within one event pay the `fs` cost once, not
|
|
714
|
-
* once per policy per segment.
|
|
798
|
+
* once per policy per segment. `mayBeInsideRepositoryMemo` is the same
|
|
799
|
+
* kind of per-call cache for the cwd's own outside-every-repository
|
|
800
|
+
* check, keyed by the cwd's real path, so that walk runs once per event.
|
|
715
801
|
*/
|
|
716
|
-
function resolveAttributedContexts(policy, segments, cwdBuiltins, cwdCurrentHeadSha, resolveGitContextMemo, repoOverridden, branchOverridden) {
|
|
802
|
+
function resolveAttributedContexts(policy, segments, cwdBuiltins, cwdCurrentHeadSha, resolveGitContextMemo, mayBeInsideRepositoryMemo, repoOverridden, branchOverridden, extractContext) {
|
|
717
803
|
const cwdContext = { builtins: cwdBuiltins, currentHeadSha: cwdCurrentHeadSha };
|
|
718
804
|
const satisfying = new Set(attributeTriggerSegments(policy, segments));
|
|
719
805
|
if (satisfying.size === 0)
|
|
@@ -728,6 +814,23 @@ function resolveAttributedContexts(policy, segments, cwdBuiltins, cwdCurrentHead
|
|
|
728
814
|
contexts.push(cwdContext);
|
|
729
815
|
};
|
|
730
816
|
const cwdReal = realpathOrSelf(cwdBuiltins.CWD);
|
|
817
|
+
// Decided from the same values `evaluateOnePolicy` guards on: the
|
|
818
|
+
// policy's own `trigger.extract` evaluated against the cwd builtins, so
|
|
819
|
+
// an extract named `REPO` / `BRANCH` that shadows a builtin is honoured
|
|
820
|
+
// here exactly as it is there.
|
|
821
|
+
const cwdGuard = emptyIdentifierGuard(policy.requires?.ledger_tag ?? "", evaluateExtract(policy.trigger.extract ?? {}, extractContext, cwdBuiltins).values);
|
|
822
|
+
// "Outside every repository" is checked on the cwd's real path: the
|
|
823
|
+
// builtins resolve the path as given, while git runs in the physical
|
|
824
|
+
// directory, so a symlink into a repository is not outside it. An empty
|
|
825
|
+
// CWD names no directory at all and never qualifies. The check is the
|
|
826
|
+
// conservative `mayBeInsideRepository`, not the static
|
|
827
|
+
// `resolveGitContext` the builtins come from: that resolver misses
|
|
828
|
+
// repositories git still finds (see the helper's doc comment), and here
|
|
829
|
+
// a miss would drop a demand. It runs only for a blank `${REPO}`, at
|
|
830
|
+
// most once per event (`mayBeInsideRepositoryMemo`).
|
|
831
|
+
const cwdOutsideEveryRepository = cwdGuard?.identifier === "REPO" &&
|
|
832
|
+
cwdBuiltins.CWD.length > 0 &&
|
|
833
|
+
!mayBeInsideRepositoryMemoised(cwdReal, mayBeInsideRepositoryMemo);
|
|
731
834
|
for (const seg of segments) {
|
|
732
835
|
if (!satisfying.has(seg))
|
|
733
836
|
continue;
|
|
@@ -742,7 +845,10 @@ function resolveAttributedContexts(policy, segments, cwdBuiltins, cwdCurrentHead
|
|
|
742
845
|
// demanded UNCONDITIONALLY here, regardless of whether the target came
|
|
743
846
|
// from the segment's own explicit flag or was inherited from a
|
|
744
847
|
// preceding `cd`. `seg.ownTarget` is no longer read for this decision.
|
|
745
|
-
|
|
848
|
+
// The one exception is `cwdOutsideEveryRepository` below: it is
|
|
849
|
+
// decided after the target resolved, so the cwd context is added from
|
|
850
|
+
// the branches of this loop body instead of up front, in the same
|
|
851
|
+
// order as before.
|
|
746
852
|
const resolvedLexical = path.resolve(cwdBuiltins.CWD, seg.effectiveTarget);
|
|
747
853
|
const resolved = realpathOrSelf(resolvedLexical);
|
|
748
854
|
if (resolved === cwdReal) {
|
|
@@ -760,6 +866,38 @@ function resolveAttributedContexts(policy, segments, cwdBuiltins, cwdCurrentHead
|
|
|
760
866
|
continue;
|
|
761
867
|
}
|
|
762
868
|
const signature = [gitCtx.repo, gitCtx.branch, gitCtx.sha].join("|");
|
|
869
|
+
// Empty-identifier exception to the universal-additive rule, limited
|
|
870
|
+
// to a working directory outside every git repository. That cwd
|
|
871
|
+
// context has a blank `${REPO}` (the value the guard sees, after the
|
|
872
|
+
// policy's own extract) and can never be satisfied: the
|
|
873
|
+
// empty-identifier guard denies it without a ledger query. Demanding
|
|
874
|
+
// it next to a target that resolved to a real repository would deny
|
|
875
|
+
// the very remedy the guard's message names (`git -C <repo> ...`, or
|
|
876
|
+
// `cd <repo> && ...` in one command). The skip applies only when the
|
|
877
|
+
// cwd is outside every repository and this segment's own target
|
|
878
|
+
// resolved to a real repository; the target's own context is still
|
|
879
|
+
// demanded in full. It relies on two static models: the target
|
|
880
|
+
// attribution, whose known misattribution (a `GIT_DIR=` prefix or a
|
|
881
|
+
// third repository reached through another construct) exists for every
|
|
882
|
+
// cwd, and the cwd resolution, which is conservative: the skip applies
|
|
883
|
+
// only when neither the cwd's real path nor any ancestor up to the
|
|
884
|
+
// filesystem root holds an entry named `HEAD` or `.git` (any type) and
|
|
885
|
+
// no lookup failed other than with ENOENT (`mayBeInsideRepository`).
|
|
886
|
+
// What remains outside both models: a third repository the command
|
|
887
|
+
// really runs in (a `GIT_DIR=` prefix, or a `cd` into another
|
|
888
|
+
// repository before the misattributed segment), state the command
|
|
889
|
+
// itself creates while it runs (a `.git` it links or writes before the
|
|
890
|
+
// git verb), and an ambient `GIT_DIR` / `GIT_COMMON_DIR` in the
|
|
891
|
+
// environment git runs with. A
|
|
892
|
+
// detached cwd (non-blank `${REPO}`, blank `${BRANCH}`) and
|
|
893
|
+
// every non-blank cwd context keep the rule above unchanged: the
|
|
894
|
+
// detached remedy (`git switch` in that repository) is establishable,
|
|
895
|
+
// and dropping that context would let a misattributed push from the
|
|
896
|
+
// detached HEAD pass on the target's evidence. A segment without a
|
|
897
|
+
// resolved target (a bare `git status`) keeps its cwd context and
|
|
898
|
+
// still denies with the hint.
|
|
899
|
+
if (!cwdOutsideEveryRepository)
|
|
900
|
+
addCwdOnce();
|
|
763
901
|
if (signature === cwdSignature) {
|
|
764
902
|
// D-015: a foreign target that resolves to cwd's own REAL identity
|
|
765
903
|
// (e.g. a subdirectory of the cwd repo reached via `-C`, a
|
|
@@ -795,6 +933,75 @@ function resolveAttributedContexts(policy, segments, cwdBuiltins, cwdCurrentHead
|
|
|
795
933
|
// builtins policy with zero contexts to evaluate against.
|
|
796
934
|
return { kind: "contexts", contexts: contexts.length > 0 ? contexts : [cwdContext] };
|
|
797
935
|
}
|
|
936
|
+
/**
|
|
937
|
+
* Could git find a repository from `dir`? Decided for the one place that
|
|
938
|
+
* drops a demand on the answer (the cwd-outside-every-repository exception
|
|
939
|
+
* in `resolveAttributedContexts`), so every doubt counts as inside. The
|
|
940
|
+
* static `resolveGitContext` walk that resolves the `REPO` / `BRANCH`
|
|
941
|
+
* builtins is left as it is for its other callers; it reports no
|
|
942
|
+
* repository where git still finds one: a `.git` directory without `HEAD`
|
|
943
|
+
* ends its walk (git skips it and walks on), its walk stops after 128
|
|
944
|
+
* levels, and it never recognises a directory that is itself a git
|
|
945
|
+
* directory (a bare repository, or one whose objects live elsewhere
|
|
946
|
+
* through a `commondir` file).
|
|
947
|
+
*
|
|
948
|
+
* This walk does not list layouts. It uses the one structural fact every
|
|
949
|
+
* git directory shares: git accepts a directory as a git directory only
|
|
950
|
+
* when it holds an entry named `HEAD`, and it reaches a repository from a
|
|
951
|
+
* working directory only through a `.git` entry (directory or `gitdir:`
|
|
952
|
+
* file) or a git directory on the way up. So, from `dir` up to the
|
|
953
|
+
* filesystem root with no depth bound:
|
|
954
|
+
*
|
|
955
|
+
* - an entry named `HEAD` or `.git`, of any type, valid or not, counts as
|
|
956
|
+
* inside (never followed, read or validated);
|
|
957
|
+
* - an `lstat` error other than ENOENT counts as inside (the entry may
|
|
958
|
+
* exist).
|
|
959
|
+
*
|
|
960
|
+
* The cost is a conservative false inside: a directory that merely holds
|
|
961
|
+
* an entry named `HEAD` (also `head` or `Head` on a case-insensitive
|
|
962
|
+
* volume), or lies below one, keeps its cwd context and denies with the
|
|
963
|
+
* no-repository hint (fail closed). An ambient `GIT_DIR` /
|
|
964
|
+
* `GIT_COMMON_DIR` in git's environment is not visible here.
|
|
965
|
+
*/
|
|
966
|
+
function mayBeInsideRepository(dir) {
|
|
967
|
+
let current = path.resolve(dir);
|
|
968
|
+
for (;;) {
|
|
969
|
+
if (entryMayExist(path.join(current, ".git")))
|
|
970
|
+
return true;
|
|
971
|
+
if (entryMayExist(path.join(current, "HEAD")))
|
|
972
|
+
return true;
|
|
973
|
+
const parent = path.dirname(current);
|
|
974
|
+
if (parent === current)
|
|
975
|
+
return false;
|
|
976
|
+
current = parent;
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
/**
|
|
980
|
+
* `false` only when `lstat` proves the entry absent (ENOENT, reported as
|
|
981
|
+
* `undefined` without building an exception); every other error counts as
|
|
982
|
+
* present.
|
|
983
|
+
*/
|
|
984
|
+
function entryMayExist(entryPath) {
|
|
985
|
+
try {
|
|
986
|
+
return fs.lstatSync(entryPath, { throwIfNoEntry: false }) !== undefined;
|
|
987
|
+
}
|
|
988
|
+
catch (error) {
|
|
989
|
+
return error.code !== "ENOENT";
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
/**
|
|
993
|
+
* `mayBeInsideRepository(dir)`, computed at most once per `dir` within one
|
|
994
|
+
* `intercept()` call. `memo` is that call's own map (never module-level
|
|
995
|
+
* state), so no answer outlives the event it was computed for.
|
|
996
|
+
*/
|
|
997
|
+
function mayBeInsideRepositoryMemoised(dir, memo) {
|
|
998
|
+
const known = memo.get(dir);
|
|
999
|
+
if (known !== undefined)
|
|
1000
|
+
return known;
|
|
1001
|
+
const inside = mayBeInsideRepository(dir);
|
|
1002
|
+
memo.set(dir, inside);
|
|
1003
|
+
return inside;
|
|
1004
|
+
}
|
|
798
1005
|
/**
|
|
799
1006
|
* Lazily resolve the event's per-segment view for attribution, computed
|
|
800
1007
|
* at most once per `intercept()` call (the caller, `intercept()` below,
|
|
@@ -897,13 +1104,15 @@ export async function intercept(options) {
|
|
|
897
1104
|
// (every Phase 4/5/6-only manifest) never computes it.
|
|
898
1105
|
// `resolveGitContextMemo` is this call's own, non-module-level cache
|
|
899
1106
|
// (task constraint: no eager/global filesystem work) — see
|
|
900
|
-
// `resolveAttributedContexts`'s own comment.
|
|
1107
|
+
// `resolveAttributedContexts`'s own comment. `mayBeInsideRepositoryMemo`
|
|
1108
|
+
// is the same kind of per-call cache for the cwd walk.
|
|
901
1109
|
let segmentsForAttribution;
|
|
902
1110
|
const resolveGitContextMemo = new Map();
|
|
1111
|
+
const mayBeInsideRepositoryMemo = new Map();
|
|
903
1112
|
const decisions = [];
|
|
904
1113
|
for (const policy of matching) {
|
|
905
1114
|
const attributed = usesPerRepoBuiltins(policy)
|
|
906
|
-
? resolveAttributedContexts(policy, (segmentsForAttribution ??= resolveCommandSegments(options)), options.builtins, options.currentHeadSha, resolveGitContextMemo, options.repoOverridden === true, options.branchOverridden === true)
|
|
1115
|
+
? resolveAttributedContexts(policy, (segmentsForAttribution ??= resolveCommandSegments(options)), options.builtins, options.currentHeadSha, resolveGitContextMemo, mayBeInsideRepositoryMemo, options.repoOverridden === true, options.branchOverridden === true, buildEventContext(options.event))
|
|
907
1116
|
: { kind: "contexts", contexts: [{ builtins: options.builtins, currentHeadSha: options.currentHeadSha }] };
|
|
908
1117
|
if (attributed.kind === "bounded") {
|
|
909
1118
|
// D-013: fail CLOSED without querying the ledger for any of the
|
|
@@ -1032,6 +1241,16 @@ export async function intercept(options) {
|
|
|
1032
1241
|
`until the ledger is reachable again. Ask your operator to check ` +
|
|
1033
1242
|
`grounding-mcp (harness doctor), then retry. Session: ${sessionId}.`;
|
|
1034
1243
|
}
|
|
1244
|
+
else if (blocking.emptyIdentifier !== undefined) {
|
|
1245
|
+
// Empty ${REPO} / ${BRANCH}: the decision's own reason names the
|
|
1246
|
+
// state the agent can establish (`cd` / `git -C` / `git switch`).
|
|
1247
|
+
// Takes precedence over `ux:` (whose `cannot:` text would render
|
|
1248
|
+
// the blank identifier, "You cannot push branch yet.") and over
|
|
1249
|
+
// `producers:` / the record hint (both would send the agent to
|
|
1250
|
+
// produce a tag the gate will not read in this state). Names no
|
|
1251
|
+
// opt-out, same reasoning as the degraded envelope above.
|
|
1252
|
+
reasonText = `${blocking.policyName}: ${blocking.reason}`;
|
|
1253
|
+
}
|
|
1035
1254
|
else if (blockingPolicy?.ux) {
|
|
1036
1255
|
// The ux surface is operator-curated plain language. Task
|
|
1037
1256
|
// 2929c5b7: a ux-declared policy's `cannot:` text used to be
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../src/runtime/intercept.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../src/runtime/intercept.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
// harness. If the @lannguyensi/understanding-gate package adds a
|
|
56
56
|
// parallel classifier in the future, it should mirror this allowlist
|
|
57
57
|
// verbatim, not diverge.
|
|
58
|
-
import { decodeShellWord } from "./shell-word.js";
|
|
58
|
+
import { decodeShellWord, hasAnsiCNulEscape } from "./shell-word.js";
|
|
59
59
|
import { GIT_GLOBAL_NO_VALUE_FLAGS, GIT_GLOBAL_VALUE_TAKING_FLAGS, GIT_TOKEN_RE, } from "./command-normalize.js";
|
|
60
60
|
/**
|
|
61
61
|
* Single-token read-only binaries. Each accepts arguments without
|
|
@@ -663,6 +663,12 @@ export function isReadOnlyBashCommand(command) {
|
|
|
663
663
|
// token slice, never from a re-read of the shell.
|
|
664
664
|
if (hasUnsafeShellMetachar(trimmed))
|
|
665
665
|
return false;
|
|
666
|
+
// Refuse any NUL-decoding ANSI-C escape (`$'\0'`, `$'\x00'`, `\c@`, ...):
|
|
667
|
+
// bash truncates the `$'...'` run there, so the argument it passes is not
|
|
668
|
+
// the one the token checks below see. Not modelled, refused (task
|
|
669
|
+
// 241d9e9e); see the header of shell-word.ts.
|
|
670
|
+
if (hasAnsiCNulEscape(trimmed))
|
|
671
|
+
return false;
|
|
666
672
|
return classifyTokens(trimmed.split(/\s+/));
|
|
667
673
|
}
|
|
668
674
|
/**
|
|
@@ -700,6 +706,10 @@ export function isReadOnlyBashPipeline(command) {
|
|
|
700
706
|
return false;
|
|
701
707
|
if (trimmed.includes("$("))
|
|
702
708
|
return false;
|
|
709
|
+
// Checked on the whole text as well as per stage: a `|` inside a `$'...'`
|
|
710
|
+
// run would otherwise split a NUL escape away from its opening `$'`.
|
|
711
|
+
if (hasAnsiCNulEscape(trimmed))
|
|
712
|
+
return false;
|
|
703
713
|
// Split on the pipe and require every stage to be a non-empty, provably
|
|
704
714
|
// read-only command. An empty stage means `||`, a leading/trailing pipe,
|
|
705
715
|
// or `| |` — all refused. A single command (no pipe) yields one stage and
|