@calmo/task-runner 3.4.1 → 3.6.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 (55) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +35 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.yml +25 -0
  3. package/.github/workflows/ci.yml +1 -1
  4. package/.github/workflows/codeql.yml +101 -0
  5. package/.github/workflows/release.yml +2 -2
  6. package/AGENTS.md +15 -16
  7. package/CHANGELOG.md +27 -0
  8. package/README.md +89 -82
  9. package/coverage/coverage-final.json +4 -4
  10. package/coverage/index.html +9 -9
  11. package/coverage/lcov-report/index.html +9 -9
  12. package/coverage/lcov-report/src/EventBus.ts.html +4 -4
  13. package/coverage/lcov-report/src/TaskGraphValidationError.ts.html +1 -1
  14. package/coverage/lcov-report/src/TaskGraphValidator.ts.html +1 -1
  15. package/coverage/lcov-report/src/TaskRunner.ts.html +1 -1
  16. package/coverage/lcov-report/src/TaskRunnerBuilder.ts.html +1 -1
  17. package/coverage/lcov-report/src/TaskRunnerExecutionConfig.ts.html +1 -1
  18. package/coverage/lcov-report/src/TaskStateManager.ts.html +82 -52
  19. package/coverage/lcov-report/src/WorkflowExecutor.ts.html +197 -62
  20. package/coverage/lcov-report/src/contracts/RunnerEvents.ts.html +1 -1
  21. package/coverage/lcov-report/src/contracts/index.html +1 -1
  22. package/coverage/lcov-report/src/index.html +12 -12
  23. package/coverage/lcov-report/src/strategies/DryRunExecutionStrategy.ts.html +1 -1
  24. package/coverage/lcov-report/src/strategies/RetryingExecutionStrategy.ts.html +1 -1
  25. package/coverage/lcov-report/src/strategies/StandardExecutionStrategy.ts.html +3 -3
  26. package/coverage/lcov-report/src/strategies/index.html +1 -1
  27. package/coverage/lcov.info +202 -163
  28. package/coverage/src/EventBus.ts.html +4 -4
  29. package/coverage/src/TaskGraphValidationError.ts.html +1 -1
  30. package/coverage/src/TaskGraphValidator.ts.html +1 -1
  31. package/coverage/src/TaskRunner.ts.html +1 -1
  32. package/coverage/src/TaskRunnerBuilder.ts.html +1 -1
  33. package/coverage/src/TaskRunnerExecutionConfig.ts.html +1 -1
  34. package/coverage/src/TaskStateManager.ts.html +82 -52
  35. package/coverage/src/WorkflowExecutor.ts.html +197 -62
  36. package/coverage/src/contracts/RunnerEvents.ts.html +1 -1
  37. package/coverage/src/contracts/index.html +1 -1
  38. package/coverage/src/index.html +12 -12
  39. package/coverage/src/strategies/DryRunExecutionStrategy.ts.html +1 -1
  40. package/coverage/src/strategies/RetryingExecutionStrategy.ts.html +1 -1
  41. package/coverage/src/strategies/StandardExecutionStrategy.ts.html +3 -3
  42. package/coverage/src/strategies/index.html +1 -1
  43. package/dist/TaskStateManager.d.ts +6 -0
  44. package/dist/TaskStateManager.js +11 -2
  45. package/dist/TaskStateManager.js.map +1 -1
  46. package/dist/TaskStep.d.ts +5 -0
  47. package/dist/WorkflowExecutor.js +49 -8
  48. package/dist/WorkflowExecutor.js.map +1 -1
  49. package/openspec/changes/archive/2026-01-18-feat-conditional-execution/proposal.md +35 -0
  50. package/openspec/changes/archive/2026-01-18-feat-conditional-execution/tasks.md +32 -0
  51. package/package.json +2 -1
  52. package/src/TaskStateManager.ts +12 -2
  53. package/src/TaskStep.ts +6 -0
  54. package/src/WorkflowExecutor.ts +57 -12
  55. package/test-report.xml +132 -108
@@ -9,17 +9,17 @@ FNF:5
9
9
  FNH:5
10
10
  FNDA:16,(anonymous_0)
11
11
  FNDA:3,(anonymous_1)
12
- FNDA:342,(anonymous_2)
12
+ FNDA:378,(anonymous_2)
13
13
  FNDA:14,(anonymous_3)
14
14
  FNDA:1,(anonymous_4)
15
- DA:12,63
15
+ DA:12,74
16
16
  DA:23,16
17
17
  DA:26,14
18
18
  DA:29,16
19
19
  DA:43,3
20
20
  DA:44,2
21
- DA:59,342
22
- DA:62,342
21
+ DA:59,378
22
+ DA:62,378
23
23
  DA:63,14
24
24
  DA:64,14
25
25
  DA:65,14
@@ -35,7 +35,7 @@ BRDA:23,0,1,2
35
35
  BRDA:43,1,0,2
36
36
  BRDA:43,1,1,1
37
37
  BRDA:62,2,0,14
38
- BRDA:62,2,1,328
38
+ BRDA:62,2,1,364
39
39
  BRDA:67,3,0,1
40
40
  BRDA:67,3,1,13
41
41
  BRF:8
@@ -298,86 +298,90 @@ SF:src/TaskStateManager.ts
298
298
  FN:14,(anonymous_0)
299
299
  FN:20,(anonymous_1)
300
300
  FN:31,(anonymous_2)
301
- FN:79,(anonymous_3)
302
- FN:90,(anonymous_4)
303
- FN:100,(anonymous_5)
304
- FN:125,(anonymous_6)
305
- FN:132,(anonymous_7)
306
- FN:139,(anonymous_8)
307
- FNF:9
308
- FNH:9
309
- FNDA:48,(anonymous_0)
310
- FNDA:47,(anonymous_1)
311
- FNDA:232,(anonymous_2)
312
- FNDA:119,(anonymous_3)
313
- FNDA:120,(anonymous_4)
314
- FNDA:66,(anonymous_5)
315
- FNDA:48,(anonymous_6)
316
- FNDA:92,(anonymous_7)
317
- FNDA:122,(anonymous_8)
318
- DA:10,48
319
- DA:11,48
320
- DA:12,48
321
- DA:14,48
322
- DA:21,47
323
- DA:22,47
324
- DA:23,47
325
- DA:32,232
326
- DA:33,232
327
- DA:35,232
328
- DA:36,374
329
- DA:37,374
330
- DA:40,374
331
- DA:41,1133
332
- DA:42,1133
333
- DA:44,980
334
- DA:45,153
335
- DA:46,8
336
- DA:47,8
337
- DA:51,374
338
- DA:52,8
339
- DA:53,8
340
- DA:54,8
341
- DA:58,8
342
- DA:59,8
343
- DA:60,8
344
- DA:61,366
345
- DA:62,119
346
- DA:63,119
347
- DA:68,232
348
- DA:69,127
349
- DA:72,232
350
- DA:80,119
351
- DA:81,119
352
- DA:91,120
353
- DA:92,120
354
- DA:93,120
355
- DA:102,66
356
- DA:106,4
357
- DA:107,3
358
- DA:111,3
359
- DA:119,66
360
- DA:126,48
361
- DA:133,92
362
- DA:140,122
363
- LF:45
364
- LH:45
365
- BRDA:36,0,0,374
366
- BRDA:36,0,1,71
367
- BRDA:42,1,0,980
368
- BRDA:42,1,1,153
369
- BRDA:45,2,0,8
301
+ FN:78,(anonymous_3)
302
+ FN:89,(anonymous_4)
303
+ FN:99,(anonymous_5)
304
+ FN:124,(anonymous_6)
305
+ FN:131,(anonymous_7)
306
+ FN:138,(anonymous_8)
307
+ FN:147,(anonymous_9)
308
+ FNF:10
309
+ FNH:10
310
+ FNDA:59,(anonymous_0)
311
+ FNDA:58,(anonymous_1)
312
+ FNDA:272,(anonymous_2)
313
+ FNDA:122,(anonymous_3)
314
+ FNDA:127,(anonymous_4)
315
+ FNDA:81,(anonymous_5)
316
+ FNDA:59,(anonymous_6)
317
+ FNDA:121,(anonymous_7)
318
+ FNDA:154,(anonymous_8)
319
+ FNDA:12,(anonymous_9)
320
+ DA:10,59
321
+ DA:11,59
322
+ DA:12,59
323
+ DA:14,59
324
+ DA:21,58
325
+ DA:22,58
326
+ DA:23,58
327
+ DA:32,272
328
+ DA:33,272
329
+ DA:35,272
330
+ DA:36,393
331
+ DA:37,393
332
+ DA:40,393
333
+ DA:41,1162
334
+ DA:42,1162
335
+ DA:44,1008
336
+ DA:45,154
337
+ DA:46,9
338
+ DA:47,9
339
+ DA:51,393
340
+ DA:52,9
341
+ DA:53,9
342
+ DA:54,9
343
+ DA:58,9
344
+ DA:59,9
345
+ DA:60,384
346
+ DA:61,129
347
+ DA:62,129
348
+ DA:67,272
349
+ DA:68,138
350
+ DA:71,272
351
+ DA:79,122
352
+ DA:80,122
353
+ DA:90,127
354
+ DA:91,127
355
+ DA:92,127
356
+ DA:101,81
357
+ DA:105,7
358
+ DA:106,6
359
+ DA:110,6
360
+ DA:118,81
361
+ DA:125,59
362
+ DA:132,121
363
+ DA:139,154
364
+ DA:148,12
365
+ DA:149,12
366
+ DA:150,12
367
+ LF:47
368
+ LH:47
369
+ BRDA:36,0,0,393
370
+ BRDA:36,0,1,81
371
+ BRDA:42,1,0,1008
372
+ BRDA:42,1,1,154
373
+ BRDA:45,2,0,9
370
374
  BRDA:45,2,1,145
371
- BRDA:51,3,0,8
372
- BRDA:51,3,1,366
375
+ BRDA:51,3,0,9
376
+ BRDA:51,3,1,384
373
377
  BRDA:53,4,0,5
374
- BRDA:53,4,1,3
375
- BRDA:61,5,0,119
376
- BRDA:61,5,1,247
377
- BRDA:106,6,0,3
378
- BRDA:106,6,1,1
379
- BRDA:106,7,0,4
380
- BRDA:106,7,1,3
378
+ BRDA:53,4,1,4
379
+ BRDA:60,5,0,129
380
+ BRDA:60,5,1,255
381
+ BRDA:105,6,0,6
382
+ BRDA:105,6,1,1
383
+ BRDA:105,7,0,7
384
+ BRDA:105,7,1,6
381
385
  BRF:16
382
386
  BRH:16
383
387
  end_of_record
@@ -386,83 +390,118 @@ SF:src/WorkflowExecutor.ts
386
390
  FN:21,(anonymous_0)
387
391
  FN:35,(anonymous_1)
388
392
  FN:54,(anonymous_2)
389
- FN:105,(anonymous_3)
390
- FN:131,(anonymous_4)
391
- FN:134,(anonymous_5)
392
- FNF:6
393
- FNH:6
394
- FNDA:47,(anonymous_0)
395
- FNDA:47,(anonymous_1)
396
- FNDA:9,(anonymous_2)
397
- FNDA:233,(anonymous_3)
398
- FNDA:119,(anonymous_4)
399
- FNDA:119,(anonymous_5)
400
- DA:12,47
401
- DA:22,47
402
- DA:23,47
403
- DA:24,47
404
- DA:25,47
405
- DA:26,47
406
- DA:39,47
407
- DA:40,47
408
- DA:43,47
409
- DA:44,2
410
- DA:47,2
411
- DA:48,2
412
- DA:49,2
413
- DA:52,45
414
- DA:54,45
415
- DA:56,9
416
- DA:59,45
417
- DA:60,9
418
- DA:63,45
419
- DA:65,45
420
- DA:67,45
421
- DA:74,79
422
- DA:75,1
423
- DA:78,78
424
- DA:81,78
425
- DA:82,9
426
- DA:85,69
427
- DA:90,45
428
- DA:92,45
429
- DA:93,45
430
- DA:94,45
431
- DA:96,45
432
- DA:97,9
433
- DA:109,233
434
- DA:112,233
435
- DA:113,119
436
- DA:117,233
437
- DA:118,130
438
- DA:122,11
439
- DA:125,119
440
- DA:127,119
441
- DA:129,119
442
- DA:132,119
443
- DA:135,119
444
- DA:137,119
445
- DA:140,119
446
- LF:46
447
- LH:46
448
- BRDA:43,0,0,2
449
- BRDA:43,0,1,45
450
- BRDA:59,1,0,9
451
- BRDA:59,1,1,36
452
- BRDA:68,2,0,45
453
- BRDA:68,2,1,92
454
- BRDA:74,3,0,1
455
- BRDA:74,3,1,78
456
- BRDA:81,4,0,9
457
- BRDA:81,4,1,69
458
- BRDA:96,5,0,9
459
- BRDA:96,5,1,36
460
- BRDA:118,6,0,11
461
- BRDA:118,6,1,119
462
- BRDA:119,7,0,130
463
- BRDA:119,7,1,22
464
- BRF:16
465
- BRH:16
393
+ FN:106,(anonymous_3)
394
+ FN:128,(anonymous_4)
395
+ FN:176,(anonymous_5)
396
+ FN:179,(anonymous_6)
397
+ FNF:7
398
+ FNH:7
399
+ FNDA:58,(anonymous_0)
400
+ FNDA:58,(anonymous_1)
401
+ FNDA:11,(anonymous_2)
402
+ FNDA:273,(anonymous_3)
403
+ FNDA:129,(anonymous_4)
404
+ FNDA:122,(anonymous_5)
405
+ FNDA:129,(anonymous_6)
406
+ DA:12,58
407
+ DA:22,58
408
+ DA:23,58
409
+ DA:24,58
410
+ DA:25,58
411
+ DA:26,58
412
+ DA:39,58
413
+ DA:40,58
414
+ DA:43,58
415
+ DA:44,3
416
+ DA:47,3
417
+ DA:48,3
418
+ DA:49,3
419
+ DA:52,55
420
+ DA:54,55
421
+ DA:56,11
422
+ DA:59,55
423
+ DA:60,11
424
+ DA:63,55
425
+ DA:65,55
426
+ DA:67,55
427
+ DA:75,102
428
+ DA:76,2
429
+ DA:79,100
430
+ DA:82,100
431
+ DA:83,11
432
+ DA:86,89
433
+ DA:91,55
434
+ DA:93,55
435
+ DA:94,55
436
+ DA:95,55
437
+ DA:97,55
438
+ DA:98,11
439
+ DA:110,273
440
+ DA:113,273
441
+ DA:114,129
442
+ DA:118,273
443
+ DA:119,141
444
+ DA:123,12
445
+ DA:126,129
446
+ DA:128,129
447
+ DA:129,129
448
+ DA:130,129
449
+ DA:131,7
450
+ DA:132,7
451
+ DA:134,7
452
+ DA:135,1
453
+ DA:139,1
454
+ DA:142,4
455
+ DA:143,3
456
+ DA:147,3
457
+ DA:148,3
458
+ DA:152,2
459
+ DA:160,2
460
+ DA:161,2
461
+ DA:164,123
462
+ DA:165,1
463
+ DA:169,1
464
+ DA:172,122
465
+ DA:174,122
466
+ DA:177,122
467
+ DA:180,129
468
+ DA:182,129
469
+ DA:185,129
470
+ LF:64
471
+ LH:64
472
+ BRDA:43,0,0,3
473
+ BRDA:43,0,1,55
474
+ BRDA:59,1,0,11
475
+ BRDA:59,1,1,44
476
+ BRDA:68,2,0,55
477
+ BRDA:68,2,1,121
478
+ BRDA:68,2,2,70
479
+ BRDA:75,3,0,2
480
+ BRDA:75,3,1,100
481
+ BRDA:82,4,0,11
482
+ BRDA:82,4,1,89
483
+ BRDA:97,5,0,11
484
+ BRDA:97,5,1,44
485
+ BRDA:119,6,0,12
486
+ BRDA:119,6,1,129
487
+ BRDA:120,7,0,141
488
+ BRDA:120,7,1,25
489
+ BRDA:130,8,0,7
490
+ BRDA:130,8,1,122
491
+ BRDA:132,9,0,2
492
+ BRDA:132,9,1,3
493
+ BRDA:134,10,0,1
494
+ BRDA:134,10,1,6
495
+ BRDA:142,11,0,3
496
+ BRDA:142,11,1,1
497
+ BRDA:155,12,0,1
498
+ BRDA:155,12,1,1
499
+ BRDA:158,13,0,1
500
+ BRDA:158,13,1,1
501
+ BRDA:164,14,0,1
502
+ BRDA:164,14,1,122
503
+ BRF:31
504
+ BRH:31
466
505
  end_of_record
467
506
  TN:
468
507
  SF:src/contracts/RunnerEvents.ts
@@ -566,9 +605,9 @@ SF:src/strategies/StandardExecutionStrategy.ts
566
605
  FN:11,(anonymous_0)
567
606
  FNF:1
568
607
  FNH:1
569
- FNDA:128,(anonymous_0)
570
- DA:16,128
571
- DA:17,128
608
+ FNDA:131,(anonymous_0)
609
+ DA:16,131
610
+ DA:17,131
572
611
  DA:20,10
573
612
  DA:24,6
574
613
  DA:29,4
@@ -160,7 +160,7 @@
160
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">63x</span>
163
+ <span class="cline-any cline-yes">74x</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
165
  <span class="cline-any cline-neutral">&nbsp;</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -207,10 +207,10 @@
207
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">342x</span>
210
+ <span class="cline-any cline-yes">378x</span>
211
211
  <span class="cline-any cline-neutral">&nbsp;</span>
212
212
  <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-yes">342x</span>
213
+ <span class="cline-any cline-yes">378x</span>
214
214
  <span class="cline-any cline-yes">14x</span>
215
215
  <span class="cline-any cline-yes">14x</span>
216
216
  <span class="cline-any cline-yes">14x</span>
@@ -328,7 +328,7 @@ export class EventBus&lt;TContext&gt; {
328
328
  <div class='footer quiet pad2 space-top1 center small'>
329
329
  Code coverage generated by
330
330
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
331
- at 2026-01-18T21:02:31.377Z
331
+ at 2026-01-19T00:52:24.644Z
332
332
  </div>
333
333
  <script src="../prettify.js"></script>
334
334
  <script>
@@ -115,7 +115,7 @@ export class TaskGraphValidationError extends Error {
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at 2026-01-18T21:02:31.377Z
118
+ at 2026-01-19T00:52:24.644Z
119
119
  </div>
120
120
  <script src="../prettify.js"></script>
121
121
  <script>
@@ -574,7 +574,7 @@ export class TaskGraphValidator implements ITaskGraphValidator {
574
574
  <div class='footer quiet pad2 space-top1 center small'>
575
575
  Code coverage generated by
576
576
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
577
- at 2026-01-18T21:02:31.377Z
577
+ at 2026-01-19T00:52:24.644Z
578
578
  </div>
579
579
  <script src="../prettify.js"></script>
580
580
  <script>
@@ -676,7 +676,7 @@ export class TaskRunner&lt;TContext&gt; {
676
676
  <div class='footer quiet pad2 space-top1 center small'>
677
677
  Code coverage generated by
678
678
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
679
- at 2026-01-18T21:02:31.377Z
679
+ at 2026-01-19T00:52:24.644Z
680
680
  </div>
681
681
  <script src="../prettify.js"></script>
682
682
  <script>
@@ -322,7 +322,7 @@ export class TaskRunnerBuilder&lt;TContext&gt; {
322
322
  <div class='footer quiet pad2 space-top1 center small'>
323
323
  Code coverage generated by
324
324
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
325
- at 2026-01-18T21:02:31.377Z
325
+ at 2026-01-19T00:52:24.644Z
326
326
  </div>
327
327
  <script src="../prettify.js"></script>
328
328
  <script>
@@ -139,7 +139,7 @@ export interface TaskRunnerExecutionConfig {
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at 2026-01-18T21:02:31.377Z
142
+ at 2026-01-19T00:52:24.644Z
143
143
  </div>
144
144
  <script src="../prettify.js"></script>
145
145
  <script>