@glubean/runner 0.8.1 → 0.9.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.
Files changed (53) hide show
  1. package/dist/dry-run-spawn.d.ts +35 -0
  2. package/dist/dry-run-spawn.d.ts.map +1 -0
  3. package/dist/dry-run-spawn.js +218 -0
  4. package/dist/dry-run-spawn.js.map +1 -0
  5. package/dist/dry-run-worker.d.ts +23 -0
  6. package/dist/dry-run-worker.d.ts.map +1 -0
  7. package/dist/dry-run-worker.js +137 -0
  8. package/dist/dry-run-worker.js.map +1 -0
  9. package/dist/dry-run.d.ts +88 -0
  10. package/dist/dry-run.d.ts.map +1 -0
  11. package/dist/dry-run.js +531 -0
  12. package/dist/dry-run.js.map +1 -0
  13. package/dist/engine-bridge.d.ts.map +1 -1
  14. package/dist/engine-bridge.js +7 -0
  15. package/dist/engine-bridge.js.map +1 -1
  16. package/dist/executor.d.ts +15 -1
  17. package/dist/executor.d.ts.map +1 -1
  18. package/dist/executor.js +10 -1
  19. package/dist/executor.js.map +1 -1
  20. package/dist/harness.js +131 -1
  21. package/dist/harness.js.map +1 -1
  22. package/dist/index.d.ts +18 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +15 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/load/execute-iteration.d.ts +4 -1
  27. package/dist/load/execute-iteration.d.ts.map +1 -1
  28. package/dist/load/execute-iteration.js +62 -0
  29. package/dist/load/execute-iteration.js.map +1 -1
  30. package/dist/load/orchestrator.d.ts.map +1 -1
  31. package/dist/load/orchestrator.js +15 -2
  32. package/dist/load/orchestrator.js.map +1 -1
  33. package/dist/load/reducer.d.ts +6 -0
  34. package/dist/load/reducer.d.ts.map +1 -1
  35. package/dist/load/reducer.js +128 -0
  36. package/dist/load/reducer.js.map +1 -1
  37. package/dist/load/sink.d.ts +10 -1
  38. package/dist/load/sink.d.ts.map +1 -1
  39. package/dist/load/sink.js +19 -0
  40. package/dist/load/sink.js.map +1 -1
  41. package/dist/load/threshold.d.ts +17 -0
  42. package/dist/load/threshold.d.ts.map +1 -1
  43. package/dist/load/threshold.js +210 -1
  44. package/dist/load/threshold.js.map +1 -1
  45. package/dist/resolve.d.ts +2 -0
  46. package/dist/resolve.d.ts.map +1 -1
  47. package/dist/resolve.js +1 -0
  48. package/dist/resolve.js.map +1 -1
  49. package/dist/selector.d.ts +53 -0
  50. package/dist/selector.d.ts.map +1 -0
  51. package/dist/selector.js +55 -0
  52. package/dist/selector.js.map +1 -0
  53. package/package.json +5 -5
@@ -30,6 +30,22 @@ export interface ParsedThreshold {
30
30
  * expression or a unit that doesn't fit the metric.
31
31
  */
32
32
  export declare function parseThresholdExpression(expr: string, metric: ThresholdMetric): ParsedThreshold;
33
+ /**
34
+ * Fail-fast validation for `loadRunner({ metrics, thresholds.customMetric })`, run
35
+ * BEFORE any iteration (untyped JS config bypasses the compile-time types):
36
+ * - every declaration's `kind` must be in the union — an out-of-union kind would
37
+ * emit schema-invalid custom-metric artifact rows instead of failing config;
38
+ * - every `thresholds.customMetric` gate must target a DECLARED metric with a
39
+ * well-formed tag selector — a typo'd target would otherwise never match a
40
+ * folded series, silently skip, and leave CI green;
41
+ * - every gate key must be applicable to the target's declared kind (`sum` on a
42
+ * `rate`, or a typo'd key, would otherwise evaluate nothing and skip silently).
43
+ * Returns error strings (empty = valid); the caller owns the throw + prefix.
44
+ */
45
+ export declare function validateLoadMetricsConfig(metrics: Record<string, {
46
+ kind: string;
47
+ unit?: unknown;
48
+ } | undefined> | undefined, customMetricThresholds: Record<string, object | undefined> | undefined): string[];
33
49
  /**
34
50
  * Evaluate every configured threshold against the artifact, returning the
35
51
  * `ThresholdEvaluation[]` and the refined run pass (crash-free AND every evaluable
@@ -39,6 +55,7 @@ export declare function parseThresholdExpression(expr: string, metric: Threshold
39
55
  export declare function evaluateThresholds(artifact: LoadArtifact, thresholds: LoadThresholds): {
40
56
  thresholds: ThresholdEvaluation[];
41
57
  pass: boolean;
58
+ advisories: string[];
42
59
  };
43
60
  export {};
44
61
  //# sourceMappingURL=threshold.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../src/load/threshold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AAElC,yEAAyE;AACzE,QAAA,MAAM,iBAAiB,qGASb,CAAC;AACX,KAAK,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,qFAAqF;AACrF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,EAAE,CAAC;IACP;wCACoC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,CAqC/F;AA+FD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,GACzB;IAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAgFtD"}
1
+ {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../src/load/threshold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EACV,YAAY,EAKZ,cAAc,EACd,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AAElC,yEAAyE;AACzE,QAAA,MAAM,iBAAiB,qGASb,CAAC;AACX,KAAK,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,qFAAqF;AACrF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,EAAE,CAAC;IACP;wCACoC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,CAqC/F;AAsKD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,GAAG,SAAS,EACjF,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GACrE,MAAM,EAAE,CAuCV;AAkDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,GACzB;IAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CA0I5E"}
@@ -118,6 +118,163 @@ function actualFor(metric, data) {
118
118
  return data.backpressureMs;
119
119
  }
120
120
  }
121
+ /** Metrics a custom-metric threshold can target (keys of `LoadCustomMetricThresholdScope`). */
122
+ const CUSTOM_METRIC_KEYS = ["rate", "sum", "count", "p50", "p90", "p95", "p99"];
123
+ /** Parse a custom-metric expression by reusing the base parser under a unit-compatible
124
+ * proxy metric: `rate` is a fraction (`%` ok, like errorRate), `sum`/`count` are unitless
125
+ * counts (like backlog), `p50..p99` are durations (ms, like latency percentiles) — but
126
+ * ONLY when the trend's declared unit is `"ms"` (or unset). A trend in any other unit
127
+ * ("bytes", "items") is gated in ITS OWN unit: bare numbers only — an `ms`/`s` suffix
128
+ * would silently scale a non-duration value and is rejected instead. */
129
+ function parseCustomExpression(expr, key, unit) {
130
+ if (key === "rate")
131
+ return parseThresholdExpression(expr, "errorRate");
132
+ if (key === "sum" || key === "count")
133
+ return parseThresholdExpression(expr, "backlog");
134
+ if (unit !== undefined && unit !== "ms") {
135
+ const m = EXPR_RE.exec(expr.trim());
136
+ if (!m) {
137
+ throw new Error(`invalid threshold expression ${JSON.stringify(expr)} — expected e.g. "<1%", "<800ms", ">100/s"`);
138
+ }
139
+ if (m[3] !== undefined) {
140
+ throw new Error(`threshold unit "${m[3]}" is not valid for a trend declared with unit "${unit}" (in ${JSON.stringify(expr)}) — use a bare number in the metric's own unit`);
141
+ }
142
+ const num = Number(m[2]);
143
+ if (!Number.isFinite(num))
144
+ throw new Error(`invalid threshold number in ${JSON.stringify(expr)}`);
145
+ return { op: m[1], value: num };
146
+ }
147
+ return parseThresholdExpression(expr, key);
148
+ }
149
+ /** Match a custom-metric threshold target against a set of metric ids, disambiguating a
150
+ * `:` in the metric ID from the `metricId:tag=val` selector: an EXACT id match wins
151
+ * (so `"http:ok"` resolves to the metric named `http:ok`), else the longest id that is
152
+ * a `${id}:` prefix of the target (the tag-selector form). Undefined → no such metric. */
153
+ function matchMetricId(ids, targetKey) {
154
+ let best;
155
+ for (const id of ids) {
156
+ if (id === targetKey)
157
+ return { id }; // exact id → untagged total
158
+ if (targetKey.startsWith(`${id}:`) && (best === undefined || id.length > best.length)) {
159
+ best = id;
160
+ }
161
+ }
162
+ return best !== undefined ? { id: best, suffix: targetKey.slice(best.length + 1) } : undefined;
163
+ }
164
+ /** Resolve a custom-metric threshold target to its folded artifact metric (see
165
+ * `matchMetricId` for the `metricId` vs `metricId:tag=val` disambiguation). */
166
+ function resolveCustomTarget(metrics, targetKey) {
167
+ if (!metrics)
168
+ return undefined;
169
+ const m = matchMetricId(metrics.map((x) => x.metricId), targetKey);
170
+ if (!m)
171
+ return undefined;
172
+ const metric = metrics.find((x) => x.metricId === m.id);
173
+ return metric ? { metric, ...(m.suffix !== undefined ? { suffix: m.suffix } : {}) } : undefined;
174
+ }
175
+ /** The declared custom-metric kinds (mirrors `LoadMetricKind` for runtime checks). */
176
+ const METRIC_KINDS = ["rate", "trend", "counter"];
177
+ /** Gate keys applicable to each kind (`count` is folded for every kind). A key
178
+ * outside its kind's set would evaluate to `undefined` and skip silently. */
179
+ const KIND_GATE_KEYS = {
180
+ rate: ["rate", "count"],
181
+ counter: ["sum", "count"],
182
+ trend: ["count", "p50", "p90", "p95", "p99"],
183
+ };
184
+ /**
185
+ * Fail-fast validation for `loadRunner({ metrics, thresholds.customMetric })`, run
186
+ * BEFORE any iteration (untyped JS config bypasses the compile-time types):
187
+ * - every declaration's `kind` must be in the union — an out-of-union kind would
188
+ * emit schema-invalid custom-metric artifact rows instead of failing config;
189
+ * - every `thresholds.customMetric` gate must target a DECLARED metric with a
190
+ * well-formed tag selector — a typo'd target would otherwise never match a
191
+ * folded series, silently skip, and leave CI green;
192
+ * - every gate key must be applicable to the target's declared kind (`sum` on a
193
+ * `rate`, or a typo'd key, would otherwise evaluate nothing and skip silently).
194
+ * Returns error strings (empty = valid); the caller owns the throw + prefix.
195
+ */
196
+ export function validateLoadMetricsConfig(metrics, customMetricThresholds) {
197
+ const errors = [];
198
+ for (const [id, d] of Object.entries(metrics ?? {})) {
199
+ if (id === "")
200
+ errors.push("metrics: a metric id must be a non-empty string");
201
+ if (d === null || typeof d !== "object" || !METRIC_KINDS.includes(d.kind)) {
202
+ errors.push(`metrics${id ? `.${id}` : ""}: kind must be one of ${METRIC_KINDS.join(" / ")} — declare via rate() / trend() / counter()`);
203
+ }
204
+ else if (d.unit !== undefined && typeof d.unit !== "string") {
205
+ errors.push(`metrics.${id}: unit must be a string`);
206
+ }
207
+ }
208
+ for (const [targetKey, cfg] of Object.entries(customMetricThresholds ?? {})) {
209
+ const m = matchMetricId(Object.keys(metrics ?? {}), targetKey);
210
+ if (!m) {
211
+ errors.push(`thresholds.customMetric["${targetKey}"]: gates a metric that is not declared in \`metrics\``);
212
+ continue;
213
+ }
214
+ if (m.suffix !== undefined && parseTagSuffix(m.suffix) === undefined) {
215
+ errors.push(`thresholds.customMetric["${targetKey}"]: malformed tag selector "${m.suffix}" — expected \`${m.id}:tagKey=tagVal\``);
216
+ }
217
+ // Gate keys must fit the declared kind (skip when the declaration itself is
218
+ // invalid — that already errored above).
219
+ const kind = metrics?.[m.id]?.kind;
220
+ const validKeys = kind !== undefined ? KIND_GATE_KEYS[kind] : undefined;
221
+ if (validKeys === undefined)
222
+ continue;
223
+ for (const key of Object.keys(cfg ?? {})) {
224
+ if (!validKeys.includes(key)) {
225
+ errors.push(`thresholds.customMetric["${targetKey}"].${key}: not applicable to a "${kind}" metric — valid keys: ${validKeys.join(" / ")}`);
226
+ }
227
+ }
228
+ }
229
+ return errors;
230
+ }
231
+ /** Parse a tag suffix (`"a=1,b=2"`) into a tag record, or `undefined` if it is malformed
232
+ * (empty, or any pair lacking `=`) — so `pollOk:` / `pollOk:class` don't silently collapse
233
+ * onto the untagged total. */
234
+ function parseTagSuffix(suffix) {
235
+ const tags = {};
236
+ for (const pair of suffix.split(",")) {
237
+ const eq = pair.indexOf("=");
238
+ if (eq <= 0)
239
+ return undefined; // no `=`, or an empty key
240
+ tags[pair.slice(0, eq)] = pair.slice(eq + 1);
241
+ }
242
+ return Object.keys(tags).length > 0 ? tags : undefined;
243
+ }
244
+ function tagsEqual(a, b) {
245
+ const ak = Object.keys(a);
246
+ return ak.length === Object.keys(b).length && ak.every((k) => a[k] === b[k]);
247
+ }
248
+ /** Find the series a custom-metric threshold targets: the untagged total (no suffix)
249
+ * or the series whose tags exactly match the suffix. */
250
+ function findCustomSeries(metric, suffix) {
251
+ if (suffix === undefined)
252
+ return metric.series.find((s) => Object.keys(s.tags).length === 0);
253
+ const want = parseTagSuffix(suffix);
254
+ if (want === undefined)
255
+ return undefined; // malformed suffix → no match (skipped)
256
+ return metric.series.find((s) => tagsEqual(s.tags, want));
257
+ }
258
+ /** Pull the actual value for a custom-metric key from a folded series (undefined = N/A
259
+ * to this metric's kind, e.g. `rate` on a counter → skipped, not failed). */
260
+ function customActualFor(key, series) {
261
+ switch (key) {
262
+ case "rate":
263
+ return series.rate;
264
+ case "sum":
265
+ return series.sum;
266
+ case "count":
267
+ return series.count;
268
+ case "p50":
269
+ return series.latency?.p50;
270
+ case "p90":
271
+ return series.latency?.p90;
272
+ case "p95":
273
+ return series.latency?.p95;
274
+ case "p99":
275
+ return series.latency?.p99;
276
+ }
277
+ }
121
278
  /**
122
279
  * Evaluate every configured threshold against the artifact, returning the
123
280
  * `ThresholdEvaluation[]` and the refined run pass (crash-free AND every evaluable
@@ -126,6 +283,7 @@ function actualFor(metric, data) {
126
283
  */
127
284
  export function evaluateThresholds(artifact, thresholds) {
128
285
  const out = [];
286
+ const advisories = [];
129
287
  const evalScope = (scope, target, data, cfg) => {
130
288
  if (!data || !cfg)
131
289
  return;
@@ -190,8 +348,59 @@ export function evaluateThresholds(artifact, thresholds) {
190
348
  evalScope("step", stepId, rows.length > 0 ? combineRows(rows) : undefined, cfg);
191
349
  }
192
350
  }
351
+ // Custom metrics (rate / trend / counter). A target is `metricId` (the untagged
352
+ // total) or `metricId:tagKey=tagVal` (a per-series gate). A metric/series not present
353
+ // (never observed) or a key N/A to the metric's kind (`rate` on a counter) is skipped.
354
+ if (thresholds.customMetric) {
355
+ for (const [targetKey, cfg] of Object.entries(thresholds.customMetric)) {
356
+ const resolved = resolveCustomTarget(s.customMetrics, targetKey);
357
+ const series = resolved ? findCustomSeries(resolved.metric, resolved.suffix) : undefined;
358
+ if (!series) {
359
+ // Skip-on-absent is the module policy (a gate can't fail on missing data),
360
+ // but a CONFIGURED gate that measured nothing must not stay silent: it
361
+ // surfaces as an advisory so a metric that never records / a tag series
362
+ // dropped by `maxSeries` truncation can't leave CI green unnoticed.
363
+ advisories.push(resolved
364
+ ? resolved.metric.seriesTruncated && resolved.suffix !== undefined
365
+ ? `customMetric threshold "${targetKey}" was skipped: the targeted tag series was not folded — metric "${resolved.metric.metricId}" hit its maxSeries cap and overflow folded into the untagged total`
366
+ : `customMetric threshold "${targetKey}" was skipped: no samples were folded for the targeted series`
367
+ : `customMetric threshold "${targetKey}" was skipped: metric was declared but never recorded a sample`);
368
+ continue;
369
+ }
370
+ // Iterate the CONFIGURED keys (not just the known set), so a typo'd key on the
371
+ // evaluator-only path (an adapter/imported artifact that bypassed our config
372
+ // validation) surfaces as an advisory instead of skipping silently.
373
+ for (const key of Object.keys(cfg)) {
374
+ if (!CUSTOM_METRIC_KEYS.includes(key)) {
375
+ advisories.push(`customMetric threshold "${targetKey}".${key} was skipped: unknown gate key — valid keys: ${CUSTOM_METRIC_KEYS.join(" / ")}`);
376
+ continue;
377
+ }
378
+ const known = key;
379
+ const expr = cfg[known];
380
+ if (expr === undefined)
381
+ continue;
382
+ const actual = customActualFor(known, series);
383
+ if (actual === undefined) {
384
+ // N/A to this metric's kind (`sum` on a rate). Startup validation rejects
385
+ // this for our own config; an adapter-produced artifact still surfaces it.
386
+ advisories.push(`customMetric threshold "${targetKey}".${key} was skipped: not applicable to a "${resolved?.metric.kind}" metric`);
387
+ continue;
388
+ }
389
+ const { op, value } = parseCustomExpression(expr, known, resolved?.metric.unit);
390
+ out.push({
391
+ scope: "customMetric",
392
+ target: targetKey,
393
+ metric: known,
394
+ expression: expr,
395
+ actual,
396
+ pass: compare(actual, op, value),
397
+ source: "glubean",
398
+ });
399
+ }
400
+ }
401
+ }
193
402
  // A crash already fails the run; otherwise every evaluable threshold must hold.
194
403
  const pass = s.pass && out.every((e) => e.pass);
195
- return { thresholds: out, pass };
404
+ return { thresholds: out, pass, advisories };
196
405
  }
197
406
  //# sourceMappingURL=threshold.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"threshold.js","sourceRoot":"","sources":["../../src/load/threshold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threshold.js","sourceRoot":"","sources":["../../src/load/threshold.ts"],"names":[],"mappings":"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"}
package/dist/resolve.d.ts CHANGED
@@ -25,6 +25,8 @@ export interface ResolvedTest {
25
25
  type: "simple" | "steps";
26
26
  only?: boolean;
27
27
  skip?: boolean;
28
+ /** 0-based `.each` row index (post-filter); undefined for non-each tests. */
29
+ rowIndex?: number;
28
30
  }
29
31
  /**
30
32
  * Type guard — check if a value is a resolved `Test` object.
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMzC;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IAAE,cAAc,EAAE,SAAS,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;CAAE,CAO9D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IAAE,cAAc,EAAE,cAAc,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;CAAE,CAOrE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IACR,cAAc,EAAE,kBAAkB,CAAC;IACnC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1B,CAOA;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKnD;AA2BD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,YAAY,EAAE,CAQhB;AAuDD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EAAE,MAAM,GACb,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CA2B3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,EAAE,MAAM,GACX,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CA0B3B"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMzC;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IAAE,cAAc,EAAE,SAAS,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;CAAE,CAO9D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IAAE,cAAc,EAAE,cAAc,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;CAAE,CAOrE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IACR,cAAc,EAAE,kBAAkB,CAAC;IACnC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1B,CAOA;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKnD;AA2BD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,YAAY,EAAE,CAQhB;AAwDD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EAAE,MAAM,GACb,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CA2B3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,EAAE,MAAM,GACX,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CA0B3B"}
package/dist/resolve.js CHANGED
@@ -161,6 +161,7 @@ function toResolvedTest(exportName, test) {
161
161
  type: test.type,
162
162
  only: meta.only ?? undefined,
163
163
  skip: meta.skip ?? undefined,
164
+ rowIndex: meta.rowIndex,
164
165
  };
165
166
  }
166
167
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6BH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAY;IACjC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACb,MAAM,IAAI,GAAG;QACb,CAAE,GAAqB,CAAC,IAAI,KAAK,QAAQ;YACtC,GAAqB,CAAC,IAAI,KAAK,OAAO,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAY;IAEZ,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACX,GAA+B,CAAC,cAAc,KAAK,SAAS;QAC7D,OAAQ,GAA+B,CAAC,KAAK,KAAK,UAAU,CAC7D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAY;IAEZ,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACX,GAA+B,CAAC,cAAc,KAAK,cAAc;QAClE,OAAQ,GAA+B,CAAC,KAAK,KAAK,UAAU,CAC7D,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAY;IAKZ,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACX,GAA+B,CAAC,cAAc,KAAK,kBAAkB;QACtE,OAAQ,GAA+B,CAAC,KAAK,KAAK,UAAU,CAC7D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/C,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/C,IAAI,iBAAiB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,QAAiB,EACjB,MAAc;IAEd,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;QACrD,OAAO,QAAyB,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC7C,OAAO,IAAqB,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA+B;IAE/B,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACnB,UAAkB,EAClB,KAAc,EACd,GAAmB;IAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,mEAAmE;gBACnE,sEAAsE;gBACtE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;oBACjC,IAAI,MAAM,CAAC,KAAK,CAAC;wBAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAkB,EAAE,IAAmB;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,OAAO;QACL,UAAU;QACV,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACpG,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;QAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAmC,EACnC,MAAc;IAEd,uBAAuB;IACvB,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,gCAAgC;IAChC,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,mEAAmE;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,SAAS;oBAAE,OAAO,SAAS,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAmC,EACnC,IAAY;IAEZ,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,QAAyB,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,OAAO,IAAqB,CAAC;YAC/B,CAAC;YACD,oEAAoE;YACpE,+DAA+D;YAC/D,yEAAyE;YACzE,sDAAsD;YACtD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,IAAI,MAAM,CAAC,KAAK,CAAC;wBAAE,OAAO,KAAsB,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * selector.ts — the `{id, rowIndex}` "only" selector protocol (B2 M3).
3
+ *
4
+ * SHARED PROTOCOL WITH CLOUD. The shape and matching semantics here mirror the
5
+ * cloud-vendored harness EXACTLY so the cloud runner and this SDK runner speak
6
+ * ONE protocol name (`OnlySelector`) and ONE shape. Keep the three primitives
7
+ * (`normalizeSelectors` / `matchOnly` / `collectFailedSelectors`) byte-equivalent
8
+ * to cloud's `glubean-runner.ts` + `failed-set.ts`; any divergence forks the
9
+ * protocol and breaks cross-runtime parity.
10
+ *
11
+ * - A bare string selector matches by test `id` OR `name`.
12
+ * - An object selector `{ id, rowIndex? }` matches by `id` and — when `rowIndex`
13
+ * is present — additionally pins the `.each` row (post-filter 0-based index).
14
+ * Omitting `rowIndex` matches every row of an expanded `.each` id.
15
+ *
16
+ * The runner consumes selectors as a RUNTIME filter (per-row ids are runtime
17
+ * data); the env channel `GLUBEAN_RUNNER_ONLY_SELECTORS` carries a JSON
18
+ * `OnlySelector[]` into the harness subprocess.
19
+ */
20
+ /** One "only" selector: a bare id/name string, or an id (optionally row-pinned). */
21
+ export type OnlySelector = string | {
22
+ id: string;
23
+ rowIndex?: number;
24
+ };
25
+ /**
26
+ * Normalize an `only` input into a selector array (or `null` = "no filter").
27
+ *
28
+ * `null`/`undefined` → `null` (run everything); an array passes through; a bare
29
+ * value is wrapped in a single-element array. Mirrors cloud's
30
+ * `onlyArr = only == null ? null : Array.isArray(only) ? only : [only]`.
31
+ */
32
+ export declare function normalizeSelectors(only: OnlySelector | OnlySelector[] | null | undefined): OnlySelector[] | null;
33
+ /**
34
+ * Does any selector match this test? Ports cloud's `matchOnly`:
35
+ * - object selector: `sel.id === t.id && (sel.rowIndex === undefined || sel.rowIndex === t.rowIndex)`
36
+ * - string selector: `sel === t.id || sel === t.name`
37
+ */
38
+ export declare function matchOnly(selectors: OnlySelector[], t: {
39
+ id: string;
40
+ name?: string;
41
+ rowIndex?: number;
42
+ }): boolean;
43
+ /**
44
+ * Derive the "rerun the failures" selector set from a prior run's test records.
45
+ * Ports cloud's `collectFailed`: keep failed records that carry an id, and emit
46
+ * a row-pinned `{ id, rowIndex }` when a rowIndex is present, else a bare `{ id }`.
47
+ */
48
+ export declare function collectFailedSelectors(tests: Array<{
49
+ id?: string;
50
+ rowIndex?: number;
51
+ success: boolean;
52
+ }>): OnlySelector[];
53
+ //# sourceMappingURL=selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../src/selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,oFAAoF;AACpF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI,GAAG,SAAS,GACrD,YAAY,EAAE,GAAG,IAAI,CAGvB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,YAAY,EAAE,EACzB,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD,OAAO,CAOT;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,GACjE,YAAY,EAAE,CAIhB"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * selector.ts — the `{id, rowIndex}` "only" selector protocol (B2 M3).
3
+ *
4
+ * SHARED PROTOCOL WITH CLOUD. The shape and matching semantics here mirror the
5
+ * cloud-vendored harness EXACTLY so the cloud runner and this SDK runner speak
6
+ * ONE protocol name (`OnlySelector`) and ONE shape. Keep the three primitives
7
+ * (`normalizeSelectors` / `matchOnly` / `collectFailedSelectors`) byte-equivalent
8
+ * to cloud's `glubean-runner.ts` + `failed-set.ts`; any divergence forks the
9
+ * protocol and breaks cross-runtime parity.
10
+ *
11
+ * - A bare string selector matches by test `id` OR `name`.
12
+ * - An object selector `{ id, rowIndex? }` matches by `id` and — when `rowIndex`
13
+ * is present — additionally pins the `.each` row (post-filter 0-based index).
14
+ * Omitting `rowIndex` matches every row of an expanded `.each` id.
15
+ *
16
+ * The runner consumes selectors as a RUNTIME filter (per-row ids are runtime
17
+ * data); the env channel `GLUBEAN_RUNNER_ONLY_SELECTORS` carries a JSON
18
+ * `OnlySelector[]` into the harness subprocess.
19
+ */
20
+ /**
21
+ * Normalize an `only` input into a selector array (or `null` = "no filter").
22
+ *
23
+ * `null`/`undefined` → `null` (run everything); an array passes through; a bare
24
+ * value is wrapped in a single-element array. Mirrors cloud's
25
+ * `onlyArr = only == null ? null : Array.isArray(only) ? only : [only]`.
26
+ */
27
+ export function normalizeSelectors(only) {
28
+ if (only == null)
29
+ return null;
30
+ return Array.isArray(only) ? only : [only];
31
+ }
32
+ /**
33
+ * Does any selector match this test? Ports cloud's `matchOnly`:
34
+ * - object selector: `sel.id === t.id && (sel.rowIndex === undefined || sel.rowIndex === t.rowIndex)`
35
+ * - string selector: `sel === t.id || sel === t.name`
36
+ */
37
+ export function matchOnly(selectors, t) {
38
+ return selectors.some((sel) => {
39
+ if (sel != null && typeof sel === "object") {
40
+ return sel.id === t.id && (sel.rowIndex === undefined || sel.rowIndex === t.rowIndex);
41
+ }
42
+ return sel === t.id || sel === t.name;
43
+ });
44
+ }
45
+ /**
46
+ * Derive the "rerun the failures" selector set from a prior run's test records.
47
+ * Ports cloud's `collectFailed`: keep failed records that carry an id, and emit
48
+ * a row-pinned `{ id, rowIndex }` when a rowIndex is present, else a bare `{ id }`.
49
+ */
50
+ export function collectFailedSelectors(tests) {
51
+ return tests
52
+ .filter((t) => t.success === false && t.id != null)
53
+ .map((t) => (t.rowIndex === undefined ? { id: t.id } : { id: t.id, rowIndex: t.rowIndex }));
54
+ }
55
+ //# sourceMappingURL=selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector.js","sourceRoot":"","sources":["../src/selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAsD;IAEtD,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,SAAyB,EACzB,CAAmD;IAEnD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAkE;IAElE,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;SAClD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glubean/runner",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
@@ -24,10 +24,10 @@
24
24
  "dotenv": "^16.4.0",
25
25
  "ky": "^2.0.2",
26
26
  "p-queue": "^9.1.0",
27
- "tsx": "^4.19.0",
28
- "@glubean/engine": "0.8.1",
29
- "@glubean/sdk": "0.8.1",
30
- "@glubean/scanner": "0.8.1"
27
+ "tsx": "^4.22.4",
28
+ "@glubean/engine": "0.9.0",
29
+ "@glubean/sdk": "0.9.0",
30
+ "@glubean/scanner": "0.9.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/node": "^22.0.0",