@xrkseek/harness 0.7.4 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@xrkseek/checkpoint/dist/store.d.ts +50 -0
- package/node_modules/@xrkseek/checkpoint/dist/store.d.ts.map +1 -1
- package/node_modules/@xrkseek/checkpoint/dist/store.js +240 -16
- package/node_modules/@xrkseek/checkpoint/dist/store.js.map +1 -1
- package/node_modules/@xrkseek/checkpoint/dist/types.d.ts +18 -0
- package/node_modules/@xrkseek/checkpoint/dist/types.d.ts.map +1 -1
- package/node_modules/@xrkseek/checkpoint/dist/types.js.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +18 -3
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +128 -7
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/context.d.ts +7 -6
- package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +5 -2
- package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +33 -8
- package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js +19 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +4 -17
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/model-catalog.js +5 -6
- package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts +3 -3
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.js +70 -3
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.js +29 -6
- package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts +9 -0
- package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/seat-channel.js +11 -0
- package/node_modules/@xrkseek/server-face/dist/seat-channel.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +2 -0
- package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-status.js +4 -2
- package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-document.js +5 -1
- package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js +16 -3
- package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.js +31 -1
- package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +14 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.d.ts +6 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.js +18 -10
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.d.ts +6 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.js +16 -9
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +3 -2
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +3 -2
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js +66 -2
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js +11 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.d.ts +37 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.js +153 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.js.map +1 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.d.ts +5 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.js +7 -2
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts +19 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js +167 -43
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.d.ts +24 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js +76 -2
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.js +7 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts +28 -5
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js +63 -10
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.js +13 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/index.d.ts +1 -1
- package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/index.js +1 -1
- package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,20 @@ import { type GitRunner, type RestoreOptions, type RestorePlan, type RestoreResu
|
|
|
8
8
|
* large tree); override with `XRK_CHECKPOINT_GIT_TIMEOUT_MS`.
|
|
9
9
|
*/
|
|
10
10
|
export declare const DEFAULT_GIT_TIMEOUT_MS = 15000;
|
|
11
|
+
/**
|
|
12
|
+
* Files larger than this are not snapshotted.
|
|
13
|
+
*
|
|
14
|
+
* Modeled on codex's ghost commits (`DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`,
|
|
15
|
+
* `git-utils/src/ghost_commits.rs:28-29`) which used 10 MiB; `baseline.rs:21`
|
|
16
|
+
* still calls it "the default file limit for automatic ghost snapshots". A
|
|
17
|
+
* checkpoint is derived data — a 60 MiB archive is not something a turn
|
|
18
|
+
* "undoes", it is something a script regenerates.
|
|
19
|
+
*
|
|
20
|
+
* Measured on the workspace that motivated this: capping at 10 MiB alone drops
|
|
21
|
+
* a 9.5 GiB tree to 5.7 GiB (-40%), because the bulk is many small artifacts
|
|
22
|
+
* rather than a few huge ones — the type gate below carries the rest.
|
|
23
|
+
*/
|
|
24
|
+
export declare const DEFAULT_MAX_FILE_BYTES: number;
|
|
11
25
|
/**
|
|
12
26
|
* Synthetic commit identity for shadow commits. The store must not depend on
|
|
13
27
|
* (or write to) the operator's git config.
|
|
@@ -45,6 +59,14 @@ export interface WorkspaceCheckpointStoreOptions {
|
|
|
45
59
|
*/
|
|
46
60
|
readonly timeoutMs?: number;
|
|
47
61
|
readonly now?: () => number;
|
|
62
|
+
/**
|
|
63
|
+
* Byte cap for one snapshotted file (default
|
|
64
|
+
* {@link DEFAULT_MAX_FILE_BYTES}). `0` disables the cap — every file the
|
|
65
|
+
* type/dir gates left in is snapshotted regardless of size.
|
|
66
|
+
*
|
|
67
|
+
* Overridable per workspace through `XRK_CHECKPOINT_MAX_FILE_BYTES`.
|
|
68
|
+
*/
|
|
69
|
+
readonly maxFileBytes?: number;
|
|
48
70
|
}
|
|
49
71
|
/**
|
|
50
72
|
* Turn-scoped workspace snapshots in a shadow git repo.
|
|
@@ -71,6 +93,8 @@ export declare class WorkspaceCheckpointStore {
|
|
|
71
93
|
private readonly runGit;
|
|
72
94
|
private readonly timeoutMs;
|
|
73
95
|
private readonly now;
|
|
96
|
+
/** Size gate for one file; `0` disables it. */
|
|
97
|
+
private readonly maxFileBytes;
|
|
74
98
|
/** Work-tree-relative shadow path, when the shadow lives in the workspace. */
|
|
75
99
|
private readonly shadowRelPath;
|
|
76
100
|
private records;
|
|
@@ -107,8 +131,34 @@ export declare class WorkspaceCheckpointStore {
|
|
|
107
131
|
* (Re)write the git-level ignore file. Idempotent and cheap: patterns are
|
|
108
132
|
* only rewritten when the content differs. Safety-critical — `clean -fd`
|
|
109
133
|
* must never see the shadow repo as untracked.
|
|
134
|
+
*
|
|
135
|
+
* `extra` carries this turn's over-cap paths (see
|
|
136
|
+
* {@link oversizeUntracked}); they are re-derived every snapshot, so a file
|
|
137
|
+
* that shrinks under the cap is picked up again on the next turn instead of
|
|
138
|
+
* being ignored forever.
|
|
110
139
|
*/
|
|
111
140
|
private ensureExcludesFile;
|
|
141
|
+
/**
|
|
142
|
+
* Untracked, non-ignored files above the byte cap.
|
|
143
|
+
*
|
|
144
|
+
* Only *untracked* files are measured, exactly like codex's
|
|
145
|
+
* `DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`: a file already in the snapshot was
|
|
146
|
+
* accepted when it was added, and re-measuring every tracked path each turn
|
|
147
|
+
* is the very scan cost this gate exists to avoid. `--exclude-standard`
|
|
148
|
+
* means the type/dir gates already filtered the list, so this stats a
|
|
149
|
+
* handful of paths on a normal turn, not the whole tree.
|
|
150
|
+
*/
|
|
151
|
+
private oversizeUntracked;
|
|
152
|
+
/**
|
|
153
|
+
* Discard a shadow repo written under an older exclusion policy.
|
|
154
|
+
*
|
|
155
|
+
* The blobs the new policy refuses are still reachable from `HEAD`, so no
|
|
156
|
+
* amount of `gc` reclaims them — starting over is the only way down. The
|
|
157
|
+
* snapshot index is renamed aside rather than deleted: `/rollback` then says
|
|
158
|
+
* "unknown checkpoint" for the old points, which is true, while the file
|
|
159
|
+
* stays on disk for an operator who wants to look.
|
|
160
|
+
*/
|
|
161
|
+
private ensurePolicy;
|
|
112
162
|
/** Create the shadow repo on first use; idempotent afterwards. */
|
|
113
163
|
private ensureRepo;
|
|
114
164
|
/** Like {@link ensureRepo} but never creates: a missing repo is a lost point. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
|
|
2
|
+
import { existsSync, lstatSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync, } from "node:fs";
|
|
3
|
+
import { rm as rmAsync } from "node:fs/promises";
|
|
3
4
|
import path from "node:path";
|
|
4
5
|
import { resolveXrkHome } from "@xrkseek/xrk-home-paths";
|
|
5
6
|
import { readJsonFile, writeJsonFileAtomic } from "./json-file.js";
|
|
@@ -52,12 +53,122 @@ function sleep(ms) {
|
|
|
52
53
|
* large tree); override with `XRK_CHECKPOINT_GIT_TIMEOUT_MS`.
|
|
53
54
|
*/
|
|
54
55
|
export const DEFAULT_GIT_TIMEOUT_MS = 15_000;
|
|
56
|
+
/**
|
|
57
|
+
* Exclusion-policy generation.
|
|
58
|
+
*
|
|
59
|
+
* Bump whenever the exclude set changes meaning (a new pattern class, a new
|
|
60
|
+
* cap). A shadow repo written under an older policy still holds the blobs the
|
|
61
|
+
* new policy would refuse, and those blobs are reachable from `HEAD` — `gc`
|
|
62
|
+
* can never drop them. The only way to reclaim is to discard the repo and
|
|
63
|
+
* start over, so {@link WorkspaceCheckpointStore.ensurePolicy} does exactly
|
|
64
|
+
* that once per bump.
|
|
65
|
+
*
|
|
66
|
+
* Costs the rollback list: `index.json` is set aside, not deleted, so the old
|
|
67
|
+
* points stay auditable while `/rollback` honestly reports them gone.
|
|
68
|
+
*/
|
|
69
|
+
const SNAPSHOT_POLICY_VERSION = 2;
|
|
70
|
+
/**
|
|
71
|
+
* Files larger than this are not snapshotted.
|
|
72
|
+
*
|
|
73
|
+
* Modeled on codex's ghost commits (`DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`,
|
|
74
|
+
* `git-utils/src/ghost_commits.rs:28-29`) which used 10 MiB; `baseline.rs:21`
|
|
75
|
+
* still calls it "the default file limit for automatic ghost snapshots". A
|
|
76
|
+
* checkpoint is derived data — a 60 MiB archive is not something a turn
|
|
77
|
+
* "undoes", it is something a script regenerates.
|
|
78
|
+
*
|
|
79
|
+
* Measured on the workspace that motivated this: capping at 10 MiB alone drops
|
|
80
|
+
* a 9.5 GiB tree to 5.7 GiB (-40%), because the bulk is many small artifacts
|
|
81
|
+
* rather than a few huge ones — the type gate below carries the rest.
|
|
82
|
+
*/
|
|
83
|
+
export const DEFAULT_MAX_FILE_BYTES = 10 * 1024 * 1024;
|
|
84
|
+
/**
|
|
85
|
+
* Directory names never worth snapshotting, matched as any path segment.
|
|
86
|
+
*
|
|
87
|
+
* The first twelve are codex's `ghost_commits.rs:30-48` list verbatim (its
|
|
88
|
+
* comment: "typically large dependency or build trees that are not useful for
|
|
89
|
+
* undo and can cause snapshots to grow without bound"). The tail adds this
|
|
90
|
+
* repo's own local-artifact conventions (`xrk-local-artifacts`).
|
|
91
|
+
*/
|
|
92
|
+
const EXCLUDED_DIR_SEGMENTS = [
|
|
93
|
+
"node_modules",
|
|
94
|
+
".venv",
|
|
95
|
+
"venv",
|
|
96
|
+
"env",
|
|
97
|
+
".env",
|
|
98
|
+
"dist",
|
|
99
|
+
"build",
|
|
100
|
+
".pytest_cache",
|
|
101
|
+
".mypy_cache",
|
|
102
|
+
".cache",
|
|
103
|
+
".tox",
|
|
104
|
+
"__pycache__",
|
|
105
|
+
".release",
|
|
106
|
+
"coverage",
|
|
107
|
+
".tmp",
|
|
108
|
+
];
|
|
109
|
+
/**
|
|
110
|
+
* Suffixes a turn does not "undo": archives, office blobs, media, compiled
|
|
111
|
+
* output. A model reads and edits text; it regenerates artifacts.
|
|
112
|
+
*
|
|
113
|
+
* This is the gate that actually matters. Measured on the workspace that
|
|
114
|
+
* motivated this (26,855 files / 9.50 GiB): the byte cap alone saves 40%,
|
|
115
|
+
* this alone saves 99.2% (8,846 text files / 0.07 GiB) while keeping every
|
|
116
|
+
* one of the 1,453 `.py` and 442 `.md` files the agent was editing. Both
|
|
117
|
+
* together: 6,783 files / 0.05 GiB = -99.5%.
|
|
118
|
+
*
|
|
119
|
+
* Deliberately NOT a "directory density" cap (codex drops any untracked dir
|
|
120
|
+
* with >=200 files). That rule is unusable here: a workspace with no
|
|
121
|
+
* `.gitignore` has no tracked files at all, so `hwgen/` (24,463 files, of
|
|
122
|
+
* which 1,453 are the agent's own sources) would be dropped wholesale and the
|
|
123
|
+
* snapshot would lose exactly what it exists to protect. Type is the honest
|
|
124
|
+
* discriminator; file count is not.
|
|
125
|
+
*/
|
|
126
|
+
const EXCLUDED_SUFFIXES = [
|
|
127
|
+
// archives
|
|
128
|
+
".zip", ".7z", ".rar", ".tar", ".gz", ".bz2", ".xz", ".tgz",
|
|
129
|
+
// office / documents
|
|
130
|
+
".pptx", ".ppt", ".docx", ".doc", ".xlsx", ".xls", ".pdf", ".caj",
|
|
131
|
+
// raster / vector
|
|
132
|
+
".png", ".jpg", ".jpeg", ".gif", ".webp", ".bmp", ".tif", ".tiff",
|
|
133
|
+
".ico", ".psd", ".ai",
|
|
134
|
+
// media
|
|
135
|
+
".mp4", ".mov", ".avi", ".mkv", ".flv", ".webm", ".mp3", ".wav",
|
|
136
|
+
".flac", ".ogg", ".m4a",
|
|
137
|
+
// fonts
|
|
138
|
+
".woff", ".woff2", ".ttf", ".otf", ".eot",
|
|
139
|
+
// built binaries / databases
|
|
140
|
+
".exe", ".dll", ".so", ".dylib", ".bin", ".iso", ".dmg", ".msi",
|
|
141
|
+
".sqlite", ".db", ".pyc", ".pyo", ".wasm",
|
|
142
|
+
];
|
|
143
|
+
/**
|
|
144
|
+
* How many over-cap paths a snapshot record keeps.
|
|
145
|
+
*
|
|
146
|
+
* The point is to let the UI/agent *say what it skipped* ("3 files over 10 MiB
|
|
147
|
+
* were not snapshotted") instead of silently producing an incomplete restore —
|
|
148
|
+
* codex learned the same lesson and prints the first three excluded entries
|
|
149
|
+
* plus the threshold. A short sample is enough to explain; the full list would
|
|
150
|
+
* bloat every record in `index.json`.
|
|
151
|
+
*/
|
|
152
|
+
const SKIPPED_SAMPLE_LIMIT = 3;
|
|
55
153
|
/**
|
|
56
154
|
* Synthetic commit identity for shadow commits. The store must not depend on
|
|
57
155
|
* (or write to) the operator's git config.
|
|
58
156
|
*/
|
|
59
157
|
export const CHECKPOINT_AUTHOR_NAME = "XRK Checkpoint";
|
|
60
158
|
export const CHECKPOINT_AUTHOR_EMAIL = "checkpoint@xrk.invalid";
|
|
159
|
+
/**
|
|
160
|
+
* Gitignore pattern matching exactly one work-tree-relative path.
|
|
161
|
+
*
|
|
162
|
+
* Anchored (`/`) so a build artifact named `out` at the root does not also
|
|
163
|
+
* swallow `src/out`; escaped because the byte cap feeds real filenames in and
|
|
164
|
+
* a model-written `a[1].bin` must not turn into a glob.
|
|
165
|
+
*/
|
|
166
|
+
function ignorePatternForPath(relativePath) {
|
|
167
|
+
const escaped = relativePath
|
|
168
|
+
.replace(/([\\*?[])/g, "\\$1")
|
|
169
|
+
.replace(/^([#!])/, "\\$1");
|
|
170
|
+
return `/${escaped}`;
|
|
171
|
+
}
|
|
61
172
|
/** Stable, filesystem-safe id for one workspace path. */
|
|
62
173
|
export function workspaceCheckpointId(workspaceDir) {
|
|
63
174
|
return createHash("sha1")
|
|
@@ -102,6 +213,19 @@ function readTimeoutMs() {
|
|
|
102
213
|
? Math.floor(parsed)
|
|
103
214
|
: DEFAULT_GIT_TIMEOUT_MS;
|
|
104
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Byte cap: explicit option wins, then `XRK_CHECKPOINT_MAX_FILE_BYTES`, then
|
|
218
|
+
* {@link DEFAULT_MAX_FILE_BYTES}. A non-numeric / negative value falls back to
|
|
219
|
+
* the default rather than silently disabling the cap (`0` is the explicit
|
|
220
|
+
* off switch).
|
|
221
|
+
*/
|
|
222
|
+
function readMaxFileBytes(explicit) {
|
|
223
|
+
const raw = explicit ?? Number(process.env.XRK_CHECKPOINT_MAX_FILE_BYTES ?? "");
|
|
224
|
+
if (explicit === undefined && (Number.isNaN(raw) || raw < 0)) {
|
|
225
|
+
return DEFAULT_MAX_FILE_BYTES;
|
|
226
|
+
}
|
|
227
|
+
return Number.isFinite(raw) ? Math.floor(raw) : DEFAULT_MAX_FILE_BYTES;
|
|
228
|
+
}
|
|
105
229
|
/** Parse `git clean` output lines carrying a known prefix. */
|
|
106
230
|
function parseCleanOutput(stdout, prefix) {
|
|
107
231
|
const out = [];
|
|
@@ -151,6 +275,8 @@ export class WorkspaceCheckpointStore {
|
|
|
151
275
|
runGit;
|
|
152
276
|
timeoutMs;
|
|
153
277
|
now;
|
|
278
|
+
/** Size gate for one file; `0` disables it. */
|
|
279
|
+
maxFileBytes;
|
|
154
280
|
/** Work-tree-relative shadow path, when the shadow lives in the workspace. */
|
|
155
281
|
shadowRelPath;
|
|
156
282
|
records;
|
|
@@ -177,6 +303,7 @@ export class WorkspaceCheckpointStore {
|
|
|
177
303
|
this.runGit = options.runGit;
|
|
178
304
|
this.timeoutMs = options.timeoutMs ?? readTimeoutMs();
|
|
179
305
|
this.now = options.now ?? (() => Date.now());
|
|
306
|
+
this.maxFileBytes = readMaxFileBytes(options.maxFileBytes);
|
|
180
307
|
this.records = this.loadIndex();
|
|
181
308
|
this.indexSignature = this.indexStat();
|
|
182
309
|
}
|
|
@@ -258,23 +385,26 @@ export class WorkspaceCheckpointStore {
|
|
|
258
385
|
* (Re)write the git-level ignore file. Idempotent and cheap: patterns are
|
|
259
386
|
* only rewritten when the content differs. Safety-critical — `clean -fd`
|
|
260
387
|
* must never see the shadow repo as untracked.
|
|
388
|
+
*
|
|
389
|
+
* `extra` carries this turn's over-cap paths (see
|
|
390
|
+
* {@link oversizeUntracked}); they are re-derived every snapshot, so a file
|
|
391
|
+
* that shrinks under the cap is picked up again on the next turn instead of
|
|
392
|
+
* being ignored forever.
|
|
261
393
|
*/
|
|
262
|
-
ensureExcludesFile() {
|
|
394
|
+
ensureExcludesFile(extra = []) {
|
|
263
395
|
mkdirSync(this.shadowDir, { recursive: true });
|
|
264
|
-
//
|
|
265
|
-
//
|
|
266
|
-
//
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
"**/*.tsbuildinfo",
|
|
277
|
-
];
|
|
396
|
+
// Worktree `.gitignore` still applies; this file is an extra excludesFile.
|
|
397
|
+
// Three tiers, cheapest gate first: the shadow repo's own path (safety),
|
|
398
|
+
// dependency/build trees (any segment), then artifact suffixes. A 9.5 GiB
|
|
399
|
+
// workspace drops to 50 MiB with the suffix gate alone.
|
|
400
|
+
const patterns = [".git/", "**/.git/", "**/*.tsbuildinfo"];
|
|
401
|
+
for (const segment of EXCLUDED_DIR_SEGMENTS) {
|
|
402
|
+
patterns.push(`${segment}/`, `**/${segment}/`);
|
|
403
|
+
}
|
|
404
|
+
for (const suffix of EXCLUDED_SUFFIXES)
|
|
405
|
+
patterns.push(`*${suffix}`);
|
|
406
|
+
for (const relative of extra)
|
|
407
|
+
patterns.push(ignorePatternForPath(relative));
|
|
278
408
|
if (this.shadowRelPath)
|
|
279
409
|
patterns.push(`${this.shadowRelPath}/`);
|
|
280
410
|
const content = `${patterns.join("\n")}\n`;
|
|
@@ -289,10 +419,90 @@ export class WorkspaceCheckpointStore {
|
|
|
289
419
|
/* read-only workspace: git will still work, only self-ignore is lost */
|
|
290
420
|
}
|
|
291
421
|
}
|
|
422
|
+
/**
|
|
423
|
+
* Untracked, non-ignored files above the byte cap.
|
|
424
|
+
*
|
|
425
|
+
* Only *untracked* files are measured, exactly like codex's
|
|
426
|
+
* `DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`: a file already in the snapshot was
|
|
427
|
+
* accepted when it was added, and re-measuring every tracked path each turn
|
|
428
|
+
* is the very scan cost this gate exists to avoid. `--exclude-standard`
|
|
429
|
+
* means the type/dir gates already filtered the list, so this stats a
|
|
430
|
+
* handful of paths on a normal turn, not the whole tree.
|
|
431
|
+
*/
|
|
432
|
+
async oversizeUntracked(budgetMs) {
|
|
433
|
+
if (this.maxFileBytes <= 0)
|
|
434
|
+
return [];
|
|
435
|
+
const listed = await this.exec(["ls-files", "-z", "--others", "--exclude-standard"], budgetMs);
|
|
436
|
+
if (listed.code !== 0)
|
|
437
|
+
return [];
|
|
438
|
+
const over = [];
|
|
439
|
+
for (const relative of listed.stdout.split("\0")) {
|
|
440
|
+
if (!relative)
|
|
441
|
+
continue;
|
|
442
|
+
try {
|
|
443
|
+
// `lstat`, never `stat`: a symlink pointing at a 5 GiB image is a few
|
|
444
|
+
// bytes of text in the tree and must not be judged by its target.
|
|
445
|
+
const entry = lstatSync(path.join(this.workspaceDir, relative));
|
|
446
|
+
if (entry.isFile() && entry.size > this.maxFileBytes)
|
|
447
|
+
over.push(relative);
|
|
448
|
+
}
|
|
449
|
+
catch {
|
|
450
|
+
/* vanished between the listing and the stat */
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
return over;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Discard a shadow repo written under an older exclusion policy.
|
|
457
|
+
*
|
|
458
|
+
* The blobs the new policy refuses are still reachable from `HEAD`, so no
|
|
459
|
+
* amount of `gc` reclaims them — starting over is the only way down. The
|
|
460
|
+
* snapshot index is renamed aside rather than deleted: `/rollback` then says
|
|
461
|
+
* "unknown checkpoint" for the old points, which is true, while the file
|
|
462
|
+
* stays on disk for an operator who wants to look.
|
|
463
|
+
*/
|
|
464
|
+
async ensurePolicy() {
|
|
465
|
+
const marker = path.join(this.shadowDir, "policy");
|
|
466
|
+
let current = "";
|
|
467
|
+
try {
|
|
468
|
+
current = readFileSync(marker, "utf8").trim();
|
|
469
|
+
}
|
|
470
|
+
catch {
|
|
471
|
+
/* first run */
|
|
472
|
+
}
|
|
473
|
+
if (current === String(SNAPSHOT_POLICY_VERSION))
|
|
474
|
+
return;
|
|
475
|
+
const hadRepo = existsSync(path.join(this.gitDir, "HEAD"));
|
|
476
|
+
if (hadRepo) {
|
|
477
|
+
// Async: a multi-GiB removal must not block the Host event loop. Runs
|
|
478
|
+
// inside the snapshot gate, so no concurrent `add` can see a half-gone
|
|
479
|
+
// object store.
|
|
480
|
+
await rmAsync(this.gitDir, { recursive: true, force: true });
|
|
481
|
+
try {
|
|
482
|
+
if (existsSync(this.indexFile)) {
|
|
483
|
+
renameSync(this.indexFile, `${this.indexFile}.policy${current || "0"}.bak`);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
catch {
|
|
487
|
+
/* index is derived data; the shadow repo is already gone */
|
|
488
|
+
}
|
|
489
|
+
this.records = [];
|
|
490
|
+
this.indexSignature = undefined;
|
|
491
|
+
this.repoReady = false;
|
|
492
|
+
}
|
|
493
|
+
try {
|
|
494
|
+
mkdirSync(this.shadowDir, { recursive: true });
|
|
495
|
+
writeFileSync(marker, String(SNAPSHOT_POLICY_VERSION), "utf8");
|
|
496
|
+
}
|
|
497
|
+
catch {
|
|
498
|
+
/* read-only workspace: the next turn retries */
|
|
499
|
+
}
|
|
500
|
+
}
|
|
292
501
|
/** Create the shadow repo on first use; idempotent afterwards. */
|
|
293
502
|
async ensureRepo(budgetMs = this.timeoutMs) {
|
|
294
503
|
if (this.repoReady)
|
|
295
504
|
return;
|
|
505
|
+
await this.ensurePolicy();
|
|
296
506
|
this.ensureExcludesFile();
|
|
297
507
|
if (!existsSync(path.join(this.gitDir, "HEAD"))) {
|
|
298
508
|
await this.execOk(["init", "--quiet"], "init-failed", "init (shadow repo)", budgetMs);
|
|
@@ -328,6 +538,13 @@ export class WorkspaceCheckpointStore {
|
|
|
328
538
|
const deadline = this.now() + this.timeoutMs;
|
|
329
539
|
const remaining = () => Math.max(1, deadline - this.now());
|
|
330
540
|
await this.ensureRepo(remaining());
|
|
541
|
+
// Over-cap paths are re-derived each turn: a worktree file that shrank
|
|
542
|
+
// under the cap comes back into the snapshot instead of staying ignored
|
|
543
|
+
// forever. `--exclude-standard` has already applied the type/dir gates,
|
|
544
|
+
// so this only stats files the tree did not already refuse.
|
|
545
|
+
const oversized = await this.oversizeUntracked(remaining());
|
|
546
|
+
if (oversized.length > 0)
|
|
547
|
+
this.ensureExcludesFile(oversized);
|
|
331
548
|
await this.execOk(["add", "-A"], "snapshot-failed", "add -A", remaining(), 1);
|
|
332
549
|
const label = input.label?.trim();
|
|
333
550
|
const message = [
|
|
@@ -348,6 +565,9 @@ export class WorkspaceCheckpointStore {
|
|
|
348
565
|
createdAt: this.now(),
|
|
349
566
|
...(label ? { label } : {}),
|
|
350
567
|
fileCount: splitLines(files.stdout).length,
|
|
568
|
+
...(oversized.length > 0
|
|
569
|
+
? { skippedOversized: oversized.slice(0, SKIPPED_SAMPLE_LIMIT) }
|
|
570
|
+
: {}),
|
|
351
571
|
};
|
|
352
572
|
this.records.push(record);
|
|
353
573
|
this.saveIndex();
|
|
@@ -384,11 +604,15 @@ export class WorkspaceCheckpointStore {
|
|
|
384
604
|
}
|
|
385
605
|
/** {@link planRestore} body; the caller already holds the shadow gate. */
|
|
386
606
|
async planRestoreLocked(target) {
|
|
607
|
+
const record = this.get(target);
|
|
387
608
|
const tree = await this.execOk(["ls-tree", "-r", "--name-only", target], "restore-failed", `ls-tree ${target}`);
|
|
388
609
|
return {
|
|
389
610
|
id: target,
|
|
390
611
|
fileCount: splitLines(tree.stdout).length,
|
|
391
612
|
extra: await this.extraFiles(),
|
|
613
|
+
...(record.skippedOversized
|
|
614
|
+
? { skippedOversized: record.skippedOversized }
|
|
615
|
+
: {}),
|
|
392
616
|
};
|
|
393
617
|
}
|
|
394
618
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,15 @@ export interface WorkspaceCheckpointRecord {
|
|
|
41
41
|
readonly label?: string;
|
|
42
42
|
/** Tracked files captured at this point. */
|
|
43
43
|
readonly fileCount: number;
|
|
44
|
+
/**
|
|
45
|
+
* Files present in the worktree but **not** in this point, because they
|
|
46
|
+
* exceeded the per-file byte cap (a short sample, not the full list).
|
|
47
|
+
*
|
|
48
|
+
* Present so a restore can be honest: those paths are untouched by
|
|
49
|
+
* `restore`, so their current content will not be rolled back. Absent when
|
|
50
|
+
* nothing was skipped.
|
|
51
|
+
*/
|
|
52
|
+
readonly skippedOversized?: readonly string[];
|
|
44
53
|
}
|
|
45
54
|
export interface SnapshotInput {
|
|
46
55
|
readonly sessionId: string;
|
|
@@ -61,6 +70,15 @@ export interface RestorePlan {
|
|
|
61
70
|
readonly fileCount: number;
|
|
62
71
|
/** Untracked, non-ignored files present now but absent from the snapshot. */
|
|
63
72
|
readonly extra: readonly string[];
|
|
73
|
+
/**
|
|
74
|
+
* Files the recorded point never captured, because they exceeded the
|
|
75
|
+
* per-file byte cap (sample, see {@link WorkspaceCheckpointRecord}).
|
|
76
|
+
*
|
|
77
|
+
* `restore` does not touch them, so their current content survives the
|
|
78
|
+
* rollback. Present on the plan so the caller can say that out loud instead
|
|
79
|
+
* of implying a complete restore.
|
|
80
|
+
*/
|
|
81
|
+
readonly skippedOversized?: readonly string[];
|
|
64
82
|
}
|
|
65
83
|
export interface RestoreResult extends RestorePlan {
|
|
66
84
|
readonly restored: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,CAAC,EAAE,gBAAgB,KACpB,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,6DAA6D;AAC7D,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,CAAC,EAAE,gBAAgB,KACpB,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,6DAA6D;AAC7D,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,4BAA4B,GACpC,cAAc,GACd,iBAAiB,GACjB,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,yEAAyE;AACzE,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;gBAEhC,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM;CAKhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoGH,yEAAyE;AACzE,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,CAA+B;IAE5C,YAAY,IAAkC,EAAE,OAAe;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|