@tokenfactory/acc-runner 0.44.0 → 0.44.2
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 +43 -1
- package/dist/bin-resolve.d.ts +39 -3
- package/dist/bin-resolve.d.ts.map +1 -1
- package/dist/bin-resolve.js +176 -12
- package/dist/bin-resolve.js.map +1 -1
- package/dist/build-fingerprint.d.ts +66 -0
- package/dist/build-fingerprint.d.ts.map +1 -0
- package/dist/build-fingerprint.js +70 -0
- package/dist/build-fingerprint.js.map +1 -0
- package/dist/build-info.generated.d.ts +3 -0
- package/dist/build-info.generated.d.ts.map +1 -0
- package/dist/build-info.generated.js +3 -0
- package/dist/build-info.generated.js.map +1 -0
- package/dist/capacity/resume-controller.d.ts +5 -3
- package/dist/capacity/resume-controller.d.ts.map +1 -1
- package/dist/capacity/resume-controller.js +9 -0
- package/dist/capacity/resume-controller.js.map +1 -1
- package/dist/chat-delegation-guard.d.ts +23 -0
- package/dist/chat-delegation-guard.d.ts.map +1 -0
- package/dist/chat-delegation-guard.js +62 -0
- package/dist/chat-delegation-guard.js.map +1 -0
- package/dist/chat-lane.d.ts +17 -6
- package/dist/chat-lane.d.ts.map +1 -1
- package/dist/chat-lane.js +29 -8
- package/dist/chat-lane.js.map +1 -1
- package/dist/companion-identity.d.ts +37 -0
- package/dist/companion-identity.d.ts.map +1 -1
- package/dist/companion-identity.js +98 -29
- package/dist/companion-identity.js.map +1 -1
- package/dist/companion-run.d.ts +1 -50
- package/dist/companion-run.d.ts.map +1 -1
- package/dist/companion-run.js +48 -105
- package/dist/companion-run.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +14 -3
- package/dist/config.js.map +1 -1
- package/dist/conformance.d.ts +49 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +121 -0
- package/dist/conformance.js.map +1 -0
- package/dist/cost-pricing.d.ts +91 -0
- package/dist/cost-pricing.d.ts.map +1 -1
- package/dist/cost-pricing.js +115 -1
- package/dist/cost-pricing.js.map +1 -1
- package/dist/credential-identity.d.ts +70 -0
- package/dist/credential-identity.d.ts.map +1 -0
- package/dist/credential-identity.js +128 -0
- package/dist/credential-identity.js.map +1 -0
- package/dist/doctor.d.ts +37 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +300 -41
- package/dist/doctor.js.map +1 -1
- package/dist/engines/chat-stream.d.ts +71 -1
- package/dist/engines/chat-stream.d.ts.map +1 -1
- package/dist/engines/chat-stream.js +126 -8
- package/dist/engines/chat-stream.js.map +1 -1
- package/dist/engines/claude-code-chat.d.ts +11 -1
- package/dist/engines/claude-code-chat.d.ts.map +1 -1
- package/dist/engines/claude-code-chat.js +69 -5
- package/dist/engines/claude-code-chat.js.map +1 -1
- package/dist/engines/claude-code.d.ts.map +1 -1
- package/dist/engines/claude-code.js +30 -6
- package/dist/engines/claude-code.js.map +1 -1
- package/dist/engines/codex.d.ts.map +1 -1
- package/dist/engines/codex.js +18 -5
- package/dist/engines/codex.js.map +1 -1
- package/dist/engines/registry.d.ts +26 -0
- package/dist/engines/registry.d.ts.map +1 -1
- package/dist/engines/registry.js +37 -0
- package/dist/engines/registry.js.map +1 -1
- package/dist/engines/types.d.ts +5 -0
- package/dist/engines/types.d.ts.map +1 -1
- package/dist/failure-classifier.d.ts +1 -1
- package/dist/failure-classifier.d.ts.map +1 -1
- package/dist/failure-classifier.js +65 -12
- package/dist/failure-classifier.js.map +1 -1
- package/dist/gh.d.ts +15 -0
- package/dist/gh.d.ts.map +1 -1
- package/dist/gh.js +18 -0
- package/dist/gh.js.map +1 -1
- package/dist/git.d.ts +6 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +27 -1
- package/dist/git.js.map +1 -1
- package/dist/instance.d.ts +30 -0
- package/dist/instance.d.ts.map +1 -0
- package/dist/instance.js +51 -0
- package/dist/instance.js.map +1 -0
- package/dist/keychain.d.ts +20 -7
- package/dist/keychain.d.ts.map +1 -1
- package/dist/keychain.js +40 -4
- package/dist/keychain.js.map +1 -1
- package/dist/loc-advisory.d.ts +70 -0
- package/dist/loc-advisory.d.ts.map +1 -0
- package/dist/loc-advisory.js +196 -0
- package/dist/loc-advisory.js.map +1 -0
- package/dist/locks/claim-lock-policy.d.ts +67 -0
- package/dist/locks/claim-lock-policy.d.ts.map +1 -0
- package/dist/locks/claim-lock-policy.js +132 -0
- package/dist/locks/claim-lock-policy.js.map +1 -0
- package/dist/login.d.ts +63 -2
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +93 -8
- package/dist/login.js.map +1 -1
- package/dist/mcp-spawn.d.ts +54 -0
- package/dist/mcp-spawn.d.ts.map +1 -1
- package/dist/mcp-spawn.js +88 -4
- package/dist/mcp-spawn.js.map +1 -1
- package/dist/memory-context.d.ts +106 -0
- package/dist/memory-context.d.ts.map +1 -0
- package/dist/memory-context.js +220 -0
- package/dist/memory-context.js.map +1 -0
- package/dist/memory-curation.d.ts +172 -0
- package/dist/memory-curation.d.ts.map +1 -0
- package/dist/memory-curation.js +277 -0
- package/dist/memory-curation.js.map +1 -0
- package/dist/migration-seq-guard.d.ts +28 -1
- package/dist/migration-seq-guard.d.ts.map +1 -1
- package/dist/migration-seq-guard.js +111 -6
- package/dist/migration-seq-guard.js.map +1 -1
- package/dist/output-diagnostics.d.ts +15 -0
- package/dist/output-diagnostics.d.ts.map +1 -0
- package/dist/output-diagnostics.js +95 -0
- package/dist/output-diagnostics.js.map +1 -0
- package/dist/pr-open-guard.d.ts +67 -0
- package/dist/pr-open-guard.d.ts.map +1 -0
- package/dist/pr-open-guard.js +79 -0
- package/dist/pr-open-guard.js.map +1 -0
- package/dist/prepr-gate.d.ts +229 -1
- package/dist/prepr-gate.d.ts.map +1 -1
- package/dist/prepr-gate.js +406 -3
- package/dist/prepr-gate.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +43 -5
- package/dist/program.js.map +1 -1
- package/dist/provider-auth.d.ts +27 -0
- package/dist/provider-auth.d.ts.map +1 -1
- package/dist/provider-auth.js +33 -0
- package/dist/provider-auth.js.map +1 -1
- package/dist/runtime/cache-dir.d.ts.map +1 -1
- package/dist/runtime/cache-dir.js +8 -3
- package/dist/runtime/cache-dir.js.map +1 -1
- package/dist/runtime/decision-provenance.d.ts +63 -0
- package/dist/runtime/decision-provenance.d.ts.map +1 -0
- package/dist/runtime/decision-provenance.js +107 -0
- package/dist/runtime/decision-provenance.js.map +1 -0
- package/dist/runtime/prompt-substitute.d.ts +100 -0
- package/dist/runtime/prompt-substitute.d.ts.map +1 -0
- package/dist/runtime/prompt-substitute.js +124 -0
- package/dist/runtime/prompt-substitute.js.map +1 -0
- package/dist/runtime/quarantine.d.ts +11 -0
- package/dist/runtime/quarantine.d.ts.map +1 -1
- package/dist/runtime/quarantine.js +16 -1
- package/dist/runtime/quarantine.js.map +1 -1
- package/dist/runtime/review-cost-cap.d.ts +167 -0
- package/dist/runtime/review-cost-cap.d.ts.map +1 -0
- package/dist/runtime/review-cost-cap.js +182 -0
- package/dist/runtime/review-cost-cap.js.map +1 -0
- package/dist/runtime/reviewer-abstain.d.ts +101 -0
- package/dist/runtime/reviewer-abstain.d.ts.map +1 -0
- package/dist/runtime/reviewer-abstain.js +138 -0
- package/dist/runtime/reviewer-abstain.js.map +1 -0
- package/dist/runtime/reviewer.d.ts +165 -2
- package/dist/runtime/reviewer.d.ts.map +1 -1
- package/dist/runtime/reviewer.js +752 -111
- package/dist/runtime/reviewer.js.map +1 -1
- package/dist/runtime/running-build.d.ts +24 -0
- package/dist/runtime/running-build.d.ts.map +1 -0
- package/dist/runtime/running-build.js +62 -0
- package/dist/runtime/running-build.js.map +1 -0
- package/dist/runtime/singleton.d.ts.map +1 -1
- package/dist/runtime/singleton.js +9 -1
- package/dist/runtime/singleton.js.map +1 -1
- package/dist/runtime/worktree.d.ts +45 -0
- package/dist/runtime/worktree.d.ts.map +1 -1
- package/dist/runtime/worktree.js +174 -5
- package/dist/runtime/worktree.js.map +1 -1
- package/dist/serving-auth/index.d.ts +79 -0
- package/dist/serving-auth/index.d.ts.map +1 -0
- package/dist/serving-auth/index.js +169 -0
- package/dist/serving-auth/index.js.map +1 -0
- package/dist/task-runner.d.ts +134 -5
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +1255 -129
- package/dist/task-runner.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/watch-chat/wire.d.ts +80 -0
- package/dist/watch-chat/wire.d.ts.map +1 -1
- package/dist/watch-chat/wire.js +203 -43
- package/dist/watch-chat/wire.js.map +1 -1
- package/dist/watch.d.ts +70 -16
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +548 -108
- package/dist/watch.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MEMORY-2 (Curation) — the pure ranking / dedup / budget primitives for
|
|
3
|
+
* operational agent memory.
|
|
4
|
+
*
|
|
5
|
+
* ── THIS FILE IS THE MIRROR ────────────────────────────────────────────────
|
|
6
|
+
* The canonical copy is api/_lib/memory-curation.ts. This one exists because
|
|
7
|
+
* the runner is published to npm and builds with `include: ["src/**"]`, so it
|
|
8
|
+
* cannot import out of `api/_lib`. Keep the two byte-compatible: any change
|
|
9
|
+
* here must land in the canonical copy too, and
|
|
10
|
+
* tests/unit/memory2-agent-memory-curation.test.ts imports BOTH and fails if
|
|
11
|
+
* they disagree on any exported constant or on any fixture.
|
|
12
|
+
*
|
|
13
|
+
* MEMORY-1 shipped the loop (write tool, read tool, prompt injection) but no
|
|
14
|
+
* curation: `acc.record_agent_memory` is a plain INSERT, so an agent that
|
|
15
|
+
* learns the same thing on ten tasks writes ten near-identical rows; and both
|
|
16
|
+
* read paths took the RPC's own `is_pinned desc, created_at desc` order, which
|
|
17
|
+
* knows nothing about how confident the agent was or how often the note has
|
|
18
|
+
* actually proved useful. This module is the arithmetic that fixes both halves.
|
|
19
|
+
* It is deliberately ALL PURE — no client, no clock, no I/O — because every
|
|
20
|
+
* caller needs to test it against a fixed clock (the SWEEP-FIX-1 lesson: a
|
|
21
|
+
* suite that reads the real `Date.now()` is a time bomb, not a test).
|
|
22
|
+
*
|
|
23
|
+
* ── MIRRORED, ON PURPOSE ───────────────────────────────────────────────────
|
|
24
|
+
*
|
|
25
|
+
* `packages/acc-runner/src/memory-curation.ts` is a verbatim mirror of this
|
|
26
|
+
* file. The runner is published to npm as `@tokenfactory/acc-runner` and builds
|
|
27
|
+
* from `packages/acc-runner/tsconfig.build.json` with `include: ["src/**"]`, so
|
|
28
|
+
* it CANNOT import out of `api/_lib` — the same constraint that already makes
|
|
29
|
+
* `api/_lib/alerts-git-auth.ts` a documented mirror of
|
|
30
|
+
* `packages/acc-runner/src/git-auth`. The drift guard is a real test, not a
|
|
31
|
+
* comment: tests/unit/memory2-agent-memory-curation.test.ts imports BOTH copies
|
|
32
|
+
* and asserts every exported constant and every function output agrees over a
|
|
33
|
+
* shared fixture corpus. Change one, change the other, or that test fails.
|
|
34
|
+
*
|
|
35
|
+
* A THIRD copy of the normalisation lives in SQL
|
|
36
|
+
* (`acc._normalize_memory_content` / `acc._memory_similarity`, migration 0335),
|
|
37
|
+
* because the write-time dedup has to happen inside the RPC that does the merge.
|
|
38
|
+
* That is why {@link normalizeMemoryContent} uses the ASCII class `[^a-z0-9]+`
|
|
39
|
+
* rather than a Unicode property escape: `[:alnum:]` in Postgres is
|
|
40
|
+
* collation-dependent, and for a dedup KEY, "the two sides disagree on this
|
|
41
|
+
* input" means "sometimes merges, sometimes duplicates". The documented cost is
|
|
42
|
+
* that a body with no ASCII alphanumerics normalises to `""`, which every caller
|
|
43
|
+
* treats as NOT COMPARABLE (never as a match).
|
|
44
|
+
*
|
|
45
|
+
* Nothing here reads or writes a `data_class`. Class enforcement is the pin at
|
|
46
|
+
* the RPC call sites in api/_lib/agent-memory-tools.ts and the row filters in
|
|
47
|
+
* that module and in the runner's memory-context.ts; a scoring function that
|
|
48
|
+
* could not see the class also cannot widen it.
|
|
49
|
+
*/
|
|
50
|
+
/* ------------------------------------------------------------------ *
|
|
51
|
+
* Normalisation + similarity
|
|
52
|
+
* ------------------------------------------------------------------ */
|
|
53
|
+
/**
|
|
54
|
+
* The canonical dedup normalisation: lowercase, every run of non-`[a-z0-9]`
|
|
55
|
+
* collapsed to a single space, trimmed. Mirror of SQL
|
|
56
|
+
* `acc._normalize_memory_content` (0335 §1).
|
|
57
|
+
*/
|
|
58
|
+
export function normalizeMemoryContent(text) {
|
|
59
|
+
if (typeof text !== "string")
|
|
60
|
+
return "";
|
|
61
|
+
return text.toLowerCase().replace(/[^a-z0-9]+/g, " ").trim();
|
|
62
|
+
}
|
|
63
|
+
/** The DISTINCT normalized tokens of a body. Empty for an uncomparable body. */
|
|
64
|
+
export function memoryTokenSet(text) {
|
|
65
|
+
const norm = normalizeMemoryContent(text);
|
|
66
|
+
if (norm.length === 0)
|
|
67
|
+
return new Set();
|
|
68
|
+
return new Set(norm.split(" ").filter((t) => t.length > 0));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Dice coefficient over the distinct normalized token sets: `2|A∩B| / (|A|+|B|)`.
|
|
72
|
+
* Mirror of SQL `acc._memory_similarity` (0335 §2).
|
|
73
|
+
*
|
|
74
|
+
* Returns 0 when either side has no tokens — the "not comparable" rule. 0 can
|
|
75
|
+
* never clear a threshold, so an unnormalisable body is never a duplicate.
|
|
76
|
+
*/
|
|
77
|
+
export function memorySimilarity(a, b) {
|
|
78
|
+
const setA = memoryTokenSet(a);
|
|
79
|
+
const setB = memoryTokenSet(b);
|
|
80
|
+
if (setA.size === 0 || setB.size === 0)
|
|
81
|
+
return 0;
|
|
82
|
+
let shared = 0;
|
|
83
|
+
for (const t of setA)
|
|
84
|
+
if (setB.has(t))
|
|
85
|
+
shared += 1;
|
|
86
|
+
return (2 * shared) / (setA.size + setB.size);
|
|
87
|
+
}
|
|
88
|
+
/** The Dice threshold at which two operational memories count as the same one. */
|
|
89
|
+
export const NEAR_DUPLICATE_SIMILARITY = 0.9;
|
|
90
|
+
/**
|
|
91
|
+
* Are these two bodies the SAME memory?
|
|
92
|
+
*
|
|
93
|
+
* Exact normalized equality first — that is the overwhelmingly common duplicate
|
|
94
|
+
* (the same note re-emitted with different capitalisation or punctuation) and it
|
|
95
|
+
* is the case SQL can answer from `content_hash` alone. Then the Dice gate.
|
|
96
|
+
*/
|
|
97
|
+
export function isNearDuplicate(a, b, threshold = NEAR_DUPLICATE_SIMILARITY) {
|
|
98
|
+
const normA = normalizeMemoryContent(a);
|
|
99
|
+
const normB = normalizeMemoryContent(b);
|
|
100
|
+
if (normA.length === 0 || normB.length === 0)
|
|
101
|
+
return false;
|
|
102
|
+
if (normA === normB)
|
|
103
|
+
return true;
|
|
104
|
+
return memorySimilarity(a, b) >= threshold;
|
|
105
|
+
}
|
|
106
|
+
/** Half-life of the recency term, in days. */
|
|
107
|
+
export const RECENCY_HALF_LIFE_DAYS = 14;
|
|
108
|
+
/**
|
|
109
|
+
* Component weights. They are SEPARATED BY AN ORDER OF MAGNITUDE on purpose,
|
|
110
|
+
* which is what makes one weighted sum express the priority the task asks for
|
|
111
|
+
* — pinned, then recency, then confidence, then the read/merge signal. Each
|
|
112
|
+
* component is normalised into [0,1] first, so `W_PINNED` (1000) exceeds the
|
|
113
|
+
* largest possible sum of the other three (111): a pinned memory is ALWAYS
|
|
114
|
+
* ranked above an unpinned one, never merely usually.
|
|
115
|
+
*/
|
|
116
|
+
export const W_PINNED = 1_000;
|
|
117
|
+
export const W_RECENCY = 100;
|
|
118
|
+
export const W_CONFIDENCE = 10;
|
|
119
|
+
export const W_READ = 1;
|
|
120
|
+
/** Read+merge count at which the usefulness signal is considered saturated. */
|
|
121
|
+
export const READ_SIGNAL_SATURATION = 20;
|
|
122
|
+
const MS_PER_DAY = 86_400_000;
|
|
123
|
+
function clamp01(n) {
|
|
124
|
+
const v = Number(n);
|
|
125
|
+
if (!Number.isFinite(v))
|
|
126
|
+
return 0;
|
|
127
|
+
return v < 0 ? 0 : v > 1 ? 1 : v;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* When this memory was last ASSERTED: `updated_at` when a merge refreshed it,
|
|
131
|
+
* else `created_at`. `0` for a row with no parseable timestamp, which scores as
|
|
132
|
+
* maximally stale rather than as "now".
|
|
133
|
+
*/
|
|
134
|
+
export function memoryTimestampMs(m) {
|
|
135
|
+
for (const raw of [m.updated_at, m.created_at]) {
|
|
136
|
+
if (typeof raw !== "string" || raw.length === 0)
|
|
137
|
+
continue;
|
|
138
|
+
const t = Date.parse(raw);
|
|
139
|
+
if (Number.isFinite(t))
|
|
140
|
+
return t;
|
|
141
|
+
}
|
|
142
|
+
return 0;
|
|
143
|
+
}
|
|
144
|
+
/** Exponential recency decay in (0,1]. `nowMs` is always injected — never read. */
|
|
145
|
+
export function recencyDecay(m, nowMs) {
|
|
146
|
+
const ts = memoryTimestampMs(m);
|
|
147
|
+
if (ts <= 0)
|
|
148
|
+
return 0;
|
|
149
|
+
const ageDays = Math.max(0, nowMs - ts) / MS_PER_DAY;
|
|
150
|
+
return Math.pow(0.5, ageDays / RECENCY_HALF_LIFE_DAYS);
|
|
151
|
+
}
|
|
152
|
+
/** Log-saturating usefulness signal in [0,1] over `read_count + merge_count`. */
|
|
153
|
+
export function readSignal(m) {
|
|
154
|
+
const reads = Number(m.read_count);
|
|
155
|
+
const merges = Number(m.merge_count);
|
|
156
|
+
const total = (Number.isFinite(reads) ? Math.max(0, reads) : 0) +
|
|
157
|
+
(Number.isFinite(merges) ? Math.max(0, merges) : 0);
|
|
158
|
+
return Math.min(1, Math.log1p(total) / Math.log1p(READ_SIGNAL_SATURATION));
|
|
159
|
+
}
|
|
160
|
+
/** The weighted relevance score. Higher ranks first. */
|
|
161
|
+
export function memoryScore(m, nowMs) {
|
|
162
|
+
return (W_PINNED * (m.is_pinned === true ? 1 : 0) +
|
|
163
|
+
W_RECENCY * recencyDecay(m, nowMs) +
|
|
164
|
+
W_CONFIDENCE * clamp01(m.confidence) +
|
|
165
|
+
W_READ * readSignal(m));
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Rank a batch, highest score first.
|
|
169
|
+
*
|
|
170
|
+
* The tie-breaks are the point of the `sort` comparator, not an afterthought:
|
|
171
|
+
* newest-first, then content order. Without them, two memories whose recency
|
|
172
|
+
* terms have both decayed to ~0 would compare equal and the resulting order
|
|
173
|
+
* would depend on `nowMs` and on input order — exactly the drift that makes a
|
|
174
|
+
* suite pass in August and fail in September. With them the order is TOTAL and
|
|
175
|
+
* the ranking is a pure function of the rows plus the injected clock.
|
|
176
|
+
*/
|
|
177
|
+
export function rankMemories(rows, nowMs) {
|
|
178
|
+
return [...rows].sort((a, b) => {
|
|
179
|
+
const d = memoryScore(b, nowMs) - memoryScore(a, nowMs);
|
|
180
|
+
if (d !== 0)
|
|
181
|
+
return d;
|
|
182
|
+
const t = memoryTimestampMs(b) - memoryTimestampMs(a);
|
|
183
|
+
if (t !== 0)
|
|
184
|
+
return t;
|
|
185
|
+
return a.content.localeCompare(b.content);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Collapse near-identical hits, keeping the FIRST occurrence of each cluster.
|
|
190
|
+
*
|
|
191
|
+
* Call it on an already-ranked list: "first" then means "the highest-scoring
|
|
192
|
+
* member of the cluster survives". Read-time dedup is needed even with
|
|
193
|
+
* write-time dedup in place, because rows written before 0335, rows written by
|
|
194
|
+
* the Memory tab, and rows belonging to two different agents in an org fan-out
|
|
195
|
+
* were never routed through the merging RPC.
|
|
196
|
+
*
|
|
197
|
+
* O(n²) against the KEPT list only, and every caller bounds n at <= 50.
|
|
198
|
+
*/
|
|
199
|
+
export function dropNearDuplicates(ranked, threshold = NEAR_DUPLICATE_SIMILARITY) {
|
|
200
|
+
const kept = [];
|
|
201
|
+
for (const row of ranked) {
|
|
202
|
+
if (kept.some((k) => isNearDuplicate(k.content, row.content, threshold)))
|
|
203
|
+
continue;
|
|
204
|
+
kept.push(row);
|
|
205
|
+
}
|
|
206
|
+
return kept;
|
|
207
|
+
}
|
|
208
|
+
/* ------------------------------------------------------------------ *
|
|
209
|
+
* Injection budget + relevance gate
|
|
210
|
+
* ------------------------------------------------------------------ */
|
|
211
|
+
/** Characters per token for the budget estimate. */
|
|
212
|
+
export const CHARS_PER_TOKEN = 4;
|
|
213
|
+
/**
|
|
214
|
+
* Estimated tokens in a string.
|
|
215
|
+
*
|
|
216
|
+
* A deliberate over-approximation of a real tokeniser: the runner must not ship
|
|
217
|
+
* a tokenizer dependency, and a budget that guesses HIGH spends less of the
|
|
218
|
+
* prompt than it promised, which is the safe direction to be wrong in.
|
|
219
|
+
*/
|
|
220
|
+
export function estimateTokens(text) {
|
|
221
|
+
if (typeof text !== "string" || text.length === 0)
|
|
222
|
+
return 0;
|
|
223
|
+
return Math.ceil(text.length / CHARS_PER_TOKEN);
|
|
224
|
+
}
|
|
225
|
+
/** Shortest token that can carry topical signal in the relevance gate. */
|
|
226
|
+
export const RELEVANCE_MIN_TERM_CHARS = 4;
|
|
227
|
+
/**
|
|
228
|
+
* Words that pass the length filter but carry no topical signal. Small and
|
|
229
|
+
* closed on purpose — this is a basic gate, not a stemmer.
|
|
230
|
+
*/
|
|
231
|
+
const STOPWORDS = new Set([
|
|
232
|
+
"about", "after", "also", "and", "any", "are", "because", "been", "before",
|
|
233
|
+
"being", "both", "but", "does", "each", "else", "every", "from", "have",
|
|
234
|
+
"here", "into", "just", "like", "make", "more", "most", "must", "need",
|
|
235
|
+
"only", "other", "over", "same", "should", "some", "such", "than", "that",
|
|
236
|
+
"the", "their", "them", "then", "there", "these", "they", "this", "those",
|
|
237
|
+
"through", "under", "very", "were", "what", "when", "where", "which", "while",
|
|
238
|
+
"will", "with", "would", "your",
|
|
239
|
+
]);
|
|
240
|
+
/**
|
|
241
|
+
* The topical terms of a task (or a query): normalized tokens of at least
|
|
242
|
+
* {@link RELEVANCE_MIN_TERM_CHARS} characters that are not stopwords.
|
|
243
|
+
*
|
|
244
|
+
* An empty set means "no task context supplied", and every caller treats that
|
|
245
|
+
* as "everything is relevant" rather than as "nothing is" — a gate that
|
|
246
|
+
* silently emptied the injection whenever the caller had no query would be a
|
|
247
|
+
* regression dressed as a feature.
|
|
248
|
+
*/
|
|
249
|
+
export function relevanceTerms(text) {
|
|
250
|
+
const out = new Set();
|
|
251
|
+
for (const t of memoryTokenSet(text)) {
|
|
252
|
+
if (t.length < RELEVANCE_MIN_TERM_CHARS)
|
|
253
|
+
continue;
|
|
254
|
+
if (STOPWORDS.has(t))
|
|
255
|
+
continue;
|
|
256
|
+
out.add(t);
|
|
257
|
+
}
|
|
258
|
+
return out;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Is this memory relevant to the current task?
|
|
262
|
+
*
|
|
263
|
+
* Pinned memories are ALWAYS relevant: an operator pinned the row precisely to
|
|
264
|
+
* say "this applies regardless of what the agent happens to be doing", and the
|
|
265
|
+
* gate must not override that.
|
|
266
|
+
*/
|
|
267
|
+
export function isRelevantMemory(m, terms) {
|
|
268
|
+
if (m.is_pinned === true)
|
|
269
|
+
return true;
|
|
270
|
+
if (terms.size === 0)
|
|
271
|
+
return true;
|
|
272
|
+
for (const t of memoryTokenSet(m.content))
|
|
273
|
+
if (terms.has(t))
|
|
274
|
+
return true;
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=memory-curation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-curation.js","sourceRoot":"","sources":["../src/memory-curation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Kill switch. Set to `0`/`false` to skip the pre-push re-validation entirely. */
|
|
2
2
|
export declare const SEQ_GUARD_ENV = "ACC_MIGRATION_SEQ_GUARD";
|
|
3
3
|
/** Every reason the guard can decline to renumber, for the runner log. */
|
|
4
|
-
export type SeqGuardSkipReason = "disabled" | "no-base-ref" | "no-new-migrations" | "no-remote-seqs" | "seq-free" | "renumber-noop" | "renumber-failed";
|
|
4
|
+
export type SeqGuardSkipReason = "disabled" | "no-base-ref" | "no-new-migrations" | "no-remote-seqs" | "seq-free" | "inherited-only" | "renumber-noop" | "renumber-failed";
|
|
5
5
|
export interface SeqGuardRenumber {
|
|
6
6
|
/** Repo-relative path the migration had before the guard ran. */
|
|
7
7
|
file: string;
|
|
@@ -10,6 +10,17 @@ export interface SeqGuardRenumber {
|
|
|
10
10
|
/** Numeric seq before → after. */
|
|
11
11
|
fromSeq: number;
|
|
12
12
|
toSeq: number;
|
|
13
|
+
/** AC4: the seq on the fresh target head this branch's file collided with. */
|
|
14
|
+
upstreamSeq: number | null;
|
|
15
|
+
/** AC4: the branch's file was byte-identical (modulo seq refs) to the target's
|
|
16
|
+
* file at that seq. Always false for a file that was renumbered — an identical
|
|
17
|
+
* file is INHERITED and excluded, never renamed (#2132). */
|
|
18
|
+
identicalModuloSeq: boolean;
|
|
19
|
+
/** AC4: the branch's exact file path was present on the fresh target head. */
|
|
20
|
+
reachableFromTarget: boolean;
|
|
21
|
+
/** AC5: repo-relative files the renumber rewrote OUTSIDE supabase/migrations/
|
|
22
|
+
* (sibling tests, contract fixtures) — the text-substitution is never silent. */
|
|
23
|
+
refsRewrittenOutside: string[];
|
|
13
24
|
/** Tail of the renumber tool's own log (which refs it rewrote). */
|
|
14
25
|
output: string;
|
|
15
26
|
}
|
|
@@ -50,12 +61,19 @@ export interface SeqGuardDeps {
|
|
|
50
61
|
listRemoteMigrations?: (workdir: string, ref: string) => Promise<string[] | null>;
|
|
51
62
|
/** Migration files this branch ADDED vs `baseRef`, repo-relative. */
|
|
52
63
|
listAddedMigrations?: (workdir: string, baseRef?: string) => Promise<string[]>;
|
|
64
|
+
/** A candidate's content in the working tree (the branch's copy). `null` = unreadable. */
|
|
65
|
+
readWorkingFile?: (workdir: string, file: string) => Promise<string | null>;
|
|
66
|
+
/** A file's content at a git ref (the fresh target's copy). `null` = absent/unreadable. */
|
|
67
|
+
readRefFile?: (workdir: string, ref: string, file: string) => Promise<string | null>;
|
|
53
68
|
/** Run the renumber pass with an out-of-tree baseline roster. */
|
|
54
69
|
runRenumber?: (workdir: string, files: string[], baselineSeqs: number[]) => Promise<{
|
|
55
70
|
output: string;
|
|
56
71
|
}>;
|
|
57
72
|
/** True when the working tree has uncommitted changes (did the renumber act?). */
|
|
58
73
|
isDirty?: (workdir: string) => Promise<boolean>;
|
|
74
|
+
/** Repo-relative paths the renumber changed (git status), to record which files
|
|
75
|
+
* OUTSIDE supabase/migrations/ it rewrote (AC5). Defaults to `git status`. */
|
|
76
|
+
listChangedFiles?: (workdir: string) => Promise<string[]>;
|
|
59
77
|
/** Commit the rename so the push carries it. */
|
|
60
78
|
commit?: (workdir: string, message: string) => Promise<void>;
|
|
61
79
|
}
|
|
@@ -68,6 +86,15 @@ export interface SeqGuardDeps {
|
|
|
68
86
|
export declare function migrationSeq(file: string): number | null;
|
|
69
87
|
/** Whether the guard is enabled. ON by default; `0`/`false`/`no` turns it off. */
|
|
70
88
|
export declare function seqGuardEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* True when two migration bodies are the SAME migration modulo their seq number
|
|
91
|
+
* — the branch merely INHERITED this file from the target (a merge brought it in
|
|
92
|
+
* unchanged), so renaming it would corrupt an already-merged, already-applied
|
|
93
|
+
* migration (#2132). A same-seq file with different content is a genuine
|
|
94
|
+
* collision and returns false, so it still renumbers (AC2). The seq token (both
|
|
95
|
+
* zero-padded and bare) is neutralised in both sides before the compare.
|
|
96
|
+
*/
|
|
97
|
+
export declare function sameMigrationModuloSeq(a: string, b: string, seq: number): boolean;
|
|
71
98
|
/**
|
|
72
99
|
* Re-validate this branch's NEW migration seq against a freshly-fetched
|
|
73
100
|
* integration head and auto-renumber it when a sibling has since taken the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-seq-guard.d.ts","sourceRoot":"","sources":["../src/migration-seq-guard.ts"],"names":[],"mappings":"AAkDA,mFAAmF;AACnF,eAAO,MAAM,aAAa,4BAA4B,CAAC;AAIvD,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,UAAU,GACV,eAAe,GACf,iBAAiB,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAClF,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,iEAAiE;IACjE,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,EAAE,KACnB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjC,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,gDAAgD;IAChD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAI7E;
|
|
1
|
+
{"version":3,"file":"migration-seq-guard.d.ts","sourceRoot":"","sources":["../src/migration-seq-guard.ts"],"names":[],"mappings":"AAkDA,mFAAmF;AACnF,eAAO,MAAM,aAAa,4BAA4B,CAAC;AAIvD,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,UAAU,GACV,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;iEAE6D;IAC7D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,mBAAmB,EAAE,OAAO,CAAC;IAC7B;sFACkF;IAClF,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAClF,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,0FAA0F;IAC1F,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5E,2FAA2F;IAC3F,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrF,iEAAiE;IACjE,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,EAAE,KACnB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjC,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD;mFAC+E;IAC/E,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,gDAAgD;IAChD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAI7E;AA+ED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAIjF;AAmED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,cAAc,CAAC,CA8NzB"}
|
|
@@ -108,6 +108,38 @@ async function defaultListAddedMigrations(workdir, baseRef) {
|
|
|
108
108
|
.map((s) => s.trim())
|
|
109
109
|
.filter((s) => s.toLowerCase().endsWith(".sql"));
|
|
110
110
|
}
|
|
111
|
+
async function defaultReadWorkingFile(workdir, file) {
|
|
112
|
+
try {
|
|
113
|
+
return await (await import("node:fs/promises")).readFile(path.join(workdir, file), "utf8");
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async function defaultReadRefFile(workdir, ref, file) {
|
|
120
|
+
const res = await execa("git", ["show", `${ref}:${file}`], {
|
|
121
|
+
cwd: workdir,
|
|
122
|
+
env: buildEnv(),
|
|
123
|
+
reject: false,
|
|
124
|
+
// git show emits the blob verbatim; execa would otherwise strip the trailing
|
|
125
|
+
// newline that fs.readFile keeps, making a byte-identical inherited file
|
|
126
|
+
// compare UNEQUAL to its working-tree copy (the #2132 identity check).
|
|
127
|
+
stripFinalNewline: false,
|
|
128
|
+
});
|
|
129
|
+
return res.exitCode === 0 ? (res.stdout ?? "") : null;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* True when two migration bodies are the SAME migration modulo their seq number
|
|
133
|
+
* — the branch merely INHERITED this file from the target (a merge brought it in
|
|
134
|
+
* unchanged), so renaming it would corrupt an already-merged, already-applied
|
|
135
|
+
* migration (#2132). A same-seq file with different content is a genuine
|
|
136
|
+
* collision and returns false, so it still renumbers (AC2). The seq token (both
|
|
137
|
+
* zero-padded and bare) is neutralised in both sides before the compare.
|
|
138
|
+
*/
|
|
139
|
+
export function sameMigrationModuloSeq(a, b, seq) {
|
|
140
|
+
const norm = (s) => s.split(String(seq).padStart(4, "0")).join("§").split(String(seq)).join("§");
|
|
141
|
+
return norm(a) === norm(b);
|
|
142
|
+
}
|
|
111
143
|
async function defaultRunRenumber(workdir, files, baselineSeqs) {
|
|
112
144
|
const script = path.join(workdir, "scripts", "ci", "migration-lint.mjs");
|
|
113
145
|
const args = ["--renumber"];
|
|
@@ -137,6 +169,21 @@ async function defaultIsDirty(workdir) {
|
|
|
137
169
|
});
|
|
138
170
|
return (res.stdout ?? "").trim().length > 0;
|
|
139
171
|
}
|
|
172
|
+
async function defaultListChangedFiles(workdir) {
|
|
173
|
+
const res = await execa("git", ["status", "--porcelain"], {
|
|
174
|
+
cwd: workdir,
|
|
175
|
+
env: buildEnv(),
|
|
176
|
+
reject: false,
|
|
177
|
+
});
|
|
178
|
+
if (res.exitCode !== 0)
|
|
179
|
+
return [];
|
|
180
|
+
// Porcelain: "XY <path>" or "R <old> -> <new>" (renames — take the new path).
|
|
181
|
+
return (res.stdout ?? "")
|
|
182
|
+
.split("\n")
|
|
183
|
+
.map((l) => l.slice(3).trim())
|
|
184
|
+
.filter(Boolean)
|
|
185
|
+
.map((p) => (p.includes(" -> ") ? p.split(" -> ")[1].trim() : p));
|
|
186
|
+
}
|
|
140
187
|
async function defaultCommit(workdir, message) {
|
|
141
188
|
await execa("git", ["add", "-A"], { cwd: workdir, env: buildEnv(), reject: false });
|
|
142
189
|
await execa("git", ["commit", "-m", message], {
|
|
@@ -204,10 +251,13 @@ export async function revalidateMigrationSeq(workdir, opts, deps = {}) {
|
|
|
204
251
|
? ["FETCH_HEAD", `${remote}/${opts.integrationBranch}`]
|
|
205
252
|
: [`${remote}/${opts.integrationBranch}`];
|
|
206
253
|
let remoteFiles = null;
|
|
254
|
+
let chosenRef = refs[0];
|
|
207
255
|
for (const ref of refs) {
|
|
208
256
|
remoteFiles = await listRemote(workdir, ref);
|
|
209
|
-
if (remoteFiles && remoteFiles.length > 0)
|
|
257
|
+
if (remoteFiles && remoteFiles.length > 0) {
|
|
258
|
+
chosenRef = ref;
|
|
210
259
|
break;
|
|
260
|
+
}
|
|
211
261
|
}
|
|
212
262
|
if (!remoteFiles || remoteFiles.length === 0) {
|
|
213
263
|
return {
|
|
@@ -222,10 +272,14 @@ export async function revalidateMigrationSeq(workdir, opts, deps = {}) {
|
|
|
222
272
|
// seqs, plus the live ledger when the caller could read it (a migration can
|
|
223
273
|
// be applied before its file merges).
|
|
224
274
|
const claimed = new Set();
|
|
275
|
+
const remoteBySeq = new Map();
|
|
225
276
|
for (const f of remoteFiles) {
|
|
226
277
|
const n = migrationSeq(f);
|
|
227
|
-
if (n !== null)
|
|
278
|
+
if (n !== null) {
|
|
228
279
|
claimed.add(n);
|
|
280
|
+
if (!remoteBySeq.has(n))
|
|
281
|
+
remoteBySeq.set(n, f);
|
|
282
|
+
}
|
|
229
283
|
}
|
|
230
284
|
for (const n of opts.appliedSeqs ?? []) {
|
|
231
285
|
if (Number.isFinite(n) && n > 0)
|
|
@@ -249,27 +303,74 @@ export async function revalidateMigrationSeq(workdir, opts, deps = {}) {
|
|
|
249
303
|
remoteMaxSeq,
|
|
250
304
|
};
|
|
251
305
|
}
|
|
306
|
+
// #2132: a stale `baseRef` (a rework's local integration ref) makes the diff
|
|
307
|
+
// above count migrations the branch only INHERITED (a sibling merged them
|
|
308
|
+
// upstream, then an integration sync pulled them into this branch) as
|
|
309
|
+
// migrations the branch ADDED. Renaming one rewrites an already-merged,
|
|
310
|
+
// already-applied migration and every reference to it (incl. tests). So drop
|
|
311
|
+
// any candidate whose file the fresh target head ALREADY carries at that seq
|
|
312
|
+
// with identical content (modulo seq refs) — the belt-and-suspenders identity
|
|
313
|
+
// check (A + C): reachable-from-target AND unchanged ⇒ inherited, never a
|
|
314
|
+
// rename. A same-seq file that DIFFERS is a genuine collision and stays.
|
|
315
|
+
const readWorking = deps.readWorkingFile ?? defaultReadWorkingFile;
|
|
316
|
+
const readRef = deps.readRefFile ?? defaultReadRefFile;
|
|
317
|
+
const classify = new Map();
|
|
318
|
+
const own = [];
|
|
319
|
+
const inherited = [];
|
|
320
|
+
for (const f of stale) {
|
|
321
|
+
const n = migrationSeq(f);
|
|
322
|
+
const remoteAtSeq = remoteBySeq.get(n) ?? null;
|
|
323
|
+
const reachable = remoteAtSeq === f;
|
|
324
|
+
let identical = false;
|
|
325
|
+
if (remoteAtSeq) {
|
|
326
|
+
const [mine, theirs] = await Promise.all([
|
|
327
|
+
readWorking(workdir, f),
|
|
328
|
+
readRef(workdir, chosenRef, remoteAtSeq),
|
|
329
|
+
]);
|
|
330
|
+
identical = mine !== null && theirs !== null && sameMigrationModuloSeq(mine, theirs, n);
|
|
331
|
+
}
|
|
332
|
+
classify.set(f, { upstreamSeq: remoteAtSeq ? n : null, identical, reachable });
|
|
333
|
+
if (identical)
|
|
334
|
+
inherited.push(f);
|
|
335
|
+
else
|
|
336
|
+
own.push(f);
|
|
337
|
+
}
|
|
338
|
+
if (own.length === 0) {
|
|
339
|
+
return {
|
|
340
|
+
renumbered: false,
|
|
341
|
+
skipped: "inherited-only",
|
|
342
|
+
detail: `migration(s) ${inherited.join(", ")} are inherited from a fresh ` +
|
|
343
|
+
`${remote}/${opts.integrationBranch} (already merged there, identical modulo seq) — ` +
|
|
344
|
+
`NOT this branch's to renumber; pushing unchanged`,
|
|
345
|
+
remoteMaxSeq,
|
|
346
|
+
};
|
|
347
|
+
}
|
|
252
348
|
const runRenumber = deps.runRenumber ?? defaultRunRenumber;
|
|
253
349
|
const isDirty = deps.isDirty ?? defaultIsDirty;
|
|
254
350
|
const commit = deps.commit ?? defaultCommit;
|
|
255
|
-
|
|
351
|
+
// Renumber only the branch's OWN colliding migrations — never an inherited one.
|
|
352
|
+
const { output } = await runRenumber(workdir, own, baselineSeqs);
|
|
256
353
|
if (!(await isDirty(workdir))) {
|
|
257
354
|
return {
|
|
258
355
|
renumbered: false,
|
|
259
356
|
skipped: "renumber-noop",
|
|
260
357
|
// Carry the tool's own log: "left unchanged" is either a genuine no-op
|
|
261
358
|
// or a renumber that could not run, and only the log tells them apart.
|
|
262
|
-
detail: `renumber left the worktree unchanged — seq kept: ${
|
|
359
|
+
detail: `renumber left the worktree unchanged — seq kept: ${own.join(", ")}; ` +
|
|
263
360
|
`tool said: ${output.slice(-500) || "(no output)"}`,
|
|
264
361
|
remoteMaxSeq,
|
|
265
362
|
};
|
|
266
363
|
}
|
|
267
|
-
// `move` describes the FIRST
|
|
364
|
+
// `move` describes the FIRST own file. A branch adding several colliding
|
|
268
365
|
// migrations at once is vanishingly rare, and the renumber tool chains them
|
|
269
366
|
// correctly anyway (each pass re-reads the directory, so the second lands
|
|
270
367
|
// above the first). The full tool log rides along in `move.output`, so the
|
|
271
368
|
// event is never lossy even then.
|
|
272
|
-
|
|
369
|
+
// AC5: name the files the renumber touched OUTSIDE supabase/migrations/ (a
|
|
370
|
+
// sibling test / contract fixture) so the seq text-substitution is never silent.
|
|
371
|
+
const listChanged = deps.listChangedFiles ?? defaultListChangedFiles;
|
|
372
|
+
const refsRewrittenOutside = (await listChanged(workdir)).filter((p) => !p.replace(/\\/g, "/").startsWith(`${MIGRATIONS_DIR}/`));
|
|
373
|
+
const first = own[0];
|
|
273
374
|
const fromSeq = migrationSeq(first);
|
|
274
375
|
// The tool's own log names the move (`0315 → 0316`); prefer it, and fall
|
|
275
376
|
// back to the arithmetic the tool would have used so the event is never
|
|
@@ -288,6 +389,10 @@ export async function revalidateMigrationSeq(workdir, opts, deps = {}) {
|
|
|
288
389
|
newFile,
|
|
289
390
|
fromSeq,
|
|
290
391
|
toSeq,
|
|
392
|
+
upstreamSeq: classify.get(first)?.upstreamSeq ?? null,
|
|
393
|
+
identicalModuloSeq: classify.get(first)?.identical ?? false,
|
|
394
|
+
reachableFromTarget: classify.get(first)?.reachable ?? false,
|
|
395
|
+
refsRewrittenOutside,
|
|
291
396
|
output: output.slice(-OUTPUT_TAIL),
|
|
292
397
|
},
|
|
293
398
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-seq-guard.js","sourceRoot":"","sources":["../src/migration-seq-guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migration-seq-guard.js","sourceRoot":"","sources":["../src/migration-seq-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAEvD,MAAM,cAAc,GAAG,qBAAqB,CAAC;AA8F7C;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED,gFAAgF;AAChF,yEAAyE;AACzE,gFAAgF;AAEhF,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;IAC5E,6EAA6E;IAC7E,4DAA4D;IAC5D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QACnE,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,IAAI,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,OAAe,EACf,GAAW;IAEX,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,EAC3D,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CACjD,CAAC;IACF,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAAe,EACf,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,+EAA+E;IAC/E,8EAA8E;IAC9E,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,KAAK,EACL,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EACrF,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CACjD,CAAC;IACF,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,IAAY;IACjE,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAe,EACf,GAAW,EACX,IAAY;IAEZ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,EAAE;QACzD,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,KAAK;QACb,6EAA6E;QAC7E,yEAAyE;QACzE,uEAAuE;QACvE,iBAAiB,EAAE,KAAK;KACzB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,CAAS,EAAE,CAAS,EAAE,GAAW;IACtE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CACjC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/E,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAe,EACf,KAAe,EACf,YAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE;QACrE,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,6EAA6E;IAC7E,2EAA2E;IAC3E,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,YAAY,GAAI,GAAiC,CAAC,YAAY,CAAC;IACrE,MAAM,YAAY,GAChB,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,YAAY,IAAI,EAAE,EAAE,CAAC;IACzF,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAe;IAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE;QACxD,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAe;IACpD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE;QACxD,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,+EAA+E;IAC/E,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7B,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC3D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAC5C,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,WAAW,GAAG,KAAK,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,IAAqB,EACrB,OAAqB,EAAE;IAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,GAAG,aAAa,oDAAoD;SAC7E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,8DAA8D;SACvE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,IAAI,0BAA0B,CAAC;IAEzE,IAAI,CAAC;QACH,6EAA6E;QAC7E,wEAAwE;QACxE,qBAAqB;QACrB,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,mBAAmB;gBAC5B,MAAM,EAAE,yDAAyD;aAClE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,IAAI,2BAA2B,CAAC;QAE5E,2EAA2E;QAC3E,6CAA6C;QAC7C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,0EAA0E;QAC1E,oEAAoE;QACpE,2EAA2E;QAC3E,0BAA0B;QAC1B,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAoB,IAAI,CAAC;QACxC,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,SAAS,GAAG,GAAG,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,gBAAgB;gBACzB,MAAM,EACJ,kBAAkB,cAAc,eAAe,MAAM,IAAI,IAAI,CAAC,iBAAiB,GAAG;oBAClF,UAAU,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,oBAAoB;gBACzD,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7F,4EAA4E;QAC5E,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,CAAC,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,IAAI,YAAY,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,UAAU;gBACnB,MAAM,EACJ,uCAAuC,MAAM,IAAI,IAAI,CAAC,iBAAiB,GAAG;oBAC1E,aAAa,YAAY,IAAI,KAAK,uBAAuB;gBAC3D,YAAY;aACb,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,sEAAsE;QACtE,wEAAwE;QACxE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,IAAI,sBAAsB,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkF,CAAC;QAC3G,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC/C,MAAM,SAAS,GAAG,WAAW,KAAK,CAAC,CAAC;YACpC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACvC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvB,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;iBACzC,CAAC,CAAC;gBACH,SAAS,GAAG,IAAI,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/E,IAAI,SAAS;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAC5B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,gBAAgB;gBACzB,MAAM,EACJ,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B;oBAClE,GAAG,MAAM,IAAI,IAAI,CAAC,iBAAiB,kDAAkD;oBACrF,kDAAkD;gBACpD,YAAY;aACb,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;QAE5C,gFAAgF;QAChF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,eAAe;gBACxB,uEAAuE;gBACvE,uEAAuE;gBACvE,MAAM,EACJ,oDAAoD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACtE,cAAc,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE;gBACrD,YAAY;aACb,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,kCAAkC;QAClC,2EAA2E;QAC3E,iFAAiF;QACjF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;QACrE,MAAM,oBAAoB,GAAG,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,cAAc,GAAG,CAAC,CAC/D,CAAC;QAEF,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAE,CAAC;QACrC,yEAAyE;QACzE,wEAAwE;QACxE,4CAA4C;QAC5C,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CACrE,CAAC;QACF,MAAM,MAAM,CACV,OAAO,EACP,uDAAuD,IAAI,CAAC,iBAAiB,kBAAkB,CAChG,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,MAAM,EACJ,iBAAiB,OAAO,yBAAyB,MAAM,IAAI,IAAI,CAAC,iBAAiB,GAAG;gBACpF,aAAa,YAAY,0BAA0B,KAAK,cAAc;YACxE,YAAY;YACZ,IAAI,EAAE;gBACJ,IAAI,EAAE,KAAK;gBACX,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,WAAW,IAAI,IAAI;gBACrD,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,KAAK;gBAC3D,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,KAAK;gBAC5D,oBAAoB;gBACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;aACnC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4DAA4D;QAC5D,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,8CAA+C,GAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;SAC9F,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const FAILURE_OUTPUT_TAIL_BYTES = 4000;
|
|
2
|
+
export interface FailureDiagnostics {
|
|
3
|
+
reasons: string[];
|
|
4
|
+
stdoutTail: string;
|
|
5
|
+
stderrTail: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function failureDiagnostics(args: {
|
|
8
|
+
exitCode: number | null;
|
|
9
|
+
stdout: string;
|
|
10
|
+
stderr: string;
|
|
11
|
+
detail?: string;
|
|
12
|
+
label?: string;
|
|
13
|
+
cap?: number;
|
|
14
|
+
}): FailureDiagnostics;
|
|
15
|
+
//# sourceMappingURL=output-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-diagnostics.d.ts","sourceRoot":"","sources":["../src/output-diagnostics.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAgB9C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AA0DD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,kBAAkB,CAerB"}
|