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.
- package/dist/agent-OX3KPHE4.js +30 -0
- package/dist/{analyze-WS47UYGN.js → analyze-WIND2SEB.js} +21 -18
- package/dist/{analyze-WS47UYGN.js.map → analyze-WIND2SEB.js.map} +1 -1
- package/dist/{apply-OS62UWRN.js → apply-JNOI2LR4.js} +14 -11
- package/dist/{apply-OS62UWRN.js.map → apply-JNOI2LR4.js.map} +1 -1
- package/dist/{bench-SA3BOME5.js → bench-B4VZON7E.js} +30 -26
- package/dist/{bench-SA3BOME5.js.map → bench-B4VZON7E.js.map} +1 -1
- package/dist/{chunk-PIVGJM6K.js → chunk-2IQ6M4ZE.js} +11 -11
- package/dist/{chunk-QCXPNSEL.js → chunk-3BWZO4YI.js} +2 -2
- package/dist/chunk-3WFZETIM.js +163 -0
- package/dist/chunk-3WFZETIM.js.map +1 -0
- package/dist/{chunk-6FDFRNXZ.js → chunk-67YIU2VB.js} +25 -20
- package/dist/chunk-67YIU2VB.js.map +1 -0
- package/dist/{chunk-TM67EHSV.js → chunk-6BENHR2I.js} +19 -19
- package/dist/chunk-6BENHR2I.js.map +1 -0
- package/dist/{chunk-IYV6KNVF.js → chunk-6QYMSNVA.js} +66 -240
- package/dist/chunk-6QYMSNVA.js.map +1 -0
- package/dist/{chunk-IV5SS4JN.js → chunk-76MMPJ53.js} +9 -7
- package/dist/{chunk-IV5SS4JN.js.map → chunk-76MMPJ53.js.map} +1 -1
- package/dist/{chunk-LZ6GFQAG.js → chunk-B72RQZBV.js} +35 -25
- package/dist/chunk-B72RQZBV.js.map +1 -0
- package/dist/{chunk-KQHB7ZT3.js → chunk-BEZ5BA5U.js} +82 -16
- package/dist/chunk-BEZ5BA5U.js.map +1 -0
- package/dist/{chunk-BQDQTIM7.js → chunk-BRCNQXYQ.js} +4 -4
- package/dist/{chunk-ARFVHC2F.js → chunk-CGKLE6WR.js} +115 -23
- package/dist/chunk-CGKLE6WR.js.map +1 -0
- package/dist/{chunk-BHJCGWQX.js → chunk-F6TOYSYY.js} +9 -9
- package/dist/chunk-G5EK2XRN.js +25 -0
- package/dist/chunk-G5EK2XRN.js.map +1 -0
- package/dist/{chunk-TX5WIVYP.js → chunk-HAKDLR6N.js} +6 -1
- package/dist/chunk-HAKDLR6N.js.map +1 -0
- package/dist/{chunk-DIG5XKQQ.js → chunk-J3SOTUVI.js} +2 -2
- package/dist/{chunk-SNTTOQAD.js → chunk-JN6D3MY6.js} +2 -2
- package/dist/{chunk-MIVHK5YI.js → chunk-KMRFRXIT.js} +3 -3
- package/dist/{chunk-5TB6KLC2.js → chunk-KT7JKOXB.js} +8 -8
- package/dist/{chunk-NEZZ6KDR.js → chunk-LBGHI4S2.js} +49 -2
- package/dist/chunk-LBGHI4S2.js.map +1 -0
- package/dist/{chunk-3XLCNVMD.js → chunk-LEW4QM74.js} +2 -2
- package/dist/{chunk-IHIEXUTC.js → chunk-LFEQIZLB.js} +85 -10
- package/dist/chunk-LFEQIZLB.js.map +1 -0
- package/dist/{chunk-TVN2JVOF.js → chunk-OOVG2KBY.js} +3 -3
- package/dist/{chunk-7KD66LIM.js → chunk-OR43364P.js} +3 -3
- package/dist/{chunk-J62QSVP6.js → chunk-PBTA3QQX.js} +8 -7
- package/dist/{chunk-J62QSVP6.js.map → chunk-PBTA3QQX.js.map} +1 -1
- package/dist/{chunk-664Y3NDX.js → chunk-PHW2YV6N.js} +8 -8
- package/dist/{chunk-PV4OX5TC.js → chunk-PZTWU277.js} +11 -11
- package/dist/{chunk-HJGGNLWI.js → chunk-QD4VOILZ.js} +9 -9
- package/dist/{chunk-CNBYCMSU.js → chunk-QJ5UZAH5.js} +27 -18
- package/dist/{chunk-CNBYCMSU.js.map → chunk-QJ5UZAH5.js.map} +1 -1
- package/dist/{chunk-HQAHNIAR.js → chunk-QK7WUO7A.js} +14 -14
- package/dist/{chunk-UJ7XWK7J.js → chunk-QZVKRDJY.js} +16 -14
- package/dist/{chunk-UJ7XWK7J.js.map → chunk-QZVKRDJY.js.map} +1 -1
- package/dist/{chunk-FZDR7CGH.js → chunk-REO3PXXO.js} +3 -3
- package/dist/{chunk-UOCPC2Y2.js → chunk-RVO7L4FX.js} +4 -4
- package/dist/{chunk-QXDNBYQF.js → chunk-SZMHCEYV.js} +21 -10
- package/dist/chunk-SZMHCEYV.js.map +1 -0
- package/dist/chunk-TYRNTSPJ.js +243 -0
- package/dist/chunk-TYRNTSPJ.js.map +1 -0
- package/dist/{agent-BXRIEKVM.js → chunk-UJ3L2MS7.js} +22 -22
- package/dist/chunk-UJ3L2MS7.js.map +1 -0
- package/dist/{chunk-37N2RJW2.js → chunk-V7MO5EDS.js} +3 -3
- package/dist/{chunk-HEF2RMKN.js → chunk-WB2X37MO.js} +18 -16
- package/dist/{chunk-HEF2RMKN.js.map → chunk-WB2X37MO.js.map} +1 -1
- package/dist/{chunk-OPNGPUKJ.js → chunk-X44FKNKP.js} +133 -42
- package/dist/chunk-X44FKNKP.js.map +1 -0
- package/dist/cli.js +43 -40
- package/dist/cli.js.map +1 -1
- package/dist/{config-MEM2IWWN.js → config-HMFMCY2M.js} +12 -9
- package/dist/{conventions-WV4NDXGH.js → conventions-NJF2OPVQ.js} +14 -11
- package/dist/{conventions-WV4NDXGH.js.map → conventions-NJF2OPVQ.js.map} +1 -1
- package/dist/diagnostics-THH42ZMP.js +23 -0
- package/dist/execute-KFNNZZHI.js +35 -0
- package/dist/{generate-MVQI7A45.js → generate-FW5C6NP7.js} +23 -20
- package/dist/{generate-MVQI7A45.js.map → generate-FW5C6NP7.js.map} +1 -1
- package/dist/{git-YRVRUN3C.js → git-W72QQ6GT.js} +4 -2
- package/dist/init-HTN4V67Q.js +24 -0
- package/dist/{operations-LU6JA3BX.js → operations-BCFOBH42.js} +17 -14
- package/dist/{operations-LU6JA3BX.js.map → operations-BCFOBH42.js.map} +1 -1
- package/dist/{permissions-7NMDFU27.js → permissions-4AKNQZHK.js} +4 -4
- package/dist/plan-SIZLGA4V.js +34 -0
- package/dist/{policy-JSYEK5B2.js → policy-DT6Q6ZVM.js} +13 -10
- package/dist/{policy-JSYEK5B2.js.map → policy-DT6Q6ZVM.js.map} +1 -1
- package/dist/pr-OMWCGUOW.js +39 -0
- package/dist/pr-review-N24CZPKR.js +32 -0
- package/dist/prd-5OFTZAHJ.js +33 -0
- package/dist/{ps-TNE44R5V.js → ps-RFORTCUD.js} +11 -8
- package/dist/{ps-TNE44R5V.js.map → ps-RFORTCUD.js.map} +1 -1
- package/dist/{recorder-XGF55WXI.js → recorder-KCCPMKQG.js} +5 -4
- package/dist/registry-GLPXOMFG.js +15 -0
- package/dist/{resume-QMEPMSZW.js → resume-M5RLKP4I.js} +44 -40
- package/dist/{resume-QMEPMSZW.js.map → resume-M5RLKP4I.js.map} +1 -1
- package/dist/review-YM4JAABY.js +35 -0
- package/dist/{routing-2ZUMZPJB.js → routing-NNT5WKGX.js} +13 -10
- package/dist/{routing-2ZUMZPJB.js.map → routing-NNT5WKGX.js.map} +1 -1
- package/dist/run-PZUKHPQK.js +54 -0
- package/dist/run-PZUKHPQK.js.map +1 -0
- package/dist/session-publisher-T7EI3CIP.js +11 -0
- package/dist/session-publisher-T7EI3CIP.js.map +1 -0
- package/dist/{state-manager-X3PT3FGT.js → state-manager-GQH32C44.js} +3 -3
- package/dist/state-manager-GQH32C44.js.map +1 -0
- package/dist/{usage-VCFLDA5Y.js → usage-V2CHE5PY.js} +13 -10
- package/dist/{usage-VCFLDA5Y.js.map → usage-V2CHE5PY.js.map} +1 -1
- package/dist/{web-XVHLX62B.js → web-EA3KGNFN.js} +18 -14
- package/dist/{web-XVHLX62B.js.map → web-EA3KGNFN.js.map} +1 -1
- package/package.json +1 -1
- package/web/AGENTS.md +150 -11
- package/web/public/app.css +343 -110
- package/web/public/app.js +408 -18
- package/web/public/index.html +44 -1
- package/dist/agent-BXRIEKVM.js.map +0 -1
- package/dist/chunk-6FDFRNXZ.js.map +0 -1
- package/dist/chunk-ARFVHC2F.js.map +0 -1
- package/dist/chunk-IHIEXUTC.js.map +0 -1
- package/dist/chunk-IYV6KNVF.js.map +0 -1
- package/dist/chunk-KQHB7ZT3.js.map +0 -1
- package/dist/chunk-LZ6GFQAG.js.map +0 -1
- package/dist/chunk-NEZZ6KDR.js.map +0 -1
- package/dist/chunk-OPNGPUKJ.js.map +0 -1
- package/dist/chunk-QXDNBYQF.js.map +0 -1
- package/dist/chunk-TM67EHSV.js.map +0 -1
- package/dist/chunk-TX5WIVYP.js.map +0 -1
- package/dist/execute-NITIHHCK.js +0 -31
- package/dist/init-OKWEC3EV.js +0 -21
- package/dist/plan-LEJJF3DE.js +0 -31
- package/dist/pr-HPVUZ7S3.js +0 -36
- package/dist/pr-review-R2QZBT3F.js +0 -29
- package/dist/prd-5O6GYCC6.js +0 -30
- package/dist/registry-LGPE53QD.js +0 -15
- package/dist/review-YKWD6SNN.js +0 -32
- package/dist/run-YU4TR62R.js +0 -50
- /package/dist/{config-MEM2IWWN.js.map → agent-OX3KPHE4.js.map} +0 -0
- /package/dist/{chunk-PIVGJM6K.js.map → chunk-2IQ6M4ZE.js.map} +0 -0
- /package/dist/{chunk-QCXPNSEL.js.map → chunk-3BWZO4YI.js.map} +0 -0
- /package/dist/{chunk-BQDQTIM7.js.map → chunk-BRCNQXYQ.js.map} +0 -0
- /package/dist/{chunk-BHJCGWQX.js.map → chunk-F6TOYSYY.js.map} +0 -0
- /package/dist/{chunk-DIG5XKQQ.js.map → chunk-J3SOTUVI.js.map} +0 -0
- /package/dist/{chunk-SNTTOQAD.js.map → chunk-JN6D3MY6.js.map} +0 -0
- /package/dist/{chunk-MIVHK5YI.js.map → chunk-KMRFRXIT.js.map} +0 -0
- /package/dist/{chunk-5TB6KLC2.js.map → chunk-KT7JKOXB.js.map} +0 -0
- /package/dist/{chunk-3XLCNVMD.js.map → chunk-LEW4QM74.js.map} +0 -0
- /package/dist/{chunk-TVN2JVOF.js.map → chunk-OOVG2KBY.js.map} +0 -0
- /package/dist/{chunk-7KD66LIM.js.map → chunk-OR43364P.js.map} +0 -0
- /package/dist/{chunk-664Y3NDX.js.map → chunk-PHW2YV6N.js.map} +0 -0
- /package/dist/{chunk-PV4OX5TC.js.map → chunk-PZTWU277.js.map} +0 -0
- /package/dist/{chunk-HJGGNLWI.js.map → chunk-QD4VOILZ.js.map} +0 -0
- /package/dist/{chunk-HQAHNIAR.js.map → chunk-QK7WUO7A.js.map} +0 -0
- /package/dist/{chunk-FZDR7CGH.js.map → chunk-REO3PXXO.js.map} +0 -0
- /package/dist/{chunk-UOCPC2Y2.js.map → chunk-RVO7L4FX.js.map} +0 -0
- /package/dist/{chunk-37N2RJW2.js.map → chunk-V7MO5EDS.js.map} +0 -0
- /package/dist/{execute-NITIHHCK.js.map → config-HMFMCY2M.js.map} +0 -0
- /package/dist/{git-YRVRUN3C.js.map → diagnostics-THH42ZMP.js.map} +0 -0
- /package/dist/{init-OKWEC3EV.js.map → execute-KFNNZZHI.js.map} +0 -0
- /package/dist/{permissions-7NMDFU27.js.map → git-W72QQ6GT.js.map} +0 -0
- /package/dist/{plan-LEJJF3DE.js.map → init-HTN4V67Q.js.map} +0 -0
- /package/dist/{pr-HPVUZ7S3.js.map → permissions-4AKNQZHK.js.map} +0 -0
- /package/dist/{pr-review-R2QZBT3F.js.map → plan-SIZLGA4V.js.map} +0 -0
- /package/dist/{prd-5O6GYCC6.js.map → pr-OMWCGUOW.js.map} +0 -0
- /package/dist/{recorder-XGF55WXI.js.map → pr-review-N24CZPKR.js.map} +0 -0
- /package/dist/{registry-LGPE53QD.js.map → prd-5OFTZAHJ.js.map} +0 -0
- /package/dist/{review-YKWD6SNN.js.map → recorder-KCCPMKQG.js.map} +0 -0
- /package/dist/{run-YU4TR62R.js.map → registry-GLPXOMFG.js.map} +0 -0
- /package/dist/{state-manager-X3PT3FGT.js.map → review-YM4JAABY.js.map} +0 -0
|
@@ -3,10 +3,19 @@ import {
|
|
|
3
3
|
formatPhaseLine,
|
|
4
4
|
loadPhaseTiming,
|
|
5
5
|
snapshotTimingFields
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-V7MO5EDS.js";
|
|
7
|
+
import {
|
|
8
|
+
mostRecent,
|
|
9
|
+
prReviewDir,
|
|
10
|
+
readPrReviewIndex,
|
|
11
|
+
runPrReview
|
|
12
|
+
} from "./chunk-QZVKRDJY.js";
|
|
13
|
+
import {
|
|
14
|
+
runPrd
|
|
15
|
+
} from "./chunk-QD4VOILZ.js";
|
|
7
16
|
import {
|
|
8
17
|
runReview
|
|
9
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-SZMHCEYV.js";
|
|
10
19
|
import {
|
|
11
20
|
PIPELINE_PHASES,
|
|
12
21
|
PIPELINE_PHASES_NO_BRANCH,
|
|
@@ -28,58 +37,49 @@ import {
|
|
|
28
37
|
saveExecutionPlan,
|
|
29
38
|
setQueueBranch,
|
|
30
39
|
setQueuePullRequest
|
|
31
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-OR43364P.js";
|
|
32
41
|
import {
|
|
33
42
|
runInit
|
|
34
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-F6TOYSYY.js";
|
|
35
44
|
import {
|
|
36
45
|
printQueueSummary,
|
|
37
46
|
printRunSummary,
|
|
38
47
|
runExecute,
|
|
39
48
|
stripMarkdown
|
|
40
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-B72RQZBV.js";
|
|
41
50
|
import {
|
|
42
51
|
ensureWebMonitor
|
|
43
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-LFEQIZLB.js";
|
|
44
53
|
import {
|
|
45
54
|
runPlan
|
|
46
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-6BENHR2I.js";
|
|
47
56
|
import {
|
|
48
57
|
runPr
|
|
49
|
-
} from "./chunk-
|
|
50
|
-
import {
|
|
51
|
-
mostRecent,
|
|
52
|
-
prReviewDir,
|
|
53
|
-
readPrReviewIndex,
|
|
54
|
-
runPrReview
|
|
55
|
-
} from "./chunk-UJ7XWK7J.js";
|
|
58
|
+
} from "./chunk-2IQ6M4ZE.js";
|
|
56
59
|
import {
|
|
57
60
|
listPullRequests,
|
|
58
61
|
publishGitState
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import {
|
|
61
|
-
runPrd
|
|
62
|
-
} from "./chunk-HJGGNLWI.js";
|
|
62
|
+
} from "./chunk-PBTA3QQX.js";
|
|
63
63
|
import {
|
|
64
64
|
resolveCommandIssue
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-REO3PXXO.js";
|
|
66
66
|
import {
|
|
67
67
|
getProvider
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-PZTWU277.js";
|
|
69
69
|
import {
|
|
70
70
|
beginUsageScope,
|
|
71
71
|
getRunUsageTotals
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-PHW2YV6N.js";
|
|
73
73
|
import {
|
|
74
74
|
assessDecomposition,
|
|
75
75
|
buildDecompositionReport,
|
|
76
76
|
proposeSubIssues,
|
|
77
77
|
resetAgentInvocationState
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-CGKLE6WR.js";
|
|
79
79
|
import {
|
|
80
80
|
JournalPublisher,
|
|
81
81
|
MultiPublisher
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-3BWZO4YI.js";
|
|
83
83
|
import {
|
|
84
84
|
describeRunAgents,
|
|
85
85
|
getActiveResilienceConfig,
|
|
@@ -87,19 +87,16 @@ import {
|
|
|
87
87
|
loadIssuesConfig,
|
|
88
88
|
loadWebConfig,
|
|
89
89
|
onShutdown
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-QJ5UZAH5.js";
|
|
91
91
|
import {
|
|
92
92
|
resolveIssuePaths,
|
|
93
93
|
resolveProjectPaths,
|
|
94
94
|
resolveQueuePaths
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-QK7WUO7A.js";
|
|
96
96
|
import {
|
|
97
|
-
FilePublisher,
|
|
98
|
-
MemoryPublisher,
|
|
99
97
|
formatDuration,
|
|
100
98
|
getIcons,
|
|
101
99
|
getInactivityTimeout,
|
|
102
|
-
getSessionPublisher,
|
|
103
100
|
isVerbose,
|
|
104
101
|
printError,
|
|
105
102
|
printInfo,
|
|
@@ -108,26 +105,40 @@ import {
|
|
|
108
105
|
setActivityCallback,
|
|
109
106
|
setInactivityTimeout,
|
|
110
107
|
setOutputCallback,
|
|
111
|
-
setSessionPublisher,
|
|
112
108
|
setStoryStageCallback,
|
|
113
109
|
setStoryUpdateCallback
|
|
114
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-TYRNTSPJ.js";
|
|
115
111
|
import {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
112
|
+
FilePublisher,
|
|
113
|
+
MemoryPublisher,
|
|
114
|
+
getSessionPublisher,
|
|
115
|
+
setSessionPublisher
|
|
116
|
+
} from "./chunk-6QYMSNVA.js";
|
|
120
117
|
import {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
bindDiagnosticContext,
|
|
119
|
+
flushDiagnostics,
|
|
120
|
+
writeDiagnostic
|
|
121
|
+
} from "./chunk-3WFZETIM.js";
|
|
124
122
|
import {
|
|
125
123
|
committedStoryIds,
|
|
126
124
|
describePreflight,
|
|
127
125
|
getBaseBranch,
|
|
126
|
+
getCurrentBranch,
|
|
127
|
+
getHeadCommit,
|
|
128
|
+
getProjectRoot,
|
|
129
|
+
localBranchExists,
|
|
128
130
|
preflightRepository,
|
|
129
131
|
run
|
|
130
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-BEZ5BA5U.js";
|
|
133
|
+
import {
|
|
134
|
+
isoNow,
|
|
135
|
+
loadTaskPlan,
|
|
136
|
+
saveTaskPlan
|
|
137
|
+
} from "./chunk-J3SOTUVI.js";
|
|
138
|
+
import {
|
|
139
|
+
acquireRunLock,
|
|
140
|
+
describeRunLockOwner
|
|
141
|
+
} from "./chunk-LBGHI4S2.js";
|
|
131
142
|
|
|
132
143
|
// src/commands/run.ts
|
|
133
144
|
import { randomUUID } from "crypto";
|
|
@@ -1058,6 +1069,21 @@ async function claimRunOwnership(target, detached = false) {
|
|
|
1058
1069
|
async function runIssueSession(issueNumber, mode, input) {
|
|
1059
1070
|
resetAgentInvocationState();
|
|
1060
1071
|
const paths = await resolveIssuePaths(issueNumber);
|
|
1072
|
+
try {
|
|
1073
|
+
const project = await resolveProjectPaths();
|
|
1074
|
+
bindDiagnosticContext({
|
|
1075
|
+
project: project.projectId,
|
|
1076
|
+
projectRoot: await getProjectRoot(),
|
|
1077
|
+
issue: issueNumber,
|
|
1078
|
+
sessionId: null,
|
|
1079
|
+
executionId: null,
|
|
1080
|
+
phase: null,
|
|
1081
|
+
story: null,
|
|
1082
|
+
harness: null,
|
|
1083
|
+
model: null
|
|
1084
|
+
});
|
|
1085
|
+
} catch {
|
|
1086
|
+
}
|
|
1061
1087
|
const resilience = await initResilienceConfig();
|
|
1062
1088
|
const configuredInactivity = resilience.watchdog?.inactivityTimeoutMs;
|
|
1063
1089
|
if (configuredInactivity !== void 0 && getInactivityTimeout() === void 0) {
|
|
@@ -1149,6 +1175,12 @@ async function runIssueSession(issueNumber, mode, input) {
|
|
|
1149
1175
|
});
|
|
1150
1176
|
}
|
|
1151
1177
|
await publisher.close();
|
|
1178
|
+
writeDiagnostic({
|
|
1179
|
+
level: result.code === 0 ? "info" : "error",
|
|
1180
|
+
message: `Issue Flow session ${result.code === 0 ? "completed" : "failed"}`,
|
|
1181
|
+
context: { code: result.code, failedPhase: result.failedPhase }
|
|
1182
|
+
});
|
|
1183
|
+
await flushDiagnostics();
|
|
1152
1184
|
setSessionPublisher(void 0);
|
|
1153
1185
|
}
|
|
1154
1186
|
}
|
|
@@ -1210,7 +1242,7 @@ async function maybeCreateSubIssues(issueNumber, plan, reportFile) {
|
|
|
1210
1242
|
printInfo("Nothing left to split: no pending story.");
|
|
1211
1243
|
return;
|
|
1212
1244
|
}
|
|
1213
|
-
const { runGenerate } = await import("./generate-
|
|
1245
|
+
const { runGenerate } = await import("./generate-FW5C6NP7.js");
|
|
1214
1246
|
for (const proposal of proposals) {
|
|
1215
1247
|
const instruction = [
|
|
1216
1248
|
`Create a sub-issue of #${issueNumber}: ${proposal.title}.`,
|
|
@@ -1275,6 +1307,19 @@ async function runPipelinePhases(issueNumber, paths, mode, publisher, input) {
|
|
|
1275
1307
|
};
|
|
1276
1308
|
const tasksPath = paths.tasksFile;
|
|
1277
1309
|
const sessionId = randomUUID();
|
|
1310
|
+
bindDiagnosticContext({
|
|
1311
|
+
sessionId,
|
|
1312
|
+
issue: issueNumber,
|
|
1313
|
+
executionId: null,
|
|
1314
|
+
phase: null,
|
|
1315
|
+
story: null,
|
|
1316
|
+
harness: null,
|
|
1317
|
+
model: null
|
|
1318
|
+
});
|
|
1319
|
+
const [initialBranch, initialCommit] = await Promise.all([
|
|
1320
|
+
getCurrentBranch().catch(() => ""),
|
|
1321
|
+
getHeadCommit()
|
|
1322
|
+
]);
|
|
1278
1323
|
let publishedIssueNumber = toIssueNumber(issueNumber);
|
|
1279
1324
|
const publishSessionStart = (phases, at, info) => {
|
|
1280
1325
|
publisher.publish({
|
|
@@ -1284,7 +1329,10 @@ async function runPipelinePhases(issueNumber, paths, mode, publisher, input) {
|
|
|
1284
1329
|
issueNumber: publishedIssueNumber,
|
|
1285
1330
|
issueUrl: info?.issueUrl,
|
|
1286
1331
|
branch: info?.branch,
|
|
1332
|
+
branchCreated: info?.branchCreated,
|
|
1333
|
+
startCommit: info?.startCommit,
|
|
1287
1334
|
phases: [...phases],
|
|
1335
|
+
configuration: configurationSnapshot,
|
|
1288
1336
|
environment: {
|
|
1289
1337
|
node: process.version,
|
|
1290
1338
|
platform: process.platform,
|
|
@@ -1296,6 +1344,29 @@ async function runPipelinePhases(issueNumber, paths, mode, publisher, input) {
|
|
|
1296
1344
|
const agentSummary = await describeRunAgents(
|
|
1297
1345
|
prReview ? ["prd", "plan", "execute", "review", "pr", "pr-review"] : ["prd", "plan", "execute", "review", "pr"]
|
|
1298
1346
|
);
|
|
1347
|
+
const fallbacks = getActiveResilienceConfig().providers?.chain ?? [];
|
|
1348
|
+
const configurationSnapshot = {
|
|
1349
|
+
precedence: ["default", "global", "project", "env", "cli", "step override"],
|
|
1350
|
+
defaultProvider: {
|
|
1351
|
+
value: agentSummary.defaultProvider,
|
|
1352
|
+
source: agentSummary.defaultOrigin.provider
|
|
1353
|
+
},
|
|
1354
|
+
defaultModel: {
|
|
1355
|
+
value: agentSummary.defaultModel,
|
|
1356
|
+
source: agentSummary.defaultOrigin.model
|
|
1357
|
+
},
|
|
1358
|
+
phases: Object.entries(agentSummary.byPhase).map(([phase, resolved]) => ({
|
|
1359
|
+
phase,
|
|
1360
|
+
provider: { value: resolved.provider, source: resolved.origin.provider },
|
|
1361
|
+
model: { value: resolved.model, source: resolved.origin.model }
|
|
1362
|
+
})),
|
|
1363
|
+
fallbacks,
|
|
1364
|
+
overrides: Object.entries(agentSummary.byPhase).filter(
|
|
1365
|
+
([, resolved]) => resolved.provider !== agentSummary.defaultProvider || resolved.model !== agentSummary.defaultModel
|
|
1366
|
+
).map(
|
|
1367
|
+
([phase, resolved]) => `${phase}: ${resolved.provider}${resolved.model ? ` \xB7 ${resolved.model}` : ""}`
|
|
1368
|
+
)
|
|
1369
|
+
};
|
|
1299
1370
|
printInfo(
|
|
1300
1371
|
`Starting pipeline for issue #${issueNumber} (mode: ${mode}, agent: ${agentSummary.label})`
|
|
1301
1372
|
);
|
|
@@ -1394,6 +1465,8 @@ async function runPipelinePhases(issueNumber, paths, mode, publisher, input) {
|
|
|
1394
1465
|
const phaseOrder = finalPr ? effectivePrReview ? RUNNABLE_QUEUE_PR_PHASES_WITH_REVIEW : RUNNABLE_QUEUE_PR_PHASES : inQueue ? RUNNABLE_PHASES_NO_BRANCH : effectiveNoBranch ? RUNNABLE_PHASES_NO_BRANCH : effectivePrReview ? RUNNABLE_PHASES_WITH_PR_REVIEW : RUNNABLE_PHASES;
|
|
1395
1466
|
const queueCommitScope = queue === void 0 ? void 0 : `issue-${issueNumber}`;
|
|
1396
1467
|
let producedBranch = null;
|
|
1468
|
+
let plannedExecutionBranch = planBranch ?? null;
|
|
1469
|
+
let branchExistedBeforeExecution = effectiveNoBranch || planBranch === void 0 || planBranch === null ? null : await localBranchExists(planBranch).catch(() => null);
|
|
1397
1470
|
if (queue !== void 0 && finalPr === void 0 && !effectiveNoBranch) {
|
|
1398
1471
|
producedBranch = await adoptQueueBranch(tasksPath, queue.plan.branchName);
|
|
1399
1472
|
if (producedBranch !== null) {
|
|
@@ -1402,7 +1475,9 @@ async function runPipelinePhases(issueNumber, paths, mode, publisher, input) {
|
|
|
1402
1475
|
}
|
|
1403
1476
|
publishSessionStart(activePhases, sessionStartedAt, {
|
|
1404
1477
|
issueUrl: planIssueUrl ?? resolvedIssue.issue.remoteRef ?? void 0,
|
|
1405
|
-
branch: planBranch
|
|
1478
|
+
branch: effectiveNoBranch ? initialBranch : planBranch,
|
|
1479
|
+
branchCreated: effectiveNoBranch ? false : branchExistedBeforeExecution === true ? false : null,
|
|
1480
|
+
startCommit: initialCommit
|
|
1406
1481
|
});
|
|
1407
1482
|
publishIssueDetails(publisher, resolvedIssue.issue, sessionStartedAt);
|
|
1408
1483
|
publishStorySeed(publisher, planStories, sessionStartedAt);
|
|
@@ -1462,11 +1537,24 @@ async function runPipelinePhases(issueNumber, paths, mode, publisher, input) {
|
|
|
1462
1537
|
prd: makeRunner(() => runPrd(issueNumber, resolvedIssue), "prd"),
|
|
1463
1538
|
plan: async () => {
|
|
1464
1539
|
await makeRunner(
|
|
1465
|
-
() => runPlan(issueNumber, resolvedIssue, {
|
|
1540
|
+
() => runPlan(issueNumber, resolvedIssue, {
|
|
1541
|
+
continueFlag: continueNumbering,
|
|
1542
|
+
startUs,
|
|
1543
|
+
...effectiveNoBranch && initialBranch ? { branchName: initialBranch } : {}
|
|
1544
|
+
}),
|
|
1466
1545
|
"plan"
|
|
1467
1546
|
)();
|
|
1468
1547
|
try {
|
|
1469
1548
|
const plan = await loadTaskPlan(tasksPath);
|
|
1549
|
+
if (!effectiveNoBranch) {
|
|
1550
|
+
plannedExecutionBranch = plan.branchName;
|
|
1551
|
+
branchExistedBeforeExecution = await localBranchExists(plan.branchName).catch(() => null);
|
|
1552
|
+
publisher.publish({
|
|
1553
|
+
type: "git:update",
|
|
1554
|
+
at: isoNow(),
|
|
1555
|
+
branchCreated: branchExistedBeforeExecution === true ? false : null
|
|
1556
|
+
});
|
|
1557
|
+
}
|
|
1470
1558
|
publishStorySeed(publisher, plan.userStories, isoNow());
|
|
1471
1559
|
if (effectiveNoBranch || effectivePrReview) {
|
|
1472
1560
|
if (effectiveNoBranch) plan.noBranch = true;
|
|
@@ -1546,6 +1634,9 @@ async function runPipelinePhases(issueNumber, paths, mode, publisher, input) {
|
|
|
1546
1634
|
publisher.publish({ type: "phase:start", at: isoNow(), phase });
|
|
1547
1635
|
try {
|
|
1548
1636
|
await fn();
|
|
1637
|
+
if (phase === "execute" && branchExistedBeforeExecution === false && plannedExecutionBranch !== null && await getCurrentBranch().catch(() => "") === plannedExecutionBranch) {
|
|
1638
|
+
publisher.publish({ type: "git:update", at: isoNow(), branchCreated: true });
|
|
1639
|
+
}
|
|
1549
1640
|
await publishGitState(publisher);
|
|
1550
1641
|
await publishInstrumentedPhaseEnd(publisher, phase, issueNumber, true);
|
|
1551
1642
|
} catch (err) {
|
|
@@ -2011,4 +2102,4 @@ export {
|
|
|
2011
2102
|
publishIssueDetails,
|
|
2012
2103
|
runPipeline
|
|
2013
2104
|
};
|
|
2014
|
-
//# sourceMappingURL=chunk-
|
|
2105
|
+
//# sourceMappingURL=chunk-X44FKNKP.js.map
|