@botbotgo/agent-harness 0.0.93 → 0.0.95

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 CHANGED
@@ -418,9 +418,10 @@ spec:
418
418
  entryNode: planner
419
419
  nodes:
420
420
  - id: planner
421
- kind: planner
421
+ kind: llm
422
+ role: planner
422
423
  - id: executor
423
- kind: executor
424
+ kind: agent
424
425
  edges:
425
426
  - from: planner
426
427
  to: executor
@@ -458,16 +459,45 @@ The repository also checks in matching YAML workflow resources for these pattern
458
459
  `config/workflows/langgraph-workflows.yaml`, so applications can reference them directly with
459
460
  `workflow.ref: langgraph-workflow/<pattern-id>`.
460
461
 
461
- For specialist-driven presets such as `routing`, `parallelization`, `handoff`, and `orchestrator-workers`, also set:
462
+ For agent-driven presets such as `routing`, `parallelization`, `handoff`, and `orchestrator-workers`, also set:
462
463
 
463
464
  ```yaml
464
465
  config:
465
466
  preset: handoff
466
- specialist: researcher
467
+ agent: researcher
468
+ ```
469
+
470
+ LangGraph also supports profile-first entry config for common application shapes:
471
+
472
+ - `coding-runtime`
473
+ - `personal-assistant`
474
+ - `research-runtime`
475
+ - `approval-review-runtime`
476
+ - `claw-style-assistant`
477
+ - `chat-operator`
478
+ - `copilot-sidecar`
479
+ - `task-delegation-hub`
480
+
481
+ ```yaml
482
+ config:
483
+ profile: copilot-sidecar
484
+ with:
485
+ coderAgent: repo-coder-lite
467
486
  ```
468
487
 
469
488
  These presets are harness-owned workflow templates built on top of the LangGraph backend. They are not LangGraph-native node kinds or edge conditions.
470
489
 
490
+ Current workflow primitive node kinds:
491
+
492
+ - `llm`
493
+ - `agent`
494
+ - `tool`
495
+ - `approval`
496
+ - `condition`
497
+
498
+ Only these primitive node kinds are supported in workflow YAML. Role-shaped names such as `planner`, `reviewer`,
499
+ `replanner`, `specialist`, `executor`, and `finalizer` are not part of the final DSL.
500
+
471
501
  Use an explicit workflow ref when an application wants full graph control:
472
502
 
473
503
  ```yaml
package/README.zh.md CHANGED
@@ -418,14 +418,44 @@ spec:
418
418
  entryNode: planner
419
419
  nodes:
420
420
  - id: planner
421
- kind: planner
421
+ kind: llm
422
+ role: planner
422
423
  - id: executor
423
- kind: executor
424
+ kind: agent
424
425
  edges:
425
426
  - from: planner
426
427
  to: executor
427
428
  ```
428
429
 
430
+ 当前建议优先使用的 workflow primitive node kinds:
431
+
432
+ - `llm`
433
+ - `agent`
434
+ - `tool`
435
+ - `approval`
436
+ - `condition`
437
+
438
+ 最终版 workflow YAML 只支持这些 primitive node kinds。`planner`、`reviewer`、`replanner`、`specialist`、
439
+ `executor`、`finalizer` 这类角色型名字不属于最终 DSL。
440
+
441
+ LangGraph 也支持面向常见应用入口的 profile-first 配置:
442
+
443
+ - `coding-runtime`
444
+ - `personal-assistant`
445
+ - `research-runtime`
446
+ - `approval-review-runtime`
447
+ - `claw-style-assistant`
448
+ - `chat-operator`
449
+ - `copilot-sidecar`
450
+ - `task-delegation-hub`
451
+
452
+ ```yaml
453
+ config:
454
+ profile: copilot-sidecar
455
+ with:
456
+ coderAgent: repo-coder-lite
457
+ ```
458
+
429
459
  ```yaml
430
460
  apiVersion: agent-harness/v1alpha1
431
461
  kind: Agent
@@ -7,24 +7,28 @@ spec:
7
7
  entryNode: planner
8
8
  nodes:
9
9
  - id: planner
10
- kind: planner
10
+ kind: llm
11
+ role: planner
11
12
  prompt: >-
12
13
  You are the workflow planner. Produce a concise plan for the user request
13
14
  before execution starts.
14
15
  - id: executor
15
- kind: executor
16
+ kind: agent
16
17
  - id: reviewer
17
- kind: reviewer
18
+ kind: llm
19
+ role: reviewer
18
20
  prompt: >-
19
21
  Review the current result, call out missing verification or obvious gaps,
20
22
  and state whether the work looks sufficient.
21
23
  - id: replanner
22
- kind: replanner
24
+ kind: llm
25
+ role: replanner
23
26
  prompt: >-
24
27
  Refine the plan based on the reviewer feedback and current result.
25
28
  Return only the updated plan.
26
29
  - id: finalizer
27
- kind: finalizer
30
+ kind: llm
31
+ role: finalizer
28
32
  prompt: >-
29
33
  Rewrite the current result into a concise user-facing final answer.
30
34
  Preserve facts and caveats.
@@ -47,20 +51,22 @@ spec:
47
51
  entryNode: executor
48
52
  nodes:
49
53
  - id: executor
50
- kind: executor
54
+ kind: agent
51
55
  edges: []
52
56
  - id: prompt-chaining
53
57
  entryNode: planner
54
58
  nodes:
55
59
  - id: planner
56
- kind: planner
60
+ kind: llm
61
+ role: planner
57
62
  prompt: >-
58
63
  You are the workflow planner. Produce a concise execution plan for the user request
59
64
  before execution starts.
60
65
  - id: executor
61
- kind: executor
66
+ kind: agent
62
67
  - id: finalizer
63
- kind: finalizer
68
+ kind: llm
69
+ role: finalizer
64
70
  prompt: >-
65
71
  Rewrite the current result into a concise user-facing final answer.
66
72
  Preserve facts and caveats.
@@ -74,49 +80,54 @@ spec:
74
80
  entryNode: planner
75
81
  nodes:
76
82
  - id: planner
77
- kind: planner
83
+ kind: llm
84
+ role: planner
78
85
  prompt: >-
79
86
  You are the workflow planner. Produce a concise execution plan for the user request
80
87
  before execution starts.
81
- - id: specialist
82
- kind: specialist
83
- specialist: specialist
88
+ - id: worker
89
+ kind: agent
90
+ agent: worker
84
91
  - id: finalizer
85
- kind: finalizer
92
+ kind: llm
93
+ role: finalizer
86
94
  prompt: >-
87
95
  Rewrite the current result into a concise user-facing final answer.
88
96
  Preserve facts and caveats.
89
97
  edges:
90
98
  - from: planner
91
- to: specialist
92
- - from: specialist
99
+ to: worker
100
+ - from: worker
93
101
  to: finalizer
94
102
  when: has_result
95
103
  - id: parallelization
96
104
  entryNode: planner
97
105
  nodes:
98
106
  - id: planner
99
- kind: planner
107
+ kind: llm
108
+ role: planner
100
109
  prompt: >-
101
110
  You are the workflow planner. Produce a concise execution plan for the user request
102
111
  before execution starts.
103
- - id: specialist
104
- kind: specialist
105
- specialist: specialist
112
+ - id: worker
113
+ kind: agent
114
+ agent: worker
106
115
  - id: reviewer
107
- kind: reviewer
116
+ kind: llm
117
+ role: reviewer
108
118
  prompt: >-
109
119
  Review the current result, call out missing verification or obvious gaps,
110
120
  and state whether the work looks sufficient.
111
121
  - id: finalizer
112
- kind: finalizer
122
+ kind: llm
123
+ role: finalizer
113
124
  prompt: >-
114
125
  Rewrite the current result into a concise user-facing final answer.
115
126
  Preserve facts and caveats.
116
127
  edges:
117
128
  - from: planner
118
- to: specialist
119
- - from: specialist
129
+ to: worker
130
+ - from: worker
120
131
  to: reviewer
121
132
  when: has_result
122
133
  - from: reviewer
@@ -126,14 +137,16 @@ spec:
126
137
  entryNode: planner
127
138
  nodes:
128
139
  - id: planner
129
- kind: planner
140
+ kind: llm
141
+ role: planner
130
142
  prompt: >-
131
143
  You are the workflow planner. Produce a concise execution plan for the user request
132
144
  before execution starts.
133
145
  - id: executor
134
- kind: executor
146
+ kind: agent
135
147
  - id: finalizer
136
- kind: finalizer
148
+ kind: llm
149
+ role: finalizer
137
150
  prompt: >-
138
151
  Rewrite the current result into a concise user-facing final answer.
139
152
  Preserve facts and caveats.
@@ -147,24 +160,28 @@ spec:
147
160
  entryNode: planner
148
161
  nodes:
149
162
  - id: planner
150
- kind: planner
163
+ kind: llm
164
+ role: planner
151
165
  prompt: >-
152
166
  You are the workflow planner. Produce a concise plan for the user request
153
167
  before execution starts.
154
168
  - id: executor
155
- kind: executor
169
+ kind: agent
156
170
  - id: reviewer
157
- kind: reviewer
171
+ kind: llm
172
+ role: reviewer
158
173
  prompt: >-
159
174
  Review the current result, call out missing verification or obvious gaps,
160
175
  and state whether the work looks sufficient.
161
176
  - id: replanner
162
- kind: replanner
177
+ kind: llm
178
+ role: replanner
163
179
  prompt: >-
164
180
  Refine the plan based on the reviewer feedback and current result.
165
181
  Return only the updated plan.
166
182
  - id: finalizer
167
- kind: finalizer
183
+ kind: llm
184
+ role: finalizer
168
185
  prompt: >-
169
186
  Rewrite the current result into a concise user-facing final answer.
170
187
  Preserve facts and caveats.
@@ -187,19 +204,22 @@ spec:
187
204
  entryNode: executor
188
205
  nodes:
189
206
  - id: executor
190
- kind: executor
207
+ kind: agent
191
208
  - id: reviewer
192
- kind: reviewer
209
+ kind: llm
210
+ role: reviewer
193
211
  prompt: >-
194
212
  Review the current result, call out missing verification or obvious gaps,
195
213
  and state whether the work looks sufficient.
196
214
  - id: replanner
197
- kind: replanner
215
+ kind: llm
216
+ role: replanner
198
217
  prompt: >-
199
218
  Refine the plan based on the reviewer feedback and current result.
200
219
  Return only the updated plan.
201
220
  - id: finalizer
202
- kind: finalizer
221
+ kind: llm
222
+ role: finalizer
203
223
  prompt: >-
204
224
  Rewrite the current result into a concise user-facing final answer.
205
225
  Preserve facts and caveats.
@@ -220,16 +240,18 @@ spec:
220
240
  entryNode: planner
221
241
  nodes:
222
242
  - id: planner
223
- kind: planner
243
+ kind: llm
244
+ role: planner
224
245
  prompt: >-
225
246
  You are the workflow planner. Produce a concise execution plan for the user request
226
247
  before execution starts.
227
248
  - id: approval
228
249
  kind: approval
229
250
  - id: executor
230
- kind: executor
251
+ kind: agent
231
252
  - id: finalizer
232
- kind: finalizer
253
+ kind: llm
254
+ role: finalizer
233
255
  prompt: >-
234
256
  Rewrite the current result into a concise user-facing final answer.
235
257
  Preserve facts and caveats.
@@ -246,45 +268,49 @@ spec:
246
268
  to: finalizer
247
269
  when: has_result
248
270
  - id: handoff
249
- entryNode: specialist
271
+ entryNode: worker
250
272
  nodes:
251
- - id: specialist
252
- kind: specialist
253
- specialist: specialist
273
+ - id: worker
274
+ kind: agent
275
+ agent: worker
254
276
  - id: finalizer
255
- kind: finalizer
277
+ kind: llm
278
+ role: finalizer
256
279
  prompt: >-
257
280
  Rewrite the current result into a concise user-facing final answer.
258
281
  Preserve facts and caveats.
259
282
  edges:
260
- - from: specialist
283
+ - from: worker
261
284
  to: finalizer
262
285
  when: has_result
263
286
  - id: orchestrator-workers
264
287
  entryNode: planner
265
288
  nodes:
266
289
  - id: planner
267
- kind: planner
290
+ kind: llm
291
+ role: planner
268
292
  prompt: >-
269
293
  You are the workflow planner. Produce a concise plan for the user request
270
294
  before execution starts.
271
- - id: specialist
272
- kind: specialist
273
- specialist: specialist
295
+ - id: worker
296
+ kind: agent
297
+ agent: worker
274
298
  - id: reviewer
275
- kind: reviewer
299
+ kind: llm
300
+ role: reviewer
276
301
  prompt: >-
277
302
  Review the current result, call out missing verification or obvious gaps,
278
303
  and state whether the work looks sufficient.
279
304
  - id: finalizer
280
- kind: finalizer
305
+ kind: llm
306
+ role: finalizer
281
307
  prompt: >-
282
308
  Rewrite the current result into a concise user-facing final answer.
283
309
  Preserve facts and caveats.
284
310
  edges:
285
311
  - from: planner
286
- to: specialist
287
- - from: specialist
312
+ to: worker
313
+ - from: worker
288
314
  to: reviewer
289
315
  when: has_result
290
316
  - from: reviewer
@@ -1 +1 @@
1
- export declare const AGENT_HARNESS_VERSION = "0.0.92";
1
+ export declare const AGENT_HARNESS_VERSION = "0.0.94";
@@ -1 +1 @@
1
- export const AGENT_HARNESS_VERSION = "0.0.92";
1
+ export const AGENT_HARNESS_VERSION = "0.0.94";
@@ -67,6 +67,7 @@ export declare class AgentRuntimeAdapter {
67
67
  private resolveSubagents;
68
68
  private createLangChainRunnable;
69
69
  private normalizeLangGraphWorkflowNode;
70
+ private invokeLangGraphToolNode;
70
71
  private listLangGraphWorkflowNodes;
71
72
  private normalizeLangGraphWorkflowEdge;
72
73
  private listLangGraphWorkflowEdges;
@@ -90,7 +91,7 @@ export declare class AgentRuntimeAdapter {
90
91
  private loadLangGraphSession;
91
92
  private clearLangGraphSession;
92
93
  private invokeWorkflowNodeModel;
93
- private invokeLangGraphSpecialist;
94
+ private invokeLangGraphAgentNode;
94
95
  private createLangGraphRunnable;
95
96
  private extractExecutedToolResults;
96
97
  private extractLangGraphResultOutput;