@glubean/runner 0.2.4 → 0.2.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/dist/harness.js +207 -6
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/project-runner.d.ts +12 -0
- package/dist/project-runner.d.ts.map +1 -1
- package/dist/project-runner.js +25 -0
- package/dist/project-runner.js.map +1 -1
- package/dist/run-case.d.ts +137 -0
- package/dist/run-case.d.ts.map +1 -0
- package/dist/run-case.js +233 -0
- package/dist/run-case.js.map +1 -0
- package/dist/runner-input-templating.d.ts +33 -0
- package/dist/runner-input-templating.d.ts.map +1 -0
- package/dist/runner-input-templating.js +65 -0
- package/dist/runner-input-templating.js.map +1 -0
- package/package.json +3 -2
package/dist/harness.js
CHANGED
|
@@ -9,7 +9,8 @@ import { parseArgs } from "node:util";
|
|
|
9
9
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
10
10
|
import { inferJsonSchema, truncateDeep } from "./schema_inference.js";
|
|
11
11
|
import { bootstrap } from "./bootstrap.js";
|
|
12
|
-
import {
|
|
12
|
+
import { loadProjectOverlays } from "@glubean/scanner";
|
|
13
|
+
import { setRuntime, setExplicitInput, setBootstrapInput, setForceStandalone, } from "@glubean/sdk/internal";
|
|
13
14
|
import ky from "ky";
|
|
14
15
|
import { Expectation } from "@glubean/sdk/expect";
|
|
15
16
|
// Global error handlers for async errors that escape try/catch
|
|
@@ -1020,6 +1021,78 @@ try {
|
|
|
1020
1021
|
// on first access or silently fall through to the default behavior — see
|
|
1021
1022
|
// plugin-manifest-proposal.md D2.
|
|
1022
1023
|
await bootstrap(process.cwd());
|
|
1024
|
+
// Eagerly load `.bootstrap.{ts,js,mjs}` files (attachment-model §7.4).
|
|
1025
|
+
// Parent process also calls this for its own scanning purposes, but the
|
|
1026
|
+
// SDK bootstrap registry is process-local — every harness subprocess
|
|
1027
|
+
// has its own empty Map until it imports the overlay modules itself.
|
|
1028
|
+
// Without this, a filtered run like `glubean run project.contract.ts`
|
|
1029
|
+
// would reach the child's dispatcher with no overlays registered and
|
|
1030
|
+
// silently fall through to the raw execution path, defeating both the
|
|
1031
|
+
// overlay intent and `runnability.requireAttachment` guards.
|
|
1032
|
+
const overlayLoad = await loadProjectOverlays(process.cwd());
|
|
1033
|
+
for (const err of overlayLoad.errors) {
|
|
1034
|
+
console.log(JSON.stringify({
|
|
1035
|
+
type: "log",
|
|
1036
|
+
message: `Bootstrap overlay failed to load: ${err.file} — ${err.error}`,
|
|
1037
|
+
}));
|
|
1038
|
+
}
|
|
1039
|
+
// Spike 3 — runner input channels (attachment-model §8). The CLI / MCP
|
|
1040
|
+
// serializes runner-supplied case input + bootstrap params into env
|
|
1041
|
+
// vars before spawning this subprocess. Each map is JSON `{ testId:
|
|
1042
|
+
// value }`. Force-standalone is a JSON-encoded `string[]` of testIds.
|
|
1043
|
+
// We populate the SDK runner-input channel here so the dispatcher's
|
|
1044
|
+
// §5.1 algorithm sees them when test.fn runs.
|
|
1045
|
+
const explicitMapRaw = process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"];
|
|
1046
|
+
if (explicitMapRaw) {
|
|
1047
|
+
try {
|
|
1048
|
+
const parsed = JSON.parse(explicitMapRaw);
|
|
1049
|
+
for (const [testId, value] of Object.entries(parsed)) {
|
|
1050
|
+
setExplicitInput(testId, value);
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
catch (err) {
|
|
1054
|
+
console.log(JSON.stringify({
|
|
1055
|
+
type: "log",
|
|
1056
|
+
message: `Invalid GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP JSON: ` +
|
|
1057
|
+
(err instanceof Error ? err.message : String(err)),
|
|
1058
|
+
}));
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
const bootstrapMapRaw = process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"];
|
|
1062
|
+
if (bootstrapMapRaw) {
|
|
1063
|
+
try {
|
|
1064
|
+
const parsed = JSON.parse(bootstrapMapRaw);
|
|
1065
|
+
for (const [testId, value] of Object.entries(parsed)) {
|
|
1066
|
+
setBootstrapInput(testId, value);
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
catch (err) {
|
|
1070
|
+
console.log(JSON.stringify({
|
|
1071
|
+
type: "log",
|
|
1072
|
+
message: `Invalid GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP JSON: ` +
|
|
1073
|
+
(err instanceof Error ? err.message : String(err)),
|
|
1074
|
+
}));
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
const forceStandaloneRaw = process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"];
|
|
1078
|
+
if (forceStandaloneRaw) {
|
|
1079
|
+
try {
|
|
1080
|
+
const parsed = JSON.parse(forceStandaloneRaw);
|
|
1081
|
+
if (Array.isArray(parsed)) {
|
|
1082
|
+
for (const testId of parsed) {
|
|
1083
|
+
if (typeof testId === "string")
|
|
1084
|
+
setForceStandalone(testId);
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
catch (err) {
|
|
1089
|
+
console.log(JSON.stringify({
|
|
1090
|
+
type: "log",
|
|
1091
|
+
message: `Invalid GLUBEAN_RUNNER_FORCE_STANDALONE_IDS JSON: ` +
|
|
1092
|
+
(err instanceof Error ? err.message : String(err)),
|
|
1093
|
+
}));
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1023
1096
|
// Dynamic import - LOAD phase
|
|
1024
1097
|
console.log(JSON.stringify({
|
|
1025
1098
|
type: "log",
|
|
@@ -1071,20 +1144,111 @@ try {
|
|
|
1071
1144
|
});
|
|
1072
1145
|
process.exit(0);
|
|
1073
1146
|
}
|
|
1074
|
-
// ──
|
|
1075
|
-
|
|
1147
|
+
// ── Mode validation ──
|
|
1148
|
+
// At least one of testId, testIds, or exportName must be provided.
|
|
1149
|
+
// exportName alone triggers the export-scoped enumeration mode below
|
|
1150
|
+
// (canonical path for data-driven tests where per-row ids are runtime data).
|
|
1151
|
+
if (!testId && !testIds && !exportName) {
|
|
1076
1152
|
console.log(JSON.stringify({
|
|
1077
1153
|
type: "error",
|
|
1078
|
-
message: "Missing required arguments: --testId or --
|
|
1154
|
+
message: "Missing required arguments: --testId, --testIds, or --exportName",
|
|
1079
1155
|
}));
|
|
1080
1156
|
process.exit(1);
|
|
1081
1157
|
}
|
|
1158
|
+
// ── Export-scoped enumeration mode ──
|
|
1159
|
+
// When --exportName is set without --testId/--testIds, enumerate every
|
|
1160
|
+
// test belonging to that export and run all of them. This is the canonical
|
|
1161
|
+
// path for `test.each` / `test.pick` data-driven exports: per-row ids
|
|
1162
|
+
// (e.g. `demo-alpha`, `demo-beta` substituted from a `demo-$key` template)
|
|
1163
|
+
// only exist after the EachBuilder/PickBuilder is built — that runtime
|
|
1164
|
+
// fact lives here in the harness, not in any caller's static parser.
|
|
1165
|
+
//
|
|
1166
|
+
// Why a dedicated mode and not "passing template ids through --testIds":
|
|
1167
|
+
// template ids (`demo-$key`) never match any concrete `Test.meta.id`, so
|
|
1168
|
+
// `findTestById` returns undefined and the existing `exportNamesMap`
|
|
1169
|
+
// fallback short-circuits to `findTestByExport` which only returns the
|
|
1170
|
+
// FIRST test in the export — silent first-row-only bug that affected
|
|
1171
|
+
// every CLI/MCP run of a data-driven cookbook test (B1).
|
|
1172
|
+
if (exportName && !testId && !testIds) {
|
|
1173
|
+
const allTests = resolveModuleTests(userModule);
|
|
1174
|
+
const scoped = allTests.filter((t) => t.exportName === exportName);
|
|
1175
|
+
if (scoped.length === 0) {
|
|
1176
|
+
throw new Error(`No tests found in export "${exportName}". Available exports: ${Object.keys(userModule).join(", ")}`);
|
|
1177
|
+
}
|
|
1178
|
+
let hasFailure = false;
|
|
1179
|
+
for (const resolved of scoped) {
|
|
1180
|
+
resetTestCounters();
|
|
1181
|
+
const obj = findTestById(userModule, resolved.id);
|
|
1182
|
+
if (!obj) {
|
|
1183
|
+
// Should never happen if `resolveModuleTests` returned this id,
|
|
1184
|
+
// but be defensive — emit a failure event rather than skipping silently.
|
|
1185
|
+
console.log(JSON.stringify({
|
|
1186
|
+
type: "status",
|
|
1187
|
+
status: "failed",
|
|
1188
|
+
id: resolved.id,
|
|
1189
|
+
testId: resolved.id,
|
|
1190
|
+
error: `Test "${resolved.id}" enumerated by resolveModuleTests but not findable by id`,
|
|
1191
|
+
}));
|
|
1192
|
+
hasFailure = true;
|
|
1193
|
+
continue;
|
|
1194
|
+
}
|
|
1195
|
+
try {
|
|
1196
|
+
await executeNewTest(obj);
|
|
1197
|
+
}
|
|
1198
|
+
catch (error) {
|
|
1199
|
+
if (error instanceof SkipError) {
|
|
1200
|
+
console.log(JSON.stringify({
|
|
1201
|
+
type: "status",
|
|
1202
|
+
status: "skipped",
|
|
1203
|
+
id: resolved.id,
|
|
1204
|
+
testId: resolved.id,
|
|
1205
|
+
reason: error.reason,
|
|
1206
|
+
}));
|
|
1207
|
+
}
|
|
1208
|
+
else {
|
|
1209
|
+
hasFailure = true;
|
|
1210
|
+
const reason = classifyErrorReason(error);
|
|
1211
|
+
console.log(JSON.stringify({
|
|
1212
|
+
type: "status",
|
|
1213
|
+
status: "failed",
|
|
1214
|
+
id: resolved.id,
|
|
1215
|
+
testId: resolved.id,
|
|
1216
|
+
error: error instanceof Error ? error.message : String(error),
|
|
1217
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
1218
|
+
...(reason && { reason }),
|
|
1219
|
+
}));
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
process.exit(hasFailure ? 1 : 0);
|
|
1224
|
+
}
|
|
1082
1225
|
if (testIds) {
|
|
1083
1226
|
// ── File-level batch mode ──
|
|
1084
1227
|
// Runs multiple tests in a single process, preserving module-level state.
|
|
1085
1228
|
// When batchConcurrency > 1, tests run concurrently via p-queue
|
|
1086
1229
|
// (opt-in via test.each({ parallel: true }) + --concurrency flag).
|
|
1230
|
+
//
|
|
1231
|
+
// Mixed input shape: each id in `testIds` is either
|
|
1232
|
+
// (a) a CONCRETE id like `"my-test"` — found via `findTestById`.
|
|
1233
|
+
// (b) a DATA-DRIVEN TEMPLATE like `"dj-csv-$label"` (matches /\$\w+/) —
|
|
1234
|
+
// expanded into per-row substituted ids via `resolveModuleTests`
|
|
1235
|
+
// filtered by `exportNamesMap[id]` (the export this template
|
|
1236
|
+
// belongs to). Each substituted row runs as its own work item
|
|
1237
|
+
// with its own substituted testId in events.
|
|
1238
|
+
//
|
|
1239
|
+
// Why expansion lives here: per-row ids are runtime data — only the
|
|
1240
|
+
// harness's environment can produce them correctly. CLI/MCP/VSCode
|
|
1241
|
+
// pre-rebuild stuffed templates into `--testIds=` and relied on the
|
|
1242
|
+
// legacy `findTestByExport` fallback that returned only the FIRST row
|
|
1243
|
+
// (silent first-row-only bug B1). The expansion below is the canonical
|
|
1244
|
+
// fix: keep the single-subprocess-per-file invariant (module state +
|
|
1245
|
+
// source order preserved) while running ALL rows.
|
|
1246
|
+
//
|
|
1247
|
+
// Caching `resolveModuleTests` once per harness run avoids repeated
|
|
1248
|
+
// re-resolution if multiple template ids appear in the same file.
|
|
1087
1249
|
let hasFailure = false;
|
|
1250
|
+
let resolvedModuleTestsCache;
|
|
1251
|
+
const isTemplateId = (id) => /\$\w+/.test(id);
|
|
1088
1252
|
const runOneTest = async (id) => {
|
|
1089
1253
|
resetTestCounters();
|
|
1090
1254
|
let testObj = findTestById(userModule, id);
|
|
@@ -1116,16 +1280,53 @@ try {
|
|
|
1116
1280
|
}
|
|
1117
1281
|
}
|
|
1118
1282
|
};
|
|
1283
|
+
/**
|
|
1284
|
+
* Expand each `testIds` entry into one or more concrete ids to run,
|
|
1285
|
+
* preserving source order. A template id with a known exportName
|
|
1286
|
+
* expands into N substituted ids (one per row); a concrete id passes
|
|
1287
|
+
* through as itself. Unknown templates pass through too — they'll
|
|
1288
|
+
* fail loudly via the not-found path in `runOneTest`.
|
|
1289
|
+
*/
|
|
1290
|
+
const expandedIds = [];
|
|
1291
|
+
for (const id of testIds) {
|
|
1292
|
+
if (isTemplateId(id) && exportNamesMap[id]) {
|
|
1293
|
+
if (!resolvedModuleTestsCache) {
|
|
1294
|
+
resolvedModuleTestsCache = resolveModuleTests(userModule);
|
|
1295
|
+
}
|
|
1296
|
+
const targetExport = exportNamesMap[id];
|
|
1297
|
+
const scoped = resolvedModuleTestsCache.filter((t) => t.exportName === targetExport);
|
|
1298
|
+
if (scoped.length === 0) {
|
|
1299
|
+
// Template id whose export has no resolvable tests — emit a
|
|
1300
|
+
// failure event for the template id itself so the run doesn't
|
|
1301
|
+
// silently complete. (Without this, an empty `test.each([])`
|
|
1302
|
+
// export would look like a passing zero-test run.)
|
|
1303
|
+
console.log(JSON.stringify({
|
|
1304
|
+
type: "status",
|
|
1305
|
+
status: "failed",
|
|
1306
|
+
id,
|
|
1307
|
+
testId: id,
|
|
1308
|
+
error: `No tests found in export "${targetExport}" (template id "${id}" expanded to zero rows)`,
|
|
1309
|
+
}));
|
|
1310
|
+
hasFailure = true;
|
|
1311
|
+
continue;
|
|
1312
|
+
}
|
|
1313
|
+
for (const r of scoped)
|
|
1314
|
+
expandedIds.push(r.id);
|
|
1315
|
+
}
|
|
1316
|
+
else {
|
|
1317
|
+
expandedIds.push(id);
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1119
1320
|
if (batchConcurrency > 1) {
|
|
1120
1321
|
const { default: PQueue } = await import("p-queue");
|
|
1121
1322
|
const queue = new PQueue({ concurrency: batchConcurrency });
|
|
1122
|
-
for (const id of
|
|
1323
|
+
for (const id of expandedIds) {
|
|
1123
1324
|
void queue.add(() => runOneTest(id));
|
|
1124
1325
|
}
|
|
1125
1326
|
await queue.onIdle();
|
|
1126
1327
|
}
|
|
1127
1328
|
else {
|
|
1128
|
-
for (const id of
|
|
1329
|
+
for (const id of expandedIds) {
|
|
1129
1330
|
await runOneTest(id);
|
|
1130
1331
|
}
|
|
1131
1332
|
}
|
package/dist/harness.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -41,6 +41,19 @@
|
|
|
41
41
|
/** Facade — `ProjectRunner` wraps the full run pipeline. Start here for new code. */
|
|
42
42
|
export { ProjectRunner } from "./project-runner.js";
|
|
43
43
|
export type { ProjectRunEvent, ProjectRunnerOptions, ProjectRunnerTest, } from "./project-runner.js";
|
|
44
|
+
/**
|
|
45
|
+
* Programmatic single-case runner mirroring CLI `--input-json` /
|
|
46
|
+
* `--bootstrap-json` / `--force-standalone` and MCP `glubean_run_local_file`'s
|
|
47
|
+
* runner-input parameters. See attachment-model §8.
|
|
48
|
+
*/
|
|
49
|
+
export { runCase } from "./run-case.js";
|
|
50
|
+
export type { RunCaseOptions, RunCaseResult } from "./run-case.js";
|
|
51
|
+
/**
|
|
52
|
+
* `{{VAR}}` env templating for runner-supplied inputs (§8). Used
|
|
53
|
+
* internally by CLI / MCP / `runCase` to interpolate before schema
|
|
54
|
+
* validation. Exposed for embedders that pre-process inputs themselves.
|
|
55
|
+
*/
|
|
56
|
+
export { applyEnvTemplating } from "./runner-input-templating.js";
|
|
44
57
|
/**
|
|
45
58
|
* Plugin bootstrap — locate and import `glubean.setup.ts` so plugin
|
|
46
59
|
* registrations (matchers / protocol adapters) are in place before
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAMH,qFAAqF;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAMH,qFAAqF;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnE;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAMlE;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM3C,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,iEAAiE;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,2EAA2E;AAC3E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,+DAA+D;AAC/D,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,kDAAkD;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE,sFAAsF;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -43,6 +43,18 @@
|
|
|
43
43
|
// =============================================================================
|
|
44
44
|
/** Facade — `ProjectRunner` wraps the full run pipeline. Start here for new code. */
|
|
45
45
|
export { ProjectRunner } from "./project-runner.js";
|
|
46
|
+
/**
|
|
47
|
+
* Programmatic single-case runner mirroring CLI `--input-json` /
|
|
48
|
+
* `--bootstrap-json` / `--force-standalone` and MCP `glubean_run_local_file`'s
|
|
49
|
+
* runner-input parameters. See attachment-model §8.
|
|
50
|
+
*/
|
|
51
|
+
export { runCase } from "./run-case.js";
|
|
52
|
+
/**
|
|
53
|
+
* `{{VAR}}` env templating for runner-supplied inputs (§8). Used
|
|
54
|
+
* internally by CLI / MCP / `runCase` to interpolate before schema
|
|
55
|
+
* validation. Exposed for embedders that pre-process inputs themselves.
|
|
56
|
+
*/
|
|
57
|
+
export { applyEnvTemplating } from "./runner-input-templating.js";
|
|
46
58
|
// =============================================================================
|
|
47
59
|
// 2. Entry-point infrastructure
|
|
48
60
|
// =============================================================================
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF,qFAAqF;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGnE,gFAAgF;AAChF,qEAAqE;AACrE,gFAAgF;AAEhF,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAO9D,iEAAiE;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,2EAA2E;AAC3E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,+DAA+D;AAC/D,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,kDAAkD;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE,sFAAsF;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF,qFAAqF;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGnE,gFAAgF;AAChF,qEAAqE;AACrE,gFAAgF;AAEhF,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAO9D,iEAAiE;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,2EAA2E;AAC3E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,+DAA+D;AAC/D,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,kDAAkD;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE,sFAAsF;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/project-runner.d.ts
CHANGED
|
@@ -52,6 +52,18 @@ export type ProjectRunEvent = {
|
|
|
52
52
|
} | {
|
|
53
53
|
type: "bootstrap:failed";
|
|
54
54
|
error: Error;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* attachment-model §7.4 — a `*.bootstrap.{ts,js,mjs}` file failed to
|
|
58
|
+
* import during eager overlay loading. Non-fatal: cases that depend on
|
|
59
|
+
* the missing overlay will hard-error at execute-time per §5.1, but
|
|
60
|
+
* unrelated tests still run. Surfaced so consumers can render the
|
|
61
|
+
* diagnostic alongside their normal output.
|
|
62
|
+
*/
|
|
63
|
+
| {
|
|
64
|
+
type: "overlay:load:failed";
|
|
65
|
+
file: string;
|
|
66
|
+
error: string;
|
|
55
67
|
} | {
|
|
56
68
|
type: "discovery:done";
|
|
57
69
|
totalFiles: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-runner.d.ts","sourceRoot":"","sources":["../src/project-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"project-runner.d.ts","sourceRoot":"","sources":["../src/project-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7C,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;CAChB;AASD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE;AAC5C;;;;;;GAMG;GACD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,uBAAuB,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,sBAAsB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,YAAY,EAAE,eAAe,CAAC;IAE9B;;;;;;;;OAQG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kDAAkD;IAClD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAE3B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE9B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAMD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAEnC,OAAO,EAAE,oBAAoB;IAIzC;;;;;;;;;;OAUG;IACI,GAAG,IAAI,cAAc,CAAC,eAAe,CAAC;CAwN9C"}
|
package/dist/project-runner.js
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { resolve } from "node:path";
|
|
24
24
|
import { pathToFileURL } from "node:url";
|
|
25
|
+
import { loadProjectOverlays } from "@glubean/scanner";
|
|
25
26
|
import { bootstrap } from "./bootstrap.js";
|
|
26
27
|
import { TestExecutor } from "./executor.js";
|
|
27
28
|
import { discoverSessionFile, RunOrchestrator, } from "./orchestrator.js";
|
|
@@ -61,6 +62,17 @@ export class ProjectRunner {
|
|
|
61
62
|
yield { type: "run:failed", reason: "bootstrap-failed", error: error.message };
|
|
62
63
|
return;
|
|
63
64
|
}
|
|
65
|
+
// attachment-model §7.4: eagerly load every `*.bootstrap.{ts,js,mjs}`
|
|
66
|
+
// so `contract.bootstrap()` calls register their overlays before any
|
|
67
|
+
// test runs. Idempotent — CLI already calls this; second visit
|
|
68
|
+
// short-circuits via the scanner's mtime-keyed module cache.
|
|
69
|
+
// Per-file errors are surfaced but don't abort the run; a broken
|
|
70
|
+
// overlay file shouldn't block unrelated tests. Cases that depend
|
|
71
|
+
// on the missing overlay will hard-error at execute-time per §5.1.
|
|
72
|
+
const overlayLoad = await loadProjectOverlays(rootDir);
|
|
73
|
+
for (const err of overlayLoad.errors) {
|
|
74
|
+
yield { type: "overlay:load:failed", file: err.file, error: err.error };
|
|
75
|
+
}
|
|
64
76
|
yield { type: "bootstrap:done" };
|
|
65
77
|
// ── 3. Group tests by file (per-file batching) ───────────────────
|
|
66
78
|
const fileGroups = new Map();
|
|
@@ -138,6 +150,19 @@ export class ProjectRunner {
|
|
|
138
150
|
exportNames[t.meta.id] = t.exportName;
|
|
139
151
|
yield { type: "file:start", filePath, testCount: fileTests.length };
|
|
140
152
|
const fileStart = Date.now();
|
|
153
|
+
// ONE harness subprocess per file, even for mixed static/data-driven
|
|
154
|
+
// exports. The harness's batch mode (extended in runner 0.2.6)
|
|
155
|
+
// detects template ids in `testIds` (matches /\$\w+/) and expands
|
|
156
|
+
// them in source order via `exportNamesMap` + `resolveModuleTests`.
|
|
157
|
+
// This preserves:
|
|
158
|
+
// - per-file module-level state across all tests in the file
|
|
159
|
+
// - source-order execution between static and data-driven exports
|
|
160
|
+
// - failFast semantics (one stream of completions; consumer
|
|
161
|
+
// decides when to stop)
|
|
162
|
+
//
|
|
163
|
+
// Pre-0.2.6 behavior was different and broken: harness's old batch
|
|
164
|
+
// mode passed templates through `findTestByExport` fallback that
|
|
165
|
+
// returned only the FIRST row. Now expansion is canonical (B1).
|
|
141
166
|
for await (const event of executor.run(testFileUrl, "", {
|
|
142
167
|
vars: envVars,
|
|
143
168
|
secrets,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-runner.js","sourceRoot":"","sources":["../src/project-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"project-runner.js","sourceRoot":"","sources":["../src/project-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module run-case
|
|
3
|
+
*
|
|
4
|
+
* Public programmatic wrapper for the runner-input-channel surface
|
|
5
|
+
* (attachment-model §8). Mirrors CLI `--input-json` / `--bootstrap-json` /
|
|
6
|
+
* `--force-standalone` and MCP `glubean_run_local_file`'s `inputJson` /
|
|
7
|
+
* `bootstrapInput` / `forceStandalone` parameters.
|
|
8
|
+
*
|
|
9
|
+
* Use cases:
|
|
10
|
+
* - Embedders / scripts that want to drive a single contract case with
|
|
11
|
+
* a specific input shape without going through the CLI.
|
|
12
|
+
* - Cookbook examples illustrating attachment-model §5.1 / §8 flows.
|
|
13
|
+
*
|
|
14
|
+
* Implementation strategy: serialize the per-test inputs into the same
|
|
15
|
+
* env vars the harness reads (`GLUBEAN_RUNNER_*`), then construct a
|
|
16
|
+
* `ProjectRunner` with a single test descriptor. Env vars are restored
|
|
17
|
+
* to their prior values in `finally`, so concurrent callers in the
|
|
18
|
+
* same process don't leak state.
|
|
19
|
+
*/
|
|
20
|
+
import type { ProjectRunEvent } from "./project-runner.js";
|
|
21
|
+
import type { SharedRunConfig } from "./config.js";
|
|
22
|
+
/** Result of running a single case via {@link runCase}. */
|
|
23
|
+
export interface RunCaseResult {
|
|
24
|
+
/** Did the case pass? */
|
|
25
|
+
success: boolean;
|
|
26
|
+
/** Test id that ran. */
|
|
27
|
+
testId: string;
|
|
28
|
+
/** Project root resolved from the file path's ancestry. */
|
|
29
|
+
projectRoot: string;
|
|
30
|
+
/** All events emitted by `ProjectRunner` for this run, in order. */
|
|
31
|
+
events: ProjectRunEvent[];
|
|
32
|
+
/**
|
|
33
|
+
* If the run did not reach a per-test success/fail status (e.g.
|
|
34
|
+
* bootstrap or session setup failed), this carries the reason.
|
|
35
|
+
*/
|
|
36
|
+
orchestrationError?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Options for {@link runCase}. */
|
|
39
|
+
export interface RunCaseOptions {
|
|
40
|
+
/** Absolute (preferred) path to the test/contract file. */
|
|
41
|
+
filePath: string;
|
|
42
|
+
/** Specific testId to dispatch (e.g. `"orders.create.success"`). */
|
|
43
|
+
testId: string;
|
|
44
|
+
/** Display name for the test. Optional; falls back to `testId`. */
|
|
45
|
+
testName?: string;
|
|
46
|
+
/** Export name on the file. When omitted, `ProjectRunner` resolves it. */
|
|
47
|
+
exportName?: string;
|
|
48
|
+
/** Project root override. When omitted, `filePath`'s directory is used. */
|
|
49
|
+
rootDir?: string;
|
|
50
|
+
/** Shared run config (timeouts, schema inference, etc.). */
|
|
51
|
+
sharedConfig: SharedRunConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Skip session setup/teardown. Defaults to `false` to match CLI / MCP
|
|
54
|
+
* / `ProjectRunner` defaults — a programmatic single-case run sees
|
|
55
|
+
* the same `session.ts` lifecycle a `glubean run --filter` would.
|
|
56
|
+
* Set to `true` only when the caller has a reason to bypass session
|
|
57
|
+
* (e.g. invoking from inside a test that already established its own
|
|
58
|
+
* session, or driving a fixture project with no `session.ts`).
|
|
59
|
+
*/
|
|
60
|
+
noSession?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Spike 3 attachment-model §8 — explicit case input. Validated
|
|
63
|
+
* against the case's `needs` schema; runs raw (overlay skipped).
|
|
64
|
+
*/
|
|
65
|
+
input?: unknown;
|
|
66
|
+
/**
|
|
67
|
+
* Spike 3 attachment-model §8 — bootstrap params. Validated against
|
|
68
|
+
* the overlay's `params` schema and passed to `run(ctx, params)`.
|
|
69
|
+
*/
|
|
70
|
+
bootstrapInput?: unknown;
|
|
71
|
+
/**
|
|
72
|
+
* §6.3 debug escape valve for `runnability.requireAttachment` on
|
|
73
|
+
* no-needs cases. Emits a runtime warning when triggered.
|
|
74
|
+
*/
|
|
75
|
+
forceStandalone?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Optional env map for `{{VAR}}` substitution inside `input` /
|
|
78
|
+
* `bootstrapInput` (§8). When omitted, the templating env is built
|
|
79
|
+
* from `{ ...vars, ...secrets, ...process.env }` matching CLI / MCP
|
|
80
|
+
* precedence (process.env wins, secrets win over vars).
|
|
81
|
+
*/
|
|
82
|
+
templatingEnv?: Record<string, string | undefined>;
|
|
83
|
+
/**
|
|
84
|
+
* Project env-file basename to load (e.g. `".env"` or
|
|
85
|
+
* `".env.staging"`). Loads `<rootDir>/<envFile>` and
|
|
86
|
+
* `<rootDir>/<envFile>.secrets`. Both files are silently treated as
|
|
87
|
+
* empty when absent. Defaults to `".env"` to match CLI / MCP.
|
|
88
|
+
*
|
|
89
|
+
* Set to `null` to skip env-file loading entirely (useful for
|
|
90
|
+
* fixture-driven tests / scripts that don't want any project env).
|
|
91
|
+
*/
|
|
92
|
+
envFile?: string | null;
|
|
93
|
+
/**
|
|
94
|
+
* Project vars to inject into `ProjectRunner` (and therefore into
|
|
95
|
+
* `ctx.vars` for the running case). When provided, MERGED ON TOP OF
|
|
96
|
+
* the env loaded from `envFile` (caller-supplied vars win over file
|
|
97
|
+
* vars). Use this to override or extend env values without touching
|
|
98
|
+
* the on-disk `.env`.
|
|
99
|
+
*/
|
|
100
|
+
vars?: Record<string, string>;
|
|
101
|
+
/**
|
|
102
|
+
* Project secrets to inject into `ProjectRunner` (and therefore into
|
|
103
|
+
* `ctx.secrets`). Same merge semantics as `vars` — caller-supplied
|
|
104
|
+
* wins over `envFile` values.
|
|
105
|
+
*/
|
|
106
|
+
secrets?: Record<string, string>;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Run a single contract case programmatically with optional explicit
|
|
110
|
+
* input or bootstrap params. Mirrors the runtime resolution algorithm
|
|
111
|
+
* (§5.1) used by the CLI and MCP surfaces.
|
|
112
|
+
*
|
|
113
|
+
* @example Run a needs-case with explicit input (overlay skipped)
|
|
114
|
+
* ```ts
|
|
115
|
+
* import { runCase } from "@glubean/runner";
|
|
116
|
+
*
|
|
117
|
+
* const result = await runCase({
|
|
118
|
+
* filePath: "/abs/path/to/users.contract.ts",
|
|
119
|
+
* testId: "users.get.ok",
|
|
120
|
+
* sharedConfig: { ...default... },
|
|
121
|
+
* input: { token: "tk-1", userId: "u-42" },
|
|
122
|
+
* });
|
|
123
|
+
* console.log(result.success);
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* @example Run with bootstrap params
|
|
127
|
+
* ```ts
|
|
128
|
+
* const result = await runCase({
|
|
129
|
+
* filePath: "/abs/.../orders.contract.ts",
|
|
130
|
+
* testId: "orders.list.seeded",
|
|
131
|
+
* sharedConfig: { ...default... },
|
|
132
|
+
* bootstrapInput: { projectId: "p_42" },
|
|
133
|
+
* });
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
export declare function runCase(opts: RunCaseOptions): Promise<RunCaseResult>;
|
|
137
|
+
//# sourceMappingURL=run-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-case.d.ts","sourceRoot":"","sources":["../src/run-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA+CnD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,YAAY,EAAE,eAAe,CAAC;IAC9B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEnD;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAmJ1E"}
|
package/dist/run-case.js
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module run-case
|
|
3
|
+
*
|
|
4
|
+
* Public programmatic wrapper for the runner-input-channel surface
|
|
5
|
+
* (attachment-model §8). Mirrors CLI `--input-json` / `--bootstrap-json` /
|
|
6
|
+
* `--force-standalone` and MCP `glubean_run_local_file`'s `inputJson` /
|
|
7
|
+
* `bootstrapInput` / `forceStandalone` parameters.
|
|
8
|
+
*
|
|
9
|
+
* Use cases:
|
|
10
|
+
* - Embedders / scripts that want to drive a single contract case with
|
|
11
|
+
* a specific input shape without going through the CLI.
|
|
12
|
+
* - Cookbook examples illustrating attachment-model §5.1 / §8 flows.
|
|
13
|
+
*
|
|
14
|
+
* Implementation strategy: serialize the per-test inputs into the same
|
|
15
|
+
* env vars the harness reads (`GLUBEAN_RUNNER_*`), then construct a
|
|
16
|
+
* `ProjectRunner` with a single test descriptor. Env vars are restored
|
|
17
|
+
* to their prior values in `finally`, so concurrent callers in the
|
|
18
|
+
* same process don't leak state.
|
|
19
|
+
*/
|
|
20
|
+
import { dirname, resolve } from "node:path";
|
|
21
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
22
|
+
import { ProjectRunner } from "./project-runner.js";
|
|
23
|
+
import { applyEnvTemplating } from "./runner-input-templating.js";
|
|
24
|
+
import { loadProjectEnv } from "./env.js";
|
|
25
|
+
/**
|
|
26
|
+
* Walk up from `filePath` to find the **Glubean project root** — the
|
|
27
|
+
* nearest ancestor containing a `package.json` that declares
|
|
28
|
+
* `@glubean/sdk` (in deps or devDeps) OR carries a `glubean` config
|
|
29
|
+
* field. Mirrors `findProjectConfig` in CLI run.ts.
|
|
30
|
+
*
|
|
31
|
+
* The "Glubean project" filter matters in monorepos / nested-package
|
|
32
|
+
* setups: a contract under `apps/foo/tests/x.contract.ts` should resolve
|
|
33
|
+
* to the workspace root (where `glubean.setup.ts` / root `.env` /
|
|
34
|
+
* top-level overlay registrations live), NOT to `apps/foo/` if that
|
|
35
|
+
* subpackage's `package.json` doesn't depend on `@glubean/sdk`. Stopping
|
|
36
|
+
* at the first `package.json` would silently misroute everything.
|
|
37
|
+
*
|
|
38
|
+
* Fallback when no Glubean project is found anywhere up the tree:
|
|
39
|
+
* `dirname(filePath)`. This keeps ad-hoc / scratch test runs working
|
|
40
|
+
* (matches CLI's "scratch mode" — no glubean project found).
|
|
41
|
+
*/
|
|
42
|
+
function findProjectRoot(filePath) {
|
|
43
|
+
let dir = dirname(filePath);
|
|
44
|
+
while (dir !== dirname(dir)) {
|
|
45
|
+
const pkgPath = resolve(dir, "package.json");
|
|
46
|
+
if (existsSync(pkgPath)) {
|
|
47
|
+
try {
|
|
48
|
+
const content = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
49
|
+
const deps = { ...content.dependencies, ...content.devDependencies };
|
|
50
|
+
if ("@glubean/sdk" in deps || content.glubean !== undefined) {
|
|
51
|
+
return dir;
|
|
52
|
+
}
|
|
53
|
+
// Non-Glubean package.json — keep walking; might be a nested
|
|
54
|
+
// tooling package whose Glubean root is higher up.
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// Parse error — skip this package.json and keep walking.
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
dir = dirname(dir);
|
|
61
|
+
}
|
|
62
|
+
return dirname(filePath);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Run a single contract case programmatically with optional explicit
|
|
66
|
+
* input or bootstrap params. Mirrors the runtime resolution algorithm
|
|
67
|
+
* (§5.1) used by the CLI and MCP surfaces.
|
|
68
|
+
*
|
|
69
|
+
* @example Run a needs-case with explicit input (overlay skipped)
|
|
70
|
+
* ```ts
|
|
71
|
+
* import { runCase } from "@glubean/runner";
|
|
72
|
+
*
|
|
73
|
+
* const result = await runCase({
|
|
74
|
+
* filePath: "/abs/path/to/users.contract.ts",
|
|
75
|
+
* testId: "users.get.ok",
|
|
76
|
+
* sharedConfig: { ...default... },
|
|
77
|
+
* input: { token: "tk-1", userId: "u-42" },
|
|
78
|
+
* });
|
|
79
|
+
* console.log(result.success);
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @example Run with bootstrap params
|
|
83
|
+
* ```ts
|
|
84
|
+
* const result = await runCase({
|
|
85
|
+
* filePath: "/abs/.../orders.contract.ts",
|
|
86
|
+
* testId: "orders.list.seeded",
|
|
87
|
+
* sharedConfig: { ...default... },
|
|
88
|
+
* bootstrapInput: { projectId: "p_42" },
|
|
89
|
+
* });
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export async function runCase(opts) {
|
|
93
|
+
// §5.1 invariant: explicit input always wins; overlay never invoked.
|
|
94
|
+
// The two channels are mutually exclusive — surface boundary enforces
|
|
95
|
+
// it so the dispatcher never silently drops the bootstrap-params side.
|
|
96
|
+
if (opts.input !== undefined && opts.bootstrapInput !== undefined) {
|
|
97
|
+
throw new Error(`runCase: \`input\` and \`bootstrapInput\` are mutually exclusive. ` +
|
|
98
|
+
`Per attachment-model §5.1: explicit input bypasses the overlay, ` +
|
|
99
|
+
`so bootstrap params would be ignored. Pick one channel per call.`);
|
|
100
|
+
}
|
|
101
|
+
const filePath = resolve(opts.filePath);
|
|
102
|
+
// §7.4 / glubean.setup.ts location: project root must be the directory
|
|
103
|
+
// containing `package.json` and (typically) `glubean.setup.ts` — NOT
|
|
104
|
+
// just the directory of the contract file. A file under `tests/` or
|
|
105
|
+
// `contracts/` would otherwise miss the project's plugin bootstrap and
|
|
106
|
+
// env loading. Caller can pass an explicit `rootDir` to override; if
|
|
107
|
+
// omitted, walk up from the file looking for `package.json`.
|
|
108
|
+
const rootDir = opts.rootDir ?? findProjectRoot(filePath);
|
|
109
|
+
// Load project env (matches CLI / MCP behavior). `envFile: null` skips
|
|
110
|
+
// the load; otherwise default basename is `.env`. Caller-supplied
|
|
111
|
+
// `vars` / `secrets` merge on top (caller wins over file).
|
|
112
|
+
//
|
|
113
|
+
// No try/catch around `loadProjectEnv`: it treats missing `.env` /
|
|
114
|
+
// `.env.secrets` files as empty internally and only throws on real
|
|
115
|
+
// load failures (parse errors, IO errors). Letting those bubble up
|
|
116
|
+
// matches CLI / MCP behavior — silently empty-env-then-run is a
|
|
117
|
+
// worse failure mode than a clear parse error to the caller.
|
|
118
|
+
let loadedVars = {};
|
|
119
|
+
let loadedSecrets = {};
|
|
120
|
+
if (opts.envFile !== null) {
|
|
121
|
+
const envFileName = opts.envFile ?? ".env";
|
|
122
|
+
const loaded = await loadProjectEnv(rootDir, envFileName);
|
|
123
|
+
loadedVars = loaded.vars;
|
|
124
|
+
loadedSecrets = loaded.secrets;
|
|
125
|
+
}
|
|
126
|
+
const effectiveVars = { ...loadedVars, ...(opts.vars ?? {}) };
|
|
127
|
+
const effectiveSecrets = { ...loadedSecrets, ...(opts.secrets ?? {}) };
|
|
128
|
+
// Capture & set env vars BEFORE constructing ProjectRunner — the
|
|
129
|
+
// executor inherits parent env when spawning the harness subprocess.
|
|
130
|
+
const savedExplicit = process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"];
|
|
131
|
+
const savedBootstrap = process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"];
|
|
132
|
+
const savedForce = process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"];
|
|
133
|
+
// §8 templating env — caller override, else built from
|
|
134
|
+
// `{ ...vars, ...secrets, ...process.env }` matching CLI / MCP
|
|
135
|
+
// precedence (process.env wins, secrets win over vars). Substitution
|
|
136
|
+
// happens before env-var serialization, so the harness sees ready-to-
|
|
137
|
+
// validate JSON.
|
|
138
|
+
const templatingEnv = opts.templatingEnv ?? {
|
|
139
|
+
...effectiveVars,
|
|
140
|
+
...effectiveSecrets,
|
|
141
|
+
...process.env,
|
|
142
|
+
};
|
|
143
|
+
if (opts.input !== undefined) {
|
|
144
|
+
const templated = applyEnvTemplating(opts.input, templatingEnv);
|
|
145
|
+
process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"] = JSON.stringify({
|
|
146
|
+
[opts.testId]: templated,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
if (opts.bootstrapInput !== undefined) {
|
|
150
|
+
const templated = applyEnvTemplating(opts.bootstrapInput, templatingEnv);
|
|
151
|
+
process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"] = JSON.stringify({
|
|
152
|
+
[opts.testId]: templated,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
if (opts.forceStandalone === true) {
|
|
156
|
+
process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"] = JSON.stringify([
|
|
157
|
+
opts.testId,
|
|
158
|
+
]);
|
|
159
|
+
}
|
|
160
|
+
const restoreEnv = () => {
|
|
161
|
+
if (savedExplicit === undefined) {
|
|
162
|
+
delete process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"];
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"] = savedExplicit;
|
|
166
|
+
}
|
|
167
|
+
if (savedBootstrap === undefined) {
|
|
168
|
+
delete process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"];
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"] = savedBootstrap;
|
|
172
|
+
}
|
|
173
|
+
if (savedForce === undefined) {
|
|
174
|
+
delete process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"];
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"] = savedForce;
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
const test = {
|
|
181
|
+
filePath,
|
|
182
|
+
exportName: opts.exportName ?? "",
|
|
183
|
+
meta: {
|
|
184
|
+
id: opts.testId,
|
|
185
|
+
name: opts.testName ?? opts.testId,
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
const runner = new ProjectRunner({
|
|
189
|
+
rootDir,
|
|
190
|
+
sharedConfig: opts.sharedConfig,
|
|
191
|
+
vars: effectiveVars,
|
|
192
|
+
secrets: effectiveSecrets,
|
|
193
|
+
tests: [test],
|
|
194
|
+
noSession: opts.noSession ?? false,
|
|
195
|
+
});
|
|
196
|
+
const events = [];
|
|
197
|
+
let success = false;
|
|
198
|
+
let orchestrationError;
|
|
199
|
+
try {
|
|
200
|
+
for await (const evt of runner.run()) {
|
|
201
|
+
events.push(evt);
|
|
202
|
+
if (evt.type === "bootstrap:failed") {
|
|
203
|
+
orchestrationError = `Bootstrap failed: ${evt.error.message}`;
|
|
204
|
+
}
|
|
205
|
+
else if (evt.type === "session:setup:failed") {
|
|
206
|
+
orchestrationError = `Session setup failed${evt.error ? `: ${evt.error}` : ""}`;
|
|
207
|
+
}
|
|
208
|
+
else if (evt.type === "run:failed") {
|
|
209
|
+
if (!orchestrationError) {
|
|
210
|
+
orchestrationError = `Run failed (${evt.reason})${evt.error ? `: ${evt.error}` : ""}`;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else if (evt.type === "file:event") {
|
|
214
|
+
// ExecutionEvent's `status` event encodes the final per-test
|
|
215
|
+
// outcome: "completed" = pass, "failed" = fail, "skipped" = neither.
|
|
216
|
+
if (evt.event.type === "status" && evt.event.id === opts.testId) {
|
|
217
|
+
success = evt.event.status === "completed";
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
finally {
|
|
223
|
+
restoreEnv();
|
|
224
|
+
}
|
|
225
|
+
return {
|
|
226
|
+
success,
|
|
227
|
+
testId: opts.testId,
|
|
228
|
+
projectRoot: rootDir,
|
|
229
|
+
events,
|
|
230
|
+
...(orchestrationError !== undefined ? { orchestrationError } : {}),
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=run-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-case.js","sourceRoot":"","sources":["../src/run-case.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module runner-input-templating
|
|
3
|
+
*
|
|
4
|
+
* `{{VAR}}` substitution for runner-supplied inputs (attachment-model
|
|
5
|
+
* §8). The runner interpolates string scalars before schema validation;
|
|
6
|
+
* `env` is never read inside bootstrap (§8).
|
|
7
|
+
*
|
|
8
|
+
* Patterns supported (per §8 spec — kept minimal in v0):
|
|
9
|
+
* - `{{VAR}}` — substitute the entire string with the env value
|
|
10
|
+
* (preserves type only when string; numeric envs stay strings)
|
|
11
|
+
* - `prefix-{{VAR}}-suffix` — string interpolation; result is a string
|
|
12
|
+
* - `{{VAR1}}{{VAR2}}` — multiple substitutions in one string
|
|
13
|
+
*
|
|
14
|
+
* Errors:
|
|
15
|
+
* - Missing required var → `Error("Templating: missing env var \"VAR\"")`
|
|
16
|
+
* - Whitespace inside braces is stripped; `{{ VAR }}` works.
|
|
17
|
+
*
|
|
18
|
+
* Scope:
|
|
19
|
+
* - Recursive across plain objects and arrays.
|
|
20
|
+
* - Strings get substitution; numbers / booleans / null pass through.
|
|
21
|
+
* - Functions / class instances / Maps / Sets / etc. are unsupported
|
|
22
|
+
* for v0 (the input is JSON-shaped by the time it reaches us, so
|
|
23
|
+
* this is fine).
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Apply `{{VAR}}` substitution to all string scalars inside `value`,
|
|
27
|
+
* resolving variables from `env`. Returns a new value (does not mutate
|
|
28
|
+
* the input).
|
|
29
|
+
*
|
|
30
|
+
* @throws when a referenced var is missing in `env`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function applyEnvTemplating(value: unknown, env: Record<string, string | undefined>): unknown;
|
|
33
|
+
//# sourceMappingURL=runner-input-templating.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-input-templating.d.ts","sourceRoot":"","sources":["../src/runner-input-templating.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,OAAO,CAeT"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module runner-input-templating
|
|
3
|
+
*
|
|
4
|
+
* `{{VAR}}` substitution for runner-supplied inputs (attachment-model
|
|
5
|
+
* §8). The runner interpolates string scalars before schema validation;
|
|
6
|
+
* `env` is never read inside bootstrap (§8).
|
|
7
|
+
*
|
|
8
|
+
* Patterns supported (per §8 spec — kept minimal in v0):
|
|
9
|
+
* - `{{VAR}}` — substitute the entire string with the env value
|
|
10
|
+
* (preserves type only when string; numeric envs stay strings)
|
|
11
|
+
* - `prefix-{{VAR}}-suffix` — string interpolation; result is a string
|
|
12
|
+
* - `{{VAR1}}{{VAR2}}` — multiple substitutions in one string
|
|
13
|
+
*
|
|
14
|
+
* Errors:
|
|
15
|
+
* - Missing required var → `Error("Templating: missing env var \"VAR\"")`
|
|
16
|
+
* - Whitespace inside braces is stripped; `{{ VAR }}` works.
|
|
17
|
+
*
|
|
18
|
+
* Scope:
|
|
19
|
+
* - Recursive across plain objects and arrays.
|
|
20
|
+
* - Strings get substitution; numbers / booleans / null pass through.
|
|
21
|
+
* - Functions / class instances / Maps / Sets / etc. are unsupported
|
|
22
|
+
* for v0 (the input is JSON-shaped by the time it reaches us, so
|
|
23
|
+
* this is fine).
|
|
24
|
+
*/
|
|
25
|
+
const PATTERN = /\{\{\s*([A-Za-z_][A-Za-z0-9_]*)\s*\}\}/g;
|
|
26
|
+
/**
|
|
27
|
+
* Apply `{{VAR}}` substitution to all string scalars inside `value`,
|
|
28
|
+
* resolving variables from `env`. Returns a new value (does not mutate
|
|
29
|
+
* the input).
|
|
30
|
+
*
|
|
31
|
+
* @throws when a referenced var is missing in `env`.
|
|
32
|
+
*/
|
|
33
|
+
export function applyEnvTemplating(value, env) {
|
|
34
|
+
if (typeof value === "string") {
|
|
35
|
+
return substituteString(value, env);
|
|
36
|
+
}
|
|
37
|
+
if (Array.isArray(value)) {
|
|
38
|
+
return value.map((item) => applyEnvTemplating(item, env));
|
|
39
|
+
}
|
|
40
|
+
if (value !== null && typeof value === "object") {
|
|
41
|
+
const out = {};
|
|
42
|
+
for (const [k, v] of Object.entries(value)) {
|
|
43
|
+
out[k] = applyEnvTemplating(v, env);
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
function substituteString(s, env) {
|
|
50
|
+
// Reset stateful regex.
|
|
51
|
+
PATTERN.lastIndex = 0;
|
|
52
|
+
// Fast-path: no braces present → nothing to do (preserves identity-
|
|
53
|
+
// sensitive string equality on hot paths).
|
|
54
|
+
if (!s.includes("{{"))
|
|
55
|
+
return s;
|
|
56
|
+
return s.replace(PATTERN, (_match, varName) => {
|
|
57
|
+
const v = env[varName];
|
|
58
|
+
if (v === undefined) {
|
|
59
|
+
throw new Error(`Templating: missing env var "${varName}" referenced in runner input. ` +
|
|
60
|
+
`Set it in your environment or .env file (CLI / MCP read both).`);
|
|
61
|
+
}
|
|
62
|
+
return v;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=runner-input-templating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-input-templating.js","sourceRoot":"","sources":["../src/runner-input-templating.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,OAAO,GAAG,yCAAyC,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,GAAuC;IAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,CAAS,EACT,GAAuC;IAEvC,wBAAwB;IACxB,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IAEtB,oEAAoE;IACpE,2CAA2C;IAC3C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAEhC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAe,EAAE,EAAE;QACpD,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,gCAAgC;gBACrE,gEAAgE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glubean/runner",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"ky": "^1.14.0",
|
|
21
21
|
"p-queue": "^9.1.0",
|
|
22
22
|
"tsx": "^4.19.0",
|
|
23
|
-
"@glubean/sdk": "0.2.
|
|
23
|
+
"@glubean/sdk": "0.2.3",
|
|
24
|
+
"@glubean/scanner": "0.2.3"
|
|
24
25
|
},
|
|
25
26
|
"devDependencies": {
|
|
26
27
|
"@types/node": "^22.0.0",
|