issue-flow 0.16.0 → 0.17.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 (165) hide show
  1. package/dist/agent-TB6W7PT7.js +30 -0
  2. package/dist/{analyze-556KCJKZ.js → analyze-6M3KEOX7.js} +22 -22
  3. package/dist/{apply-WVV7G7WN.js → apply-ADB3ZK7W.js} +14 -14
  4. package/dist/{bench-UBFGKUHR.js → bench-FM7I7EIV.js} +23 -23
  5. package/dist/{chunk-YA6FWFYW.js → chunk-2SUFAE6X.js} +53 -11
  6. package/dist/chunk-2SUFAE6X.js.map +1 -0
  7. package/dist/{chunk-DBEMD34J.js → chunk-32JSYXEK.js} +8 -8
  8. package/dist/chunk-3R27MJ5R.js +25 -0
  9. package/dist/chunk-3R27MJ5R.js.map +1 -0
  10. package/dist/{chunk-QZOBR6YF.js → chunk-6YQT3SSM.js} +4 -4
  11. package/dist/chunk-6YQT3SSM.js.map +1 -0
  12. package/dist/{chunk-OGVWJO4S.js → chunk-7F7LGMVO.js} +3 -3
  13. package/dist/{chunk-X6GY3CM2.js → chunk-A4H7P7T7.js} +102 -102
  14. package/dist/chunk-A4H7P7T7.js.map +1 -0
  15. package/dist/{chunk-OGN2NX57.js → chunk-ANI2NTR4.js} +9 -9
  16. package/dist/{chunk-VK65RNFA.js → chunk-B3TSS7BT.js} +3 -3
  17. package/dist/chunk-D6ZBGJ3L.js +321 -0
  18. package/dist/chunk-D6ZBGJ3L.js.map +1 -0
  19. package/dist/{chunk-MXCOSPLJ.js → chunk-DGRTJD5R.js} +3 -3
  20. package/dist/{chunk-ROIIEVZH.js → chunk-DUS5ZNKL.js} +474 -361
  21. package/dist/chunk-DUS5ZNKL.js.map +1 -0
  22. package/dist/{chunk-VTF4RWS5.js → chunk-DV7HUC4Z.js} +7 -7
  23. package/dist/{chunk-OOX3RMD3.js → chunk-E6KXCV3T.js} +4 -4
  24. package/dist/{chunk-OLUOZLU5.js → chunk-HJBF4WD2.js} +1653 -1071
  25. package/dist/chunk-HJBF4WD2.js.map +1 -0
  26. package/dist/{chunk-4FUWWBTP.js → chunk-HLAPOUEM.js} +8 -8
  27. package/dist/{chunk-J2LJB2OH.js → chunk-HY5HLFDU.js} +630 -571
  28. package/dist/chunk-HY5HLFDU.js.map +1 -0
  29. package/dist/{chunk-QVLIIGBU.js → chunk-ICM463EO.js} +60 -13
  30. package/dist/chunk-ICM463EO.js.map +1 -0
  31. package/dist/{chunk-KV2K7MK2.js → chunk-ISZ54SVE.js} +9 -9
  32. package/dist/{chunk-GV2DABNZ.js → chunk-KZ5EY5XX.js} +12 -12
  33. package/dist/{chunk-SW2MF47D.js → chunk-KZXQWC7U.js} +19 -19
  34. package/dist/{chunk-2H43OVTU.js → chunk-LPWPFIIB.js} +11 -11
  35. package/dist/{chunk-EPFC4LHT.js → chunk-MI5TREN3.js} +9 -9
  36. package/dist/{chunk-R42YHLDV.js → chunk-PPZ3K4YM.js} +2 -2
  37. package/dist/{chunk-H3EYBJZU.js → chunk-QMIQR7EE.js} +10 -10
  38. package/dist/{chunk-FKWYD44M.js → chunk-QPGEFLMY.js} +2 -2
  39. package/dist/chunk-RCZJQUTC.js +196 -0
  40. package/dist/chunk-RCZJQUTC.js.map +1 -0
  41. package/dist/{chunk-NQCR3HSU.js → chunk-RNFUVKC3.js} +3 -3
  42. package/dist/{chunk-G5LACAXO.js → chunk-RYOUZ6EK.js} +2 -2
  43. package/dist/{chunk-BSBJXPLC.js → chunk-SGTTR4XW.js} +10 -10
  44. package/dist/{chunk-GVOZ6NDO.js → chunk-SOM4QA6C.js} +3 -3
  45. package/dist/{chunk-73TS2H42.js → chunk-UK4E2FUA.js} +132 -34
  46. package/dist/chunk-UK4E2FUA.js.map +1 -0
  47. package/dist/{chunk-PGN2VX4Y.js → chunk-UWDCIFTP.js} +7 -7
  48. package/dist/{chunk-MCLPSL6B.js → chunk-VE3IYNDN.js} +3 -3
  49. package/dist/{chunk-IAMIBZRF.js → chunk-WCCZJL7W.js} +2 -2
  50. package/dist/{chunk-SVDEWOUD.js → chunk-XZUEFTUP.js} +6 -6
  51. package/dist/{chunk-GPLP7EPL.js → chunk-YII4U7ZD.js} +10 -10
  52. package/dist/{chunk-GPLP7EPL.js.map → chunk-YII4U7ZD.js.map} +1 -1
  53. package/dist/{chunk-WLJVL25O.js → chunk-YUNBOUQH.js} +6 -6
  54. package/dist/{chunk-WNROH2YE.js → chunk-YVPZUN6X.js} +2 -2
  55. package/dist/{chunk-Q2TZA6AC.js → chunk-Z5O2XBWA.js} +14 -14
  56. package/dist/cli.js +57 -49
  57. package/dist/cli.js.map +1 -1
  58. package/dist/{config-UE7IP36J.js → config-KGZUPAUP.js} +13 -13
  59. package/dist/{conventions-Z3QC2NSG.js → conventions-RYN7OXJN.js} +15 -15
  60. package/dist/{diagnostics-2Z5HFQOO.js → diagnostics-HTCWF7F4.js} +7 -7
  61. package/dist/execute-QL3ZQIAP.js +37 -0
  62. package/dist/{generate-PB4L7V5N.js → generate-CX6KNHZS.js} +22 -22
  63. package/dist/{git-7MUOGVRG.js → git-A2IP32PQ.js} +2 -2
  64. package/dist/init-PDVQDRS6.js +24 -0
  65. package/dist/{operations-QDJAFZUN.js → operations-CAKIT2BO.js} +15 -15
  66. package/dist/{permissions-XVXXENVP.js → permissions-G4XCAESF.js} +4 -4
  67. package/dist/plan-PRORGS3L.js +34 -0
  68. package/dist/{policy-6WQZB6B2.js → policy-WX6O2JID.js} +14 -14
  69. package/dist/pr-27RMQI5F.js +39 -0
  70. package/dist/pr-review-VNESMAMT.js +32 -0
  71. package/dist/prd-ZNC4T5BS.js +33 -0
  72. package/dist/{ps-CX7756QG.js → ps-76L6ZAZL.js} +12 -12
  73. package/dist/{recorder-RK6XZYF3.js → recorder-N7U66HCO.js} +7 -7
  74. package/dist/{registry-POSB35Q4.js → registry-XLHHYLTR.js} +5 -5
  75. package/dist/{resume-OQJZV3JH.js → resume-VLWIE264.js} +39 -38
  76. package/dist/{resume-OQJZV3JH.js.map → resume-VLWIE264.js.map} +1 -1
  77. package/dist/review-7CREJDKB.js +35 -0
  78. package/dist/routing-VCDYHSXA.js +33 -0
  79. package/dist/run-3MPORLF5.js +56 -0
  80. package/dist/{session-publisher-VVXOCJ2S.js → session-publisher-KAJQRHNZ.js} +3 -2
  81. package/dist/{state-manager-TIC73GQY.js → state-manager-UPHO2EA2.js} +4 -4
  82. package/dist/state-manager-UPHO2EA2.js.map +1 -0
  83. package/dist/{usage-WDDNSIHP.js → usage-U7QNGCPK.js} +12 -12
  84. package/dist/{web-IPGY52AK.js → web-HUNDHCJ4.js} +20 -18
  85. package/dist/{web-IPGY52AK.js.map → web-HUNDHCJ4.js.map} +1 -1
  86. package/package.json +6 -5
  87. package/web/AGENTS.md +10 -11
  88. package/web/public/app.css +38 -0
  89. package/web/public/app.js +277 -56
  90. package/dist/agent-PMWCDWOW.js +0 -30
  91. package/dist/chunk-73TS2H42.js.map +0 -1
  92. package/dist/chunk-7Z4Y3VKM.js +0 -26
  93. package/dist/chunk-7Z4Y3VKM.js.map +0 -1
  94. package/dist/chunk-AOAQU7PD.js +0 -180
  95. package/dist/chunk-AOAQU7PD.js.map +0 -1
  96. package/dist/chunk-J2LJB2OH.js.map +0 -1
  97. package/dist/chunk-OLUOZLU5.js.map +0 -1
  98. package/dist/chunk-QVLIIGBU.js.map +0 -1
  99. package/dist/chunk-QZOBR6YF.js.map +0 -1
  100. package/dist/chunk-ROIIEVZH.js.map +0 -1
  101. package/dist/chunk-X6GY3CM2.js.map +0 -1
  102. package/dist/chunk-YA6FWFYW.js.map +0 -1
  103. package/dist/execute-QYLJ5L4T.js +0 -36
  104. package/dist/init-XBERAZ4O.js +0 -24
  105. package/dist/plan-RXOW32KY.js +0 -34
  106. package/dist/pr-3WFYAVA7.js +0 -39
  107. package/dist/pr-review-RK63ZEMM.js +0 -32
  108. package/dist/prd-LRV6IW3E.js +0 -33
  109. package/dist/review-AEFISJZD.js +0 -35
  110. package/dist/routing-EA5NJGNU.js +0 -94
  111. package/dist/routing-EA5NJGNU.js.map +0 -1
  112. package/dist/run-HSC7R33Y.js +0 -55
  113. /package/dist/{agent-PMWCDWOW.js.map → agent-TB6W7PT7.js.map} +0 -0
  114. /package/dist/{analyze-556KCJKZ.js.map → analyze-6M3KEOX7.js.map} +0 -0
  115. /package/dist/{apply-WVV7G7WN.js.map → apply-ADB3ZK7W.js.map} +0 -0
  116. /package/dist/{bench-UBFGKUHR.js.map → bench-FM7I7EIV.js.map} +0 -0
  117. /package/dist/{chunk-DBEMD34J.js.map → chunk-32JSYXEK.js.map} +0 -0
  118. /package/dist/{chunk-OGVWJO4S.js.map → chunk-7F7LGMVO.js.map} +0 -0
  119. /package/dist/{chunk-OGN2NX57.js.map → chunk-ANI2NTR4.js.map} +0 -0
  120. /package/dist/{chunk-VK65RNFA.js.map → chunk-B3TSS7BT.js.map} +0 -0
  121. /package/dist/{chunk-MXCOSPLJ.js.map → chunk-DGRTJD5R.js.map} +0 -0
  122. /package/dist/{chunk-VTF4RWS5.js.map → chunk-DV7HUC4Z.js.map} +0 -0
  123. /package/dist/{chunk-OOX3RMD3.js.map → chunk-E6KXCV3T.js.map} +0 -0
  124. /package/dist/{chunk-4FUWWBTP.js.map → chunk-HLAPOUEM.js.map} +0 -0
  125. /package/dist/{chunk-KV2K7MK2.js.map → chunk-ISZ54SVE.js.map} +0 -0
  126. /package/dist/{chunk-GV2DABNZ.js.map → chunk-KZ5EY5XX.js.map} +0 -0
  127. /package/dist/{chunk-SW2MF47D.js.map → chunk-KZXQWC7U.js.map} +0 -0
  128. /package/dist/{chunk-2H43OVTU.js.map → chunk-LPWPFIIB.js.map} +0 -0
  129. /package/dist/{chunk-EPFC4LHT.js.map → chunk-MI5TREN3.js.map} +0 -0
  130. /package/dist/{chunk-R42YHLDV.js.map → chunk-PPZ3K4YM.js.map} +0 -0
  131. /package/dist/{chunk-H3EYBJZU.js.map → chunk-QMIQR7EE.js.map} +0 -0
  132. /package/dist/{chunk-FKWYD44M.js.map → chunk-QPGEFLMY.js.map} +0 -0
  133. /package/dist/{chunk-NQCR3HSU.js.map → chunk-RNFUVKC3.js.map} +0 -0
  134. /package/dist/{chunk-G5LACAXO.js.map → chunk-RYOUZ6EK.js.map} +0 -0
  135. /package/dist/{chunk-BSBJXPLC.js.map → chunk-SGTTR4XW.js.map} +0 -0
  136. /package/dist/{chunk-GVOZ6NDO.js.map → chunk-SOM4QA6C.js.map} +0 -0
  137. /package/dist/{chunk-PGN2VX4Y.js.map → chunk-UWDCIFTP.js.map} +0 -0
  138. /package/dist/{chunk-MCLPSL6B.js.map → chunk-VE3IYNDN.js.map} +0 -0
  139. /package/dist/{chunk-IAMIBZRF.js.map → chunk-WCCZJL7W.js.map} +0 -0
  140. /package/dist/{chunk-SVDEWOUD.js.map → chunk-XZUEFTUP.js.map} +0 -0
  141. /package/dist/{chunk-WLJVL25O.js.map → chunk-YUNBOUQH.js.map} +0 -0
  142. /package/dist/{chunk-WNROH2YE.js.map → chunk-YVPZUN6X.js.map} +0 -0
  143. /package/dist/{chunk-Q2TZA6AC.js.map → chunk-Z5O2XBWA.js.map} +0 -0
  144. /package/dist/{config-UE7IP36J.js.map → config-KGZUPAUP.js.map} +0 -0
  145. /package/dist/{conventions-Z3QC2NSG.js.map → conventions-RYN7OXJN.js.map} +0 -0
  146. /package/dist/{diagnostics-2Z5HFQOO.js.map → diagnostics-HTCWF7F4.js.map} +0 -0
  147. /package/dist/{execute-QYLJ5L4T.js.map → execute-QL3ZQIAP.js.map} +0 -0
  148. /package/dist/{generate-PB4L7V5N.js.map → generate-CX6KNHZS.js.map} +0 -0
  149. /package/dist/{git-7MUOGVRG.js.map → git-A2IP32PQ.js.map} +0 -0
  150. /package/dist/{init-XBERAZ4O.js.map → init-PDVQDRS6.js.map} +0 -0
  151. /package/dist/{operations-QDJAFZUN.js.map → operations-CAKIT2BO.js.map} +0 -0
  152. /package/dist/{permissions-XVXXENVP.js.map → permissions-G4XCAESF.js.map} +0 -0
  153. /package/dist/{plan-RXOW32KY.js.map → plan-PRORGS3L.js.map} +0 -0
  154. /package/dist/{policy-6WQZB6B2.js.map → policy-WX6O2JID.js.map} +0 -0
  155. /package/dist/{pr-3WFYAVA7.js.map → pr-27RMQI5F.js.map} +0 -0
  156. /package/dist/{pr-review-RK63ZEMM.js.map → pr-review-VNESMAMT.js.map} +0 -0
  157. /package/dist/{prd-LRV6IW3E.js.map → prd-ZNC4T5BS.js.map} +0 -0
  158. /package/dist/{ps-CX7756QG.js.map → ps-76L6ZAZL.js.map} +0 -0
  159. /package/dist/{recorder-RK6XZYF3.js.map → recorder-N7U66HCO.js.map} +0 -0
  160. /package/dist/{registry-POSB35Q4.js.map → registry-XLHHYLTR.js.map} +0 -0
  161. /package/dist/{review-AEFISJZD.js.map → review-7CREJDKB.js.map} +0 -0
  162. /package/dist/{run-HSC7R33Y.js.map → routing-VCDYHSXA.js.map} +0 -0
  163. /package/dist/{session-publisher-VVXOCJ2S.js.map → run-3MPORLF5.js.map} +0 -0
  164. /package/dist/{state-manager-TIC73GQY.js.map → session-publisher-KAJQRHNZ.js.map} +0 -0
  165. /package/dist/{usage-WDDNSIHP.js.map → usage-U7QNGCPK.js.map} +0 -0
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ensureWebMonitor
4
- } from "./chunk-YA6FWFYW.js";
4
+ } from "./chunk-2SUFAE6X.js";
5
5
  import {
6
6
  applyAcceptanceToPlan,
7
7
  resolveIssueDir,
8
8
  runAcceptanceGate
9
- } from "./chunk-QZOBR6YF.js";
9
+ } from "./chunk-6YQT3SSM.js";
10
10
  import {
11
11
  groupBy,
12
12
  summarize
@@ -18,21 +18,21 @@ import {
18
18
  publishIterationMetrics,
19
19
  publishStoryMetrics,
20
20
  resolvePolicyPlaceholders
21
- } from "./chunk-4FUWWBTP.js";
21
+ } from "./chunk-HLAPOUEM.js";
22
22
  import {
23
23
  applyPlaceholders,
24
24
  loadPrompt
25
- } from "./chunk-OGVWJO4S.js";
25
+ } from "./chunk-7F7LGMVO.js";
26
26
  import {
27
27
  invokeSelectedAgent
28
- } from "./chunk-73TS2H42.js";
28
+ } from "./chunk-UK4E2FUA.js";
29
29
  import {
30
30
  getPackageVersion
31
31
  } from "./chunk-C5TL7T4V.js";
32
32
  import {
33
33
  archiveFolderName,
34
34
  commitMessage
35
- } from "./chunk-OOX3RMD3.js";
35
+ } from "./chunk-E6KXCV3T.js";
36
36
  import {
37
37
  createConfig,
38
38
  getActiveResilienceConfig,
@@ -42,10 +42,10 @@ import {
42
42
  resolveAgentFor,
43
43
  resolvePaths,
44
44
  validateDependencies
45
- } from "./chunk-J2LJB2OH.js";
45
+ } from "./chunk-HY5HLFDU.js";
46
46
  import {
47
47
  resolveIssuePaths
48
- } from "./chunk-VTF4RWS5.js";
48
+ } from "./chunk-DV7HUC4Z.js";
49
49
  import {
50
50
  formatDuration,
51
51
  getIcons,
@@ -62,13 +62,7 @@ import {
62
62
  printWarning,
63
63
  useColor,
64
64
  useUnicode
65
- } from "./chunk-SVDEWOUD.js";
66
- import {
67
- FilePublisher,
68
- NullPublisher,
69
- getSessionPublisher,
70
- setSessionPublisher
71
- } from "./chunk-ROIIEVZH.js";
65
+ } from "./chunk-XZUEFTUP.js";
72
66
  import {
73
67
  committedStoryIds,
74
68
  fixedBackoffPolicy,
@@ -76,7 +70,13 @@ import {
76
70
  isWorkingTreeClean,
77
71
  resolvePolicy,
78
72
  withRetry
79
- } from "./chunk-WNROH2YE.js";
73
+ } from "./chunk-YVPZUN6X.js";
74
+ import {
75
+ FilePublisher,
76
+ NullPublisher,
77
+ getSessionPublisher,
78
+ setSessionPublisher
79
+ } from "./chunk-DUS5ZNKL.js";
80
80
  import {
81
81
  allStoriesPass,
82
82
  applyStoryMetrics,
@@ -93,7 +93,7 @@ import {
93
93
  selectActiveStory,
94
94
  setLastError,
95
95
  trimErrorMessage
96
- } from "./chunk-GVOZ6NDO.js";
96
+ } from "./chunk-SOM4QA6C.js";
97
97
  import {
98
98
  classify
99
99
  } from "./chunk-XEYH6ZZI.js";
@@ -1014,9 +1014,9 @@ async function runExecute(positionalMaxIter, options) {
1014
1014
  }
1015
1015
 
1016
1016
  export {
1017
- stripMarkdown,
1018
1017
  printQueueSummary,
1019
1018
  printRunSummary,
1019
+ stripMarkdown,
1020
1020
  runExecute
1021
1021
  };
1022
- //# sourceMappingURL=chunk-SW2MF47D.js.map
1022
+ //# sourceMappingURL=chunk-KZXQWC7U.js.map
@@ -1,46 +1,46 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  listPullRequests
4
- } from "./chunk-WLJVL25O.js";
4
+ } from "./chunk-YUNBOUQH.js";
5
5
  import {
6
6
  isTransientFailure,
7
7
  runPhaseWithRetry
8
- } from "./chunk-DBEMD34J.js";
8
+ } from "./chunk-32JSYXEK.js";
9
9
  import {
10
10
  issuePlaceholders,
11
11
  resolveCommandIssue
12
- } from "./chunk-MCLPSL6B.js";
12
+ } from "./chunk-VE3IYNDN.js";
13
13
  import {
14
14
  publishPhaseMetrics,
15
15
  resolvePolicyPlaceholders
16
- } from "./chunk-4FUWWBTP.js";
16
+ } from "./chunk-HLAPOUEM.js";
17
17
  import {
18
18
  applyPlaceholders,
19
19
  loadPrompt
20
- } from "./chunk-OGVWJO4S.js";
20
+ } from "./chunk-7F7LGMVO.js";
21
21
  import {
22
22
  DEFAULT_HEADLESS_TIMEOUT_MS,
23
23
  runHeadless
24
- } from "./chunk-73TS2H42.js";
24
+ } from "./chunk-UK4E2FUA.js";
25
25
  import {
26
26
  issueReferenceLines,
27
27
  loadRepositoryPolicy,
28
28
  pullRequestTitle,
29
29
  resolveChangeType
30
- } from "./chunk-OOX3RMD3.js";
30
+ } from "./chunk-E6KXCV3T.js";
31
31
  import {
32
32
  resolveIssuePaths
33
- } from "./chunk-VTF4RWS5.js";
33
+ } from "./chunk-DV7HUC4Z.js";
34
34
  import {
35
35
  getGlobalTimeout,
36
36
  printError,
37
37
  printSuccess
38
- } from "./chunk-SVDEWOUD.js";
38
+ } from "./chunk-XZUEFTUP.js";
39
39
  import {
40
40
  isoNow,
41
41
  loadTaskPlan,
42
42
  saveTaskPlan
43
- } from "./chunk-GVOZ6NDO.js";
43
+ } from "./chunk-SOM4QA6C.js";
44
44
 
45
45
  // src/commands/pr.ts
46
46
  import { execa } from "execa";
@@ -280,4 +280,4 @@ export {
280
280
  multiIssueContext,
281
281
  runPr
282
282
  };
283
- //# sourceMappingURL=chunk-2H43OVTU.js.map
283
+ //# sourceMappingURL=chunk-LPWPFIIB.js.map
@@ -3,36 +3,36 @@ import {
3
3
  applyAcceptanceToPlan,
4
4
  formatVerificationLine,
5
5
  runAcceptanceGate
6
- } from "./chunk-QZOBR6YF.js";
6
+ } from "./chunk-6YQT3SSM.js";
7
7
  import {
8
8
  issuePlaceholders,
9
9
  resolveCommandIssue
10
- } from "./chunk-MCLPSL6B.js";
10
+ } from "./chunk-VE3IYNDN.js";
11
11
  import {
12
12
  publishPhaseMetrics,
13
13
  resolvePolicyPlaceholders
14
- } from "./chunk-4FUWWBTP.js";
14
+ } from "./chunk-HLAPOUEM.js";
15
15
  import {
16
16
  applyPlaceholders,
17
17
  loadPrompt
18
- } from "./chunk-OGVWJO4S.js";
18
+ } from "./chunk-7F7LGMVO.js";
19
19
  import {
20
20
  DEFAULT_HEADLESS_TIMEOUT_MS,
21
21
  runHeadless
22
- } from "./chunk-73TS2H42.js";
22
+ } from "./chunk-UK4E2FUA.js";
23
23
  import {
24
24
  resolveIssuePaths
25
- } from "./chunk-VTF4RWS5.js";
25
+ } from "./chunk-DV7HUC4Z.js";
26
26
  import {
27
27
  getGlobalTimeout,
28
28
  printError,
29
29
  printSuccess,
30
30
  printWarning
31
- } from "./chunk-SVDEWOUD.js";
31
+ } from "./chunk-XZUEFTUP.js";
32
32
  import {
33
33
  loadTaskPlan,
34
34
  saveTaskPlan
35
- } from "./chunk-GVOZ6NDO.js";
35
+ } from "./chunk-SOM4QA6C.js";
36
36
 
37
37
  // src/commands/review.ts
38
38
  function parseReviewResult(output) {
@@ -163,4 +163,4 @@ async function runReview(issue, resolvedIssue) {
163
163
  export {
164
164
  runReview
165
165
  };
166
- //# sourceMappingURL=chunk-EPFC4LHT.js.map
166
+ //# sourceMappingURL=chunk-MI5TREN3.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  trimErrorMessage
4
- } from "./chunk-GVOZ6NDO.js";
4
+ } from "./chunk-SOM4QA6C.js";
5
5
 
6
6
  // src/telemetry/redact.ts
7
7
  var SECRET = /(?:sk-ant-|sk-|ghp_|gho_|github_pat_|xox[baprs]-)[A-Za-z0-9_-]{8,}/g;
@@ -22,4 +22,4 @@ export {
22
22
  redactSecrets,
23
23
  redactFailureMessage
24
24
  };
25
- //# sourceMappingURL=chunk-R42YHLDV.js.map
25
+ //# sourceMappingURL=chunk-PPZ3K4YM.js.map
@@ -8,35 +8,35 @@ import {
8
8
  import {
9
9
  getActiveResilienceConfig,
10
10
  loadIssuesConfig
11
- } from "./chunk-J2LJB2OH.js";
11
+ } from "./chunk-HY5HLFDU.js";
12
12
  import {
13
13
  resolveIssuePaths,
14
14
  resolveProjectPaths
15
- } from "./chunk-VTF4RWS5.js";
15
+ } from "./chunk-DV7HUC4Z.js";
16
16
  import {
17
17
  printInfo,
18
18
  printWarning
19
- } from "./chunk-SVDEWOUD.js";
19
+ } from "./chunk-XZUEFTUP.js";
20
20
  import {
21
21
  getProjectRoot,
22
22
  resolvePolicy,
23
23
  run
24
- } from "./chunk-WNROH2YE.js";
24
+ } from "./chunk-YVPZUN6X.js";
25
25
  import {
26
26
  isoNow
27
- } from "./chunk-GVOZ6NDO.js";
27
+ } from "./chunk-SOM4QA6C.js";
28
28
  import {
29
29
  issueMetadataSchema
30
- } from "./chunk-QVLIIGBU.js";
31
- import {
32
- writeFileAtomic
33
- } from "./chunk-7Z4Y3VKM.js";
30
+ } from "./chunk-ICM463EO.js";
34
31
  import {
35
32
  ClassifiedError,
36
33
  actionOf,
37
34
  failureOf,
38
35
  requiresHumanAction
39
36
  } from "./chunk-XEYH6ZZI.js";
37
+ import {
38
+ writeFileAtomic
39
+ } from "./chunk-3R27MJ5R.js";
40
40
 
41
41
  // src/issues/registry.ts
42
42
  var providers = /* @__PURE__ */ new Map();
@@ -943,4 +943,4 @@ export {
943
943
  IssueResolutionError,
944
944
  resolveIssue
945
945
  };
946
- //# sourceMappingURL=chunk-H3EYBJZU.js.map
946
+ //# sourceMappingURL=chunk-QMIQR7EE.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-HAKDLR6N.js";
5
5
  import {
6
6
  redactSecrets
7
- } from "./chunk-R42YHLDV.js";
7
+ } from "./chunk-PPZ3K4YM.js";
8
8
 
9
9
  // src/storage/diagnostics.ts
10
10
  import { appendFile, mkdir, readdir, readFile, rename, stat, unlink } from "fs/promises";
@@ -160,4 +160,4 @@ export {
160
160
  resetDiagnosticsState,
161
161
  readDiagnostics
162
162
  };
163
- //# sourceMappingURL=chunk-FKWYD44M.js.map
163
+ //# sourceMappingURL=chunk-QPGEFLMY.js.map
@@ -0,0 +1,196 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ MODEL_CATALOG_VERSION,
4
+ PRIORS_VERSION,
5
+ RECOMMENDED_POLICY_VERSION,
6
+ decideRouting
7
+ } from "./chunk-D6ZBGJ3L.js";
8
+ import {
9
+ GLOBAL_CONFIG_FILENAME,
10
+ loadRoutingConfig
11
+ } from "./chunk-HY5HLFDU.js";
12
+ import {
13
+ resolveIssuePaths
14
+ } from "./chunk-DV7HUC4Z.js";
15
+ import {
16
+ printError,
17
+ printInfo,
18
+ printSuccess
19
+ } from "./chunk-XZUEFTUP.js";
20
+ import {
21
+ getGlobalRoot
22
+ } from "./chunk-HAKDLR6N.js";
23
+ import {
24
+ getProjectRoot
25
+ } from "./chunk-YVPZUN6X.js";
26
+ import {
27
+ loadTaskPlan
28
+ } from "./chunk-SOM4QA6C.js";
29
+ import {
30
+ AGENT_PHASES,
31
+ routingConfigInputSchema
32
+ } from "./chunk-ICM463EO.js";
33
+ import {
34
+ writeFileAtomic
35
+ } from "./chunk-3R27MJ5R.js";
36
+
37
+ // src/commands/routing.ts
38
+ import { mkdir, readFile } from "fs/promises";
39
+ import { dirname, join } from "path";
40
+ var ROUTING_COMMAND_SCHEMA_VERSION = 1;
41
+ function targetLabel(target) {
42
+ if (target === void 0) return "\u2014";
43
+ if (typeof target === "string") return target;
44
+ const tier = target.tier ? `:${target.tier}` : "";
45
+ const model = target.model ? ` \xB7 ${target.model}` : "";
46
+ return `${target.provider}${tier}${model}`;
47
+ }
48
+ function targetKey(target) {
49
+ if (target === void 0) return "\u2014";
50
+ if (typeof target === "string") return target;
51
+ return `${target.harness}:${target.provider}:${target.model ?? ""}`;
52
+ }
53
+ async function runRoutingInspect(options) {
54
+ const config = await loadRoutingConfig();
55
+ const sample = decideRouting({
56
+ phase: "execute",
57
+ actualHarness: "claude-code",
58
+ mode: config.mode,
59
+ profile: config.profile
60
+ });
61
+ if (options.json === true) {
62
+ console.log(
63
+ JSON.stringify(
64
+ {
65
+ schemaVersion: ROUTING_COMMAND_SCHEMA_VERSION,
66
+ priorsVersion: PRIORS_VERSION,
67
+ modelCatalogVersion: MODEL_CATALOG_VERSION,
68
+ recommendedPolicyVersion: RECOMMENDED_POLICY_VERSION,
69
+ config,
70
+ sample
71
+ },
72
+ null,
73
+ 2
74
+ )
75
+ );
76
+ return 0;
77
+ }
78
+ printInfo(`routing.mode: ${config.mode} (default shadow \u2014 records, does not act)`);
79
+ printInfo(`routing.profile: ${config.profile}`);
80
+ if (sample) {
81
+ printInfo(
82
+ `sample selected=${targetLabel(sample.selected)} actual=${targetLabel(sample.actual)} class=${sample.taskClass}`
83
+ );
84
+ }
85
+ return 0;
86
+ }
87
+ async function runRoutingReport(options) {
88
+ if (options.issue === void 0) {
89
+ printInfo("Pass --issue N to compare selected vs actual on that plan.");
90
+ return 0;
91
+ }
92
+ const paths = await resolveIssuePaths(options.issue);
93
+ const plan = await loadTaskPlan(paths.tasksFile);
94
+ const records = plan.executions ?? [];
95
+ let agree = 0;
96
+ let total = 0;
97
+ for (const record of records) {
98
+ const decision = record.routingDecision;
99
+ if (decision === void 0 || decision === null) continue;
100
+ total += 1;
101
+ if (targetKey(decision.selected) === targetKey(decision.actual)) agree += 1;
102
+ }
103
+ const rate = total === 0 ? 0 : agree / total;
104
+ if (options.json === true) {
105
+ console.log(
106
+ JSON.stringify({ schemaVersion: ROUTING_COMMAND_SCHEMA_VERSION, total, agree, rate })
107
+ );
108
+ return 0;
109
+ }
110
+ printInfo(`shadow agreement: ${agree}/${total} (${(rate * 100).toFixed(0)}%)`);
111
+ return 0;
112
+ }
113
+ async function runRoutingExplain(options = {}) {
114
+ const config = await loadRoutingConfig();
115
+ const phases = AGENT_PHASES.map((phase) => {
116
+ const decision = decideRouting({
117
+ phase,
118
+ actualHarness: "claude-code",
119
+ actualProvider: "claude",
120
+ mode: config.mode === "off" ? "shadow" : config.mode,
121
+ profile: config.profile,
122
+ policy: config.policy
123
+ });
124
+ return {
125
+ phase,
126
+ target: decision?.selected ?? null,
127
+ origin: config.policy === "recommended" ? "recommended policy" : "adaptive score"
128
+ };
129
+ });
130
+ if (options.json === true) {
131
+ console.log(
132
+ JSON.stringify({ schemaVersion: ROUTING_COMMAND_SCHEMA_VERSION, config, phases }, null, 2)
133
+ );
134
+ return 0;
135
+ }
136
+ printInfo(`routing policy: ${config.policy ?? "adaptive"} (${config.mode})`);
137
+ for (const phase of phases) {
138
+ printInfo(
139
+ `${phase.phase.padEnd(12)} ${targetLabel(phase.target ?? void 0)} (${phase.origin})`
140
+ );
141
+ }
142
+ return 0;
143
+ }
144
+ async function writeRoutingPreference(input) {
145
+ const parsed = routingConfigInputSchema.safeParse(input.values);
146
+ if (!parsed.success || Object.keys(parsed.data).length === 0) {
147
+ throw new Error(
148
+ parsed.success ? "At least one routing setting is required." : `Invalid routing setting: ${parsed.error.issues[0]?.message ?? "invalid value"}.`
149
+ );
150
+ }
151
+ const path = input.target === "global" ? join(getGlobalRoot(), GLOBAL_CONFIG_FILENAME) : join(input.projectRoot ?? await getProjectRoot(), ".issue-flow.json");
152
+ let existing = {};
153
+ try {
154
+ const value = JSON.parse(await readFile(path, "utf-8"));
155
+ if (value !== null && typeof value === "object" && !Array.isArray(value)) {
156
+ existing = value;
157
+ }
158
+ } catch (error) {
159
+ if (error.code !== "ENOENT") {
160
+ throw new Error(`Could not read ${path}: ${error.message}`);
161
+ }
162
+ }
163
+ const current = existing.routing !== null && typeof existing.routing === "object" && !Array.isArray(existing.routing) ? existing.routing : {};
164
+ existing.routing = { ...current, ...parsed.data };
165
+ await mkdir(dirname(path), { recursive: true });
166
+ await writeFileAtomic(path, `${JSON.stringify(existing, null, 2)}
167
+ `);
168
+ return path;
169
+ }
170
+ async function runRoutingUse(policy, options = {}) {
171
+ if (policy !== "recommended") {
172
+ printError(`Unknown routing policy '${policy}'. Valid policy: recommended.`);
173
+ return 1;
174
+ }
175
+ try {
176
+ const file = await writeRoutingPreference({
177
+ target: options.project === true ? "project" : "global",
178
+ values: { policy: "recommended" }
179
+ });
180
+ printSuccess(`Wrote recommended routing policy to ${file}`);
181
+ return 0;
182
+ } catch (error) {
183
+ printError(error instanceof Error ? error.message : String(error));
184
+ return 1;
185
+ }
186
+ }
187
+
188
+ export {
189
+ ROUTING_COMMAND_SCHEMA_VERSION,
190
+ runRoutingInspect,
191
+ runRoutingReport,
192
+ runRoutingExplain,
193
+ writeRoutingPreference,
194
+ runRoutingUse
195
+ };
196
+ //# sourceMappingURL=chunk-RCZJQUTC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/routing.ts"],"sourcesContent":["import { mkdir, readFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport { AGENT_PHASES } from '../agents/types.js';\nimport { GLOBAL_CONFIG_FILENAME, loadRoutingConfig } from '../config.js';\nimport { loadTaskPlan } from '../core/state-manager.js';\nimport { decideRouting } from '../routing/decide.js';\nimport { MODEL_CATALOG_VERSION } from '../routing/models.js';\nimport { RECOMMENDED_POLICY_VERSION } from '../routing/policy.js';\nimport { PRIORS_VERSION } from '../routing/priors.js';\nimport { type RoutingConfigInput, routingConfigInputSchema } from '../schemas.js';\nimport { getGlobalRoot } from '../storage/paths.js';\nimport { resolveIssuePaths } from '../storage/resolve.js';\nimport { printError, printInfo, printSuccess } from '../ui/logger.js';\nimport { writeFileAtomic } from '../utils/fs.js';\nimport { getProjectRoot } from '../utils/git.js';\n\nexport const ROUTING_COMMAND_SCHEMA_VERSION = 1;\n\nfunction targetLabel(\n target:\n | { harness: string; provider: string; model?: string | null; tier?: string }\n | string\n | undefined,\n): string {\n if (target === undefined) return '—';\n if (typeof target === 'string') return target;\n const tier = target.tier ? `:${target.tier}` : '';\n const model = target.model ? ` · ${target.model}` : '';\n return `${target.provider}${tier}${model}`;\n}\n\nfunction targetKey(\n target:\n | { harness: string; provider: string; model?: string | null; tier?: string }\n | string\n | undefined,\n): string {\n if (target === undefined) return '—';\n if (typeof target === 'string') return target;\n return `${target.harness}:${target.provider}:${target.model ?? ''}`;\n}\n\nexport async function runRoutingInspect(options: { json?: boolean }): Promise<number> {\n const config = await loadRoutingConfig();\n const sample = decideRouting({\n phase: 'execute',\n actualHarness: 'claude-code',\n mode: config.mode,\n profile: config.profile,\n });\n if (options.json === true) {\n console.log(\n JSON.stringify(\n {\n schemaVersion: ROUTING_COMMAND_SCHEMA_VERSION,\n priorsVersion: PRIORS_VERSION,\n modelCatalogVersion: MODEL_CATALOG_VERSION,\n recommendedPolicyVersion: RECOMMENDED_POLICY_VERSION,\n config,\n sample,\n },\n null,\n 2,\n ),\n );\n return 0;\n }\n printInfo(`routing.mode: ${config.mode} (default shadow — records, does not act)`);\n printInfo(`routing.profile: ${config.profile}`);\n if (sample) {\n printInfo(\n `sample selected=${targetLabel(sample.selected)} actual=${targetLabel(sample.actual)} class=${sample.taskClass}`,\n );\n }\n return 0;\n}\n\nexport async function runRoutingReport(options: {\n issue?: string;\n json?: boolean;\n}): Promise<number> {\n if (options.issue === undefined) {\n printInfo('Pass --issue N to compare selected vs actual on that plan.');\n return 0;\n }\n const paths = await resolveIssuePaths(options.issue);\n const plan = await loadTaskPlan(paths.tasksFile);\n const records = plan.executions ?? [];\n let agree = 0;\n let total = 0;\n for (const record of records) {\n const decision = record.routingDecision;\n if (decision === undefined || decision === null) continue;\n total += 1;\n if (targetKey(decision.selected) === targetKey(decision.actual)) agree += 1;\n }\n const rate = total === 0 ? 0 : agree / total;\n if (options.json === true) {\n console.log(\n JSON.stringify({ schemaVersion: ROUTING_COMMAND_SCHEMA_VERSION, total, agree, rate }),\n );\n return 0;\n }\n printInfo(`shadow agreement: ${agree}/${total} (${(rate * 100).toFixed(0)}%)`);\n return 0;\n}\n\nexport async function runRoutingExplain(options: { json?: boolean } = {}): Promise<number> {\n const config = await loadRoutingConfig();\n const phases = AGENT_PHASES.map((phase) => {\n const decision = decideRouting({\n phase,\n actualHarness: 'claude-code',\n actualProvider: 'claude',\n mode: config.mode === 'off' ? 'shadow' : config.mode,\n profile: config.profile,\n policy: config.policy,\n });\n return {\n phase,\n target: decision?.selected ?? null,\n origin: config.policy === 'recommended' ? 'recommended policy' : 'adaptive score',\n };\n });\n if (options.json === true) {\n console.log(\n JSON.stringify({ schemaVersion: ROUTING_COMMAND_SCHEMA_VERSION, config, phases }, null, 2),\n );\n return 0;\n }\n printInfo(`routing policy: ${config.policy ?? 'adaptive'} (${config.mode})`);\n for (const phase of phases) {\n printInfo(\n `${phase.phase.padEnd(12)} ${targetLabel(phase.target ?? undefined)} (${phase.origin})`,\n );\n }\n return 0;\n}\n\nexport async function writeRoutingPreference(input: {\n target: 'global' | 'project';\n values: RoutingConfigInput;\n projectRoot?: string;\n}): Promise<string> {\n const parsed = routingConfigInputSchema.safeParse(input.values);\n if (!parsed.success || Object.keys(parsed.data).length === 0) {\n throw new Error(\n parsed.success\n ? 'At least one routing setting is required.'\n : `Invalid routing setting: ${parsed.error.issues[0]?.message ?? 'invalid value'}.`,\n );\n }\n const path =\n input.target === 'global'\n ? join(getGlobalRoot(), GLOBAL_CONFIG_FILENAME)\n : join(input.projectRoot ?? (await getProjectRoot()), '.issue-flow.json');\n let existing: Record<string, unknown> = {};\n try {\n const value: unknown = JSON.parse(await readFile(path, 'utf-8'));\n if (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n existing = value as Record<string, unknown>;\n }\n } catch (error: unknown) {\n if ((error as NodeJS.ErrnoException).code !== 'ENOENT') {\n throw new Error(`Could not read ${path}: ${(error as Error).message}`);\n }\n }\n const current =\n existing.routing !== null &&\n typeof existing.routing === 'object' &&\n !Array.isArray(existing.routing)\n ? (existing.routing as Record<string, unknown>)\n : {};\n existing.routing = { ...current, ...parsed.data };\n await mkdir(dirname(path), { recursive: true });\n await writeFileAtomic(path, `${JSON.stringify(existing, null, 2)}\\n`);\n return path;\n}\n\nexport async function runRoutingUse(\n policy: string,\n options: { global?: boolean; project?: boolean } = {},\n): Promise<number> {\n if (policy !== 'recommended') {\n printError(`Unknown routing policy '${policy}'. Valid policy: recommended.`);\n return 1;\n }\n try {\n const file = await writeRoutingPreference({\n target: options.project === true ? 'project' : 'global',\n values: { policy: 'recommended' },\n });\n printSuccess(`Wrote recommended routing policy to ${file}`);\n return 0;\n } catch (error) {\n printError(error instanceof Error ? error.message : String(error));\n return 1;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,OAAO,gBAAgB;AAChC,SAAS,SAAS,YAAY;AAevB,IAAM,iCAAiC;AAE9C,SAAS,YACP,QAIQ;AACR,MAAI,WAAW,OAAW,QAAO;AACjC,MAAI,OAAO,WAAW,SAAU,QAAO;AACvC,QAAM,OAAO,OAAO,OAAO,IAAI,OAAO,IAAI,KAAK;AAC/C,QAAM,QAAQ,OAAO,QAAQ,SAAM,OAAO,KAAK,KAAK;AACpD,SAAO,GAAG,OAAO,QAAQ,GAAG,IAAI,GAAG,KAAK;AAC1C;AAEA,SAAS,UACP,QAIQ;AACR,MAAI,WAAW,OAAW,QAAO;AACjC,MAAI,OAAO,WAAW,SAAU,QAAO;AACvC,SAAO,GAAG,OAAO,OAAO,IAAI,OAAO,QAAQ,IAAI,OAAO,SAAS,EAAE;AACnE;AAEA,eAAsB,kBAAkB,SAA8C;AACpF,QAAM,SAAS,MAAM,kBAAkB;AACvC,QAAM,SAAS,cAAc;AAAA,IAC3B,OAAO;AAAA,IACP,eAAe;AAAA,IACf,MAAM,OAAO;AAAA,IACb,SAAS,OAAO;AAAA,EAClB,CAAC;AACD,MAAI,QAAQ,SAAS,MAAM;AACzB,YAAQ;AAAA,MACN,KAAK;AAAA,QACH;AAAA,UACE,eAAe;AAAA,UACf,eAAe;AAAA,UACf,qBAAqB;AAAA,UACrB,0BAA0B;AAAA,UAC1B;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,YAAU,iBAAiB,OAAO,IAAI,gDAA2C;AACjF,YAAU,oBAAoB,OAAO,OAAO,EAAE;AAC9C,MAAI,QAAQ;AACV;AAAA,MACE,mBAAmB,YAAY,OAAO,QAAQ,CAAC,WAAW,YAAY,OAAO,MAAM,CAAC,UAAU,OAAO,SAAS;AAAA,IAChH;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,iBAAiB,SAGnB;AAClB,MAAI,QAAQ,UAAU,QAAW;AAC/B,cAAU,4DAA4D;AACtE,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,MAAM,kBAAkB,QAAQ,KAAK;AACnD,QAAM,OAAO,MAAM,aAAa,MAAM,SAAS;AAC/C,QAAM,UAAU,KAAK,cAAc,CAAC;AACpC,MAAI,QAAQ;AACZ,MAAI,QAAQ;AACZ,aAAW,UAAU,SAAS;AAC5B,UAAM,WAAW,OAAO;AACxB,QAAI,aAAa,UAAa,aAAa,KAAM;AACjD,aAAS;AACT,QAAI,UAAU,SAAS,QAAQ,MAAM,UAAU,SAAS,MAAM,EAAG,UAAS;AAAA,EAC5E;AACA,QAAM,OAAO,UAAU,IAAI,IAAI,QAAQ;AACvC,MAAI,QAAQ,SAAS,MAAM;AACzB,YAAQ;AAAA,MACN,KAAK,UAAU,EAAE,eAAe,gCAAgC,OAAO,OAAO,KAAK,CAAC;AAAA,IACtF;AACA,WAAO;AAAA,EACT;AACA,YAAU,qBAAqB,KAAK,IAAI,KAAK,MAAM,OAAO,KAAK,QAAQ,CAAC,CAAC,IAAI;AAC7E,SAAO;AACT;AAEA,eAAsB,kBAAkB,UAA8B,CAAC,GAAoB;AACzF,QAAM,SAAS,MAAM,kBAAkB;AACvC,QAAM,SAAS,aAAa,IAAI,CAAC,UAAU;AACzC,UAAM,WAAW,cAAc;AAAA,MAC7B;AAAA,MACA,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,MAAM,OAAO,SAAS,QAAQ,WAAW,OAAO;AAAA,MAChD,SAAS,OAAO;AAAA,MAChB,QAAQ,OAAO;AAAA,IACjB,CAAC;AACD,WAAO;AAAA,MACL;AAAA,MACA,QAAQ,UAAU,YAAY;AAAA,MAC9B,QAAQ,OAAO,WAAW,gBAAgB,uBAAuB;AAAA,IACnE;AAAA,EACF,CAAC;AACD,MAAI,QAAQ,SAAS,MAAM;AACzB,YAAQ;AAAA,MACN,KAAK,UAAU,EAAE,eAAe,gCAAgC,QAAQ,OAAO,GAAG,MAAM,CAAC;AAAA,IAC3F;AACA,WAAO;AAAA,EACT;AACA,YAAU,mBAAmB,OAAO,UAAU,UAAU,KAAK,OAAO,IAAI,GAAG;AAC3E,aAAW,SAAS,QAAQ;AAC1B;AAAA,MACE,GAAG,MAAM,MAAM,OAAO,EAAE,CAAC,IAAI,YAAY,MAAM,UAAU,MAAS,CAAC,KAAK,MAAM,MAAM;AAAA,IACtF;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,uBAAuB,OAIzB;AAClB,QAAM,SAAS,yBAAyB,UAAU,MAAM,MAAM;AAC9D,MAAI,CAAC,OAAO,WAAW,OAAO,KAAK,OAAO,IAAI,EAAE,WAAW,GAAG;AAC5D,UAAM,IAAI;AAAA,MACR,OAAO,UACH,8CACA,4BAA4B,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW,eAAe;AAAA,IACpF;AAAA,EACF;AACA,QAAM,OACJ,MAAM,WAAW,WACb,KAAK,cAAc,GAAG,sBAAsB,IAC5C,KAAK,MAAM,eAAgB,MAAM,eAAe,GAAI,kBAAkB;AAC5E,MAAI,WAAoC,CAAC;AACzC,MAAI;AACF,UAAM,QAAiB,KAAK,MAAM,MAAM,SAAS,MAAM,OAAO,CAAC;AAC/D,QAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,GAAG;AACxE,iBAAW;AAAA,IACb;AAAA,EACF,SAAS,OAAgB;AACvB,QAAK,MAAgC,SAAS,UAAU;AACtD,YAAM,IAAI,MAAM,kBAAkB,IAAI,KAAM,MAAgB,OAAO,EAAE;AAAA,IACvE;AAAA,EACF;AACA,QAAM,UACJ,SAAS,YAAY,QACrB,OAAO,SAAS,YAAY,YAC5B,CAAC,MAAM,QAAQ,SAAS,OAAO,IAC1B,SAAS,UACV,CAAC;AACP,WAAS,UAAU,EAAE,GAAG,SAAS,GAAG,OAAO,KAAK;AAChD,QAAM,MAAM,QAAQ,IAAI,GAAG,EAAE,WAAW,KAAK,CAAC;AAC9C,QAAM,gBAAgB,MAAM,GAAG,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,CAAI;AACpE,SAAO;AACT;AAEA,eAAsB,cACpB,QACA,UAAmD,CAAC,GACnC;AACjB,MAAI,WAAW,eAAe;AAC5B,eAAW,2BAA2B,MAAM,+BAA+B;AAC3E,WAAO;AAAA,EACT;AACA,MAAI;AACF,UAAM,OAAO,MAAM,uBAAuB;AAAA,MACxC,QAAQ,QAAQ,YAAY,OAAO,YAAY;AAAA,MAC/C,QAAQ,EAAE,QAAQ,cAAc;AAAA,IAClC,CAAC;AACD,iBAAa,uCAAuC,IAAI,EAAE;AAC1D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,eAAW,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AACjE,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readSessionFile
4
- } from "./chunk-G5LACAXO.js";
4
+ } from "./chunk-RYOUZ6EK.js";
5
5
  import {
6
6
  PROJECTS_DIR_NAME,
7
7
  RUN_LOCK_FILENAME,
@@ -12,7 +12,7 @@ import {
12
12
  isProcessAlive,
13
13
  isRunLockStale,
14
14
  readRunLock
15
- } from "./chunk-QVLIIGBU.js";
15
+ } from "./chunk-ICM463EO.js";
16
16
 
17
17
  // src/execution/registry.ts
18
18
  import { readdir } from "fs/promises";
@@ -69,4 +69,4 @@ export {
69
69
  classifyRunLock,
70
70
  listLiveRuns
71
71
  };
72
- //# sourceMappingURL=chunk-NQCR3HSU.js.map
72
+ //# sourceMappingURL=chunk-RNFUVKC3.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  sessionSnapshotSchema
4
- } from "./chunk-QVLIIGBU.js";
4
+ } from "./chunk-ICM463EO.js";
5
5
 
6
6
  // src/storage/session-file.ts
7
7
  import { readFile, stat as statFile } from "fs/promises";
@@ -27,4 +27,4 @@ async function readSessionFile(filePath) {
27
27
  export {
28
28
  readSessionFile
29
29
  };
30
- //# sourceMappingURL=chunk-G5LACAXO.js.map
30
+ //# sourceMappingURL=chunk-RYOUZ6EK.js.map
@@ -5,32 +5,32 @@ import {
5
5
  import {
6
6
  DEFAULT_HEADLESS_TIMEOUT_MS,
7
7
  runHeadless
8
- } from "./chunk-73TS2H42.js";
8
+ } from "./chunk-UK4E2FUA.js";
9
9
  import {
10
10
  getRegisteredProviders,
11
11
  loadVerifyConfig,
12
12
  probeAgent,
13
13
  resolveAgentFor
14
- } from "./chunk-J2LJB2OH.js";
15
- import {
16
- getSessionPublisher
17
- } from "./chunk-ROIIEVZH.js";
14
+ } from "./chunk-HY5HLFDU.js";
18
15
  import {
19
16
  VERIFY_FILENAME
20
17
  } from "./chunk-HAKDLR6N.js";
21
18
  import {
22
19
  getProjectRoot,
23
20
  run
24
- } from "./chunk-WNROH2YE.js";
21
+ } from "./chunk-YVPZUN6X.js";
22
+ import {
23
+ getSessionPublisher
24
+ } from "./chunk-DUS5ZNKL.js";
25
25
  import {
26
26
  attachVerdict
27
- } from "./chunk-GPLP7EPL.js";
27
+ } from "./chunk-YII4U7ZD.js";
28
28
  import {
29
29
  redactSecrets
30
- } from "./chunk-R42YHLDV.js";
30
+ } from "./chunk-PPZ3K4YM.js";
31
31
  import {
32
32
  isoNow
33
- } from "./chunk-GVOZ6NDO.js";
33
+ } from "./chunk-SOM4QA6C.js";
34
34
 
35
35
  // src/verify/run-issue.ts
36
36
  import { join } from "path";
@@ -412,4 +412,4 @@ async function runAcceptance(options) {
412
412
  export {
413
413
  runAcceptance
414
414
  };
415
- //# sourceMappingURL=chunk-BSBJXPLC.js.map
415
+ //# sourceMappingURL=chunk-SGTTR4XW.js.map
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  isProcessAlive,
4
4
  taskPlanSchema
5
- } from "./chunk-QVLIIGBU.js";
5
+ } from "./chunk-ICM463EO.js";
6
6
  import {
7
7
  writeFileAtomic
8
- } from "./chunk-7Z4Y3VKM.js";
8
+ } from "./chunk-3R27MJ5R.js";
9
9
 
10
10
  // src/core/state-manager.ts
11
11
  import { readFile } from "fs/promises";
@@ -295,4 +295,4 @@ export {
295
295
  clearLastError,
296
296
  trimErrorMessage
297
297
  };
298
- //# sourceMappingURL=chunk-GVOZ6NDO.js.map
298
+ //# sourceMappingURL=chunk-SOM4QA6C.js.map