@wildorder/nightshift 0.16.0 → 0.18.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 +289 -1
- package/dist/agent-runner.d.ts +95 -5
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +442 -32
- package/dist/agent-runner.js.map +1 -1
- package/dist/agent-session.d.ts +123 -0
- package/dist/agent-session.d.ts.map +1 -0
- package/dist/agent-session.js +114 -0
- package/dist/agent-session.js.map +1 -0
- package/dist/atomic-write.d.ts +18 -0
- package/dist/atomic-write.d.ts.map +1 -0
- package/dist/atomic-write.js +74 -0
- package/dist/atomic-write.js.map +1 -0
- package/dist/author.d.ts +118 -4
- package/dist/author.d.ts.map +1 -1
- package/dist/author.js +650 -163
- package/dist/author.js.map +1 -1
- package/dist/causal-analysis.d.ts +216 -0
- package/dist/causal-analysis.d.ts.map +1 -0
- package/dist/causal-analysis.js +786 -0
- package/dist/causal-analysis.js.map +1 -0
- package/dist/cli.js +22 -2
- package/dist/cli.js.map +1 -1
- package/dist/concurrency.d.ts +24 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +28 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/decider-review.d.ts +13 -1
- package/dist/decider-review.d.ts.map +1 -1
- package/dist/decider-review.js +21 -7
- package/dist/decider-review.js.map +1 -1
- package/dist/decision-ledger.d.ts +7 -0
- package/dist/decision-ledger.d.ts.map +1 -1
- package/dist/decision-ledger.js +25 -10
- package/dist/decision-ledger.js.map +1 -1
- package/dist/detect-package-manager.d.ts +10 -0
- package/dist/detect-package-manager.d.ts.map +1 -1
- package/dist/detect-package-manager.js +12 -0
- package/dist/detect-package-manager.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +24 -5
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +254 -108
- package/dist/manifest.js.map +1 -1
- package/dist/permits.d.ts +18 -0
- package/dist/permits.d.ts.map +1 -1
- package/dist/permits.js +155 -0
- package/dist/permits.js.map +1 -1
- package/dist/preflight.d.ts +3 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +73 -57
- package/dist/preflight.js.map +1 -1
- package/dist/prompt-telemetry.d.ts +64 -0
- package/dist/prompt-telemetry.d.ts.map +1 -0
- package/dist/prompt-telemetry.js +112 -0
- package/dist/prompt-telemetry.js.map +1 -0
- package/dist/provider-telemetry.d.ts +106 -0
- package/dist/provider-telemetry.d.ts.map +1 -0
- package/dist/provider-telemetry.js +423 -0
- package/dist/provider-telemetry.js.map +1 -0
- package/dist/review-pass.d.ts +52 -10
- package/dist/review-pass.d.ts.map +1 -1
- package/dist/review-pass.js +114 -30
- package/dist/review-pass.js.map +1 -1
- package/dist/run-analytics-report.d.ts +286 -0
- package/dist/run-analytics-report.d.ts.map +1 -0
- package/dist/run-analytics-report.js +1242 -0
- package/dist/run-analytics-report.js.map +1 -0
- package/dist/run-analytics.d.ts +844 -0
- package/dist/run-analytics.d.ts.map +1 -0
- package/dist/run-analytics.js +777 -0
- package/dist/run-analytics.js.map +1 -0
- package/dist/run-log.d.ts +16 -0
- package/dist/run-log.d.ts.map +1 -0
- package/dist/run-log.js +32 -0
- package/dist/run-log.js.map +1 -0
- package/dist/run-program.d.ts +268 -4
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +2508 -762
- package/dist/run-program.js.map +1 -1
- package/dist/scheduler.d.ts +75 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +126 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/verify-cache.d.ts +64 -0
- package/dist/verify-cache.d.ts.map +1 -0
- package/dist/verify-cache.js +56 -0
- package/dist/verify-cache.js.map +1 -0
- package/dist/whole-program-review.d.ts +3 -0
- package/dist/whole-program-review.d.ts.map +1 -1
- package/dist/whole-program-review.js +8 -1
- package/dist/whole-program-review.js.map +1 -1
- package/dist/worktree.d.ts +124 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +397 -0
- package/dist/worktree.js.map +1 -0
- package/dist/write-queue.d.ts +25 -0
- package/dist/write-queue.d.ts.map +1 -0
- package/dist/write-queue.js +52 -0
- package/dist/write-queue.js.map +1 -0
- package/package.json +2 -2
- package/skills/plan-program/SKILL.md +37 -5
- package/dist/worktree-guard.d.ts +0 -40
- package/dist/worktree-guard.d.ts.map +0 -1
- package/dist/worktree-guard.js +0 -91
- package/dist/worktree-guard.js.map +0 -1
package/dist/manifest.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { readFile
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
import { atomicWriteFile } from "./atomic-write.js";
|
|
6
|
+
import { enqueueProgramWrite, programWriteKey } from "./write-queue.js";
|
|
5
7
|
/**
|
|
6
8
|
* The program manifest: the single canonical home for success criteria, the
|
|
7
9
|
* workstream roster, dependencies, scope, and human prerequisites. `/plan-
|
|
@@ -201,28 +203,53 @@ function parseManifest(raw, path) {
|
|
|
201
203
|
return manifest;
|
|
202
204
|
}
|
|
203
205
|
// The exact bytes this process last read (loadManifest) or wrote
|
|
204
|
-
// (saveManifest) for each manifest path
|
|
205
|
-
//
|
|
206
|
-
//
|
|
206
|
+
// (saveManifest) for each manifest *path*. "Drift" is a byte-for-byte
|
|
207
|
+
// difference between this and what is on disk at save time, so a
|
|
208
|
+
// whitespace-only human edit is a real (harmless) merge and the comparison
|
|
207
209
|
// is deterministic without a model. Keyed by the resolved absolute manifest
|
|
208
|
-
// path so two programs, or two tmpdirs in tests, never collide.
|
|
210
|
+
// path so two programs, or two tmpdirs in tests, never collide. Under the
|
|
211
|
+
// three-way merge (see `saveManifest`) its job narrows to one question: has
|
|
212
|
+
// a *human* amended the file since this process last touched it?
|
|
209
213
|
const lastBytes = new Map();
|
|
210
|
-
//
|
|
211
|
-
//
|
|
212
|
-
//
|
|
214
|
+
// The bytes this *object* last agreed with disk — set by loadManifest to
|
|
215
|
+
// what it parsed, and by saveManifest to what it wrote, inside the queued
|
|
216
|
+
// section. A WeakMap because it is keyed by a caller-owned object and must
|
|
217
|
+
// not keep it alive. Two flows can hold different manifest objects for the
|
|
218
|
+
// same program (the run's own load and authoring's own load); this is what
|
|
219
|
+
// lets a save tell its own changes from everything else on disk.
|
|
220
|
+
const baseBytes = new WeakMap();
|
|
221
|
+
// Total merged-on-drift saves performed this process for each path, counted
|
|
222
|
+
// only for a *human* amendment — an in-process flow's own drift is not a
|
|
223
|
+
// merge this counter has ever meant (see `saveManifest`). Only ever
|
|
224
|
+
// incremented (never reset), so a run can snapshot it at start and compare
|
|
225
|
+
// at report time without a reload clearing history mid-run.
|
|
213
226
|
const mergeCount = new Map();
|
|
227
|
+
/** Where a manifest save's atomic-write temp file is staged — outside `docs/programs` (see the `build-logs-temp` decision). */
|
|
228
|
+
function manifestTempDir(root, programId) {
|
|
229
|
+
return join(resolve(root), "build-logs", programId, "tmp");
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Every access to a program's manifest goes through this module's write
|
|
233
|
+
* queue (`enqueueProgramWrite`, keyed by `programWriteKey`) — a total order
|
|
234
|
+
* over a program's runner-owned state shared with the decision ledger, so
|
|
235
|
+
* the ledger never describes a manifest state that never existed. A queued
|
|
236
|
+
* task does filesystem work only.
|
|
237
|
+
*/
|
|
214
238
|
export async function loadManifest(root, programId) {
|
|
215
239
|
const path = manifestPath(root, programId);
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
240
|
+
return enqueueProgramWrite(programWriteKey(root, programId), async () => {
|
|
241
|
+
let raw;
|
|
242
|
+
try {
|
|
243
|
+
raw = await readFile(path, "utf8");
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
throw new Error(`No manifest at ${path}. Plan the program first with /plan-program.`);
|
|
247
|
+
}
|
|
248
|
+
const manifest = parseManifest(raw, path);
|
|
249
|
+
lastBytes.set(path, raw);
|
|
250
|
+
baseBytes.set(manifest, raw);
|
|
251
|
+
return manifest;
|
|
252
|
+
});
|
|
226
253
|
}
|
|
227
254
|
/**
|
|
228
255
|
* Every field of a manifest has exactly one authoritative writer. The
|
|
@@ -231,67 +258,122 @@ export async function loadManifest(root, programId) {
|
|
|
231
258
|
* doc comment) `prerequisites`; and each prerequisite record's `status`. The human owns
|
|
232
259
|
* everything else, including which workstreams and prerequisite records
|
|
233
260
|
* exist at all. A save that finds the on-disk copy has drifted since this
|
|
234
|
-
*
|
|
235
|
-
* runner-owned fields
|
|
236
|
-
* blind whole-object overwrite
|
|
237
|
-
*
|
|
261
|
+
* object last agreed with it reloads that copy, overlays only the
|
|
262
|
+
* runner-owned fields *this object actually changed* onto it, and writes
|
|
263
|
+
* the merge — never a blind whole-object overwrite, and never a field this
|
|
264
|
+
* flow never touched. See `docs/programs/clear-backlog-manifest.json`
|
|
265
|
+
* (WS-02) for the full contract this implements, and the WS-01 spec's
|
|
266
|
+
* "Two objects, one truth" section for why a shared write queue alone does
|
|
267
|
+
* not make two *different* manifest objects for the same program safe.
|
|
268
|
+
*
|
|
269
|
+
* The whole body — including the `JSON.stringify` — runs inside the
|
|
270
|
+
* program's write queue. Moving the stringify inside is what makes two
|
|
271
|
+
* interleaved saves *of the same manifest object* converge on a superset
|
|
272
|
+
* instead of clobbering one another: the bytes written are the in-memory
|
|
273
|
+
* state at the moment the write actually happens, not at the moment the
|
|
274
|
+
* call was made, and nothing can mutate a manifest mid-synchronous-section
|
|
275
|
+
* because the runtime is single-threaded and `JSON.stringify` is
|
|
276
|
+
* synchronous.
|
|
238
277
|
*/
|
|
239
278
|
export async function saveManifest(root, programId, manifest, options) {
|
|
240
279
|
const path = manifestPath(root, programId);
|
|
241
|
-
const
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
280
|
+
const tempDir = manifestTempDir(root, programId);
|
|
281
|
+
const logLines = [];
|
|
282
|
+
const result = await enqueueProgramWrite(programWriteKey(root, programId), async () => {
|
|
283
|
+
const serialized = `${JSON.stringify(manifest, null, 2)}\n`;
|
|
284
|
+
let currentOnDisk;
|
|
285
|
+
try {
|
|
286
|
+
currentOnDisk = await readFile(path, "utf8");
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
currentOnDisk = undefined;
|
|
290
|
+
}
|
|
291
|
+
if (currentOnDisk === undefined) {
|
|
292
|
+
await atomicWriteFile(path, serialized, { tempDir });
|
|
293
|
+
lastBytes.set(path, serialized);
|
|
294
|
+
baseBytes.set(manifest, serialized);
|
|
295
|
+
return { merged: false };
|
|
296
|
+
}
|
|
297
|
+
const objectBase = baseBytes.get(manifest);
|
|
298
|
+
if (objectBase !== undefined && currentOnDisk === objectBase) {
|
|
299
|
+
// Nothing has changed on disk since this object last agreed with it,
|
|
300
|
+
// so this object's bytes are a strict superset of what is there.
|
|
301
|
+
// Straight write — the common serial path, byte-for-byte what it is
|
|
302
|
+
// today.
|
|
303
|
+
await atomicWriteFile(path, serialized, { tempDir });
|
|
304
|
+
lastBytes.set(path, serialized);
|
|
305
|
+
baseBytes.set(manifest, serialized);
|
|
306
|
+
return { merged: false };
|
|
307
|
+
}
|
|
308
|
+
// Drift: the bytes on disk differ from what this object last agreed
|
|
309
|
+
// with. The on-disk copy must still be valid to merge onto.
|
|
310
|
+
let disk;
|
|
311
|
+
try {
|
|
312
|
+
disk = parseManifest(currentOnDisk, path);
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
throw new Error(`${path} was amended on disk since this run last read it, but the ` +
|
|
316
|
+
`amended copy could not be merged: ${error.message}`, { cause: error });
|
|
317
|
+
}
|
|
318
|
+
// Parsed lazily, only on this path — the file is small and this path is
|
|
319
|
+
// rare. Absent when this object was never loaded (a freshly planned
|
|
320
|
+
// manifest, or one a test hand-built): `mergeManifests` then falls back
|
|
321
|
+
// to overlaying every runner-owned field unconditionally, today's
|
|
322
|
+
// behavior.
|
|
323
|
+
let base;
|
|
324
|
+
if (objectBase !== undefined) {
|
|
325
|
+
try {
|
|
326
|
+
base = parseManifest(objectBase, path);
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
base = undefined;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
const { manifest: merged, removedWorkstreamIds, removedPrerequisiteIds } = mergeManifests(disk, manifest, base);
|
|
333
|
+
const mergedSerialized = `${JSON.stringify(merged, null, 2)}\n`;
|
|
334
|
+
try {
|
|
335
|
+
parseManifest(mergedSerialized, path);
|
|
336
|
+
}
|
|
337
|
+
catch (error) {
|
|
338
|
+
throw new Error(`${path} was amended on disk since this run last read it, and merging ` +
|
|
339
|
+
`the run's changes onto the amendment produced an invalid manifest: ` +
|
|
340
|
+
`${error.message}`, { cause: error });
|
|
341
|
+
}
|
|
342
|
+
// Two causes for this drift: a *human* amended the file
|
|
343
|
+
// (`currentOnDisk` differs from what this *process* last read or wrote
|
|
344
|
+
// for this path), or the drift is purely another in-process flow's own
|
|
345
|
+
// write (`currentOnDisk` matches this process's path-level baseline —
|
|
346
|
+
// some sibling flow wrote it, and this object simply hadn't seen that
|
|
347
|
+
// write yet). Only the former is a human amendment; the latter is not
|
|
348
|
+
// counted or reported as one (see the module doc comment).
|
|
349
|
+
const pathBaseline = lastBytes.get(path);
|
|
350
|
+
const humanAmended = pathBaseline === undefined || currentOnDisk !== pathBaseline;
|
|
351
|
+
await atomicWriteFile(path, mergedSerialized, { tempDir });
|
|
352
|
+
lastBytes.set(path, mergedSerialized);
|
|
353
|
+
baseBytes.set(manifest, mergedSerialized);
|
|
354
|
+
adoptMerged(manifest, merged);
|
|
355
|
+
if (humanAmended) {
|
|
356
|
+
mergeCount.set(path, (mergeCount.get(path) ?? 0) + 1);
|
|
357
|
+
logLines.push(`manifest: on-disk copy was amended since this run loaded it; merged ` +
|
|
358
|
+
`the human's edits and kept the runner's status changes (${path})`);
|
|
359
|
+
for (const id of removedWorkstreamIds) {
|
|
360
|
+
logLines.push(`manifest: workstream "${id}" was removed from the manifest by a ` +
|
|
361
|
+
`human edit; discarding this run's in-memory progress for it (${path})`);
|
|
362
|
+
}
|
|
363
|
+
for (const id of removedPrerequisiteIds) {
|
|
364
|
+
logLines.push(`manifest: prerequisite "${id}" was removed from the manifest by a ` +
|
|
365
|
+
`human edit; discarding this run's in-memory progress for it (${path})`);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return { merged: humanAmended };
|
|
369
|
+
});
|
|
370
|
+
// Logged outside the queued section: a caller-supplied `log` is not this
|
|
371
|
+
// module's code and must never run while the queue holds the section — a
|
|
372
|
+
// log callback that itself calls `saveManifest` would otherwise
|
|
373
|
+
// self-deadlock the queue.
|
|
374
|
+
for (const line of logLines)
|
|
375
|
+
options?.log?.(line);
|
|
376
|
+
return result;
|
|
295
377
|
}
|
|
296
378
|
export function manifestMergeCount(root, programId) {
|
|
297
379
|
return mergeCount.get(manifestPath(root, programId)) ?? 0;
|
|
@@ -300,57 +382,119 @@ export function manifestMergeCount(root, programId) {
|
|
|
300
382
|
* Field-level merge of a runner-held in-memory manifest onto a validated
|
|
301
383
|
* on-disk copy. `disk` is the base — every field the human owns comes from
|
|
302
384
|
* it, including roster membership. Only the runner-owned fields listed in
|
|
303
|
-
* the module doc comment are overlaid from `memory`.
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
385
|
+
* the module doc comment are overlaid from `memory`.
|
|
386
|
+
*
|
|
387
|
+
* `base`, when given, is the manifest `memory` last agreed with (the bytes
|
|
388
|
+
* `saveManifest` tracks per-object in `baseBytes`) — a *scalar* runner-owned
|
|
389
|
+
* field (a workstream's `status`/`specHash`/`specStatus`/`commit`,
|
|
390
|
+
* `program.status`) is then overlaid onto `disk` only when `memory`'s value
|
|
391
|
+
* differs from `base`'s, so a field this flow never touched keeps whatever
|
|
392
|
+
* `disk` has, letting a sibling flow's own change to that field survive
|
|
393
|
+
* (WS-01 "Two objects, one truth"). Absent `base` (a manifest object this
|
|
394
|
+
* process never loaded — a freshly planned manifest, or one a test
|
|
395
|
+
* hand-built), every runner-owned field is overlaid unconditionally:
|
|
396
|
+
* today's behavior, and the right answer when there is no earlier agreement
|
|
397
|
+
* to diff against.
|
|
398
|
+
*
|
|
399
|
+
* A workstream's `dependencies` and `prerequisites` (gate refs) are
|
|
400
|
+
* runner-owned for the SC-11 self-satisfying-gate reason (see the inline
|
|
401
|
+
* comment below) but are *array* fields, so — unlike the scalars — they get
|
|
402
|
+
* a three-way element merge (`mergeIdArray`) rather than a blunt
|
|
403
|
+
* overlay-or-keep choice: an id this flow's own object dropped since `base`
|
|
404
|
+
* is dropped (an intentional removal — see author.ts's cycle rollback — wins
|
|
405
|
+
* even if a stale `disk` copy still has it), an id `disk` gained that `base`
|
|
406
|
+
* never had and `memory` never dropped is kept (a sibling flow's own
|
|
407
|
+
* legitimate addition to a workstream this object never touched survives),
|
|
408
|
+
* and an id present in both `base` and `memory` is never dropped just
|
|
409
|
+
* because `disk` lost it — that would be exactly the self-satisfying-gate
|
|
410
|
+
* corruption SC-11 exists to block. A prerequisite record's own `status` has
|
|
411
|
+
* no such element-level structure — it is one of two states, so "this flow
|
|
412
|
+
* didn't touch it" and "an agent's stray write flipped it to satisfied" are
|
|
413
|
+
* indistinguishable from the bytes alone — and stays unconditionally
|
|
414
|
+
* overlaid from `memory` regardless of `base`: relaxing it would reopen
|
|
415
|
+
* SC-11 with no way to tell the two apart. Decision recorded in the WS-01
|
|
416
|
+
* test-critique follow-up.
|
|
417
|
+
*
|
|
418
|
+
* Returns a new object; does not mutate either input (the caller adopts the
|
|
419
|
+
* result into `memory` separately, preserving object identity — see
|
|
420
|
+
* `adoptMerged`). Does not log: the caller only logs once the merge has
|
|
421
|
+
* been validated and written.
|
|
307
422
|
*/
|
|
308
|
-
function mergeManifests(disk, memory) {
|
|
423
|
+
function mergeManifests(disk, memory, base) {
|
|
309
424
|
const memoryWorkstreamById = new Map(memory.workstreams.map((w) => [w.id, w]));
|
|
425
|
+
const baseWorkstreamById = new Map((base?.workstreams ?? []).map((w) => [w.id, w]));
|
|
310
426
|
const diskWorkstreamIds = new Set(disk.workstreams.map((w) => w.id));
|
|
311
427
|
const diskPrerequisiteIds = new Set(disk.prerequisites.map((p) => p.id));
|
|
428
|
+
// "Changed since base" — true unconditionally when there is no base to
|
|
429
|
+
// diff against (today's full-overlay behavior), true when the base never
|
|
430
|
+
// saw this workstream/prerequisite at all, and otherwise true only when
|
|
431
|
+
// memory's value actually differs from base's. Applied only to the
|
|
432
|
+
// scalar runner-owned fields (§3.1's demonstrated failure mode — two
|
|
433
|
+
// flows each completing a different workstream — is about exactly these).
|
|
434
|
+
const changedScalar = (baseValue, memoryValue) => base === undefined || baseValue === undefined || baseValue !== memoryValue;
|
|
435
|
+
// Three-way merge for a runner-owned array-of-ids field. Absent a `base`,
|
|
436
|
+
// this is today's full overlay from `memory`. With a `base`, the result is
|
|
437
|
+
// the union of `disk` and `memory` minus only the ids `base` had that
|
|
438
|
+
// `memory` no longer does — this object's own intentional removal, which
|
|
439
|
+
// wins even over a stale `disk` copy that still has the id. An id neither
|
|
440
|
+
// `base` nor `memory` dropped is never excluded just because `disk`
|
|
441
|
+
// dropped it (the SC-11 anti-stripping guarantee), and an id `disk` alone
|
|
442
|
+
// gained survives (a sibling's legitimate addition). `memory`'s own order
|
|
443
|
+
// is preserved; any surviving `disk`-only ids are appended in `disk`'s
|
|
444
|
+
// order. `filterIds` narrows the result to the current roster, same as
|
|
445
|
+
// today's overlay.
|
|
446
|
+
const mergeIdArray = (diskIds, memoryIds, baseIds, filterIds) => {
|
|
447
|
+
if (baseIds === undefined)
|
|
448
|
+
return memoryIds.filter((id) => filterIds.has(id));
|
|
449
|
+
const memorySet = new Set(memoryIds);
|
|
450
|
+
const tombstoned = new Set(baseIds.filter((id) => !memorySet.has(id)));
|
|
451
|
+
const merged = [...memoryIds];
|
|
452
|
+
for (const id of diskIds) {
|
|
453
|
+
if (!memorySet.has(id) && !tombstoned.has(id))
|
|
454
|
+
merged.push(id);
|
|
455
|
+
}
|
|
456
|
+
return merged.filter((id) => filterIds.has(id));
|
|
457
|
+
};
|
|
312
458
|
const mergedWorkstreams = disk.workstreams.map((diskWorkstream) => {
|
|
313
459
|
const memoryWorkstream = memoryWorkstreamById.get(diskWorkstream.id);
|
|
314
460
|
if (!memoryWorkstream)
|
|
315
461
|
return diskWorkstream;
|
|
316
|
-
const
|
|
317
|
-
// Which prerequisites gate a workstream is treated as runner-owned, not
|
|
318
|
-
// human-owned like the rest of the workstream's structural fields: a
|
|
319
|
-
// from-disk merge here cannot tell a genuine human edit from an agent's
|
|
320
|
-
// own file write landing on disk mid-run, and the latter must never let
|
|
321
|
-
// a workstream strip its own gate (SC-11 — see
|
|
322
|
-
// test/run-program.test.ts's "self-satisfying HP-01" case, and the
|
|
323
|
-
// WS-02 decision log for the full reasoning).
|
|
324
|
-
const mergedPrerequisiteRefs = memoryWorkstream.prerequisites.filter((id) => diskPrerequisiteIds.has(id));
|
|
462
|
+
const baseWorkstream = baseWorkstreamById.get(diskWorkstream.id);
|
|
325
463
|
const merged = {
|
|
326
464
|
...diskWorkstream,
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
prerequisites: mergedPrerequisiteRefs,
|
|
465
|
+
dependencies: mergeIdArray(diskWorkstream.dependencies, memoryWorkstream.dependencies, base ? (baseWorkstream?.dependencies ?? []) : undefined, diskWorkstreamIds),
|
|
466
|
+
prerequisites: mergeIdArray(diskWorkstream.prerequisites, memoryWorkstream.prerequisites, base ? (baseWorkstream?.prerequisites ?? []) : undefined, diskPrerequisiteIds),
|
|
330
467
|
};
|
|
331
|
-
if (memoryWorkstream.
|
|
332
|
-
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
merged.specHash = memoryWorkstream.specHash;
|
|
336
|
-
}
|
|
337
|
-
if (memoryWorkstream.specStatus === undefined) {
|
|
338
|
-
delete merged.specStatus;
|
|
468
|
+
if (changedScalar(baseWorkstream?.status, memoryWorkstream.status)) {
|
|
469
|
+
merged.status = memoryWorkstream.status;
|
|
339
470
|
}
|
|
340
|
-
|
|
341
|
-
|
|
471
|
+
if (changedScalar(baseWorkstream?.specHash, memoryWorkstream.specHash)) {
|
|
472
|
+
if (memoryWorkstream.specHash === undefined)
|
|
473
|
+
delete merged.specHash;
|
|
474
|
+
else
|
|
475
|
+
merged.specHash = memoryWorkstream.specHash;
|
|
342
476
|
}
|
|
343
|
-
if (memoryWorkstream.
|
|
344
|
-
|
|
477
|
+
if (changedScalar(baseWorkstream?.specStatus, memoryWorkstream.specStatus)) {
|
|
478
|
+
if (memoryWorkstream.specStatus === undefined)
|
|
479
|
+
delete merged.specStatus;
|
|
480
|
+
else
|
|
481
|
+
merged.specStatus = memoryWorkstream.specStatus;
|
|
345
482
|
}
|
|
346
|
-
|
|
347
|
-
|
|
483
|
+
if (changedScalar(baseWorkstream?.commit, memoryWorkstream.commit)) {
|
|
484
|
+
if (memoryWorkstream.commit === undefined)
|
|
485
|
+
delete merged.commit;
|
|
486
|
+
else
|
|
487
|
+
merged.commit = memoryWorkstream.commit;
|
|
348
488
|
}
|
|
349
489
|
return merged;
|
|
350
490
|
});
|
|
351
491
|
const removedWorkstreamIds = memory.workstreams
|
|
352
492
|
.map((w) => w.id)
|
|
353
493
|
.filter((id) => !diskWorkstreamIds.has(id));
|
|
494
|
+
// A prerequisite record's own `status` is unconditionally overlaid too,
|
|
495
|
+
// for the identical SC-11 reason: only the deterministic preflight may
|
|
496
|
+
// satisfy a prerequisite, and a from-disk merge cannot tell that from an
|
|
497
|
+
// agent's own file write self-satisfying its gate.
|
|
354
498
|
const memoryPrerequisiteById = new Map(memory.prerequisites.map((p) => [p.id, p]));
|
|
355
499
|
const mergedPrerequisites = disk.prerequisites.map((diskPrerequisite) => {
|
|
356
500
|
const memoryPrerequisite = memoryPrerequisiteById.get(diskPrerequisite.id);
|
|
@@ -363,7 +507,9 @@ function mergeManifests(disk, memory) {
|
|
|
363
507
|
.filter((id) => !diskPrerequisiteIds.has(id));
|
|
364
508
|
const manifest = {
|
|
365
509
|
...disk,
|
|
366
|
-
program:
|
|
510
|
+
program: changedScalar(base?.program.status, memory.program.status)
|
|
511
|
+
? { ...disk.program, status: memory.program.status }
|
|
512
|
+
: disk.program,
|
|
367
513
|
workstreams: mergedWorkstreams,
|
|
368
514
|
prerequisites: mergedPrerequisites,
|
|
369
515
|
};
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa;IACb,aAAa;IACb,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,gBAAgB;CACR,CAAC;AAIX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC;AAIvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC;;;;OAIG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,qEAAqE;IACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,mEAAmE;IACnE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B;;;;;;;;OAQG;IACH,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;CACzD,CAAC,CAAC;AAIH,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC1D,4EAA4E;IAC5E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC5D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC3C,CAAC;SACD,KAAK,EAAE;IACV,eAAe,EAAE,CAAC;SACf,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAC5E;SACA,OAAO,CAAC,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/D,CAAC;KACD,KAAK,EAAE,CAAC;AAKX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAoE,EACpE,UAAiF;IAEjF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CACzD,CAAC;IACF,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,IAAI;QAC/B,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;QACjD,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5D,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,WAAW,EAAE,SAAS,CAAC,WAAW;SACnC,CAAC,CAAC;QACH,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC;gBACE,aAAa,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBAC7D,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvC,OAAO;wBACL,EAAE;wBACF,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI;wBACvC,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,IAAI;qBAC5C,CAAC;gBACJ,CAAC,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC9B,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,SAAiB;IAC1D,OAAO,IAAI,CACT,OAAO,CAAC,IAAI,CAAC,EACb,MAAM,EACN,UAAU,EACV,GAAG,SAAS,gBAAgB,CAC7B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,IAAY;IAC9C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uBAAwB,KAAe,CAAC,OAAO,EAAE,EAAE;YACxE,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gBAAgB,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,KAAK,UAAU,CAAC,EAAE,mCAAmC,UAAU,GAAG,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,MAAM,YAAY,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,gCAAgC,YAAY,CAAC,EAAE,GAAG,CAC1D,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YACpD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,KAAK,UAAU,CAAC,EAAE,mCAAmC,YAAY,GAAG,CAC5E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iEAAiE;AACjE,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,gEAAgE;AAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C,yEAAyE;AACzE,wEAAwE;AACxE,oEAAoE;AACpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,SAAiB;IAEjB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,8CAA8C,CACrE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,SAAiB,EACjB,QAAyB,EACzB,OAA6B;IAE7B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAE5D,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,sEAAsE;IACtE,6DAA6D;IAC7D,IAAI,IAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,IAAI,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,4DAA4D;YACjE,qCAAsC,KAAe,CAAC,OAAO,EAAE,EACjE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GACtE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEjC,MAAM,gBAAgB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChE,IAAI,CAAC;QACH,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,gEAAgE;YACrE,qEAAqE;YACrE,GAAI,KAAe,CAAC,OAAO,EAAE,EAC/B,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAChD,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACtC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,EAAE,CACZ,sEAAsE;QACpE,2DAA2D,IAAI,GAAG,CACrE,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;QACtC,OAAO,EAAE,GAAG,EAAE,CACZ,yBAAyB,EAAE,uCAAuC;YAChE,gEAAgE,IAAI,GAAG,CAC1E,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,sBAAsB,EAAE,CAAC;QACxC,OAAO,EAAE,GAAG,EAAE,CACZ,2BAA2B,EAAE,uCAAuC;YAClE,gEAAgE,IAAI,GAAG,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,SAAiB;IAChE,OAAO,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AASD;;;;;;;;GAQG;AACH,SAAS,cAAc,CACrB,IAAqB,EACrB,MAAuB;IAEvB,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QAChE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB;YAAE,OAAO,cAAc,CAAC;QAC7C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACrE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAC1B,CAAC;QACF,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,wEAAwE;QACxE,+CAA+C;QAC/C,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1E,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAC5B,CAAC;QACF,MAAM,MAAM,GAAe;YACzB,GAAG,cAAc;YACjB,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,YAAY,EAAE,kBAAkB;YAChC,aAAa,EAAE,sBAAsB;SACtC,CAAC;QACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAC9C,CAAC;QACD,IAAI,gBAAgB,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;QAClD,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;QACtE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB;YAAE,OAAO,gBAAgB,CAAC;QACjD,OAAO,EAAE,GAAG,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,MAAM,CAAC,aAAa;SAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAoB;QAChC,GAAG,IAAI;QACP,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;QAC3D,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,mBAAmB;KACnC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAmB,MAAS,EAAE,MAAS;IAC7D,MAAM,SAAS,GAAG,MAA4C,CAAC;IAC/D,MAAM,SAAS,GAAG,MAA4C,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAAuB,EAAE,MAAuB;IACnE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACpE,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,KAAK,MAAM,gBAAgB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;YACrD,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,sBAAsB,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;QAC1E,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,KAAK,MAAM,kBAAkB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;YACzD,sBAAsB,CAAC,IAAI,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,WAAW,GAAG,oBAAoB,CAAC;IAC1C,MAAM,CAAC,aAAa,GAAG,sBAAsB,CAAC;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/permits.d.ts
CHANGED
|
@@ -42,6 +42,24 @@ export interface DerivedInvocation {
|
|
|
42
42
|
* authored flags is the override the charter forbids.
|
|
43
43
|
*/
|
|
44
44
|
export declare function hasExplicitPermissionFlag(agent: AgentConfig): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* True when the agent's own *configured* args (pre-derivation) already
|
|
47
|
+
* carry a session-managing flag. Checked on `agent.args`, not the derived
|
|
48
|
+
* invocation — an operator-authored flag is what this exists to detect.
|
|
49
|
+
*/
|
|
50
|
+
export declare function hasPinnedSessionFlag(agent: AgentConfig): boolean;
|
|
51
|
+
export type ResumeDerivation = {
|
|
52
|
+
supported: true;
|
|
53
|
+
agent: AgentConfig;
|
|
54
|
+
} | {
|
|
55
|
+
supported: false;
|
|
56
|
+
reason: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Rewrites an already-derived invocation into one that continues
|
|
60
|
+
* `sessionId`. Pure: no I/O, no capability detection.
|
|
61
|
+
*/
|
|
62
|
+
export declare function deriveResumeInvocation(agent: AgentConfig, sessionId: string): ResumeDerivation;
|
|
45
63
|
/** One `--allowedTools`/settings allow entry per configured verify command. Relocated from verify-allowlist.ts. */
|
|
46
64
|
export declare function claudeVerifyAllowedTools(verify: Record<string, string>): string[];
|
|
47
65
|
/** The workspace settings file: verify rules + permits.allow/deny, plus a sandbox block on darwin/linux. */
|
package/dist/permits.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permits.d.ts","sourceRoot":"","sources":["../src/permits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"permits.d.ts","sourceRoot":"","sources":["../src/permits.ts"],"names":[],"mappings":"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"}
|