issue-flow 0.17.0 → 0.19.1
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.
- package/README.md +34 -100
- package/dist/agent-EWKA7357.js +32 -0
- package/dist/{analyze-6M3KEOX7.js → analyze-Z7ODC27F.js} +42 -41
- package/dist/analyze-Z7ODC27F.js.map +1 -0
- package/dist/{apply-ADB3ZK7W.js → apply-VNSWQS6O.js} +22 -24
- package/dist/apply-VNSWQS6O.js.map +1 -0
- package/dist/artifacts-AMJQJFFV.js +82 -0
- package/dist/artifacts-AMJQJFFV.js.map +1 -0
- package/dist/{bench-FM7I7EIV.js → bench-ZJEIACUK.js} +42 -42
- package/dist/{chunk-RYOUZ6EK.js → chunk-23VHVVKW.js} +3 -3
- package/dist/chunk-2EYLOS5I.js +99 -0
- package/dist/chunk-2EYLOS5I.js.map +1 -0
- package/dist/{chunk-ANI2NTR4.js → chunk-2EZW4X57.js} +28 -25
- package/dist/chunk-2EZW4X57.js.map +1 -0
- package/dist/{chunk-E6KXCV3T.js → chunk-2Q6PG3MT.js} +15 -15
- package/dist/chunk-2Q6PG3MT.js.map +1 -0
- package/dist/{chunk-C5TL7T4V.js → chunk-2YM2VH6R.js} +2 -2
- package/dist/{chunk-LPWPFIIB.js → chunk-2YYP7AE6.js} +14 -16
- package/dist/{chunk-LPWPFIIB.js.map → chunk-2YYP7AE6.js.map} +1 -1
- package/dist/chunk-3JD25HHJ.js +278 -0
- package/dist/chunk-3JD25HHJ.js.map +1 -0
- package/dist/{chunk-ISZ54SVE.js → chunk-46S7APLQ.js} +41 -17
- package/dist/chunk-46S7APLQ.js.map +1 -0
- package/dist/chunk-6AOZCWN2.js +21 -0
- package/dist/chunk-6AOZCWN2.js.map +1 -0
- package/dist/{chunk-QPGEFLMY.js → chunk-7CMVL4X6.js} +7 -7
- package/dist/chunk-7MJGYPHF.js +1571 -0
- package/dist/chunk-7MJGYPHF.js.map +1 -0
- package/dist/chunk-7ZZUSMBJ.js +35 -0
- package/dist/chunk-7ZZUSMBJ.js.map +1 -0
- package/dist/{chunk-DUS5ZNKL.js → chunk-DIMDAYZS.js} +7 -6
- package/dist/{chunk-DGRTJD5R.js → chunk-DXH4TQRB.js} +7 -7
- package/dist/{chunk-CRGIQFUQ.js → chunk-E2H3JV2E.js} +3 -1
- package/dist/chunk-E2H3JV2E.js.map +1 -0
- package/dist/{chunk-YUNBOUQH.js → chunk-ERAG5IQB.js} +8 -8
- package/dist/{chunk-D6ZBGJ3L.js → chunk-F2NFJ27Z.js} +130 -36
- package/dist/chunk-F2NFJ27Z.js.map +1 -0
- package/dist/{chunk-SOM4QA6C.js → chunk-GD7JZMSJ.js} +93 -18
- package/dist/chunk-GD7JZMSJ.js.map +1 -0
- package/dist/{chunk-YII4U7ZD.js → chunk-HEHHQU4G.js} +70 -81
- package/dist/chunk-HEHHQU4G.js.map +1 -0
- package/dist/{chunk-KZ5EY5XX.js → chunk-HHXWAWU6.js} +159 -114
- package/dist/chunk-HHXWAWU6.js.map +1 -0
- package/dist/{chunk-SGTTR4XW.js → chunk-HWWB22HC.js} +152 -100
- package/dist/chunk-HWWB22HC.js.map +1 -0
- package/dist/chunk-IMB6FA2F.js +673 -0
- package/dist/chunk-IMB6FA2F.js.map +1 -0
- package/dist/{chunk-6YQT3SSM.js → chunk-IQYXXFRC.js} +22 -6
- package/dist/chunk-IQYXXFRC.js.map +1 -0
- package/dist/chunk-J6VJ5M2U.js +1201 -0
- package/dist/chunk-J6VJ5M2U.js.map +1 -0
- package/dist/{chunk-B3TSS7BT.js → chunk-KDQRNVBZ.js} +3 -3
- package/dist/{chunk-A4H7P7T7.js → chunk-LRWIP7QS.js} +41 -26
- package/dist/chunk-LRWIP7QS.js.map +1 -0
- package/dist/{chunk-DV7HUC4Z.js → chunk-LYC57OXF.js} +20 -117
- package/dist/chunk-LYC57OXF.js.map +1 -0
- package/dist/{chunk-HAKDLR6N.js → chunk-MAJ6QDRL.js} +65 -78
- package/dist/chunk-MAJ6QDRL.js.map +1 -0
- package/dist/{chunk-HJBF4WD2.js → chunk-MHA7Q3KU.js} +288 -108
- package/dist/chunk-MHA7Q3KU.js.map +1 -0
- package/dist/{chunk-UK4E2FUA.js → chunk-MQTVMB7W.js} +103 -76
- package/dist/chunk-MQTVMB7W.js.map +1 -0
- package/dist/chunk-NP47HRX2.js +136 -0
- package/dist/chunk-NP47HRX2.js.map +1 -0
- package/dist/{chunk-MI5TREN3.js → chunk-NYDAHE3Y.js} +52 -46
- package/dist/chunk-NYDAHE3Y.js.map +1 -0
- package/dist/{chunk-UWDCIFTP.js → chunk-P7ZYOC23.js} +41 -57
- package/dist/chunk-P7ZYOC23.js.map +1 -0
- package/dist/{chunk-3R27MJ5R.js → chunk-PFWHHYEO.js} +3 -3
- package/dist/{chunk-2SUFAE6X.js → chunk-PHPAK2L6.js} +44 -33
- package/dist/{chunk-2SUFAE6X.js.map → chunk-PHPAK2L6.js.map} +1 -1
- package/dist/{chunk-PPZ3K4YM.js → chunk-PRGPSNGA.js} +2 -2
- package/dist/{chunk-32JSYXEK.js → chunk-RGFMQFX7.js} +9 -23
- package/dist/{chunk-32JSYXEK.js.map → chunk-RGFMQFX7.js.map} +1 -1
- package/dist/{chunk-YVPZUN6X.js → chunk-TJVX42KY.js} +335 -38
- package/dist/chunk-TJVX42KY.js.map +1 -0
- package/dist/{chunk-RCZJQUTC.js → chunk-UDRAD7MF.js} +60 -27
- package/dist/chunk-UDRAD7MF.js.map +1 -0
- package/dist/{chunk-HY5HLFDU.js → chunk-UHDXXLYH.js} +148 -135
- package/dist/chunk-UHDXXLYH.js.map +1 -0
- package/dist/{chunk-RNFUVKC3.js → chunk-UPAAZU4W.js} +30 -13
- package/dist/chunk-UPAAZU4W.js.map +1 -0
- package/dist/{chunk-L6HSKTQE.js → chunk-W7LZLJAF.js} +4 -4
- package/dist/{chunk-HLAPOUEM.js → chunk-WB2FVIUS.js} +44 -12
- package/dist/chunk-WB2FVIUS.js.map +1 -0
- package/dist/{chunk-VE3IYNDN.js → chunk-WPHC6JBR.js} +9 -9
- package/dist/chunk-WPHC6JBR.js.map +1 -0
- package/dist/{chunk-KZXQWC7U.js → chunk-XHCP6ZNO.js} +201 -64
- package/dist/chunk-XHCP6ZNO.js.map +1 -0
- package/dist/{chunk-7F7LGMVO.js → chunk-XKR3VD2Z.js} +12 -12
- package/dist/{chunk-7F7LGMVO.js.map → chunk-XKR3VD2Z.js.map} +1 -1
- package/dist/{chunk-ICM463EO.js → chunk-XNK5UN2D.js} +5 -649
- package/dist/chunk-XNK5UN2D.js.map +1 -0
- package/dist/{chunk-Z5O2XBWA.js → chunk-XQLNZW7I.js} +40 -30
- package/dist/chunk-XQLNZW7I.js.map +1 -0
- package/dist/{chunk-QMIQR7EE.js → chunk-ZAYATXJD.js} +32 -316
- package/dist/chunk-ZAYATXJD.js.map +1 -0
- package/dist/cli.js +128 -60
- package/dist/cli.js.map +1 -1
- package/dist/compat-YPDZB34U.js +24 -0
- package/dist/{config-KGZUPAUP.js → config-56B4OHZE.js} +20 -17
- package/dist/{contract-JH2WBIO6.js → contract-HWLFFL3F.js} +2 -2
- package/dist/{conventions-RYN7OXJN.js → conventions-DW2CM5I3.js} +20 -16
- package/dist/{conventions-RYN7OXJN.js.map → conventions-DW2CM5I3.js.map} +1 -1
- package/dist/db-5NU77PJA.js +264 -0
- package/dist/db-5NU77PJA.js.map +1 -0
- package/dist/diagnostics-UCTS2VUF.js +25 -0
- package/dist/execute-R7AVOLNG.js +38 -0
- package/dist/{generate-CX6KNHZS.js → generate-O7GUXLN4.js} +46 -43
- package/dist/generate-O7GUXLN4.js.map +1 -0
- package/dist/{git-A2IP32PQ.js → git-LCG45YXD.js} +2 -3
- package/dist/history-6GSURU3H.js +101 -0
- package/dist/history-6GSURU3H.js.map +1 -0
- package/dist/init-DD6DBRC5.js +28 -0
- package/dist/{operations-CAKIT2BO.js → operations-HU5ZFEBA.js} +78 -52
- package/dist/operations-HU5ZFEBA.js.map +1 -0
- package/dist/{permissions-G4XCAESF.js → permissions-NNNSRC4P.js} +5 -6
- package/dist/plan-XR6B7EM3.js +38 -0
- package/dist/{policy-WX6O2JID.js → policy-RFJOJQL6.js} +17 -15
- package/dist/{policy-WX6O2JID.js.map → policy-RFJOJQL6.js.map} +1 -1
- package/dist/pr-OSCNJCOO.js +42 -0
- package/dist/pr-review-IKIYHFBO.js +33 -0
- package/dist/prd-HFDZJJQR.js +37 -0
- package/dist/{ps-76L6ZAZL.js → ps-AKRHGPSR.js} +26 -15
- package/dist/ps-AKRHGPSR.js.map +1 -0
- package/dist/{recorder-N7U66HCO.js → recorder-T7426CKV.js} +11 -7
- package/dist/registry-DWRKD65A.js +17 -0
- package/dist/repository-TABBRW2C.js +80 -0
- package/dist/resume-GDXKK5XP.js +278 -0
- package/dist/resume-GDXKK5XP.js.map +1 -0
- package/dist/review-JJHMQA2O.js +38 -0
- package/dist/routing-FPNUVE7T.js +35 -0
- package/dist/run-RLCURLLL.js +61 -0
- package/dist/{session-publisher-KAJQRHNZ.js → session-publisher-Q5TNEZPX.js} +3 -3
- package/dist/session-publisher-Q5TNEZPX.js.map +1 -0
- package/dist/{state-manager-UPHO2EA2.js → state-manager-IGNTD4AB.js} +9 -4
- package/dist/state-manager-IGNTD4AB.js.map +1 -0
- package/dist/{usage-U7QNGCPK.js → usage-XW27AL5K.js} +69 -63
- package/dist/usage-XW27AL5K.js.map +1 -0
- package/dist/web-NCDBVZ5Y.js +205 -0
- package/dist/web-NCDBVZ5Y.js.map +1 -0
- package/package.json +20 -7
- package/prompts/analyze.md +16 -19
- package/prompts/execute.md +73 -144
- package/prompts/generate.md +23 -10
- package/prompts/plan.md +32 -60
- package/prompts/pr-review.md +58 -40
- package/prompts/pr.md +50 -16
- package/prompts/prd.md +26 -19
- package/prompts/review.md +41 -18
- package/web/AGENTS.md +115 -7
- package/web/public/app.css +393 -245
- package/web/public/app.js +212 -143
- package/web/public/index.html +106 -78
- package/dist/agent-TB6W7PT7.js +0 -30
- package/dist/analyze-6M3KEOX7.js.map +0 -1
- package/dist/apply-ADB3ZK7W.js.map +0 -1
- package/dist/chunk-6YQT3SSM.js.map +0 -1
- package/dist/chunk-A4H7P7T7.js.map +0 -1
- package/dist/chunk-ANI2NTR4.js.map +0 -1
- package/dist/chunk-CRGIQFUQ.js.map +0 -1
- package/dist/chunk-D6ZBGJ3L.js.map +0 -1
- package/dist/chunk-DV7HUC4Z.js.map +0 -1
- package/dist/chunk-E6KXCV3T.js.map +0 -1
- package/dist/chunk-HAKDLR6N.js.map +0 -1
- package/dist/chunk-HJBF4WD2.js.map +0 -1
- package/dist/chunk-HLAPOUEM.js.map +0 -1
- package/dist/chunk-HY5HLFDU.js.map +0 -1
- package/dist/chunk-ICM463EO.js.map +0 -1
- package/dist/chunk-ISZ54SVE.js.map +0 -1
- package/dist/chunk-KZ5EY5XX.js.map +0 -1
- package/dist/chunk-KZXQWC7U.js.map +0 -1
- package/dist/chunk-MI5TREN3.js.map +0 -1
- package/dist/chunk-QMIQR7EE.js.map +0 -1
- package/dist/chunk-RCZJQUTC.js.map +0 -1
- package/dist/chunk-RNFUVKC3.js.map +0 -1
- package/dist/chunk-SGTTR4XW.js.map +0 -1
- package/dist/chunk-SOM4QA6C.js.map +0 -1
- package/dist/chunk-UK4E2FUA.js.map +0 -1
- package/dist/chunk-UWDCIFTP.js.map +0 -1
- package/dist/chunk-VE3IYNDN.js.map +0 -1
- package/dist/chunk-WCCZJL7W.js +0 -141
- package/dist/chunk-WCCZJL7W.js.map +0 -1
- package/dist/chunk-XEYH6ZZI.js +0 -289
- package/dist/chunk-XEYH6ZZI.js.map +0 -1
- package/dist/chunk-XZUEFTUP.js +0 -243
- package/dist/chunk-XZUEFTUP.js.map +0 -1
- package/dist/chunk-YII4U7ZD.js.map +0 -1
- package/dist/chunk-YVPZUN6X.js.map +0 -1
- package/dist/chunk-Z5O2XBWA.js.map +0 -1
- package/dist/diagnostics-HTCWF7F4.js +0 -23
- package/dist/execute-QL3ZQIAP.js +0 -37
- package/dist/generate-CX6KNHZS.js.map +0 -1
- package/dist/init-PDVQDRS6.js +0 -24
- package/dist/operations-CAKIT2BO.js.map +0 -1
- package/dist/plan-PRORGS3L.js +0 -34
- package/dist/pr-27RMQI5F.js +0 -39
- package/dist/pr-review-VNESMAMT.js +0 -32
- package/dist/prd-ZNC4T5BS.js +0 -33
- package/dist/ps-76L6ZAZL.js.map +0 -1
- package/dist/registry-XLHHYLTR.js +0 -15
- package/dist/resume-VLWIE264.js +0 -244
- package/dist/resume-VLWIE264.js.map +0 -1
- package/dist/review-7CREJDKB.js +0 -35
- package/dist/routing-VCDYHSXA.js +0 -33
- package/dist/run-3MPORLF5.js +0 -56
- package/dist/usage-U7QNGCPK.js.map +0 -1
- package/dist/web-HUNDHCJ4.js +0 -172
- package/dist/web-HUNDHCJ4.js.map +0 -1
- /package/dist/{agent-TB6W7PT7.js.map → agent-EWKA7357.js.map} +0 -0
- /package/dist/{bench-FM7I7EIV.js.map → bench-ZJEIACUK.js.map} +0 -0
- /package/dist/{chunk-RYOUZ6EK.js.map → chunk-23VHVVKW.js.map} +0 -0
- /package/dist/{chunk-C5TL7T4V.js.map → chunk-2YM2VH6R.js.map} +0 -0
- /package/dist/{chunk-QPGEFLMY.js.map → chunk-7CMVL4X6.js.map} +0 -0
- /package/dist/{chunk-DUS5ZNKL.js.map → chunk-DIMDAYZS.js.map} +0 -0
- /package/dist/{chunk-DGRTJD5R.js.map → chunk-DXH4TQRB.js.map} +0 -0
- /package/dist/{chunk-YUNBOUQH.js.map → chunk-ERAG5IQB.js.map} +0 -0
- /package/dist/{chunk-B3TSS7BT.js.map → chunk-KDQRNVBZ.js.map} +0 -0
- /package/dist/{chunk-3R27MJ5R.js.map → chunk-PFWHHYEO.js.map} +0 -0
- /package/dist/{chunk-PPZ3K4YM.js.map → chunk-PRGPSNGA.js.map} +0 -0
- /package/dist/{chunk-L6HSKTQE.js.map → chunk-W7LZLJAF.js.map} +0 -0
- /package/dist/{config-KGZUPAUP.js.map → compat-YPDZB34U.js.map} +0 -0
- /package/dist/{contract-JH2WBIO6.js.map → config-56B4OHZE.js.map} +0 -0
- /package/dist/{diagnostics-HTCWF7F4.js.map → contract-HWLFFL3F.js.map} +0 -0
- /package/dist/{execute-QL3ZQIAP.js.map → diagnostics-UCTS2VUF.js.map} +0 -0
- /package/dist/{git-A2IP32PQ.js.map → execute-R7AVOLNG.js.map} +0 -0
- /package/dist/{init-PDVQDRS6.js.map → git-LCG45YXD.js.map} +0 -0
- /package/dist/{permissions-G4XCAESF.js.map → init-DD6DBRC5.js.map} +0 -0
- /package/dist/{plan-PRORGS3L.js.map → permissions-NNNSRC4P.js.map} +0 -0
- /package/dist/{pr-27RMQI5F.js.map → plan-XR6B7EM3.js.map} +0 -0
- /package/dist/{pr-review-VNESMAMT.js.map → pr-OSCNJCOO.js.map} +0 -0
- /package/dist/{prd-ZNC4T5BS.js.map → pr-review-IKIYHFBO.js.map} +0 -0
- /package/dist/{recorder-N7U66HCO.js.map → prd-HFDZJJQR.js.map} +0 -0
- /package/dist/{registry-XLHHYLTR.js.map → recorder-T7426CKV.js.map} +0 -0
- /package/dist/{review-7CREJDKB.js.map → registry-DWRKD65A.js.map} +0 -0
- /package/dist/{routing-VCDYHSXA.js.map → repository-TABBRW2C.js.map} +0 -0
- /package/dist/{run-3MPORLF5.js.map → review-JJHMQA2O.js.map} +0 -0
- /package/dist/{session-publisher-KAJQRHNZ.js.map → routing-FPNUVE7T.js.map} +0 -0
- /package/dist/{state-manager-UPHO2EA2.js.map → run-RLCURLLL.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getPackageVersion
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2YM2VH6R.js";
|
|
5
5
|
import {
|
|
6
6
|
DEFAULT_INACTIVITY_TIMEOUT_MS,
|
|
7
7
|
installShutdownHandlers,
|
|
@@ -12,27 +12,29 @@ import {
|
|
|
12
12
|
setRoutingCliOverrides,
|
|
13
13
|
setVerifyCliOverrides,
|
|
14
14
|
setWebCliOverrides
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-DV7HUC4Z.js";
|
|
15
|
+
} from "./chunk-UHDXXLYH.js";
|
|
17
16
|
import {
|
|
18
17
|
printError,
|
|
19
18
|
setGlobalTimeout,
|
|
20
19
|
setInactivityTimeout,
|
|
21
20
|
setVerbose
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-J6VJ5M2U.js";
|
|
22
|
+
import "./chunk-7CMVL4X6.js";
|
|
23
|
+
import "./chunk-DIMDAYZS.js";
|
|
24
|
+
import "./chunk-HEHHQU4G.js";
|
|
25
|
+
import "./chunk-PRGPSNGA.js";
|
|
26
|
+
import "./chunk-P3LRUNC6.js";
|
|
27
|
+
import "./chunk-LYC57OXF.js";
|
|
28
|
+
import "./chunk-GD7JZMSJ.js";
|
|
29
|
+
import "./chunk-NP47HRX2.js";
|
|
30
30
|
import {
|
|
31
31
|
isAgentProviderId
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-IMB6FA2F.js";
|
|
33
|
+
import "./chunk-7MJGYPHF.js";
|
|
34
|
+
import "./chunk-XNK5UN2D.js";
|
|
35
|
+
import "./chunk-MAJ6QDRL.js";
|
|
36
|
+
import "./chunk-TJVX42KY.js";
|
|
37
|
+
import "./chunk-PFWHHYEO.js";
|
|
36
38
|
|
|
37
39
|
// src/cli.ts
|
|
38
40
|
import { Command, InvalidArgumentError, Option } from "commander";
|
|
@@ -353,8 +355,8 @@ withIssueOptions(
|
|
|
353
355
|
)
|
|
354
356
|
).action(
|
|
355
357
|
async (options) => {
|
|
356
|
-
const { loadIssuesConfig } = await import("./config-
|
|
357
|
-
const { runInit } = await import("./init-
|
|
358
|
+
const { loadIssuesConfig } = await import("./config-56B4OHZE.js");
|
|
359
|
+
const { runInit } = await import("./init-DD6DBRC5.js");
|
|
358
360
|
const { preferredProvider } = await loadIssuesConfig();
|
|
359
361
|
const code = await runInit(preferredProvider, {
|
|
360
362
|
...options,
|
|
@@ -376,7 +378,7 @@ withGlobalOptions(
|
|
|
376
378
|
}
|
|
377
379
|
throw error;
|
|
378
380
|
}
|
|
379
|
-
const { runGenerate } = await import("./generate-
|
|
381
|
+
const { runGenerate } = await import("./generate-O7GUXLN4.js");
|
|
380
382
|
const code = await runGenerate(options.prompt, target);
|
|
381
383
|
process.exit(code);
|
|
382
384
|
});
|
|
@@ -390,7 +392,7 @@ withUserStoryNumberingOptions(
|
|
|
390
392
|
).argument("<issues...>", 'Issue number(s): 42, "42,43" or 42 43').option("--mode <mode>", "Execution mode: auto | manual", "auto").option("--from <phase>", "Resume from a specific phase").option(
|
|
391
393
|
"--no-branch",
|
|
392
394
|
"Run pipeline on current branch without creating a new branch or PR"
|
|
393
|
-
).option("--pr-review", "Review the created Pull Request after the pr phase").option("-y, --yes", "Run the whole discovered hierarchy without confirmation").option("--cascade", "Run the children of a container, without implementing it").option("--only", "Run just the issues informed, without their hierarchy").option(
|
|
395
|
+
).option("--pr-review", "Review the created Pull Request after the pr phase").option("--close-issue", "Close issues after successful delivery; remember this choice").option("--no-close-issue", "Revoke automatic issue closure").option("-y, --yes", "Run the whole discovered hierarchy without confirmation").option("--cascade", "Run the children of a container, without implementing it").option("--only", "Run just the issues informed, without their hierarchy").option(
|
|
394
396
|
"--retry-limit <number>",
|
|
395
397
|
"Retry transient Claude failures up to N consecutive times",
|
|
396
398
|
parseInteger
|
|
@@ -419,7 +421,7 @@ withUserStoryNumberingOptions(
|
|
|
419
421
|
}
|
|
420
422
|
throw error;
|
|
421
423
|
}
|
|
422
|
-
const { runPipeline } = await import("./run-
|
|
424
|
+
const { runPipeline } = await import("./run-RLCURLLL.js");
|
|
423
425
|
const code = await runPipeline(
|
|
424
426
|
issues,
|
|
425
427
|
options.mode,
|
|
@@ -427,6 +429,7 @@ withUserStoryNumberingOptions(
|
|
|
427
429
|
phases.noBranch,
|
|
428
430
|
phases.prReview,
|
|
429
431
|
{
|
|
432
|
+
closeIssue: options.closeIssue,
|
|
430
433
|
yes: scope.yes,
|
|
431
434
|
only: scope.only,
|
|
432
435
|
cascade: scope.cascade,
|
|
@@ -445,32 +448,66 @@ withUserStoryNumberingOptions(
|
|
|
445
448
|
);
|
|
446
449
|
withIssueOptions(
|
|
447
450
|
withGlobalOptions(
|
|
448
|
-
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")
|
|
451
|
+
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("--close-issue", "Close issues after successful delivery; remember this choice").option("--no-close-issue", "Revoke automatic issue closure").option("--mode <mode>", "Execution mode: auto | manual", "auto")
|
|
449
452
|
)
|
|
450
|
-
).action(
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
453
|
+
).action(
|
|
454
|
+
async (issue, options) => {
|
|
455
|
+
const { runResume } = await import("./resume-GDXKK5XP.js");
|
|
456
|
+
const code = await runResume(issue, {
|
|
457
|
+
...options.closeIssue === void 0 ? {} : { closeIssue: options.closeIssue },
|
|
458
|
+
...options.all === void 0 ? {} : { all: options.all },
|
|
459
|
+
...options.mode === void 0 ? {} : { mode: options.mode }
|
|
460
|
+
});
|
|
461
|
+
process.exit(code);
|
|
462
|
+
}
|
|
463
|
+
);
|
|
464
|
+
var artifactsCommand = program.command("artifacts").description("Inspect local artifacts without changing files or CLI state");
|
|
465
|
+
if (process.argv.includes("--json")) {
|
|
466
|
+
artifactsCommand.configureOutput({ writeErr: () => {
|
|
467
|
+
} }).exitOverride((error) => {
|
|
468
|
+
if (error.exitCode === 0) process.exit(0);
|
|
469
|
+
console.log(
|
|
470
|
+
JSON.stringify({
|
|
471
|
+
schemaVersion: 1,
|
|
472
|
+
ok: false,
|
|
473
|
+
data: null,
|
|
474
|
+
errors: [{ code: "arguments", path: "", message: error.message }]
|
|
475
|
+
})
|
|
476
|
+
);
|
|
477
|
+
process.exit(1);
|
|
455
478
|
});
|
|
456
|
-
|
|
457
|
-
|
|
479
|
+
}
|
|
480
|
+
for (const operation of ["plan", "issue"]) {
|
|
481
|
+
const command = artifactsCommand.command(operation).argument("[file]", "Artifact path");
|
|
482
|
+
if (operation === "issue") command.argument("[metadata]", "Optional metadata.json");
|
|
483
|
+
else command.option("--context", "Select current execution facts without history");
|
|
484
|
+
command.option("--json", "Emit a versioned JSON inspection").allowExcessArguments(false);
|
|
485
|
+
command.action(async (...args) => {
|
|
486
|
+
const file = args[0];
|
|
487
|
+
const metadata = operation === "issue" ? args[1] : void 0;
|
|
488
|
+
const options = args[operation === "issue" ? 2 : 1];
|
|
489
|
+
const { runArtifacts } = await import("./artifacts-AMJQJFFV.js");
|
|
490
|
+
process.exit(
|
|
491
|
+
await runArtifacts(options.context ? "context" : operation, file, metadata, options.json)
|
|
492
|
+
);
|
|
493
|
+
});
|
|
494
|
+
}
|
|
458
495
|
withGlobalOptions(
|
|
459
496
|
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")
|
|
460
497
|
).action(async (issue, options) => {
|
|
461
|
-
const { runStatus } = await import("./operations-
|
|
498
|
+
const { runStatus } = await import("./operations-HU5ZFEBA.js");
|
|
462
499
|
process.exit(
|
|
463
500
|
await runStatus(issue, { ...options.json === void 0 ? {} : { json: options.json } })
|
|
464
501
|
);
|
|
465
502
|
});
|
|
466
503
|
withGlobalOptions(
|
|
467
|
-
program.command("usage").description("Aggregate execution telemetry from
|
|
504
|
+
program.command("usage").description("Aggregate execution telemetry from SQLite").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, trigger or status").option("--json", "Emit the assembled totals as JSON")
|
|
468
505
|
).action(
|
|
469
506
|
async (issue, options) => {
|
|
470
|
-
const { runUsage, USAGE_GROUP_KEYS } = await import("./usage-
|
|
507
|
+
const { runUsage, USAGE_GROUP_KEYS } = await import("./usage-XW27AL5K.js");
|
|
471
508
|
const by = options.by;
|
|
472
509
|
if (by !== void 0 && !USAGE_GROUP_KEYS.includes(by)) {
|
|
473
|
-
printError("Must be one of: harness, provider, model, purpose, status.");
|
|
510
|
+
printError("Must be one of: harness, provider, model, purpose, trigger, status.");
|
|
474
511
|
process.exit(1);
|
|
475
512
|
}
|
|
476
513
|
process.exit(
|
|
@@ -485,20 +522,51 @@ withGlobalOptions(
|
|
|
485
522
|
withGlobalOptions(
|
|
486
523
|
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")
|
|
487
524
|
).action(async (options) => {
|
|
488
|
-
const { runPs } = await import("./ps-
|
|
525
|
+
const { runPs } = await import("./ps-AKRHGPSR.js");
|
|
489
526
|
process.exit(await runPs(options));
|
|
490
527
|
});
|
|
528
|
+
var db = program.command("db").description("Inspect and maintain the Issue Flow SQLite database");
|
|
529
|
+
db.command("check").description("Run SQLite integrity_check").action(async () => {
|
|
530
|
+
const { runDbCheck } = await import("./db-5NU77PJA.js");
|
|
531
|
+
process.exit(await runDbCheck());
|
|
532
|
+
});
|
|
533
|
+
db.command("backup").description("Create a consistent SQLite backup").option("--destination <path>", "Where to write the backup").action(async (options) => {
|
|
534
|
+
const { runDbBackup } = await import("./db-5NU77PJA.js");
|
|
535
|
+
process.exit(await runDbBackup(options.destination));
|
|
536
|
+
});
|
|
537
|
+
db.command("vacuum").description("Rebuild the SQLite database to reclaim unused space").action(async () => {
|
|
538
|
+
const { runDbVacuum } = await import("./db-5NU77PJA.js");
|
|
539
|
+
process.exit(await runDbVacuum());
|
|
540
|
+
});
|
|
541
|
+
db.command("export").description("Export structured SQLite state as readable JSON").option("--destination <path>", "Where to write the JSON export (stdout by default)").action(async (options) => {
|
|
542
|
+
const { runDbExport } = await import("./db-5NU77PJA.js");
|
|
543
|
+
process.exit(await runDbExport(options.destination));
|
|
544
|
+
});
|
|
545
|
+
db.command("verify").description("Compare task and queue projections with canonical SQLite state").action(async () => {
|
|
546
|
+
const { runDbVerify } = await import("./db-5NU77PJA.js");
|
|
547
|
+
process.exit(await runDbVerify());
|
|
548
|
+
});
|
|
549
|
+
db.command("import").description("Import preserved compatibility artifacts").option("--with-events", "Also import the potentially large JSONL journal").action(async (options) => {
|
|
550
|
+
const { runDbImport } = await import("./db-5NU77PJA.js");
|
|
551
|
+
process.exit(await runDbImport(options));
|
|
552
|
+
});
|
|
491
553
|
withGlobalOptions(
|
|
492
554
|
program.command("runs").description("History of the runs of this project, with how each ended")
|
|
493
555
|
).action(async () => {
|
|
494
|
-
const { runRuns } = await import("./operations-
|
|
556
|
+
const { runRuns } = await import("./operations-HU5ZFEBA.js");
|
|
495
557
|
process.exit(await runRuns());
|
|
496
558
|
});
|
|
559
|
+
withGlobalOptions(
|
|
560
|
+
program.command("history").description("Relational phase, invocation and verdict history for one issue").argument("<issue>", "Issue identifier").option("--json", "Emit the complete history as JSON")
|
|
561
|
+
).action(async (issue, options) => {
|
|
562
|
+
const { runHistory } = await import("./history-6GSURU3H.js");
|
|
563
|
+
process.exit(await runHistory(issue, options));
|
|
564
|
+
});
|
|
497
565
|
withGlobalOptions(
|
|
498
566
|
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)")
|
|
499
567
|
).action(
|
|
500
568
|
async (issue, options) => {
|
|
501
|
-
const { runLogs } = await import("./operations-
|
|
569
|
+
const { runLogs } = await import("./operations-HU5ZFEBA.js");
|
|
502
570
|
const kinds = options.kind === void 0 ? void 0 : options.kind.split(",").map((kind) => kind.trim()).filter((kind) => kind !== "");
|
|
503
571
|
process.exit(
|
|
504
572
|
await runLogs(issue ?? options.issue, {
|
|
@@ -512,13 +580,13 @@ withGlobalOptions(
|
|
|
512
580
|
withGlobalOptions(
|
|
513
581
|
program.command("pause").description("Ask the running pipeline to stop after writing a checkpoint")
|
|
514
582
|
).action(async () => {
|
|
515
|
-
const { runPause } = await import("./operations-
|
|
583
|
+
const { runPause } = await import("./operations-HU5ZFEBA.js");
|
|
516
584
|
process.exit(await runPause());
|
|
517
585
|
});
|
|
518
586
|
withGlobalOptions(
|
|
519
587
|
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")
|
|
520
588
|
).action(async (issue) => {
|
|
521
|
-
const { runCancel } = await import("./operations-
|
|
589
|
+
const { runCancel } = await import("./operations-HU5ZFEBA.js");
|
|
522
590
|
process.exit(await runCancel(issue));
|
|
523
591
|
});
|
|
524
592
|
withIssueOptions(
|
|
@@ -526,7 +594,7 @@ withIssueOptions(
|
|
|
526
594
|
program.command("analyze").description("Analyze an issue with the configured agent").argument("<issue>", "Issue number")
|
|
527
595
|
)
|
|
528
596
|
).action(async (issue) => {
|
|
529
|
-
const { runAnalyze } = await import("./analyze-
|
|
597
|
+
const { runAnalyze } = await import("./analyze-Z7ODC27F.js");
|
|
530
598
|
const code = await runAnalyze(issue);
|
|
531
599
|
process.exit(code);
|
|
532
600
|
});
|
|
@@ -535,7 +603,7 @@ withIssueOptions(
|
|
|
535
603
|
program.command("prd").description("Generate a PRD from an analyzed issue with the configured agent").argument("<issue>", "Issue number")
|
|
536
604
|
)
|
|
537
605
|
).action(async (issue) => {
|
|
538
|
-
const { runPrd } = await import("./prd-
|
|
606
|
+
const { runPrd } = await import("./prd-HFDZJJQR.js");
|
|
539
607
|
const code = await runPrd(issue);
|
|
540
608
|
process.exit(code);
|
|
541
609
|
});
|
|
@@ -556,7 +624,7 @@ withUserStoryNumberingOptions(
|
|
|
556
624
|
}
|
|
557
625
|
throw error;
|
|
558
626
|
}
|
|
559
|
-
const { runPlan } = await import("./plan-
|
|
627
|
+
const { runPlan } = await import("./plan-XR6B7EM3.js");
|
|
560
628
|
const code = await runPlan(issue, void 0, numbering);
|
|
561
629
|
process.exit(code);
|
|
562
630
|
});
|
|
@@ -575,7 +643,7 @@ withWebOptions(
|
|
|
575
643
|
).action(
|
|
576
644
|
async (positionalMaxIter, options) => {
|
|
577
645
|
try {
|
|
578
|
-
const { runExecute } = await import("./execute-
|
|
646
|
+
const { runExecute } = await import("./execute-R7AVOLNG.js");
|
|
579
647
|
const code = await runExecute(positionalMaxIter, options);
|
|
580
648
|
process.exit(code);
|
|
581
649
|
} catch (error) {
|
|
@@ -589,7 +657,7 @@ withIssueOptions(
|
|
|
589
657
|
program.command("review").description("Validate an issue resolution with the configured agent").argument("<issue>", "Issue number")
|
|
590
658
|
)
|
|
591
659
|
).action(async (issue) => {
|
|
592
|
-
const { runReview } = await import("./review-
|
|
660
|
+
const { runReview } = await import("./review-JJHMQA2O.js");
|
|
593
661
|
const code = await runReview(issue);
|
|
594
662
|
process.exit(code);
|
|
595
663
|
});
|
|
@@ -598,7 +666,7 @@ withIssueOptions(
|
|
|
598
666
|
program.command("pr").description("Create a pull request with the configured agent").argument("<issue>", "Issue number")
|
|
599
667
|
)
|
|
600
668
|
).action(async (issue) => {
|
|
601
|
-
const { runPr } = await import("./pr-
|
|
669
|
+
const { runPr } = await import("./pr-OSCNJCOO.js");
|
|
602
670
|
const code = await runPr(issue);
|
|
603
671
|
process.exit(code);
|
|
604
672
|
});
|
|
@@ -606,21 +674,21 @@ var webCommand = program.command("web").description("Manage the web monitoring s
|
|
|
606
674
|
webCommand.command("serve").description(
|
|
607
675
|
"Run the web monitor server in the foreground (internal \u2014 spawned detached by --web)"
|
|
608
676
|
).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) => {
|
|
609
|
-
const { runWebServe } = await import("./web-
|
|
677
|
+
const { runWebServe } = await import("./web-NCDBVZ5Y.js");
|
|
610
678
|
const code = await runWebServe(options);
|
|
611
679
|
if (code !== 0) {
|
|
612
680
|
process.exit(code);
|
|
613
681
|
}
|
|
614
682
|
});
|
|
615
683
|
webCommand.command("stop").description("Stop the running web monitor server").action(async () => {
|
|
616
|
-
const { runWebStop } = await import("./web-
|
|
684
|
+
const { runWebStop } = await import("./web-NCDBVZ5Y.js");
|
|
617
685
|
const code = await runWebStop();
|
|
618
686
|
process.exit(code);
|
|
619
687
|
});
|
|
620
688
|
withGlobalOptions(
|
|
621
689
|
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")
|
|
622
690
|
).action(async (options) => {
|
|
623
|
-
const { runPolicy } = await import("./policy-
|
|
691
|
+
const { runPolicy } = await import("./policy-RFJOJQL6.js");
|
|
624
692
|
const code = await runPolicy(options);
|
|
625
693
|
process.exit(code);
|
|
626
694
|
});
|
|
@@ -628,49 +696,49 @@ var routingCommand = withGlobalOptions(
|
|
|
628
696
|
program.command("routing").description("Inspect and configure adaptive harness/model routing")
|
|
629
697
|
);
|
|
630
698
|
routingCommand.option("--json", "Emit the resolved routing config as JSON").action(async (_options, command) => {
|
|
631
|
-
const { runRoutingInspect } = await import("./routing-
|
|
699
|
+
const { runRoutingInspect } = await import("./routing-FPNUVE7T.js");
|
|
632
700
|
process.exit(await runRoutingInspect(command.opts()));
|
|
633
701
|
});
|
|
634
702
|
routingCommand.command("explain").description("Explain the resolved routing target for every phase").option("--json", "Emit JSON").action(async (_options, command) => {
|
|
635
|
-
const { runRoutingExplain } = await import("./routing-
|
|
703
|
+
const { runRoutingExplain } = await import("./routing-FPNUVE7T.js");
|
|
636
704
|
process.exit(await runRoutingExplain(command.optsWithGlobals()));
|
|
637
705
|
});
|
|
638
|
-
routingCommand.command("use").description("Enable an embedded routing policy").argument("<policy>", "Policy name (recommended)").option("--global", "Write ~/.issue-flow/config.json (default)").option("--project", "Write .issue-flow.json instead").action(async (policy, _options, command) => {
|
|
639
|
-
const { runRoutingUse } = await import("./routing-
|
|
706
|
+
routingCommand.command("use").description("Enable an embedded routing policy").argument("<policy>", "Policy name (recommended)").option("--global", "Write ~/.issue-flow/config.json (default)").option("--project", "Write .issue-flow.json instead").option("--active", "Apply the policy to future runs instead of leaving routing in shadow mode").action(async (policy, _options, command) => {
|
|
707
|
+
const { runRoutingUse } = await import("./routing-FPNUVE7T.js");
|
|
640
708
|
process.exit(await runRoutingUse(policy, command.optsWithGlobals()));
|
|
641
709
|
});
|
|
642
710
|
routingCommand.command("report").description("Shadow agreement between selected and actual harness").option("--issue <n>", "Issue number").option("--json", "Emit JSON").action(async (_options, command) => {
|
|
643
|
-
const { runRoutingReport } = await import("./routing-
|
|
711
|
+
const { runRoutingReport } = await import("./routing-FPNUVE7T.js");
|
|
644
712
|
process.exit(await runRoutingReport(command.optsWithGlobals()));
|
|
645
713
|
});
|
|
646
714
|
var conventionsCommand = withGlobalOptions(
|
|
647
715
|
program.command("conventions").description("Compute the repository Git convention (branch, commit, PR title)")
|
|
648
716
|
);
|
|
649
717
|
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) => {
|
|
650
|
-
const { runConventionsBranch } = await import("./conventions-
|
|
718
|
+
const { runConventionsBranch } = await import("./conventions-DW2CM5I3.js");
|
|
651
719
|
process.exit(await runConventionsBranch(options));
|
|
652
720
|
});
|
|
653
721
|
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(
|
|
654
722
|
async (options) => {
|
|
655
|
-
const { runConventionsCommit } = await import("./conventions-
|
|
723
|
+
const { runConventionsCommit } = await import("./conventions-DW2CM5I3.js");
|
|
656
724
|
process.exit(await runConventionsCommit(options));
|
|
657
725
|
}
|
|
658
726
|
);
|
|
659
727
|
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) => {
|
|
660
|
-
const { runConventionsPrTitle } = await import("./conventions-
|
|
728
|
+
const { runConventionsPrTitle } = await import("./conventions-DW2CM5I3.js");
|
|
661
729
|
process.exit(await runConventionsPrTitle(options));
|
|
662
730
|
});
|
|
663
731
|
var agentCommand = withGlobalOptions(
|
|
664
732
|
program.command("agent").description("Inspect the resolved agent and model for each phase").option("--json", "Emit the resolved agent configuration as JSON")
|
|
665
733
|
);
|
|
666
734
|
agentCommand.action(async (options) => {
|
|
667
|
-
const { runAgent } = await import("./agent-
|
|
735
|
+
const { runAgent } = await import("./agent-EWKA7357.js");
|
|
668
736
|
const code = await runAgent(options);
|
|
669
737
|
process.exit(code);
|
|
670
738
|
});
|
|
671
739
|
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(
|
|
672
740
|
async (provider, options) => {
|
|
673
|
-
const { runAgentUse } = await import("./agent-
|
|
741
|
+
const { runAgentUse } = await import("./agent-EWKA7357.js");
|
|
674
742
|
const code = await runAgentUse(provider, options);
|
|
675
743
|
process.exit(code);
|
|
676
744
|
}
|
|
@@ -682,7 +750,7 @@ withGlobalOptions(
|
|
|
682
750
|
)
|
|
683
751
|
).action(
|
|
684
752
|
async (pr, options) => {
|
|
685
|
-
const { runPrReview } = await import("./pr-review-
|
|
753
|
+
const { runPrReview } = await import("./pr-review-IKIYHFBO.js");
|
|
686
754
|
const code = await runPrReview(pr, options);
|
|
687
755
|
process.exit(code);
|
|
688
756
|
}
|
|
@@ -708,7 +776,7 @@ withGlobalOptions(
|
|
|
708
776
|
printError("Unknown bench mode. Use 'synthetic' or 'real'.");
|
|
709
777
|
process.exit(1);
|
|
710
778
|
}
|
|
711
|
-
const { runBench } = await import("./bench-
|
|
779
|
+
const { runBench } = await import("./bench-ZJEIACUK.js");
|
|
712
780
|
process.exit(
|
|
713
781
|
await runBench({
|
|
714
782
|
...options.mode === void 0 ? {} : { mode: options.mode },
|
|
@@ -726,13 +794,13 @@ withGlobalOptions(
|
|
|
726
794
|
}
|
|
727
795
|
);
|
|
728
796
|
program.action(async () => {
|
|
729
|
-
const { listLiveRuns } = await import("./registry-
|
|
797
|
+
const { listLiveRuns } = await import("./registry-DWRKD65A.js");
|
|
730
798
|
const runs = await listLiveRuns();
|
|
731
799
|
if (runs.length === 0) {
|
|
732
800
|
program.help();
|
|
733
801
|
return;
|
|
734
802
|
}
|
|
735
|
-
const { runPs } = await import("./ps-
|
|
803
|
+
const { runPs } = await import("./ps-AKRHGPSR.js");
|
|
736
804
|
process.exit(await runPs());
|
|
737
805
|
});
|
|
738
806
|
program.parse();
|