@botbotgo/agent-harness 0.0.99 → 0.0.100

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 (64) hide show
  1. package/README.md +3 -6
  2. package/README.zh.md +2 -2
  3. package/dist/benchmark/upstream-runtime-ab-benchmark.d.ts +1 -1
  4. package/dist/benchmark/upstream-runtime-ab-benchmark.js +1 -2
  5. package/dist/contracts/core.d.ts +2 -2
  6. package/dist/contracts/runtime.d.ts +1 -5
  7. package/dist/package-version.d.ts +1 -1
  8. package/dist/package-version.js +1 -1
  9. package/dist/runtime/adapter/deepagent-runnable-config.d.ts +30 -0
  10. package/dist/runtime/adapter/deepagent-runnable-config.js +22 -0
  11. package/dist/runtime/adapter/index.d.ts +0 -2
  12. package/dist/runtime/adapter/index.js +0 -2
  13. package/dist/runtime/adapter/invocation-result.d.ts +13 -0
  14. package/dist/runtime/adapter/invocation-result.js +40 -0
  15. package/dist/runtime/adapter/langchain-runnable-config.d.ts +25 -0
  16. package/dist/runtime/adapter/langchain-runnable-config.js +19 -0
  17. package/dist/runtime/adapter/local-tool-invocation.d.ts +23 -0
  18. package/dist/runtime/adapter/local-tool-invocation.js +64 -0
  19. package/dist/runtime/adapter/runtime-adapter-support.d.ts +18 -0
  20. package/dist/runtime/adapter/runtime-adapter-support.js +54 -0
  21. package/dist/runtime/adapter/stream-event-projection.d.ts +19 -0
  22. package/dist/runtime/adapter/stream-event-projection.js +79 -0
  23. package/dist/runtime/adapter/stream-text-consumption.d.ts +4 -0
  24. package/dist/runtime/adapter/stream-text-consumption.js +18 -0
  25. package/dist/runtime/adapter/tool/builtin-middleware-tools.d.ts +64 -0
  26. package/dist/runtime/adapter/tool/builtin-middleware-tools.js +144 -0
  27. package/dist/runtime/adapter/tool/tool-replay.d.ts +18 -0
  28. package/dist/runtime/adapter/tool/tool-replay.js +26 -0
  29. package/dist/runtime/agent-runtime-adapter.d.ts +1 -42
  30. package/dist/runtime/agent-runtime-adapter.js +94 -1425
  31. package/dist/runtime/harness/run/helpers.js +2 -8
  32. package/dist/runtime/harness/run/routing.d.ts +1 -3
  33. package/dist/runtime/harness/run/routing.js +2 -25
  34. package/dist/runtime/harness/run/run-lifecycle.d.ts +0 -11
  35. package/dist/runtime/harness/run/run-lifecycle.js +7 -50
  36. package/dist/runtime/harness/runtime-defaults.d.ts +4 -0
  37. package/dist/runtime/harness/runtime-defaults.js +39 -0
  38. package/dist/runtime/harness/system/inventory.js +2 -1
  39. package/dist/runtime/harness/system/skill-requirements.d.ts +1 -0
  40. package/dist/runtime/harness.d.ts +3 -7
  41. package/dist/runtime/harness.js +56 -69
  42. package/dist/runtime/index.d.ts +1 -12
  43. package/dist/runtime/index.js +1 -12
  44. package/dist/runtime/support/compiled-binding.d.ts +0 -2
  45. package/dist/runtime/support/compiled-binding.js +3 -22
  46. package/dist/runtime/support/harness-support.d.ts +0 -11
  47. package/dist/runtime/support/harness-support.js +1 -44
  48. package/dist/runtime/support/index.d.ts +1 -1
  49. package/dist/runtime/support/index.js +1 -1
  50. package/dist/workspace/agent-binding-compiler.js +9 -93
  51. package/dist/workspace/index.d.ts +0 -5
  52. package/dist/workspace/index.js +0 -5
  53. package/dist/workspace/object-loader.js +4 -21
  54. package/dist/workspace/support/agent-capabilities.js +2 -2
  55. package/dist/workspace/support/workspace-ref-utils.d.ts +0 -2
  56. package/dist/workspace/support/workspace-ref-utils.js +0 -17
  57. package/dist/workspace/validate.js +1 -1
  58. package/package.json +1 -1
  59. package/dist/config/workflows/langgraph-workflows.yaml +0 -570
  60. package/dist/config/workflows/runtime-profiles.yaml +0 -94
  61. package/dist/runtime/adapter/langgraph/presets.d.ts +0 -25
  62. package/dist/runtime/adapter/langgraph/presets.js +0 -165
  63. package/dist/runtime/adapter/langgraph/profiles.d.ts +0 -6
  64. package/dist/runtime/adapter/langgraph/profiles.js +0 -206
@@ -1,570 +0,0 @@
1
- # agent-harness feature: schema version for this declarative config object.
2
- apiVersion: agent-harness/v1alpha1
3
- # agent-harness feature: catalog of reusable LangGraph-shaped workflow resources.
4
- kind: LangGraphWorkflows
5
- spec:
6
- - id: default
7
- entryNode: step1
8
- nodes:
9
- - id: step1
10
- kind: llm
11
- role: planner
12
- prompt: >-
13
- You are the workflow planner. Produce a concise plan for the user request
14
- before execution starts.
15
- - id: step2
16
- kind: agent
17
- - id: step3
18
- kind: llm
19
- role: reviewer
20
- prompt: >-
21
- Review the current result, call out missing verification or obvious gaps,
22
- and state whether the work looks sufficient.
23
- - id: step4
24
- kind: llm
25
- role: replanner
26
- prompt: >-
27
- Refine the plan based on the reviewer feedback and current result.
28
- Return only the updated plan.
29
- - id: step5
30
- kind: llm
31
- role: finalizer
32
- prompt: >-
33
- Rewrite the current result into a concise user-facing final answer.
34
- Preserve facts and caveats.
35
- edges:
36
- - from: step1
37
- to: step2
38
- - from: step2
39
- to: step3
40
- when: has_result
41
- - from: step3
42
- to: step5
43
- when: review_ok
44
- - from: step3
45
- to: step4
46
- when: review_incomplete
47
- - from: step4
48
- to: step2
49
- when: has_plan
50
- - id: react
51
- entryNode: step1
52
- nodes:
53
- - id: step1
54
- kind: agent
55
- edges: []
56
- - id: prompt-chaining
57
- entryNode: step1
58
- nodes:
59
- - id: step1
60
- kind: llm
61
- role: planner
62
- prompt: >-
63
- You are the workflow planner. Produce a concise execution plan for the user request
64
- before execution starts.
65
- - id: step2
66
- kind: agent
67
- - id: step3
68
- kind: llm
69
- role: finalizer
70
- prompt: >-
71
- Rewrite the current result into a concise user-facing final answer.
72
- Preserve facts and caveats.
73
- edges:
74
- - from: step1
75
- to: step2
76
- - from: step2
77
- to: step3
78
- when: has_result
79
- - id: routing
80
- entryNode: step1
81
- nodes:
82
- - id: step1
83
- kind: llm
84
- role: planner
85
- prompt: >-
86
- You are the workflow planner. Produce a concise execution plan for the user request
87
- before execution starts.
88
- - id: step2
89
- kind: agent
90
- agent: worker
91
- - id: step3
92
- kind: llm
93
- role: finalizer
94
- prompt: >-
95
- Rewrite the current result into a concise user-facing final answer.
96
- Preserve facts and caveats.
97
- edges:
98
- - from: step1
99
- to: step2
100
- - from: step2
101
- to: step3
102
- when: has_result
103
- - id: parallelization
104
- entryNode: step1
105
- nodes:
106
- - id: step1
107
- kind: llm
108
- role: planner
109
- prompt: >-
110
- You are the workflow planner. Produce a concise execution plan for the user request
111
- before execution starts.
112
- - id: step2
113
- kind: agent
114
- agent: worker
115
- - id: step3
116
- kind: llm
117
- role: reviewer
118
- prompt: >-
119
- Review the current result, call out missing verification or obvious gaps,
120
- and state whether the work looks sufficient.
121
- - id: step4
122
- kind: llm
123
- role: finalizer
124
- prompt: >-
125
- Rewrite the current result into a concise user-facing final answer.
126
- Preserve facts and caveats.
127
- edges:
128
- - from: step1
129
- to: step2
130
- - from: step2
131
- to: step3
132
- when: has_result
133
- - from: step3
134
- to: step4
135
- when: review_ok
136
- - id: plan-execute
137
- entryNode: step1
138
- nodes:
139
- - id: step1
140
- kind: llm
141
- role: planner
142
- prompt: >-
143
- You are the workflow planner. Produce a concise execution plan for the user request
144
- before execution starts.
145
- - id: step2
146
- kind: agent
147
- - id: step3
148
- kind: llm
149
- role: finalizer
150
- prompt: >-
151
- Rewrite the current result into a concise user-facing final answer.
152
- Preserve facts and caveats.
153
- edges:
154
- - from: step1
155
- to: step2
156
- - from: step2
157
- to: step3
158
- when: has_result
159
- - id: review-loop
160
- entryNode: step1
161
- nodes:
162
- - id: step1
163
- kind: llm
164
- role: planner
165
- prompt: >-
166
- You are the workflow planner. Produce a concise plan for the user request
167
- before execution starts.
168
- - id: step2
169
- kind: agent
170
- - id: step3
171
- kind: llm
172
- role: reviewer
173
- prompt: >-
174
- Review the current result, call out missing verification or obvious gaps,
175
- and state whether the work looks sufficient.
176
- - id: step4
177
- kind: llm
178
- role: replanner
179
- prompt: >-
180
- Refine the plan based on the reviewer feedback and current result.
181
- Return only the updated plan.
182
- - id: step5
183
- kind: llm
184
- role: finalizer
185
- prompt: >-
186
- Rewrite the current result into a concise user-facing final answer.
187
- Preserve facts and caveats.
188
- edges:
189
- - from: step1
190
- to: step2
191
- - from: step2
192
- to: step3
193
- when: has_result
194
- - from: step3
195
- to: step5
196
- when: review_ok
197
- - from: step3
198
- to: step4
199
- when: review_incomplete
200
- - from: step4
201
- to: step2
202
- when: has_plan
203
- - id: evaluator-optimizer
204
- entryNode: step1
205
- nodes:
206
- - id: step1
207
- kind: agent
208
- - id: step2
209
- kind: llm
210
- role: reviewer
211
- prompt: >-
212
- Review the current result, call out missing verification or obvious gaps,
213
- and state whether the work looks sufficient.
214
- - id: step3
215
- kind: llm
216
- role: replanner
217
- prompt: >-
218
- Refine the plan based on the reviewer feedback and current result.
219
- Return only the updated plan.
220
- - id: step4
221
- kind: llm
222
- role: finalizer
223
- prompt: >-
224
- Rewrite the current result into a concise user-facing final answer.
225
- Preserve facts and caveats.
226
- edges:
227
- - from: step1
228
- to: step2
229
- when: has_result
230
- - from: step2
231
- to: step4
232
- when: review_ok
233
- - from: step2
234
- to: step3
235
- when: review_incomplete
236
- - from: step3
237
- to: step1
238
- when: has_plan
239
- - id: approval-gate
240
- entryNode: step1
241
- nodes:
242
- - id: step1
243
- kind: llm
244
- role: planner
245
- prompt: >-
246
- You are the workflow planner. Produce a concise execution plan for the user request
247
- before execution starts.
248
- - id: step2
249
- kind: approval
250
- - id: step3
251
- kind: agent
252
- - id: step4
253
- kind: llm
254
- role: finalizer
255
- prompt: >-
256
- Rewrite the current result into a concise user-facing final answer.
257
- Preserve facts and caveats.
258
- edges:
259
- - from: step1
260
- to: step2
261
- - from: step2
262
- to: step3
263
- when: approval_approved
264
- - from: step2
265
- to: step3
266
- when: approval_edited
267
- - from: step3
268
- to: step4
269
- when: has_result
270
- - id: handoff
271
- entryNode: step1
272
- nodes:
273
- - id: step1
274
- kind: agent
275
- agent: worker
276
- - id: step2
277
- kind: llm
278
- role: finalizer
279
- prompt: >-
280
- Rewrite the current result into a concise user-facing final answer.
281
- Preserve facts and caveats.
282
- edges:
283
- - from: step1
284
- to: step2
285
- when: has_result
286
- - id: orchestrator-workers
287
- entryNode: step1
288
- nodes:
289
- - id: step1
290
- kind: llm
291
- role: planner
292
- prompt: >-
293
- You are the workflow planner. Produce a concise plan for the user request
294
- before execution starts.
295
- - id: step2
296
- kind: agent
297
- agent: worker
298
- - id: step3
299
- kind: llm
300
- role: reviewer
301
- prompt: >-
302
- Review the current result, call out missing verification or obvious gaps,
303
- and state whether the work looks sufficient.
304
- - id: step4
305
- kind: llm
306
- role: finalizer
307
- prompt: >-
308
- Rewrite the current result into a concise user-facing final answer.
309
- Preserve facts and caveats.
310
- edges:
311
- - from: step1
312
- to: step2
313
- - from: step2
314
- to: step3
315
- when: has_result
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
570
- when: review_ok
@@ -1,94 +0,0 @@
1
- # agent-harness feature: schema version for this declarative config object.
2
- apiVersion: agent-harness/v1alpha1
3
- # agent-harness feature: catalog of reusable runtime entry profiles layered on workflow resources.
4
- kind: RuntimeProfiles
5
- spec:
6
- - id: coding-runtime
7
- workflowRef: langgraph-workflow/coding-loop
8
- defaults:
9
- approvalPolicy: safe-default
10
- memoryPolicy: project-facts-only
11
- directAnswerFirst: false
12
- watchGithubActionsAfterPush: true
13
- allowPushToMaster: false
14
- closeGithubIssueOnSuccess: false
15
- requiredAgents:
16
- - coderAgent
17
- optionalAgents:
18
- - verifierAgent
19
- - id: personal-assistant
20
- workflowRef: langgraph-workflow/assistant-loop
21
- defaults:
22
- approvalPolicy: human-before-side-effects
23
- memoryPolicy: user-preferences-and-routines
24
- directAnswerFirst: true
25
- persistDurableMemory: true
26
- optionalAgents:
27
- - defaultResearchAgent
28
- - defaultWritingAgent
29
- - defaultSchedulingAgent
30
- - defaultWorkerAgent
31
- - id: research-runtime
32
- workflowRef: langgraph-workflow/research-loop
33
- defaults:
34
- approvalPolicy: minimal
35
- memoryPolicy: report-summary-only
36
- requireSourceGrounding: true
37
- requireCoverageReview: true
38
- requiredAgents:
39
- - gathererAgent
40
- - analystAgent
41
- optionalAgents:
42
- - synthesizerAgent
43
- - id: approval-review-runtime
44
- workflowRef: langgraph-workflow/approval-review-loop
45
- defaults:
46
- approvalPolicy: always-required
47
- memoryPolicy: none
48
- executeAfterApproval: true
49
- auditTrail: full
50
- requiredAgents:
51
- - preparerAgent
52
- optionalAgents:
53
- - reviewerAgent
54
- - id: claw-style-assistant
55
- workflowRef: langgraph-workflow/assistant-loop
56
- defaults:
57
- approvalPolicy: human-before-side-effects
58
- memoryPolicy: user-preferences-and-stable-context
59
- channelFirst: true
60
- attachmentAware: true
61
- sessionMemory: thread-scoped
62
- optionalAgents:
63
- - defaultWorkerAgent
64
- - id: chat-operator
65
- workflowRef: langgraph-workflow/chat-router-loop
66
- defaults:
67
- approvalPolicy: route-dependent
68
- memoryPolicy: thread-only
69
- directAnswerFirst: true
70
- optionalAgents:
71
- - codingAgent
72
- - researchAgent
73
- - assistantAgent
74
- - approvalAgent
75
- - id: copilot-sidecar
76
- workflowRef: langgraph-workflow/coding-lite-loop
77
- defaults:
78
- approvalPolicy: no-push
79
- memoryPolicy: repo-context-only
80
- directAnswerFirst: false
81
- allowRepositoryEdits: true
82
- allowPushToMaster: false
83
- runIntegrationVerification: false
84
- requiredAgents:
85
- - coderAgent
86
- - id: task-delegation-hub
87
- workflowRef: langgraph-workflow/delegation-loop
88
- defaults:
89
- approvalPolicy: worker-dependent
90
- memoryPolicy: task-summary-only
91
- routingStrategy: planner-first
92
- reviewerEnabled: true
93
- optionalAgents:
94
- - defaultWorkerFallback
@@ -1,25 +0,0 @@
1
- type LangGraphPresetNode = {
2
- id: string;
3
- kind: string;
4
- prompt?: string;
5
- role?: string;
6
- agent?: string;
7
- tool?: string;
8
- };
9
- type LangGraphPresetEdge = {
10
- from: string;
11
- to: string;
12
- when?: string;
13
- };
14
- export type LangGraphPresetWorkflow = {
15
- entryNode: string;
16
- nodes: LangGraphPresetNode[];
17
- edges: LangGraphPresetEdge[];
18
- };
19
- export type LangGraphPresetName = "react" | "prompt-chaining" | "routing" | "parallelization" | "plan-execute" | "review-loop" | "evaluator-optimizer" | "approval-gate" | "handoff" | "orchestrator-workers";
20
- type LangGraphPresetOptions = {
21
- agent?: string;
22
- };
23
- export declare const SUPPORTED_LANGGRAPH_PRESETS: LangGraphPresetName[];
24
- export declare function resolveLangGraphPresetWorkflow(presetName: string | undefined, options?: LangGraphPresetOptions): LangGraphPresetWorkflow | undefined;
25
- export {};