@vibe-commit/capture 0.8.0 → 0.9.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/README.md +124 -0
- package/dist/agents/claude_code.js +13 -0
- package/dist/agents/claude_code.js.map +1 -1
- package/dist/agents/codex_cli.js +11 -0
- package/dist/agents/codex_cli.js.map +1 -1
- package/dist/agents/cursor.js +7 -1
- package/dist/agents/cursor.js.map +1 -1
- package/dist/agents/registry.d.ts +7 -0
- package/dist/agents/registry.js +9 -0
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/types.d.ts +32 -0
- package/dist/agents/types.js.map +1 -1
- package/dist/bounded_id.d.ts +29 -0
- package/dist/bounded_id.js +42 -0
- package/dist/bounded_id.js.map +1 -0
- package/dist/codex_folders.d.ts +340 -0
- package/dist/codex_folders.js +1448 -0
- package/dist/codex_folders.js.map +1 -0
- package/dist/commands/backfill.d.ts +29 -7
- package/dist/commands/backfill.js +387 -109
- package/dist/commands/backfill.js.map +1 -1
- package/dist/commands/connect.d.ts +1 -1
- package/dist/commands/connect.js +1 -1
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/connect_picker.js +48 -7
- package/dist/commands/connect_picker.js.map +1 -1
- package/dist/commands/finalize.d.ts +67 -0
- package/dist/commands/finalize.js +450 -114
- package/dist/commands/finalize.js.map +1 -1
- package/dist/commands/scan.d.ts +28 -0
- package/dist/commands/scan.js +11 -0
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/status_machine.js +47 -10
- package/dist/commands/status_machine.js.map +1 -1
- package/dist/consent.d.ts +22 -0
- package/dist/consent.js +38 -1
- package/dist/consent.js.map +1 -1
- package/dist/copy/strings.d.ts +43 -1
- package/dist/copy/strings.js +48 -4
- package/dist/copy/strings.js.map +1 -1
- package/dist/folder_grants.d.ts +44 -0
- package/dist/folder_grants.js +101 -0
- package/dist/folder_grants.js.map +1 -0
- package/dist/git.d.ts +26 -4
- package/dist/git.js +82 -11
- package/dist/git.js.map +1 -1
- package/dist/hooks/entry.d.ts +30 -50
- package/dist/hooks/entry.js +593 -559
- package/dist/hooks/entry.js.map +1 -1
- package/dist/hooks/fire_lock.d.ts +31 -0
- package/dist/hooks/fire_lock.js +120 -12
- package/dist/hooks/fire_lock.js.map +1 -1
- package/dist/machine_state.d.ts +44 -1
- package/dist/machine_state.js +75 -12
- package/dist/machine_state.js.map +1 -1
- package/dist/oauth/discovery.js +2 -1
- package/dist/oauth/discovery.js.map +1 -1
- package/dist/oauth/pkce.js +2 -1
- package/dist/oauth/pkce.js.map +1 -1
- package/dist/paths.d.ts +34 -1
- package/dist/paths.js +62 -12
- package/dist/paths.js.map +1 -1
- package/dist/physical_path.d.ts +46 -0
- package/dist/physical_path.js +151 -0
- package/dist/physical_path.js.map +1 -0
- package/dist/picker.d.ts +52 -3
- package/dist/picker.js +129 -5
- package/dist/picker.js.map +1 -1
- package/dist/picker_checklist.d.ts +9 -1
- package/dist/picker_checklist.js +41 -2
- package/dist/picker_checklist.js.map +1 -1
- package/dist/policy.d.ts +9 -1
- package/dist/policy.js +11 -2
- package/dist/policy.js.map +1 -1
- package/dist/post.d.ts +14 -0
- package/dist/post.js +32 -10
- package/dist/post.js.map +1 -1
- package/dist/project.d.ts +89 -0
- package/dist/project.js +123 -0
- package/dist/project.js.map +1 -1
- package/dist/redact.d.ts +77 -2
- package/dist/redact.js +713 -47
- package/dist/redact.js.map +1 -1
- package/dist/session_targets.d.ts +713 -0
- package/dist/session_targets.js +2602 -0
- package/dist/session_targets.js.map +1 -0
- package/dist/spool.d.ts +12 -0
- package/dist/spool.js +29 -1
- package/dist/spool.js.map +1 -1
- package/dist/spool_union.d.ts +51 -0
- package/dist/spool_union.js +57 -0
- package/dist/spool_union.js.map +1 -0
- package/dist/state.d.ts +5 -0
- package/dist/state.js +19 -1
- package/dist/state.js.map +1 -1
- package/dist/text_tail.d.ts +8 -0
- package/dist/text_tail.js +19 -0
- package/dist/text_tail.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
package/dist/policy.d.ts
CHANGED
|
@@ -69,10 +69,18 @@ export declare function classifyStatus(status: number): Disposition;
|
|
|
69
69
|
* above already says so and a code we did not need to name is one fewer that can drift.
|
|
70
70
|
*/
|
|
71
71
|
export declare const REPOSITORY_EXCLUDED = "repository_excluded";
|
|
72
|
+
/**
|
|
73
|
+
* C3 (any-folder capture, R7 · D9): a FOLDER repository (`local:folder:<12 hex>`) has ONE uploader, its creator. The server
|
|
74
|
+
* answers `403 { error: "folder_repository_forbidden" }` to any other caller (two members whose launch folder has the same
|
|
75
|
+
* absolute path hash to one slug), stores nothing, and names no org, user or repository in the body. Contract: the server's folder
|
|
76
|
+
* rule (A-T11, commit 9153abc on branch `w3/a-t11-t12-mcp`). Like `REPOSITORY_EXCLUDED` it is a code-keyed 403 and is `never`: the bytes are not held for a
|
|
77
|
+
* "later" that will refuse them again every firing. It is a PER-TARGET outcome: it is never credential-wide and never `fatal`.
|
|
78
|
+
*/
|
|
79
|
+
export declare const FOLDER_REPOSITORY_FORBIDDEN = "folder_repository_forbidden";
|
|
72
80
|
/**
|
|
73
81
|
* Classify one attempt, response or not.
|
|
74
82
|
*
|
|
75
|
-
* ⛔ **
|
|
83
|
+
* ⛔ **TWO 403s ARE `never` (`repository_excluded`, `folder_repository_forbidden`), AND EACH IS IDENTIFIED BY THE ERROR CODE ALONE** (`ErrorDetail.code` is the only thing a caller may
|
|
76
84
|
* branch on, `post.ts`) — and only on a 403. `never` drops bytes, so every doubt is `later`: a 403 with no body, a body that
|
|
77
85
|
* did not parse or was cut off, a code this client does not know, and the same code on any other status all fall through
|
|
78
86
|
* to the 403 row. Excluded means the user said not to capture this repo, so its bytes are not held for a "later" that the
|
package/dist/policy.js
CHANGED
|
@@ -91,10 +91,18 @@ export function classifyStatus(status) {
|
|
|
91
91
|
* above already says so and a code we did not need to name is one fewer that can drift.
|
|
92
92
|
*/
|
|
93
93
|
export const REPOSITORY_EXCLUDED = "repository_excluded";
|
|
94
|
+
/**
|
|
95
|
+
* C3 (any-folder capture, R7 · D9): a FOLDER repository (`local:folder:<12 hex>`) has ONE uploader, its creator. The server
|
|
96
|
+
* answers `403 { error: "folder_repository_forbidden" }` to any other caller (two members whose launch folder has the same
|
|
97
|
+
* absolute path hash to one slug), stores nothing, and names no org, user or repository in the body. Contract: the server's folder
|
|
98
|
+
* rule (A-T11, commit 9153abc on branch `w3/a-t11-t12-mcp`). Like `REPOSITORY_EXCLUDED` it is a code-keyed 403 and is `never`: the bytes are not held for a
|
|
99
|
+
* "later" that will refuse them again every firing. It is a PER-TARGET outcome: it is never credential-wide and never `fatal`.
|
|
100
|
+
*/
|
|
101
|
+
export const FOLDER_REPOSITORY_FORBIDDEN = "folder_repository_forbidden";
|
|
94
102
|
/**
|
|
95
103
|
* Classify one attempt, response or not.
|
|
96
104
|
*
|
|
97
|
-
* ⛔ **
|
|
105
|
+
* ⛔ **TWO 403s ARE `never` (`repository_excluded`, `folder_repository_forbidden`), AND EACH IS IDENTIFIED BY THE ERROR CODE ALONE** (`ErrorDetail.code` is the only thing a caller may
|
|
98
106
|
* branch on, `post.ts`) — and only on a 403. `never` drops bytes, so every doubt is `later`: a 403 with no body, a body that
|
|
99
107
|
* did not parse or was cut off, a code this client does not know, and the same code on any other status all fall through
|
|
100
108
|
* to the 403 row. Excluded means the user said not to capture this repo, so its bytes are not held for a "later" that the
|
|
@@ -103,8 +111,9 @@ export const REPOSITORY_EXCLUDED = "repository_excluded";
|
|
|
103
111
|
export function classify(outcome) {
|
|
104
112
|
if (outcome.kind === "unreachable")
|
|
105
113
|
return NETWORK_CLASS;
|
|
106
|
-
if (outcome.status === 403 && outcome.detail?.code === REPOSITORY_EXCLUDED)
|
|
114
|
+
if (outcome.status === 403 && (outcome.detail?.code === REPOSITORY_EXCLUDED || outcome.detail?.code === FOLDER_REPOSITORY_FORBIDDEN)) {
|
|
107
115
|
return "never";
|
|
116
|
+
}
|
|
108
117
|
return classifyStatus(outcome.status);
|
|
109
118
|
}
|
|
110
119
|
/**
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAQzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsC,IAAI,GAAG,CAAC;IACvE,gFAAgF;IAChF,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,uEAAuE;IACvE,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,2EAA2E;IAC3E,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,0DAA0D;IAC1D,EAAE;IACF,oHAAoH;IACpH,wHAAwH;IACxH,kHAAkH;IAClH,2FAA2F;IAC3F,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,CAAC,GAAG,EAAE,OAAO,CAAC;CACf,CAAC,CAAC;AAEH,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAiB,OAAO,CAAC;AAExD,kEAAkE;AAClE,MAAM,CAAC,MAAM,aAAa,GAAiB,OAAO,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiB,OAAO,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,kBAAkB,CAAC;IAC7D,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAoB;IAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,mBAAmB;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/post.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { type SelectedAgentId } from "./agents/types.js";
|
|
|
21
21
|
import type { IngestCredential } from "./credential.js";
|
|
22
22
|
import { type Disposition, type RecordCutter } from "./policy.js";
|
|
23
23
|
import { type InferredGroupId, type Observed } from "./spool.js";
|
|
24
|
+
import type { SpoolSources } from "./spool_union.js";
|
|
24
25
|
/** Production data plane. Overridable for tests and for a self-hosted server. */
|
|
25
26
|
export declare const DEFAULT_INGEST_URL = "https://api.vibecommit.ai/ingest/v1/session";
|
|
26
27
|
/**
|
|
@@ -485,6 +486,12 @@ export interface DeliveryContext {
|
|
|
485
486
|
* `undefined` here means the same as an empty `inferredRewrites`: nothing to drop.
|
|
486
487
|
*/
|
|
487
488
|
readonly inferredGroups?: readonly InferredGroupId[];
|
|
489
|
+
/**
|
|
490
|
+
* ⛔ WHERE EACH ACKNOWLEDGEMENT GOES (any-folder capture, O7). A target's spools are the union of its repo's work trees' spools
|
|
491
|
+
* (`spool_union.ts`), and a union cannot be truncated "by the first N lines". When absent, the ledger's own spool is the one
|
|
492
|
+
* source and every drop below is exactly what it always was.
|
|
493
|
+
*/
|
|
494
|
+
readonly spoolSources?: SpoolSources;
|
|
488
495
|
/**
|
|
489
496
|
* ⭐ `TODOS[146]` — assert the session is over (`X-Session-Final: 1`) and send EVEN WHEN THE
|
|
490
497
|
* OFFSET IS AT EOF, as an empty delta: the common one-shot case is a session whose bytes all
|
|
@@ -517,6 +524,13 @@ export interface DeliveryContext {
|
|
|
517
524
|
readonly rawBytes: number;
|
|
518
525
|
readonly frameBytes: number;
|
|
519
526
|
};
|
|
527
|
+
/**
|
|
528
|
+
* C25 — THE CALLER'S LOCK HEARTBEAT, called right BEFORE every request this delivery makes (the first attempt of a delta, its
|
|
529
|
+
* lean retry, each halving of a 413). `true`: the session's writer lock is still ours and was just re-stamped. `false`: it is
|
|
530
|
+
* not, and NO request is made and nothing is persisted: the delivery returns `nothing-to-send` and the caller, which asked
|
|
531
|
+
* the question, knows why. Set by `finalize` and `backfill` only; a hook is ended by its own watchdog and sets none.
|
|
532
|
+
*/
|
|
533
|
+
readonly beforeRequest?: () => boolean;
|
|
520
534
|
}
|
|
521
535
|
/**
|
|
522
536
|
* Send the undelivered span of one transcript file, in deltas — PR 4a.
|
package/dist/post.js
CHANGED
|
@@ -651,6 +651,11 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
651
651
|
const key = { repoKey: ctx.repoKey, sessionId: ctx.sessionId };
|
|
652
652
|
if (key.repoKey === "")
|
|
653
653
|
return { kind: "no-repo" };
|
|
654
|
+
// ⛔ C25 addendum: THE FIRST BEAT IS HERE, before any disposition that PERSISTS can run. An oversize record is skipped (its offset
|
|
655
|
+
// written) and an unsafe session id refused ("never") before the per-request beat below, so a holder that stalled past its lock's
|
|
656
|
+
// bound could otherwise write several skips with nobody checking it still owned the session. No request, no write.
|
|
657
|
+
if (ctx.beforeRequest !== undefined && !ctx.beforeRequest())
|
|
658
|
+
return { kind: "nothing-to-send" };
|
|
654
659
|
const session = loadSessionState(ctx.home, key);
|
|
655
660
|
if (isStopped(session, credentialFingerprint(ctx.credential)))
|
|
656
661
|
return { kind: "stopped" };
|
|
@@ -738,6 +743,8 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
738
743
|
// full and lean requests depending on what the NEXT turn happens to contain,
|
|
739
744
|
// which nobody can debug.
|
|
740
745
|
let lean = current.lean;
|
|
746
|
+
if (ctx.beforeRequest !== undefined && !ctx.beforeRequest())
|
|
747
|
+
return { kind: "nothing-to-send" };
|
|
741
748
|
let attempt = await attemptSend(withinBudget(ctx), agent, seq, span, body, lean, isLast);
|
|
742
749
|
if (attempt.kind === "unsafe") {
|
|
743
750
|
return refuse(ctx, key, session, current, span, caps, attempt.header === "authorization" ? "fatal" : "never", lean);
|
|
@@ -765,6 +772,10 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
765
772
|
// in-process retry here does not reopen D56 §D8, which governs hooks. Go
|
|
766
773
|
// lean and retry ONCE, within this same invocation.
|
|
767
774
|
lean = true;
|
|
775
|
+
// ⛔ A lock lost between the 431 and its retry stops here with NOTHING persisted: the first attempt recorded nothing either, so
|
|
776
|
+
// the span is simply unsent and whoever holds the session now resends it.
|
|
777
|
+
if (ctx.beforeRequest !== undefined && !ctx.beforeRequest())
|
|
778
|
+
return { kind: "nothing-to-send" };
|
|
768
779
|
attempt = await attemptSend(withinBudget(ctx), agent, seq, span, body, lean, isLast);
|
|
769
780
|
if (attempt.kind === "unsafe") {
|
|
770
781
|
// Unreachable in practice — every lean header is already proven safe, or
|
|
@@ -806,6 +817,8 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
806
817
|
const half = readBody(span.from, span.to);
|
|
807
818
|
if (half === null)
|
|
808
819
|
return { kind: "nothing-to-send" };
|
|
820
|
+
if (ctx.beforeRequest !== undefined && !ctx.beforeRequest())
|
|
821
|
+
return { kind: "nothing-to-send" };
|
|
809
822
|
attempt = await attemptSend(withinBudget(ctx), agent, seq, span, half, lean, false);
|
|
810
823
|
if (attempt.kind === "unsafe") {
|
|
811
824
|
return refuse(ctx, key, session, current, span, caps, attempt.header === "authorization" ? "fatal" : "never", lean);
|
|
@@ -898,11 +911,16 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
898
911
|
const nothingLanded = outcome.kind === "response" && outcome.captureId === "";
|
|
899
912
|
const holdForNextDelta = nothingLanded && (ctx.commits?.shas.length ?? 0) > 0;
|
|
900
913
|
if (ctx.commits !== undefined && ctx.commits.count > 0) {
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
914
|
+
// Each source is truncated by ITS OWN consumed count (O7); a single-source delivery is the ledger's spool alone.
|
|
915
|
+
const sources = ctx.spoolSources?.commits ?? [{ repoKey: key.repoKey, count: ctx.commits.count }];
|
|
916
|
+
for (const source of sources) {
|
|
917
|
+
const sourceKey = { repoKey: source.repoKey, sessionId: key.sessionId };
|
|
918
|
+
if (retry !== null) {
|
|
919
|
+
settleSpooled(ctx.home, sourceKey, source.count, new Set(retry));
|
|
920
|
+
}
|
|
921
|
+
else if (!holdForNextDelta) {
|
|
922
|
+
dropSpooled(ctx.home, sourceKey, source.count);
|
|
923
|
+
}
|
|
906
924
|
}
|
|
907
925
|
}
|
|
908
926
|
// The rewrite spool is its own file with its own cap, so its own drop.
|
|
@@ -914,7 +932,9 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
914
932
|
// keeps a squash-merged commit reachable." A `commit_sha_successors` row
|
|
915
933
|
// names no turn, so `X-Capture-Id` says nothing about whether it landed.
|
|
916
934
|
if (ctx.rewrites !== undefined && ctx.rewrites.length > 0) {
|
|
917
|
-
|
|
935
|
+
const sources = ctx.spoolSources?.rewrites ?? [{ repoKey: key.repoKey, count: ctx.rewrites.length }];
|
|
936
|
+
for (const source of sources)
|
|
937
|
+
dropRewrites(ctx.home, { repoKey: source.repoKey, sessionId: key.sessionId }, source.count);
|
|
918
938
|
}
|
|
919
939
|
// `TODOS[177]` — the INFERRED pairs have their own file and their own drop. ⛔ UNLIKE `rewrites` above, this one is
|
|
920
940
|
// CONDITIONAL on the server's per-request ack (`x-rewrites-inferred-stored`): a 2xx alone is "the delta was
|
|
@@ -931,9 +951,11 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
931
951
|
// attempt is counted (an attempt means a signal was RECEIVED), nothing is set aside.
|
|
932
952
|
if (ctx.inferredRewrites !== undefined && ctx.inferredRewrites.length > 0 && ctx.inferredGroups !== undefined && ctx.inferredGroups.length > 0) {
|
|
933
953
|
const group = ctx.inferredGroups[0];
|
|
954
|
+
// The group lives in exactly ONE source's file (a squash was made in one work tree): every mark below goes there.
|
|
955
|
+
const groupKey = { repoKey: ctx.spoolSources?.inferred?.repoKey ?? key.repoKey, sessionId: key.sessionId };
|
|
934
956
|
const stored = outcome.kind === "response" ? outcome.inferredStored : null;
|
|
935
957
|
if (stored === ctx.inferredRewrites.length) {
|
|
936
|
-
dropInferredGroups(ctx.home,
|
|
958
|
+
dropInferredGroups(ctx.home, groupKey, [group]);
|
|
937
959
|
}
|
|
938
960
|
else if (stored !== null) {
|
|
939
961
|
// ⛔⛔ `stored !== null` ALONE, never `stored !== null && stored > 0` (VG's mutant G5, 2026-10-08): the
|
|
@@ -942,15 +964,15 @@ async function deliverChunk(ctx, eof, readBody, cutter) {
|
|
|
942
964
|
// never answers `n-1`. An ack of `0` is a real signal ("the server saw this and stored none of it") and
|
|
943
965
|
// must count an attempt exactly like any other short ack, or a persistently-refused group is never set
|
|
944
966
|
// aside and head-of-line blocking comes back on the realistic path.
|
|
945
|
-
const attempts = recordInferredAttempt(ctx.home,
|
|
967
|
+
const attempts = recordInferredAttempt(ctx.home, groupKey, group);
|
|
946
968
|
if (attempts >= INFERRED_SET_ASIDE_AFTER) {
|
|
947
|
-
setAsideInferredGroup(ctx.home,
|
|
969
|
+
setAsideInferredGroup(ctx.home, groupKey, group, "short_ack");
|
|
948
970
|
// `TODOS[177]` follow-up (VL, 2026-10-08, VG's silent-loss finding): tally BEFORE any deletion can
|
|
949
971
|
// happen — `finalize` may delete this session's `.inferred.jsonl` outright once every group in it is
|
|
950
972
|
// resolved, and this tally is the ONLY record of `set_aside` left once that file is gone (VG's
|
|
951
973
|
// follow-up finding: an earlier version of this fix also kept a live gauge reading that same file,
|
|
952
974
|
// which double-counted these pairs once the group aged into the 7-day prune — removed).
|
|
953
|
-
recordInferredSkipped(ctx.home,
|
|
975
|
+
recordInferredSkipped(ctx.home, groupKey.repoKey, "set_aside", ctx.nowMs, ctx.inferredRewrites.length);
|
|
954
976
|
inferredSetAsidePairs = ctx.inferredRewrites.length;
|
|
955
977
|
}
|
|
956
978
|
}
|
package/dist/post.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../src/post.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../src/post.ts"],"names":[],"mappings":"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"}
|
package/dist/project.d.ts
CHANGED
|
@@ -97,3 +97,92 @@ export declare function resolveProjectKeys(dir: string): ProjectKeys | null;
|
|
|
97
97
|
* see in `vibecommit status`.
|
|
98
98
|
*/
|
|
99
99
|
export declare function resolveProjectKey(dir: string): string | null;
|
|
100
|
+
/**
|
|
101
|
+
* The MAIN work tree of the repository whose common dir this is, or **null**.
|
|
102
|
+
*
|
|
103
|
+
* ## ⛔ `rev-parse --show-toplevel` CANNOT ANSWER THIS, measured
|
|
104
|
+
*
|
|
105
|
+
* `D184 §4` mandates `git -C <common-dir> rev-parse --show-toplevel`. Measured
|
|
106
|
+
* on git 2.39.5 against real repositories, that command exits **128** —
|
|
107
|
+
* *"fatal: this operation must be run in a work tree"* — for **every shape a
|
|
108
|
+
* consent key takes**, because a consent key is always a git DIRECTORY and
|
|
109
|
+
* `--is-inside-work-tree` is `false` inside one:
|
|
110
|
+
*
|
|
111
|
+
* | `-C` | `--show-toplevel` |
|
|
112
|
+
* |---|---|
|
|
113
|
+
* | `<main>/.git` (main clone, and every worktree linked to it) | ⛔ ec 128 |
|
|
114
|
+
* | `<repos>/project.git` (bare) | ⛔ ec 128 |
|
|
115
|
+
*
|
|
116
|
+
* Implemented literally, "a failure means no second root" would fire 100% of
|
|
117
|
+
* the time: the set would be the singleton it is today, forever, and a
|
|
118
|
+
* main-clone file read from a worktree session would come back a marker. The
|
|
119
|
+
* whole change would pass its own tests while doing nothing.
|
|
120
|
+
*
|
|
121
|
+
* ## What answers instead, and why it is not a guess
|
|
122
|
+
*
|
|
123
|
+
* `git worktree list --porcelain` DOES run from a git dir and from a bare
|
|
124
|
+
* directory, and its FIRST record is the main work tree. Bare repositories say
|
|
125
|
+
* so in the record itself — `bare`, with no work tree of their own.
|
|
126
|
+
*
|
|
127
|
+
* ⛔ **The answer is then validated by CONTENT, never trusted by position:**
|
|
128
|
+
* `realpath(<candidate>/.git)` must BE the consented common dir. That check is
|
|
129
|
+
* independently fatal to every wrong answer this could produce — a bare repo
|
|
130
|
+
* (`<repos>/.git` does not exist), a linked worktree returned first by some
|
|
131
|
+
* future git (its `.git` is a FILE, so the realpath is the file, not the common
|
|
132
|
+
* dir), a submodule work tree (same). `D184 §4`'s hazard is what it is for: in a
|
|
133
|
+
* worktree of a bare repo the common dir is `…/repos/project.git`, whose parent
|
|
134
|
+
* is **the folder holding every other repository on the machine**, and a root
|
|
135
|
+
* derived by stripping a suffix would transmit every sibling repo's file
|
|
136
|
+
* contents verbatim.
|
|
137
|
+
*
|
|
138
|
+
* Every failure yields NO SECOND ROOT. Never a fallback, never a parent, never a
|
|
139
|
+
* suffix strip.
|
|
140
|
+
*/
|
|
141
|
+
export declare function mainWorkTree(commonDir: string): string | null;
|
|
142
|
+
/**
|
|
143
|
+
* ⛔ **The redaction confinement ROOT SET — `D184 §3`.**
|
|
144
|
+
*
|
|
145
|
+
* ```
|
|
146
|
+
* isInsideAny([worktree, mainToplevel], candidate)
|
|
147
|
+
* ```
|
|
148
|
+
*
|
|
149
|
+
* ## Why it is a set, and why the common dir is not in it
|
|
150
|
+
*
|
|
151
|
+
* `D184` moved the consent key to the git common dir so that a session inside a
|
|
152
|
+
* `git worktree` is admitted at all. ⛔ **The confinement root MUST NOT follow
|
|
153
|
+
* it there.** `isInside` realpaths both sides and fail-closes anything it cannot
|
|
154
|
+
* place to *outside* — which here means REDACT — so a root at `<main>/.git`
|
|
155
|
+
* would judge every file of an external worktree to be outside the main clone
|
|
156
|
+
* and replace its `content`, `oldString`, `newString` and `structuredPatch` with
|
|
157
|
+
* markers. **The capture still succeeds. The turn counts still look right. The
|
|
158
|
+
* content is gone**, and a test asserting *"worktree sessions capture now"*
|
|
159
|
+
* passes on an empty payload.
|
|
160
|
+
*
|
|
161
|
+
* Two roots, because both are genuinely the user's own tree: the worktree the
|
|
162
|
+
* session is running in, and the main clone it was cut from — a builder in a
|
|
163
|
+
* worktree reads the main clone's files constantly.
|
|
164
|
+
*
|
|
165
|
+
* ## ⛔ The `paths.ts:487-489` prohibition, answered — `D184 §5`
|
|
166
|
+
*
|
|
167
|
+
* > *"`roots` comes from the REGISTRY. It must never be derived from input."*
|
|
168
|
+
*
|
|
169
|
+
* **That prohibition is about PROVENANCE, and both members have the right one.**
|
|
170
|
+
* The named hazard is *anything on hook stdin* — attacker-supplied. Neither of
|
|
171
|
+
* these is: `keys` can only be produced by `resolveProjectKeys`, which is git's
|
|
172
|
+
* own answer about the directory the session runs in; `mainToplevel` is git's
|
|
173
|
+
* answer about the repository **the consent gate already approved**, and it is
|
|
174
|
+
* content-validated by `mainWorkTree` above. The worktree root has exactly the
|
|
175
|
+
* same provenance and has been used this way since `CR-024d`.
|
|
176
|
+
*
|
|
177
|
+
* ⚠ **Provenance is the whole argument, so this code preserves it:** nothing
|
|
178
|
+
* here is read from stdin, the derivation is validated by content, and a failure
|
|
179
|
+
* yields no second root rather than a fallback. An empty set would refuse
|
|
180
|
+
* everything (`paths.ts:491-492`), which is the correct direction — but this
|
|
181
|
+
* function cannot return one, because `keys.worktree` is always a member.
|
|
182
|
+
*
|
|
183
|
+
* ⚠ The dedup is cosmetic. `isInsideAny` over a repeated root is a union with
|
|
184
|
+
* itself; it is dropped so that a main-clone session reads as the single root it
|
|
185
|
+
* has always had, and so a cell asserting "no second root" is asserting
|
|
186
|
+
* something.
|
|
187
|
+
*/
|
|
188
|
+
export declare function confinementRoots(keys: ProjectKeys): readonly string[];
|
package/dist/project.js
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
import { execFileSync } from "node:child_process";
|
|
39
39
|
import { existsSync, realpathSync } from "node:fs";
|
|
40
40
|
import { isAbsolute, join, resolve } from "node:path";
|
|
41
|
+
import { gitProbe } from "./git.js";
|
|
41
42
|
import { spawnTimeoutMs } from "./spawn_budget.js";
|
|
42
43
|
/** This spawn's own ceiling, used when no hook budget is armed. */
|
|
43
44
|
const TOPLEVEL_TIMEOUT_MS = 5_000;
|
|
@@ -189,4 +190,126 @@ export function resolveProjectKeys(dir) {
|
|
|
189
190
|
export function resolveProjectKey(dir) {
|
|
190
191
|
return gitToplevel(dir);
|
|
191
192
|
}
|
|
193
|
+
// ---------------------------------------------------------------------------
|
|
194
|
+
// Redaction roots (moved from `hooks/entry.ts` so `session_targets.ts` can use them without an import cycle).
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
/** The porcelain record's opening line — `worktree <absolute path>`. */
|
|
197
|
+
const WORKTREE_LINE = "worktree ";
|
|
198
|
+
/**
|
|
199
|
+
* The MAIN work tree of the repository whose common dir this is, or **null**.
|
|
200
|
+
*
|
|
201
|
+
* ## ⛔ `rev-parse --show-toplevel` CANNOT ANSWER THIS, measured
|
|
202
|
+
*
|
|
203
|
+
* `D184 §4` mandates `git -C <common-dir> rev-parse --show-toplevel`. Measured
|
|
204
|
+
* on git 2.39.5 against real repositories, that command exits **128** —
|
|
205
|
+
* *"fatal: this operation must be run in a work tree"* — for **every shape a
|
|
206
|
+
* consent key takes**, because a consent key is always a git DIRECTORY and
|
|
207
|
+
* `--is-inside-work-tree` is `false` inside one:
|
|
208
|
+
*
|
|
209
|
+
* | `-C` | `--show-toplevel` |
|
|
210
|
+
* |---|---|
|
|
211
|
+
* | `<main>/.git` (main clone, and every worktree linked to it) | ⛔ ec 128 |
|
|
212
|
+
* | `<repos>/project.git` (bare) | ⛔ ec 128 |
|
|
213
|
+
*
|
|
214
|
+
* Implemented literally, "a failure means no second root" would fire 100% of
|
|
215
|
+
* the time: the set would be the singleton it is today, forever, and a
|
|
216
|
+
* main-clone file read from a worktree session would come back a marker. The
|
|
217
|
+
* whole change would pass its own tests while doing nothing.
|
|
218
|
+
*
|
|
219
|
+
* ## What answers instead, and why it is not a guess
|
|
220
|
+
*
|
|
221
|
+
* `git worktree list --porcelain` DOES run from a git dir and from a bare
|
|
222
|
+
* directory, and its FIRST record is the main work tree. Bare repositories say
|
|
223
|
+
* so in the record itself — `bare`, with no work tree of their own.
|
|
224
|
+
*
|
|
225
|
+
* ⛔ **The answer is then validated by CONTENT, never trusted by position:**
|
|
226
|
+
* `realpath(<candidate>/.git)` must BE the consented common dir. That check is
|
|
227
|
+
* independently fatal to every wrong answer this could produce — a bare repo
|
|
228
|
+
* (`<repos>/.git` does not exist), a linked worktree returned first by some
|
|
229
|
+
* future git (its `.git` is a FILE, so the realpath is the file, not the common
|
|
230
|
+
* dir), a submodule work tree (same). `D184 §4`'s hazard is what it is for: in a
|
|
231
|
+
* worktree of a bare repo the common dir is `…/repos/project.git`, whose parent
|
|
232
|
+
* is **the folder holding every other repository on the machine**, and a root
|
|
233
|
+
* derived by stripping a suffix would transmit every sibling repo's file
|
|
234
|
+
* contents verbatim.
|
|
235
|
+
*
|
|
236
|
+
* Every failure yields NO SECOND ROOT. Never a fallback, never a parent, never a
|
|
237
|
+
* suffix strip.
|
|
238
|
+
*/
|
|
239
|
+
export function mainWorkTree(commonDir) {
|
|
240
|
+
const out = gitProbe(commonDir, ["worktree", "list", "--porcelain"]);
|
|
241
|
+
if (out === null)
|
|
242
|
+
return null;
|
|
243
|
+
const record = [];
|
|
244
|
+
for (const line of out.split("\n")) {
|
|
245
|
+
if (line === "")
|
|
246
|
+
break;
|
|
247
|
+
record.push(line);
|
|
248
|
+
}
|
|
249
|
+
// A BARE repository HAS no work tree, and git says so in the record itself.
|
|
250
|
+
if (record.includes("bare"))
|
|
251
|
+
return null;
|
|
252
|
+
const first = record[0];
|
|
253
|
+
if (first === undefined || !first.startsWith(WORKTREE_LINE))
|
|
254
|
+
return null;
|
|
255
|
+
const candidate = first.slice(WORKTREE_LINE.length);
|
|
256
|
+
if (!isAbsolute(candidate))
|
|
257
|
+
return null;
|
|
258
|
+
try {
|
|
259
|
+
return realpathSync(join(candidate, ".git")) === commonDir ? candidate : null;
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* ⛔ **The redaction confinement ROOT SET — `D184 §3`.**
|
|
267
|
+
*
|
|
268
|
+
* ```
|
|
269
|
+
* isInsideAny([worktree, mainToplevel], candidate)
|
|
270
|
+
* ```
|
|
271
|
+
*
|
|
272
|
+
* ## Why it is a set, and why the common dir is not in it
|
|
273
|
+
*
|
|
274
|
+
* `D184` moved the consent key to the git common dir so that a session inside a
|
|
275
|
+
* `git worktree` is admitted at all. ⛔ **The confinement root MUST NOT follow
|
|
276
|
+
* it there.** `isInside` realpaths both sides and fail-closes anything it cannot
|
|
277
|
+
* place to *outside* — which here means REDACT — so a root at `<main>/.git`
|
|
278
|
+
* would judge every file of an external worktree to be outside the main clone
|
|
279
|
+
* and replace its `content`, `oldString`, `newString` and `structuredPatch` with
|
|
280
|
+
* markers. **The capture still succeeds. The turn counts still look right. The
|
|
281
|
+
* content is gone**, and a test asserting *"worktree sessions capture now"*
|
|
282
|
+
* passes on an empty payload.
|
|
283
|
+
*
|
|
284
|
+
* Two roots, because both are genuinely the user's own tree: the worktree the
|
|
285
|
+
* session is running in, and the main clone it was cut from — a builder in a
|
|
286
|
+
* worktree reads the main clone's files constantly.
|
|
287
|
+
*
|
|
288
|
+
* ## ⛔ The `paths.ts:487-489` prohibition, answered — `D184 §5`
|
|
289
|
+
*
|
|
290
|
+
* > *"`roots` comes from the REGISTRY. It must never be derived from input."*
|
|
291
|
+
*
|
|
292
|
+
* **That prohibition is about PROVENANCE, and both members have the right one.**
|
|
293
|
+
* The named hazard is *anything on hook stdin* — attacker-supplied. Neither of
|
|
294
|
+
* these is: `keys` can only be produced by `resolveProjectKeys`, which is git's
|
|
295
|
+
* own answer about the directory the session runs in; `mainToplevel` is git's
|
|
296
|
+
* answer about the repository **the consent gate already approved**, and it is
|
|
297
|
+
* content-validated by `mainWorkTree` above. The worktree root has exactly the
|
|
298
|
+
* same provenance and has been used this way since `CR-024d`.
|
|
299
|
+
*
|
|
300
|
+
* ⚠ **Provenance is the whole argument, so this code preserves it:** nothing
|
|
301
|
+
* here is read from stdin, the derivation is validated by content, and a failure
|
|
302
|
+
* yields no second root rather than a fallback. An empty set would refuse
|
|
303
|
+
* everything (`paths.ts:491-492`), which is the correct direction — but this
|
|
304
|
+
* function cannot return one, because `keys.worktree` is always a member.
|
|
305
|
+
*
|
|
306
|
+
* ⚠ The dedup is cosmetic. `isInsideAny` over a repeated root is a union with
|
|
307
|
+
* itself; it is dropped so that a main-clone session reads as the single root it
|
|
308
|
+
* has always had, and so a cell asserting "no second root" is asserting
|
|
309
|
+
* something.
|
|
310
|
+
*/
|
|
311
|
+
export function confinementRoots(keys) {
|
|
312
|
+
const main = mainWorkTree(keys.consent);
|
|
313
|
+
return main === null || main === keys.worktree ? [keys.worktree] : [keys.worktree, main];
|
|
314
|
+
}
|
|
192
315
|
//# sourceMappingURL=project.js.map
|
package/dist/project.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,mEAAmE;AACnE,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,MAAM,OAAO,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE;YAC7D,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,OAAO;SACR,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC9C,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAkBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|