@wildorder/nightshift 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +289 -1
- package/dist/agent-runner.d.ts +95 -5
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +442 -32
- package/dist/agent-runner.js.map +1 -1
- package/dist/agent-session.d.ts +123 -0
- package/dist/agent-session.d.ts.map +1 -0
- package/dist/agent-session.js +114 -0
- package/dist/agent-session.js.map +1 -0
- package/dist/atomic-write.d.ts +18 -0
- package/dist/atomic-write.d.ts.map +1 -0
- package/dist/atomic-write.js +74 -0
- package/dist/atomic-write.js.map +1 -0
- package/dist/author.d.ts +118 -4
- package/dist/author.d.ts.map +1 -1
- package/dist/author.js +650 -163
- package/dist/author.js.map +1 -1
- package/dist/causal-analysis.d.ts +216 -0
- package/dist/causal-analysis.d.ts.map +1 -0
- package/dist/causal-analysis.js +786 -0
- package/dist/causal-analysis.js.map +1 -0
- package/dist/cli.js +22 -2
- package/dist/cli.js.map +1 -1
- package/dist/concurrency.d.ts +24 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +28 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/decider-review.d.ts +13 -1
- package/dist/decider-review.d.ts.map +1 -1
- package/dist/decider-review.js +21 -7
- package/dist/decider-review.js.map +1 -1
- package/dist/decision-ledger.d.ts +7 -0
- package/dist/decision-ledger.d.ts.map +1 -1
- package/dist/decision-ledger.js +25 -10
- package/dist/decision-ledger.js.map +1 -1
- package/dist/detect-package-manager.d.ts +10 -0
- package/dist/detect-package-manager.d.ts.map +1 -1
- package/dist/detect-package-manager.js +12 -0
- package/dist/detect-package-manager.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +24 -5
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +254 -108
- package/dist/manifest.js.map +1 -1
- package/dist/permits.d.ts +18 -0
- package/dist/permits.d.ts.map +1 -1
- package/dist/permits.js +155 -0
- package/dist/permits.js.map +1 -1
- package/dist/preflight.d.ts +3 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +73 -57
- package/dist/preflight.js.map +1 -1
- package/dist/prompt-telemetry.d.ts +64 -0
- package/dist/prompt-telemetry.d.ts.map +1 -0
- package/dist/prompt-telemetry.js +112 -0
- package/dist/prompt-telemetry.js.map +1 -0
- package/dist/provider-telemetry.d.ts +106 -0
- package/dist/provider-telemetry.d.ts.map +1 -0
- package/dist/provider-telemetry.js +423 -0
- package/dist/provider-telemetry.js.map +1 -0
- package/dist/review-pass.d.ts +52 -10
- package/dist/review-pass.d.ts.map +1 -1
- package/dist/review-pass.js +114 -30
- package/dist/review-pass.js.map +1 -1
- package/dist/run-analytics-report.d.ts +286 -0
- package/dist/run-analytics-report.d.ts.map +1 -0
- package/dist/run-analytics-report.js +1242 -0
- package/dist/run-analytics-report.js.map +1 -0
- package/dist/run-analytics.d.ts +844 -0
- package/dist/run-analytics.d.ts.map +1 -0
- package/dist/run-analytics.js +777 -0
- package/dist/run-analytics.js.map +1 -0
- package/dist/run-log.d.ts +16 -0
- package/dist/run-log.d.ts.map +1 -0
- package/dist/run-log.js +32 -0
- package/dist/run-log.js.map +1 -0
- package/dist/run-program.d.ts +268 -4
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +2508 -762
- package/dist/run-program.js.map +1 -1
- package/dist/scheduler.d.ts +75 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +126 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/verify-cache.d.ts +64 -0
- package/dist/verify-cache.d.ts.map +1 -0
- package/dist/verify-cache.js +56 -0
- package/dist/verify-cache.js.map +1 -0
- package/dist/whole-program-review.d.ts +3 -0
- package/dist/whole-program-review.d.ts.map +1 -1
- package/dist/whole-program-review.js +8 -1
- package/dist/whole-program-review.js.map +1 -1
- package/dist/worktree.d.ts +124 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +397 -0
- package/dist/worktree.js.map +1 -0
- package/dist/write-queue.d.ts +25 -0
- package/dist/write-queue.d.ts.map +1 -0
- package/dist/write-queue.js +52 -0
- package/dist/write-queue.js.map +1 -0
- package/package.json +2 -2
- package/skills/plan-program/SKILL.md +37 -5
- package/dist/worktree-guard.d.ts +0 -40
- package/dist/worktree-guard.d.ts.map +0 -1
- package/dist/worktree-guard.js +0 -91
- package/dist/worktree-guard.js.map +0 -1
package/dist/permits.js
CHANGED
|
@@ -76,6 +76,161 @@ export function hasExplicitPermissionFlag(agent) {
|
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
// ---------------------------------------------------------------------------
|
|
79
|
+
// Session continuity (WS-08) — resume argv derivation and the operator-
|
|
80
|
+
// pinned-session-flag check. Pure: no I/O, no capability detection. Applied
|
|
81
|
+
// by `invokeAgent` to whatever `permits.derive` returned (§2.7 of the spec):
|
|
82
|
+
// building the resume argv here and applying it there is what makes this
|
|
83
|
+
// work identically under the real context, `NOOP_PERMITS_CONTEXT`, and a
|
|
84
|
+
// test double.
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
/** Flags that mean the operator is managing sessions themselves (or has
|
|
87
|
+
* disabled persistence outright) — a seat that trips this spawns fresh
|
|
88
|
+
* with `operator-pinned-session-flag`, never rewritten. `-c` means
|
|
89
|
+
* different things per provider (`--continue` for claude, `--config` for
|
|
90
|
+
* codex), so the two lists are kept separate rather than shared. */
|
|
91
|
+
const CLAUDE_SESSION_FLAGS = [
|
|
92
|
+
"--resume",
|
|
93
|
+
"-r",
|
|
94
|
+
"--continue",
|
|
95
|
+
"-c",
|
|
96
|
+
"--session-id",
|
|
97
|
+
"--fork-session",
|
|
98
|
+
"--no-session-persistence",
|
|
99
|
+
"--from-pr",
|
|
100
|
+
"--teleport",
|
|
101
|
+
];
|
|
102
|
+
const CODEX_SESSION_FLAGS = ["--last", "--ephemeral"];
|
|
103
|
+
function flagTokenOf(arg) {
|
|
104
|
+
return arg.includes("=") ? arg.slice(0, arg.indexOf("=")) : arg;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* True when the agent's own *configured* args (pre-derivation) already
|
|
108
|
+
* carry a session-managing flag. Checked on `agent.args`, not the derived
|
|
109
|
+
* invocation — an operator-authored flag is what this exists to detect.
|
|
110
|
+
*/
|
|
111
|
+
export function hasPinnedSessionFlag(agent) {
|
|
112
|
+
if (agent.command === "claude") {
|
|
113
|
+
return agent.args.some((arg) => CLAUDE_SESSION_FLAGS.includes(flagTokenOf(arg)));
|
|
114
|
+
}
|
|
115
|
+
if (agent.command === "codex") {
|
|
116
|
+
if (agent.args.some((arg) => CODEX_SESSION_FLAGS.includes(flagTokenOf(arg))))
|
|
117
|
+
return true;
|
|
118
|
+
const execIndex = agent.args.findIndex((token) => token === "exec" || token === "e");
|
|
119
|
+
if (execIndex === -1)
|
|
120
|
+
return false;
|
|
121
|
+
const next = agent.args[execIndex + 1];
|
|
122
|
+
return next === "resume" || next === "fork";
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
/** `-s`/`--sandbox <mode>` (and its `=` form) is the only flag `exec`
|
|
127
|
+
* accepts that `exec resume` does not — translated to `-c
|
|
128
|
+
* sandbox_mode=<mode>`, the equivalent config key, verified against codex
|
|
129
|
+
* v0.149.0 (2026-09-11). */
|
|
130
|
+
const CODEX_SANDBOX_FLAGS = ["-s", "--sandbox"];
|
|
131
|
+
/**
|
|
132
|
+
* `exec resume`'s own option set, verified against codex v0.149.0
|
|
133
|
+
* (2026-09-11) — the option sets of `exec` and `exec resume` are a property
|
|
134
|
+
* of the codex build on the machine, not of nightshift, and will drift; an
|
|
135
|
+
* unrecognised token refuses (costing one fresh spawn, today's behaviour)
|
|
136
|
+
* rather than guessing and risking a crashed seat or a silently widened
|
|
137
|
+
* sandbox. Flags here are known to take a separate value token when not
|
|
138
|
+
* given in `--flag=value` form; anything not in this set is passed through
|
|
139
|
+
* as a bare boolean flag.
|
|
140
|
+
*/
|
|
141
|
+
const CODEX_RESUME_VALUE_FLAGS = [
|
|
142
|
+
"-c",
|
|
143
|
+
"--config",
|
|
144
|
+
"-i",
|
|
145
|
+
"--image",
|
|
146
|
+
"-m",
|
|
147
|
+
"--model",
|
|
148
|
+
"-o",
|
|
149
|
+
"--output-last-message",
|
|
150
|
+
"--output-schema",
|
|
151
|
+
"--enable",
|
|
152
|
+
"--disable",
|
|
153
|
+
];
|
|
154
|
+
const CODEX_RESUME_BOOLEAN_FLAGS = [
|
|
155
|
+
"--strict-config",
|
|
156
|
+
"--dangerously-bypass-approvals-and-sandbox",
|
|
157
|
+
"--dangerously-bypass-hook-trust",
|
|
158
|
+
"--skip-git-repo-check",
|
|
159
|
+
"--ignore-user-config",
|
|
160
|
+
"--ignore-rules",
|
|
161
|
+
"--json",
|
|
162
|
+
"--ephemeral",
|
|
163
|
+
];
|
|
164
|
+
function deriveCodexResume(agent, sessionId) {
|
|
165
|
+
const execIndex = agent.args.findIndex((token) => token === "exec" || token === "e");
|
|
166
|
+
if (execIndex === -1) {
|
|
167
|
+
return { supported: false, reason: "this seat's command does not run `codex exec`" };
|
|
168
|
+
}
|
|
169
|
+
const before = agent.args.slice(0, execIndex);
|
|
170
|
+
const rest = agent.args.slice(execIndex + 1);
|
|
171
|
+
const out = [...before, "exec", "resume"];
|
|
172
|
+
for (let i = 0; i < rest.length; i++) {
|
|
173
|
+
const token = rest[i];
|
|
174
|
+
if (token === undefined)
|
|
175
|
+
continue;
|
|
176
|
+
const flag = flagTokenOf(token);
|
|
177
|
+
if (CODEX_SANDBOX_FLAGS.includes(flag)) {
|
|
178
|
+
let mode;
|
|
179
|
+
if (token.includes("=")) {
|
|
180
|
+
mode = token.slice(token.indexOf("=") + 1);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
mode = rest[i + 1];
|
|
184
|
+
i += 1;
|
|
185
|
+
}
|
|
186
|
+
if (mode === undefined || mode === "") {
|
|
187
|
+
return { supported: false, reason: `\`${token}\` has no sandbox mode value to translate` };
|
|
188
|
+
}
|
|
189
|
+
out.push("-c", `sandbox_mode=${mode}`);
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (CODEX_RESUME_BOOLEAN_FLAGS.includes(flag)) {
|
|
193
|
+
out.push(token);
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
if (CODEX_RESUME_VALUE_FLAGS.includes(flag)) {
|
|
197
|
+
out.push(token);
|
|
198
|
+
if (!token.includes("=")) {
|
|
199
|
+
const value = rest[i + 1];
|
|
200
|
+
if (value !== undefined && !value.startsWith("-")) {
|
|
201
|
+
out.push(value);
|
|
202
|
+
i += 1;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
supported: false,
|
|
209
|
+
reason: `codex exec resume does not accept \`${token}\`; its arguments cannot be translated to a resume`,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
out.push(sessionId);
|
|
213
|
+
if (agent.promptMode === "stdin")
|
|
214
|
+
out.push("-");
|
|
215
|
+
return { supported: true, agent: { ...agent, args: out } };
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Rewrites an already-derived invocation into one that continues
|
|
219
|
+
* `sessionId`. Pure: no I/O, no capability detection.
|
|
220
|
+
*/
|
|
221
|
+
export function deriveResumeInvocation(agent, sessionId) {
|
|
222
|
+
if (agent.command === "claude") {
|
|
223
|
+
// Nothing else changes: `--permission-mode`, `--settings`, `--model`,
|
|
224
|
+
// `--output-format stream-json --verbose` all survive appending this.
|
|
225
|
+
// Never `--fork-session` — the point is to continue, not branch.
|
|
226
|
+
return { supported: true, agent: { ...agent, args: [...agent.args, "--resume", sessionId] } };
|
|
227
|
+
}
|
|
228
|
+
if (agent.command === "codex") {
|
|
229
|
+
return deriveCodexResume(agent, sessionId);
|
|
230
|
+
}
|
|
231
|
+
return { supported: false, reason: `no resume translation is known for \`${agent.command}\`` };
|
|
232
|
+
}
|
|
233
|
+
// ---------------------------------------------------------------------------
|
|
79
234
|
// permits config -> settings file content
|
|
80
235
|
// ---------------------------------------------------------------------------
|
|
81
236
|
/** One `--allowedTools`/settings allow entry per configured verify command. Relocated from verify-allowlist.ts. */
|
package/dist/permits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permits.js","sourceRoot":"","sources":["../src/permits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"permits.js","sourceRoot":"","sources":["../src/permits.ts"],"names":[],"mappings":"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"}
|
package/dist/preflight.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { LedgerEvent } from "./decision-ledger.js";
|
|
2
2
|
import type { ProgramManifest } from "./manifest.js";
|
|
3
|
+
import { type SpanScope } from "./run-analytics.js";
|
|
3
4
|
/**
|
|
4
5
|
* The preflight stage: at run start, before baseline verification and any
|
|
5
6
|
* agent spawn, executes every *pending* prerequisite's `verifyCommand` as a
|
|
@@ -69,5 +70,7 @@ export declare function runPreflight(args: {
|
|
|
69
70
|
runId: string;
|
|
70
71
|
runStartCommit: string | undefined;
|
|
71
72
|
log: (line: string) => void;
|
|
73
|
+
/** The run's analytics recorder (WS-02); a caller with no run-scoped recorder gets a shared no-op default. Runs pre-`arm()`, so this pass's span is buffered and only persisted on a run that passes the could-not-start gate. */
|
|
74
|
+
recorder?: SpanScope;
|
|
72
75
|
}): Promise<PreflightResult>;
|
|
73
76
|
//# sourceMappingURL=preflight.d.ts.map
|
package/dist/preflight.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;;;;GAQG;AAEH;;;4EAG4E;AAC5E,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAe9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,eAAe,CAAC,CAAC;AAiD9B;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,GAAE,MAAgC,GAC1C,kBAAkB,CAqEpB;AAED,2DAA2D;AAC3D,eAAO,MAAM,yBAAyB,EAAE,kBACd,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb;;;;wEAIoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;eAEW;IACX,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B;;4DAEwD;IACxD,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,kBAAkB,CAAC;IAC3B,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,kOAAkO;IAClO,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwF3B"}
|
package/dist/preflight.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { tail } from "./agent-runner.js";
|
|
3
|
+
import { NOOP_RUN_RECORDER } from "./run-analytics.js";
|
|
3
4
|
/**
|
|
4
5
|
* The preflight stage: at run start, before baseline verification and any
|
|
5
6
|
* agent spawn, executes every *pending* prerequisite's `verifyCommand` as a
|
|
@@ -157,69 +158,84 @@ export const defaultPrerequisiteRunner = makePrerequisiteRunner();
|
|
|
157
158
|
*/
|
|
158
159
|
export async function runPreflight(args) {
|
|
159
160
|
const { manifest, cwd, runner, now, runId, runStartCommit, log } = args;
|
|
161
|
+
const recorder = args.recorder ?? NOOP_RUN_RECORDER;
|
|
162
|
+
const span = recorder.span({ stage: "prerequisite-check" });
|
|
160
163
|
const checks = [];
|
|
161
164
|
const events = [];
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
reason
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
165
|
+
// Captured before the loop mutates any prerequisite's status — "nothing
|
|
166
|
+
// pending" means every prerequisite was already satisfied walking in, so
|
|
167
|
+
// this pass ran no verify command at all.
|
|
168
|
+
const hadPending = manifest.prerequisites.some((prerequisite) => prerequisite.status !== "satisfied");
|
|
169
|
+
try {
|
|
170
|
+
for (const prerequisite of manifest.prerequisites) {
|
|
171
|
+
if (prerequisite.status === "satisfied") {
|
|
172
|
+
checks.push({ id: prerequisite.id, met: true, newlySatisfied: false });
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
let run;
|
|
176
|
+
try {
|
|
177
|
+
run = await runner(prerequisite.verifyCommand, cwd);
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
const message = error?.message?.trim();
|
|
181
|
+
const reason = message && message !== ""
|
|
182
|
+
? message
|
|
183
|
+
: "the verify command could not be started";
|
|
184
|
+
checks.push({
|
|
185
|
+
id: prerequisite.id,
|
|
186
|
+
met: false,
|
|
187
|
+
reason,
|
|
188
|
+
newlySatisfied: false,
|
|
189
|
+
});
|
|
190
|
+
log(`preflight: ${prerequisite.id} unmet — ${reason}`);
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
if (run.timedOut) {
|
|
194
|
+
const reason = `the verify command did not finish within ` +
|
|
195
|
+
`${PREREQUISITE_TIMEOUT_MS}ms and was terminated`;
|
|
196
|
+
checks.push({
|
|
197
|
+
id: prerequisite.id,
|
|
198
|
+
met: false,
|
|
199
|
+
reason,
|
|
200
|
+
newlySatisfied: false,
|
|
201
|
+
});
|
|
202
|
+
log(`preflight: ${prerequisite.id} unmet — ${reason}`);
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
if (run.exitCode !== 0) {
|
|
206
|
+
const tailed = tail(run.output, 1500).trim();
|
|
207
|
+
const reason = tailed !== ""
|
|
208
|
+
? tailed
|
|
209
|
+
: `the verify command exited ${run.exitCode} with no output`;
|
|
210
|
+
checks.push({
|
|
211
|
+
id: prerequisite.id,
|
|
212
|
+
met: false,
|
|
213
|
+
reason,
|
|
214
|
+
newlySatisfied: false,
|
|
215
|
+
});
|
|
216
|
+
log(`preflight: ${prerequisite.id} unmet — ${reason}`);
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
prerequisite.status = "satisfied";
|
|
220
|
+
checks.push({ id: prerequisite.id, met: true, newlySatisfied: true });
|
|
221
|
+
events.push({
|
|
222
|
+
kind: "prerequisite-verified",
|
|
223
|
+
at: now().toISOString(),
|
|
203
224
|
id: prerequisite.id,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
225
|
+
verifyCommand: prerequisite.verifyCommand,
|
|
226
|
+
runId,
|
|
227
|
+
...(runStartCommit === undefined ? {} : { commit: runStartCommit }),
|
|
207
228
|
});
|
|
208
|
-
log(`preflight: ${prerequisite.id}
|
|
209
|
-
continue;
|
|
229
|
+
log(`preflight: ${prerequisite.id} satisfied`);
|
|
210
230
|
}
|
|
211
|
-
prerequisite.status = "satisfied";
|
|
212
|
-
checks.push({ id: prerequisite.id, met: true, newlySatisfied: true });
|
|
213
|
-
events.push({
|
|
214
|
-
kind: "prerequisite-verified",
|
|
215
|
-
at: now().toISOString(),
|
|
216
|
-
id: prerequisite.id,
|
|
217
|
-
verifyCommand: prerequisite.verifyCommand,
|
|
218
|
-
runId,
|
|
219
|
-
...(runStartCommit === undefined ? {} : { commit: runStartCommit }),
|
|
220
|
-
});
|
|
221
|
-
log(`preflight: ${prerequisite.id} satisfied`);
|
|
222
231
|
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
span.close({ outcome: "failed" });
|
|
234
|
+
throw error;
|
|
235
|
+
}
|
|
236
|
+
span.close({
|
|
237
|
+
outcome: checks.some((check) => !check.met) ? "failed" : hadPending ? "success" : "skipped",
|
|
238
|
+
});
|
|
223
239
|
return { checks, events };
|
|
224
240
|
}
|
|
225
241
|
//# sourceMappingURL=preflight.js.map
|
package/dist/preflight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Dimensions, PointObservationInput } from "./run-analytics.js";
|
|
2
|
+
/**
|
|
3
|
+
* Deterministic, model-free measurement of what a brief actually asked a
|
|
4
|
+
* provider to read (WS-03, SC-07) — taken at assembly time, before any
|
|
5
|
+
* provider is involved. Pure and side-effect-free throughout.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PROMPT_COMPONENT_SIZE_KIND: "prompt-component-size";
|
|
8
|
+
/** One classified component's exact-bytes and estimated-token size. */
|
|
9
|
+
export interface PromptComponentSize {
|
|
10
|
+
label: string;
|
|
11
|
+
bytes: number;
|
|
12
|
+
estimatedTokens: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Builds a brief line-by-line exactly as `array.join("\n")` did before this
|
|
16
|
+
* workstream, while tagging each contiguous group of pushed lines with a
|
|
17
|
+
* component label — so the classification is *total* by construction: every
|
|
18
|
+
* line lives in exactly one labeled segment, and `components()` sums to
|
|
19
|
+
* exactly `Buffer.byteLength(join(), "utf8")`.
|
|
20
|
+
*
|
|
21
|
+
* The trick that makes the invariant hold without special-casing the first
|
|
22
|
+
* segment or the join glue: a segment starting at array index 0 measures as
|
|
23
|
+
* `slice.join("\n")`, and every later segment measures as `"\n" +
|
|
24
|
+
* slice.join("\n")` — the leading `"\n"` is exactly the separator
|
|
25
|
+
* `array.join("\n")` would have inserted between the previous segment's last
|
|
26
|
+
* line and this one. Concatenating every segment's measured text therefore
|
|
27
|
+
* reproduces the whole joined brief byte-for-byte, so the byte lengths sum
|
|
28
|
+
* exactly. A `push` with no lines is a no-op: it records no segment and
|
|
29
|
+
* needs no separator, since nothing was actually added to the brief.
|
|
30
|
+
*/
|
|
31
|
+
export interface BriefBuilder {
|
|
32
|
+
/** Appends lines under a component label. A no-op when `lines` is empty. */
|
|
33
|
+
push(label: string, ...lines: string[]): void;
|
|
34
|
+
/** The brief text, identical to `array.join("\n")` over every pushed line in order. */
|
|
35
|
+
join(): string;
|
|
36
|
+
/** Exact-bytes + estimated-token size per component label, summing to `Buffer.byteLength(join(), "utf8")`. */
|
|
37
|
+
components(): PromptComponentSize[];
|
|
38
|
+
}
|
|
39
|
+
export declare function createBriefBuilder(): BriefBuilder;
|
|
40
|
+
/**
|
|
41
|
+
* Two points per component — exact bytes (`observed`) and the derived
|
|
42
|
+
* estimated-token figure (`estimated`) — never a compound object on one
|
|
43
|
+
* point, per WS-03's scalar-per-fact vocabulary.
|
|
44
|
+
*/
|
|
45
|
+
export declare function promptComponentSizePoints(sizes: readonly PromptComponentSize[], dimensions: Partial<Dimensions>): PointObservationInput[];
|
|
46
|
+
/**
|
|
47
|
+
* The reclaimed-bytes point for dependency specs demoted to a one-line stub
|
|
48
|
+
* because the included set exceeded the author's dependency-spec budget
|
|
49
|
+
* (§2.3) — the bytes a demoted spec would have cost, not bytes the brief
|
|
50
|
+
* actually spent, so it is measured and emitted separately from
|
|
51
|
+
* `promptComponentSizePoints`'s totality-checked set rather than folded into
|
|
52
|
+
* it. `undefined` when nothing was demoted — an unexercised seam emits
|
|
53
|
+
* nothing, never a fabricated zero.
|
|
54
|
+
*/
|
|
55
|
+
export declare function demotedDependenciesPoint(demotedIds: readonly string[], reclaimedBytes: number, dimensions: Partial<Dimensions>): PointObservationInput | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* The exact UTF-8 bytes a reviewer did not see at one of the three
|
|
58
|
+
* char-based clip seams — measured from the actual full and shown strings,
|
|
59
|
+
* never inferred from the char limit or a boolean. `seam` names the call
|
|
60
|
+
* site (e.g. `"test-critique-diff"`, `"decider-diff"`,
|
|
61
|
+
* `"whole-program-diff"`) and becomes `clipped-input:<seam>`'s label.
|
|
62
|
+
*/
|
|
63
|
+
export declare function clippedInputPoint(seam: string, full: string, shown: string, dimensions: Partial<Dimensions>): PointObservationInput;
|
|
64
|
+
//# sourceMappingURL=prompt-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-telemetry.d.ts","sourceRoot":"","sources":["../src/prompt-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE5E;;;;GAIG;AAEH,eAAO,MAAM,0BAA0B,EAAG,uBAAgC,CAAC;AAE3E,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;CACzB;AAeD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9C,uFAAuF;IACvF,IAAI,IAAI,MAAM,CAAC;IACf,8GAA8G;IAC9G,UAAU,IAAI,mBAAmB,EAAE,CAAC;CACrC;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAyBjD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,qBAAqB,EAAE,CAmBzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,qBAAqB,GAAG,SAAS,CAWnC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,qBAAqB,CAavB"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic, model-free measurement of what a brief actually asked a
|
|
3
|
+
* provider to read (WS-03, SC-07) — taken at assembly time, before any
|
|
4
|
+
* provider is involved. Pure and side-effect-free throughout.
|
|
5
|
+
*/
|
|
6
|
+
export const PROMPT_COMPONENT_SIZE_KIND = "prompt-component-size";
|
|
7
|
+
/**
|
|
8
|
+
* A coarse, deterministic bytes-to-tokens heuristic (~4 UTF-8 bytes per
|
|
9
|
+
* token of English prose) — an estimate, never mistaken for a
|
|
10
|
+
* provider-reported count, hence always emitted with `coverage: "estimated"`.
|
|
11
|
+
*/
|
|
12
|
+
function estimateTokensFromBytes(bytes) {
|
|
13
|
+
return Math.ceil(bytes / 4);
|
|
14
|
+
}
|
|
15
|
+
function sizeOf(label, bytes) {
|
|
16
|
+
return { label, bytes, estimatedTokens: estimateTokensFromBytes(bytes) };
|
|
17
|
+
}
|
|
18
|
+
export function createBriefBuilder() {
|
|
19
|
+
const lines = [];
|
|
20
|
+
const segments = [];
|
|
21
|
+
return {
|
|
22
|
+
push(label, ...newLines) {
|
|
23
|
+
if (newLines.length === 0)
|
|
24
|
+
return;
|
|
25
|
+
segments.push({ label, start: lines.length });
|
|
26
|
+
lines.push(...newLines);
|
|
27
|
+
},
|
|
28
|
+
join() {
|
|
29
|
+
return lines.join("\n");
|
|
30
|
+
},
|
|
31
|
+
components() {
|
|
32
|
+
const bytesByLabel = new Map();
|
|
33
|
+
segments.forEach((segment, index) => {
|
|
34
|
+
const end = index + 1 < segments.length ? segments[index + 1].start : lines.length;
|
|
35
|
+
const slice = lines.slice(segment.start, end);
|
|
36
|
+
const text = (segment.start === 0 ? "" : "\n") + slice.join("\n");
|
|
37
|
+
const bytes = Buffer.byteLength(text, "utf8");
|
|
38
|
+
bytesByLabel.set(segment.label, (bytesByLabel.get(segment.label) ?? 0) + bytes);
|
|
39
|
+
});
|
|
40
|
+
return [...bytesByLabel.entries()].map(([label, bytes]) => sizeOf(label, bytes));
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Two points per component — exact bytes (`observed`) and the derived
|
|
46
|
+
* estimated-token figure (`estimated`) — never a compound object on one
|
|
47
|
+
* point, per WS-03's scalar-per-fact vocabulary.
|
|
48
|
+
*/
|
|
49
|
+
export function promptComponentSizePoints(sizes, dimensions) {
|
|
50
|
+
return sizes.flatMap((size) => [
|
|
51
|
+
{
|
|
52
|
+
kind: PROMPT_COMPONENT_SIZE_KIND,
|
|
53
|
+
label: size.label,
|
|
54
|
+
coverage: "observed",
|
|
55
|
+
value: size.bytes,
|
|
56
|
+
unit: "bytes",
|
|
57
|
+
dimensions,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
kind: PROMPT_COMPONENT_SIZE_KIND,
|
|
61
|
+
label: size.label,
|
|
62
|
+
coverage: "estimated",
|
|
63
|
+
value: size.estimatedTokens,
|
|
64
|
+
unit: "tokens",
|
|
65
|
+
dimensions,
|
|
66
|
+
},
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The reclaimed-bytes point for dependency specs demoted to a one-line stub
|
|
71
|
+
* because the included set exceeded the author's dependency-spec budget
|
|
72
|
+
* (§2.3) — the bytes a demoted spec would have cost, not bytes the brief
|
|
73
|
+
* actually spent, so it is measured and emitted separately from
|
|
74
|
+
* `promptComponentSizePoints`'s totality-checked set rather than folded into
|
|
75
|
+
* it. `undefined` when nothing was demoted — an unexercised seam emits
|
|
76
|
+
* nothing, never a fabricated zero.
|
|
77
|
+
*/
|
|
78
|
+
export function demotedDependenciesPoint(demotedIds, reclaimedBytes, dimensions) {
|
|
79
|
+
if (demotedIds.length === 0)
|
|
80
|
+
return undefined;
|
|
81
|
+
return {
|
|
82
|
+
kind: PROMPT_COMPONENT_SIZE_KIND,
|
|
83
|
+
label: "demoted-dependencies",
|
|
84
|
+
coverage: "observed",
|
|
85
|
+
value: reclaimedBytes,
|
|
86
|
+
unit: "bytes",
|
|
87
|
+
detail: demotedIds.join(","),
|
|
88
|
+
dimensions,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The exact UTF-8 bytes a reviewer did not see at one of the three
|
|
93
|
+
* char-based clip seams — measured from the actual full and shown strings,
|
|
94
|
+
* never inferred from the char limit or a boolean. `seam` names the call
|
|
95
|
+
* site (e.g. `"test-critique-diff"`, `"decider-diff"`,
|
|
96
|
+
* `"whole-program-diff"`) and becomes `clipped-input:<seam>`'s label.
|
|
97
|
+
*/
|
|
98
|
+
export function clippedInputPoint(seam, full, shown, dimensions) {
|
|
99
|
+
const fullBytes = Buffer.byteLength(full, "utf8");
|
|
100
|
+
const shownBytes = Buffer.byteLength(shown, "utf8");
|
|
101
|
+
const droppedBytes = Math.max(0, fullBytes - shownBytes);
|
|
102
|
+
return {
|
|
103
|
+
kind: PROMPT_COMPONENT_SIZE_KIND,
|
|
104
|
+
label: `clipped-input:${seam}`,
|
|
105
|
+
coverage: "observed",
|
|
106
|
+
value: droppedBytes,
|
|
107
|
+
unit: "bytes",
|
|
108
|
+
...(droppedBytes > 0 ? { detail: "clipped" } : {}),
|
|
109
|
+
dimensions,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=prompt-telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-telemetry.js","sourceRoot":"","sources":["../src/prompt-telemetry.ts"],"names":[],"mappings":"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"}
|