issue-flow 0.13.0 → 0.14.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 (162) hide show
  1. package/dist/agent-OX3KPHE4.js +30 -0
  2. package/dist/{analyze-WS47UYGN.js → analyze-WIND2SEB.js} +21 -18
  3. package/dist/{analyze-WS47UYGN.js.map → analyze-WIND2SEB.js.map} +1 -1
  4. package/dist/{apply-OS62UWRN.js → apply-JNOI2LR4.js} +14 -11
  5. package/dist/{apply-OS62UWRN.js.map → apply-JNOI2LR4.js.map} +1 -1
  6. package/dist/{bench-SA3BOME5.js → bench-B4VZON7E.js} +30 -26
  7. package/dist/{bench-SA3BOME5.js.map → bench-B4VZON7E.js.map} +1 -1
  8. package/dist/{chunk-PIVGJM6K.js → chunk-2IQ6M4ZE.js} +11 -11
  9. package/dist/{chunk-QCXPNSEL.js → chunk-3BWZO4YI.js} +2 -2
  10. package/dist/chunk-3WFZETIM.js +163 -0
  11. package/dist/chunk-3WFZETIM.js.map +1 -0
  12. package/dist/{chunk-6FDFRNXZ.js → chunk-67YIU2VB.js} +25 -20
  13. package/dist/chunk-67YIU2VB.js.map +1 -0
  14. package/dist/{chunk-TM67EHSV.js → chunk-6BENHR2I.js} +19 -19
  15. package/dist/chunk-6BENHR2I.js.map +1 -0
  16. package/dist/{chunk-IYV6KNVF.js → chunk-6QYMSNVA.js} +66 -240
  17. package/dist/chunk-6QYMSNVA.js.map +1 -0
  18. package/dist/{chunk-IV5SS4JN.js → chunk-76MMPJ53.js} +9 -7
  19. package/dist/{chunk-IV5SS4JN.js.map → chunk-76MMPJ53.js.map} +1 -1
  20. package/dist/{chunk-LZ6GFQAG.js → chunk-B72RQZBV.js} +35 -25
  21. package/dist/chunk-B72RQZBV.js.map +1 -0
  22. package/dist/{chunk-KQHB7ZT3.js → chunk-BEZ5BA5U.js} +82 -16
  23. package/dist/chunk-BEZ5BA5U.js.map +1 -0
  24. package/dist/{chunk-BQDQTIM7.js → chunk-BRCNQXYQ.js} +4 -4
  25. package/dist/{chunk-ARFVHC2F.js → chunk-CGKLE6WR.js} +115 -23
  26. package/dist/chunk-CGKLE6WR.js.map +1 -0
  27. package/dist/{chunk-BHJCGWQX.js → chunk-F6TOYSYY.js} +9 -9
  28. package/dist/chunk-G5EK2XRN.js +25 -0
  29. package/dist/chunk-G5EK2XRN.js.map +1 -0
  30. package/dist/{chunk-TX5WIVYP.js → chunk-HAKDLR6N.js} +6 -1
  31. package/dist/chunk-HAKDLR6N.js.map +1 -0
  32. package/dist/{chunk-DIG5XKQQ.js → chunk-J3SOTUVI.js} +2 -2
  33. package/dist/{chunk-SNTTOQAD.js → chunk-JN6D3MY6.js} +2 -2
  34. package/dist/{chunk-MIVHK5YI.js → chunk-KMRFRXIT.js} +3 -3
  35. package/dist/{chunk-5TB6KLC2.js → chunk-KT7JKOXB.js} +8 -8
  36. package/dist/{chunk-NEZZ6KDR.js → chunk-LBGHI4S2.js} +49 -2
  37. package/dist/chunk-LBGHI4S2.js.map +1 -0
  38. package/dist/{chunk-3XLCNVMD.js → chunk-LEW4QM74.js} +2 -2
  39. package/dist/{chunk-IHIEXUTC.js → chunk-LFEQIZLB.js} +85 -10
  40. package/dist/chunk-LFEQIZLB.js.map +1 -0
  41. package/dist/{chunk-TVN2JVOF.js → chunk-OOVG2KBY.js} +3 -3
  42. package/dist/{chunk-7KD66LIM.js → chunk-OR43364P.js} +3 -3
  43. package/dist/{chunk-J62QSVP6.js → chunk-PBTA3QQX.js} +8 -7
  44. package/dist/{chunk-J62QSVP6.js.map → chunk-PBTA3QQX.js.map} +1 -1
  45. package/dist/{chunk-664Y3NDX.js → chunk-PHW2YV6N.js} +8 -8
  46. package/dist/{chunk-PV4OX5TC.js → chunk-PZTWU277.js} +11 -11
  47. package/dist/{chunk-HJGGNLWI.js → chunk-QD4VOILZ.js} +9 -9
  48. package/dist/{chunk-CNBYCMSU.js → chunk-QJ5UZAH5.js} +27 -18
  49. package/dist/{chunk-CNBYCMSU.js.map → chunk-QJ5UZAH5.js.map} +1 -1
  50. package/dist/{chunk-HQAHNIAR.js → chunk-QK7WUO7A.js} +14 -14
  51. package/dist/{chunk-UJ7XWK7J.js → chunk-QZVKRDJY.js} +16 -14
  52. package/dist/{chunk-UJ7XWK7J.js.map → chunk-QZVKRDJY.js.map} +1 -1
  53. package/dist/{chunk-FZDR7CGH.js → chunk-REO3PXXO.js} +3 -3
  54. package/dist/{chunk-UOCPC2Y2.js → chunk-RVO7L4FX.js} +4 -4
  55. package/dist/{chunk-QXDNBYQF.js → chunk-SZMHCEYV.js} +21 -10
  56. package/dist/chunk-SZMHCEYV.js.map +1 -0
  57. package/dist/chunk-TYRNTSPJ.js +243 -0
  58. package/dist/chunk-TYRNTSPJ.js.map +1 -0
  59. package/dist/{agent-BXRIEKVM.js → chunk-UJ3L2MS7.js} +22 -22
  60. package/dist/chunk-UJ3L2MS7.js.map +1 -0
  61. package/dist/{chunk-37N2RJW2.js → chunk-V7MO5EDS.js} +3 -3
  62. package/dist/{chunk-HEF2RMKN.js → chunk-WB2X37MO.js} +18 -16
  63. package/dist/{chunk-HEF2RMKN.js.map → chunk-WB2X37MO.js.map} +1 -1
  64. package/dist/{chunk-OPNGPUKJ.js → chunk-X44FKNKP.js} +133 -42
  65. package/dist/chunk-X44FKNKP.js.map +1 -0
  66. package/dist/cli.js +43 -40
  67. package/dist/cli.js.map +1 -1
  68. package/dist/{config-MEM2IWWN.js → config-HMFMCY2M.js} +12 -9
  69. package/dist/{conventions-WV4NDXGH.js → conventions-NJF2OPVQ.js} +14 -11
  70. package/dist/{conventions-WV4NDXGH.js.map → conventions-NJF2OPVQ.js.map} +1 -1
  71. package/dist/diagnostics-THH42ZMP.js +23 -0
  72. package/dist/execute-KFNNZZHI.js +35 -0
  73. package/dist/{generate-MVQI7A45.js → generate-FW5C6NP7.js} +23 -20
  74. package/dist/{generate-MVQI7A45.js.map → generate-FW5C6NP7.js.map} +1 -1
  75. package/dist/{git-YRVRUN3C.js → git-W72QQ6GT.js} +4 -2
  76. package/dist/init-HTN4V67Q.js +24 -0
  77. package/dist/{operations-LU6JA3BX.js → operations-BCFOBH42.js} +17 -14
  78. package/dist/{operations-LU6JA3BX.js.map → operations-BCFOBH42.js.map} +1 -1
  79. package/dist/{permissions-7NMDFU27.js → permissions-4AKNQZHK.js} +4 -4
  80. package/dist/plan-SIZLGA4V.js +34 -0
  81. package/dist/{policy-JSYEK5B2.js → policy-DT6Q6ZVM.js} +13 -10
  82. package/dist/{policy-JSYEK5B2.js.map → policy-DT6Q6ZVM.js.map} +1 -1
  83. package/dist/pr-OMWCGUOW.js +39 -0
  84. package/dist/pr-review-N24CZPKR.js +32 -0
  85. package/dist/prd-5OFTZAHJ.js +33 -0
  86. package/dist/{ps-TNE44R5V.js → ps-RFORTCUD.js} +11 -8
  87. package/dist/{ps-TNE44R5V.js.map → ps-RFORTCUD.js.map} +1 -1
  88. package/dist/{recorder-XGF55WXI.js → recorder-KCCPMKQG.js} +5 -4
  89. package/dist/registry-GLPXOMFG.js +15 -0
  90. package/dist/{resume-QMEPMSZW.js → resume-M5RLKP4I.js} +44 -40
  91. package/dist/{resume-QMEPMSZW.js.map → resume-M5RLKP4I.js.map} +1 -1
  92. package/dist/review-YM4JAABY.js +35 -0
  93. package/dist/{routing-2ZUMZPJB.js → routing-NNT5WKGX.js} +13 -10
  94. package/dist/{routing-2ZUMZPJB.js.map → routing-NNT5WKGX.js.map} +1 -1
  95. package/dist/run-PZUKHPQK.js +54 -0
  96. package/dist/run-PZUKHPQK.js.map +1 -0
  97. package/dist/session-publisher-T7EI3CIP.js +11 -0
  98. package/dist/session-publisher-T7EI3CIP.js.map +1 -0
  99. package/dist/{state-manager-X3PT3FGT.js → state-manager-GQH32C44.js} +3 -3
  100. package/dist/state-manager-GQH32C44.js.map +1 -0
  101. package/dist/{usage-VCFLDA5Y.js → usage-V2CHE5PY.js} +13 -10
  102. package/dist/{usage-VCFLDA5Y.js.map → usage-V2CHE5PY.js.map} +1 -1
  103. package/dist/{web-XVHLX62B.js → web-EA3KGNFN.js} +18 -14
  104. package/dist/{web-XVHLX62B.js.map → web-EA3KGNFN.js.map} +1 -1
  105. package/package.json +1 -1
  106. package/web/AGENTS.md +150 -11
  107. package/web/public/app.css +343 -110
  108. package/web/public/app.js +408 -18
  109. package/web/public/index.html +44 -1
  110. package/dist/agent-BXRIEKVM.js.map +0 -1
  111. package/dist/chunk-6FDFRNXZ.js.map +0 -1
  112. package/dist/chunk-ARFVHC2F.js.map +0 -1
  113. package/dist/chunk-IHIEXUTC.js.map +0 -1
  114. package/dist/chunk-IYV6KNVF.js.map +0 -1
  115. package/dist/chunk-KQHB7ZT3.js.map +0 -1
  116. package/dist/chunk-LZ6GFQAG.js.map +0 -1
  117. package/dist/chunk-NEZZ6KDR.js.map +0 -1
  118. package/dist/chunk-OPNGPUKJ.js.map +0 -1
  119. package/dist/chunk-QXDNBYQF.js.map +0 -1
  120. package/dist/chunk-TM67EHSV.js.map +0 -1
  121. package/dist/chunk-TX5WIVYP.js.map +0 -1
  122. package/dist/execute-NITIHHCK.js +0 -31
  123. package/dist/init-OKWEC3EV.js +0 -21
  124. package/dist/plan-LEJJF3DE.js +0 -31
  125. package/dist/pr-HPVUZ7S3.js +0 -36
  126. package/dist/pr-review-R2QZBT3F.js +0 -29
  127. package/dist/prd-5O6GYCC6.js +0 -30
  128. package/dist/registry-LGPE53QD.js +0 -15
  129. package/dist/review-YKWD6SNN.js +0 -32
  130. package/dist/run-YU4TR62R.js +0 -50
  131. /package/dist/{config-MEM2IWWN.js.map → agent-OX3KPHE4.js.map} +0 -0
  132. /package/dist/{chunk-PIVGJM6K.js.map → chunk-2IQ6M4ZE.js.map} +0 -0
  133. /package/dist/{chunk-QCXPNSEL.js.map → chunk-3BWZO4YI.js.map} +0 -0
  134. /package/dist/{chunk-BQDQTIM7.js.map → chunk-BRCNQXYQ.js.map} +0 -0
  135. /package/dist/{chunk-BHJCGWQX.js.map → chunk-F6TOYSYY.js.map} +0 -0
  136. /package/dist/{chunk-DIG5XKQQ.js.map → chunk-J3SOTUVI.js.map} +0 -0
  137. /package/dist/{chunk-SNTTOQAD.js.map → chunk-JN6D3MY6.js.map} +0 -0
  138. /package/dist/{chunk-MIVHK5YI.js.map → chunk-KMRFRXIT.js.map} +0 -0
  139. /package/dist/{chunk-5TB6KLC2.js.map → chunk-KT7JKOXB.js.map} +0 -0
  140. /package/dist/{chunk-3XLCNVMD.js.map → chunk-LEW4QM74.js.map} +0 -0
  141. /package/dist/{chunk-TVN2JVOF.js.map → chunk-OOVG2KBY.js.map} +0 -0
  142. /package/dist/{chunk-7KD66LIM.js.map → chunk-OR43364P.js.map} +0 -0
  143. /package/dist/{chunk-664Y3NDX.js.map → chunk-PHW2YV6N.js.map} +0 -0
  144. /package/dist/{chunk-PV4OX5TC.js.map → chunk-PZTWU277.js.map} +0 -0
  145. /package/dist/{chunk-HJGGNLWI.js.map → chunk-QD4VOILZ.js.map} +0 -0
  146. /package/dist/{chunk-HQAHNIAR.js.map → chunk-QK7WUO7A.js.map} +0 -0
  147. /package/dist/{chunk-FZDR7CGH.js.map → chunk-REO3PXXO.js.map} +0 -0
  148. /package/dist/{chunk-UOCPC2Y2.js.map → chunk-RVO7L4FX.js.map} +0 -0
  149. /package/dist/{chunk-37N2RJW2.js.map → chunk-V7MO5EDS.js.map} +0 -0
  150. /package/dist/{execute-NITIHHCK.js.map → config-HMFMCY2M.js.map} +0 -0
  151. /package/dist/{git-YRVRUN3C.js.map → diagnostics-THH42ZMP.js.map} +0 -0
  152. /package/dist/{init-OKWEC3EV.js.map → execute-KFNNZZHI.js.map} +0 -0
  153. /package/dist/{permissions-7NMDFU27.js.map → git-W72QQ6GT.js.map} +0 -0
  154. /package/dist/{plan-LEJJF3DE.js.map → init-HTN4V67Q.js.map} +0 -0
  155. /package/dist/{pr-HPVUZ7S3.js.map → permissions-4AKNQZHK.js.map} +0 -0
  156. /package/dist/{pr-review-R2QZBT3F.js.map → plan-SIZLGA4V.js.map} +0 -0
  157. /package/dist/{prd-5O6GYCC6.js.map → pr-OMWCGUOW.js.map} +0 -0
  158. /package/dist/{recorder-XGF55WXI.js.map → pr-review-N24CZPKR.js.map} +0 -0
  159. /package/dist/{registry-LGPE53QD.js.map → prd-5OFTZAHJ.js.map} +0 -0
  160. /package/dist/{review-YKWD6SNN.js.map → recorder-KCCPMKQG.js.map} +0 -0
  161. /package/dist/{run-YU4TR62R.js.map → registry-GLPXOMFG.js.map} +0 -0
  162. /package/dist/{state-manager-X3PT3FGT.js.map → review-YM4JAABY.js.map} +0 -0
package/dist/cli.js CHANGED
@@ -9,22 +9,25 @@ import {
9
9
  setRoutingCliOverrides,
10
10
  setVerifyCliOverrides,
11
11
  setWebCliOverrides
12
- } from "./chunk-CNBYCMSU.js";
13
- import "./chunk-HQAHNIAR.js";
12
+ } from "./chunk-QJ5UZAH5.js";
13
+ import "./chunk-QK7WUO7A.js";
14
14
  import {
15
15
  printError,
16
16
  setGlobalTimeout,
17
17
  setInactivityTimeout,
18
18
  setVerbose
19
- } from "./chunk-IYV6KNVF.js";
20
- import "./chunk-6FDFRNXZ.js";
19
+ } from "./chunk-TYRNTSPJ.js";
20
+ import "./chunk-6QYMSNVA.js";
21
+ import "./chunk-3WFZETIM.js";
22
+ import "./chunk-HAKDLR6N.js";
23
+ import "./chunk-BEZ5BA5U.js";
24
+ import "./chunk-67YIU2VB.js";
21
25
  import "./chunk-P3LRUNC6.js";
22
- import "./chunk-DIG5XKQQ.js";
26
+ import "./chunk-G5EK2XRN.js";
27
+ import "./chunk-J3SOTUVI.js";
23
28
  import {
24
29
  isAgentProviderId
25
- } from "./chunk-NEZZ6KDR.js";
26
- import "./chunk-TX5WIVYP.js";
27
- import "./chunk-KQHB7ZT3.js";
30
+ } from "./chunk-LBGHI4S2.js";
28
31
  import "./chunk-7Z4Y3VKM.js";
29
32
  import "./chunk-XEYH6ZZI.js";
30
33
 
@@ -359,8 +362,8 @@ withIssueOptions(
359
362
  )
360
363
  ).action(
361
364
  async (options) => {
362
- const { loadIssuesConfig } = await import("./config-MEM2IWWN.js");
363
- const { runInit } = await import("./init-OKWEC3EV.js");
365
+ const { loadIssuesConfig } = await import("./config-HMFMCY2M.js");
366
+ const { runInit } = await import("./init-HTN4V67Q.js");
364
367
  const { preferredProvider } = await loadIssuesConfig();
365
368
  const code = await runInit(preferredProvider, {
366
369
  ...options,
@@ -382,7 +385,7 @@ withGlobalOptions(
382
385
  }
383
386
  throw error;
384
387
  }
385
- const { runGenerate } = await import("./generate-MVQI7A45.js");
388
+ const { runGenerate } = await import("./generate-FW5C6NP7.js");
386
389
  const code = await runGenerate(options.prompt, target);
387
390
  process.exit(code);
388
391
  });
@@ -425,7 +428,7 @@ withUserStoryNumberingOptions(
425
428
  }
426
429
  throw error;
427
430
  }
428
- const { runPipeline } = await import("./run-YU4TR62R.js");
431
+ const { runPipeline } = await import("./run-PZUKHPQK.js");
429
432
  const code = await runPipeline(
430
433
  issues,
431
434
  options.mode,
@@ -453,7 +456,7 @@ withIssueOptions(
453
456
  program.command("resume").description("Resume an interrupted pipeline from the phase it stopped at").argument("[issue]", "Issue to resume. Omitted: the most recently attempted one").option("--all", "Resume every unfinished issue of this project, in order").option("--mode <mode>", "Execution mode: auto | manual", "auto")
454
457
  )
455
458
  ).action(async (issue, options) => {
456
- const { runResume } = await import("./resume-QMEPMSZW.js");
459
+ const { runResume } = await import("./resume-M5RLKP4I.js");
457
460
  const code = await runResume(issue, {
458
461
  ...options.all === void 0 ? {} : { all: options.all },
459
462
  ...options.mode === void 0 ? {} : { mode: options.mode }
@@ -463,7 +466,7 @@ withIssueOptions(
463
466
  withGlobalOptions(
464
467
  program.command("status").description("What is running right now, in which phase, and since when").argument("[issue]", "Restrict the report to one issue").option("--json", "Emit the assembled state as JSON")
465
468
  ).action(async (issue, options) => {
466
- const { runStatus } = await import("./operations-LU6JA3BX.js");
469
+ const { runStatus } = await import("./operations-BCFOBH42.js");
467
470
  process.exit(
468
471
  await runStatus(issue, { ...options.json === void 0 ? {} : { json: options.json } })
469
472
  );
@@ -472,7 +475,7 @@ withGlobalOptions(
472
475
  program.command("usage").description("Aggregate execution telemetry from tasks.json").argument("[issue]", "Restrict the report to one issue").option("--issue <issue>", "Same as the positional argument").option("--since <date>", "Only executions started on or after this ISO date").option("--by <key>", "Group by harness, provider, model, purpose or status").option("--json", "Emit the assembled totals as JSON")
473
476
  ).action(
474
477
  async (issue, options) => {
475
- const { runUsage, USAGE_GROUP_KEYS } = await import("./usage-VCFLDA5Y.js");
478
+ const { runUsage, USAGE_GROUP_KEYS } = await import("./usage-V2CHE5PY.js");
476
479
  const by = options.by;
477
480
  if (by !== void 0 && !USAGE_GROUP_KEYS.includes(by)) {
478
481
  printError("Must be one of: harness, provider, model, purpose, status.");
@@ -490,20 +493,20 @@ withGlobalOptions(
490
493
  withGlobalOptions(
491
494
  program.command("ps").description("Every issue-flow run active on this machine").option("--json", "Emit the listing as JSON").option("--watch", "Refresh the listing until interrupted")
492
495
  ).action(async (options) => {
493
- const { runPs } = await import("./ps-TNE44R5V.js");
496
+ const { runPs } = await import("./ps-RFORTCUD.js");
494
497
  process.exit(await runPs(options));
495
498
  });
496
499
  withGlobalOptions(
497
500
  program.command("runs").description("History of the runs of this project, with how each ended")
498
501
  ).action(async () => {
499
- const { runRuns } = await import("./operations-LU6JA3BX.js");
502
+ const { runRuns } = await import("./operations-BCFOBH42.js");
500
503
  process.exit(await runRuns());
501
504
  });
502
505
  withGlobalOptions(
503
506
  program.command("logs").description("Read the execution journal (events.jsonl), filtered and readable").argument("[issue]", "Issue to read. Omitted: the most recently attempted one").option("--issue <issue>", "Same as the positional argument").option("--follow", "Keep reading as the journal grows").option("--tail <n>", "How many entries to show first (default 50)", parseInteger).option("--kind <kinds>", "Only these event types, comma separated (retry, phase:end, \u2026)")
504
507
  ).action(
505
508
  async (issue, options) => {
506
- const { runLogs } = await import("./operations-LU6JA3BX.js");
509
+ const { runLogs } = await import("./operations-BCFOBH42.js");
507
510
  const kinds = options.kind === void 0 ? void 0 : options.kind.split(",").map((kind) => kind.trim()).filter((kind) => kind !== "");
508
511
  process.exit(
509
512
  await runLogs(issue ?? options.issue, {
@@ -517,13 +520,13 @@ withGlobalOptions(
517
520
  withGlobalOptions(
518
521
  program.command("pause").description("Ask the running pipeline to stop after writing a checkpoint")
519
522
  ).action(async () => {
520
- const { runPause } = await import("./operations-LU6JA3BX.js");
523
+ const { runPause } = await import("./operations-BCFOBH42.js");
521
524
  process.exit(await runPause());
522
525
  });
523
526
  withGlobalOptions(
524
527
  program.command("cancel").description("Stop the run and mark the issue so a resume does not pick it up").argument("[issue]", "Issue to cancel. Omitted: the most recently attempted one")
525
528
  ).action(async (issue) => {
526
- const { runCancel } = await import("./operations-LU6JA3BX.js");
529
+ const { runCancel } = await import("./operations-BCFOBH42.js");
527
530
  process.exit(await runCancel(issue));
528
531
  });
529
532
  withIssueOptions(
@@ -531,7 +534,7 @@ withIssueOptions(
531
534
  program.command("analyze").description("Analyze an issue with the configured agent").argument("<issue>", "Issue number")
532
535
  )
533
536
  ).action(async (issue) => {
534
- const { runAnalyze } = await import("./analyze-WS47UYGN.js");
537
+ const { runAnalyze } = await import("./analyze-WIND2SEB.js");
535
538
  const code = await runAnalyze(issue);
536
539
  process.exit(code);
537
540
  });
@@ -540,7 +543,7 @@ withIssueOptions(
540
543
  program.command("prd").description("Generate a PRD from an analyzed issue with the configured agent").argument("<issue>", "Issue number")
541
544
  )
542
545
  ).action(async (issue) => {
543
- const { runPrd } = await import("./prd-5O6GYCC6.js");
546
+ const { runPrd } = await import("./prd-5OFTZAHJ.js");
544
547
  const code = await runPrd(issue);
545
548
  process.exit(code);
546
549
  });
@@ -561,7 +564,7 @@ withUserStoryNumberingOptions(
561
564
  }
562
565
  throw error;
563
566
  }
564
- const { runPlan } = await import("./plan-LEJJF3DE.js");
567
+ const { runPlan } = await import("./plan-SIZLGA4V.js");
565
568
  const code = await runPlan(issue, void 0, numbering);
566
569
  process.exit(code);
567
570
  });
@@ -580,7 +583,7 @@ withWebOptions(
580
583
  ).action(
581
584
  async (positionalMaxIter, options) => {
582
585
  try {
583
- const { runExecute } = await import("./execute-NITIHHCK.js");
586
+ const { runExecute } = await import("./execute-KFNNZZHI.js");
584
587
  const code = await runExecute(positionalMaxIter, options);
585
588
  process.exit(code);
586
589
  } catch (error) {
@@ -594,7 +597,7 @@ withIssueOptions(
594
597
  program.command("review").description("Validate an issue resolution with the configured agent").argument("<issue>", "Issue number")
595
598
  )
596
599
  ).action(async (issue) => {
597
- const { runReview } = await import("./review-YKWD6SNN.js");
600
+ const { runReview } = await import("./review-YM4JAABY.js");
598
601
  const code = await runReview(issue);
599
602
  process.exit(code);
600
603
  });
@@ -603,7 +606,7 @@ withIssueOptions(
603
606
  program.command("pr").description("Create a pull request with the configured agent").argument("<issue>", "Issue number")
604
607
  )
605
608
  ).action(async (issue) => {
606
- const { runPr } = await import("./pr-HPVUZ7S3.js");
609
+ const { runPr } = await import("./pr-OMWCGUOW.js");
607
610
  const code = await runPr(issue);
608
611
  process.exit(code);
609
612
  });
@@ -611,21 +614,21 @@ var webCommand = program.command("web").description("Manage the web monitoring s
611
614
  webCommand.command("serve").description(
612
615
  "Run the web monitor server in the foreground (internal \u2014 spawned detached by --web)"
613
616
  ).option("--port <n>", "Web server port (default: 3737)", parseInteger).option("--host <h>", "Web server host (default: 0.0.0.0)").option("--refresh <s>", "Suggested UI polling interval in seconds", parseInteger).action(async (options) => {
614
- const { runWebServe } = await import("./web-XVHLX62B.js");
617
+ const { runWebServe } = await import("./web-EA3KGNFN.js");
615
618
  const code = await runWebServe(options);
616
619
  if (code !== 0) {
617
620
  process.exit(code);
618
621
  }
619
622
  });
620
623
  webCommand.command("stop").description("Stop the running web monitor server").action(async () => {
621
- const { runWebStop } = await import("./web-XVHLX62B.js");
624
+ const { runWebStop } = await import("./web-EA3KGNFN.js");
622
625
  const code = await runWebStop();
623
626
  process.exit(code);
624
627
  });
625
628
  withGlobalOptions(
626
629
  program.command("policy").description("Inspect the policies discovered in this repository and their provenance").option("--scope <dir>", "Resolve the policy for a subdirectory (monorepo)").option("--json", "Emit the resolved policy as JSON")
627
630
  ).action(async (options) => {
628
- const { runPolicy } = await import("./policy-JSYEK5B2.js");
631
+ const { runPolicy } = await import("./policy-DT6Q6ZVM.js");
629
632
  const code = await runPolicy(options);
630
633
  process.exit(code);
631
634
  });
@@ -633,41 +636,41 @@ var routingCommand = withGlobalOptions(
633
636
  program.command("routing").description("Inspect the shadow router (records a recommendation, does not act)")
634
637
  );
635
638
  routingCommand.option("--json", "Emit the resolved routing config as JSON").action(async (options) => {
636
- const { runRoutingInspect } = await import("./routing-2ZUMZPJB.js");
639
+ const { runRoutingInspect } = await import("./routing-NNT5WKGX.js");
637
640
  process.exit(await runRoutingInspect(options));
638
641
  });
639
642
  routingCommand.command("report").description("Shadow agreement between selected and actual harness").option("--issue <n>", "Issue number").option("--json", "Emit JSON").action(async (options) => {
640
- const { runRoutingReport } = await import("./routing-2ZUMZPJB.js");
643
+ const { runRoutingReport } = await import("./routing-NNT5WKGX.js");
641
644
  process.exit(await runRoutingReport(options));
642
645
  });
643
646
  var conventionsCommand = withGlobalOptions(
644
647
  program.command("conventions").description("Compute the repository Git convention (branch, commit, PR title)")
645
648
  );
646
649
  conventionsCommand.command("branch").description("Print the deterministic branch name for an issue").option("--issue <n>", "Issue number").option("--title <text>", "Issue title, when the issue cannot be resolved").option("--json", "Emit JSON").action(async (options) => {
647
- const { runConventionsBranch } = await import("./conventions-WV4NDXGH.js");
650
+ const { runConventionsBranch } = await import("./conventions-NJF2OPVQ.js");
648
651
  process.exit(await runConventionsBranch(options));
649
652
  });
650
653
  conventionsCommand.command("commit").description("Print a Conventional Commit message").requiredOption("--type <type>", "Change type (feat, fix, docs, \u2026)").option("--scope <scope>", "Optional scope").requiredOption("--subject <text>", "Commit subject").option("--issue <n>", "Issue number for the Refs trailer").option("--story <id>", "Story id (US-010)").option("--breaking <text>", "Breaking change description").option("--json", "Emit JSON").action(
651
654
  async (options) => {
652
- const { runConventionsCommit } = await import("./conventions-WV4NDXGH.js");
655
+ const { runConventionsCommit } = await import("./conventions-NJF2OPVQ.js");
653
656
  process.exit(await runConventionsCommit(options));
654
657
  }
655
658
  );
656
659
  conventionsCommand.command("pr-title").description("Print the Conventional Commit Pull Request title").option("--issue <n>", "Issue number").option("--title <text>", "Issue title, when the issue cannot be resolved").option("--json", "Emit JSON").action(async (options) => {
657
- const { runConventionsPrTitle } = await import("./conventions-WV4NDXGH.js");
660
+ const { runConventionsPrTitle } = await import("./conventions-NJF2OPVQ.js");
658
661
  process.exit(await runConventionsPrTitle(options));
659
662
  });
660
663
  var agentCommand = withGlobalOptions(
661
664
  program.command("agent").description("Inspect the resolved agent and model for each phase").option("--json", "Emit the resolved agent configuration as JSON")
662
665
  );
663
666
  agentCommand.action(async (options) => {
664
- const { runAgent } = await import("./agent-BXRIEKVM.js");
667
+ const { runAgent } = await import("./agent-OX3KPHE4.js");
665
668
  const code = await runAgent(options);
666
669
  process.exit(code);
667
670
  });
668
671
  agentCommand.command("use").description("Write an agent preference to config.json or .issue-flow.json").argument("<provider>", "claude, codex, cursor or antigravity").option("--model <model>", "Model identifier for this preference").option("--global", "Write to ~/.issue-flow/config.json (default)").option("--project", "Write to .issue-flow.json in the repository").option("--phase <phase>", "Write only the override for this phase").action(
669
672
  async (provider, options) => {
670
- const { runAgentUse } = await import("./agent-BXRIEKVM.js");
673
+ const { runAgentUse } = await import("./agent-OX3KPHE4.js");
671
674
  const code = await runAgentUse(provider, options);
672
675
  process.exit(code);
673
676
  }
@@ -679,7 +682,7 @@ withGlobalOptions(
679
682
  )
680
683
  ).action(
681
684
  async (pr, options) => {
682
- const { runPrReview } = await import("./pr-review-R2QZBT3F.js");
685
+ const { runPrReview } = await import("./pr-review-N24CZPKR.js");
683
686
  const code = await runPrReview(pr, options);
684
687
  process.exit(code);
685
688
  }
@@ -705,7 +708,7 @@ withGlobalOptions(
705
708
  printError("Unknown bench mode. Use 'synthetic' or 'real'.");
706
709
  process.exit(1);
707
710
  }
708
- const { runBench } = await import("./bench-SA3BOME5.js");
711
+ const { runBench } = await import("./bench-B4VZON7E.js");
709
712
  process.exit(
710
713
  await runBench({
711
714
  ...options.mode === void 0 ? {} : { mode: options.mode },
@@ -723,13 +726,13 @@ withGlobalOptions(
723
726
  }
724
727
  );
725
728
  program.action(async () => {
726
- const { listLiveRuns } = await import("./registry-LGPE53QD.js");
729
+ const { listLiveRuns } = await import("./registry-GLPXOMFG.js");
727
730
  const runs = await listLiveRuns();
728
731
  if (runs.length === 0) {
729
732
  program.help();
730
733
  return;
731
734
  }
732
- const { runPs } = await import("./ps-TNE44R5V.js");
735
+ const { runPs } = await import("./ps-RFORTCUD.js");
733
736
  process.exit(await runPs());
734
737
  });
735
738
  program.parse();