@calmo/task-runner 1.2.1 → 1.2.3

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 (54) hide show
  1. package/.gemini/commands/openspec/apply.toml +21 -0
  2. package/.gemini/commands/openspec/archive.toml +25 -0
  3. package/.gemini/commands/openspec/proposal.toml +26 -0
  4. package/AGENTS.md +18 -0
  5. package/CHANGELOG.md +23 -0
  6. package/GEMINI.md +8 -0
  7. package/coverage/coverage-final.json +5 -2
  8. package/coverage/index.html +20 -20
  9. package/coverage/lcov-report/index.html +20 -20
  10. package/coverage/lcov-report/src/EventBus.ts.html +337 -0
  11. package/coverage/{TaskGraphValidator.ts.html → lcov-report/src/TaskGraphValidator.ts.html} +44 -14
  12. package/coverage/lcov-report/src/TaskRunner.ts.html +307 -0
  13. package/coverage/lcov-report/src/WorkflowExecutor.ts.html +457 -0
  14. package/coverage/lcov-report/src/contracts/RunnerEvents.ts.html +217 -0
  15. package/coverage/lcov-report/src/contracts/index.html +116 -0
  16. package/coverage/lcov-report/src/index.html +161 -0
  17. package/coverage/lcov.info +190 -165
  18. package/coverage/src/EventBus.ts.html +337 -0
  19. package/coverage/{lcov-report → src}/TaskGraphValidator.ts.html +44 -14
  20. package/coverage/src/TaskRunner.ts.html +307 -0
  21. package/coverage/src/WorkflowExecutor.ts.html +457 -0
  22. package/coverage/src/contracts/RunnerEvents.ts.html +217 -0
  23. package/coverage/src/contracts/index.html +116 -0
  24. package/coverage/src/index.html +161 -0
  25. package/dist/EventBus.d.ts +26 -0
  26. package/dist/EventBus.js +56 -0
  27. package/dist/EventBus.js.map +1 -0
  28. package/dist/TaskGraphValidator.d.ts +6 -0
  29. package/dist/TaskGraphValidator.js +9 -0
  30. package/dist/TaskGraphValidator.js.map +1 -1
  31. package/dist/TaskRunner.d.ts +3 -36
  32. package/dist/TaskRunner.js +8 -127
  33. package/dist/TaskRunner.js.map +1 -1
  34. package/dist/WorkflowExecutor.d.ts +32 -0
  35. package/dist/WorkflowExecutor.js +109 -0
  36. package/dist/WorkflowExecutor.js.map +1 -0
  37. package/dist/contracts/ITaskGraphValidator.d.ts +6 -0
  38. package/dist/contracts/RunnerEvents.d.ts +36 -0
  39. package/dist/contracts/RunnerEvents.js +2 -0
  40. package/dist/contracts/RunnerEvents.js.map +1 -0
  41. package/openspec/AGENTS.md +456 -0
  42. package/openspec/changes/add-external-task-cancellation/proposal.md +14 -0
  43. package/openspec/changes/add-external-task-cancellation/tasks.md +10 -0
  44. package/openspec/project.md +31 -0
  45. package/package.json +1 -1
  46. package/src/EventBus.ts +84 -0
  47. package/src/TaskGraphValidator.ts +10 -0
  48. package/src/TaskRunner.ts +11 -196
  49. package/src/WorkflowExecutor.ts +124 -0
  50. package/src/contracts/ITaskGraphValidator.ts +7 -0
  51. package/src/contracts/RunnerEvents.ts +44 -0
  52. package/test-report.xml +49 -37
  53. package/coverage/TaskRunner.ts.html +0 -862
  54. package/coverage/lcov-report/TaskRunner.ts.html +0 -862
@@ -0,0 +1,21 @@
1
+ description = "Implement an approved OpenSpec change and keep tasks in sync."
2
+
3
+ prompt = """
4
+ <!-- OPENSPEC:START -->
5
+ **Guardrails**
6
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
7
+ - Keep changes tightly scoped to the requested outcome.
8
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
9
+
10
+ **Steps**
11
+ Track these steps as TODOs and complete them one by one.
12
+ 1. Read `changes/<id>/proposal.md`, `design.md` (if present), and `tasks.md` to confirm scope and acceptance criteria.
13
+ 2. Work through tasks sequentially, keeping edits minimal and focused on the requested change.
14
+ 3. Confirm completion before updating statuses—make sure every item in `tasks.md` is finished.
15
+ 4. Update the checklist after all work is done so each task is marked `- [x]` and reflects reality.
16
+ 5. Reference `openspec list` or `openspec show <item>` when additional context is required.
17
+
18
+ **Reference**
19
+ - Use `openspec show <id> --json --deltas-only` if you need additional context from the proposal while implementing.
20
+ <!-- OPENSPEC:END -->
21
+ """
@@ -0,0 +1,25 @@
1
+ description = "Archive a deployed OpenSpec change and update specs."
2
+
3
+ prompt = """
4
+ <!-- OPENSPEC:START -->
5
+ **Guardrails**
6
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
7
+ - Keep changes tightly scoped to the requested outcome.
8
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
9
+
10
+ **Steps**
11
+ 1. Determine the change ID to archive:
12
+ - If this prompt already includes a specific change ID (for example inside a `<ChangeId>` block populated by slash-command arguments), use that value after trimming whitespace.
13
+ - If the conversation references a change loosely (for example by title or summary), run `openspec list` to surface likely IDs, share the relevant candidates, and confirm which one the user intends.
14
+ - Otherwise, review the conversation, run `openspec list`, and ask the user which change to archive; wait for a confirmed change ID before proceeding.
15
+ - If you still cannot identify a single change ID, stop and tell the user you cannot archive anything yet.
16
+ 2. Validate the change ID by running `openspec list` (or `openspec show <id>`) and stop if the change is missing, already archived, or otherwise not ready to archive.
17
+ 3. Run `openspec archive <id> --yes` so the CLI moves the change and applies spec updates without prompts (use `--skip-specs` only for tooling-only work).
18
+ 4. Review the command output to confirm the target specs were updated and the change landed in `changes/archive/`.
19
+ 5. Validate with `openspec validate --strict --no-interactive` and inspect with `openspec show <id>` if anything looks off.
20
+
21
+ **Reference**
22
+ - Use `openspec list` to confirm change IDs before archiving.
23
+ - Inspect refreshed specs with `openspec list --specs` and address any validation issues before handing off.
24
+ <!-- OPENSPEC:END -->
25
+ """
@@ -0,0 +1,26 @@
1
+ description = "Scaffold a new OpenSpec change and validate strictly."
2
+
3
+ prompt = """
4
+ <!-- OPENSPEC:START -->
5
+ **Guardrails**
6
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
7
+ - Keep changes tightly scoped to the requested outcome.
8
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
9
+ - Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files.
10
+ - Do not write any code during the proposal stage. Only create design documents (proposal.md, tasks.md, design.md, and spec deltas). Implementation happens in the apply stage after approval.
11
+
12
+ **Steps**
13
+ 1. Review `openspec/project.md`, run `openspec list` and `openspec list --specs`, and inspect related code or docs (e.g., via `rg`/`ls`) to ground the proposal in current behaviour; note any gaps that require clarification.
14
+ 2. Choose a unique verb-led `change-id` and scaffold `proposal.md`, `tasks.md`, and `design.md` (when needed) under `openspec/changes/<id>/`.
15
+ 3. Map the change into concrete capabilities or requirements, breaking multi-scope efforts into distinct spec deltas with clear relationships and sequencing.
16
+ 4. Capture architectural reasoning in `design.md` when the solution spans multiple systems, introduces new patterns, or demands trade-off discussion before committing to specs.
17
+ 5. Draft spec deltas in `changes/<id>/specs/<capability>/spec.md` (one folder per capability) using `## ADDED|MODIFIED|REMOVED Requirements` with at least one `#### Scenario:` per requirement and cross-reference related capabilities when relevant.
18
+ 6. Draft `tasks.md` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work.
19
+ 7. Validate with `openspec validate <id> --strict --no-interactive` and resolve every issue before sharing the proposal.
20
+
21
+ **Reference**
22
+ - Use `openspec show <id> --json --deltas-only` or `openspec show <spec> --type spec` to inspect details when validation fails.
23
+ - Search existing requirements with `rg -n "Requirement:|Scenario:" openspec/specs` before writing new ones.
24
+ - Explore the codebase with `rg <keyword>`, `ls`, or direct file reads so proposals align with current implementation realities.
25
+ <!-- OPENSPEC:END -->
26
+ """
package/AGENTS.md ADDED
@@ -0,0 +1,18 @@
1
+ <!-- OPENSPEC:START -->
2
+ # OpenSpec Instructions
3
+
4
+ These instructions are for AI assistants working in this project.
5
+
6
+ Always open `@/openspec/AGENTS.md` when the request:
7
+ - Mentions planning or proposals (words like proposal, spec, change, plan)
8
+ - Introduces new capabilities, breaking changes, architecture shifts, or big performance/security work
9
+ - Sounds ambiguous and you need the authoritative spec before coding
10
+
11
+ Use `@/openspec/AGENTS.md` to learn:
12
+ - How to create and apply change proposals
13
+ - Spec format and conventions
14
+ - Project structure and guidelines
15
+
16
+ Keep this managed block so 'openspec update' can refresh the instructions.
17
+
18
+ <!-- OPENSPEC:END -->
package/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ ## <small>1.2.3 (2026-01-18)</small>
2
+
3
+ * Merge branch 'main' into docs-update-submission-checklist-16079815502818519329 ([0ed1af6](https://github.com/thalesraymond/task-runner/commit/0ed1af6))
4
+ * Merge branch 'main' into refactor/task-runner-validation-8459777436030683584 ([3c189e7](https://github.com/thalesraymond/task-runner/commit/3c189e7))
5
+ * Merge pull request #39 from thalesraymond/docs-update-submission-checklist-16079815502818519329 ([864d2f9](https://github.com/thalesraymond/task-runner/commit/864d2f9)), closes [#39](https://github.com/thalesraymond/task-runner/issues/39)
6
+ * Merge pull request #40 from thalesraymond/refactor/task-runner-validation-8459777436030683584 ([16ad832](https://github.com/thalesraymond/task-runner/commit/16ad832)), closes [#40](https://github.com/thalesraymond/task-runner/issues/40)
7
+ * Merge pull request #41 from thalesraymond/workflow-executor-refactor-9584682544999313681 ([3064100](https://github.com/thalesraymond/task-runner/commit/3064100)), closes [#41](https://github.com/thalesraymond/task-runner/issues/41)
8
+ * Merge pull request #42 from thalesraymond/feature/openspec ([7ba134e](https://github.com/thalesraymond/task-runner/commit/7ba134e)), closes [#42](https://github.com/thalesraymond/task-runner/issues/42)
9
+ * Merge pull request #44 from thalesraymond/bolt/optimize-executor-pending-set-13299418823186084784 ([45c3803](https://github.com/thalesraymond/task-runner/commit/45c3803)), closes [#44](https://github.com/thalesraymond/task-runner/issues/44)
10
+ * perf(executor): optimize processQueue loop using pending set ([2924700](https://github.com/thalesraymond/task-runner/commit/2924700))
11
+ * docs: ✏️ task cancelation spec using open spec ([0f34aab](https://github.com/thalesraymond/task-runner/commit/0f34aab))
12
+ * docs: update constitution and GEMINI with pre-submission checklist ([ffeb9f1](https://github.com/thalesraymond/task-runner/commit/ffeb9f1))
13
+ * chore: 🤖 enabling openspec as a alternative to speckit ([ef69a09](https://github.com/thalesraymond/task-runner/commit/ef69a09))
14
+ * refactor: decompose WorkflowExecutor for modularity ([2a2f0ed](https://github.com/thalesraymond/task-runner/commit/2a2f0ed))
15
+ * refactor: move validation error logic to validator ([4c10f6b](https://github.com/thalesraymond/task-runner/commit/4c10f6b))
16
+
17
+ ## <small>1.2.2 (2026-01-18)</small>
18
+
19
+ * Merge pull request #38 from thalesraymond/refactor-task-runner-7434390989639993181 ([e315cbd](https://github.com/thalesraymond/task-runner/commit/e315cbd)), closes [#38](https://github.com/thalesraymond/task-runner/issues/38)
20
+ * fix(EventBus): fix lint errors in test file ([86b3ad8](https://github.com/thalesraymond/task-runner/commit/86b3ad8))
21
+ * fix(EventBus): handle unhandled promise rejections in event listeners ([5f5235a](https://github.com/thalesraymond/task-runner/commit/5f5235a))
22
+ * refactor: decompose TaskRunner into smaller classes ([55a1928](https://github.com/thalesraymond/task-runner/commit/55a1928))
23
+
1
24
  ## <small>1.2.1 (2026-01-18)</small>
2
25
 
3
26
  * Merge branch 'main' into docs-add-status-badges-11560890930810516706 ([8baab4c](https://github.com/thalesraymond/task-runner/commit/8baab4c))
package/GEMINI.md CHANGED
@@ -35,4 +35,12 @@ tests/
35
35
 
36
36
 
37
37
  <!-- MANUAL ADDITIONS START -->
38
+ Before marking a task as concluded, YOU MUST:
39
+
40
+ 1. run pnpm install
41
+ 2. run pnpm build
42
+ 3. run pnpm test
43
+ 4. run pnpm lint
44
+
45
+ If any of those command fail, review your changes.
38
46
  <!-- MANUAL ADDITIONS END -->
@@ -1,3 +1,6 @@
1
- {"/home/runner/work/task-runner/task-runner/src/TaskGraphValidator.ts": {"path":"/home/runner/work/task-runner/task-runner/src/TaskGraphValidator.ts","statementMap":{"0":{"start":{"line":18,"column":42},"end":{"line":18,"column":null}},"1":{"start":{"line":21,"column":24},"end":{"line":21,"column":null}},"2":{"start":{"line":22,"column":8},"end":{"line":32,"column":null}},"3":{"start":{"line":23,"column":12},"end":{"line":31,"column":null}},"4":{"start":{"line":24,"column":16},"end":{"line":28,"column":null}},"5":{"start":{"line":30,"column":16},"end":{"line":30,"column":null}},"6":{"start":{"line":35,"column":8},"end":{"line":45,"column":null}},"7":{"start":{"line":36,"column":12},"end":{"line":44,"column":null}},"8":{"start":{"line":37,"column":16},"end":{"line":43,"column":null}},"9":{"start":{"line":38,"column":20},"end":{"line":42,"column":null}},"10":{"start":{"line":49,"column":39},"end":{"line":49,"column":null}},"11":{"start":{"line":49,"column":56},"end":{"line":49,"column":87}},"12":{"start":{"line":51,"column":8},"end":{"line":56,"column":null}},"13":{"start":{"line":52,"column":12},"end":{"line":55,"column":null}},"14":{"start":{"line":59,"column":30},"end":{"line":59,"column":null}},"15":{"start":{"line":60,"column":8},"end":{"line":62,"column":null}},"16":{"start":{"line":61,"column":12},"end":{"line":61,"column":null}},"17":{"start":{"line":64,"column":24},"end":{"line":64,"column":null}},"18":{"start":{"line":65,"column":31},"end":{"line":65,"column":null}},"19":{"start":{"line":67,"column":8},"end":{"line":88,"column":null}},"20":{"start":{"line":68,"column":12},"end":{"line":70,"column":null}},"21":{"start":{"line":69,"column":16},"end":{"line":69,"column":null}},"22":{"start":{"line":72,"column":35},"end":{"line":72,"column":null}},"23":{"start":{"line":73,"column":12},"end":{"line":87,"column":null}},"24":{"start":{"line":76,"column":35},"end":{"line":76,"column":null}},"25":{"start":{"line":77,"column":40},"end":{"line":77,"column":null}},"26":{"start":{"line":78,"column":34},"end":{"line":78,"column":null}},"27":{"start":{"line":80,"column":16},"end":{"line":84,"column":null}},"28":{"start":{"line":86,"column":16},"end":{"line":86,"column":null}},"29":{"start":{"line":90,"column":8},"end":{"line":93,"column":null}},"30":{"start":{"line":103,"column":8},"end":{"line":103,"column":null}},"31":{"start":{"line":104,"column":8},"end":{"line":104,"column":null}},"32":{"start":{"line":105,"column":8},"end":{"line":105,"column":null}},"33":{"start":{"line":107,"column":29},"end":{"line":107,"column":null}},"34":{"start":{"line":108,"column":8},"end":{"line":120,"column":null}},"35":{"start":{"line":109,"column":12},"end":{"line":119,"column":null}},"36":{"start":{"line":113,"column":16},"end":{"line":113,"column":null}},"37":{"start":{"line":114,"column":12},"end":{"line":119,"column":null}},"38":{"start":{"line":117,"column":16},"end":{"line":117,"column":null}},"39":{"start":{"line":118,"column":16},"end":{"line":118,"column":null}},"40":{"start":{"line":122,"column":8},"end":{"line":122,"column":null}},"41":{"start":{"line":123,"column":8},"end":{"line":123,"column":null}},"42":{"start":{"line":124,"column":8},"end":{"line":124,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":13}},"loc":{"start":{"line":17,"column":53},"end":{"line":94,"column":null}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":51},"end":{"line":49,"column":56}},"loc":{"start":{"line":49,"column":56},"end":{"line":49,"column":87}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":96,"column":12},"end":{"line":96,"column":null}},"loc":{"start":{"line":102,"column":15},"end":{"line":125,"column":null}},"line":102}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":12},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":31,"column":null}},{"start":{"line":29,"column":19},"end":{"line":31,"column":null}}],"line":23},"1":{"loc":{"start":{"line":37,"column":16},"end":{"line":43,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":16},"end":{"line":43,"column":null}},{"start":{},"end":{}}],"line":37},"2":{"loc":{"start":{"line":51,"column":8},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":56,"column":null}},{"start":{},"end":{}}],"line":51},"3":{"loc":{"start":{"line":68,"column":12},"end":{"line":70,"column":null}},"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":70,"column":null}},{"start":{},"end":{}}],"line":68},"4":{"loc":{"start":{"line":73,"column":12},"end":{"line":87,"column":null}},"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":87,"column":null}},{"start":{},"end":{}}],"line":73},"5":{"loc":{"start":{"line":109,"column":12},"end":{"line":119,"column":null}},"type":"if","locations":[{"start":{"line":109,"column":12},"end":{"line":119,"column":null}},{"start":{"line":114,"column":12},"end":{"line":119,"column":null}}],"line":109},"6":{"loc":{"start":{"line":110,"column":16},"end":{"line":111,"column":null}},"type":"binary-expr","locations":[{"start":{"line":110,"column":16},"end":{"line":110,"column":null}},{"start":{"line":111,"column":16},"end":{"line":111,"column":null}}],"line":110},"7":{"loc":{"start":{"line":114,"column":12},"end":{"line":119,"column":null}},"type":"if","locations":[{"start":{"line":114,"column":12},"end":{"line":119,"column":null}},{"start":{},"end":{}}],"line":114}},"s":{"0":29,"1":29,"2":29,"3":61,"4":3,"5":58,"6":29,"7":61,"8":41,"9":5,"10":29,"11":7,"12":29,"13":4,"14":25,"15":25,"16":54,"17":25,"18":25,"19":25,"20":49,"21":3,"22":46,"23":46,"24":4,"25":4,"26":4,"27":4,"28":4,"29":25,"30":51,"31":51,"32":51,"33":51,"34":51,"35":33,"36":5,"37":28,"38":4,"39":4,"40":42,"41":42,"42":42},"f":{"0":29,"1":7,"2":51},"b":{"0":[3,58],"1":[5,36],"2":[4,25],"3":[3,46],"4":[4,42],"5":[5,28],"6":[33,5],"7":[4,24]},"meta":{"lastBranch":8,"lastFunction":3,"lastStatement":43,"seen":{"f:17:4:17:13":0,"s:18:42:18:Infinity":0,"s:21:24:21:Infinity":1,"s:22:8:32:Infinity":2,"b:23:12:31:Infinity:29:19:31:Infinity":0,"s:23:12:31:Infinity":3,"s:24:16:28:Infinity":4,"s:30:16:30:Infinity":5,"s:35:8:45:Infinity":6,"s:36:12:44:Infinity":7,"b:37:16:43:Infinity:undefined:undefined:undefined:undefined":1,"s:37:16:43:Infinity":8,"s:38:20:42:Infinity":9,"s:49:39:49:Infinity":10,"f:49:51:49:56":1,"s:49:56:49:87":11,"b:51:8:56:Infinity:undefined:undefined:undefined:undefined":2,"s:51:8:56:Infinity":12,"s:52:12:55:Infinity":13,"s:59:30:59:Infinity":14,"s:60:8:62:Infinity":15,"s:61:12:61:Infinity":16,"s:64:24:64:Infinity":17,"s:65:31:65:Infinity":18,"s:67:8:88:Infinity":19,"b:68:12:70:Infinity:undefined:undefined:undefined:undefined":3,"s:68:12:70:Infinity":20,"s:69:16:69:Infinity":21,"s:72:35:72:Infinity":22,"b:73:12:87:Infinity:undefined:undefined:undefined:undefined":4,"s:73:12:87:Infinity":23,"s:76:35:76:Infinity":24,"s:77:40:77:Infinity":25,"s:78:34:78:Infinity":26,"s:80:16:84:Infinity":27,"s:86:16:86:Infinity":28,"s:90:8:93:Infinity":29,"f:96:12:96:Infinity":2,"s:103:8:103:Infinity":30,"s:104:8:104:Infinity":31,"s:105:8:105:Infinity":32,"s:107:29:107:Infinity":33,"s:108:8:120:Infinity":34,"b:109:12:119:Infinity:114:12:119:Infinity":5,"s:109:12:119:Infinity":35,"b:110:16:110:Infinity:111:16:111:Infinity":6,"s:113:16:113:Infinity":36,"b:114:12:119:Infinity:undefined:undefined:undefined:undefined":7,"s:114:12:119:Infinity":37,"s:117:16:117:Infinity":38,"s:118:16:118:Infinity":39,"s:122:8:122:Infinity":40,"s:123:8:123:Infinity":41,"s:124:8:124:Infinity":42}}}
2
- ,"/home/runner/work/task-runner/task-runner/src/TaskRunner.ts": {"path":"/home/runner/work/task-runner/task-runner/src/TaskRunner.ts","statementMap":{"0":{"start":{"line":54,"column":20},"end":{"line":54,"column":null}},"1":{"start":{"line":55,"column":45},"end":{"line":55,"column":null}},"2":{"start":{"line":56,"column":22},"end":{"line":56,"column":null}},"3":{"start":{"line":61,"column":22},"end":{"line":61,"column":41}},"4":{"start":{"line":72,"column":4},"end":{"line":76,"column":null}},"5":{"start":{"line":75,"column":6},"end":{"line":75,"column":null}},"6":{"start":{"line":78,"column":5},"end":{"line":80,"column":null}},"7":{"start":{"line":92,"column":4},"end":{"line":96,"column":null}},"8":{"start":{"line":93,"column":7},"end":{"line":95,"column":null}},"9":{"start":{"line":108,"column":22},"end":{"line":108,"column":null}},"10":{"start":{"line":111,"column":4},"end":{"line":123,"column":null}},"11":{"start":{"line":112,"column":6},"end":{"line":122,"column":null}},"12":{"start":{"line":113,"column":8},"end":{"line":121,"column":null}},"13":{"start":{"line":114,"column":10},"end":{"line":114,"column":null}},"14":{"start":{"line":117,"column":10},"end":{"line":120,"column":null}},"15":{"start":{"line":135,"column":33},"end":{"line":140,"column":null}},"16":{"start":{"line":136,"column":34},"end":{"line":139,"column":8}},"17":{"start":{"line":142,"column":29},"end":{"line":142,"column":null}},"18":{"start":{"line":143,"column":4},"end":{"line":179,"column":null}},"19":{"start":{"line":145,"column":28},"end":{"line":145,"column":null}},"20":{"start":{"line":146,"column":37},"end":{"line":146,"column":null}},"21":{"start":{"line":148,"column":6},"end":{"line":170,"column":null}},"22":{"start":{"line":149,"column":8},"end":{"line":149,"column":null}},"23":{"start":{"line":150,"column":8},"end":{"line":169,"column":null}},"24":{"start":{"line":153,"column":26},"end":{"line":153,"column":null}},"25":{"start":{"line":155,"column":12},"end":{"line":155,"column":null}},"26":{"start":{"line":155,"column":32},"end":{"line":155,"column":52}},"27":{"start":{"line":156,"column":12},"end":{"line":156,"column":null}},"28":{"start":{"line":160,"column":22},"end":{"line":160,"column":null}},"29":{"start":{"line":161,"column":12},"end":{"line":161,"column":null}},"30":{"start":{"line":162,"column":12},"end":{"line":162,"column":null}},"31":{"start":{"line":165,"column":22},"end":{"line":165,"column":null}},"32":{"start":{"line":166,"column":12},"end":{"line":166,"column":null}},"33":{"start":{"line":167,"column":12},"end":{"line":167,"column":null}},"34":{"start":{"line":173,"column":23},"end":{"line":173,"column":null}},"35":{"start":{"line":174,"column":28},"end":{"line":174,"column":null}},"36":{"start":{"line":175,"column":30},"end":{"line":175,"column":null}},"37":{"start":{"line":178,"column":6},"end":{"line":178,"column":null}},"38":{"start":{"line":181,"column":4},"end":{"line":181,"column":null}},"39":{"start":{"line":183,"column":20},"end":{"line":183,"column":null}},"40":{"start":{"line":184,"column":30},"end":{"line":184,"column":null}},"41":{"start":{"line":187,"column":32},"end":{"line":244,"column":null}},"42":{"start":{"line":188,"column":27},"end":{"line":190,"column":null}},"43":{"start":{"line":189,"column":18},"end":{"line":189,"column":null}},"44":{"start":{"line":193,"column":6},"end":{"line":206,"column":null}},"45":{"start":{"line":194,"column":21},"end":{"line":194,"column":null}},"46":{"start":{"line":195,"column":26},"end":{"line":197,"column":null}},"47":{"start":{"line":196,"column":19},"end":{"line":196,"column":null}},"48":{"start":{"line":198,"column":8},"end":{"line":205,"column":null}},"49":{"start":{"line":199,"column":37},"end":{"line":202,"column":null}},"50":{"start":{"line":203,"column":10},"end":{"line":203,"column":null}},"51":{"start":{"line":204,"column":10},"end":{"line":204,"column":null}},"52":{"start":{"line":209,"column":25},"end":{"line":215,"column":null}},"53":{"start":{"line":210,"column":8},"end":{"line":210,"column":null}},"54":{"start":{"line":210,"column":67},"end":{"line":210,"column":null}},"55":{"start":{"line":211,"column":21},"end":{"line":211,"column":null}},"56":{"start":{"line":212,"column":8},"end":{"line":214,"column":null}},"57":{"start":{"line":213,"column":19},"end":{"line":213,"column":null}},"58":{"start":{"line":218,"column":6},"end":{"line":243,"column":null}},"59":{"start":{"line":219,"column":8},"end":{"line":219,"column":null}},"60":{"start":{"line":220,"column":8},"end":{"line":220,"column":null}},"61":{"start":{"line":222,"column":14},"end":{"line":236,"column":null}},"62":{"start":{"line":223,"column":10},"end":{"line":235,"column":null}},"63":{"start":{"line":224,"column":27},"end":{"line":224,"column":null}},"64":{"start":{"line":225,"column":12},"end":{"line":225,"column":null}},"65":{"start":{"line":227,"column":12},"end":{"line":230,"column":null}},"66":{"start":{"line":232,"column":12},"end":{"line":232,"column":null}},"67":{"start":{"line":233,"column":27},"end":{"line":233,"column":null}},"68":{"start":{"line":234,"column":12},"end":{"line":234,"column":null}},"69":{"start":{"line":239,"column":31},"end":{"line":241,"column":null}},"70":{"start":{"line":240,"column":10},"end":{"line":240,"column":null}},"71":{"start":{"line":242,"column":8},"end":{"line":242,"column":null}},"72":{"start":{"line":247,"column":4},"end":{"line":247,"column":null}},"73":{"start":{"line":249,"column":4},"end":{"line":254,"column":null}},"74":{"start":{"line":251,"column":6},"end":{"line":251,"column":null}},"75":{"start":{"line":253,"column":6},"end":{"line":253,"column":null}},"76":{"start":{"line":256,"column":4},"end":{"line":256,"column":null}},"77":{"start":{"line":257,"column":4},"end":{"line":257,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":22}},"loc":{"start":{"line":61,"column":41},"end":{"line":61,"column":null}},"line":61},"1":{"name":"(anonymous_1)","decl":{"start":{"line":68,"column":9},"end":{"line":68,"column":null}},"loc":{"start":{"line":71,"column":10},"end":{"line":81,"column":null}},"line":71},"2":{"name":"(anonymous_2)","decl":{"start":{"line":88,"column":9},"end":{"line":88,"column":null}},"loc":{"start":{"line":91,"column":10},"end":{"line":97,"column":null}},"line":91},"3":{"name":"(anonymous_3)","decl":{"start":{"line":104,"column":10},"end":{"line":104,"column":null}},"loc":{"start":{"line":107,"column":10},"end":{"line":124,"column":null}},"line":107},"4":{"name":"(anonymous_4)","decl":{"start":{"line":133,"column":8},"end":{"line":133,"column":16}},"loc":{"start":{"line":133,"column":79},"end":{"line":258,"column":null}},"line":133},"5":{"name":"(anonymous_5)","decl":{"start":{"line":136,"column":23},"end":{"line":136,"column":24}},"loc":{"start":{"line":136,"column":34},"end":{"line":139,"column":8}},"line":136},"6":{"name":"(anonymous_6)","decl":{"start":{"line":155,"column":25},"end":{"line":155,"column":26}},"loc":{"start":{"line":155,"column":32},"end":{"line":155,"column":52}},"line":155},"7":{"name":"(anonymous_7)","decl":{"start":{"line":187,"column":32},"end":{"line":187,"column":38}},"loc":{"start":{"line":187,"column":38},"end":{"line":244,"column":null}},"line":187},"8":{"name":"(anonymous_8)","decl":{"start":{"line":189,"column":8},"end":{"line":189,"column":9}},"loc":{"start":{"line":189,"column":18},"end":{"line":189,"column":null}},"line":189},"9":{"name":"(anonymous_9)","decl":{"start":{"line":196,"column":10},"end":{"line":196,"column":11}},"loc":{"start":{"line":196,"column":19},"end":{"line":196,"column":null}},"line":196},"10":{"name":"(anonymous_10)","decl":{"start":{"line":209,"column":38},"end":{"line":209,"column":39}},"loc":{"start":{"line":209,"column":48},"end":{"line":215,"column":7}},"line":209},"11":{"name":"(anonymous_11)","decl":{"start":{"line":213,"column":10},"end":{"line":213,"column":11}},"loc":{"start":{"line":213,"column":19},"end":{"line":213,"column":null}},"line":213},"12":{"name":"(anonymous_12)","decl":{"start":{"line":222,"column":29},"end":{"line":222,"column":41}},"loc":{"start":{"line":222,"column":41},"end":{"line":236,"column":11}},"line":222},"13":{"name":"(anonymous_13)","decl":{"start":{"line":239,"column":48},"end":{"line":239,"column":54}},"loc":{"start":{"line":239,"column":54},"end":{"line":241,"column":9}},"line":239}},"branchMap":{"0":{"loc":{"start":{"line":72,"column":4},"end":{"line":76,"column":null}},"type":"if","locations":[{"start":{"line":72,"column":4},"end":{"line":76,"column":null}},{"start":{},"end":{}}],"line":72},"1":{"loc":{"start":{"line":92,"column":4},"end":{"line":96,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":96,"column":null}},{"start":{},"end":{}}],"line":92},"2":{"loc":{"start":{"line":111,"column":4},"end":{"line":123,"column":null}},"type":"if","locations":[{"start":{"line":111,"column":4},"end":{"line":123,"column":null}},{"start":{},"end":{}}],"line":111},"3":{"loc":{"start":{"line":138,"column":22},"end":{"line":138,"column":null}},"type":"binary-expr","locations":[{"start":{"line":138,"column":22},"end":{"line":138,"column":43}},{"start":{"line":138,"column":43},"end":{"line":138,"column":null}}],"line":138},"4":{"loc":{"start":{"line":143,"column":4},"end":{"line":179,"column":null}},"type":"if","locations":[{"start":{"line":143,"column":4},"end":{"line":179,"column":null}},{"start":{},"end":{}}],"line":143},"5":{"loc":{"start":{"line":150,"column":8},"end":{"line":169,"column":null}},"type":"switch","locations":[{"start":{"line":151,"column":10},"end":{"line":157,"column":null}},{"start":{"line":158,"column":10},"end":{"line":163,"column":null}},{"start":{"line":164,"column":10},"end":{"line":168,"column":null}}],"line":150},"6":{"loc":{"start":{"line":189,"column":18},"end":{"line":189,"column":null}},"type":"binary-expr","locations":[{"start":{"line":189,"column":18},"end":{"line":189,"column":45}},{"start":{"line":189,"column":45},"end":{"line":189,"column":null}}],"line":189},"7":{"loc":{"start":{"line":194,"column":21},"end":{"line":194,"column":null}},"type":"binary-expr","locations":[{"start":{"line":194,"column":21},"end":{"line":194,"column":42}},{"start":{"line":194,"column":42},"end":{"line":194,"column":null}}],"line":194},"8":{"loc":{"start":{"line":196,"column":19},"end":{"line":196,"column":null}},"type":"binary-expr","locations":[{"start":{"line":196,"column":19},"end":{"line":196,"column":39}},{"start":{"line":196,"column":39},"end":{"line":196,"column":null}}],"line":196},"9":{"loc":{"start":{"line":198,"column":8},"end":{"line":205,"column":null}},"type":"if","locations":[{"start":{"line":198,"column":8},"end":{"line":205,"column":null}},{"start":{},"end":{}}],"line":198},"10":{"loc":{"start":{"line":210,"column":8},"end":{"line":210,"column":null}},"type":"if","locations":[{"start":{"line":210,"column":8},"end":{"line":210,"column":null}},{"start":{},"end":{}}],"line":210},"11":{"loc":{"start":{"line":210,"column":12},"end":{"line":210,"column":67}},"type":"binary-expr","locations":[{"start":{"line":210,"column":12},"end":{"line":210,"column":38}},{"start":{"line":210,"column":38},"end":{"line":210,"column":67}}],"line":210},"12":{"loc":{"start":{"line":211,"column":21},"end":{"line":211,"column":null}},"type":"binary-expr","locations":[{"start":{"line":211,"column":21},"end":{"line":211,"column":42}},{"start":{"line":211,"column":42},"end":{"line":211,"column":null}}],"line":211},"13":{"loc":{"start":{"line":213,"column":19},"end":{"line":213,"column":null}},"type":"binary-expr","locations":[{"start":{"line":213,"column":19},"end":{"line":213,"column":39}},{"start":{"line":213,"column":39},"end":{"line":213,"column":null}}],"line":213},"14":{"loc":{"start":{"line":229,"column":21},"end":{"line":229,"column":null}},"type":"cond-expr","locations":[{"start":{"line":229,"column":42},"end":{"line":229,"column":54}},{"start":{"line":229,"column":54},"end":{"line":229,"column":null}}],"line":229},"15":{"loc":{"start":{"line":249,"column":11},"end":{"line":249,"column":70}},"type":"binary-expr","locations":[{"start":{"line":249,"column":11},"end":{"line":249,"column":42}},{"start":{"line":249,"column":42},"end":{"line":249,"column":70}}],"line":249}},"s":{"0":22,"1":22,"2":22,"3":22,"4":12,"5":11,"6":12,"7":2,"8":1,"9":88,"10":88,"11":13,"12":13,"13":13,"14":1,"15":21,"16":43,"17":21,"18":21,"19":6,"20":6,"21":6,"22":6,"23":6,"24":2,"25":2,"26":6,"27":2,"28":2,"29":2,"30":2,"31":2,"32":2,"33":2,"34":6,"35":6,"36":6,"37":6,"38":15,"39":15,"40":15,"41":15,"42":35,"43":98,"44":35,"45":49,"46":49,"47":39,"48":49,"49":6,"50":6,"51":6,"52":35,"53":98,"54":55,"55":43,"56":98,"57":29,"58":35,"59":26,"60":26,"61":26,"62":26,"63":26,"64":24,"65":2,"66":26,"67":26,"68":26,"69":26,"70":26,"71":26,"72":15,"73":15,"74":20,"75":20,"76":15,"77":15},"f":{"0":22,"1":12,"2":2,"3":88,"4":21,"5":43,"6":6,"7":35,"8":98,"9":39,"10":98,"11":29,"12":26,"13":26},"b":{"0":[11,1],"1":[1,1],"2":[13,75],"3":[43,21],"4":[6,15],"5":[2,2,2],"6":[98,50],"7":[49,18],"8":[39,18],"9":[6,43],"10":[55,43],"11":[98,44],"12":[43,18],"13":[29,12],"14":[1,1],"15":[15,20]},"meta":{"lastBranch":16,"lastFunction":14,"lastStatement":78,"seen":{"s:54:20:54:Infinity":0,"s:55:45:55:Infinity":1,"s:56:22:56:Infinity":2,"f:61:2:61:22":0,"s:61:22:61:41":3,"f:68:9:68:Infinity":1,"b:72:4:76:Infinity:undefined:undefined:undefined:undefined":0,"s:72:4:76:Infinity":4,"s:75:6:75:Infinity":5,"s:78:5:80:Infinity":6,"f:88:9:88:Infinity":2,"b:92:4:96:Infinity:undefined:undefined:undefined:undefined":1,"s:92:4:96:Infinity":7,"s:93:7:95:Infinity":8,"f:104:10:104:Infinity":3,"s:108:22:108:Infinity":9,"b:111:4:123:Infinity:undefined:undefined:undefined:undefined":2,"s:111:4:123:Infinity":10,"s:112:6:122:Infinity":11,"s:113:8:121:Infinity":12,"s:114:10:114:Infinity":13,"s:117:10:120:Infinity":14,"f:133:8:133:16":4,"s:135:33:140:Infinity":15,"f:136:23:136:24":5,"s:136:34:139:8":16,"b:138:22:138:43:138:43:138:Infinity":3,"s:142:29:142:Infinity":17,"b:143:4:179:Infinity:undefined:undefined:undefined:undefined":4,"s:143:4:179:Infinity":18,"s:145:28:145:Infinity":19,"s:146:37:146:Infinity":20,"s:148:6:170:Infinity":21,"s:149:8:149:Infinity":22,"b:151:10:157:Infinity:158:10:163:Infinity:164:10:168:Infinity":5,"s:150:8:169:Infinity":23,"s:153:26:153:Infinity":24,"s:155:12:155:Infinity":25,"f:155:25:155:26":6,"s:155:32:155:52":26,"s:156:12:156:Infinity":27,"s:160:22:160:Infinity":28,"s:161:12:161:Infinity":29,"s:162:12:162:Infinity":30,"s:165:22:165:Infinity":31,"s:166:12:166:Infinity":32,"s:167:12:167:Infinity":33,"s:173:23:173:Infinity":34,"s:174:28:174:Infinity":35,"s:175:30:175:Infinity":36,"s:178:6:178:Infinity":37,"s:181:4:181:Infinity":38,"s:183:20:183:Infinity":39,"s:184:30:184:Infinity":40,"s:187:32:244:Infinity":41,"f:187:32:187:38":7,"s:188:27:190:Infinity":42,"f:189:8:189:9":8,"s:189:18:189:Infinity":43,"b:189:18:189:45:189:45:189:Infinity":6,"s:193:6:206:Infinity":44,"s:194:21:194:Infinity":45,"b:194:21:194:42:194:42:194:Infinity":7,"s:195:26:197:Infinity":46,"f:196:10:196:11":9,"s:196:19:196:Infinity":47,"b:196:19:196:39:196:39:196:Infinity":8,"b:198:8:205:Infinity:undefined:undefined:undefined:undefined":9,"s:198:8:205:Infinity":48,"s:199:37:202:Infinity":49,"s:203:10:203:Infinity":50,"s:204:10:204:Infinity":51,"s:209:25:215:Infinity":52,"f:209:38:209:39":10,"b:210:8:210:Infinity:undefined:undefined:undefined:undefined":10,"s:210:8:210:Infinity":53,"b:210:12:210:38:210:38:210:67":11,"s:210:67:210:Infinity":54,"s:211:21:211:Infinity":55,"b:211:21:211:42:211:42:211:Infinity":12,"s:212:8:214:Infinity":56,"f:213:10:213:11":11,"s:213:19:213:Infinity":57,"b:213:19:213:39:213:39:213:Infinity":13,"s:218:6:243:Infinity":58,"s:219:8:219:Infinity":59,"s:220:8:220:Infinity":60,"s:222:14:236:Infinity":61,"f:222:29:222:41":12,"s:223:10:235:Infinity":62,"s:224:27:224:Infinity":63,"s:225:12:225:Infinity":64,"s:227:12:230:Infinity":65,"b:229:42:229:54:229:54:229:Infinity":14,"s:232:12:232:Infinity":66,"s:233:27:233:Infinity":67,"s:234:12:234:Infinity":68,"s:239:31:241:Infinity":69,"f:239:48:239:54":13,"s:240:10:240:Infinity":70,"s:242:8:242:Infinity":71,"s:247:4:247:Infinity":72,"s:249:4:254:Infinity":73,"b:249:11:249:42:249:42:249:70":15,"s:251:6:251:Infinity":74,"s:253:6:253:Infinity":75,"s:256:4:256:Infinity":76,"s:257:4:257:Infinity":77}}}
1
+ {"/home/runner/work/task-runner/task-runner/src/EventBus.ts": {"path":"/home/runner/work/task-runner/task-runner/src/EventBus.ts","statementMap":{"0":{"start":{"line":12,"column":45},"end":{"line":12,"column":null}},"1":{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},"2":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"3":{"start":{"line":29,"column":5},"end":{"line":31,"column":null}},"4":{"start":{"line":43,"column":4},"end":{"line":47,"column":null}},"5":{"start":{"line":44,"column":7},"end":{"line":46,"column":null}},"6":{"start":{"line":59,"column":22},"end":{"line":59,"column":null}},"7":{"start":{"line":62,"column":4},"end":{"line":82,"column":null}},"8":{"start":{"line":63,"column":6},"end":{"line":81,"column":null}},"9":{"start":{"line":64,"column":8},"end":{"line":80,"column":null}},"10":{"start":{"line":65,"column":25},"end":{"line":65,"column":null}},"11":{"start":{"line":66,"column":10},"end":{"line":73,"column":null}},"12":{"start":{"line":67,"column":12},"end":{"line":72,"column":null}},"13":{"start":{"line":68,"column":14},"end":{"line":71,"column":null}},"14":{"start":{"line":76,"column":10},"end":{"line":79,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":null}},"loc":{"start":{"line":22,"column":10},"end":{"line":32,"column":null}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":null}},"loc":{"start":{"line":42,"column":10},"end":{"line":48,"column":null}},"line":42},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":null}},"loc":{"start":{"line":58,"column":10},"end":{"line":83,"column":null}},"line":58},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":25},"end":{"line":67,"column":26}},"loc":{"start":{"line":67,"column":36},"end":{"line":72,"column":13}},"line":67}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},{"start":{},"end":{}}],"line":23},"1":{"loc":{"start":{"line":43,"column":4},"end":{"line":47,"column":null}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":47,"column":null}},{"start":{},"end":{}}],"line":43},"2":{"loc":{"start":{"line":62,"column":4},"end":{"line":82,"column":null}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":82,"column":null}},{"start":{},"end":{}}],"line":62},"3":{"loc":{"start":{"line":66,"column":10},"end":{"line":73,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":10},"end":{"line":73,"column":null}},{"start":{},"end":{}}],"line":66}},"s":{"0":26,"1":13,"2":12,"3":13,"4":2,"5":1,"6":106,"7":106,"8":14,"9":14,"10":14,"11":14,"12":1,"13":1,"14":1},"f":{"0":13,"1":2,"2":106,"3":1},"b":{"0":[12,1],"1":[1,1],"2":[14,92],"3":[1,13]},"meta":{"lastBranch":4,"lastFunction":4,"lastStatement":15,"seen":{"s:12:45:12:Infinity":0,"f:19:9:19:Infinity":0,"b:23:4:27:Infinity:undefined:undefined:undefined:undefined":0,"s:23:4:27:Infinity":1,"s:26:6:26:Infinity":2,"s:29:5:31:Infinity":3,"f:39:9:39:Infinity":1,"b:43:4:47:Infinity:undefined:undefined:undefined:undefined":1,"s:43:4:47:Infinity":4,"s:44:7:46:Infinity":5,"f:55:9:55:Infinity":2,"s:59:22:59:Infinity":6,"b:62:4:82:Infinity:undefined:undefined:undefined:undefined":2,"s:62:4:82:Infinity":7,"s:63:6:81:Infinity":8,"s:64:8:80:Infinity":9,"s:65:25:65:Infinity":10,"b:66:10:73:Infinity:undefined:undefined:undefined:undefined":3,"s:66:10:73:Infinity":11,"s:67:12:72:Infinity":12,"f:67:25:67:26":3,"s:68:14:71:Infinity":13,"s:76:10:79:Infinity":14}}}
2
+ ,"/home/runner/work/task-runner/task-runner/src/TaskGraphValidator.ts": {"path":"/home/runner/work/task-runner/task-runner/src/TaskGraphValidator.ts","statementMap":{"0":{"start":{"line":18,"column":42},"end":{"line":18,"column":null}},"1":{"start":{"line":21,"column":24},"end":{"line":21,"column":null}},"2":{"start":{"line":22,"column":8},"end":{"line":32,"column":null}},"3":{"start":{"line":23,"column":12},"end":{"line":31,"column":null}},"4":{"start":{"line":24,"column":16},"end":{"line":28,"column":null}},"5":{"start":{"line":30,"column":16},"end":{"line":30,"column":null}},"6":{"start":{"line":35,"column":8},"end":{"line":45,"column":null}},"7":{"start":{"line":36,"column":12},"end":{"line":44,"column":null}},"8":{"start":{"line":37,"column":16},"end":{"line":43,"column":null}},"9":{"start":{"line":38,"column":20},"end":{"line":42,"column":null}},"10":{"start":{"line":49,"column":39},"end":{"line":49,"column":null}},"11":{"start":{"line":49,"column":56},"end":{"line":49,"column":87}},"12":{"start":{"line":51,"column":8},"end":{"line":56,"column":null}},"13":{"start":{"line":52,"column":12},"end":{"line":55,"column":null}},"14":{"start":{"line":59,"column":30},"end":{"line":59,"column":null}},"15":{"start":{"line":60,"column":8},"end":{"line":62,"column":null}},"16":{"start":{"line":61,"column":12},"end":{"line":61,"column":null}},"17":{"start":{"line":64,"column":24},"end":{"line":64,"column":null}},"18":{"start":{"line":65,"column":31},"end":{"line":65,"column":null}},"19":{"start":{"line":67,"column":8},"end":{"line":88,"column":null}},"20":{"start":{"line":68,"column":12},"end":{"line":70,"column":null}},"21":{"start":{"line":69,"column":16},"end":{"line":69,"column":null}},"22":{"start":{"line":72,"column":35},"end":{"line":72,"column":null}},"23":{"start":{"line":73,"column":12},"end":{"line":87,"column":null}},"24":{"start":{"line":76,"column":35},"end":{"line":76,"column":null}},"25":{"start":{"line":77,"column":40},"end":{"line":77,"column":null}},"26":{"start":{"line":78,"column":34},"end":{"line":78,"column":null}},"27":{"start":{"line":80,"column":16},"end":{"line":84,"column":null}},"28":{"start":{"line":86,"column":16},"end":{"line":86,"column":null}},"29":{"start":{"line":90,"column":8},"end":{"line":93,"column":null}},"30":{"start":{"line":102,"column":29},"end":{"line":102,"column":null}},"31":{"start":{"line":102,"column":52},"end":{"line":102,"column":61}},"32":{"start":{"line":103,"column":8},"end":{"line":103,"column":null}},"33":{"start":{"line":113,"column":8},"end":{"line":113,"column":null}},"34":{"start":{"line":114,"column":8},"end":{"line":114,"column":null}},"35":{"start":{"line":115,"column":8},"end":{"line":115,"column":null}},"36":{"start":{"line":117,"column":29},"end":{"line":117,"column":null}},"37":{"start":{"line":118,"column":8},"end":{"line":130,"column":null}},"38":{"start":{"line":119,"column":12},"end":{"line":129,"column":null}},"39":{"start":{"line":123,"column":16},"end":{"line":123,"column":null}},"40":{"start":{"line":124,"column":12},"end":{"line":129,"column":null}},"41":{"start":{"line":127,"column":16},"end":{"line":127,"column":null}},"42":{"start":{"line":128,"column":16},"end":{"line":128,"column":null}},"43":{"start":{"line":132,"column":8},"end":{"line":132,"column":null}},"44":{"start":{"line":133,"column":8},"end":{"line":133,"column":null}},"45":{"start":{"line":134,"column":8},"end":{"line":134,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":13}},"loc":{"start":{"line":17,"column":53},"end":{"line":94,"column":null}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":51},"end":{"line":49,"column":56}},"loc":{"start":{"line":49,"column":56},"end":{"line":49,"column":87}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":23}},"loc":{"start":{"line":101,"column":57},"end":{"line":104,"column":null}},"line":101},"3":{"name":"(anonymous_3)","decl":{"start":{"line":102,"column":47},"end":{"line":102,"column":52}},"loc":{"start":{"line":102,"column":52},"end":{"line":102,"column":61}},"line":102},"4":{"name":"(anonymous_4)","decl":{"start":{"line":106,"column":12},"end":{"line":106,"column":null}},"loc":{"start":{"line":112,"column":15},"end":{"line":135,"column":null}},"line":112}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":12},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":31,"column":null}},{"start":{"line":29,"column":19},"end":{"line":31,"column":null}}],"line":23},"1":{"loc":{"start":{"line":37,"column":16},"end":{"line":43,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":16},"end":{"line":43,"column":null}},{"start":{},"end":{}}],"line":37},"2":{"loc":{"start":{"line":51,"column":8},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":56,"column":null}},{"start":{},"end":{}}],"line":51},"3":{"loc":{"start":{"line":68,"column":12},"end":{"line":70,"column":null}},"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":70,"column":null}},{"start":{},"end":{}}],"line":68},"4":{"loc":{"start":{"line":73,"column":12},"end":{"line":87,"column":null}},"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":87,"column":null}},{"start":{},"end":{}}],"line":73},"5":{"loc":{"start":{"line":119,"column":12},"end":{"line":129,"column":null}},"type":"if","locations":[{"start":{"line":119,"column":12},"end":{"line":129,"column":null}},{"start":{"line":124,"column":12},"end":{"line":129,"column":null}}],"line":119},"6":{"loc":{"start":{"line":120,"column":16},"end":{"line":121,"column":null}},"type":"binary-expr","locations":[{"start":{"line":120,"column":16},"end":{"line":120,"column":null}},{"start":{"line":121,"column":16},"end":{"line":121,"column":null}}],"line":120},"7":{"loc":{"start":{"line":124,"column":12},"end":{"line":129,"column":null}},"type":"if","locations":[{"start":{"line":124,"column":12},"end":{"line":129,"column":null}},{"start":{},"end":{}}],"line":124}},"s":{"0":29,"1":29,"2":29,"3":61,"4":3,"5":58,"6":29,"7":61,"8":41,"9":5,"10":29,"11":7,"12":29,"13":4,"14":25,"15":25,"16":54,"17":25,"18":25,"19":25,"20":49,"21":3,"22":46,"23":46,"24":4,"25":4,"26":4,"27":4,"28":4,"29":25,"30":6,"31":6,"32":6,"33":51,"34":51,"35":51,"36":51,"37":51,"38":33,"39":5,"40":28,"41":4,"42":4,"43":42,"44":42,"45":42},"f":{"0":29,"1":7,"2":6,"3":6,"4":51},"b":{"0":[3,58],"1":[5,36],"2":[4,25],"3":[3,46],"4":[4,42],"5":[5,28],"6":[33,5],"7":[4,24]},"meta":{"lastBranch":8,"lastFunction":5,"lastStatement":46,"seen":{"f:17:4:17:13":0,"s:18:42:18:Infinity":0,"s:21:24:21:Infinity":1,"s:22:8:32:Infinity":2,"b:23:12:31:Infinity:29:19:31:Infinity":0,"s:23:12:31:Infinity":3,"s:24:16:28:Infinity":4,"s:30:16:30:Infinity":5,"s:35:8:45:Infinity":6,"s:36:12:44:Infinity":7,"b:37:16:43:Infinity:undefined:undefined:undefined:undefined":1,"s:37:16:43:Infinity":8,"s:38:20:42:Infinity":9,"s:49:39:49:Infinity":10,"f:49:51:49:56":1,"s:49:56:49:87":11,"b:51:8:56:Infinity:undefined:undefined:undefined:undefined":2,"s:51:8:56:Infinity":12,"s:52:12:55:Infinity":13,"s:59:30:59:Infinity":14,"s:60:8:62:Infinity":15,"s:61:12:61:Infinity":16,"s:64:24:64:Infinity":17,"s:65:31:65:Infinity":18,"s:67:8:88:Infinity":19,"b:68:12:70:Infinity:undefined:undefined:undefined:undefined":3,"s:68:12:70:Infinity":20,"s:69:16:69:Infinity":21,"s:72:35:72:Infinity":22,"b:73:12:87:Infinity:undefined:undefined:undefined:undefined":4,"s:73:12:87:Infinity":23,"s:76:35:76:Infinity":24,"s:77:40:77:Infinity":25,"s:78:34:78:Infinity":26,"s:80:16:84:Infinity":27,"s:86:16:86:Infinity":28,"s:90:8:93:Infinity":29,"f:101:4:101:23":2,"s:102:29:102:Infinity":30,"f:102:47:102:52":3,"s:102:52:102:61":31,"s:103:8:103:Infinity":32,"f:106:12:106:Infinity":4,"s:113:8:113:Infinity":33,"s:114:8:114:Infinity":34,"s:115:8:115:Infinity":35,"s:117:29:117:Infinity":36,"s:118:8:130:Infinity":37,"b:119:12:129:Infinity:124:12:129:Infinity":5,"s:119:12:129:Infinity":38,"b:120:16:120:Infinity:121:16:121:Infinity":6,"s:123:16:123:Infinity":39,"b:124:12:129:Infinity:undefined:undefined:undefined:undefined":7,"s:124:12:129:Infinity":40,"s:127:16:127:Infinity":41,"s:128:16:128:Infinity":42,"s:132:8:132:Infinity":43,"s:133:8:133:Infinity":44,"s:134:8:134:Infinity":45}}}
3
+ ,"/home/runner/work/task-runner/task-runner/src/TaskRunner.ts": {"path":"/home/runner/work/task-runner/task-runner/src/TaskRunner.ts","statementMap":{"0":{"start":{"line":18,"column":21},"end":{"line":18,"column":null}},"1":{"start":{"line":19,"column":22},"end":{"line":19,"column":null}},"2":{"start":{"line":24,"column":22},"end":{"line":24,"column":41}},"3":{"start":{"line":35,"column":4},"end":{"line":35,"column":null}},"4":{"start":{"line":47,"column":4},"end":{"line":47,"column":null}},"5":{"start":{"line":59,"column":33},"end":{"line":64,"column":null}},"6":{"start":{"line":60,"column":34},"end":{"line":63,"column":8}},"7":{"start":{"line":66,"column":29},"end":{"line":66,"column":null}},"8":{"start":{"line":67,"column":4},"end":{"line":69,"column":null}},"9":{"start":{"line":68,"column":6},"end":{"line":68,"column":null}},"10":{"start":{"line":71,"column":21},"end":{"line":71,"column":null}},"11":{"start":{"line":72,"column":4},"end":{"line":72,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":22}},"loc":{"start":{"line":24,"column":41},"end":{"line":24,"column":null}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":9},"end":{"line":31,"column":null}},"loc":{"start":{"line":34,"column":10},"end":{"line":36,"column":null}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":null}},"loc":{"start":{"line":46,"column":10},"end":{"line":48,"column":null}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":57,"column":8},"end":{"line":57,"column":16}},"loc":{"start":{"line":57,"column":79},"end":{"line":73,"column":null}},"line":57},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":23},"end":{"line":60,"column":24}},"loc":{"start":{"line":60,"column":34},"end":{"line":63,"column":8}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":62,"column":22},"end":{"line":62,"column":null}},"type":"binary-expr","locations":[{"start":{"line":62,"column":22},"end":{"line":62,"column":43}},{"start":{"line":62,"column":43},"end":{"line":62,"column":null}}],"line":62},"1":{"loc":{"start":{"line":67,"column":4},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":67}},"s":{"0":22,"1":22,"2":22,"3":12,"4":2,"5":21,"6":43,"7":21,"8":21,"9":6,"10":15,"11":15},"f":{"0":22,"1":12,"2":2,"3":21,"4":43},"b":{"0":[43,21],"1":[6,15]},"meta":{"lastBranch":2,"lastFunction":5,"lastStatement":12,"seen":{"s:18:21:18:Infinity":0,"s:19:22:19:Infinity":1,"f:24:2:24:22":0,"s:24:22:24:41":2,"f:31:9:31:Infinity":1,"s:35:4:35:Infinity":3,"f:43:9:43:Infinity":2,"s:47:4:47:Infinity":4,"f:57:8:57:16":3,"s:59:33:64:Infinity":5,"f:60:23:60:24":4,"s:60:34:63:8":6,"b:62:22:62:43:62:43:62:Infinity":0,"s:66:29:66:Infinity":7,"b:67:4:69:Infinity:undefined:undefined:undefined:undefined":1,"s:67:4:69:Infinity":8,"s:68:6:68:Infinity":9,"s:71:21:71:Infinity":10,"s:72:4:72:Infinity":11}}}
4
+ ,"/home/runner/work/task-runner/task-runner/src/WorkflowExecutor.ts": {"path":"/home/runner/work/task-runner/task-runner/src/WorkflowExecutor.ts","statementMap":{"0":{"start":{"line":10,"column":20},"end":{"line":10,"column":null}},"1":{"start":{"line":17,"column":12},"end":{"line":17,"column":null}},"2":{"start":{"line":18,"column":12},"end":{"line":18,"column":null}},"3":{"start":{"line":27,"column":4},"end":{"line":27,"column":null}},"4":{"start":{"line":29,"column":20},"end":{"line":29,"column":null}},"5":{"start":{"line":30,"column":30},"end":{"line":30,"column":null}},"6":{"start":{"line":31,"column":25},"end":{"line":31,"column":null}},"7":{"start":{"line":34,"column":4},"end":{"line":34,"column":null}},"8":{"start":{"line":36,"column":4},"end":{"line":41,"column":null}},"9":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"10":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"11":{"start":{"line":43,"column":4},"end":{"line":43,"column":null}},"12":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"13":{"start":{"line":56,"column":43},"end":{"line":56,"column":null}},"14":{"start":{"line":57,"column":40},"end":{"line":57,"column":null}},"15":{"start":{"line":59,"column":4},"end":{"line":87,"column":null}},"16":{"start":{"line":60,"column":19},"end":{"line":60,"column":null}},"17":{"start":{"line":61,"column":20},"end":{"line":61,"column":null}},"18":{"start":{"line":64,"column":6},"end":{"line":73,"column":null}},"19":{"start":{"line":65,"column":26},"end":{"line":65,"column":null}},"20":{"start":{"line":66,"column":8},"end":{"line":72,"column":null}},"21":{"start":{"line":68,"column":10},"end":{"line":68,"column":null}},"22":{"start":{"line":69,"column":8},"end":{"line":72,"column":null}},"23":{"start":{"line":70,"column":10},"end":{"line":70,"column":null}},"24":{"start":{"line":71,"column":10},"end":{"line":71,"column":null}},"25":{"start":{"line":75,"column":6},"end":{"line":86,"column":null}},"26":{"start":{"line":76,"column":35},"end":{"line":79,"column":null}},"27":{"start":{"line":80,"column":8},"end":{"line":80,"column":null}},"28":{"start":{"line":81,"column":8},"end":{"line":81,"column":null}},"29":{"start":{"line":82,"column":8},"end":{"line":82,"column":null}},"30":{"start":{"line":83,"column":6},"end":{"line":86,"column":null}},"31":{"start":{"line":84,"column":8},"end":{"line":84,"column":null}},"32":{"start":{"line":85,"column":8},"end":{"line":85,"column":null}},"33":{"start":{"line":90,"column":4},"end":{"line":92,"column":null}},"34":{"start":{"line":91,"column":6},"end":{"line":91,"column":null}},"35":{"start":{"line":95,"column":4},"end":{"line":100,"column":null}},"36":{"start":{"line":96,"column":26},"end":{"line":98,"column":null}},"37":{"start":{"line":97,"column":8},"end":{"line":97,"column":null}},"38":{"start":{"line":99,"column":6},"end":{"line":99,"column":null}},"39":{"start":{"line":107,"column":4},"end":{"line":107,"column":null}},"40":{"start":{"line":108,"column":4},"end":{"line":108,"column":null}},"41":{"start":{"line":110,"column":4},"end":{"line":122,"column":null}},"42":{"start":{"line":111,"column":21},"end":{"line":111,"column":null}},"43":{"start":{"line":112,"column":6},"end":{"line":112,"column":null}},"44":{"start":{"line":114,"column":6},"end":{"line":117,"column":null}},"45":{"start":{"line":119,"column":6},"end":{"line":119,"column":null}},"46":{"start":{"line":120,"column":21},"end":{"line":120,"column":null}},"47":{"start":{"line":121,"column":6},"end":{"line":121,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":2},"end":{"line":16,"column":null}},"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":8},"end":{"line":26,"column":16}},"loc":{"start":{"line":26,"column":79},"end":{"line":45,"column":null}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":10},"end":{"line":51,"column":null}},"loc":{"start":{"line":55,"column":10},"end":{"line":101,"column":null}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":96,"column":59},"end":{"line":96,"column":65}},"loc":{"start":{"line":96,"column":65},"end":{"line":98,"column":7}},"line":96},"4":{"name":"(anonymous_4)","decl":{"start":{"line":106,"column":16},"end":{"line":106,"column":24}},"loc":{"start":{"line":106,"column":99},"end":{"line":123,"column":null}},"line":106}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":11},"end":{"line":36,"column":70}},"type":"binary-expr","locations":[{"start":{"line":36,"column":11},"end":{"line":36,"column":42}},{"start":{"line":36,"column":42},"end":{"line":36,"column":70}}],"line":36},"1":{"loc":{"start":{"line":60,"column":19},"end":{"line":60,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":19},"end":{"line":60,"column":40}},{"start":{"line":60,"column":40},"end":{"line":60,"column":null}}],"line":60},"2":{"loc":{"start":{"line":66,"column":8},"end":{"line":72,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":72,"column":null}},{"start":{"line":69,"column":8},"end":{"line":72,"column":null}}],"line":66},"3":{"loc":{"start":{"line":69,"column":8},"end":{"line":72,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":72,"column":null}},{"start":{},"end":{}}],"line":69},"4":{"loc":{"start":{"line":75,"column":6},"end":{"line":86,"column":null}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":86,"column":null}},{"start":{"line":83,"column":6},"end":{"line":86,"column":null}}],"line":75},"5":{"loc":{"start":{"line":83,"column":6},"end":{"line":86,"column":null}},"type":"if","locations":[{"start":{"line":83,"column":6},"end":{"line":86,"column":null}},{"start":{},"end":{}}],"line":83},"6":{"loc":{"start":{"line":116,"column":15},"end":{"line":116,"column":null}},"type":"cond-expr","locations":[{"start":{"line":116,"column":36},"end":{"line":116,"column":48}},{"start":{"line":116,"column":48},"end":{"line":116,"column":null}}],"line":116}},"s":{"0":18,"1":18,"2":18,"3":18,"4":18,"5":18,"6":18,"7":18,"8":18,"9":25,"10":25,"11":18,"12":18,"13":43,"14":43,"15":43,"16":57,"17":57,"18":57,"19":43,"20":43,"21":23,"22":20,"23":7,"24":7,"25":57,"26":7,"27":7,"28":7,"29":7,"30":50,"31":31,"32":31,"33":43,"34":38,"35":43,"36":31,"37":31,"38":31,"39":31,"40":31,"41":31,"42":31,"43":29,"44":2,"45":31,"46":31,"47":31},"f":{"0":18,"1":18,"2":43,"3":31,"4":31},"b":{"0":[18,25],"1":[57,22],"2":[23,20],"3":[7,13],"4":[7,50],"5":[31,19],"6":[1,1]},"meta":{"lastBranch":7,"lastFunction":5,"lastStatement":48,"seen":{"s:10:20:10:Infinity":0,"f:16:2:16:Infinity":0,"s:17:12:17:Infinity":1,"s:18:12:18:Infinity":2,"f:26:8:26:16":1,"s:27:4:27:Infinity":3,"s:29:20:29:Infinity":4,"s:30:30:30:Infinity":5,"s:31:25:31:Infinity":6,"s:34:4:34:Infinity":7,"s:36:4:41:Infinity":8,"b:36:11:36:42:36:42:36:70":0,"s:38:6:38:Infinity":9,"s:40:6:40:Infinity":10,"s:43:4:43:Infinity":11,"s:44:4:44:Infinity":12,"f:51:10:51:Infinity":2,"s:56:43:56:Infinity":13,"s:57:40:57:Infinity":14,"s:59:4:87:Infinity":15,"s:60:19:60:Infinity":16,"b:60:19:60:40:60:40:60:Infinity":1,"s:61:20:61:Infinity":17,"s:64:6:73:Infinity":18,"s:65:26:65:Infinity":19,"b:66:8:72:Infinity:69:8:72:Infinity":2,"s:66:8:72:Infinity":20,"s:68:10:68:Infinity":21,"b:69:8:72:Infinity:undefined:undefined:undefined:undefined":3,"s:69:8:72:Infinity":22,"s:70:10:70:Infinity":23,"s:71:10:71:Infinity":24,"b:75:6:86:Infinity:83:6:86:Infinity":4,"s:75:6:86:Infinity":25,"s:76:35:79:Infinity":26,"s:80:8:80:Infinity":27,"s:81:8:81:Infinity":28,"s:82:8:82:Infinity":29,"b:83:6:86:Infinity:undefined:undefined:undefined:undefined":5,"s:83:6:86:Infinity":30,"s:84:8:84:Infinity":31,"s:85:8:85:Infinity":32,"s:90:4:92:Infinity":33,"s:91:6:91:Infinity":34,"s:95:4:100:Infinity":35,"s:96:26:98:Infinity":36,"f:96:59:96:65":3,"s:97:8:97:Infinity":37,"s:99:6:99:Infinity":38,"f:106:16:106:24":4,"s:107:4:107:Infinity":39,"s:108:4:108:Infinity":40,"s:110:4:122:Infinity":41,"s:111:21:111:Infinity":42,"s:112:6:112:Infinity":43,"s:114:6:117:Infinity":44,"b:116:36:116:48:116:48:116:Infinity":6,"s:119:6:119:Infinity":45,"s:120:21:120:Infinity":46,"s:121:6:121:Infinity":47}}}
5
+ ,"/home/runner/work/task-runner/task-runner/src/contracts/RunnerEvents.ts": {"path":"/home/runner/work/task-runner/task-runner/src/contracts/RunnerEvents.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
3
6
  }
@@ -32,21 +32,21 @@
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>49/49</span>
35
+ <span class='fraction'>42/42</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>17/17</span>
42
+ <span class='fraction'>19/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>118/118</span>
49
+ <span class='fraction'>119/119</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,33 +79,33 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="TaskGraphValidator.ts"><a href="TaskGraphValidator.ts.html">TaskGraphValidator.ts</a></td>
82
+ <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
83
83
  <td data-value="100" class="pic high">
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="43" class="abs high">43/43</td>
87
+ <td data-value="121" class="abs high">121/121</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
- <td data-value="16" class="abs high">16/16</td>
89
+ <td data-value="42" class="abs high">42/42</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="3" class="abs high">3/3</td>
91
+ <td data-value="19" class="abs high">19/19</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="42" class="abs high">42/42</td>
93
+ <td data-value="119" class="abs high">119/119</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file high" data-value="TaskRunner.ts"><a href="TaskRunner.ts.html">TaskRunner.ts</a></td>
98
- <td data-value="100" class="pic high">
99
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
97
+ <td class="file empty" data-value="src/contracts"><a href="src/contracts/index.html">src/contracts</a></td>
98
+ <td data-value="0" class="pic empty">
99
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
100
  </td>
101
- <td data-value="100" class="pct high">100%</td>
102
- <td data-value="78" class="abs high">78/78</td>
103
- <td data-value="100" class="pct high">100%</td>
104
- <td data-value="33" class="abs high">33/33</td>
105
- <td data-value="100" class="pct high">100%</td>
106
- <td data-value="14" class="abs high">14/14</td>
107
- <td data-value="100" class="pct high">100%</td>
108
- <td data-value="76" class="abs high">76/76</td>
101
+ <td data-value="0" class="pct empty">0%</td>
102
+ <td data-value="0" class="abs empty">0/0</td>
103
+ <td data-value="0" class="pct empty">0%</td>
104
+ <td data-value="0" class="abs empty">0/0</td>
105
+ <td data-value="0" class="pct empty">0%</td>
106
+ <td data-value="0" class="abs empty">0/0</td>
107
+ <td data-value="0" class="pct empty">0%</td>
108
+ <td data-value="0" class="abs empty">0/0</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-01-18T05:09:17.333Z
119
+ at 2026-01-18T14:25:37.513Z
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>
@@ -32,21 +32,21 @@
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>49/49</span>
35
+ <span class='fraction'>42/42</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>17/17</span>
42
+ <span class='fraction'>19/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>118/118</span>
49
+ <span class='fraction'>119/119</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,33 +79,33 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="TaskGraphValidator.ts"><a href="TaskGraphValidator.ts.html">TaskGraphValidator.ts</a></td>
82
+ <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
83
83
  <td data-value="100" class="pic high">
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="43" class="abs high">43/43</td>
87
+ <td data-value="121" class="abs high">121/121</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
- <td data-value="16" class="abs high">16/16</td>
89
+ <td data-value="42" class="abs high">42/42</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="3" class="abs high">3/3</td>
91
+ <td data-value="19" class="abs high">19/19</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="42" class="abs high">42/42</td>
93
+ <td data-value="119" class="abs high">119/119</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file high" data-value="TaskRunner.ts"><a href="TaskRunner.ts.html">TaskRunner.ts</a></td>
98
- <td data-value="100" class="pic high">
99
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
97
+ <td class="file empty" data-value="src/contracts"><a href="src/contracts/index.html">src/contracts</a></td>
98
+ <td data-value="0" class="pic empty">
99
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
100
  </td>
101
- <td data-value="100" class="pct high">100%</td>
102
- <td data-value="78" class="abs high">78/78</td>
103
- <td data-value="100" class="pct high">100%</td>
104
- <td data-value="33" class="abs high">33/33</td>
105
- <td data-value="100" class="pct high">100%</td>
106
- <td data-value="14" class="abs high">14/14</td>
107
- <td data-value="100" class="pct high">100%</td>
108
- <td data-value="76" class="abs high">76/76</td>
101
+ <td data-value="0" class="pct empty">0%</td>
102
+ <td data-value="0" class="abs empty">0/0</td>
103
+ <td data-value="0" class="pct empty">0%</td>
104
+ <td data-value="0" class="abs empty">0/0</td>
105
+ <td data-value="0" class="pct empty">0%</td>
106
+ <td data-value="0" class="abs empty">0/0</td>
107
+ <td data-value="0" class="pct empty">0%</td>
108
+ <td data-value="0" class="abs empty">0/0</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-01-18T05:09:17.338Z
119
+ at 2026-01-18T14:25:37.520Z
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>