@botbotgo/agent-harness 0.0.94 → 0.0.96
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 +1 -114
- package/README.zh.md +1 -70
- package/dist/config/workflows/langgraph-workflows.yaml +363 -111
- package/dist/config/workflows/runtime-profiles.yaml +94 -0
- package/dist/contracts/types.d.ts +84 -2
- package/dist/package-version.d.ts +1 -1
- package/dist/package-version.js +1 -1
- package/dist/runtime/agent-runtime-adapter.js +9 -8
- package/dist/runtime/harness.d.ts +1 -0
- package/dist/runtime/harness.js +33 -2
- package/dist/runtime/langgraph-presets.js +63 -63
- package/dist/runtime/langgraph-profiles.js +71 -71
- package/dist/runtime/parsing/stream-event-parsing.d.ts +6 -0
- package/dist/runtime/parsing/stream-event-parsing.js +231 -0
- package/dist/runtime/support/harness-support.js +14 -3
- package/dist/workspace/agent-binding-compiler.js +39 -3
- package/dist/workspace/object-loader.js +5 -1
- package/package.json +1 -1
|
@@ -4,315 +4,567 @@ apiVersion: agent-harness/v1alpha1
|
|
|
4
4
|
kind: LangGraphWorkflows
|
|
5
5
|
spec:
|
|
6
6
|
- id: default
|
|
7
|
-
entryNode:
|
|
7
|
+
entryNode: step1
|
|
8
8
|
nodes:
|
|
9
|
-
- id:
|
|
9
|
+
- id: step1
|
|
10
10
|
kind: llm
|
|
11
11
|
role: planner
|
|
12
12
|
prompt: >-
|
|
13
13
|
You are the workflow planner. Produce a concise plan for the user request
|
|
14
14
|
before execution starts.
|
|
15
|
-
- id:
|
|
15
|
+
- id: step2
|
|
16
16
|
kind: agent
|
|
17
|
-
- id:
|
|
17
|
+
- id: step3
|
|
18
18
|
kind: llm
|
|
19
19
|
role: reviewer
|
|
20
20
|
prompt: >-
|
|
21
21
|
Review the current result, call out missing verification or obvious gaps,
|
|
22
22
|
and state whether the work looks sufficient.
|
|
23
|
-
- id:
|
|
23
|
+
- id: step4
|
|
24
24
|
kind: llm
|
|
25
25
|
role: replanner
|
|
26
26
|
prompt: >-
|
|
27
27
|
Refine the plan based on the reviewer feedback and current result.
|
|
28
28
|
Return only the updated plan.
|
|
29
|
-
- id:
|
|
29
|
+
- id: step5
|
|
30
30
|
kind: llm
|
|
31
31
|
role: finalizer
|
|
32
32
|
prompt: >-
|
|
33
33
|
Rewrite the current result into a concise user-facing final answer.
|
|
34
34
|
Preserve facts and caveats.
|
|
35
35
|
edges:
|
|
36
|
-
- from:
|
|
37
|
-
to:
|
|
38
|
-
- from:
|
|
39
|
-
to:
|
|
36
|
+
- from: step1
|
|
37
|
+
to: step2
|
|
38
|
+
- from: step2
|
|
39
|
+
to: step3
|
|
40
40
|
when: has_result
|
|
41
|
-
- from:
|
|
42
|
-
to:
|
|
41
|
+
- from: step3
|
|
42
|
+
to: step5
|
|
43
43
|
when: review_ok
|
|
44
|
-
- from:
|
|
45
|
-
to:
|
|
44
|
+
- from: step3
|
|
45
|
+
to: step4
|
|
46
46
|
when: review_incomplete
|
|
47
|
-
- from:
|
|
48
|
-
to:
|
|
47
|
+
- from: step4
|
|
48
|
+
to: step2
|
|
49
49
|
when: has_plan
|
|
50
50
|
- id: react
|
|
51
|
-
entryNode:
|
|
51
|
+
entryNode: step1
|
|
52
52
|
nodes:
|
|
53
|
-
- id:
|
|
53
|
+
- id: step1
|
|
54
54
|
kind: agent
|
|
55
55
|
edges: []
|
|
56
56
|
- id: prompt-chaining
|
|
57
|
-
entryNode:
|
|
57
|
+
entryNode: step1
|
|
58
58
|
nodes:
|
|
59
|
-
- id:
|
|
59
|
+
- id: step1
|
|
60
60
|
kind: llm
|
|
61
61
|
role: planner
|
|
62
62
|
prompt: >-
|
|
63
63
|
You are the workflow planner. Produce a concise execution plan for the user request
|
|
64
64
|
before execution starts.
|
|
65
|
-
- id:
|
|
65
|
+
- id: step2
|
|
66
66
|
kind: agent
|
|
67
|
-
- id:
|
|
67
|
+
- id: step3
|
|
68
68
|
kind: llm
|
|
69
69
|
role: finalizer
|
|
70
70
|
prompt: >-
|
|
71
71
|
Rewrite the current result into a concise user-facing final answer.
|
|
72
72
|
Preserve facts and caveats.
|
|
73
73
|
edges:
|
|
74
|
-
- from:
|
|
75
|
-
to:
|
|
76
|
-
- from:
|
|
77
|
-
to:
|
|
74
|
+
- from: step1
|
|
75
|
+
to: step2
|
|
76
|
+
- from: step2
|
|
77
|
+
to: step3
|
|
78
78
|
when: has_result
|
|
79
79
|
- id: routing
|
|
80
|
-
entryNode:
|
|
80
|
+
entryNode: step1
|
|
81
81
|
nodes:
|
|
82
|
-
- id:
|
|
82
|
+
- id: step1
|
|
83
83
|
kind: llm
|
|
84
84
|
role: planner
|
|
85
85
|
prompt: >-
|
|
86
86
|
You are the workflow planner. Produce a concise execution plan for the user request
|
|
87
87
|
before execution starts.
|
|
88
|
-
- id:
|
|
88
|
+
- id: step2
|
|
89
89
|
kind: agent
|
|
90
90
|
agent: worker
|
|
91
|
-
- id:
|
|
91
|
+
- id: step3
|
|
92
92
|
kind: llm
|
|
93
93
|
role: finalizer
|
|
94
94
|
prompt: >-
|
|
95
95
|
Rewrite the current result into a concise user-facing final answer.
|
|
96
96
|
Preserve facts and caveats.
|
|
97
97
|
edges:
|
|
98
|
-
- from:
|
|
99
|
-
to:
|
|
100
|
-
- from:
|
|
101
|
-
to:
|
|
98
|
+
- from: step1
|
|
99
|
+
to: step2
|
|
100
|
+
- from: step2
|
|
101
|
+
to: step3
|
|
102
102
|
when: has_result
|
|
103
103
|
- id: parallelization
|
|
104
|
-
entryNode:
|
|
104
|
+
entryNode: step1
|
|
105
105
|
nodes:
|
|
106
|
-
- id:
|
|
106
|
+
- id: step1
|
|
107
107
|
kind: llm
|
|
108
108
|
role: planner
|
|
109
109
|
prompt: >-
|
|
110
110
|
You are the workflow planner. Produce a concise execution plan for the user request
|
|
111
111
|
before execution starts.
|
|
112
|
-
- id:
|
|
112
|
+
- id: step2
|
|
113
113
|
kind: agent
|
|
114
114
|
agent: worker
|
|
115
|
-
- id:
|
|
115
|
+
- id: step3
|
|
116
116
|
kind: llm
|
|
117
117
|
role: reviewer
|
|
118
118
|
prompt: >-
|
|
119
119
|
Review the current result, call out missing verification or obvious gaps,
|
|
120
120
|
and state whether the work looks sufficient.
|
|
121
|
-
- id:
|
|
121
|
+
- id: step4
|
|
122
122
|
kind: llm
|
|
123
123
|
role: finalizer
|
|
124
124
|
prompt: >-
|
|
125
125
|
Rewrite the current result into a concise user-facing final answer.
|
|
126
126
|
Preserve facts and caveats.
|
|
127
127
|
edges:
|
|
128
|
-
- from:
|
|
129
|
-
to:
|
|
130
|
-
- from:
|
|
131
|
-
to:
|
|
128
|
+
- from: step1
|
|
129
|
+
to: step2
|
|
130
|
+
- from: step2
|
|
131
|
+
to: step3
|
|
132
132
|
when: has_result
|
|
133
|
-
- from:
|
|
134
|
-
to:
|
|
133
|
+
- from: step3
|
|
134
|
+
to: step4
|
|
135
135
|
when: review_ok
|
|
136
136
|
- id: plan-execute
|
|
137
|
-
entryNode:
|
|
137
|
+
entryNode: step1
|
|
138
138
|
nodes:
|
|
139
|
-
- id:
|
|
139
|
+
- id: step1
|
|
140
140
|
kind: llm
|
|
141
141
|
role: planner
|
|
142
142
|
prompt: >-
|
|
143
143
|
You are the workflow planner. Produce a concise execution plan for the user request
|
|
144
144
|
before execution starts.
|
|
145
|
-
- id:
|
|
145
|
+
- id: step2
|
|
146
146
|
kind: agent
|
|
147
|
-
- id:
|
|
147
|
+
- id: step3
|
|
148
148
|
kind: llm
|
|
149
149
|
role: finalizer
|
|
150
150
|
prompt: >-
|
|
151
151
|
Rewrite the current result into a concise user-facing final answer.
|
|
152
152
|
Preserve facts and caveats.
|
|
153
153
|
edges:
|
|
154
|
-
- from:
|
|
155
|
-
to:
|
|
156
|
-
- from:
|
|
157
|
-
to:
|
|
154
|
+
- from: step1
|
|
155
|
+
to: step2
|
|
156
|
+
- from: step2
|
|
157
|
+
to: step3
|
|
158
158
|
when: has_result
|
|
159
159
|
- id: review-loop
|
|
160
|
-
entryNode:
|
|
160
|
+
entryNode: step1
|
|
161
161
|
nodes:
|
|
162
|
-
- id:
|
|
162
|
+
- id: step1
|
|
163
163
|
kind: llm
|
|
164
164
|
role: planner
|
|
165
165
|
prompt: >-
|
|
166
166
|
You are the workflow planner. Produce a concise plan for the user request
|
|
167
167
|
before execution starts.
|
|
168
|
-
- id:
|
|
168
|
+
- id: step2
|
|
169
169
|
kind: agent
|
|
170
|
-
- id:
|
|
170
|
+
- id: step3
|
|
171
171
|
kind: llm
|
|
172
172
|
role: reviewer
|
|
173
173
|
prompt: >-
|
|
174
174
|
Review the current result, call out missing verification or obvious gaps,
|
|
175
175
|
and state whether the work looks sufficient.
|
|
176
|
-
- id:
|
|
176
|
+
- id: step4
|
|
177
177
|
kind: llm
|
|
178
178
|
role: replanner
|
|
179
179
|
prompt: >-
|
|
180
180
|
Refine the plan based on the reviewer feedback and current result.
|
|
181
181
|
Return only the updated plan.
|
|
182
|
-
- id:
|
|
182
|
+
- id: step5
|
|
183
183
|
kind: llm
|
|
184
184
|
role: finalizer
|
|
185
185
|
prompt: >-
|
|
186
186
|
Rewrite the current result into a concise user-facing final answer.
|
|
187
187
|
Preserve facts and caveats.
|
|
188
188
|
edges:
|
|
189
|
-
- from:
|
|
190
|
-
to:
|
|
191
|
-
- from:
|
|
192
|
-
to:
|
|
189
|
+
- from: step1
|
|
190
|
+
to: step2
|
|
191
|
+
- from: step2
|
|
192
|
+
to: step3
|
|
193
193
|
when: has_result
|
|
194
|
-
- from:
|
|
195
|
-
to:
|
|
194
|
+
- from: step3
|
|
195
|
+
to: step5
|
|
196
196
|
when: review_ok
|
|
197
|
-
- from:
|
|
198
|
-
to:
|
|
197
|
+
- from: step3
|
|
198
|
+
to: step4
|
|
199
199
|
when: review_incomplete
|
|
200
|
-
- from:
|
|
201
|
-
to:
|
|
200
|
+
- from: step4
|
|
201
|
+
to: step2
|
|
202
202
|
when: has_plan
|
|
203
203
|
- id: evaluator-optimizer
|
|
204
|
-
entryNode:
|
|
204
|
+
entryNode: step1
|
|
205
205
|
nodes:
|
|
206
|
-
- id:
|
|
206
|
+
- id: step1
|
|
207
207
|
kind: agent
|
|
208
|
-
- id:
|
|
208
|
+
- id: step2
|
|
209
209
|
kind: llm
|
|
210
210
|
role: reviewer
|
|
211
211
|
prompt: >-
|
|
212
212
|
Review the current result, call out missing verification or obvious gaps,
|
|
213
213
|
and state whether the work looks sufficient.
|
|
214
|
-
- id:
|
|
214
|
+
- id: step3
|
|
215
215
|
kind: llm
|
|
216
216
|
role: replanner
|
|
217
217
|
prompt: >-
|
|
218
218
|
Refine the plan based on the reviewer feedback and current result.
|
|
219
219
|
Return only the updated plan.
|
|
220
|
-
- id:
|
|
220
|
+
- id: step4
|
|
221
221
|
kind: llm
|
|
222
222
|
role: finalizer
|
|
223
223
|
prompt: >-
|
|
224
224
|
Rewrite the current result into a concise user-facing final answer.
|
|
225
225
|
Preserve facts and caveats.
|
|
226
226
|
edges:
|
|
227
|
-
- from:
|
|
228
|
-
to:
|
|
227
|
+
- from: step1
|
|
228
|
+
to: step2
|
|
229
229
|
when: has_result
|
|
230
|
-
- from:
|
|
231
|
-
to:
|
|
230
|
+
- from: step2
|
|
231
|
+
to: step4
|
|
232
232
|
when: review_ok
|
|
233
|
-
- from:
|
|
234
|
-
to:
|
|
233
|
+
- from: step2
|
|
234
|
+
to: step3
|
|
235
235
|
when: review_incomplete
|
|
236
|
-
- from:
|
|
237
|
-
to:
|
|
236
|
+
- from: step3
|
|
237
|
+
to: step1
|
|
238
238
|
when: has_plan
|
|
239
239
|
- id: approval-gate
|
|
240
|
-
entryNode:
|
|
240
|
+
entryNode: step1
|
|
241
241
|
nodes:
|
|
242
|
-
- id:
|
|
242
|
+
- id: step1
|
|
243
243
|
kind: llm
|
|
244
244
|
role: planner
|
|
245
245
|
prompt: >-
|
|
246
246
|
You are the workflow planner. Produce a concise execution plan for the user request
|
|
247
247
|
before execution starts.
|
|
248
|
-
- id:
|
|
248
|
+
- id: step2
|
|
249
249
|
kind: approval
|
|
250
|
-
- id:
|
|
250
|
+
- id: step3
|
|
251
251
|
kind: agent
|
|
252
|
-
- id:
|
|
252
|
+
- id: step4
|
|
253
253
|
kind: llm
|
|
254
254
|
role: finalizer
|
|
255
255
|
prompt: >-
|
|
256
256
|
Rewrite the current result into a concise user-facing final answer.
|
|
257
257
|
Preserve facts and caveats.
|
|
258
258
|
edges:
|
|
259
|
-
- from:
|
|
260
|
-
to:
|
|
261
|
-
- from:
|
|
262
|
-
to:
|
|
259
|
+
- from: step1
|
|
260
|
+
to: step2
|
|
261
|
+
- from: step2
|
|
262
|
+
to: step3
|
|
263
263
|
when: approval_approved
|
|
264
|
-
- from:
|
|
265
|
-
to:
|
|
264
|
+
- from: step2
|
|
265
|
+
to: step3
|
|
266
266
|
when: approval_edited
|
|
267
|
-
- from:
|
|
268
|
-
to:
|
|
267
|
+
- from: step3
|
|
268
|
+
to: step4
|
|
269
269
|
when: has_result
|
|
270
270
|
- id: handoff
|
|
271
|
-
entryNode:
|
|
271
|
+
entryNode: step1
|
|
272
272
|
nodes:
|
|
273
|
-
- id:
|
|
273
|
+
- id: step1
|
|
274
274
|
kind: agent
|
|
275
275
|
agent: worker
|
|
276
|
-
- id:
|
|
276
|
+
- id: step2
|
|
277
277
|
kind: llm
|
|
278
278
|
role: finalizer
|
|
279
279
|
prompt: >-
|
|
280
280
|
Rewrite the current result into a concise user-facing final answer.
|
|
281
281
|
Preserve facts and caveats.
|
|
282
282
|
edges:
|
|
283
|
-
- from:
|
|
284
|
-
to:
|
|
283
|
+
- from: step1
|
|
284
|
+
to: step2
|
|
285
285
|
when: has_result
|
|
286
286
|
- id: orchestrator-workers
|
|
287
|
-
entryNode:
|
|
287
|
+
entryNode: step1
|
|
288
288
|
nodes:
|
|
289
|
-
- id:
|
|
289
|
+
- id: step1
|
|
290
290
|
kind: llm
|
|
291
291
|
role: planner
|
|
292
292
|
prompt: >-
|
|
293
293
|
You are the workflow planner. Produce a concise plan for the user request
|
|
294
294
|
before execution starts.
|
|
295
|
-
- id:
|
|
295
|
+
- id: step2
|
|
296
296
|
kind: agent
|
|
297
297
|
agent: worker
|
|
298
|
-
- id:
|
|
298
|
+
- id: step3
|
|
299
299
|
kind: llm
|
|
300
300
|
role: reviewer
|
|
301
301
|
prompt: >-
|
|
302
302
|
Review the current result, call out missing verification or obvious gaps,
|
|
303
303
|
and state whether the work looks sufficient.
|
|
304
|
-
- id:
|
|
304
|
+
- id: step4
|
|
305
305
|
kind: llm
|
|
306
306
|
role: finalizer
|
|
307
307
|
prompt: >-
|
|
308
308
|
Rewrite the current result into a concise user-facing final answer.
|
|
309
309
|
Preserve facts and caveats.
|
|
310
310
|
edges:
|
|
311
|
-
- from:
|
|
312
|
-
to:
|
|
313
|
-
- from:
|
|
314
|
-
to:
|
|
311
|
+
- from: step1
|
|
312
|
+
to: step2
|
|
313
|
+
- from: step2
|
|
314
|
+
to: step3
|
|
315
315
|
when: has_result
|
|
316
|
-
- from:
|
|
317
|
-
to:
|
|
316
|
+
- from: step3
|
|
317
|
+
to: step4
|
|
318
|
+
when: review_ok
|
|
319
|
+
- id: coding-loop
|
|
320
|
+
entryNode: step1
|
|
321
|
+
nodes:
|
|
322
|
+
- id: step1
|
|
323
|
+
kind: llm
|
|
324
|
+
role: planner
|
|
325
|
+
prompt: >-
|
|
326
|
+
You are the coding workflow planner. Define the intended code change and required verification.
|
|
327
|
+
- id: step2
|
|
328
|
+
kind: agent
|
|
329
|
+
agent: coderAgent
|
|
330
|
+
- id: step3
|
|
331
|
+
kind: llm
|
|
332
|
+
role: reviewer
|
|
333
|
+
prompt: >-
|
|
334
|
+
Review the coding result, note missing validation, and decide whether the work is sufficient.
|
|
335
|
+
- id: step4
|
|
336
|
+
kind: llm
|
|
337
|
+
role: replanner
|
|
338
|
+
prompt: >-
|
|
339
|
+
Update the coding plan based on reviewer feedback. Return only the revised concise plan.
|
|
340
|
+
- id: step5
|
|
341
|
+
kind: approval
|
|
342
|
+
- id: step6
|
|
343
|
+
kind: agent
|
|
344
|
+
agent: verifierAgent
|
|
345
|
+
- id: step7
|
|
346
|
+
kind: llm
|
|
347
|
+
role: finalizer
|
|
348
|
+
prompt: >-
|
|
349
|
+
Rewrite the coding result into a concise user-facing final answer with verification notes.
|
|
350
|
+
edges:
|
|
351
|
+
- from: step1
|
|
352
|
+
to: step2
|
|
353
|
+
- from: step2
|
|
354
|
+
to: step3
|
|
355
|
+
when: has_result
|
|
356
|
+
- from: step3
|
|
357
|
+
to: step5
|
|
358
|
+
when: review_ok
|
|
359
|
+
- from: step3
|
|
360
|
+
to: step4
|
|
361
|
+
when: review_incomplete
|
|
362
|
+
- from: step4
|
|
363
|
+
to: step2
|
|
364
|
+
when: has_plan
|
|
365
|
+
- from: step5
|
|
366
|
+
to: step6
|
|
367
|
+
when: approval_approved
|
|
368
|
+
- from: step5
|
|
369
|
+
to: step6
|
|
370
|
+
when: approval_edited
|
|
371
|
+
- from: step6
|
|
372
|
+
to: step7
|
|
373
|
+
when: has_result
|
|
374
|
+
- id: assistant-loop
|
|
375
|
+
entryNode: step1
|
|
376
|
+
nodes:
|
|
377
|
+
- id: step1
|
|
378
|
+
kind: llm
|
|
379
|
+
role: planner
|
|
380
|
+
prompt: >-
|
|
381
|
+
You are the assistant intake planner. Classify the request, determine whether it needs action,
|
|
382
|
+
and prepare the next step.
|
|
383
|
+
- id: step2
|
|
384
|
+
kind: agent
|
|
385
|
+
agent: defaultWorkerAgent
|
|
386
|
+
- id: step3
|
|
387
|
+
kind: llm
|
|
388
|
+
role: reviewer
|
|
389
|
+
prompt: >-
|
|
390
|
+
Review whether the assistant has enough information to answer directly or must ask for approval.
|
|
391
|
+
- id: step4
|
|
392
|
+
kind: approval
|
|
393
|
+
- id: step5
|
|
394
|
+
kind: llm
|
|
395
|
+
role: finalizer
|
|
396
|
+
prompt: >-
|
|
397
|
+
Produce a concise assistant reply. Keep action status, open questions, and caveats explicit.
|
|
398
|
+
edges:
|
|
399
|
+
- from: step1
|
|
400
|
+
to: step2
|
|
401
|
+
- from: step2
|
|
402
|
+
to: step3
|
|
403
|
+
when: has_result
|
|
404
|
+
- from: step3
|
|
405
|
+
to: step5
|
|
406
|
+
when: review_ok
|
|
407
|
+
- from: step3
|
|
408
|
+
to: step4
|
|
409
|
+
when: review_incomplete
|
|
410
|
+
- from: step4
|
|
411
|
+
to: step5
|
|
412
|
+
when: approval_approved
|
|
413
|
+
- from: step4
|
|
414
|
+
to: step5
|
|
415
|
+
when: approval_edited
|
|
416
|
+
- id: research-loop
|
|
417
|
+
entryNode: step1
|
|
418
|
+
nodes:
|
|
419
|
+
- id: step1
|
|
420
|
+
kind: llm
|
|
421
|
+
role: planner
|
|
422
|
+
prompt: >-
|
|
423
|
+
You are the research planner. Define the evidence to gather and what the final analysis must answer.
|
|
424
|
+
- id: step2
|
|
425
|
+
kind: agent
|
|
426
|
+
agent: gathererAgent
|
|
427
|
+
- id: step3
|
|
428
|
+
kind: llm
|
|
429
|
+
role: reviewer
|
|
430
|
+
prompt: >-
|
|
431
|
+
Review source coverage and note whether more evidence is required before analysis.
|
|
432
|
+
- id: step4
|
|
433
|
+
kind: agent
|
|
434
|
+
agent: analystAgent
|
|
435
|
+
- id: step5
|
|
436
|
+
kind: agent
|
|
437
|
+
agent: synthesizerAgent
|
|
438
|
+
- id: step6
|
|
439
|
+
kind: llm
|
|
440
|
+
role: finalizer
|
|
441
|
+
prompt: >-
|
|
442
|
+
Turn the research output into a concise, evidence-backed final answer.
|
|
443
|
+
edges:
|
|
444
|
+
- from: step1
|
|
445
|
+
to: step2
|
|
446
|
+
- from: step2
|
|
447
|
+
to: step3
|
|
448
|
+
when: has_result
|
|
449
|
+
- from: step3
|
|
450
|
+
to: step4
|
|
451
|
+
when: review_ok
|
|
452
|
+
- from: step3
|
|
453
|
+
to: step2
|
|
454
|
+
when: review_incomplete
|
|
455
|
+
- from: step4
|
|
456
|
+
to: step5
|
|
457
|
+
when: has_result
|
|
458
|
+
- from: step5
|
|
459
|
+
to: step6
|
|
460
|
+
when: has_result
|
|
461
|
+
- id: approval-review-loop
|
|
462
|
+
entryNode: step1
|
|
463
|
+
nodes:
|
|
464
|
+
- id: step1
|
|
465
|
+
kind: llm
|
|
466
|
+
role: planner
|
|
467
|
+
prompt: >-
|
|
468
|
+
You are the approval workflow planner. Clarify the requested action and the evidence needed for review.
|
|
469
|
+
- id: step2
|
|
470
|
+
kind: agent
|
|
471
|
+
agent: preparerAgent
|
|
472
|
+
- id: step3
|
|
473
|
+
kind: agent
|
|
474
|
+
agent: reviewerAgent
|
|
475
|
+
- id: step4
|
|
476
|
+
kind: approval
|
|
477
|
+
- id: step5
|
|
478
|
+
kind: llm
|
|
479
|
+
role: finalizer
|
|
480
|
+
prompt: >-
|
|
481
|
+
Summarize what was prepared, what was approved, and any remaining follow-up required.
|
|
482
|
+
edges:
|
|
483
|
+
- from: step1
|
|
484
|
+
to: step2
|
|
485
|
+
- from: step2
|
|
486
|
+
to: step3
|
|
487
|
+
when: has_result
|
|
488
|
+
- from: step3
|
|
489
|
+
to: step4
|
|
490
|
+
when: has_result
|
|
491
|
+
- from: step4
|
|
492
|
+
to: step5
|
|
493
|
+
when: approval_approved
|
|
494
|
+
- from: step4
|
|
495
|
+
to: step5
|
|
496
|
+
when: approval_edited
|
|
497
|
+
- id: chat-router-loop
|
|
498
|
+
entryNode: step1
|
|
499
|
+
nodes:
|
|
500
|
+
- id: step1
|
|
501
|
+
kind: llm
|
|
502
|
+
role: planner
|
|
503
|
+
prompt: >-
|
|
504
|
+
Route the chat request to the most suitable runtime target and prepare a concise handoff.
|
|
505
|
+
- id: step2
|
|
506
|
+
kind: agent
|
|
507
|
+
agent: assistantAgent
|
|
508
|
+
- id: step3
|
|
509
|
+
kind: llm
|
|
510
|
+
role: finalizer
|
|
511
|
+
prompt: >-
|
|
512
|
+
Convert the routed result into a channel-ready reply.
|
|
513
|
+
edges:
|
|
514
|
+
- from: step1
|
|
515
|
+
to: step2
|
|
516
|
+
- from: step2
|
|
517
|
+
to: step3
|
|
518
|
+
when: has_result
|
|
519
|
+
- id: coding-lite-loop
|
|
520
|
+
entryNode: step1
|
|
521
|
+
nodes:
|
|
522
|
+
- id: step1
|
|
523
|
+
kind: llm
|
|
524
|
+
role: planner
|
|
525
|
+
prompt: >-
|
|
526
|
+
You are the coding sidecar planner. Scope the repository help request and prepare the next coding step.
|
|
527
|
+
- id: step2
|
|
528
|
+
kind: agent
|
|
529
|
+
agent: coderAgent
|
|
530
|
+
- id: step3
|
|
531
|
+
kind: llm
|
|
532
|
+
role: finalizer
|
|
533
|
+
prompt: >-
|
|
534
|
+
Rewrite the coding sidecar result into a concise answer.
|
|
535
|
+
edges:
|
|
536
|
+
- from: step1
|
|
537
|
+
to: step2
|
|
538
|
+
- from: step2
|
|
539
|
+
to: step3
|
|
540
|
+
when: has_result
|
|
541
|
+
- id: delegation-loop
|
|
542
|
+
entryNode: step1
|
|
543
|
+
nodes:
|
|
544
|
+
- id: step1
|
|
545
|
+
kind: llm
|
|
546
|
+
role: planner
|
|
547
|
+
prompt: >-
|
|
548
|
+
Choose the best worker for the task and prepare a concise delegated plan.
|
|
549
|
+
- id: step2
|
|
550
|
+
kind: agent
|
|
551
|
+
agent: defaultWorkerFallback
|
|
552
|
+
- id: step3
|
|
553
|
+
kind: llm
|
|
554
|
+
role: reviewer
|
|
555
|
+
prompt: >-
|
|
556
|
+
Review the delegated result and decide whether it is sufficient to finalize.
|
|
557
|
+
- id: step4
|
|
558
|
+
kind: llm
|
|
559
|
+
role: finalizer
|
|
560
|
+
prompt: >-
|
|
561
|
+
Rewrite the delegated task result into a concise user-facing answer.
|
|
562
|
+
edges:
|
|
563
|
+
- from: step1
|
|
564
|
+
to: step2
|
|
565
|
+
- from: step2
|
|
566
|
+
to: step3
|
|
567
|
+
when: has_result
|
|
568
|
+
- from: step3
|
|
569
|
+
to: step4
|
|
318
570
|
when: review_ok
|