supercov 0.0.4 → 0.0.6
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 +107 -62
- package/dist/agentJson.d.ts +44 -0
- package/dist/agentJson.d.ts.map +1 -0
- package/dist/agentJson.js +84 -0
- package/dist/agentJson.js.map +1 -0
- package/dist/analyze.d.ts.map +1 -1
- package/dist/analyze.js +1 -0
- package/dist/analyze.js.map +1 -1
- package/dist/cli.js +107 -19
- package/dist/cli.js.map +1 -1
- package/dist/directInstrumenter.d.ts +2 -2
- package/dist/directInstrumenter.d.ts.map +1 -1
- package/dist/directInstrumenter.js +18 -20
- package/dist/directInstrumenter.js.map +1 -1
- package/dist/esmInterceptor.d.ts +6 -0
- package/dist/esmInterceptor.d.ts.map +1 -0
- package/dist/esmInterceptor.js +63 -0
- package/dist/esmInterceptor.js.map +1 -0
- package/dist/evidenceArchive.d.ts +3 -1
- package/dist/evidenceArchive.d.ts.map +1 -1
- package/dist/evidenceArchive.js +31 -22
- package/dist/evidenceArchive.js.map +1 -1
- package/dist/instrumenter.d.ts.map +1 -1
- package/dist/instrumenter.js +30 -8
- package/dist/instrumenter.js.map +1 -1
- package/dist/integrity.d.ts.map +1 -1
- package/dist/integrity.js +3 -3
- package/dist/integrity.js.map +1 -1
- package/dist/launchSupervisor.d.ts +6 -0
- package/dist/launchSupervisor.d.ts.map +1 -1
- package/dist/launchSupervisor.js +78 -4
- package/dist/launchSupervisor.js.map +1 -1
- package/dist/merge.d.ts +2 -0
- package/dist/merge.d.ts.map +1 -0
- package/dist/merge.js +116 -0
- package/dist/merge.js.map +1 -0
- package/dist/nodeTest.d.ts +15 -0
- package/dist/nodeTest.d.ts.map +1 -0
- package/dist/nodeTest.js +123 -0
- package/dist/nodeTest.js.map +1 -0
- package/dist/project.d.ts +6 -1
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +36 -21
- package/dist/project.js.map +1 -1
- package/dist/query.d.ts +60 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +493 -90
- package/dist/query.js.map +1 -1
- package/dist/queryCache.d.ts +15 -0
- package/dist/queryCache.d.ts.map +1 -0
- package/dist/queryCache.js +95 -0
- package/dist/queryCache.js.map +1 -0
- package/dist/register.mjs +40 -0
- package/dist/register.mjs.map +1 -1
- package/dist/resolve-loader.d.mts +1 -0
- package/dist/resolve-loader.d.mts.map +1 -1
- package/dist/resolve-loader.mjs +43 -0
- package/dist/resolve-loader.mjs.map +1 -1
- package/dist/runAnalysis.d.ts.map +1 -1
- package/dist/runAnalysis.js +18 -0
- package/dist/runAnalysis.js.map +1 -1
- package/dist/runnerEvidence.d.ts +19 -0
- package/dist/runnerEvidence.d.ts.map +1 -0
- package/dist/runnerEvidence.js +93 -0
- package/dist/runnerEvidence.js.map +1 -0
- package/dist/runtime.d.ts +7 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +94 -11
- package/dist/runtime.js.map +1 -1
- package/dist/sourceDiscovery.d.ts +9 -0
- package/dist/sourceDiscovery.d.ts.map +1 -0
- package/dist/sourceDiscovery.js +227 -0
- package/dist/sourceDiscovery.js.map +1 -0
- package/dist/types.d.ts +15 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vitePlugin.d.ts +4 -0
- package/dist/vitePlugin.d.ts.map +1 -1
- package/dist/vitePlugin.js +13 -3
- package/dist/vitePlugin.js.map +1 -1
- package/dist/vitest.js +5 -1
- package/dist/vitest.js.map +1 -1
- package/package.json +12 -4
package/README.md
CHANGED
|
@@ -68,11 +68,14 @@ blocks the trusted-publishing workflow.
|
|
|
68
68
|
|
|
69
69
|
## Agent query workflow
|
|
70
70
|
|
|
71
|
-
Each run is stored locally
|
|
72
|
-
|
|
71
|
+
Each run is stored locally under `.supercov/runs/<run-id>/`. Its immutable
|
|
72
|
+
`evidence.raw.gz` archive and `run.json` metadata are the source of truth. The archive
|
|
73
73
|
contains the exact coverage denominator manifest plus raw per-worker and
|
|
74
|
-
background evidence.
|
|
75
|
-
|
|
74
|
+
background evidence. The first query lazily reconstructs the complete coverage
|
|
75
|
+
model and atomically writes a disposable, integrity-checked `query-index.v1.json.gz`;
|
|
76
|
+
later queries reuse it. A changed archive, incompatible Supercov/schema version,
|
|
77
|
+
or corrupt index causes automatic reconstruction, so the index can be deleted at
|
|
78
|
+
any time without losing coverage data.
|
|
76
79
|
Loose evidence is removed only after the whole run directory is atomically
|
|
77
80
|
visible. HTML is not generated during a test run; agents should use bounded
|
|
78
81
|
CLI queries instead of loading the complete derived model into context.
|
|
@@ -85,10 +88,11 @@ npx supercov runs latest coverage --filter passed
|
|
|
85
88
|
npx supercov runs latest coverage --filter failed
|
|
86
89
|
npx supercov runs latest coverage kinds
|
|
87
90
|
npx supercov runs latest coverage runners
|
|
91
|
+
npx supercov runs latest coverage scope
|
|
88
92
|
npx supercov runs latest coverage --kind e2e
|
|
89
93
|
npx supercov runs latest coverage files
|
|
90
|
-
npx supercov runs latest coverage gaps
|
|
91
|
-
npx supercov runs latest coverage gaps --kind e2e
|
|
94
|
+
npx supercov runs latest coverage gaps
|
|
95
|
+
npx supercov runs latest coverage gaps --kind e2e
|
|
92
96
|
|
|
93
97
|
# Drill into one target selected from the gap list.
|
|
94
98
|
npx supercov runs latest coverage file app/routes/example.ts
|
|
@@ -98,55 +102,96 @@ npx supercov runs latest coverage covers app/routes/example.ts:57
|
|
|
98
102
|
# Understand redundancy/contribution and validate a newly written test. Replace
|
|
99
103
|
# "latest" with the immutable run ID when an agent continues work later.
|
|
100
104
|
npx supercov runs latest coverage test "test title fragment"
|
|
105
|
+
npx supercov runs latest coverage minimize --filter passed
|
|
106
|
+
npx supercov runs latest coverage minimize --filter passed --metric mcdc --target 80
|
|
101
107
|
npx supercov diff <older-run> <newer-run>
|
|
108
|
+
|
|
109
|
+
# Combine compatible shards without deleting their immutable source runs.
|
|
110
|
+
npx supercov merge <first-run-id> <second-run-id>
|
|
102
111
|
```
|
|
103
112
|
|
|
113
|
+
`supercov runs` is metadata-only for uncached history and never reconstructs
|
|
114
|
+
coverage for twenty runs merely to list them. Runs whose disposable query index
|
|
115
|
+
already exists include their metrics; other rows say `coverage not indexed`.
|
|
116
|
+
Selecting a run with `runs <run-id> coverage` materializes its index lazily.
|
|
117
|
+
|
|
104
118
|
Coverage queries use `--filter all` by default, matching conventional coverage
|
|
105
119
|
tools: every executed attempt contributes, including attempts that later fail.
|
|
106
120
|
Use `--filter passed` for verified coverage from successful attempts of
|
|
107
121
|
ultimately passing tests, or `--filter failed` to inspect only execution from
|
|
108
|
-
failed attempts (including failed retries of flaky tests).
|
|
122
|
+
failed attempts (including failed retries of flaky tests). Evidence records
|
|
109
123
|
attempt status and classify each test as passed, failed, flaky, skipped, timed
|
|
110
|
-
out, interrupted, or unknown.
|
|
111
|
-
|
|
124
|
+
out, interrupted, or unknown. Passed and failed views are derived from the
|
|
125
|
+
same immutable archive rather than duplicated into presentation files.
|
|
112
126
|
|
|
113
127
|
The run ID is positional because all coverage queries operate on one immutable
|
|
114
128
|
run. `latest` is a convenience selector for interactive use. Every query
|
|
115
129
|
accepts `--json` and—where the result can be long—`--limit` and `--offset`.
|
|
116
130
|
Every collection is paginated at 20 items by default and prints its range plus
|
|
117
131
|
a copyable next-page command; generated commands omit the default limit.
|
|
132
|
+
Measurement limitations use the same drill-down commands as ordinary gaps.
|
|
133
|
+
The coverage summary reports whether the measured denominator is complete,
|
|
134
|
+
`coverage files` and `coverage gaps` include per-file limitation counts and
|
|
135
|
+
kinds, and `coverage file <path>` returns the bounded source locations, reasons,
|
|
136
|
+
and denominator effect. `coverage scope` attaches the same counts to included,
|
|
137
|
+
excluded, and ambiguous source entries. A 100% metric with a blocking limitation
|
|
138
|
+
is therefore never reported as structurally complete.
|
|
118
139
|
Text output is concise for an interactive agent; JSON is the stable machine
|
|
119
140
|
interface that can later back hosted coverage tools without changing the
|
|
120
|
-
stored schema.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
141
|
+
stored evidence schema. Every JSON response uses contract version 1:
|
|
142
|
+
successful responses contain `schemaVersion`, `ok: true`, `command`, `data`,
|
|
143
|
+
and, for every bounded collection, one `pagination` object with `offset`,
|
|
144
|
+
`limit`, `returned`, `total`, `hasMore`, and `nextOffset`. Failures exit with
|
|
145
|
+
status 2 and emit only a parseable `ok: false` envelope containing a stable
|
|
146
|
+
error `code`, message, retryability, and bounded details. JSON stdout has a
|
|
147
|
+
hard 64 KiB limit; an oversized request returns `RESPONSE_TOO_LARGE` so the
|
|
148
|
+
caller can paginate or narrow it instead of flooding an agent context.
|
|
149
|
+
`coverage minimize` is an exact branch-and-bound
|
|
150
|
+
solver: line, statement, function, and branch obligations use per-test
|
|
151
|
+
provenance, while MC/DC obligations retain complete independence-witness pairs
|
|
152
|
+
and are recomputed for every candidate subset. Its result is therefore a
|
|
153
|
+
proved minimum, not a greedy approximation.
|
|
154
|
+
It intentionally refuses a view containing background/unattributed evidence:
|
|
155
|
+
there is no honest way to claim an exact test subset when the runner did not
|
|
156
|
+
expose test boundaries.
|
|
157
|
+
|
|
158
|
+
`merge` accepts only runs with identical source, test, dependency,
|
|
159
|
+
configuration, instrumenter, schema, and denominator fingerprints. It rewrites
|
|
160
|
+
the run scope inside every evidence record, namespaces shard paths, publishes a
|
|
161
|
+
new immutable run atomically, and leaves all input runs untouched. This is the
|
|
162
|
+
distributed/multi-host primitive; incompatible shards fail clearly instead of
|
|
163
|
+
producing a plausible but invalid aggregate.
|
|
164
|
+
|
|
165
|
+
For a JavaScript or TypeScript project, the CLI:
|
|
124
166
|
|
|
125
167
|
1. refreshes a stable isolated source namespace under
|
|
126
168
|
`.supercov/cache/instrumented-workspace/<project>/`, links the existing
|
|
127
|
-
dependency tree, and creates
|
|
169
|
+
dependency tree, and creates generated runner configuration and build output
|
|
128
170
|
only there; file data uses copy-on-write reflinks where the filesystem
|
|
129
171
|
supports them, and falls back to copying where it does not; the stable path
|
|
130
172
|
lets VM/container snapshot systems reuse a coverage build without touching
|
|
131
173
|
the application's ordinary build; when the complete source/config/toolchain
|
|
132
174
|
fingerprint is unchanged, the prior instrumented output and manifest are
|
|
133
175
|
carried into the refreshed source snapshot and the build is skipped;
|
|
134
|
-
2. inventories
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
3.
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
176
|
+
2. inventories first-party source from package entry points, workspaces,
|
|
177
|
+
conventional source directories, and TypeScript roots. Every candidate is
|
|
178
|
+
retained as included, excluded, or ambiguous; ambiguity blocks a complete
|
|
179
|
+
verdict and is inspectable with `coverage scope`. Set
|
|
180
|
+
`SUPERCOV_SOURCE_ROOTS` for an explicit authoritative scope;
|
|
181
|
+
3. instruments through the existing Vite graph when available, or instruments
|
|
182
|
+
only the disposable source copy before the project's unchanged
|
|
183
|
+
Next/Turbopack, Webpack, esbuild, SWC, or other build command. No-build ESM
|
|
184
|
+
and CommonJS projects use the same disposable direct path;
|
|
143
185
|
4. runs the exact command following `--`, propagating coverage through every
|
|
144
|
-
Node child process it launches
|
|
145
|
-
|
|
186
|
+
Node child process it launches. Generated adapters provide exact test,
|
|
187
|
+
worker, retry, and outcome scopes for Playwright, Vitest, Jest, and
|
|
188
|
+
`node:test` without changing test imports or configs;
|
|
189
|
+
5. attributes source hits and decision vectors to individual tests where an
|
|
190
|
+
exact adapter is active,
|
|
146
191
|
automatically wraps Playwright actions and assertions, and records the
|
|
147
|
-
action/assertion phase responsible for each correlated hit;
|
|
148
|
-
|
|
149
|
-
|
|
192
|
+
action/assertion phase responsible for each correlated hit; and
|
|
193
|
+
6. atomically publishes the exact denominator and raw evidence into one gzip
|
|
194
|
+
archive under `.supercov/`, then
|
|
150
195
|
removes loose evidence and terminal per-run work state, retaining only the
|
|
151
196
|
immutable run and disposable isolated build namespace. The
|
|
152
197
|
ordinary application build is never read as an input, overwritten, or
|
|
@@ -154,7 +199,7 @@ CLI:
|
|
|
154
199
|
|
|
155
200
|
Only `.supercov/` is modified in the user's checkout. A per-project lock
|
|
156
201
|
rejects overlapping runs before either can build. Run state is durably written
|
|
157
|
-
through preparing/building/testing/
|
|
202
|
+
through preparing/building/testing/publishing phases; SIGINT, SIGTERM,
|
|
158
203
|
and SIGHUP are forwarded to the entire child process group. If the process is
|
|
159
204
|
killed without a cleanup opportunity, the next invocation marks the dead PID's
|
|
160
205
|
run abandoned and refreshes the isolated namespace before using it. Cache
|
|
@@ -162,7 +207,7 @@ refresh is transactional: a new sibling generation is prepared completely,
|
|
|
162
207
|
the stable name is switched only at publication, and the prior complete
|
|
163
208
|
generation is retained until that switch succeeds. The next invocation
|
|
164
209
|
discards orphan staging trees or restores the prior generation if a host crash
|
|
165
|
-
landed between the two same-filesystem renames.
|
|
210
|
+
landed between the two same-filesystem renames. Evidence archive, metadata, and
|
|
166
211
|
state writes use sibling-temp files, fsync, and atomic rename; lock acquisition
|
|
167
212
|
uses exclusive creation and fsync. Published `run.json` is the durable terminal
|
|
168
213
|
record, so terminal work state is not retained.
|
|
@@ -186,7 +231,7 @@ documented in [Workspace isolation](docs/workspace-isolation.md).
|
|
|
186
231
|
|
|
187
232
|
Every run prints and stores monotonic phase timings for initialization,
|
|
188
233
|
workspace preparation, adapter setup, the instrumented build, the unchanged
|
|
189
|
-
test command, and
|
|
234
|
+
test command, and evidence publication. They are available in
|
|
190
235
|
`.supercov/runs/<run-id>/run.json` and in the JSON form of `supercov runs`.
|
|
191
236
|
These phase timings do not pretend to be end-to-end overhead: that percentage
|
|
192
237
|
requires an explicit comparison with the same command run without Supercov,
|
|
@@ -195,20 +240,20 @@ may have side effects or external cost. See
|
|
|
195
240
|
[Performance and storage](docs/performance.md) for the comparison methodology,
|
|
196
241
|
strategy trade-offs, and a measured real-suite reference.
|
|
197
242
|
|
|
198
|
-
The automatic adapters
|
|
199
|
-
CommonJS specs in arbitrary project directories), project-owned
|
|
200
|
-
fixture packages, Vitest,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
not silently reported as per-test coverage.
|
|
243
|
+
The automatic exact-attribution adapters support standard Playwright suites
|
|
244
|
+
(ESM and CommonJS specs in arbitrary project directories), project-owned
|
|
245
|
+
Playwright fixture packages, Vitest, Jest—including concurrent and
|
|
246
|
+
parameterized tests—and `node:test`. A single command can collect several
|
|
247
|
+
runners into one run. Unsupported runners such as AVA or Mocha still receive
|
|
248
|
+
aggregate first-party structural coverage through inherited process
|
|
249
|
+
instrumentation, but their hits remain background/unattributed rather than
|
|
250
|
+
being guessed onto tests. Browser component runners without a recognized
|
|
251
|
+
adapter have the same explicit boundary.
|
|
208
252
|
|
|
209
253
|
Remote execution discovery is structural rather than provider-specific. The
|
|
210
|
-
preload
|
|
211
|
-
|
|
254
|
+
preload and narrowly gated ESM transform observe exports for a static
|
|
255
|
+
`build(options)` capability,
|
|
256
|
+
activate only when those options contain a host-to-guest mount that includes
|
|
212
257
|
the isolated project, scopes an existing cache/snapshot identity to the run's
|
|
213
258
|
source fingerprint, and follows the opaque returned object graph. A method
|
|
214
259
|
whose options contain `argv`, `cmd`, or `command` receives guest-translated
|
|
@@ -216,17 +261,17 @@ Supercov paths and a guest-valid Node preload. The execution log records this
|
|
|
216
261
|
process/capability graph but hashes long or multiline arguments so embedded
|
|
217
262
|
shell bodies and credentials are never persisted.
|
|
218
263
|
|
|
219
|
-
This
|
|
264
|
+
This zero-edit mechanism has explicit boundaries. It follows Node child
|
|
220
265
|
processes, not arbitrary non-Node supervisors or a remote control plane that
|
|
221
|
-
never exposes launches to the local process.
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
state behind an RPC need
|
|
226
|
-
missing evidence rather than claiming those paths are covered.
|
|
227
|
-
|
|
228
|
-
The public regression suite includes
|
|
229
|
-
|
|
266
|
+
never exposes launches to the local process. CommonJS and pure-ESM executor
|
|
267
|
+
SDKs, object-shaped and positional execution APIs, and opaque returned object
|
|
268
|
+
graphs are covered when a discoverable build capability exposes the workspace
|
|
269
|
+
mount and an execution capability accepts an environment. Providers that hide
|
|
270
|
+
all launch state behind an out-of-process RPC still need an adapter. Supercov
|
|
271
|
+
reports missing evidence rather than claiming those paths are covered.
|
|
272
|
+
|
|
273
|
+
The public regression suite includes provider-neutral CommonJS and pure-ESM
|
|
274
|
+
opaque executors. Each exposes only a static build capability, a host-to-guest mount,
|
|
230
275
|
an existing snapshot key, an opaque image/pool/machine chain, and an
|
|
231
276
|
argv-shaped execution method. CI requires Supercov to discover that structure,
|
|
232
277
|
scope the cache identity, translate paths and the Node preload into the guest,
|
|
@@ -263,13 +308,13 @@ for either filtered subset. With `--kind e2e`, gap and file queries also
|
|
|
263
308
|
distinguish obligations covered only by other test levels from obligations
|
|
264
309
|
uncovered everywhere.
|
|
265
310
|
|
|
266
|
-
The
|
|
267
|
-
stores vector-level provenance rather than
|
|
268
|
-
a
|
|
269
|
-
subset. This matters because the two
|
|
270
|
-
different tests.
|
|
311
|
+
The query model reconstructed from the archive contains both per-test and
|
|
312
|
+
per-test-file coverage data. MC/DC stores vector-level provenance rather than
|
|
313
|
+
only a decision-level test list, so the exact minimizer recomputes valid
|
|
314
|
+
independence pairs for every proposed subset. This matters because the two
|
|
315
|
+
vectors in a witness pair may come from different tests.
|
|
271
316
|
|
|
272
|
-
The
|
|
317
|
+
The reconstructed query model also contains an action/assertion trace without requiring spec
|
|
273
318
|
changes. Calls such as `page.goto()`, `locator.click()`, and `locator.fill()`
|
|
274
319
|
open action phases; Playwright `expect()` matchers open assertion phases. The
|
|
275
320
|
phase travels on browser requests into automatically wrapped Remix loaders,
|
|
@@ -290,7 +335,7 @@ test. HTTP callbacks inherit the carrier automatically; child processes inherit
|
|
|
290
335
|
it through their environment; and exported queue helpers support BullMQ,
|
|
291
336
|
Bee-Queue, pg-boss, Agenda, and in-process schedulers. Evidence that arrives
|
|
292
337
|
without a carrier is persisted under a first-class `background/unattributed`
|
|
293
|
-
scope. It is visible in the all-attempt
|
|
338
|
+
scope. It is visible in the all-attempt view and excluded from passed-only
|
|
294
339
|
per-test coverage.
|
|
295
340
|
|
|
296
341
|
The Playwright adapter covers the page and request fixtures, API request
|
|
@@ -300,7 +345,7 @@ processes. A two-worker generic fixture exercises these surfaces without
|
|
|
300
345
|
changing its test imports or Playwright config.
|
|
301
346
|
|
|
302
347
|
Every run stores SHA-256 fingerprints for source, tests, dependency lockfiles,
|
|
303
|
-
test/build configuration, and the instrumenter, plus its
|
|
348
|
+
test/build configuration, and the instrumenter, plus its evidence schema and Git
|
|
304
349
|
revision/dirty state. Queries compare the stored fingerprint with the current
|
|
305
350
|
workspace, visibly mark stale runs, and reject evidence carrying a different
|
|
306
351
|
run scope.
|
|
@@ -326,5 +371,5 @@ The v2 denominator additionally measures optional-chain short-circuiting,
|
|
|
326
371
|
logical assignments, parameter/destructuring defaults, try versus catch,
|
|
327
372
|
zero versus entered `for-in`/`for-of`, and implicit switch no-match. Direct
|
|
328
373
|
`eval`/`Function` source cannot receive a stable pre-run denominator; when such
|
|
329
|
-
code is discovered the
|
|
374
|
+
code is discovered the evidence records its exact location as a completeness
|
|
330
375
|
blocker instead of allowing a misleading 100% verdict.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare const AGENT_JSON_SCHEMA_VERSION: 1;
|
|
2
|
+
export declare const AGENT_JSON_MAX_BYTES: number;
|
|
3
|
+
export type SupercovErrorCode = "AMBIGUOUS_SELECTOR" | "DECISION_NOT_FOUND" | "FILTER_UNAVAILABLE" | "INTERNAL_ERROR" | "INVALID_ARGUMENT" | "NO_RUNS" | "RESPONSE_TOO_LARGE" | "RUN_NOT_FOUND" | "SCOPE_UNAVAILABLE" | "SOURCE_NOT_FOUND" | "TARGET_UNREACHABLE" | "TEST_FILTER_EMPTY" | "TEST_NOT_FOUND" | "UNATTRIBUTED_EVIDENCE" | "UNKNOWN_COMMAND";
|
|
4
|
+
export interface AgentJsonPagination {
|
|
5
|
+
offset: number;
|
|
6
|
+
limit: number;
|
|
7
|
+
returned: number;
|
|
8
|
+
total: number;
|
|
9
|
+
hasMore: boolean;
|
|
10
|
+
nextOffset: number | null;
|
|
11
|
+
}
|
|
12
|
+
export interface AgentJsonSuccess {
|
|
13
|
+
schemaVersion: typeof AGENT_JSON_SCHEMA_VERSION;
|
|
14
|
+
ok: true;
|
|
15
|
+
command: string;
|
|
16
|
+
data: unknown;
|
|
17
|
+
pagination?: AgentJsonPagination;
|
|
18
|
+
}
|
|
19
|
+
export interface AgentJsonFailure {
|
|
20
|
+
schemaVersion: typeof AGENT_JSON_SCHEMA_VERSION;
|
|
21
|
+
ok: false;
|
|
22
|
+
command?: string;
|
|
23
|
+
error: {
|
|
24
|
+
code: SupercovErrorCode;
|
|
25
|
+
message: string;
|
|
26
|
+
retryable: boolean;
|
|
27
|
+
details?: Record<string, unknown>;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export declare class SupercovError extends Error {
|
|
31
|
+
readonly code: SupercovErrorCode;
|
|
32
|
+
readonly retryable: boolean;
|
|
33
|
+
readonly details?: Record<string, unknown>;
|
|
34
|
+
constructor(code: SupercovErrorCode, message: string, options?: {
|
|
35
|
+
retryable?: boolean;
|
|
36
|
+
details?: Record<string, unknown>;
|
|
37
|
+
cause?: unknown;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export declare function agentPagination(offset: number, limit: number, returned: number, total: number): AgentJsonPagination;
|
|
41
|
+
export declare function agentSuccessJson(command: string, data: unknown, pagination?: AgentJsonPagination): string;
|
|
42
|
+
export declare function asSupercovError(error: unknown): SupercovError;
|
|
43
|
+
export declare function agentFailureJson(error: unknown, command?: string): string;
|
|
44
|
+
//# sourceMappingURL=agentJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentJson.d.ts","sourceRoot":"","sources":["../src/agentJson.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,EAAG,CAAU,CAAC;AACpD,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,SAAS,GACT,oBAAoB,GACpB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,uBAAuB,GACvB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,yBAAyB,CAAC;IAChD,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,yBAAyB,CAAC;IAChD,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QACL,IAAI,EAAE,iBAAiB,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C,YACE,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,EAOP;CACF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAWrB;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,UAAU,CAAC,EAAE,mBAAmB,GAC/B,MAAM,CAwBR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAO7D;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAyBR"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
2
|
+
export const AGENT_JSON_SCHEMA_VERSION = 1;
|
|
3
|
+
export const AGENT_JSON_MAX_BYTES = 64 * 1024;
|
|
4
|
+
export class SupercovError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
retryable;
|
|
7
|
+
details;
|
|
8
|
+
constructor(code, message, options = {}) {
|
|
9
|
+
super(message, options.cause === undefined ? undefined : { cause: options.cause });
|
|
10
|
+
this.name = "SupercovError";
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.retryable = options.retryable ?? false;
|
|
13
|
+
this.details = options.details;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function agentPagination(offset, limit, returned, total) {
|
|
17
|
+
const nextOffset = offset + returned;
|
|
18
|
+
const hasMore = returned > 0 && nextOffset < total;
|
|
19
|
+
return {
|
|
20
|
+
offset,
|
|
21
|
+
limit,
|
|
22
|
+
returned,
|
|
23
|
+
total,
|
|
24
|
+
hasMore,
|
|
25
|
+
nextOffset: hasMore ? nextOffset : null,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function serialized(value) {
|
|
29
|
+
return `${JSON.stringify(value)}\n`;
|
|
30
|
+
}
|
|
31
|
+
export function agentSuccessJson(command, data, pagination) {
|
|
32
|
+
const envelope = {
|
|
33
|
+
schemaVersion: AGENT_JSON_SCHEMA_VERSION,
|
|
34
|
+
ok: true,
|
|
35
|
+
command,
|
|
36
|
+
data,
|
|
37
|
+
...(pagination ? { pagination } : {}),
|
|
38
|
+
};
|
|
39
|
+
const json = serialized(envelope);
|
|
40
|
+
const bytes = Buffer.byteLength(json);
|
|
41
|
+
if (bytes > AGENT_JSON_MAX_BYTES) {
|
|
42
|
+
throw new SupercovError("RESPONSE_TOO_LARGE", `JSON response is ${bytes} bytes; the maximum is ${AGENT_JSON_MAX_BYTES} bytes`, {
|
|
43
|
+
details: {
|
|
44
|
+
actualBytes: bytes,
|
|
45
|
+
maxBytes: AGENT_JSON_MAX_BYTES,
|
|
46
|
+
hint: "Use --offset/--limit or a narrower coverage query.",
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return json;
|
|
51
|
+
}
|
|
52
|
+
export function asSupercovError(error) {
|
|
53
|
+
if (error instanceof SupercovError)
|
|
54
|
+
return error;
|
|
55
|
+
return new SupercovError("INTERNAL_ERROR", error instanceof Error ? error.message : String(error), { cause: error });
|
|
56
|
+
}
|
|
57
|
+
export function agentFailureJson(error, command) {
|
|
58
|
+
const failure = asSupercovError(error);
|
|
59
|
+
const envelope = {
|
|
60
|
+
schemaVersion: AGENT_JSON_SCHEMA_VERSION,
|
|
61
|
+
ok: false,
|
|
62
|
+
...(command ? { command } : {}),
|
|
63
|
+
error: {
|
|
64
|
+
code: failure.code,
|
|
65
|
+
message: failure.message,
|
|
66
|
+
retryable: failure.retryable,
|
|
67
|
+
...(failure.details ? { details: failure.details } : {}),
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
const json = serialized(envelope);
|
|
71
|
+
if (Buffer.byteLength(json) <= AGENT_JSON_MAX_BYTES)
|
|
72
|
+
return json;
|
|
73
|
+
return serialized({
|
|
74
|
+
schemaVersion: AGENT_JSON_SCHEMA_VERSION,
|
|
75
|
+
ok: false,
|
|
76
|
+
...(command ? { command } : {}),
|
|
77
|
+
error: {
|
|
78
|
+
code: failure.code,
|
|
79
|
+
message: failure.message.slice(0, 1_000),
|
|
80
|
+
retryable: failure.retryable,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=agentJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentJson.js","sourceRoot":"","sources":["../src/agentJson.ts"],"names":[],"mappings":"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"}
|
package/dist/analyze.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EACf,gBAAgB,EAKhB,iBAAiB,EACjB,UAAU,EACV,UAAU,EAIX,MAAM,YAAY,CAAC;AAiFpB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAmBT;AAoKD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,eAAe,CAQjB;AAgCD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,iBAAiB,EAAE,GAC9B,UAAU,
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EACf,gBAAgB,EAKhB,iBAAiB,EACjB,UAAU,EACV,UAAU,EAIX,MAAM,YAAY,CAAC;AAiFpB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAmBT;AAoKD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,eAAe,CAQjB;AAgCD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,iBAAiB,EAAE,GAC9B,UAAU,CAipBZ"}
|
package/dist/analyze.js
CHANGED
|
@@ -657,6 +657,7 @@ export function createMcdcReport(manifest, rawResults) {
|
|
|
657
657
|
return {
|
|
658
658
|
generatedAt: new Date().toISOString(),
|
|
659
659
|
variant: "masking-short-circuit",
|
|
660
|
+
...(manifest.scope ? { scope: manifest.scope } : {}),
|
|
660
661
|
model: {
|
|
661
662
|
name: "coverage-completeness-v2",
|
|
662
663
|
completenessMeaning: "Every obligation in the measured model was observed by at least one existing test; test assertions and product correctness are separate assumptions.",
|
package/dist/analyze.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}
|