@vibe-commit/capture 0.10.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -1
- package/dist/agent_hooks.js +2 -2
- package/dist/cli.d.ts +35 -0
- package/dist/cli.js +412 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/backfill.js +19 -2
- package/dist/commands/backfill.js.map +1 -1
- package/dist/commands/finalize.d.ts +37 -1
- package/dist/commands/finalize.js +129 -29
- package/dist/commands/finalize.js.map +1 -1
- package/dist/commands/status.js +7 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/status_machine.js +5 -0
- package/dist/commands/status_machine.js.map +1 -1
- package/dist/commands/upload_worker.d.ts +65 -0
- package/dist/commands/upload_worker.js +337 -0
- package/dist/commands/upload_worker.js.map +1 -0
- package/dist/copy/strings.d.ts +25 -8
- package/dist/copy/strings.js +43 -9
- package/dist/copy/strings.js.map +1 -1
- package/dist/drain.d.ts +68 -0
- package/dist/drain.js +234 -0
- package/dist/drain.js.map +1 -0
- package/dist/firing.d.ts +169 -0
- package/dist/firing.js +334 -0
- package/dist/firing.js.map +1 -0
- package/dist/hooks/entry.d.ts +171 -26
- package/dist/hooks/entry.js +337 -508
- package/dist/hooks/entry.js.map +1 -1
- package/dist/hooks/fire_lock.d.ts +36 -87
- package/dist/hooks/fire_lock.js +40 -99
- package/dist/hooks/fire_lock.js.map +1 -1
- package/dist/hooks/post_commit.d.ts +2 -0
- package/dist/hooks/post_commit.js +7 -3
- package/dist/hooks/post_commit.js.map +1 -1
- package/dist/hooks/session_start.d.ts +18 -0
- package/dist/hooks/session_start.js +29 -0
- package/dist/hooks/session_start.js.map +1 -1
- package/dist/identity.d.ts +32 -0
- package/dist/identity.js +38 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +3 -17
- package/dist/index.js +59 -450
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +18 -0
- package/dist/paths.js +31 -0
- package/dist/paths.js.map +1 -1
- package/dist/pending_prune.d.ts +2 -2
- package/dist/pending_prune.js +2 -2
- package/dist/policy.d.ts +17 -0
- package/dist/policy.js +7 -0
- package/dist/policy.js.map +1 -1
- package/dist/post.d.ts +52 -4
- package/dist/post.js +59 -21
- package/dist/post.js.map +1 -1
- package/dist/replay.d.ts +172 -0
- package/dist/replay.js +302 -0
- package/dist/replay.js.map +1 -0
- package/dist/session_targets.d.ts +12 -0
- package/dist/session_targets.js +6 -1
- package/dist/session_targets.js.map +1 -1
- package/dist/spool.d.ts +44 -16
- package/dist/spool.js +174 -33
- package/dist/spool.js.map +1 -1
- package/dist/spool_union.d.ts +18 -2
- package/dist/spool_union.js +23 -2
- package/dist/spool_union.js.map +1 -1
- package/dist/state.js +21 -14
- package/dist/state.js.map +1 -1
- package/dist/stdin.d.ts +2 -0
- package/dist/stdin.js +13 -0
- package/dist/stdin.js.map +1 -0
- package/dist/uploader_status.d.ts +34 -0
- package/dist/uploader_status.js +25 -0
- package/dist/uploader_status.js.map +1 -0
- package/dist/uploader_view.d.ts +39 -0
- package/dist/uploader_view.js +106 -0
- package/dist/uploader_view.js.map +1 -0
- package/dist/verbs.d.ts +11 -0
- package/dist/verbs.js +13 -0
- package/dist/verbs.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/spool_union.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* With one source (every session that never leaves one work tree) this is exactly the three `read…`/`cap…` calls the hook has
|
|
13
13
|
* always made, and `sources` names the ledger key alone, so the 0.8.0 wire and truncation are unchanged (R14).
|
|
14
14
|
*/
|
|
15
|
-
import { type InferredGroupId, type Observed } from "./spool.js";
|
|
15
|
+
import { type SpoolEntry, type InferredGroupId, type Observed } from "./spool.js";
|
|
16
16
|
/** Which source each acknowledgement belongs to. Passed to `deliver`, which truncates each by its own count. */
|
|
17
17
|
export interface SpoolSources {
|
|
18
18
|
/** Spool lines consumed from each source, in the order concatenated. A source with 0 is omitted by the reader. */
|
|
@@ -44,8 +44,24 @@ export interface SpoolUnion {
|
|
|
44
44
|
};
|
|
45
45
|
readonly sources: SpoolSources;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* U4 — THE PIN. A firing replayed late may carry only the commits that existed when its hook fired: the PREFIX of one source's lines that
|
|
49
|
+
* are UNSTAMPED or have `observedAt <= pinAtMs`. A turn N+1 commit must not ride a delivery capped at turn N, or the server places it on
|
|
50
|
+
* the wrong turn (and a permanent row cannot be corrected).
|
|
51
|
+
*
|
|
52
|
+
* - ⛔ **Unstamped counts as pinned.** `undefined <= pinAtMs` is false in JS, so a naive prefix would stop at the first line from an older
|
|
53
|
+
* client and that spool would never drain, with no error.
|
|
54
|
+
* - ⛔ **Per source, BEFORE the flatten** (the caller maps it over `commitLists`): flattened first, a newer line in work tree A would hold
|
|
55
|
+
* back an older line in work tree B.
|
|
56
|
+
* - A prefix, not a filter: the drops remove the FIRST `count` well-formed lines of each file, so what is carried must be a head of it.
|
|
57
|
+
* - A clock stepping back only delays a line until the clock catches up. Nothing is lost.
|
|
58
|
+
* No firing (`pinAtMs` unset) means no pin: `finalize`, `backfill`, the idle drain and the inline hook read the whole spool.
|
|
59
|
+
*/
|
|
60
|
+
export declare function pinnedPrefix(entries: readonly SpoolEntry[], pinAtMs: number | undefined): readonly SpoolEntry[];
|
|
47
61
|
/**
|
|
48
62
|
* Read the union. `ledgerKey` is the target's ledger worktree and always the FIRST source, so a single-worktree target reads
|
|
49
63
|
* exactly what it always did; `worktrees` are every work tree of the repo this session was seen in.
|
|
50
64
|
*/
|
|
51
|
-
export declare function readSpoolUnion(home: string, sessionId: string, ledgerKey: string, worktrees: readonly string[]
|
|
65
|
+
export declare function readSpoolUnion(home: string, sessionId: string, ledgerKey: string, worktrees: readonly string[],
|
|
66
|
+
/** U4: the moment the firing being replayed fired. Unset for the inline hook, `finalize`, `backfill` and the drain: no pin. */
|
|
67
|
+
pinAtMs?: number): SpoolUnion;
|
package/dist/spool_union.js
CHANGED
|
@@ -13,6 +13,25 @@
|
|
|
13
13
|
* always made, and `sources` names the ledger key alone, so the 0.8.0 wire and truncation are unchanged (R14).
|
|
14
14
|
*/
|
|
15
15
|
import { capInferred, capSpool, capSuccessors, readInferred, readRewrites, readSpool, } from "./spool.js";
|
|
16
|
+
/**
|
|
17
|
+
* U4 — THE PIN. A firing replayed late may carry only the commits that existed when its hook fired: the PREFIX of one source's lines that
|
|
18
|
+
* are UNSTAMPED or have `observedAt <= pinAtMs`. A turn N+1 commit must not ride a delivery capped at turn N, or the server places it on
|
|
19
|
+
* the wrong turn (and a permanent row cannot be corrected).
|
|
20
|
+
*
|
|
21
|
+
* - ⛔ **Unstamped counts as pinned.** `undefined <= pinAtMs` is false in JS, so a naive prefix would stop at the first line from an older
|
|
22
|
+
* client and that spool would never drain, with no error.
|
|
23
|
+
* - ⛔ **Per source, BEFORE the flatten** (the caller maps it over `commitLists`): flattened first, a newer line in work tree A would hold
|
|
24
|
+
* back an older line in work tree B.
|
|
25
|
+
* - A prefix, not a filter: the drops remove the FIRST `count` well-formed lines of each file, so what is carried must be a head of it.
|
|
26
|
+
* - A clock stepping back only delays a line until the clock catches up. Nothing is lost.
|
|
27
|
+
* No firing (`pinAtMs` unset) means no pin: `finalize`, `backfill`, the idle drain and the inline hook read the whole spool.
|
|
28
|
+
*/
|
|
29
|
+
export function pinnedPrefix(entries, pinAtMs) {
|
|
30
|
+
if (pinAtMs === undefined)
|
|
31
|
+
return entries;
|
|
32
|
+
const stop = entries.findIndex((entry) => entry.observedAt !== undefined && entry.observedAt > pinAtMs);
|
|
33
|
+
return stop === -1 ? entries : entries.slice(0, stop);
|
|
34
|
+
}
|
|
16
35
|
/** `total` lines consumed from the front of lists with these lengths → how many came from each. */
|
|
17
36
|
function prefixSplit(total, lengths) {
|
|
18
37
|
let left = total;
|
|
@@ -26,10 +45,12 @@ function prefixSplit(total, lengths) {
|
|
|
26
45
|
* Read the union. `ledgerKey` is the target's ledger worktree and always the FIRST source, so a single-worktree target reads
|
|
27
46
|
* exactly what it always did; `worktrees` are every work tree of the repo this session was seen in.
|
|
28
47
|
*/
|
|
29
|
-
export function readSpoolUnion(home, sessionId, ledgerKey, worktrees
|
|
48
|
+
export function readSpoolUnion(home, sessionId, ledgerKey, worktrees,
|
|
49
|
+
/** U4: the moment the firing being replayed fired. Unset for the inline hook, `finalize`, `backfill` and the drain: no pin. */
|
|
50
|
+
pinAtMs) {
|
|
30
51
|
const keys = [ledgerKey, ...worktrees.filter((worktree) => worktree !== ledgerKey)];
|
|
31
52
|
const at = (repoKey) => ({ repoKey, sessionId });
|
|
32
|
-
const commitLists = keys.map((key) => readSpool(home, at(key)));
|
|
53
|
+
const commitLists = keys.map((key) => pinnedPrefix(readSpool(home, at(key)), pinAtMs));
|
|
33
54
|
const commits = capSpool(commitLists.flat());
|
|
34
55
|
const commitCounts = prefixSplit(commits.count, commitLists.map((list) => list.length));
|
|
35
56
|
const rewriteLists = keys.map((key) => readRewrites(home, at(key)));
|
package/dist/spool_union.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spool_union.js","sourceRoot":"","sources":["../src/spool_union.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,WAAW,EACX,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"spool_union.js","sourceRoot":"","sources":["../src/spool_union.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,WAAW,EACX,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,SAAS,GAKV,MAAM,YAAY,CAAC;AAmBpB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,OAA8B,EAAE,OAA2B;IACtF,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;IACxG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,mGAAmG;AACnG,SAAS,WAAW,CAAC,KAAa,EAAE,OAA0B;IAC5D,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,SAAiB,EACjB,SAAiB,EACjB,SAA4B;AAC5B,+HAA+H;AAC/H,OAAgB;IAEhB,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;IACpF,MAAM,EAAE,GAAG,CAAC,OAAe,EAA0C,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAEjG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAExF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3F,MAAM,aAAa,GAAqB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,cAAc,GAA6B,IAAI,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CACtG,CAAC;QACF,cAAc,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7G,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YAC/G,QAAQ,EAAE,cAAc;SACzB;KACF,CAAC;AACJ,CAAC"}
|
package/dist/state.js
CHANGED
|
@@ -35,12 +35,14 @@
|
|
|
35
35
|
* resync — so this is left unlocked rather than paying for a lockfile on the
|
|
36
36
|
* hook's wall-clock budget.
|
|
37
37
|
*/
|
|
38
|
-
import {
|
|
38
|
+
import { mkdirSync, readdirSync, readFileSync } from "node:fs";
|
|
39
39
|
import { dirname, join } from "node:path";
|
|
40
|
+
import { writeFileAtomic } from "./atomic_write.js";
|
|
41
|
+
import { liveAtOf } from "./firing.js";
|
|
40
42
|
import { pendingFileExpired } from "./pending_prune.js";
|
|
41
43
|
import { repoSessionsDir, sessionStatePath, stateDir } from "./paths.js";
|
|
42
44
|
import { EMPTY_FILE_STATE } from "./policy.js";
|
|
43
|
-
import { SESSION_LIVE_WINDOW_MS, WIRE_RUNGS, noteRepoKey, readInferred, readRewrites, readSpool } from "./spool.js";
|
|
45
|
+
import { MAX_PENDING_SHAS, SESSION_LIVE_WINDOW_MS, WIRE_RUNGS, noteRepoKey, readInferred, readRewrites, readSpool, wellFormedCommitLines } from "./spool.js";
|
|
44
46
|
export const EMPTY_SESSION_STATE = {
|
|
45
47
|
seq: 0,
|
|
46
48
|
stop: null,
|
|
@@ -283,12 +285,12 @@ function oldestUnclaimedAt(fs, claimedEof) {
|
|
|
283
285
|
* function. Returns which BUCKET (not a bare boolean) so a caller naming commits inside the
|
|
284
286
|
* `liveStuck`/`heldIdle` sentence never attributes the same session's lines to both.
|
|
285
287
|
*/
|
|
286
|
-
function classifyMainStuck(session, nowMs, windowMs) {
|
|
288
|
+
function classifyMainStuck(session, nowMs, windowMs, liveAt = session.liveAt) {
|
|
287
289
|
const fs = fileState(session, "main");
|
|
288
290
|
const claimedEof = session.endHold?.eof.main;
|
|
289
291
|
if (unclaimedPendingBytes(fs, claimedEof) === 0)
|
|
290
292
|
return null;
|
|
291
|
-
const live =
|
|
293
|
+
const live = liveAt !== null && nowMs - liveAt <= windowMs;
|
|
292
294
|
if (!live)
|
|
293
295
|
return "idle"; // no age bound — no hook is coming soon to retry.
|
|
294
296
|
const oldest = oldestUnclaimedAt(fs, claimedEof);
|
|
@@ -331,7 +333,8 @@ export function stuckForRepo(home, repoKey, nowMs = Date.now(), windowMs = SESSI
|
|
|
331
333
|
continue;
|
|
332
334
|
const sessionId = entry.slice(0, -".json".length);
|
|
333
335
|
const session = readStateAt(join(dir, entry));
|
|
334
|
-
const
|
|
336
|
+
const liveAt = liveAtOf(session.liveAt, join(dir, `${sessionId}.live`)); // U3: the one liveness reader
|
|
337
|
+
const live = liveAt !== null && nowMs - liveAt <= windowMs;
|
|
335
338
|
let sessionBytes = 0;
|
|
336
339
|
let oldestAcrossFiles = null;
|
|
337
340
|
for (const [fileKey, fs] of Object.entries(session.files)) {
|
|
@@ -404,9 +407,9 @@ function commitLinesFor(dir, stem, nowMs) {
|
|
|
404
407
|
// `TODOS[175]`: an EXPIRED pending file (older than 7 days, nobody can claim it) is not "waiting"; spool lines always are.
|
|
405
408
|
if (suffix === ".pending.jsonl" && pendingFileExpired(join(dir, `${stem}${suffix}`), nowMs))
|
|
406
409
|
continue;
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
+
// U2: WELL-FORMED lines, the unit a drop's `count` is in, and a pending file is capped as `readPending` caps it. A lone torn line
|
|
411
|
+
// is not "a commit waiting".
|
|
412
|
+
n += wellFormedCommitLines(readFileSync(join(dir, `${stem}${suffix}`), "utf8"), suffix === ".pending.jsonl" ? MAX_PENDING_SHAS : Infinity);
|
|
410
413
|
}
|
|
411
414
|
catch {
|
|
412
415
|
/* no file: nothing waiting */
|
|
@@ -483,7 +486,7 @@ export function commitsWaitingForRepo(home, repoKey, nowMs = Date.now()) {
|
|
|
483
486
|
try {
|
|
484
487
|
if (entry.endsWith(".pending.jsonl") && pendingFileExpired(join(dir, entry), nowMs))
|
|
485
488
|
continue; // `TODOS[175]`
|
|
486
|
-
n += readFileSync(join(dir, entry), "utf8").
|
|
489
|
+
n += wellFormedCommitLines(readFileSync(join(dir, entry), "utf8"), entry.endsWith(".pending.jsonl") ? MAX_PENDING_SHAS : Infinity); // U2: well-formed, capped as `readPending` caps
|
|
487
490
|
}
|
|
488
491
|
catch {
|
|
489
492
|
/* a vanished file holds nothing */
|
|
@@ -532,13 +535,14 @@ export function stuckSpoolLinesForRepo(home, repoKey, nowMs = Date.now(), window
|
|
|
532
535
|
const session = readStateAt(join(dir, `${stem}.json`));
|
|
533
536
|
if (entry.endsWith(".spool.jsonl") && fileState(session, "main").lean)
|
|
534
537
|
continue;
|
|
535
|
-
|
|
538
|
+
// U3: liveness is the later of the state file's `liveAt` and the hook's `.live` stamp (`firing.ts`'s one reader).
|
|
539
|
+
const cls = classifyMainStuck(session, nowMs, windowMs, liveAtOf(session.liveAt, join(dir, `${stem}.live`)));
|
|
536
540
|
if (cls === null)
|
|
537
541
|
continue;
|
|
538
542
|
try {
|
|
539
543
|
if (entry.endsWith(".pending.jsonl") && pendingFileExpired(join(dir, entry), nowMs))
|
|
540
544
|
continue;
|
|
541
|
-
const lines = readFileSync(join(dir, entry), "utf8").
|
|
545
|
+
const lines = wellFormedCommitLines(readFileSync(join(dir, entry), "utf8"), entry.endsWith(".pending.jsonl") ? MAX_PENDING_SHAS : Infinity); // U2: the same count as `commitsWaitingForRepo`, which this must stay a subset of
|
|
542
546
|
if (cls === "live")
|
|
543
547
|
liveCommits += lines;
|
|
544
548
|
else
|
|
@@ -710,9 +714,12 @@ export function saveSessionState(home, key, next) {
|
|
|
710
714
|
return false;
|
|
711
715
|
try {
|
|
712
716
|
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
713
|
-
|
|
714
|
-
//
|
|
715
|
-
|
|
717
|
+
// ⛔ ATOMIC (U1): a temp file in the SAME directory, then `rename`. This file is rewritten at least TWICE per request now (`seq`
|
|
718
|
+
// ahead of the send, then the outcome), and a process killed inside an in-place `writeFileSync` leaves a truncated or empty
|
|
719
|
+
// file, which `readStateAt` reads as the EMPTY state: `seq` 1 at offset 0, a resync of the whole session. Rename leaves the
|
|
720
|
+
// old file or the new one, never half. The temp name ends `.tmp`, so no `*.json` reader (`lastReceiptForRepo`, the liveness
|
|
721
|
+
// scan) takes a leftover for a session.
|
|
722
|
+
writeFileAtomic(path, `${JSON.stringify(next)}\n`, 0o600);
|
|
716
723
|
// A ledger now exists for this digest: leave the note that maps it back to a work tree, so a later firing that finds this
|
|
717
724
|
// session's ledger by digest alone (any-folder capture, R5) can name the repo it belongs to. One stat when it is there.
|
|
718
725
|
noteRepoKey(home, key.repoKey);
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/stdin.d.ts
ADDED
package/dist/stdin.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Read all of stdin as UTF-8; an error resolves to "" (an ordinary empty answer, never a throw). */
|
|
2
|
+
export function readStdin() {
|
|
3
|
+
return new Promise((resolve) => {
|
|
4
|
+
let buf = "";
|
|
5
|
+
process.stdin.setEncoding("utf8");
|
|
6
|
+
process.stdin.on("data", (chunk) => {
|
|
7
|
+
buf += chunk;
|
|
8
|
+
});
|
|
9
|
+
process.stdin.on("end", () => resolve(buf));
|
|
10
|
+
process.stdin.on("error", () => resolve(""));
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=stdin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdin.js","sourceRoot":"","sources":["../src/stdin.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE UPLOAD WORKER'S STATUS FILE — U6 (plan §3.7). `uploader.<id>.status`, written atomically by the worker after every step and read by the next
|
|
3
|
+
* hook (notices) and by `status` (U7). A LEAF: it imports `node:fs` and `paths` only, so the hook can read it without loading the worker.
|
|
4
|
+
*
|
|
5
|
+
* Counts, classes and times only. Never a body, a path, a session id or a credential. `rejected` holds a credential FINGERPRINT (a hash, the key the
|
|
6
|
+
* notice claims and the credential-meta sidecar already use), so the hook can tell "the server rejected the credential I am about to use" from
|
|
7
|
+
* "it rejected one that has since been replaced" without the worker keeping the credential.
|
|
8
|
+
*/
|
|
9
|
+
export interface UploaderOutcome {
|
|
10
|
+
readonly at: number;
|
|
11
|
+
/** A `ReplayStep` kind, or `done:<class>`. Never free text. */
|
|
12
|
+
readonly class: string;
|
|
13
|
+
readonly elapsedMs: number;
|
|
14
|
+
/** The log's file stem (a sanitised session id). */
|
|
15
|
+
readonly session: string;
|
|
16
|
+
}
|
|
17
|
+
export type UploaderExit = "idle" | "no-url" | "not-claimed" | "no-progress" | "total" | "newer-firing" | "fatal" | "lock-lost";
|
|
18
|
+
export interface UploaderStatus {
|
|
19
|
+
readonly v: 1;
|
|
20
|
+
readonly pid: number;
|
|
21
|
+
readonly startedAt: number;
|
|
22
|
+
readonly heartbeatAt: number;
|
|
23
|
+
readonly state: "running" | "exited";
|
|
24
|
+
readonly exit?: UploaderExit;
|
|
25
|
+
readonly counts: Readonly<Record<string, number>>;
|
|
26
|
+
readonly outcomes: readonly UploaderOutcome[];
|
|
27
|
+
/** The server rejected the credential with this fingerprint at `at`. Cleared by the next successful delivery. */
|
|
28
|
+
readonly rejected?: {
|
|
29
|
+
readonly at: number;
|
|
30
|
+
readonly fingerprint: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/** The status file for this identity, or null when absent, unreadable or not this version's shape. Never throws. */
|
|
34
|
+
export declare function readUploaderStatus(home: string, identity: string): UploaderStatus | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE UPLOAD WORKER'S STATUS FILE — U6 (plan §3.7). `uploader.<id>.status`, written atomically by the worker after every step and read by the next
|
|
3
|
+
* hook (notices) and by `status` (U7). A LEAF: it imports `node:fs` and `paths` only, so the hook can read it without loading the worker.
|
|
4
|
+
*
|
|
5
|
+
* Counts, classes and times only. Never a body, a path, a session id or a credential. `rejected` holds a credential FINGERPRINT (a hash, the key the
|
|
6
|
+
* notice claims and the credential-meta sidecar already use), so the hook can tell "the server rejected the credential I am about to use" from
|
|
7
|
+
* "it rejected one that has since been replaced" without the worker keeping the credential.
|
|
8
|
+
*/
|
|
9
|
+
import { readFileSync } from "node:fs";
|
|
10
|
+
import { uploaderStatusPath } from "./paths.js";
|
|
11
|
+
/** The status file for this identity, or null when absent, unreadable or not this version's shape. Never throws. */
|
|
12
|
+
export function readUploaderStatus(home, identity) {
|
|
13
|
+
try {
|
|
14
|
+
const parsed = JSON.parse(readFileSync(uploaderStatusPath(home, identity), "utf8"));
|
|
15
|
+
if (parsed === null || typeof parsed !== "object" || parsed.v !== 1)
|
|
16
|
+
return null;
|
|
17
|
+
if (typeof parsed.heartbeatAt !== "number" || !Array.isArray(parsed.outcomes))
|
|
18
|
+
return null;
|
|
19
|
+
return parsed;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=uploader_status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploader_status.js","sourceRoot":"","sources":["../src/uploader_status.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkChD,oHAAoH;AACpH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAAgB;IAC/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAmC,CAAC;QACtH,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjF,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3F,OAAO,MAAwB,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT `vibecommit status` SAYS ABOUT THE BACKGROUND UPLOADER — U7 (plan §3.8).
|
|
3
|
+
*
|
|
4
|
+
* ⛔ COMPUTED FROM FIRING LOGS AGAINST LEDGERS, NEVER FROM THE WORKER'S OWN CLAIM. A worker that died mid-step leaves a status file that says
|
|
5
|
+
* "running" forever; trusting it would show a dead uploader as healthy (memory: live-state-must-prove-it-is-current). So "how far behind" is the
|
|
6
|
+
* firings nobody has consumed (the hook's own record) measured against what the ledgers say was acknowledged, and "is it running" is the worker's
|
|
7
|
+
* LOCK being fresh (`uploaderAlive`, which dates the lock the way the hook does), with the status file consulted only for WHEN and HOW the last
|
|
8
|
+
* attempts went.
|
|
9
|
+
*
|
|
10
|
+
* `sessions_checked` is the denominator: how many firing logs were looked at. An empty scan (0 of 0) is a different answer than "checked 40, all caught up",
|
|
11
|
+
* and the JSON says which.
|
|
12
|
+
*
|
|
13
|
+
* Counts, classes and times only. No session id, path or body leaves this module.
|
|
14
|
+
*/
|
|
15
|
+
export type UploaderState = "up_to_date" | "sending" | "waiting_to_retry" | "not_running";
|
|
16
|
+
/** Why the last attempt did not deliver, as a class the screen can phrase. `null` when it delivered or nothing was attempted. */
|
|
17
|
+
export type AttemptProblem = "no_answer" | "credential" | "error";
|
|
18
|
+
export interface UploaderView {
|
|
19
|
+
readonly state: UploaderState;
|
|
20
|
+
/** Age of the worker's last heartbeat, or `null` when it has never written a status file. */
|
|
21
|
+
readonly heartbeatAgeMs: number | null;
|
|
22
|
+
readonly behind: {
|
|
23
|
+
readonly sessions: number;
|
|
24
|
+
readonly bytes: number;
|
|
25
|
+
readonly sessionsChecked: number;
|
|
26
|
+
};
|
|
27
|
+
readonly lastAckAtMs: number | null;
|
|
28
|
+
readonly lastAttempt: {
|
|
29
|
+
readonly atMs: number;
|
|
30
|
+
readonly outcome: string;
|
|
31
|
+
readonly problem: AttemptProblem | null;
|
|
32
|
+
readonly elapsedMs: number;
|
|
33
|
+
} | null;
|
|
34
|
+
}
|
|
35
|
+
export declare function uploaderView(home: string, env: NodeJS.ProcessEnv, nowMs: number): UploaderView;
|
|
36
|
+
/** The `--json` `uploader` object (plan §3.8). `last_attempt.status` is `null`: the worker records the class of an attempt, not an HTTP status (a recorded deviation). */
|
|
37
|
+
export declare function uploaderJson(view: UploaderView): Record<string, unknown>;
|
|
38
|
+
/** The screen rows: none until something has ever been recorded for upload (an empty scan says nothing, and the JSON still reports `sessions_checked: 0`). */
|
|
39
|
+
export declare function uploaderRows(view: UploaderView, nowMs: number, indent: number): string[];
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT `vibecommit status` SAYS ABOUT THE BACKGROUND UPLOADER — U7 (plan §3.8).
|
|
3
|
+
*
|
|
4
|
+
* ⛔ COMPUTED FROM FIRING LOGS AGAINST LEDGERS, NEVER FROM THE WORKER'S OWN CLAIM. A worker that died mid-step leaves a status file that says
|
|
5
|
+
* "running" forever; trusting it would show a dead uploader as healthy (memory: live-state-must-prove-it-is-current). So "how far behind" is the
|
|
6
|
+
* firings nobody has consumed (the hook's own record) measured against what the ledgers say was acknowledged, and "is it running" is the worker's
|
|
7
|
+
* LOCK being fresh (`uploaderAlive`, which dates the lock the way the hook does), with the status file consulted only for WHEN and HOW the last
|
|
8
|
+
* attempts went.
|
|
9
|
+
*
|
|
10
|
+
* `sessions_checked` is the denominator: how many firing logs were looked at. An empty scan (0 of 0) is a different answer than "checked 40, all caught up",
|
|
11
|
+
* and the JSON says which.
|
|
12
|
+
*
|
|
13
|
+
* Counts, classes and times only. No session id, path or body leaves this module.
|
|
14
|
+
*/
|
|
15
|
+
import { STATUS, relativeAge } from "./copy/index.js";
|
|
16
|
+
import { firingSessions, readCursor, readFirings } from "./firing.js";
|
|
17
|
+
import { uploaderAlive } from "./hooks/fire_lock.js";
|
|
18
|
+
import { identityDigest } from "./identity.js";
|
|
19
|
+
import { ingestUrl } from "./post.js";
|
|
20
|
+
import { loadTargetRecord } from "./session_targets.js";
|
|
21
|
+
import { fileState, loadSessionState } from "./state.js";
|
|
22
|
+
import { labelled } from "./term.js";
|
|
23
|
+
import { readUploaderStatus } from "./uploader_status.js";
|
|
24
|
+
const DELIVERED = new Set(["done:delivered", "drain:delivered", "more"]);
|
|
25
|
+
function problemOf(klass) {
|
|
26
|
+
if (klass === "later" || klass === "drain:later")
|
|
27
|
+
return "no_answer";
|
|
28
|
+
if (klass.startsWith("fatal:") || klass === "drain:fatal")
|
|
29
|
+
return "credential";
|
|
30
|
+
if (klass.startsWith("threw:") || klass === "escaped")
|
|
31
|
+
return "error";
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
export function uploaderView(home, env, nowMs) {
|
|
35
|
+
const stems = firingSessions(home);
|
|
36
|
+
let sessions = 0;
|
|
37
|
+
let bytes = 0;
|
|
38
|
+
for (const stem of stems) {
|
|
39
|
+
const cursor = readCursor(home, stem);
|
|
40
|
+
const owed = readFirings(home, stem, cursor.offset).firings;
|
|
41
|
+
if (owed.length === 0)
|
|
42
|
+
continue;
|
|
43
|
+
sessions += 1;
|
|
44
|
+
// What the NEWEST owed firing wants delivered, less what the slowest of the session's ledgers has acknowledged. A session the worker has not
|
|
45
|
+
// reached has no record yet: all of it is owed.
|
|
46
|
+
const last = owed[owed.length - 1].firing;
|
|
47
|
+
const record = loadTargetRecord(home, last.sid);
|
|
48
|
+
const acked = record === null || record.targets.length === 0
|
|
49
|
+
? 0
|
|
50
|
+
: Math.min(...record.targets.map((target) => fileState(loadSessionState(home, { repoKey: target.ledgerKey, sessionId: last.sid }), "main").sentOffset));
|
|
51
|
+
bytes += Math.max(0, last.eof - acked);
|
|
52
|
+
}
|
|
53
|
+
const url = ingestUrl(env);
|
|
54
|
+
const identity = url === null ? null : identityDigest({ url, env });
|
|
55
|
+
const status = identity === null ? null : readUploaderStatus(home, identity);
|
|
56
|
+
const alive = identity !== null && uploaderAlive(home, identity, nowMs);
|
|
57
|
+
const outcomes = status?.outcomes ?? [];
|
|
58
|
+
const ack = [...outcomes].reverse().find((outcome) => DELIVERED.has(outcome.class)) ?? null;
|
|
59
|
+
const attempt = outcomes.length === 0 ? null : outcomes[outcomes.length - 1];
|
|
60
|
+
const problem = attempt === null ? null : problemOf(attempt.class);
|
|
61
|
+
let state;
|
|
62
|
+
if (sessions === 0)
|
|
63
|
+
state = "up_to_date";
|
|
64
|
+
else if (!alive)
|
|
65
|
+
state = "not_running";
|
|
66
|
+
else if (problem === "no_answer" && (ack === null || attempt === null || attempt.at >= ack.at))
|
|
67
|
+
state = "waiting_to_retry";
|
|
68
|
+
else
|
|
69
|
+
state = "sending";
|
|
70
|
+
return {
|
|
71
|
+
state,
|
|
72
|
+
heartbeatAgeMs: status === null ? null : Math.max(0, nowMs - status.heartbeatAt),
|
|
73
|
+
behind: { sessions, bytes, sessionsChecked: stems.length },
|
|
74
|
+
lastAckAtMs: ack === null ? null : ack.at,
|
|
75
|
+
lastAttempt: attempt === null ? null : { atMs: attempt.at, outcome: attempt.class, problem, elapsedMs: attempt.elapsedMs },
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/** The `--json` `uploader` object (plan §3.8). `last_attempt.status` is `null`: the worker records the class of an attempt, not an HTTP status (a recorded deviation). */
|
|
79
|
+
export function uploaderJson(view) {
|
|
80
|
+
return {
|
|
81
|
+
state: view.state,
|
|
82
|
+
heartbeat_age_ms: view.heartbeatAgeMs,
|
|
83
|
+
behind: { sessions: view.behind.sessions, bytes: view.behind.bytes, sessions_checked: view.behind.sessionsChecked },
|
|
84
|
+
last_ack_at_ms: view.lastAckAtMs,
|
|
85
|
+
last_attempt: view.lastAttempt === null ? null : { at_ms: view.lastAttempt.atMs, outcome: view.lastAttempt.outcome, status: null, elapsed_ms: view.lastAttempt.elapsedMs },
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/** The screen rows: none until something has ever been recorded for upload (an empty scan says nothing, and the JSON still reports `sessions_checked: 0`). */
|
|
89
|
+
export function uploaderRows(view, nowMs, indent) {
|
|
90
|
+
if (view.behind.sessionsChecked === 0)
|
|
91
|
+
return [];
|
|
92
|
+
const rows = [
|
|
93
|
+
labelled(indent, STATUS.uploadLabel, STATUS.uploadValue({
|
|
94
|
+
state: view.state,
|
|
95
|
+
sessions: view.behind.sessions,
|
|
96
|
+
bytes: view.behind.bytes,
|
|
97
|
+
ackAge: view.lastAckAtMs === null ? null : relativeAge(view.lastAckAtMs, nowMs),
|
|
98
|
+
attemptAge: view.lastAttempt === null ? null : relativeAge(view.lastAttempt.atMs, nowMs),
|
|
99
|
+
problem: view.lastAttempt?.problem ?? null,
|
|
100
|
+
})),
|
|
101
|
+
];
|
|
102
|
+
if (view.state === "not_running")
|
|
103
|
+
rows.push(labelled(indent, "", STATUS.uploadNotRunning));
|
|
104
|
+
return rows;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=uploader_view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploader_view.js","sourceRoot":"","sources":["../src/uploader_view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAgB1D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzE,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,WAAW,CAAC;IACrE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,YAAY,CAAC;IAC/E,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAAsB,EAAE,KAAa;IAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,QAAQ,IAAI,CAAC,CAAC;QACd,6IAA6I;QAC7I,gDAAgD;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,KAAK,GACT,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5J,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,QAAQ,KAAK,IAAI,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5F,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnE,IAAI,KAAoB,CAAC;IACzB,IAAI,QAAQ,KAAK,CAAC;QAAE,KAAK,GAAG,YAAY,CAAC;SACpC,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,aAAa,CAAC;SAClC,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QAAE,KAAK,GAAG,kBAAkB,CAAC;;QACtH,KAAK,GAAG,SAAS,CAAC;IAEvB,OAAO;QACL,KAAK;QACL,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;QAChF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE;QAC1D,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;QACzC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;KAC3H,CAAC;AACJ,CAAC;AAED,0KAA0K;AAC1K,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;QACnH,cAAc,EAAE,IAAI,CAAC,WAAW;QAChC,YAAY,EACV,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;KAC/J,CAAC;AACJ,CAAC;AAED,8JAA8J;AAC9J,MAAM,UAAU,YAAY,CAAC,IAAkB,EAAE,KAAa,EAAE,MAAc;IAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG;QACX,QAAQ,CACN,MAAM,EACN,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,WAAW,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,MAAM,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;YAC/E,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;YACxF,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,IAAI;SAC3C,CAAC,CACH;KACF,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3F,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/verbs.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The public verbs, in the order `--help` lists them.
|
|
3
|
+
*
|
|
4
|
+
* Its own module so `index.ts` can answer `isVerb` without importing a single verb: `index.ts` is the process a hook is, and
|
|
5
|
+
* it must stay free of the interactive half (`cli.ts`; `test/load-path.test.ts`). `renderHelp` iterates this list, so adding
|
|
6
|
+
* a verb here moves `test/help.golden.txt` on purpose. The hidden verbs (`hook`, `post-commit`, `post-rewrite`) are NOT here
|
|
7
|
+
* for exactly that reason.
|
|
8
|
+
*/
|
|
9
|
+
export declare const VERBS: readonly ["auth", "connect", "scan", "backfill", "status", "off", "why", "report", "finalize"];
|
|
10
|
+
export type Verb = (typeof VERBS)[number];
|
|
11
|
+
export declare function isVerb(value: string): value is Verb;
|
package/dist/verbs.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The public verbs, in the order `--help` lists them.
|
|
3
|
+
*
|
|
4
|
+
* Its own module so `index.ts` can answer `isVerb` without importing a single verb: `index.ts` is the process a hook is, and
|
|
5
|
+
* it must stay free of the interactive half (`cli.ts`; `test/load-path.test.ts`). `renderHelp` iterates this list, so adding
|
|
6
|
+
* a verb here moves `test/help.golden.txt` on purpose. The hidden verbs (`hook`, `post-commit`, `post-rewrite`) are NOT here
|
|
7
|
+
* for exactly that reason.
|
|
8
|
+
*/
|
|
9
|
+
export const VERBS = ["auth", "connect", "scan", "backfill", "status", "off", "why", "report", "finalize"];
|
|
10
|
+
export function isVerb(value) {
|
|
11
|
+
return VERBS.includes(value);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=verbs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verbs.js","sourceRoot":"","sources":["../src/verbs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAGpH,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAQ,KAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -11,6 +11,6 @@
|
|
|
11
11
|
* fields on disk (D58 plan §ER5/§ER14). This constant plus the skew check is the
|
|
12
12
|
* whole fix: one source, asserted equal to the manifest and to the release tag.
|
|
13
13
|
*/
|
|
14
|
-
export declare const CLIENT_VERSION = "0.
|
|
14
|
+
export declare const CLIENT_VERSION = "0.11.1";
|
|
15
15
|
/** Header name for the wire contract. */
|
|
16
16
|
export declare const CLIENT_VERSION_HEADER = "X-Client-Version";
|
package/dist/version.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* fields on disk (D58 plan §ER5/§ER14). This constant plus the skew check is the
|
|
12
12
|
* whole fix: one source, asserted equal to the manifest and to the release tag.
|
|
13
13
|
*/
|
|
14
|
-
export const CLIENT_VERSION = "0.
|
|
14
|
+
export const CLIENT_VERSION = "0.11.1";
|
|
15
15
|
/** Header name for the wire contract. */
|
|
16
16
|
export const CLIENT_VERSION_HEADER = "X-Client-Version";
|
|
17
17
|
//# sourceMappingURL=version.js.map
|