@lannguyensi/harness 0.55.0 → 0.56.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/CHANGELOG.md +16 -0
- package/dist/cli/adopt/derive.js +1 -0
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/doctor/format.js +8 -0
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.js +16 -0
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +16 -0
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/doctor/ug-inflight.d.ts +35 -0
- package/dist/cli/doctor/ug-inflight.js +57 -0
- package/dist/cli/doctor/ug-inflight.js.map +1 -0
- package/dist/cli/gc/index.d.ts +2 -1
- package/dist/cli/gc/index.js +196 -9
- package/dist/cli/gc/index.js.map +1 -1
- package/dist/cli/index.js +42 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/pack/auto-approve-path.d.ts +11 -0
- package/dist/cli/pack/auto-approve-path.js +4 -2
- package/dist/cli/pack/auto-approve-path.js.map +1 -1
- package/dist/cli/pack/hook-bootstrap.d.ts +90 -0
- package/dist/cli/pack/hook-bootstrap.js +162 -0
- package/dist/cli/pack/hook-bootstrap.js.map +1 -1
- package/dist/cli/pack/hook-pre-tool-use.js +143 -6
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-subagent-start.d.ts +21 -0
- package/dist/cli/pack/hook-subagent-start.js +71 -0
- package/dist/cli/pack/hook-subagent-start.js.map +1 -0
- package/dist/cli/pack/hook-subagent-stop.d.ts +19 -0
- package/dist/cli/pack/hook-subagent-stop.js +41 -0
- package/dist/cli/pack/hook-subagent-stop.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +2 -1
- package/dist/policy-packs/builtin/understanding-before-execution/index.js +9 -0
- package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.d.ts +135 -0
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js +619 -0
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js +25 -11
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +4 -4
- package/dist/policy-packs/builtin/understanding-before-execution.js +42 -1
- package/dist/policy-packs/builtin/understanding-before-execution.js.map +1 -1
- package/dist/schema/hooks.d.ts +13 -13
- package/dist/schema/hooks.js +1 -0
- package/dist/schema/hooks.js.map +1 -1
- package/dist/schema/index.d.ts +24 -24
- package/dist/schema/policies.d.ts +19 -19
- package/package.json +1 -1
package/dist/cli/gc/index.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
// <generatedDir>/.delegation-adoptions once-per-session adoption ledgers
|
|
19
19
|
// <generatedDir>/.permission-mode-observations per-session PreToolUse
|
|
20
20
|
// permission_mode observations (task 8f637efd)
|
|
21
|
+
// <generatedDir>/.inflight signed in-flight subagent records (subagent-gate slice 1)
|
|
21
22
|
// The evidence ledger (grounding-mcp) and solution-acceptance
|
|
22
23
|
// verdict dirs (producer-owned) are out of scope by design.
|
|
23
24
|
// - Deletion failures are surfaced loudly per file, never swallowed.
|
|
@@ -41,6 +42,24 @@
|
|
|
41
42
|
// sibling (if any) stays too, since "this delegation is dead" cannot be
|
|
42
43
|
// established for one gc cannot read.
|
|
43
44
|
//
|
|
45
|
+
// IN-FLIGHT RECORDS SWEEP (subagent-gate slice 1): a record's SIGNED
|
|
46
|
+
// `approvedAt` decides staleness (never the unsigned `startedAt`
|
|
47
|
+
// convenience copy — gc does not verify signatures, so it must not let
|
|
48
|
+
// an editable field decide), on a FIXED 24h window
|
|
49
|
+
// (`DEFAULT_INFLIGHT_STALE_AFTER_MS`) plus a small future-skew
|
|
50
|
+
// tolerance, independent of `--retention-days` — the same "the marker's
|
|
51
|
+
// own signed timestamp decides, not gc's generic cutoff" shape the
|
|
52
|
+
// delegation sweep already uses for `expires`, but a record has no
|
|
53
|
+
// operator-chosen lifetime to honour, so gc does not let
|
|
54
|
+
// `--retention-days` extend or shrink it. `verifyInflightRecord` itself
|
|
55
|
+
// exposes a `staleAfterMs` override, but that is a test seam only — no
|
|
56
|
+
// production caller passes it, so this sweep's window is, in practice,
|
|
57
|
+
// as fixed as the runtime gate's own. A record gc cannot parse is
|
|
58
|
+
// never a deletion candidate (same fail-closed posture as an
|
|
59
|
+
// unparseable delegation): it is surfaced in `GcResult.unparseable`
|
|
60
|
+
// instead. Deleting a session's last record also removes that now-empty
|
|
61
|
+
// session directory, best effort, mirroring `clearInflightRecord`.
|
|
62
|
+
//
|
|
44
63
|
// PERMISSION-MODE OBSERVATIONS SWEEP (task 8f637efd review round 2 F5):
|
|
45
64
|
// `.permission-mode-observations/` (one small per-session file, see
|
|
46
65
|
// permission-mode-observations.ts) grows the same way `.approvals/` and
|
|
@@ -54,8 +73,9 @@ import * as fs from "node:fs";
|
|
|
54
73
|
import * as path from "node:path";
|
|
55
74
|
import { readRegularFileRejectingSymlink } from "../../io/read-regular-file.js";
|
|
56
75
|
import { safeJsonParse } from "../../io/safe-json-parse.js";
|
|
57
|
-
import { ADOPTION_LEDGER_DIRNAME, APPROVAL_MARKER_DIRNAME, DELEGATION_MARKER_DIRNAME, PERMISSION_MODE_OBSERVATION_DIRNAME, defaultReportsDir, listPersistedReports, parseDelegationApprovedBy, } from "../../policy-packs/builtin/understanding-before-execution-runtime.js";
|
|
76
|
+
import { ADOPTION_LEDGER_DIRNAME, APPROVAL_MARKER_DIRNAME, DEFAULT_INFLIGHT_STALE_AFTER_MS, DELEGATION_MARKER_DIRNAME, INFLIGHT_RECORD_DIRNAME, PERMISSION_MODE_OBSERVATION_DIRNAME, defaultReportsDir, listPersistedReports, parseDelegationApprovedBy, rejectMalformedAgentId, } from "../../policy-packs/builtin/understanding-before-execution-runtime.js";
|
|
58
77
|
import { resolveGeneratedDir } from "../../runtime/pending-approval.js";
|
|
78
|
+
import { rejectMalformedSessionId } from "../../runtime/reject-malformed-session-id.js";
|
|
59
79
|
import { resolvePaths } from "../loader.js";
|
|
60
80
|
export const DEFAULT_RETENTION_DAYS = 30;
|
|
61
81
|
// Same literal `harness approve understanding` uses for its parse-error
|
|
@@ -112,6 +132,25 @@ function staleFilesByMtime(dir, cutoffMs, nowMs, category) {
|
|
|
112
132
|
* being a coincidence.
|
|
113
133
|
*/
|
|
114
134
|
const SESSION_ID_BASENAME_RE = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
|
|
135
|
+
/**
|
|
136
|
+
* Shared preamble every gc status reader below stands on: read a
|
|
137
|
+
* candidate file (rejecting a symlink the same way every marker read in
|
|
138
|
+
* this pack does) and parse it as a JSON object. Both the delegation and
|
|
139
|
+
* in-flight-record readers apply their own, artifact-specific
|
|
140
|
+
* classification on top of this; a file that fails here is `unparseable`
|
|
141
|
+
* to both, uniformly, before either ever looks at its fields.
|
|
142
|
+
*/
|
|
143
|
+
function readJsonRecordOrUnparseable(filePath) {
|
|
144
|
+
const read = readRegularFileRejectingSymlink(filePath);
|
|
145
|
+
if (read.kind !== "ok") {
|
|
146
|
+
return { ok: false, reason: `could not read ${filePath} (${read.kind})` };
|
|
147
|
+
}
|
|
148
|
+
const parsed = safeJsonParse(read.content);
|
|
149
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
150
|
+
return { ok: false, reason: "not a JSON object" };
|
|
151
|
+
}
|
|
152
|
+
return { ok: true, body: parsed };
|
|
153
|
+
}
|
|
115
154
|
/**
|
|
116
155
|
* Read a `.delegations/<sid>` marker and classify it against `cutoffMs`,
|
|
117
156
|
* WITHOUT verifying its signature: gc is deciding whether to delete a
|
|
@@ -122,15 +161,11 @@ const SESSION_ID_BASENAME_RE = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
|
|
|
122
161
|
* marker gc cannot understand is never deleted (mutation probe M2).
|
|
123
162
|
*/
|
|
124
163
|
function readDelegationStatus(filePath, cutoffMs, nowMs) {
|
|
125
|
-
const read =
|
|
126
|
-
if (read.
|
|
127
|
-
return { kind: "unparseable", reason:
|
|
128
|
-
}
|
|
129
|
-
const parsed = safeJsonParse(read.content);
|
|
130
|
-
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
131
|
-
return { kind: "unparseable", reason: "not a JSON object" };
|
|
164
|
+
const read = readJsonRecordOrUnparseable(filePath);
|
|
165
|
+
if (!read.ok) {
|
|
166
|
+
return { kind: "unparseable", reason: read.reason };
|
|
132
167
|
}
|
|
133
|
-
const segments = parseDelegationApprovedBy(
|
|
168
|
+
const segments = parseDelegationApprovedBy(read.body["approvedBy"]);
|
|
134
169
|
if (!segments.ok) {
|
|
135
170
|
return { kind: "unparseable", reason: segments.reason };
|
|
136
171
|
}
|
|
@@ -253,6 +288,136 @@ function sweepDelegations(generatedDir, cutoffMs, nowMs) {
|
|
|
253
288
|
}
|
|
254
289
|
return { candidates, unparseable, kept };
|
|
255
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* Clock-skew tolerance for a record's `approvedAt`, mirroring
|
|
293
|
+
* `verifyInflightRecord`'s own tolerance in inflight-records.ts (not
|
|
294
|
+
* re-exported through the pack barrel, so this stays a small duplicated
|
|
295
|
+
* literal rather than a cross-file import): a record dated further in
|
|
296
|
+
* the future than this is treated the same as an aged one, a candidate
|
|
297
|
+
* for the sweep, since gc does not distinguish "clock skew" from
|
|
298
|
+
* "genuinely old" — it only asks "is this instant far from now".
|
|
299
|
+
*/
|
|
300
|
+
const INFLIGHT_FUTURE_SKEW_MS = 5 * 60 * 1000;
|
|
301
|
+
/**
|
|
302
|
+
* Read a `.inflight/<sessionId>/<agentId>` record and classify it
|
|
303
|
+
* against the FIXED staleness window, without verifying its signature
|
|
304
|
+
* — mirrors `readDelegationStatus`'s own "gc decides deletion, not
|
|
305
|
+
* trust" posture. Reads the SIGNED `approvedAt` field, never the
|
|
306
|
+
* unsigned `startedAt` convenience copy: gc does not check the
|
|
307
|
+
* signature, so it must not let an editable, unsigned field decide
|
|
308
|
+
* whether a record looks fresh.
|
|
309
|
+
*/
|
|
310
|
+
function readInflightRecordStatus(filePath, nowMs) {
|
|
311
|
+
const read = readJsonRecordOrUnparseable(filePath);
|
|
312
|
+
if (!read.ok) {
|
|
313
|
+
return { kind: "unparseable", reason: read.reason };
|
|
314
|
+
}
|
|
315
|
+
const approvedAtRaw = read.body["approvedAt"];
|
|
316
|
+
if (typeof approvedAtRaw !== "string") {
|
|
317
|
+
return { kind: "unparseable", reason: "missing approvedAt" };
|
|
318
|
+
}
|
|
319
|
+
const approvedAtMs = Date.parse(approvedAtRaw);
|
|
320
|
+
if (!Number.isFinite(approvedAtMs)) {
|
|
321
|
+
return {
|
|
322
|
+
kind: "unparseable",
|
|
323
|
+
reason: `approvedAt is not a valid instant: ${JSON.stringify(approvedAtRaw)}`,
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
if (nowMs - approvedAtMs > DEFAULT_INFLIGHT_STALE_AFTER_MS) {
|
|
327
|
+
return {
|
|
328
|
+
kind: "stale",
|
|
329
|
+
reason: `approved ${ageDays(nowMs, approvedAtMs)}d ago (past the 24h in-flight window)`,
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
if (approvedAtMs - nowMs > INFLIGHT_FUTURE_SKEW_MS) {
|
|
333
|
+
return {
|
|
334
|
+
kind: "stale",
|
|
335
|
+
reason: `approved at ${approvedAtRaw}, more than ${INFLIGHT_FUTURE_SKEW_MS / 60_000} minutes in the future`,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
return { kind: "fresh" };
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Sweep `.inflight/<sessionId>/<agentId>` (stale records, fixed 24h
|
|
342
|
+
* window). One category (`"in-flight-record"`), keyed off the record's
|
|
343
|
+
* own `approvedAt` rather than gc's general `cutoffMs`/mtime — see the
|
|
344
|
+
* module header for why this window is not `--retention-days`-tunable.
|
|
345
|
+
* Applies the SAME id-shape predicates `listInflightRecords` uses
|
|
346
|
+
* (`rejectMalformedSessionId`/`rejectMalformedAgentId`, imported rather
|
|
347
|
+
* than gc's own looser `SESSION_ID_BASENAME_RE`) so this sweep and that
|
|
348
|
+
* listing never disagree about what counts as a session directory or an
|
|
349
|
+
* agent record — a symlinked or non-directory session entry, or an
|
|
350
|
+
* agent basename outside the allowlist, is skipped by both, not just
|
|
351
|
+
* one.
|
|
352
|
+
*/
|
|
353
|
+
function sweepInflightRecords(generatedDir, nowMs) {
|
|
354
|
+
const inflightDir = path.join(generatedDir, INFLIGHT_RECORD_DIRNAME);
|
|
355
|
+
const candidates = [];
|
|
356
|
+
const unparseable = [];
|
|
357
|
+
let kept = 0;
|
|
358
|
+
// lstat, not the readdir-then-catch shape every sweep above uses on
|
|
359
|
+
// its own root: a symlinked `.inflight/` must read as absent, the
|
|
360
|
+
// same defensive posture the record-level reader already takes one
|
|
361
|
+
// level down for a symlinked record file.
|
|
362
|
+
let rootStat;
|
|
363
|
+
try {
|
|
364
|
+
rootStat = fs.lstatSync(inflightDir);
|
|
365
|
+
}
|
|
366
|
+
catch {
|
|
367
|
+
return { candidates, unparseable, kept };
|
|
368
|
+
}
|
|
369
|
+
if (!rootStat.isDirectory()) {
|
|
370
|
+
return { candidates, unparseable, kept };
|
|
371
|
+
}
|
|
372
|
+
let sessionDirents;
|
|
373
|
+
try {
|
|
374
|
+
sessionDirents = fs.readdirSync(inflightDir, { withFileTypes: true });
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
sessionDirents = [];
|
|
378
|
+
}
|
|
379
|
+
for (const sessionDirent of sessionDirents) {
|
|
380
|
+
try {
|
|
381
|
+
rejectMalformedSessionId(sessionDirent.name);
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
if (!sessionDirent.isDirectory())
|
|
387
|
+
continue;
|
|
388
|
+
const sessionDir = path.join(inflightDir, sessionDirent.name);
|
|
389
|
+
let agentDirents;
|
|
390
|
+
try {
|
|
391
|
+
agentDirents = fs.readdirSync(sessionDir, { withFileTypes: true });
|
|
392
|
+
}
|
|
393
|
+
catch {
|
|
394
|
+
continue;
|
|
395
|
+
}
|
|
396
|
+
for (const agentDirent of agentDirents) {
|
|
397
|
+
if (!agentDirent.isFile())
|
|
398
|
+
continue;
|
|
399
|
+
try {
|
|
400
|
+
rejectMalformedAgentId(agentDirent.name);
|
|
401
|
+
}
|
|
402
|
+
catch {
|
|
403
|
+
continue;
|
|
404
|
+
}
|
|
405
|
+
const full = path.join(sessionDir, agentDirent.name);
|
|
406
|
+
const status = readInflightRecordStatus(full, nowMs);
|
|
407
|
+
if (status.kind === "stale") {
|
|
408
|
+
candidates.push({ filePath: full, category: "in-flight-record", reason: status.reason });
|
|
409
|
+
}
|
|
410
|
+
else if (status.kind === "unparseable") {
|
|
411
|
+
unparseable.push({ filePath: full, category: "in-flight-record", reason: status.reason });
|
|
412
|
+
kept += 1;
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
kept += 1;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
return { candidates, unparseable, kept };
|
|
420
|
+
}
|
|
256
421
|
export function gc(opts = {}) {
|
|
257
422
|
const retentionDays = opts.retentionDays ?? DEFAULT_RETENTION_DAYS;
|
|
258
423
|
if (!Number.isFinite(retentionDays) || retentionDays < 1) {
|
|
@@ -282,6 +447,7 @@ export function gc(opts = {}) {
|
|
|
282
447
|
const delegationsDir = path.join(generatedDir, DELEGATION_MARKER_DIRNAME);
|
|
283
448
|
const adoptionLedgerDir = path.join(generatedDir, ADOPTION_LEDGER_DIRNAME);
|
|
284
449
|
const permissionModeObservationsDir = path.join(generatedDir, PERMISSION_MODE_OBSERVATION_DIRNAME);
|
|
450
|
+
const inflightRecordsDir = path.join(generatedDir, INFLIGHT_RECORD_DIRNAME);
|
|
285
451
|
const candidates = [];
|
|
286
452
|
const unparseable = [];
|
|
287
453
|
let keptCount = 0;
|
|
@@ -317,6 +483,10 @@ export function gc(opts = {}) {
|
|
|
317
483
|
const permissionModeObservations = staleFilesByMtime(permissionModeObservationsDir, cutoffMs, nowMs, "permission-mode-observation");
|
|
318
484
|
candidates.push(...permissionModeObservations.candidates);
|
|
319
485
|
keptCount += permissionModeObservations.kept;
|
|
486
|
+
const inflightRecords = sweepInflightRecords(generatedDir, nowMs);
|
|
487
|
+
candidates.push(...inflightRecords.candidates);
|
|
488
|
+
unparseable.push(...inflightRecords.unparseable);
|
|
489
|
+
keptCount += inflightRecords.kept;
|
|
320
490
|
const removed = [];
|
|
321
491
|
const failures = [];
|
|
322
492
|
if (opts.apply === true) {
|
|
@@ -329,6 +499,22 @@ export function gc(opts = {}) {
|
|
|
329
499
|
failures.push({ filePath: c.filePath, reason: err.message });
|
|
330
500
|
}
|
|
331
501
|
}
|
|
502
|
+
// Best-effort session-directory cleanup, mirroring
|
|
503
|
+
// `clearInflightRecord`: a removed in-flight record can leave its
|
|
504
|
+
// `.inflight/<sessionId>/` parent empty, and nothing else ever
|
|
505
|
+
// clears that directory.
|
|
506
|
+
for (const c of candidates) {
|
|
507
|
+
if (c.category !== "in-flight-record")
|
|
508
|
+
continue;
|
|
509
|
+
if (!removed.includes(c.filePath))
|
|
510
|
+
continue;
|
|
511
|
+
try {
|
|
512
|
+
fs.rmdirSync(path.dirname(c.filePath));
|
|
513
|
+
}
|
|
514
|
+
catch {
|
|
515
|
+
/* not empty, or already gone */
|
|
516
|
+
}
|
|
517
|
+
}
|
|
332
518
|
}
|
|
333
519
|
return {
|
|
334
520
|
retentionDays,
|
|
@@ -339,6 +525,7 @@ export function gc(opts = {}) {
|
|
|
339
525
|
delegationsDir,
|
|
340
526
|
adoptionLedgerDir,
|
|
341
527
|
permissionModeObservationsDir,
|
|
528
|
+
inflightRecordsDir,
|
|
342
529
|
candidates,
|
|
343
530
|
unparseable,
|
|
344
531
|
removed,
|
package/dist/cli/gc/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/gc/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/gc/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,iEAAiE;AACjE,sEAAsE;AACtE,oEAAoE;AACpE,kEAAkE;AAClE,sEAAsE;AACtE,gEAAgE;AAChE,0CAA0C;AAC1C,EAAE;AACF,yDAAyD;AACzD,6CAA6C;AAC7C,+DAA+D;AAC/D,6EAA6E;AAC7E,wDAAwD;AACxD,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAC9E,wFAAwF;AACxF,iGAAiG;AACjG,kEAAkE;AAClE,gEAAgE;AAChE,uEAAuE;AACvE,EAAE;AACF,yEAAyE;AACzE,qEAAqE;AACrE,wEAAwE;AACxE,yEAAyE;AACzE,mEAAmE;AACnE,sEAAsE;AACtE,qEAAqE;AACrE,0EAA0E;AAC1E,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,wEAAwE;AACxE,sCAAsC;AACtC,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,uEAAuE;AACvE,mDAAmD;AACnD,+DAA+D;AAC/D,wEAAwE;AACxE,mEAAmE;AACnE,mEAAmE;AACnE,yDAAyD;AACzD,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,kEAAkE;AAClE,6DAA6D;AAC7D,oEAAoE;AACpE,wEAAwE;AACxE,mEAAmE;AACnE,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,sEAAsE;AACtE,mEAAmE;AACnE,uEAAuE;AACvE,yEAAyE;AACzE,sEAAsE;AACtE,uDAAuD;AAEvD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,mCAAmC,EACnC,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,YAAY,EAAsB,MAAM,cAAc,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,wEAAwE;AACxE,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAkE5C,SAAS,OAAO,CAAC,KAAa,EAAE,MAAc;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC;AACnD,CAAC;AAED,iEAAiE;AACjE,SAAS,iBAAiB,CACxB,GAAW,EACX,QAAgB,EAChB,KAAa,EACb,QAAoB;IAEpB,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,IAAI;gBACd,QAAQ;gBACR,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;aACvD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAE7D;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAClC,QAAgB;IAEhB,MAAM,IAAI,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,QAAQ,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAiC,EAAE,CAAC;AAC/D,CAAC;AAOD;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAa;IAC7E,MAAM,IAAI,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,2CAA2C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;SAC9F,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,wEAAwE;IACxE,kBAAkB;IAClB,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,WAAW,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,mBAAmB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU;SAClG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACvB,YAAoB,EACpB,QAAgB,EAChB,KAAa;IAEb,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,qEAAqE;IACrE,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAElE,IAAI,eAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,eAAe,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,eAAe,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3D,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,WAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,kEAAkE;YAClE,kEAAkE;YAClE,mEAAmE;YACnE,kEAAkE;YAClE,8DAA8D;YAC9D,+DAA+D;YAC/D,8DAA8D;YAC9D,mEAAmE;YACnE,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,kEAAkE;iBAC3E,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,CAAC;YACZ,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;gBACtB,MAAM,EAAE,wCAAwC,MAAM,CAAC,MAAM,GAAG;aACjE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mEAAmE;YACnE,8DAA8D;YAC9D,iBAAiB;YACjB,IAAI,IAAI,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAOD;;;;;;;;GAQG;AACH,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAAC,QAAgB,EAAE,KAAa;IAC/D,MAAM,IAAI,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,sCAAsC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;SAC9E,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,YAAY,GAAG,+BAA+B,EAAE,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,YAAY,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,uCAAuC;SACxF,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,GAAG,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACnD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,eAAe,aAAa,eAAe,uBAAuB,GAAG,MAAM,wBAAwB;SAC5G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,oBAAoB,CAC3B,YAAoB,EACpB,KAAa;IAEb,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAErE,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,oEAAoE;IACpE,kEAAkE;IAClE,mEAAmE;IACnE,0CAA0C;IAC1C,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,cAA2B,CAAC;IAChC,IAAI,CAAC;QACH,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,wBAAwB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YAAE,SAAS;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,YAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;gBAAE,SAAS;YACpC,IAAI,CAAC;gBACH,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3F,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACzC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1F,IAAI,IAAI,CAAC,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,OAAkB,EAAE;IACrC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,sBAAsB,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,oDAAoD,aAAa,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;IAEpD,qEAAqE;IACrE,wEAAwE;IACxE,iEAAiE;IACjE,aAAa;IACb,IAAI,YAAgC,CAAC;IACrC,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,kBAAkB,GACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,SAAS;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,qBAAqB,CAAC;IACpE,MAAM,cAAc,GAAG,kBAAkB;QACvC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAC3D,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAChB,IAAI,CAAC,YAAY;QACjB,mBAAmB,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,YAAY,EAAE,YAAY,EAAE;SAC7B,CAAC,CAAC;IACL,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAC3E,MAAM,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAC7C,YAAY,EACZ,mCAAmC,CACpC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,qEAAqE;IACrE,uEAAuE;IACvE,kEAAkE;IAClE,oEAAoE;IACpE,KAAK,MAAM,MAAM,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,QAAQ,GACZ,MAAM,CAAC,cAAc,KAAK,UAAU,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC;QAC9E,IAAI,QAAQ,IAAI,MAAM,CAAC,WAAW,GAAG,QAAQ,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,aAAa,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO;aACvF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACtF,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAC3C,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACpF,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpE,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC7C,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC;IAE9B,MAAM,0BAA0B,GAAG,iBAAiB,CAClD,6BAA6B,EAC7B,QAAQ,EACR,KAAK,EACL,6BAA6B,CAC9B,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC1D,SAAS,IAAI,0BAA0B,CAAC,IAAI,CAAC;IAE7C,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClE,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACjD,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC;IAElC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAgD,EAAE,CAAC;IACjE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,mDAAmD;QACnD,kEAAkE;QAClE,+DAA+D;QAC/D,yBAAyB;QACzB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,QAAQ,KAAK,kBAAkB;gBAAE,SAAS;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC5C,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa;QACb,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;QAC3C,UAAU;QACV,cAAc;QACd,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,6BAA6B;QAC7B,kBAAkB;QAClB,UAAU;QACV,WAAW;QACX,OAAO;QACP,QAAQ;QACR,SAAS;QACT,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;KAC7B,CAAC;AACJ,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -32,6 +32,8 @@ import { runPackHookPreToolUseCli } from "./pack/hook-pre-tool-use.js";
|
|
|
32
32
|
import { runPackHookPostToolUseCli } from "./pack/hook-post-tool-use.js";
|
|
33
33
|
import { runPackHookTrackActiveClaimCli } from "./pack/hook-track-active-claim.js";
|
|
34
34
|
import { runPackHookStayInScopeCli } from "./pack/hook-stay-in-scope.js";
|
|
35
|
+
import { runPackHookSubagentStartCli } from "./pack/hook-subagent-start.js";
|
|
36
|
+
import { runPackHookSubagentStopCli } from "./pack/hook-subagent-stop.js";
|
|
35
37
|
import { runPackHookCodexPreToolUseCli } from "./pack/hook-codex-pre-tool-use.js";
|
|
36
38
|
import { runPackHookCodexPostToolUseCli } from "./pack/hook-codex-post-tool-use.js";
|
|
37
39
|
import { runPackHookCodexStopCli } from "./pack/hook-codex-stop.js";
|
|
@@ -969,6 +971,38 @@ export function buildProgram(opts = {}) {
|
|
|
969
971
|
cliOpts.project = options.project;
|
|
970
972
|
await runPackHookStayInScopeCli(cliOpts);
|
|
971
973
|
});
|
|
974
|
+
packHookCmd
|
|
975
|
+
.command("subagent-start")
|
|
976
|
+
.description("SubagentStart: read event JSON from stdin, write a signed in-flight record for this (session_id, agent_id) when the parent session currently holds a valid understanding-gate approval (docs/decisions/2026-08-27-ug-auto-mode-approval.md).")
|
|
977
|
+
.option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
|
|
978
|
+
.option("--project <name>", "apply per-project overrides")
|
|
979
|
+
.option("--pack <name>", "pack name to evaluate (default: understanding-before-execution)")
|
|
980
|
+
.action(async (options) => {
|
|
981
|
+
const cliOpts = {};
|
|
982
|
+
if (options.config)
|
|
983
|
+
cliOpts.configPath = options.config;
|
|
984
|
+
if (options.project)
|
|
985
|
+
cliOpts.project = options.project;
|
|
986
|
+
if (options.pack)
|
|
987
|
+
cliOpts.pack = options.pack;
|
|
988
|
+
await runPackHookSubagentStartCli(cliOpts);
|
|
989
|
+
});
|
|
990
|
+
packHookCmd
|
|
991
|
+
.command("subagent-stop")
|
|
992
|
+
.description("SubagentStop: read event JSON from stdin, remove the in-flight record written for this (session_id, agent_id) by subagent-start.")
|
|
993
|
+
.option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
|
|
994
|
+
.option("--project <name>", "apply per-project overrides")
|
|
995
|
+
.option("--pack <name>", "pack name to evaluate (default: understanding-before-execution)")
|
|
996
|
+
.action(async (options) => {
|
|
997
|
+
const cliOpts = {};
|
|
998
|
+
if (options.config)
|
|
999
|
+
cliOpts.configPath = options.config;
|
|
1000
|
+
if (options.project)
|
|
1001
|
+
cliOpts.project = options.project;
|
|
1002
|
+
if (options.pack)
|
|
1003
|
+
cliOpts.pack = options.pack;
|
|
1004
|
+
await runPackHookSubagentStopCli(cliOpts);
|
|
1005
|
+
});
|
|
972
1006
|
// Phase 6 #6 — Codex adapter sub-commands. Mirror the pre-tool-use
|
|
973
1007
|
// shape; UserPromptSubmit equivalent injects the instruction template
|
|
974
1008
|
// on stdout for Codex to prepend to additional_instructions.
|
|
@@ -2296,10 +2330,12 @@ export function buildProgram(opts = {}) {
|
|
|
2296
2330
|
"(approved/expired) understanding-gate reports, parse-error logs, " +
|
|
2297
2331
|
"approval markers, expired delegation markers, orphaned delegation " +
|
|
2298
2332
|
"adoption ledgers, and stale permission-mode observations older than " +
|
|
2299
|
-
"the retention window
|
|
2300
|
-
"
|
|
2301
|
-
"
|
|
2302
|
-
"
|
|
2333
|
+
"the retention window, plus stale in-flight subagent records (fixed " +
|
|
2334
|
+
"24h window, independent of --retention-days). Pending reports and " +
|
|
2335
|
+
"anything outside the enumerated harness-owned dirs are never " +
|
|
2336
|
+
"touched (the evidence ledger and solution-acceptance verdict dirs " +
|
|
2337
|
+
"are owned by their producers). Dry-run by default; pass --apply " +
|
|
2338
|
+
"to delete.")
|
|
2303
2339
|
.option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
|
|
2304
2340
|
.option("--retention-days <n>", `delete artifacts older than this many days (default: ${DEFAULT_RETENTION_DAYS})`)
|
|
2305
2341
|
.option("--apply", "delete the listed artifacts (default: dry-run listing only)")
|
|
@@ -2325,12 +2361,13 @@ export function buildProgram(opts = {}) {
|
|
|
2325
2361
|
result.delegationsDir,
|
|
2326
2362
|
result.adoptionLedgerDir,
|
|
2327
2363
|
result.permissionModeObservationsDir,
|
|
2364
|
+
result.inflightRecordsDir,
|
|
2328
2365
|
];
|
|
2329
2366
|
if (result.parseErrorsDir === null) {
|
|
2330
2367
|
stderr("gc: skipping the parse-errors sweep (reports dir does not have the conventional .understanding-gate/reports shape)\n");
|
|
2331
2368
|
}
|
|
2332
2369
|
if (result.unparseable.length > 0) {
|
|
2333
|
-
stderr(`gc: ${result.unparseable.length}
|
|
2370
|
+
stderr(`gc: ${result.unparseable.length} file(s) could not be parsed and were left in place:\n` +
|
|
2334
2371
|
result.unparseable.map((u) => ` [${u.category}] ${u.filePath} (${u.reason})\n`).join(""));
|
|
2335
2372
|
}
|
|
2336
2373
|
if (result.candidates.length === 0) {
|