grounder 0.5.0 → 0.6.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 +21 -20
- package/dist/agents/claude.d.ts +4 -4
- package/dist/agents/claude.d.ts.map +1 -1
- package/dist/agents/claude.js +158 -179
- package/dist/agents/claude.js.map +1 -1
- package/dist/agents/cursor.d.ts +3 -3
- package/dist/agents/cursor.d.ts.map +1 -1
- package/dist/agents/cursor.js +97 -144
- package/dist/agents/cursor.js.map +1 -1
- package/dist/agents/home-skills.d.ts +46 -0
- package/dist/agents/home-skills.d.ts.map +1 -0
- package/dist/agents/home-skills.js +83 -0
- package/dist/agents/home-skills.js.map +1 -0
- package/dist/agents/hook-fragment.d.ts +52 -0
- package/dist/agents/hook-fragment.d.ts.map +1 -0
- package/dist/agents/hook-fragment.js +76 -0
- package/dist/agents/hook-fragment.js.map +1 -0
- package/dist/agents/hook-install.d.ts +62 -0
- package/dist/agents/hook-install.d.ts.map +1 -0
- package/dist/agents/hook-install.js +74 -0
- package/dist/agents/hook-install.js.map +1 -0
- package/dist/agents/hook-runtime.d.ts +77 -10
- package/dist/agents/hook-runtime.d.ts.map +1 -1
- package/dist/agents/hook-runtime.js +274 -70
- package/dist/agents/hook-runtime.js.map +1 -1
- package/dist/agents/index.d.ts +8 -14
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +13 -19
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/types.d.ts +56 -16
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.d.ts +69 -0
- package/dist/commands/apply.d.ts.map +1 -0
- package/dist/commands/apply.js +238 -0
- package/dist/commands/apply.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +190 -97
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/handoff/peek.d.ts +1 -1
- package/dist/commands/handoff/peek.d.ts.map +1 -1
- package/dist/commands/handoff/peek.js +28 -12
- package/dist/commands/handoff/peek.js.map +1 -1
- package/dist/commands/install-drift.d.ts +34 -0
- package/dist/commands/install-drift.d.ts.map +1 -0
- package/dist/commands/install-drift.js +72 -0
- package/dist/commands/install-drift.js.map +1 -0
- package/dist/commands/migrate.d.ts +11 -3
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +67 -33
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/overview.d.ts +33 -0
- package/dist/commands/overview.d.ts.map +1 -0
- package/dist/commands/overview.js +150 -0
- package/dist/commands/overview.js.map +1 -0
- package/dist/commands/render-artifact-table.d.ts +85 -0
- package/dist/commands/render-artifact-table.d.ts.map +1 -0
- package/dist/commands/render-artifact-table.js +232 -0
- package/dist/commands/render-artifact-table.js.map +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +15 -4
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +86 -13
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +269 -88
- package/dist/commands/status.js.map +1 -1
- package/dist/connector/ledger-migrations.d.ts +55 -0
- package/dist/connector/ledger-migrations.d.ts.map +1 -0
- package/dist/connector/ledger-migrations.js +94 -0
- package/dist/connector/ledger-migrations.js.map +1 -0
- package/dist/connector/state.d.ts +96 -59
- package/dist/connector/state.d.ts.map +1 -1
- package/dist/connector/state.js +165 -107
- package/dist/connector/state.js.map +1 -1
- package/dist/help.d.ts +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +27 -5
- package/dist/help.js.map +1 -1
- package/dist/reconcile/apply.d.ts +31 -0
- package/dist/reconcile/apply.d.ts.map +1 -0
- package/dist/reconcile/apply.js +97 -0
- package/dist/reconcile/apply.js.map +1 -0
- package/dist/reconcile/core.d.ts +82 -0
- package/dist/reconcile/core.d.ts.map +1 -0
- package/dist/reconcile/core.js +163 -0
- package/dist/reconcile/core.js.map +1 -0
- package/dist/reconcile/disk.d.ts +13 -0
- package/dist/reconcile/disk.d.ts.map +1 -0
- package/dist/reconcile/disk.js +28 -0
- package/dist/reconcile/disk.js.map +1 -0
- package/dist/util/fs.d.ts +14 -0
- package/dist/util/fs.d.ts.map +1 -1
- package/dist/util/fs.js +27 -1
- package/dist/util/fs.js.map +1 -1
- package/dist/util/merge-json.d.ts +13 -2
- package/dist/util/merge-json.d.ts.map +1 -1
- package/dist/util/merge-json.js +24 -10
- package/dist/util/merge-json.js.map +1 -1
- package/dist/vault/list-handoffs.d.ts +13 -3
- package/dist/vault/list-handoffs.d.ts.map +1 -1
- package/dist/vault/list-handoffs.js +28 -13
- package/dist/vault/list-handoffs.js.map +1 -1
- package/dist/vault/list-notes.d.ts +12 -3
- package/dist/vault/list-notes.d.ts.map +1 -1
- package/dist/vault/list-notes.js +13 -7
- package/dist/vault/list-notes.js.map +1 -1
- package/dist/vault/list-plans.d.ts +12 -3
- package/dist/vault/list-plans.d.ts.map +1 -1
- package/dist/vault/list-plans.js +13 -7
- package/dist/vault/list-plans.js.map +1 -1
- package/dist/vault/search.d.ts.map +1 -1
- package/dist/vault/search.js +128 -24
- package/dist/vault/search.js.map +1 -1
- package/package.json +2 -2
- package/templates/agents/claude/skills/grounder-handoff/SKILL.md +73 -0
- package/templates/agents/claude/{commands/grounder-note.md → skills/grounder-note/SKILL.md} +6 -0
- package/templates/agents/claude/skills/grounder-overview/SKILL.md +21 -0
- package/templates/agents/claude/{commands/grounder-plan.md → skills/grounder-plan/SKILL.md} +6 -0
- package/templates/agents/claude/skills/grounder-recall/SKILL.md +34 -0
- package/templates/agents/claude/{commands/grounder-search.md → skills/grounder-search/SKILL.md} +16 -8
- package/templates/agents/cursor/skills/grounder-handoff/SKILL.md +73 -0
- package/templates/agents/cursor/{commands/grounder-note.md → skills/grounder-note/SKILL.md} +6 -0
- package/templates/agents/cursor/skills/grounder-overview/SKILL.md +21 -0
- package/templates/agents/cursor/{commands/grounder-plan.md → skills/grounder-plan/SKILL.md} +6 -0
- package/templates/agents/cursor/skills/grounder-recall/SKILL.md +34 -0
- package/templates/agents/cursor/{commands/grounder-search.md → skills/grounder-search/SKILL.md} +16 -8
- package/templates/vault/plan.md +1 -1
- package/templates/vault/session-handoff.md +2 -1
- package/dist/agents/install-command.d.ts +0 -35
- package/dist/agents/install-command.d.ts.map +0 -1
- package/dist/agents/install-command.js +0 -65
- package/dist/agents/install-command.js.map +0 -1
- package/dist/commands/apply-agent-installs.d.ts +0 -34
- package/dist/commands/apply-agent-installs.d.ts.map +0 -1
- package/dist/commands/apply-agent-installs.js +0 -137
- package/dist/commands/apply-agent-installs.js.map +0 -1
- package/templates/agents/claude/commands/grounder-task-handoff.md +0 -58
- package/templates/agents/claude/commands/grounder-task.md +0 -22
- package/templates/agents/cursor/commands/grounder-task-handoff.md +0 -58
- package/templates/agents/cursor/commands/grounder-task.md +0 -22
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Home-local runtime shared by session hooks *and*
|
|
2
|
+
* Home-local runtime shared by session hooks *and* skills (originally
|
|
3
3
|
* "Issue 2 — replace `npx grounder` in session hooks"; later extended to cover
|
|
4
|
-
*
|
|
4
|
+
* skill templates too, since they had the identical problem).
|
|
5
5
|
*
|
|
6
6
|
* ## Why
|
|
7
7
|
* Both surfaces used to shell out via `npx grounder …`. `npx <pkg>` (no
|
|
8
8
|
* version specifier) matches against whatever `grounder` version exists in
|
|
9
9
|
* the *current project's own dependencies*; only when the project doesn't
|
|
10
10
|
* declare `grounder` as a dependency does it fall back to fetching
|
|
11
|
-
* `grounder@latest` from the registry. Session hooks and
|
|
11
|
+
* `grounder@latest` from the registry. Session hooks and skills both
|
|
12
12
|
* run from arbitrary linked projects, which normally have no reason to depend
|
|
13
13
|
* on `grounder` themselves, so contributors (and anyone ahead of the last
|
|
14
14
|
* publish, or deliberately pinned to an older version) get the wrong binary.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* ## Design
|
|
19
19
|
* On `setup`, materialize this package's `dist/` at
|
|
20
20
|
* `~/.grounder/runtime/dist/` and point both host hook configs *and* the
|
|
21
|
-
*
|
|
21
|
+
* skills copied into `~/.cursor/skills/` / `~/.claude/skills/` at:
|
|
22
22
|
* `process.execPath` + `~/.grounder/runtime/dist/cli.js` + `<subcommand> …`
|
|
23
23
|
* No global install and no registry fetch at invocation time, for either
|
|
24
24
|
* surface. This mirrors how Corepack (packageManager shims) and Husky/lint-staged
|
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
* pick up new code immediately — no re-run of `setup` ever needed.
|
|
33
33
|
* - **Ephemeral source** (bare `npx grounder …`, no install — each invocation
|
|
34
34
|
* resolves to an immutable, version-keyed npx cache dir that can be evicted
|
|
35
|
-
* or swapped out from under a symlink) → **copy** `dist
|
|
35
|
+
* or swapped out from under a symlink) → **copy** `dist/`, plus
|
|
36
|
+
* `package.json` and `templates/` alongside it (see {@link installHookRuntime}'s
|
|
37
|
+
* doc comment for why those siblings are needed). Re-run
|
|
36
38
|
* `grounder setup <vault>` after upgrading to refresh; this is an
|
|
37
39
|
* inherent limitation of using npx with no install for something that must
|
|
38
40
|
* persist, not something we can engineer around.
|
|
@@ -112,29 +114,26 @@ function isAbsolutePath(p) {
|
|
|
112
114
|
return path.posix.isAbsolute(p) || path.win32.isAbsolute(p);
|
|
113
115
|
}
|
|
114
116
|
/**
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
+
* Match a home-runtime invocation (`'<abs node>' '<abs …/runtime/dist/cli.js>'`)
|
|
118
|
+
* starting at `start`, returning its baked Node interpreter path.
|
|
117
119
|
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
+
* Takes an offset rather than a pre-sliced string so {@link findRuntimeNodePathsInText}
|
|
121
|
+
* can sweep a whole document without allocating a fresh substring at every
|
|
122
|
+
* quote character.
|
|
120
123
|
*/
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
const trimmed = command.trim();
|
|
126
|
-
const first = parseShellQuoted(trimmed, 0);
|
|
124
|
+
function matchRuntimeInvocationAt(input, start) {
|
|
125
|
+
const first = parseShellQuoted(input, start);
|
|
127
126
|
if (!first || !isAbsolutePath(first.value)) {
|
|
128
127
|
return null;
|
|
129
128
|
}
|
|
130
129
|
let i = first.next;
|
|
131
|
-
if (
|
|
130
|
+
if (input[i] !== " ") {
|
|
132
131
|
return null;
|
|
133
132
|
}
|
|
134
|
-
while (
|
|
133
|
+
while (input[i] === " ") {
|
|
135
134
|
i += 1;
|
|
136
135
|
}
|
|
137
|
-
const second = parseShellQuoted(
|
|
136
|
+
const second = parseShellQuoted(input, i);
|
|
138
137
|
if (!second) {
|
|
139
138
|
return null;
|
|
140
139
|
}
|
|
@@ -145,7 +144,20 @@ export function extractRuntimeNodePath(command) {
|
|
|
145
144
|
return first.value;
|
|
146
145
|
}
|
|
147
146
|
/**
|
|
148
|
-
*
|
|
147
|
+
* Extract the baked Node interpreter path from a home-runtime invocation
|
|
148
|
+
* string (`'<abs node>' '<abs …/runtime/dist/cli.js>' …`).
|
|
149
|
+
*
|
|
150
|
+
* Returns `null` when the string is not that exact shape — including legacy
|
|
151
|
+
* `npx grounder …` entries, which have no absolute interpreter to validate.
|
|
152
|
+
*/
|
|
153
|
+
export function extractRuntimeNodePath(command) {
|
|
154
|
+
if (typeof command !== "string") {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
return matchRuntimeInvocationAt(command.trim(), 0);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Find every baked Node interpreter path embedded in free-form text (skill
|
|
149
161
|
* markdown, etc.). Scans for the same `'<abs node>' '<abs …/cli.js>'` shape as
|
|
150
162
|
* {@link extractRuntimeNodePath}, including mid-line / backtick-wrapped uses.
|
|
151
163
|
*/
|
|
@@ -156,7 +168,7 @@ export function findRuntimeNodePathsInText(text) {
|
|
|
156
168
|
if (text[i] !== "'") {
|
|
157
169
|
continue;
|
|
158
170
|
}
|
|
159
|
-
const nodePath =
|
|
171
|
+
const nodePath = matchRuntimeInvocationAt(text, i);
|
|
160
172
|
if (nodePath !== null && !seen.has(nodePath)) {
|
|
161
173
|
seen.add(nodePath);
|
|
162
174
|
found.push(nodePath);
|
|
@@ -166,7 +178,7 @@ export function findRuntimeNodePathsInText(text) {
|
|
|
166
178
|
}
|
|
167
179
|
/**
|
|
168
180
|
* Quoted `<node> <runtime cli.js>` prefix, shared by every home-runtime
|
|
169
|
-
* invocation (session hooks and
|
|
181
|
+
* invocation (session hooks and skill templates alike). Append
|
|
170
182
|
* subcommand args to build a full command string.
|
|
171
183
|
*/
|
|
172
184
|
export function runtimeInvocation(homeDir) {
|
|
@@ -246,15 +258,58 @@ export async function hookFileHasGrounderEntry(filePath) {
|
|
|
246
258
|
* Best-effort: is `root` inside a throwaway cache (npx / pnpm dlx), where
|
|
247
259
|
* content can be evicted or swapped for a *different* version at any time?
|
|
248
260
|
* Those sources can't be symlinked durably — copy instead.
|
|
261
|
+
*
|
|
262
|
+
* The tmpdir-prefix check realpaths both sides (with a plain-resolve
|
|
263
|
+
* fallback if either doesn't exist) before comparing — the same fix as
|
|
264
|
+
* {@link isSelfReferential}, for the same reason: Node's module loader
|
|
265
|
+
* realpaths the entry script when resolving `import.meta.url`, so a
|
|
266
|
+
* `packageRoot` derived from that can come out realpath'd while
|
|
267
|
+
* `os.tmpdir()`'s raw string doesn't (e.g. macOS's `/var` -> `/private/var`,
|
|
268
|
+
* which a package copied under a temp-dir-based test fixture sits behind
|
|
269
|
+
* but a real `npx`/`pnpm dlx` cache path typically doesn't). The regex
|
|
270
|
+
* branch below has no such dependency and was never affected.
|
|
249
271
|
*/
|
|
250
|
-
function isEphemeralSource(root) {
|
|
251
|
-
const
|
|
252
|
-
const
|
|
272
|
+
async function isEphemeralSource(root) {
|
|
273
|
+
const resolvedRoot = await realpath(root).catch(() => path.resolve(root));
|
|
274
|
+
const resolvedTmp = await realpath(os.tmpdir()).catch(() => path.resolve(os.tmpdir()));
|
|
275
|
+
const normalized = `${resolvedRoot.replace(/\\/g, "/")}/`;
|
|
276
|
+
const tmp = `${resolvedTmp.replace(/\\/g, "/")}/`;
|
|
253
277
|
if (normalized.startsWith(tmp)) {
|
|
254
278
|
return true;
|
|
255
279
|
}
|
|
256
280
|
return /\/(_npx|\.npm\/_npx|\.pnpm-dlx-|pnpm-dlx-)[^/]*\//.test(normalized);
|
|
257
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* True when `packageRoot` resolves to `~/.grounder/runtime` itself — i.e.
|
|
284
|
+
* this invocation is running *through* the materialized runtime's own
|
|
285
|
+
* `dist/cli.js` (`defaultPackageRoot` computed from that file's own
|
|
286
|
+
* `import.meta.url`) rather than through the real `grounder` / `npx
|
|
287
|
+
* grounder` entrypoints the docs point users at. That invocation has no way
|
|
288
|
+
* to know the real upstream source the runtime was originally materialized
|
|
289
|
+
* from, so comparing the runtime against itself is nonsensical: a copied
|
|
290
|
+
* (non-symlink) `dist/` would otherwise permanently read as "should be a
|
|
291
|
+
* symlink, but isn't" (since `isEphemeralSource(~/.grounder/runtime)` is
|
|
292
|
+
* false for a real home dir), and `installHookRuntime` would attempt to
|
|
293
|
+
* symlink `dist/` to its own about-to-be-renamed-aside path — a circular,
|
|
294
|
+
* corrupting symlink.
|
|
295
|
+
*
|
|
296
|
+
* Realpath'd on both sides, with a plain-resolve fallback if either doesn't
|
|
297
|
+
* exist yet — a naive string compare misses this the same way the original
|
|
298
|
+
* bug (`isEphemeralSource`'s `os.tmpdir()` check) did: Node's module loader
|
|
299
|
+
* realpaths the entry script when resolving `import.meta.url`, so
|
|
300
|
+
* `defaultPackageRoot` comes out realpath'd while `grounderRuntimeDir()`
|
|
301
|
+
* (built from the raw `GROUNDER_HOME` string) doesn't — e.g. macOS's
|
|
302
|
+
* `/var` -> `/private/var`, which a test `$HOME` under `os.tmpdir()` sits
|
|
303
|
+
* behind but a real user's `~` typically doesn't.
|
|
304
|
+
*/
|
|
305
|
+
async function isSelfReferential(packageRoot, homeDir) {
|
|
306
|
+
const runtimeDir = grounderRuntimeDir(homeDir);
|
|
307
|
+
const [resolvedRoot, resolvedRuntime] = await Promise.all([
|
|
308
|
+
realpath(packageRoot).catch(() => path.resolve(packageRoot)),
|
|
309
|
+
realpath(runtimeDir).catch(() => path.resolve(runtimeDir)),
|
|
310
|
+
]);
|
|
311
|
+
return resolvedRoot === resolvedRuntime;
|
|
312
|
+
}
|
|
258
313
|
async function readPackageVersion(packageRoot) {
|
|
259
314
|
try {
|
|
260
315
|
const raw = JSON.parse(await readFile(path.join(packageRoot, "package.json"), "utf8"));
|
|
@@ -297,11 +352,19 @@ async function currentSymlinkTarget(destDist) {
|
|
|
297
352
|
/**
|
|
298
353
|
* True when the materialized runtime is missing or out of date for the given
|
|
299
354
|
* source package:
|
|
355
|
+
* - **Self-referential** (`packageRoot` is `~/.grounder/runtime` itself —
|
|
356
|
+
* see {@link isSelfReferential}): never stale. There is no real source to
|
|
357
|
+
* compare against from inside this invocation, so the only sound answer is
|
|
358
|
+
* "leave it alone."
|
|
300
359
|
* - **Symlink mode** (durable source): stale iff `dist/` isn't currently a
|
|
301
360
|
* symlink resolving to this source's `dist/` (cheap `realpath` compare — no
|
|
302
361
|
* staleness window, since a matching symlink is *always* current).
|
|
303
362
|
* - **Copy mode** (ephemeral `npx` source): stale iff the manifest is
|
|
304
|
-
* missing/unreadable
|
|
363
|
+
* missing/unreadable, its recorded version differs from this source's, or
|
|
364
|
+
* `package.json` / `templates/` (when the source has one) are missing
|
|
365
|
+
* alongside `dist/` — a same-version repair case a version-only check
|
|
366
|
+
* would otherwise skip forever (e.g. a runtime materialized before these
|
|
367
|
+
* siblings were added, or one left mid-way by a partial install).
|
|
305
368
|
*
|
|
306
369
|
* @param packageRoot - Source package root to compare against (defaults to the
|
|
307
370
|
* currently running package — override only in tests)
|
|
@@ -310,33 +373,180 @@ export async function isHookRuntimeStale(homeDir, packageRoot = defaultPackageRo
|
|
|
310
373
|
if (!(await fileExists(runtimeCliPath(homeDir)))) {
|
|
311
374
|
return true;
|
|
312
375
|
}
|
|
313
|
-
|
|
314
|
-
|
|
376
|
+
if (await isSelfReferential(packageRoot, homeDir)) {
|
|
377
|
+
return false;
|
|
378
|
+
}
|
|
379
|
+
const runtimeDir = grounderRuntimeDir(homeDir);
|
|
380
|
+
const destDist = path.join(runtimeDir, "dist");
|
|
381
|
+
if (await isEphemeralSource(packageRoot)) {
|
|
315
382
|
const manifest = await readRuntimeManifest(homeDir);
|
|
316
383
|
if (manifest?.mode !== "copy") {
|
|
317
384
|
return true;
|
|
318
385
|
}
|
|
319
|
-
|
|
386
|
+
if (manifest.version !== (await readPackageVersion(packageRoot))) {
|
|
387
|
+
return true;
|
|
388
|
+
}
|
|
389
|
+
if (!(await fileExists(path.join(runtimeDir, "package.json")))) {
|
|
390
|
+
return true;
|
|
391
|
+
}
|
|
392
|
+
if ((await fileExists(path.join(packageRoot, "templates"))) &&
|
|
393
|
+
!(await fileExists(path.join(runtimeDir, "templates")))) {
|
|
394
|
+
return true;
|
|
395
|
+
}
|
|
396
|
+
return false;
|
|
320
397
|
}
|
|
321
398
|
const sourceDistDir = path.join(packageRoot, "dist");
|
|
322
399
|
const resolvedSource = await realpath(sourceDistDir).catch(() => path.resolve(sourceDistDir));
|
|
323
400
|
const target = await currentSymlinkTarget(destDist);
|
|
324
401
|
return target !== resolvedSource;
|
|
325
402
|
}
|
|
403
|
+
/**
|
|
404
|
+
* Materialization mode this source would use — symlink (durable) or copy
|
|
405
|
+
* (ephemeral `npx` cache) — without writing anything (read-only `realpath`
|
|
406
|
+
* checks only). Lets callers label a skipped/dry-run install the same way
|
|
407
|
+
* {@link installHookRuntime} would.
|
|
408
|
+
*/
|
|
409
|
+
export async function runtimeMode(packageRoot = defaultPackageRoot) {
|
|
410
|
+
return (await isEphemeralSource(packageRoot)) ? "copy" : "symlink";
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Materialize every artifact via `populate(stagingPath)` first — a
|
|
414
|
+
* populate/symlink/cp failure on any one of them leaves every `dest`
|
|
415
|
+
* untouched, since none have been promoted yet. Only once all of them are
|
|
416
|
+
* staged does promotion (backup-aside + rename-in) run for each in turn.
|
|
417
|
+
*
|
|
418
|
+
* If a promote fails partway through, every artifact already promoted in
|
|
419
|
+
* this call is rolled back (its backup renamed back over `dest`) before
|
|
420
|
+
* rethrowing — so a failure on, say, `package.json` after `dist/` has
|
|
421
|
+
* already promoted doesn't leave a new `dist/` sitting next to an old
|
|
422
|
+
* `package.json`. This isn't a true single filesystem transaction (POSIX
|
|
423
|
+
* has no atomic rename across independent paths), but it narrows the
|
|
424
|
+
* mixed-state window down to the renames themselves rather than leaving one
|
|
425
|
+
* as a visible end state after this function returns (successfully or not).
|
|
426
|
+
*
|
|
427
|
+
* A restore rename (`backup` back over `dest`) can itself fail — e.g. the
|
|
428
|
+
* same fault that broke the promote also blocks the rename back. When that
|
|
429
|
+
* happens `dest` is left in whatever state the failed renames put it in, but
|
|
430
|
+
* `backup` is deliberately *not* deleted by the cleanup below: it's the only
|
|
431
|
+
* remaining copy of what was there before this call, so a double failure
|
|
432
|
+
* degrades to "manual recovery from `<dest>.bak`" rather than silent data
|
|
433
|
+
* loss.
|
|
434
|
+
*
|
|
435
|
+
* `populate` decides how each artifact's staging gets filled (symlink vs.
|
|
436
|
+
* plain copy) — everything else (staging, backup, promote, rollback,
|
|
437
|
+
* cleanup) is identical for every artifact {@link installHookRuntime}
|
|
438
|
+
* materializes (`dist/`, and in copy mode, `package.json` / `templates/`).
|
|
439
|
+
*/
|
|
440
|
+
export async function installArtifacts(artifacts) {
|
|
441
|
+
const staged = [];
|
|
442
|
+
try {
|
|
443
|
+
for (const { dest, populate } of artifacts) {
|
|
444
|
+
const staging = `${dest}.staging`;
|
|
445
|
+
const backup = `${dest}.bak`;
|
|
446
|
+
await rm(staging, { recursive: true, force: true });
|
|
447
|
+
await rm(backup, { recursive: true, force: true });
|
|
448
|
+
await populate(staging);
|
|
449
|
+
staged.push({ dest, staging, backup });
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
catch (error) {
|
|
453
|
+
for (const { staging } of staged) {
|
|
454
|
+
await rm(staging, { recursive: true, force: true }).catch(() => undefined);
|
|
455
|
+
}
|
|
456
|
+
throw error;
|
|
457
|
+
}
|
|
458
|
+
// Backups a restore attempt below failed to rename back over `dest` —
|
|
459
|
+
// `dest` is not confirmed to hold valid content, so `backup` is the only
|
|
460
|
+
// surviving copy of what was there before this call and must not be
|
|
461
|
+
// deleted by the cleanup in `finally`.
|
|
462
|
+
const unsafeToDeleteBackup = new Set();
|
|
463
|
+
/** Best-effort `rename(backup, dest)`; marks `backup` unsafe to delete on failure. */
|
|
464
|
+
async function restore(backup, dest) {
|
|
465
|
+
try {
|
|
466
|
+
await rename(backup, dest);
|
|
467
|
+
}
|
|
468
|
+
catch {
|
|
469
|
+
unsafeToDeleteBackup.add(backup);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
const promoted = [];
|
|
473
|
+
try {
|
|
474
|
+
for (const { dest, staging, backup } of staged) {
|
|
475
|
+
// Move the live dest aside (if any), then promote staging. On promote
|
|
476
|
+
// failure, restore this artifact's own backup so it keeps working.
|
|
477
|
+
try {
|
|
478
|
+
await rename(dest, backup);
|
|
479
|
+
}
|
|
480
|
+
catch (error) {
|
|
481
|
+
if (error.code !== "ENOENT") {
|
|
482
|
+
throw error;
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
try {
|
|
486
|
+
await rename(staging, dest);
|
|
487
|
+
}
|
|
488
|
+
catch (error) {
|
|
489
|
+
// Rethrow the promote failure below regardless of restore outcome.
|
|
490
|
+
await restore(backup, dest);
|
|
491
|
+
throw error;
|
|
492
|
+
}
|
|
493
|
+
promoted.push({ dest, backup });
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
catch (error) {
|
|
497
|
+
// Roll back every artifact promoted before this one failed.
|
|
498
|
+
for (const { dest, backup } of promoted.reverse()) {
|
|
499
|
+
await rm(dest, { recursive: true, force: true }).catch(() => undefined);
|
|
500
|
+
await restore(backup, dest);
|
|
501
|
+
}
|
|
502
|
+
throw error;
|
|
503
|
+
}
|
|
504
|
+
finally {
|
|
505
|
+
for (const { staging, backup } of staged) {
|
|
506
|
+
await rm(staging, { recursive: true, force: true }).catch(() => undefined);
|
|
507
|
+
if (!unsafeToDeleteBackup.has(backup)) {
|
|
508
|
+
await rm(backup, { recursive: true, force: true }).catch(() => undefined);
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
}
|
|
326
513
|
/**
|
|
327
514
|
* Materialize this package's `dist/` at `~/.grounder/runtime/dist/` — symlinked
|
|
328
515
|
* when the source is durable, copied when it's an ephemeral `npx` cache — and
|
|
329
516
|
* write a manifest recording how.
|
|
330
517
|
*
|
|
518
|
+
* Copy mode also copies `package.json` and `templates/` alongside `dist/`:
|
|
519
|
+
* `src/index.ts` reads `VERSION` from `<pkgRoot>/package.json` eagerly at
|
|
520
|
+
* import (every invocation), and `home-skills.ts` reads `<pkgRoot>/templates`
|
|
521
|
+
* on demand (`desiredArtifacts()` — real installs, and the drift check
|
|
522
|
+
* `status`/`doctor`/`peek` run). Neither exists under a copied `dist/`'s
|
|
523
|
+
* parent otherwise, so the materialized runtime crashed at import for every
|
|
524
|
+
* copy-mode (bare `npx grounder setup`) user. Symlink mode needs neither —
|
|
525
|
+
* Node resolves `import.meta.url` through `dist/`'s own symlink back to the
|
|
526
|
+
* real package root, package.json and templates included — and actively
|
|
527
|
+
* removes them if a previous copy-mode install left them behind, so
|
|
528
|
+
* `~/.grounder/runtime` never ends up with stale copy-mode siblings next to
|
|
529
|
+
* a symlinked `dist/`.
|
|
530
|
+
*
|
|
331
531
|
* Callers should gate on {@link isHookRuntimeStale} (or `force`) before calling —
|
|
332
|
-
* this always replaces whatever is currently at the destination
|
|
333
|
-
*
|
|
532
|
+
* this always replaces whatever is currently at the destination. All
|
|
533
|
+
* artifacts (`dist/`, and in copy mode, `package.json` / `templates/`) are
|
|
534
|
+
* staged and promoted together via {@link installArtifacts}, which rolls
|
|
535
|
+
* back any artifact already promoted if a later one fails to promote.
|
|
536
|
+
* Refuses outright (see {@link isSelfReferential}) rather than attempting a
|
|
537
|
+
* self-symlink that would corrupt the runtime with an `ELOOP`-inducing link
|
|
538
|
+
* to itself.
|
|
334
539
|
*
|
|
335
540
|
* @param options.packageRoot - Source package root to materialize (defaults to
|
|
336
541
|
* the currently running package — override only in tests)
|
|
337
542
|
*/
|
|
338
543
|
export async function installHookRuntime(options) {
|
|
339
544
|
const packageRoot = options.packageRoot ?? defaultPackageRoot;
|
|
545
|
+
if (await isSelfReferential(packageRoot, options.homeDir)) {
|
|
546
|
+
throw new Error(`Refusing to materialize ~/.grounder/runtime from itself (${grounderRuntimeDir(options.homeDir)}). ` +
|
|
547
|
+
"This usually means a command ran directly against " +
|
|
548
|
+
"~/.grounder/runtime/dist/cli.js instead of the `grounder` (or `npx grounder`) entrypoint.");
|
|
549
|
+
}
|
|
340
550
|
const sourceDistDir = path.join(packageRoot, "dist");
|
|
341
551
|
const runtimeDir = grounderRuntimeDir(options.homeDir);
|
|
342
552
|
const destDist = path.join(runtimeDir, "dist");
|
|
@@ -346,48 +556,42 @@ export async function installHookRuntime(options) {
|
|
|
346
556
|
throw new Error(`Grounder dist missing at ${sourceDistDir}. Run \`pnpm build\` (or install a published package) before setup.`);
|
|
347
557
|
}
|
|
348
558
|
await mkdir(runtimeDir, { recursive: true });
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
559
|
+
const mode = await runtimeMode(packageRoot);
|
|
560
|
+
const artifacts = [
|
|
561
|
+
{
|
|
562
|
+
dest: destDist,
|
|
563
|
+
populate: async (staging) => {
|
|
564
|
+
if (mode === "symlink") {
|
|
565
|
+
const resolvedSource = await realpath(sourceDistDir).catch(() => path.resolve(sourceDistDir));
|
|
566
|
+
await symlink(resolvedSource, staging, process.platform === "win32" ? "junction" : "dir");
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
await cp(sourceDistDir, staging, { recursive: true, force: true });
|
|
570
|
+
}
|
|
571
|
+
},
|
|
572
|
+
},
|
|
573
|
+
];
|
|
574
|
+
if (mode === "copy") {
|
|
575
|
+
artifacts.push({
|
|
576
|
+
dest: path.join(runtimeDir, "package.json"),
|
|
577
|
+
populate: (staging) => cp(path.join(packageRoot, "package.json"), staging),
|
|
578
|
+
});
|
|
579
|
+
const templatesSource = path.join(packageRoot, "templates");
|
|
580
|
+
if (await fileExists(templatesSource)) {
|
|
581
|
+
artifacts.push({
|
|
582
|
+
dest: path.join(runtimeDir, "templates"),
|
|
583
|
+
populate: (staging) => cp(templatesSource, staging, { recursive: true, force: true }),
|
|
584
|
+
});
|
|
368
585
|
}
|
|
369
|
-
catch (error) {
|
|
370
|
-
if (error.code !== "ENOENT") {
|
|
371
|
-
throw error;
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
try {
|
|
375
|
-
await rename(stagingDist, destDist);
|
|
376
|
-
}
|
|
377
|
-
catch (error) {
|
|
378
|
-
try {
|
|
379
|
-
await rename(backupDist, destDist);
|
|
380
|
-
}
|
|
381
|
-
catch {
|
|
382
|
-
// Best-effort restore; rethrow the promote failure below.
|
|
383
|
-
}
|
|
384
|
-
throw error;
|
|
385
|
-
}
|
|
386
|
-
await rm(backupDist, { recursive: true, force: true });
|
|
387
586
|
}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
587
|
+
await installArtifacts(artifacts);
|
|
588
|
+
if (mode === "symlink") {
|
|
589
|
+
// A previous copy-mode install may have left package.json/templates/
|
|
590
|
+
// behind — harmless (symlinked dist/ resolves import.meta.url through to
|
|
591
|
+
// the real package root regardless), but stale siblings sitting next to
|
|
592
|
+
// a symlinked dist/ would confuse anyone inspecting ~/.grounder/runtime.
|
|
593
|
+
await rm(path.join(runtimeDir, "package.json"), { force: true });
|
|
594
|
+
await rm(path.join(runtimeDir, "templates"), { recursive: true, force: true });
|
|
391
595
|
}
|
|
392
596
|
const manifest = {
|
|
393
597
|
mode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-runtime.js","sourceRoot":"","sources":["../../src/agents/hook-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-runtime.js","sourceRoot":"","sources":["../../src/agents/hook-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,EACL,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,EAAE,EACF,OAAO,EACP,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,2EAA2E;AAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAU/F,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa;IACpD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,0EAA0E;YAC1E,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1E,KAAK,IAAI,GAAG,CAAC;gBACb,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,KAAa,EAAE,KAAa;IAC5D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;IACnB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACxB,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,YAA+B,EAAE;IACjF,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,8DAA8D;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,gCAAgC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAA4B,CAAC;YACzC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,CAAC;IACZ,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,qGAAqG;AACrG,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,QAAgB;IACjE,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,OAAO,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IAC7D,OAAO,CAAC,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;IAC1D,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;IAClD,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,mDAAmD,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,UAAU,iBAAiB,CAAC,WAAmB,EAAE,OAAgB;IACpE,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5D,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KAC3D,CAAC,CAAC;IACH,OAAO,YAAY,KAAK,eAAe,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAEpF,CAAC;QACF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAgB;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAE1E,CAAC;QACF,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,iBAAiB,EAAE,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACzF,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;SACxE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAClD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,cAAsB,kBAAkB;IAExC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,MAAM,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IACE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EACvD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,MAAM,KAAK,cAAc,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,cAAsB,kBAAkB;IAExC,OAAO,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAgF;IAEhF,MAAM,MAAM,GAA6D,EAAE,CAAC;IAC5E,IAAI,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,GAAG,IAAI,UAAU,CAAC;YAClC,MAAM,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;YAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,oEAAoE;IACpE,uCAAuC;IACvC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,sFAAsF;IACtF,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,IAAY;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4C,EAAE,CAAC;IAC7D,IAAI,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YAC/C,sEAAsE;YACtE,mEAAmE;YACnE,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACvD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,mEAAmE;gBACnE,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,4DAA4D;QAC5D,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACzC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAGxC;IACC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAC9D,IAAI,MAAM,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,4DAA4D,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;YAClG,oDAAoD;YACpD,2FAA2F,CAC9F,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,4BAA4B,aAAa,qEAAqE,CAC/G,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAuB,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,SAAS,GAA0E;QACvF;YACE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAC9D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAC5B,CAAC;oBACF,MAAM,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5F,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;SACF;KACF,CAAC;IAEF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;YAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC;SAC3E,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;gBACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACtF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,qEAAqE;QACrE,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,QAAQ,GAAwB;QACpC,IAAI;QACJ,OAAO,EAAE,MAAM,kBAAkB,CAAC,WAAW,CAAC;QAC9C,iBAAiB,EAAE,WAAW;QAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;IACF,MAAM,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;AACxE,CAAC"}
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AgentFileState } from "../connector/state.js";
|
|
1
2
|
import type { AgentAdapter } from "./types.js";
|
|
2
3
|
export { claude } from "./claude.js";
|
|
3
4
|
export { cursor } from "./cursor.js";
|
|
@@ -11,19 +12,12 @@ export declare const ALL_AGENTS: readonly AgentAdapter[];
|
|
|
11
12
|
*/
|
|
12
13
|
export declare function resolveAgents(ids?: string[]): Promise<AgentAdapter[]>;
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* commands version in state — otherwise doctor/peek would stop warning even
|
|
21
|
-
* though the files were never updated. Use `--force` (or a real write) first.
|
|
15
|
+
* Restrict a ledger-recorded agent's file manifest to paths under this
|
|
16
|
+
* adapter's own {@link AgentAdapter.ownedPrefixes} before it ever reaches
|
|
17
|
+
* `reconcile()`. Defends a known agent's `state.json` entry against becoming
|
|
18
|
+
* a delete/forget candidate for a path this binary doesn't actually manage
|
|
19
|
+
* for it — a stray or hand-edited entry stays in the ledger, untouched,
|
|
20
|
+
* rather than being planned against.
|
|
22
21
|
*/
|
|
23
|
-
export declare function
|
|
24
|
-
hooksInstalled?: boolean;
|
|
25
|
-
homeDir?: string;
|
|
26
|
-
/** Default true. Pass false when no command file was written or already up to date. */
|
|
27
|
-
advanceCommandsSchema?: boolean;
|
|
28
|
-
}): Promise<void>;
|
|
22
|
+
export declare function ownedLedgerFiles(agent: AgentAdapter, ledgerFiles: Record<string, AgentFileState> | undefined, homeDir?: string): Record<string, AgentFileState> | undefined;
|
|
29
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,eAAO,MAAM,UAAU,EAAE,SAAS,YAAY,EAAqB,CAAC;AAEpE;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAc3E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,EACvD,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,CAQ5C"}
|
package/dist/agents/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { VERSION } from "../index.js";
|
|
1
|
+
import { isUnderOwnedPrefix } from "../reconcile/core.js";
|
|
3
2
|
import { claude } from "./claude.js";
|
|
4
3
|
import { cursor } from "./cursor.js";
|
|
5
4
|
export { claude } from "./claude.js";
|
|
@@ -24,23 +23,18 @@ export async function resolveAgents(ids) {
|
|
|
24
23
|
return results.filter((r) => r.ok).map((r) => r.adapter);
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* commands version in state — otherwise doctor/peek would stop warning even
|
|
34
|
-
* though the files were never updated. Use `--force` (or a real write) first.
|
|
26
|
+
* Restrict a ledger-recorded agent's file manifest to paths under this
|
|
27
|
+
* adapter's own {@link AgentAdapter.ownedPrefixes} before it ever reaches
|
|
28
|
+
* `reconcile()`. Defends a known agent's `state.json` entry against becoming
|
|
29
|
+
* a delete/forget candidate for a path this binary doesn't actually manage
|
|
30
|
+
* for it — a stray or hand-edited entry stays in the ledger, untouched,
|
|
31
|
+
* rather than being planned against.
|
|
35
32
|
*/
|
|
36
|
-
export
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
grounderVersion: VERSION,
|
|
43
|
-
homeDir: opts.homeDir,
|
|
44
|
-
});
|
|
33
|
+
export function ownedLedgerFiles(agent, ledgerFiles, homeDir) {
|
|
34
|
+
if (!ledgerFiles) {
|
|
35
|
+
return ledgerFiles;
|
|
36
|
+
}
|
|
37
|
+
const owned = agent.ownedPrefixes(homeDir);
|
|
38
|
+
return Object.fromEntries(Object.entries(ledgerFiles).filter(([p]) => isUnderOwnedPrefix(p, owned)));
|
|
45
39
|
}
|
|
46
40
|
//# sourceMappingURL=index.js.map
|
package/dist/agents/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAc;IAChD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CACzE,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,WAAuD,EACvD,OAAgB;IAEhB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC"}
|