agentweaver 0.1.10 → 0.1.12

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 (110) hide show
  1. package/README.md +218 -224
  2. package/dist/artifacts.js +109 -55
  3. package/dist/executors/{codex-local-executor.js → codex-executor.js} +6 -5
  4. package/dist/executors/configs/{codex-local-config.js → codex-config.js} +1 -1
  5. package/dist/executors/configs/jira-fetch-config.js +2 -0
  6. package/dist/executors/configs/telegram-notifier-config.js +3 -0
  7. package/dist/executors/fetch-gitlab-diff-executor.js +1 -1
  8. package/dist/executors/fetch-gitlab-review-executor.js +1 -1
  9. package/dist/executors/git-commit-executor.js +25 -0
  10. package/dist/executors/jira-fetch-executor.js +1 -0
  11. package/dist/executors/opencode-executor.js +22 -11
  12. package/dist/executors/process-executor.js +3 -0
  13. package/dist/executors/telegram-notifier-executor.js +54 -0
  14. package/dist/flow-state.js +46 -1
  15. package/dist/gitlab.js +13 -8
  16. package/dist/index.js +477 -514
  17. package/dist/interactive-ui.js +609 -88
  18. package/dist/jira.js +109 -5
  19. package/dist/pipeline/auto-flow.js +6 -6
  20. package/dist/pipeline/context.js +1 -0
  21. package/dist/pipeline/flow-catalog.js +34 -4
  22. package/dist/pipeline/flow-model-settings.js +77 -0
  23. package/dist/pipeline/flow-specs/auto-common.json +446 -0
  24. package/dist/pipeline/flow-specs/auto-golang.json +563 -0
  25. package/dist/pipeline/flow-specs/{bug-analyze.json → bugz/bug-analyze.json} +43 -25
  26. package/dist/pipeline/flow-specs/{bug-fix.json → bugz/bug-fix.json} +5 -4
  27. package/dist/pipeline/flow-specs/git-commit.json +196 -0
  28. package/dist/pipeline/flow-specs/{gitlab-diff-review.json → gitlab/gitlab-diff-review.json} +20 -50
  29. package/dist/pipeline/flow-specs/{gitlab-review.json → gitlab/gitlab-review.json} +65 -133
  30. package/dist/pipeline/flow-specs/{mr-description.json → gitlab/mr-description.json} +17 -10
  31. package/dist/pipeline/flow-specs/{run-go-linter-loop.json → go/run-go-linter-loop.json} +40 -14
  32. package/dist/pipeline/flow-specs/{run-go-tests-loop.json → go/run-go-tests-loop.json} +40 -14
  33. package/dist/pipeline/flow-specs/implement.json +5 -4
  34. package/dist/pipeline/flow-specs/plan.json +40 -148
  35. package/dist/pipeline/flow-specs/{review-fix.json → review/review-fix.json} +74 -13
  36. package/dist/pipeline/flow-specs/review/review-loop.json +282 -0
  37. package/dist/pipeline/flow-specs/review/review-project.json +87 -0
  38. package/dist/pipeline/flow-specs/review/review.json +126 -0
  39. package/dist/pipeline/flow-specs/task-describe.json +252 -11
  40. package/dist/pipeline/launch-profile-config.js +38 -0
  41. package/dist/pipeline/node-registry.js +75 -45
  42. package/dist/pipeline/nodes/build-failure-summary-node.js +16 -29
  43. package/dist/pipeline/nodes/build-review-fix-prompt-node.js +36 -0
  44. package/dist/pipeline/nodes/codex-prompt-node.js +41 -0
  45. package/dist/pipeline/nodes/commit-message-form-node.js +79 -0
  46. package/dist/pipeline/nodes/git-commit-form-node.js +138 -0
  47. package/dist/pipeline/nodes/git-commit-node.js +28 -0
  48. package/dist/pipeline/nodes/git-status-node.js +221 -0
  49. package/dist/pipeline/nodes/gitlab-review-artifacts-node.js +10 -6
  50. package/dist/pipeline/nodes/jira-context-node.js +10 -0
  51. package/dist/pipeline/nodes/jira-fetch-node.js +3 -0
  52. package/dist/pipeline/nodes/llm-prompt-node.js +62 -0
  53. package/dist/pipeline/nodes/plan-codex-node.js +1 -1
  54. package/dist/pipeline/nodes/read-file-node.js +11 -0
  55. package/dist/pipeline/nodes/review-findings-form-node.js +48 -14
  56. package/dist/pipeline/nodes/select-files-form-node.js +72 -0
  57. package/dist/pipeline/nodes/telegram-notifier-node.js +28 -0
  58. package/dist/pipeline/nodes/user-input-node.js +43 -8
  59. package/dist/pipeline/nodes/write-selection-file-node.js +46 -0
  60. package/dist/pipeline/prompt-registry.js +3 -4
  61. package/dist/pipeline/prompt-runtime.js +13 -3
  62. package/dist/pipeline/registry.js +6 -8
  63. package/dist/pipeline/spec-compiler.js +5 -0
  64. package/dist/pipeline/spec-types.js +9 -3
  65. package/dist/pipeline/spec-validator.js +4 -0
  66. package/dist/pipeline/types.js +1 -0
  67. package/dist/pipeline/value-resolver.js +50 -38
  68. package/dist/prompts.js +119 -110
  69. package/dist/runtime/agentweaver-home.js +8 -0
  70. package/dist/runtime/command-resolution.js +0 -38
  71. package/dist/runtime/env-loader.js +43 -0
  72. package/dist/runtime/process-runner.js +9 -3
  73. package/dist/structured-artifact-schema-registry.js +54 -0
  74. package/dist/structured-artifact-schemas.json +22 -20
  75. package/dist/structured-artifacts.js +3 -43
  76. package/dist/user-input.js +38 -3
  77. package/package.json +2 -6
  78. package/Dockerfile.codex +0 -56
  79. package/dist/executors/claude-executor.js +0 -46
  80. package/dist/executors/codex-docker-executor.js +0 -27
  81. package/dist/executors/configs/claude-config.js +0 -12
  82. package/dist/executors/configs/codex-docker-config.js +0 -10
  83. package/dist/executors/configs/verify-build-config.js +0 -7
  84. package/dist/executors/verify-build-executor.js +0 -123
  85. package/dist/pipeline/flow-specs/auto.json +0 -979
  86. package/dist/pipeline/flow-specs/opencode/auto-opencode.json +0 -1365
  87. package/dist/pipeline/flow-specs/opencode/bugz/bug-analyze-opencode.json +0 -382
  88. package/dist/pipeline/flow-specs/opencode/bugz/bug-fix-opencode.json +0 -56
  89. package/dist/pipeline/flow-specs/opencode/gitlab/gitlab-diff-review-opencode.json +0 -308
  90. package/dist/pipeline/flow-specs/opencode/gitlab/gitlab-review-opencode.json +0 -437
  91. package/dist/pipeline/flow-specs/opencode/gitlab/mr-description-opencode.json +0 -117
  92. package/dist/pipeline/flow-specs/opencode/go/run-go-linter-loop-opencode.json +0 -321
  93. package/dist/pipeline/flow-specs/opencode/go/run-go-tests-loop-opencode.json +0 -321
  94. package/dist/pipeline/flow-specs/opencode/implement-opencode.json +0 -64
  95. package/dist/pipeline/flow-specs/opencode/plan-opencode.json +0 -603
  96. package/dist/pipeline/flow-specs/opencode/review/review-fix-opencode.json +0 -209
  97. package/dist/pipeline/flow-specs/opencode/review/review-opencode.json +0 -452
  98. package/dist/pipeline/flow-specs/opencode/task-describe-opencode.json +0 -148
  99. package/dist/pipeline/flow-specs/review-project.json +0 -243
  100. package/dist/pipeline/flow-specs/review.json +0 -312
  101. package/dist/pipeline/flows/preflight-flow.js +0 -19
  102. package/dist/pipeline/nodes/claude-prompt-node.js +0 -54
  103. package/dist/pipeline/nodes/codex-docker-prompt-node.js +0 -32
  104. package/dist/pipeline/nodes/codex-local-prompt-node.js +0 -32
  105. package/dist/pipeline/nodes/review-claude-node.js +0 -38
  106. package/dist/pipeline/nodes/review-reply-codex-node.js +0 -40
  107. package/dist/pipeline/nodes/verify-build-node.js +0 -15
  108. package/dist/runtime/docker-runtime.js +0 -51
  109. package/docker-compose.yml +0 -445
  110. package/verify_build.sh +0 -105
@@ -42,7 +42,7 @@
42
42
  }
43
43
  },
44
44
  "allowedIssueTypes": {
45
- "const": ["Bug", "Ошибка"]
45
+ "const": ["Bug", "Ошибка", "Баг"]
46
46
  }
47
47
  }
48
48
  },
@@ -88,7 +88,7 @@
88
88
  }
89
89
  ]
90
90
  },
91
- "node": "claude-prompt",
91
+ "node": "llm-prompt",
92
92
  "prompt": {
93
93
  "templateRef": "task-summary",
94
94
  "vars": {
@@ -101,13 +101,15 @@
101
101
  "task_summary_file": {
102
102
  "artifact": {
103
103
  "kind": "task-summary-file",
104
- "taskKey": { "ref": "params.taskKey" }
104
+ "taskKey": { "ref": "params.taskKey" },
105
+ "iteration": { "ref": "params.taskSummaryIteration" }
105
106
  }
106
107
  },
107
108
  "task_summary_json_file": {
108
109
  "artifact": {
109
110
  "kind": "task-summary-json-file",
110
- "taskKey": { "ref": "params.taskKey" }
111
+ "taskKey": { "ref": "params.taskKey" },
112
+ "iteration": { "ref": "params.taskSummaryIteration" }
111
113
  }
112
114
  }
113
115
  },
@@ -118,7 +120,8 @@
118
120
  "outputFile": {
119
121
  "artifact": {
120
122
  "kind": "task-summary-file",
121
- "taskKey": { "ref": "params.taskKey" }
123
+ "taskKey": { "ref": "params.taskKey" },
124
+ "iteration": { "ref": "params.taskSummaryIteration" }
122
125
  }
123
126
  },
124
127
  "requiredArtifacts": {
@@ -126,12 +129,14 @@
126
129
  {
127
130
  "artifact": {
128
131
  "kind": "task-summary-json-file",
129
- "taskKey": { "ref": "params.taskKey" }
132
+ "taskKey": { "ref": "params.taskKey" },
133
+ "iteration": { "ref": "params.taskSummaryIteration" }
130
134
  }
131
135
  }
132
136
  ]
133
137
  },
134
- "model": { "const": "haiku" }
138
+ "model": { "ref": "params.llmModel" },
139
+ "executor": { "ref": "params.llmExecutor" }
135
140
  },
136
141
  "expect": [
137
142
  {
@@ -142,12 +147,13 @@
142
147
  {
143
148
  "artifact": {
144
149
  "kind": "task-summary-file",
145
- "taskKey": { "ref": "params.taskKey" }
150
+ "taskKey": { "ref": "params.taskKey" },
151
+ "iteration": { "ref": "params.taskSummaryIteration" }
146
152
  }
147
153
  }
148
154
  ]
149
155
  },
150
- "message": "Claude summary did not produce the task summary artifact."
156
+ "message": "Summary did not produce the task summary artifact."
151
157
  },
152
158
  {
153
159
  "kind": "require-structured-artifacts",
@@ -157,13 +163,14 @@
157
163
  "path": {
158
164
  "artifact": {
159
165
  "kind": "task-summary-json-file",
160
- "taskKey": { "ref": "params.taskKey" }
166
+ "taskKey": { "ref": "params.taskKey" },
167
+ "iteration": { "ref": "params.taskSummaryIteration" }
161
168
  }
162
169
  },
163
170
  "schemaId": "task-summary/v1"
164
171
  }
165
172
  ],
166
- "message": "Claude summary produced invalid structured artifacts."
173
+ "message": "Summary produced invalid structured artifacts."
167
174
  }
168
175
  ],
169
176
  "after": [
@@ -173,15 +180,16 @@
173
180
  "path": {
174
181
  "artifact": {
175
182
  "kind": "task-summary-file",
176
- "taskKey": { "ref": "params.taskKey" }
183
+ "taskKey": { "ref": "params.taskKey" },
184
+ "iteration": { "ref": "params.taskSummaryIteration" }
177
185
  }
178
186
  }
179
187
  }
180
188
  ]
181
189
  },
182
190
  {
183
- "id": "run_codex_bug_analyze",
184
- "node": "codex-local-prompt",
191
+ "id": "run_bug_analyze",
192
+ "node": "llm-prompt",
185
193
  "prompt": {
186
194
  "templateRef": "bug-analyze",
187
195
  "vars": {
@@ -194,37 +202,43 @@
194
202
  "bug_analyze_file": {
195
203
  "artifact": {
196
204
  "kind": "bug-analyze-file",
197
- "taskKey": { "ref": "params.taskKey" }
205
+ "taskKey": { "ref": "params.taskKey" },
206
+ "iteration": { "ref": "params.bugAnalyzeIteration" }
198
207
  }
199
208
  },
200
209
  "bug_analyze_json_file": {
201
210
  "artifact": {
202
211
  "kind": "bug-analyze-json-file",
203
- "taskKey": { "ref": "params.taskKey" }
212
+ "taskKey": { "ref": "params.taskKey" },
213
+ "iteration": { "ref": "params.bugAnalyzeIteration" }
204
214
  }
205
215
  },
206
216
  "bug_fix_design_file": {
207
217
  "artifact": {
208
218
  "kind": "bug-fix-design-file",
209
- "taskKey": { "ref": "params.taskKey" }
219
+ "taskKey": { "ref": "params.taskKey" },
220
+ "iteration": { "ref": "params.bugFixDesignIteration" }
210
221
  }
211
222
  },
212
223
  "bug_fix_design_json_file": {
213
224
  "artifact": {
214
225
  "kind": "bug-fix-design-json-file",
215
- "taskKey": { "ref": "params.taskKey" }
226
+ "taskKey": { "ref": "params.taskKey" },
227
+ "iteration": { "ref": "params.bugFixDesignIteration" }
216
228
  }
217
229
  },
218
230
  "bug_fix_plan_file": {
219
231
  "artifact": {
220
232
  "kind": "bug-fix-plan-file",
221
- "taskKey": { "ref": "params.taskKey" }
233
+ "taskKey": { "ref": "params.taskKey" },
234
+ "iteration": { "ref": "params.bugFixPlanIteration" }
222
235
  }
223
236
  },
224
237
  "bug_fix_plan_json_file": {
225
238
  "artifact": {
226
239
  "kind": "bug-fix-plan-json-file",
227
- "taskKey": { "ref": "params.taskKey" }
240
+ "taskKey": { "ref": "params.taskKey" },
241
+ "iteration": { "ref": "params.bugFixPlanIteration" }
228
242
  }
229
243
  }
230
244
  },
@@ -232,8 +246,9 @@
232
246
  "format": "task-prompt"
233
247
  },
234
248
  "params": {
235
- "labelText": { "const": "Running Codex bug analysis mode" },
236
- "model": { "const": "gpt-5.4" }
249
+ "labelText": { "const": "Running bug analysis mode" },
250
+ "model": { "ref": "params.llmModel" },
251
+ "executor": { "ref": "params.llmExecutor" }
237
252
  },
238
253
  "expect": [
239
254
  {
@@ -255,7 +270,8 @@
255
270
  "path": {
256
271
  "artifact": {
257
272
  "kind": "bug-analyze-json-file",
258
- "taskKey": { "ref": "params.taskKey" }
273
+ "taskKey": { "ref": "params.taskKey" },
274
+ "iteration": { "ref": "params.bugAnalyzeIteration" }
259
275
  }
260
276
  },
261
277
  "schemaId": "bug-analysis/v1"
@@ -264,7 +280,8 @@
264
280
  "path": {
265
281
  "artifact": {
266
282
  "kind": "bug-fix-design-json-file",
267
- "taskKey": { "ref": "params.taskKey" }
283
+ "taskKey": { "ref": "params.taskKey" },
284
+ "iteration": { "ref": "params.bugFixDesignIteration" }
268
285
  }
269
286
  },
270
287
  "schemaId": "bug-fix-design/v1"
@@ -273,7 +290,8 @@
273
290
  "path": {
274
291
  "artifact": {
275
292
  "kind": "bug-fix-plan-json-file",
276
- "taskKey": { "ref": "params.taskKey" }
293
+ "taskKey": { "ref": "params.taskKey" },
294
+ "iteration": { "ref": "params.bugFixPlanIteration" }
277
295
  }
278
296
  },
279
297
  "schemaId": "bug-fix-plan/v1"
@@ -6,8 +6,8 @@
6
6
  "id": "bug_fix",
7
7
  "steps": [
8
8
  {
9
- "id": "run_codex_bug_fix",
10
- "node": "codex-local-prompt",
9
+ "id": "run_bug_fix",
10
+ "node": "llm-prompt",
11
11
  "prompt": {
12
12
  "templateRef": "bug-fix",
13
13
  "vars": {
@@ -34,8 +34,9 @@
34
34
  "format": "task-prompt"
35
35
  },
36
36
  "params": {
37
- "labelText": { "const": "Running Codex bug fix mode locally" },
38
- "model": { "const": "gpt-5.4" }
37
+ "labelText": { "const": "Running bug fix mode locally" },
38
+ "model": { "ref": "params.llmModel" },
39
+ "executor": { "ref": "params.llmExecutor" }
39
40
  }
40
41
  }
41
42
  ]
@@ -0,0 +1,196 @@
1
+ {
2
+ "kind": "git-commit-flow",
3
+ "version": 1,
4
+ "phases": [
5
+ {
6
+ "id": "collect_status",
7
+ "steps": [
8
+ {
9
+ "id": "get_git_status",
10
+ "node": "git-status",
11
+ "params": {
12
+ "outputFile": {
13
+ "artifact": {
14
+ "kind": "git-status-json-file",
15
+ "taskKey": {
16
+ "ref": "params.taskKey"
17
+ }
18
+ }
19
+ },
20
+ "diffOutputFile": {
21
+ "artifact": {
22
+ "kind": "git-diff-file",
23
+ "taskKey": {
24
+ "ref": "params.taskKey"
25
+ }
26
+ }
27
+ },
28
+ "labelText": {
29
+ "const": "Collecting git status"
30
+ }
31
+ }
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "id": "generate_message",
37
+ "steps": [
38
+ {
39
+ "id": "generate_commit_message",
40
+ "node": "llm-prompt",
41
+ "prompt": {
42
+ "templateRef": "commit-message",
43
+ "vars": {
44
+ "jira_task_file": {
45
+ "artifact": {
46
+ "kind": "jira-task-file",
47
+ "taskKey": {
48
+ "ref": "params.taskKey"
49
+ }
50
+ }
51
+ },
52
+ "git_diff_file": {
53
+ "artifact": {
54
+ "kind": "git-diff-file",
55
+ "taskKey": {
56
+ "ref": "params.taskKey"
57
+ }
58
+ }
59
+ },
60
+ "git_status_json_file": {
61
+ "artifact": {
62
+ "kind": "git-status-json-file",
63
+ "taskKey": {
64
+ "ref": "params.taskKey"
65
+ }
66
+ }
67
+ },
68
+ "commit_message_json_file": {
69
+ "artifact": {
70
+ "kind": "git-commit-message-json-file",
71
+ "taskKey": {
72
+ "ref": "params.taskKey"
73
+ }
74
+ }
75
+ }
76
+ },
77
+ "extraPrompt": {
78
+ "ref": "params.extraPrompt"
79
+ },
80
+ "format": "task-prompt"
81
+ },
82
+ "params": {
83
+ "labelText": {
84
+ "const": "Generating commit message"
85
+ },
86
+ "model": {
87
+ "ref": "params.llmModel"
88
+ },
89
+ "executor": {
90
+ "ref": "params.llmExecutor"
91
+ },
92
+ "requiredArtifacts": {
93
+ "list": [
94
+ {
95
+ "artifact": {
96
+ "kind": "git-commit-message-json-file",
97
+ "taskKey": {
98
+ "ref": "params.taskKey"
99
+ }
100
+ }
101
+ }
102
+ ]
103
+ }
104
+ }
105
+ }
106
+ ]
107
+ },
108
+ {
109
+ "id": "select_files",
110
+ "steps": [
111
+ {
112
+ "id": "select_files_form",
113
+ "node": "select-files-form",
114
+ "params": {
115
+ "gitStatusJsonFile": {
116
+ "artifact": {
117
+ "kind": "git-status-json-file",
118
+ "taskKey": {
119
+ "ref": "params.taskKey"
120
+ }
121
+ }
122
+ },
123
+ "formId": {
124
+ "const": "select-files"
125
+ },
126
+ "title": {
127
+ "const": "Select Files"
128
+ },
129
+ "description": {
130
+ "const": "Select files to include in the commit"
131
+ },
132
+ "outputFile": {
133
+ "artifact": {
134
+ "kind": "select-files-output-json-file",
135
+ "taskKey": {
136
+ "ref": "params.taskKey"
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
142
+ ]
143
+ },
144
+ {
145
+ "id": "confirm_and_commit",
146
+ "steps": [
147
+ {
148
+ "id": "commit_message_form",
149
+ "node": "commit-message-form",
150
+ "params": {
151
+ "commitMessageFile": {
152
+ "artifact": {
153
+ "kind": "git-commit-message-json-file",
154
+ "taskKey": {
155
+ "ref": "params.taskKey"
156
+ }
157
+ }
158
+ },
159
+ "formId": {
160
+ "const": "commit-message"
161
+ },
162
+ "title": {
163
+ "const": "Commit Message"
164
+ },
165
+ "description": {
166
+ "const": "Review and edit the commit message"
167
+ },
168
+ "outputFile": {
169
+ "artifact": {
170
+ "kind": "commit-message-output-json-file",
171
+ "taskKey": {
172
+ "ref": "params.taskKey"
173
+ }
174
+ }
175
+ }
176
+ }
177
+ },
178
+ {
179
+ "id": "execute_commit",
180
+ "node": "git-commit",
181
+ "params": {
182
+ "message": {
183
+ "ref": "steps.confirm_and_commit.commit_message_form.value.values.commit_message"
184
+ },
185
+ "files": {
186
+ "ref": "steps.select_files.select_files_form.value.values.selected_files"
187
+ },
188
+ "labelText": {
189
+ "const": "Committing changes"
190
+ }
191
+ }
192
+ }
193
+ ]
194
+ }
195
+ ]
196
+ }
@@ -11,7 +11,7 @@
11
11
  "params": {
12
12
  "formId": { "const": "gitlab-diff-review-input" },
13
13
  "title": { "const": "GitLab Diff Review" },
14
- "description": { "const": "Укажи ссылку на GitLab merge request, чтобы загрузить diff и запустить код-ревью через Claude Opus." },
14
+ "description": { "const": "Укажи ссылку на GitLab merge request, чтобы загрузить diff и запустить код-ревью." },
15
15
  "fields": {
16
16
  "const": [
17
17
  {
@@ -57,13 +57,15 @@
57
57
  "outputFile": {
58
58
  "artifact": {
59
59
  "kind": "gitlab-diff-file",
60
- "taskKey": { "ref": "params.taskKey" }
60
+ "taskKey": { "ref": "params.taskKey" },
61
+ "iteration": { "ref": "params.gitlabDiffIteration" }
61
62
  }
62
63
  },
63
64
  "outputJsonFile": {
64
65
  "artifact": {
65
66
  "kind": "gitlab-diff-json-file",
66
- "taskKey": { "ref": "params.taskKey" }
67
+ "taskKey": { "ref": "params.taskKey" },
68
+ "iteration": { "ref": "params.gitlabDiffIteration" }
67
69
  }
68
70
  }
69
71
  },
@@ -73,7 +75,8 @@
73
75
  "path": {
74
76
  "artifact": {
75
77
  "kind": "gitlab-diff-file",
76
- "taskKey": { "ref": "params.taskKey" }
78
+ "taskKey": { "ref": "params.taskKey" },
79
+ "iteration": { "ref": "params.gitlabDiffIteration" }
77
80
  }
78
81
  },
79
82
  "message": "Fetch GitLab diff node did not produce the markdown artifact."
@@ -85,7 +88,8 @@
85
88
  "path": {
86
89
  "artifact": {
87
90
  "kind": "gitlab-diff-json-file",
88
- "taskKey": { "ref": "params.taskKey" }
91
+ "taskKey": { "ref": "params.taskKey" },
92
+ "iteration": { "ref": "params.gitlabDiffIteration" }
89
93
  }
90
94
  },
91
95
  "schemaId": "gitlab-mr-diff/v1"
@@ -96,22 +100,24 @@
96
100
  ]
97
101
  },
98
102
  {
99
- "id": "run_claude_diff_review",
103
+ "id": "run_diff_review",
100
104
  "when": { "not": { "ref": "context.dryRun" } },
101
- "node": "claude-prompt",
105
+ "node": "llm-prompt",
102
106
  "prompt": {
103
107
  "templateRef": "gitlab-diff-review",
104
108
  "vars": {
105
109
  "gitlab_diff_file": {
106
110
  "artifact": {
107
111
  "kind": "gitlab-diff-file",
108
- "taskKey": { "ref": "params.taskKey" }
112
+ "taskKey": { "ref": "params.taskKey" },
113
+ "iteration": { "ref": "params.gitlabDiffIteration" }
109
114
  }
110
115
  },
111
116
  "gitlab_diff_json_file": {
112
117
  "artifact": {
113
118
  "kind": "gitlab-diff-json-file",
114
- "taskKey": { "ref": "params.taskKey" }
119
+ "taskKey": { "ref": "params.taskKey" },
120
+ "iteration": { "ref": "params.gitlabDiffIteration" }
115
121
  }
116
122
  },
117
123
  "review_file": {
@@ -140,12 +146,13 @@
140
146
  },
141
147
  "params": {
142
148
  "labelText": {
143
- "template": "Running Claude GitLab diff review (iteration {iteration})",
149
+ "template": "Running GitLab diff review (iteration {iteration})",
144
150
  "vars": {
145
151
  "iteration": { "ref": "params.iteration" }
146
152
  }
147
153
  },
148
- "model": { "const": "opus" }
154
+ "model": { "ref": "params.llmModel" },
155
+ "executor": { "ref": "params.llmExecutor" }
149
156
  },
150
157
  "expect": [
151
158
  {
@@ -162,7 +169,7 @@
162
169
  }
163
170
  ]
164
171
  },
165
- "message": "Claude diff review did not produce the required review artifact."
172
+ "message": "Diff review did not produce the required review artifact."
166
173
  },
167
174
  {
168
175
  "kind": "require-structured-artifacts",
@@ -179,46 +186,9 @@
179
186
  "schemaId": "review-findings/v1"
180
187
  }
181
188
  ],
182
- "message": "Claude diff review produced invalid structured artifacts."
189
+ "message": "Diff review produced invalid structured artifacts."
183
190
  }
184
191
  ]
185
- },
186
- {
187
- "id": "summarize_review",
188
- "when": { "not": { "ref": "context.dryRun" } },
189
- "node": "claude-prompt",
190
- "prompt": {
191
- "templateRef": "review-summary",
192
- "vars": {
193
- "review_file": {
194
- "artifact": {
195
- "kind": "review-file",
196
- "taskKey": { "ref": "params.taskKey" },
197
- "iteration": { "ref": "params.iteration" }
198
- }
199
- },
200
- "review_summary_file": {
201
- "artifact": {
202
- "kind": "review-summary-file",
203
- "taskKey": { "ref": "params.taskKey" },
204
- "iteration": { "ref": "params.iteration" }
205
- }
206
- }
207
- },
208
- "format": "plain"
209
- },
210
- "params": {
211
- "labelText": { "const": "Preparing GitLab diff review summary" },
212
- "summaryTitle": { "const": "GitLab Diff Review" },
213
- "model": { "const": "haiku" },
214
- "outputFile": {
215
- "artifact": {
216
- "kind": "review-summary-file",
217
- "taskKey": { "ref": "params.taskKey" },
218
- "iteration": { "ref": "params.iteration" }
219
- }
220
- }
221
- }
222
192
  }
223
193
  ]
224
194
  }