@humanbased/crosscheck 0.18.0-beta.9 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +45 -6
  2. package/README.zh.md +11 -1
  3. package/dist/__tests__/kickass.test.js +1 -1
  4. package/dist/__tests__/kickass.test.js.map +1 -1
  5. package/dist/__tests__/multi-run.test.d.ts +2 -0
  6. package/dist/__tests__/multi-run.test.d.ts.map +1 -0
  7. package/dist/__tests__/multi-run.test.js +105 -0
  8. package/dist/__tests__/multi-run.test.js.map +1 -0
  9. package/dist/__tests__/pr-spec.test.d.ts +2 -0
  10. package/dist/__tests__/pr-spec.test.d.ts.map +1 -0
  11. package/dist/__tests__/pr-spec.test.js +82 -0
  12. package/dist/__tests__/pr-spec.test.js.map +1 -0
  13. package/dist/__tests__/pr-state.test.d.ts +2 -0
  14. package/dist/__tests__/pr-state.test.d.ts.map +1 -0
  15. package/dist/__tests__/pr-state.test.js +19 -0
  16. package/dist/__tests__/pr-state.test.js.map +1 -0
  17. package/dist/__tests__/run.test.js +48 -1
  18. package/dist/__tests__/run.test.js.map +1 -1
  19. package/dist/__tests__/tips.test.js +9 -0
  20. package/dist/__tests__/tips.test.js.map +1 -1
  21. package/dist/cli.js +70 -29
  22. package/dist/cli.js.map +1 -1
  23. package/dist/commands/kickass.d.ts +2 -12
  24. package/dist/commands/kickass.d.ts.map +1 -1
  25. package/dist/commands/kickass.js +11 -32
  26. package/dist/commands/kickass.js.map +1 -1
  27. package/dist/commands/review.d.ts +8 -0
  28. package/dist/commands/review.d.ts.map +1 -1
  29. package/dist/commands/review.js +61 -0
  30. package/dist/commands/review.js.map +1 -1
  31. package/dist/commands/run.d.ts +8 -0
  32. package/dist/commands/run.d.ts.map +1 -1
  33. package/dist/commands/run.js +179 -1
  34. package/dist/commands/run.js.map +1 -1
  35. package/dist/commands/watch.d.ts.map +1 -1
  36. package/dist/commands/watch.js +107 -11
  37. package/dist/commands/watch.js.map +1 -1
  38. package/dist/lib/board.d.ts.map +1 -1
  39. package/dist/lib/board.js +5 -3
  40. package/dist/lib/board.js.map +1 -1
  41. package/dist/lib/cli-invocation.d.ts +13 -0
  42. package/dist/lib/cli-invocation.d.ts.map +1 -0
  43. package/dist/lib/cli-invocation.js +27 -0
  44. package/dist/lib/cli-invocation.js.map +1 -0
  45. package/dist/lib/multi-run.d.ts +34 -0
  46. package/dist/lib/multi-run.d.ts.map +1 -0
  47. package/dist/lib/multi-run.js +127 -0
  48. package/dist/lib/multi-run.js.map +1 -0
  49. package/dist/lib/pr-spec.d.ts +14 -0
  50. package/dist/lib/pr-spec.d.ts.map +1 -0
  51. package/dist/lib/pr-spec.js +85 -0
  52. package/dist/lib/pr-spec.js.map +1 -0
  53. package/dist/lib/pr-state.d.ts +9 -0
  54. package/dist/lib/pr-state.d.ts.map +1 -0
  55. package/dist/lib/pr-state.js +13 -0
  56. package/dist/lib/pr-state.js.map +1 -0
  57. package/dist/lib/runner.d.ts.map +1 -1
  58. package/dist/lib/runner.js +7 -0
  59. package/dist/lib/runner.js.map +1 -1
  60. package/dist/lib/tips.d.ts +1 -1
  61. package/dist/lib/tips.d.ts.map +1 -1
  62. package/dist/lib/tips.js +4 -0
  63. package/dist/lib/tips.js.map +1 -1
  64. package/get-started.md +103 -10
  65. package/package.json +1 -1
package/README.md CHANGED
@@ -115,8 +115,9 @@ crosscheck serve # always-on team server
115
115
  crosscheck onboard # guided setup — pick repos, mode, and pipeline
116
116
  crosscheck watch # personal use — tunnel + webhook + listening on your laptop
117
117
  crosscheck serve # team use — fixed port, register webhook once
118
- crosscheck review <pr-url> # one-shot review of a specific PR
119
- crosscheck run <pr-url> # run the full workflow: review → (fix → recheck) × max_rounds
118
+ crosscheck review <pr-urls...> # review one or more PRs (comma lists, ranges, cross-repo)
119
+ crosscheck run <pr-urls...> # run the full workflow: review → (fix → recheck) × max_rounds
120
+ crosscheck recheck|fix|resolve <pr-urls...> # force one workflow step on one or more PRs
120
121
  crosscheck scan # show open PR workflow state across monitored repos
121
122
  crosscheck detect-step <pr-url> # explain the next workflow step for one PR
122
123
  crosscheck kickass # advance stale PRs from an interactive operator queue
@@ -216,9 +217,9 @@ crosscheck serve --reconfigure # re-run deployment setup
216
217
 
217
218
  ---
218
219
 
219
- ### `crosscheck review <pr-url>`
220
+ ### `crosscheck review <pr-urls...>`
220
221
 
221
- One-shot review of a single PR. Clones, checks out, reviews, and posts the comment.
222
+ Reviews one or more PRs. Clones, checks out, reviews, and posts the comment. The PR argument accepts the [multi-PR spec syntax](#multi-pr-syntax) — multiple PRs are reviewed concurrently.
222
223
 
223
224
  ```bash
224
225
  crosscheck review https://github.com/org/repo/pull/42
@@ -226,13 +227,15 @@ crosscheck review <pr-url> --reviewer claude # force Claude regardless of det
226
227
  crosscheck review <pr-url> --reviewer codex # force Codex regardless of detection
227
228
  crosscheck review <pr-url> --reviewer cc # alias for Claude
228
229
  crosscheck review <pr-url> --reviewer openai # alias for Codex
230
+ crosscheck review .../pull/245,255 # review several PRs at once
231
+ crosscheck review .../pull/245-256 # review an inclusive range
229
232
  ```
230
233
 
231
234
  ---
232
235
 
233
- ### `crosscheck run <pr-url>`
236
+ ### `crosscheck run <pr-urls...>`
234
237
 
235
- Runs the full configured workflow against one PR: review → (fix → recheck) × `max_rounds`. Same logic as `watch`/`serve`, but triggered manually.
238
+ Runs the full configured workflow against one or more PRs: review → (fix → recheck) × `max_rounds`. Loops autonomously through fix→recheck cycles up to the `max_rounds` value configured in `workflow.yml` (default: 1). Use `--crazy` or `--half-crazy` to loop until approved or unblocked, ignoring `max_rounds`. The PR argument accepts the [multi-PR spec syntax](#multi-pr-syntax); multiple PRs run concurrently (one agent per PR by default).
236
239
 
237
240
  ```bash
238
241
  crosscheck run <pr-url>
@@ -245,10 +248,46 @@ crosscheck run <pr-url> --dry-run # review without posting or fix
245
248
  crosscheck run <pr-url> --crazy # 🔥🔥 loop until APPROVE
246
249
  crosscheck run <pr-url> --half-crazy # 🔥 loop until not BLOCK
247
250
  crosscheck run <pr-url> --timeout 10m # custom reviewer timeout
251
+ crosscheck run .../pull/245,255 # several PRs, concurrently
252
+ crosscheck run .../pull/245-256 --concurrent 3 # range, max 3 agents in parallel
248
253
  ```
249
254
 
250
255
  ---
251
256
 
257
+ ### `crosscheck recheck` / `fix` / `resolve <pr-urls...>`
258
+
259
+ Force a single workflow step against one or more PRs, bypassing next-step auto-detection. Each is sugar for `crosscheck run <spec> --steps <type>` and accepts the same [multi-PR spec syntax](#multi-pr-syntax) and `--concurrent` / `--sequential` / `--stagger` flags as `run`.
260
+
261
+ | Command | Forces the step |
262
+ |---|---|
263
+ | `crosscheck recheck <spec>` | `recheck` — re-evaluate against the latest review |
264
+ | `crosscheck fix <spec>` | `fix` — apply fixes for the latest review |
265
+ | `crosscheck resolve <spec>` | `conflict-resolve` — resolve merge conflicts (Claude only) |
266
+
267
+ ```bash
268
+ crosscheck recheck https://github.com/org/repo/pull/42
269
+ crosscheck fix .../pull/245,255 --fixer claude
270
+ crosscheck resolve .../pull/245-256 --vendor claude
271
+ ```
272
+
273
+ When the step is absent from the active `workflow.yml`, `recheck` and `conflict-resolve` are synthesized with built-in defaults so the command still runs.
274
+
275
+ ---
276
+
277
+ ### Multi-PR syntax
278
+
279
+ `run`, `review`, `recheck`, `fix`, and `resolve` accept a single PR URL or a **spec** that expands to many PRs — a comma-separated list of full URLs, bare numbers, and `N-M` ranges:
280
+
281
+ ```bash
282
+ .../pull/245,255 # two PRs in the same repo
283
+ .../pull/245-256 # an inclusive range
284
+ .../repo/pull/245,https://github.com/o/other/pull/3 # across repos
285
+ ```
286
+
287
+ The first token must be a full URL (a bare number inherits the most recent repo). Duplicates are de-duplicated and a spec expands to at most 100 PRs. Multiple PRs run concurrently by default — control parallelism with `--concurrent <n>`, `--sequential`, or `--stagger <ms>`.
288
+
289
+ ---
290
+
252
291
  ### `crosscheck scan`
253
292
 
254
293
  Scans every open PR in the configured monitor scope and reports where each one is in the crosscheck workflow. Results are cached for 60 seconds.
package/README.zh.md CHANGED
@@ -82,12 +82,22 @@ PR #49 opened: implement caching layer
82
82
  ```bash
83
83
  crosscheck init # 检查环境,生成初始配置文件
84
84
  crosscheck onboard # 引导式配置——选择仓库、模式和流水线
85
- crosscheck review <pr-url> # 对指定 PR 进行一次性审查
85
+ crosscheck review <pr-urls...> # 审查一个或多个 PR(逗号列表、区间、跨仓库)
86
+ crosscheck run <pr-urls...> # 运行完整流水线:review → (fix → recheck) × max_rounds
87
+ crosscheck recheck|fix|resolve <pr-urls...> # 对一个或多个 PR 强制执行某个工作流步骤
86
88
  crosscheck watch # 个人使用——隧道 + 自动 Webhook + 本地监听
87
89
  crosscheck serve # 团队使用——固定端口,一次性注册 Webhook
88
90
  crosscheck status # 查看认证状态、配置摘要、CLI 版本
89
91
  ```
90
92
 
93
+ **多 PR 语法**:`run`、`review`、`recheck`、`fix`、`resolve` 的 PR 参数支持展开为多个 PR 的 **spec**——由逗号分隔的完整 URL、纯数字、`N-M` 区间组成。首个 token 必须是完整 URL(纯数字会继承最近一个仓库),最多展开 100 个 PR,多个 PR 默认并发执行(用 `--concurrent <n>` / `--sequential` / `--stagger <ms>` 控制)。
94
+
95
+ ```bash
96
+ .../pull/245,255 # 同一仓库的两个 PR
97
+ .../pull/245-256 # 区间(含端点)
98
+ .../repo/pull/245,https://github.com/o/other/pull/3 # 跨仓库
99
+ ```
100
+
91
101
  **持续改进** *(实验性)*
92
102
 
93
103
  ```bash
@@ -563,7 +563,7 @@ describe('resolveCliInvocation', () => {
563
563
  execPath: '/usr/local/bin/node',
564
564
  exists: path => path === '/repo/src/cli.ts',
565
565
  urlToPath: url => url.pathname,
566
- })).toThrow('Cannot run kickass actions from a TypeScript entrypoint');
566
+ })).toThrow('Cannot run crosscheck actions from a TypeScript entrypoint');
567
567
  });
568
568
  });
569
569
  //# sourceMappingURL=kickass.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kickass.test.js","sourceRoot":"","sources":["../../src/__tests__/kickass.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kickass.test.js","sourceRoot":"","sources":["../../src/__tests__/kickass.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multi-run.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-run.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/multi-run.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { concurrencyError, executeMultiPR, resolveRunConcurrency, summarizeMultiPR } from '../lib/multi-run.js';
3
+ import { parsePRSpec } from '../lib/pr-spec.js';
4
+ const refs = (spec) => parsePRSpec(spec);
5
+ const silent = (deps) => ({ log: () => { }, dispatch: async () => { }, ...deps });
6
+ describe('resolveRunConcurrency', () => {
7
+ it('defaults to one agent per PR', () => {
8
+ expect(resolveRunConcurrency(5, {})).toEqual({ concurrency: 5, staggerMs: 2000 });
9
+ });
10
+ it('forces sequential with --sequential', () => {
11
+ expect(resolveRunConcurrency(5, { sequential: true })).toEqual({ concurrency: 1, staggerMs: 0 });
12
+ });
13
+ it('forces sequential with --concurrent 1', () => {
14
+ expect(resolveRunConcurrency(5, { concurrent: 1 })).toEqual({ concurrency: 1, staggerMs: 0 });
15
+ });
16
+ it('caps at an explicit concurrency', () => {
17
+ expect(resolveRunConcurrency(10, { concurrent: 3 })).toEqual({ concurrency: 3, staggerMs: 2000 });
18
+ });
19
+ it('treats concurrent 0 as one agent per PR', () => {
20
+ expect(resolveRunConcurrency(4, { concurrent: 0 })).toEqual({ concurrency: 4, staggerMs: 2000 });
21
+ });
22
+ it('honors a custom stagger', () => {
23
+ expect(resolveRunConcurrency(4, { staggerMs: 500 })).toEqual({ concurrency: 4, staggerMs: 500 });
24
+ });
25
+ });
26
+ describe('concurrencyError', () => {
27
+ it('accepts valid and absent values', () => {
28
+ expect(concurrencyError({})).toBeNull();
29
+ expect(concurrencyError({ concurrent: 0 })).toBeNull();
30
+ expect(concurrencyError({ concurrent: 3, staggerMs: 500 })).toBeNull();
31
+ });
32
+ it('rejects NaN concurrency (e.g. --concurrent abc)', () => {
33
+ expect(concurrencyError({ concurrent: Number('abc') })).toMatch(/--concurrent/);
34
+ });
35
+ it('rejects a negative concurrency', () => {
36
+ expect(concurrencyError({ concurrent: -1 })).toMatch(/--concurrent/);
37
+ });
38
+ it('rejects a non-integer concurrency', () => {
39
+ expect(concurrencyError({ concurrent: 2.5 })).toMatch(/--concurrent/);
40
+ });
41
+ it('rejects an invalid stagger', () => {
42
+ expect(concurrencyError({ staggerMs: Number('xyz') })).toMatch(/--stagger/);
43
+ });
44
+ });
45
+ describe('executeMultiPR', () => {
46
+ it('runs every PR and preserves result order by index', async () => {
47
+ const dispatched = [];
48
+ const results = await executeMultiPR(refs('https://github.com/a/x/pull/1,2,3'), silent({ dispatch: async (ref) => { dispatched.push(`${ref.repo}#${ref.number}`); } }), 1, 0);
49
+ expect(dispatched).toEqual(['x#1', 'x#2', 'x#3']);
50
+ expect(results.map(r => `${r.ref.number}:${r.status}`)).toEqual(['1:executed', '2:executed', '3:executed']);
51
+ });
52
+ it('keeps results aligned with input order even when PRs finish out of order', async () => {
53
+ const results = await executeMultiPR(refs('https://github.com/a/x/pull/1,2,3'),
54
+ // PR #1 resolves slowest; #3 fastest. Results must still be [1,2,3].
55
+ silent({ dispatch: (ref) => new Promise(resolve => setTimeout(resolve, (4 - ref.number) * 10)) }), 3, 0);
56
+ expect(results.map(r => r.ref.number)).toEqual([1, 2, 3]);
57
+ expect(results.every(r => r.status === 'executed')).toBe(true);
58
+ });
59
+ it('never exceeds the concurrency cap', async () => {
60
+ let active = 0;
61
+ let peak = 0;
62
+ await executeMultiPR(refs('https://github.com/a/x/pull/1-6'), silent({
63
+ dispatch: async () => {
64
+ active++;
65
+ peak = Math.max(peak, active);
66
+ await new Promise(resolve => setTimeout(resolve, 10));
67
+ active--;
68
+ },
69
+ }), 2, 0);
70
+ expect(peak).toBeLessThanOrEqual(2);
71
+ expect(peak).toBeGreaterThan(1);
72
+ });
73
+ it('continues running the rest when one PR fails, and classifies the failure', async () => {
74
+ const results = await executeMultiPR(refs('https://github.com/a/x/pull/1,2,3'), silent({
75
+ dispatch: async (ref) => {
76
+ if (ref.number === 2) {
77
+ const err = Object.assign(new Error('Command failed'), { exitCode: 1, stderr: 'network error: ENOTFOUND' });
78
+ throw err;
79
+ }
80
+ },
81
+ }), 1, 0);
82
+ expect(results.map(r => r.status)).toEqual(['executed', 'failed', 'executed']);
83
+ expect(results[1].reason).toBe('network');
84
+ });
85
+ it('classifies an execa timedOut error as timeout', async () => {
86
+ const results = await executeMultiPR(refs('https://github.com/a/x/pull/1'), silent({
87
+ dispatch: async () => {
88
+ throw Object.assign(new Error('Command timed out'), { timedOut: true, exitCode: undefined });
89
+ },
90
+ }), 1, 0);
91
+ expect(results[0].reason).toBe('timeout');
92
+ });
93
+ });
94
+ describe('summarizeMultiPR', () => {
95
+ it('counts executed and failed', () => {
96
+ const list = refs('https://github.com/a/x/pull/1,2,3');
97
+ const summary = summarizeMultiPR([
98
+ { ref: list[0], status: 'executed' },
99
+ { ref: list[1], status: 'failed', reason: 'timeout' },
100
+ { ref: list[2], status: 'executed' },
101
+ ]);
102
+ expect(summary).toBe('Multi-PR summary: 2 executed, 1 failed');
103
+ });
104
+ });
105
+ //# sourceMappingURL=multi-run.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-run.test.js","sourceRoot":"","sources":["../../src/__tests__/multi-run.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAqB,MAAM,qBAAqB,CAAA;AAClI,OAAO,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAA;AAE3D,MAAM,IAAI,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACzD,MAAM,MAAM,GAAG,CAAC,IAA2B,EAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;AAEpH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/F,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAClG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;IAClG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QACvC,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QACtD,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC7E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,IAAI,CAAC,mCAAmC,CAAC,EACzC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,EACrF,CAAC,EACD,CAAC,CACF,CAAA;QACD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA;IAC7G,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,IAAI,CAAC,mCAAmC,CAAC;QACzC,qEAAqE;QACrE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EACjG,CAAC,EACD,CAAC,CACF,CAAA;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,MAAM,cAAc,CAClB,IAAI,CAAC,iCAAiC,CAAC,EACvC,MAAM,CAAC;YACL,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,EAAE,CAAA;gBACR,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBAC7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;gBACrD,MAAM,EAAE,CAAA;YACV,CAAC;SACF,CAAC,EACF,CAAC,EACD,CAAC,CACF,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,IAAI,CAAC,mCAAmC,CAAC,EACzC,MAAM,CAAC;YACL,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;oBAC3G,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;SACF,CAAC,EACF,CAAC,EACD,CAAC,CACF,CAAA;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;QAC9E,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,IAAI,CAAC,+BAA+B,CAAC,EACrC,MAAM,CAAC;YACL,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9F,CAAC;SACF,CAAC,EACF,CAAC,EACD,CAAC,CACF,CAAA;QACD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,mCAAmC,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE;YACpC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;YACrD,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE;SACrC,CAAC,CAAA;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pr-spec.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-spec.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/pr-spec.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { parsePRSpec } from '../lib/pr-spec.js';
3
+ const sig = (refs) => refs.map(r => `${r.owner}/${r.repo}#${r.number}`);
4
+ describe('parsePRSpec', () => {
5
+ it('parses a single full URL', () => {
6
+ const refs = parsePRSpec('https://github.com/acme/web/pull/245');
7
+ expect(sig(refs)).toEqual(['acme/web#245']);
8
+ expect(refs[0].url).toBe('https://github.com/acme/web/pull/245');
9
+ });
10
+ it('expands a URL followed by bare numbers under the same repo', () => {
11
+ const refs = parsePRSpec('https://github.com/Motivation-Labs/monorepo/pull/245,255');
12
+ expect(sig(refs)).toEqual(['Motivation-Labs/monorepo#245', 'Motivation-Labs/monorepo#255']);
13
+ });
14
+ it('expands an inclusive range in the URL tail', () => {
15
+ const refs = parsePRSpec('https://github.com/Motivation-Labs/monorepo/pull/245-248');
16
+ expect(sig(refs)).toEqual([
17
+ 'Motivation-Labs/monorepo#245',
18
+ 'Motivation-Labs/monorepo#246',
19
+ 'Motivation-Labs/monorepo#247',
20
+ 'Motivation-Labs/monorepo#248',
21
+ ]);
22
+ });
23
+ it('parses multiple full URLs across different repos', () => {
24
+ const refs = parsePRSpec('https://github.com/Motivation-Labs/monorepo/pull/245,https://github.com/Humanbased-ai/monorepo/pull/210');
25
+ expect(sig(refs)).toEqual(['Motivation-Labs/monorepo#245', 'Humanbased-ai/monorepo#210']);
26
+ });
27
+ it('mixes URL, ranges, bare numbers, and a second repo', () => {
28
+ const refs = parsePRSpec('https://github.com/acme/web/pull/245-247,250,https://github.com/other/api/pull/3-4');
29
+ expect(sig(refs)).toEqual([
30
+ 'acme/web#245', 'acme/web#246', 'acme/web#247', 'acme/web#250',
31
+ 'other/api#3', 'other/api#4',
32
+ ]);
33
+ });
34
+ it('inherits the repo from the most recent URL token', () => {
35
+ const refs = parsePRSpec('https://github.com/a/x/pull/1,https://github.com/b/y/pull/2,3');
36
+ expect(sig(refs)).toEqual(['a/x#1', 'b/y#2', 'b/y#3']);
37
+ });
38
+ it('tolerates whitespace around tokens', () => {
39
+ const refs = parsePRSpec(' https://github.com/acme/web/pull/245 , 255 ');
40
+ expect(sig(refs)).toEqual(['acme/web#245', 'acme/web#255']);
41
+ });
42
+ it('accepts a scheme-less URL', () => {
43
+ const refs = parsePRSpec('github.com/acme/web/pull/9');
44
+ expect(sig(refs)).toEqual(['acme/web#9']);
45
+ expect(refs[0].url).toBe('https://github.com/acme/web/pull/9');
46
+ });
47
+ it('ignores trailing URL path segments like /files', () => {
48
+ const refs = parsePRSpec('https://github.com/acme/web/pull/12/files');
49
+ expect(sig(refs)).toEqual(['acme/web#12']);
50
+ });
51
+ it('deduplicates the same PR appearing twice', () => {
52
+ const refs = parsePRSpec('https://github.com/acme/web/pull/5,5,5');
53
+ expect(sig(refs)).toEqual(['acme/web#5']);
54
+ });
55
+ it('deduplicates overlapping ranges and bare numbers', () => {
56
+ const refs = parsePRSpec('https://github.com/acme/web/pull/5-7,6');
57
+ expect(sig(refs)).toEqual(['acme/web#5', 'acme/web#6', 'acme/web#7']);
58
+ });
59
+ it('throws when a bare number appears before any URL', () => {
60
+ expect(() => parsePRSpec('245,255')).toThrow(/no repository is known/i);
61
+ });
62
+ it('throws on a descending range', () => {
63
+ expect(() => parsePRSpec('https://github.com/acme/web/pull/10-5')).toThrow(/before start/i);
64
+ });
65
+ it('throws on a non-PR token', () => {
66
+ expect(() => parsePRSpec('https://github.com/acme/web/issues/5')).toThrow(/Invalid PR reference/i);
67
+ });
68
+ it('throws on an empty spec', () => {
69
+ expect(() => parsePRSpec(' ')).toThrow(/No PR reference/i);
70
+ });
71
+ it('throws when a single range exceeds the cap', () => {
72
+ expect(() => parsePRSpec('https://github.com/acme/web/pull/1-500', { maxPRs: 100 })).toThrow(/>100/);
73
+ });
74
+ it('throws when the cumulative count exceeds the cap', () => {
75
+ expect(() => parsePRSpec('https://github.com/acme/web/pull/1-60,200-260', { maxPRs: 100 })).toThrow(/Too many PRs/i);
76
+ });
77
+ it('respects a custom maxPRs that allows the spec', () => {
78
+ const refs = parsePRSpec('https://github.com/acme/web/pull/1-5', { maxPRs: 5 });
79
+ expect(refs).toHaveLength(5);
80
+ });
81
+ });
82
+ //# sourceMappingURL=pr-spec.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-spec.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-spec.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pr-state.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-state.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/pr-state.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { closedPRSkip } from '../lib/pr-state.js';
3
+ describe('closedPRSkip', () => {
4
+ it('returns null for an open PR', () => {
5
+ expect(closedPRSkip({ merged: false, state: 'open' })).toBeNull();
6
+ });
7
+ it('flags a merged PR as merged (merged takes precedence over closed)', () => {
8
+ // GitHub reports merged PRs as state: 'closed' too — merged is the clearer label.
9
+ expect(closedPRSkip({ merged: true, state: 'closed' })).toEqual({ status: 'merged', reason: 'pr_merged' });
10
+ });
11
+ it('flags a closed-but-not-merged PR as closed', () => {
12
+ expect(closedPRSkip({ merged: false, state: 'closed' })).toEqual({ status: 'closed', reason: 'pr_closed' });
13
+ });
14
+ it('tolerates null/undefined fields', () => {
15
+ expect(closedPRSkip({})).toBeNull();
16
+ expect(closedPRSkip({ merged: null, state: null })).toBeNull();
17
+ });
18
+ });
19
+ //# sourceMappingURL=pr-state.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-state.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-state.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,kFAAkF;QAClF,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;IAC5G,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7G,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QACnC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from 'vitest';
2
- import { buildFixRecheckSteps, resolveWorkflowSteps } from '../commands/run.js';
2
+ import { buildFixRecheckSteps, buildRunChildArgs, resolveWorkflowSteps } from '../commands/run.js';
3
3
  const reviewStep = {
4
4
  name: 'review',
5
5
  type: 'review',
@@ -57,6 +57,53 @@ describe('resolveWorkflowSteps', () => {
57
57
  expect(steps.find(step => step.type === 'recheck')?.reviewer).toBe('claude');
58
58
  expect(steps.find(step => step.type === 'fix')?.reviewer).toBe('claude');
59
59
  });
60
+ it('synthesizes conflict-resolve when --steps asks for it but the workflow has none', () => {
61
+ const steps = resolveWorkflowSteps([reviewStep, fixStep], ['conflict-resolve'], 'claude');
62
+ expect(steps.map(step => step.type)).toEqual(['conflict-resolve']);
63
+ expect(steps[0]).toMatchObject({ name: 'conflict-resolve', type: 'conflict-resolve', reviewer: 'claude' });
64
+ });
65
+ it('pins the synthesized conflict-resolve reviewer to --vendor', () => {
66
+ const steps = resolveWorkflowSteps([reviewStep, fixStep], ['conflict-resolve'], 'codex', { vendor: 'claude' });
67
+ expect(steps[0]).toMatchObject({ type: 'conflict-resolve', reviewer: 'claude' });
68
+ });
69
+ it('selects an existing conflict-resolve step instead of synthesizing', () => {
70
+ const conflictStep = {
71
+ name: 'conflict-resolve', type: 'conflict-resolve', reviewer: 'claude', max_rounds: 1, instructions: 'custom resolve',
72
+ };
73
+ const steps = resolveWorkflowSteps([reviewStep, conflictStep, fixStep], ['conflict-resolve'], 'codex');
74
+ expect(steps).toHaveLength(1);
75
+ expect(steps[0]).toMatchObject({ instructions: 'custom resolve' });
76
+ });
77
+ });
78
+ describe('buildRunChildArgs', () => {
79
+ const ref = { owner: 'acme', repo: 'web', number: 245, url: 'https://github.com/acme/web/pull/245' };
80
+ it('builds a bare run invocation with the default trigger', () => {
81
+ expect(buildRunChildArgs(ref, {})).toEqual(['run', ref.url, '--trigger', 'run']);
82
+ });
83
+ it('forwards vendor, fixer, steps, and config flags', () => {
84
+ const args = buildRunChildArgs(ref, { config: 'c.yml', reviewer: 'codex', fixer: 'claude', vendor: 'codex', steps: 'fix' });
85
+ expect(args).toEqual(['run', ref.url, '-c', 'c.yml', '--reviewer', 'codex', '--fixer', 'claude', '--vendor', 'codex', '--steps', 'fix', '--trigger', 'run']);
86
+ });
87
+ it('passes --crazy and omits any timeout flag in round mode', () => {
88
+ const args = buildRunChildArgs(ref, { roundMode: 'crazy', timeout: '300s' });
89
+ expect(args).toContain('--crazy');
90
+ expect(args).not.toContain('--timeout');
91
+ expect(args).not.toContain('--no-timeout');
92
+ });
93
+ it('passes --half-crazy for halfcrazy round mode', () => {
94
+ expect(buildRunChildArgs(ref, { roundMode: 'halfcrazy' })).toContain('--half-crazy');
95
+ });
96
+ it('passes --no-timeout when requested outside round mode', () => {
97
+ const args = buildRunChildArgs(ref, { noTimeout: true });
98
+ expect(args).toContain('--no-timeout');
99
+ expect(args).not.toContain('--timeout');
100
+ });
101
+ it('forwards an explicit --timeout outside round mode', () => {
102
+ expect(buildRunChildArgs(ref, { timeout: '600s' })).toEqual(['run', ref.url, '--timeout', '600s', '--trigger', 'run']);
103
+ });
104
+ it('forwards --dry-run', () => {
105
+ expect(buildRunChildArgs(ref, { dryRun: true })).toContain('--dry-run');
106
+ });
60
107
  });
61
108
  describe('buildFixRecheckSteps', () => {
62
109
  it('uses the full workflow for round-mode followups after an initial review-only run', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"run.test.js","sourceRoot":"","sources":["../../src/__tests__/run.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAG/E,MAAM,UAAU,GAAiB;IAC/B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,qBAAqB;CACpC,CAAA;AAED,MAAM,OAAO,GAAiB;IAC5B,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,kBAAkB;CACjC,CAAA;AAED,MAAM,WAAW,GAAiB;IAChC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,gBAAgB;CAC/B,CAAA;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;QAEtF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAA;QAEpG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QAEjH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE/G,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEhH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;QAEhF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;QAE/F,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"run.test.js","sourceRoot":"","sources":["../../src/__tests__/run.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAIlG,MAAM,UAAU,GAAiB;IAC/B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,qBAAqB;CACpC,CAAA;AAED,MAAM,OAAO,GAAiB;IAC5B,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,kBAAkB;CACjC,CAAA;AAED,MAAM,WAAW,GAAiB;IAChC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,gBAAgB;CAC/B,CAAA;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;QAEtF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAA;QAEpG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QAEjH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE/G,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEhH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAA;QAEzF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAA;QAClE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC5G,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE9G,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,YAAY,GAAiB;YACjC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,gBAAgB;SACtH,CAAA;QACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAA;QAEtG,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,GAAG,GAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,sCAAsC,EAAE,CAAA;IAE3G,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3H,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;IAC9J,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5E,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;IACxH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;QAEhF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;QAE/F,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -40,5 +40,14 @@ describe('selectTip', () => {
40
40
  }
41
41
  expect(seen.size).toBe(TIPS.length);
42
42
  });
43
+ it('leads the rotation with high-priority fire tips', () => {
44
+ // Fire-badged (new-feature) tips sit at the front so a fresh session shows them first.
45
+ expect(TIPS[0].badge).toBe('fire');
46
+ expect(selectTip(0, 0).badge).toBe('fire');
47
+ const fireCount = TIPS.filter(t => t.badge === 'fire').length;
48
+ expect(fireCount).toBeGreaterThanOrEqual(1);
49
+ // The leading run of tips are all fire tips (contiguous priority block).
50
+ expect(TIPS.slice(0, fireCount).every(t => t.badge === 'fire')).toBe(true);
51
+ });
43
52
  });
44
53
  //# sourceMappingURL=tips.test.js.map