@ai-sdk/harness-deepagents 1.0.92 → 1.0.93
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/CHANGELOG.md +15 -0
- package/README.md +4 -4
- package/dist/bridge/index.mjs +199 -138
- package/dist/bridge/index.mjs.map +1 -1
- package/dist/bridge/package.json +6 -6
- package/dist/bridge/pnpm-lock.yaml +68 -68
- package/dist/index.d.ts +6 -1
- package/dist/index.js +27 -27
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/src/bridge/index.ts +35 -14
- package/src/bridge/package.json +6 -6
- package/src/bridge/pnpm-lock.yaml +68 -68
- package/src/deepagents-bridge-protocol.ts +1 -0
- package/src/deepagents-harness.ts +42 -38
|
@@ -9,26 +9,26 @@ importers:
|
|
|
9
9
|
.:
|
|
10
10
|
dependencies:
|
|
11
11
|
'@langchain/anthropic':
|
|
12
|
-
specifier: ^1.
|
|
13
|
-
version: 1.5.
|
|
12
|
+
specifier: ^1.5.8
|
|
13
|
+
version: 1.5.8(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))
|
|
14
14
|
'@langchain/core':
|
|
15
|
-
specifier: ^1.2.
|
|
16
|
-
version: 1.2.
|
|
15
|
+
specifier: ^1.2.9
|
|
16
|
+
version: 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
17
17
|
'@langchain/langgraph':
|
|
18
|
-
specifier: ^1.4.
|
|
19
|
-
version: 1.4.
|
|
18
|
+
specifier: ^1.4.12
|
|
19
|
+
version: 1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3)
|
|
20
20
|
'@langchain/mcp-adapters':
|
|
21
21
|
specifier: 1.1.3
|
|
22
|
-
version: 1.1.3(@cfworker/json-schema@4.1.1)(@langchain/core@1.2.
|
|
22
|
+
version: 1.1.3(@cfworker/json-schema@4.1.1)(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(@langchain/langgraph@1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3))
|
|
23
23
|
deepagents:
|
|
24
|
-
specifier: 1.
|
|
25
|
-
version: 1.
|
|
24
|
+
specifier: 1.13.1
|
|
25
|
+
version: 1.13.1(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(@langchain/langgraph-checkpoint@1.1.5(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)))(@langchain/langgraph-sdk@1.9.31(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)))(@langchain/langgraph@1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3))(langchain@1.5.10(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(langsmith@0.9.0(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))
|
|
26
26
|
langchain:
|
|
27
|
-
specifier: ^1.5.
|
|
28
|
-
version: 1.5.
|
|
27
|
+
specifier: ^1.5.10
|
|
28
|
+
version: 1.5.10(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
29
29
|
langsmith:
|
|
30
|
-
specifier: ^0.
|
|
31
|
-
version: 0.
|
|
30
|
+
specifier: ^0.9.0
|
|
31
|
+
version: 0.9.0(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
32
32
|
ws:
|
|
33
33
|
specifier: 8.21.0
|
|
34
34
|
version: 8.21.0
|
|
@@ -38,8 +38,8 @@ importers:
|
|
|
38
38
|
|
|
39
39
|
packages:
|
|
40
40
|
|
|
41
|
-
'@anthropic-ai/sdk@0.
|
|
42
|
-
resolution: {integrity: sha512-
|
|
41
|
+
'@anthropic-ai/sdk@0.115.0':
|
|
42
|
+
resolution: {integrity: sha512-BJrFIVyjNuU8lfDyIJTvlRYzgQg+zEl78BxE7fq8esULsGz9IRQvGtW5spq3tydmtjQb/GFdooKGdGsetpx+lQ==}
|
|
43
43
|
hasBin: true
|
|
44
44
|
peerDependencies:
|
|
45
45
|
zod: ^3.25.0 || ^4.0.0
|
|
@@ -60,24 +60,24 @@ packages:
|
|
|
60
60
|
peerDependencies:
|
|
61
61
|
hono: ^4
|
|
62
62
|
|
|
63
|
-
'@langchain/anthropic@1.5.
|
|
64
|
-
resolution: {integrity: sha512-
|
|
63
|
+
'@langchain/anthropic@1.5.8':
|
|
64
|
+
resolution: {integrity: sha512-KZWgIf+04M9XZHhgH1rVJkqw/C26DM4a4jKk4Qc4HaSbRawN2Dw5nDffna+IoaU/50ohTdyB3HOz9g8XFQYF2A==}
|
|
65
65
|
engines: {node: '>=20'}
|
|
66
66
|
peerDependencies:
|
|
67
|
-
'@langchain/core': ^1.2.
|
|
67
|
+
'@langchain/core': ^1.2.9
|
|
68
68
|
|
|
69
|
-
'@langchain/core@1.2.
|
|
70
|
-
resolution: {integrity: sha512-
|
|
69
|
+
'@langchain/core@1.2.9':
|
|
70
|
+
resolution: {integrity: sha512-conzSEj9Zu1AyXJLXsSbgrtxtxinmI1yGqQ5CIJZSoV5rvv+yvQE/vgBnoySpBQ/bl3YPgj2FL/gbDjWykLSfg==}
|
|
71
71
|
engines: {node: '>=20'}
|
|
72
72
|
|
|
73
|
-
'@langchain/langgraph-checkpoint@1.1.
|
|
74
|
-
resolution: {integrity: sha512-
|
|
73
|
+
'@langchain/langgraph-checkpoint@1.1.5':
|
|
74
|
+
resolution: {integrity: sha512-BwDwl5VeTOh6CVuiIPgsUgfK51vTJDMSbFcSCUfjJWsl8/DPdK/mbv+ejxJstkSk/BlSPMP4JfXWcN6jD2ea2Q==}
|
|
75
75
|
engines: {node: '>=18'}
|
|
76
76
|
peerDependencies:
|
|
77
77
|
'@langchain/core': ^1.1.48
|
|
78
78
|
|
|
79
|
-
'@langchain/langgraph-sdk@1.9.
|
|
80
|
-
resolution: {integrity: sha512-
|
|
79
|
+
'@langchain/langgraph-sdk@1.9.31':
|
|
80
|
+
resolution: {integrity: sha512-y1sSdq39IPb6mOX43+JiSezVbUdA8EBEJ1gvn91GP0jrLG0EcSApeRDCjRouyDpPXZ51bQXEQhA8CiHM0mzcAw==}
|
|
81
81
|
peerDependencies:
|
|
82
82
|
'@langchain/core': ^1.1.48
|
|
83
83
|
react: ^18 || ^19
|
|
@@ -94,8 +94,8 @@ packages:
|
|
|
94
94
|
vue:
|
|
95
95
|
optional: true
|
|
96
96
|
|
|
97
|
-
'@langchain/langgraph@1.4.
|
|
98
|
-
resolution: {integrity: sha512-
|
|
97
|
+
'@langchain/langgraph@1.4.12':
|
|
98
|
+
resolution: {integrity: sha512-63iH/igH5Fh5fHqmWp09YYWaDKKB9v4RCmYNJBrnQ224rFRbjebgyYW6o5RCczN5FZxIhQj+xT51rrNmG0zi5A==}
|
|
99
99
|
engines: {node: '>=18'}
|
|
100
100
|
peerDependencies:
|
|
101
101
|
'@langchain/core': ^1.1.48
|
|
@@ -217,15 +217,15 @@ packages:
|
|
|
217
217
|
supports-color:
|
|
218
218
|
optional: true
|
|
219
219
|
|
|
220
|
-
deepagents@1.
|
|
221
|
-
resolution: {integrity: sha512-
|
|
220
|
+
deepagents@1.13.1:
|
|
221
|
+
resolution: {integrity: sha512-DB8dkbrd4cqejroU90qAGTtY7ZvIchsMSaOMjE7TWnsi/6IrpBPxg3xN0Vxjuq/x8jkufkIqk3I57RbZmdSJFw==}
|
|
222
222
|
peerDependencies:
|
|
223
|
-
'@langchain/core': ^1.2.
|
|
224
|
-
'@langchain/langgraph': ^1.4.
|
|
225
|
-
'@langchain/langgraph-checkpoint': ^1.1.
|
|
223
|
+
'@langchain/core': ^1.2.9
|
|
224
|
+
'@langchain/langgraph': ^1.4.10
|
|
225
|
+
'@langchain/langgraph-checkpoint': ^1.1.5
|
|
226
226
|
'@langchain/langgraph-sdk': ^1.9.23
|
|
227
|
-
langchain: ^1.5.
|
|
228
|
-
langsmith:
|
|
227
|
+
langchain: ^1.5.10
|
|
228
|
+
langsmith: '>=0.7.1 <0.10.0'
|
|
229
229
|
|
|
230
230
|
depd@2.0.0:
|
|
231
231
|
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
|
|
@@ -408,14 +408,14 @@ packages:
|
|
|
408
408
|
json-schema-typed@8.0.2:
|
|
409
409
|
resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==}
|
|
410
410
|
|
|
411
|
-
langchain@1.5.
|
|
412
|
-
resolution: {integrity: sha512-
|
|
411
|
+
langchain@1.5.10:
|
|
412
|
+
resolution: {integrity: sha512-JaC12C1qyGn985vvjttr4hr8lfFzWhrXp2M1byZJGmNJ2RiIgqnhiYDuLlG/xHDxhKD3onJ5pCuUif/cbdqPhA==}
|
|
413
413
|
engines: {node: '>=20'}
|
|
414
414
|
peerDependencies:
|
|
415
|
-
'@langchain/core': ^1.2.
|
|
415
|
+
'@langchain/core': ^1.2.9
|
|
416
416
|
|
|
417
|
-
langsmith@0.
|
|
418
|
-
resolution: {integrity: sha512-
|
|
417
|
+
langsmith@0.9.0:
|
|
418
|
+
resolution: {integrity: sha512-tlg/aG7qezAKY6G3fgADSX7PkRj+JKoF3z7QNkCMsAOvwvuzhiwP9Amn1Z+zAIxuKoWuXQdIjtFN0LVmUC1oUQ==}
|
|
419
419
|
peerDependencies:
|
|
420
420
|
'@opentelemetry/api': '*'
|
|
421
421
|
'@opentelemetry/exporter-trace-otlp-proto': '*'
|
|
@@ -679,7 +679,7 @@ packages:
|
|
|
679
679
|
|
|
680
680
|
snapshots:
|
|
681
681
|
|
|
682
|
-
'@anthropic-ai/sdk@0.
|
|
682
|
+
'@anthropic-ai/sdk@0.115.0(zod@4.4.3)':
|
|
683
683
|
dependencies:
|
|
684
684
|
json-schema-to-ts: 3.1.1
|
|
685
685
|
standardwebhooks: 1.0.0
|
|
@@ -694,18 +694,18 @@ snapshots:
|
|
|
694
694
|
dependencies:
|
|
695
695
|
hono: 4.13.1
|
|
696
696
|
|
|
697
|
-
'@langchain/anthropic@1.5.
|
|
697
|
+
'@langchain/anthropic@1.5.8(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))':
|
|
698
698
|
dependencies:
|
|
699
|
-
'@anthropic-ai/sdk': 0.
|
|
700
|
-
'@langchain/core': 1.2.
|
|
699
|
+
'@anthropic-ai/sdk': 0.115.0(zod@4.4.3)
|
|
700
|
+
'@langchain/core': 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
701
701
|
zod: 4.4.3
|
|
702
702
|
|
|
703
|
-
'@langchain/core@1.2.
|
|
703
|
+
'@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)':
|
|
704
704
|
dependencies:
|
|
705
705
|
'@cfworker/json-schema': 4.1.1
|
|
706
706
|
'@standard-schema/spec': 1.1.0
|
|
707
707
|
js-tiktoken: 1.0.21
|
|
708
|
-
langsmith: 0.
|
|
708
|
+
langsmith: 0.9.0(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
709
709
|
mustache: 4.2.0
|
|
710
710
|
p-queue: 6.6.2
|
|
711
711
|
zod: 4.4.3
|
|
@@ -716,23 +716,23 @@ snapshots:
|
|
|
716
716
|
- openai
|
|
717
717
|
- ws
|
|
718
718
|
|
|
719
|
-
'@langchain/langgraph-checkpoint@1.1.
|
|
719
|
+
'@langchain/langgraph-checkpoint@1.1.5(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))':
|
|
720
720
|
dependencies:
|
|
721
|
-
'@langchain/core': 1.2.
|
|
721
|
+
'@langchain/core': 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
722
722
|
|
|
723
|
-
'@langchain/langgraph-sdk@1.9.
|
|
723
|
+
'@langchain/langgraph-sdk@1.9.31(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))':
|
|
724
724
|
dependencies:
|
|
725
|
-
'@langchain/core': 1.2.
|
|
725
|
+
'@langchain/core': 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
726
726
|
'@langchain/protocol': 0.0.18
|
|
727
727
|
'@types/json-schema': 7.0.15
|
|
728
728
|
p-queue: 9.3.1
|
|
729
729
|
p-retry: 7.1.1
|
|
730
730
|
|
|
731
|
-
'@langchain/langgraph@1.4.
|
|
731
|
+
'@langchain/langgraph@1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3)':
|
|
732
732
|
dependencies:
|
|
733
|
-
'@langchain/core': 1.2.
|
|
734
|
-
'@langchain/langgraph-checkpoint': 1.1.
|
|
735
|
-
'@langchain/langgraph-sdk': 1.9.
|
|
733
|
+
'@langchain/core': 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
734
|
+
'@langchain/langgraph-checkpoint': 1.1.5(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))
|
|
735
|
+
'@langchain/langgraph-sdk': 1.9.31(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))
|
|
736
736
|
'@langchain/protocol': 0.0.18
|
|
737
737
|
'@standard-schema/spec': 1.1.0
|
|
738
738
|
zod: 4.4.3
|
|
@@ -742,10 +742,10 @@ snapshots:
|
|
|
742
742
|
- svelte
|
|
743
743
|
- vue
|
|
744
744
|
|
|
745
|
-
'@langchain/mcp-adapters@1.1.3(@cfworker/json-schema@4.1.1)(@langchain/core@1.2.
|
|
745
|
+
'@langchain/mcp-adapters@1.1.3(@cfworker/json-schema@4.1.1)(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(@langchain/langgraph@1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3))':
|
|
746
746
|
dependencies:
|
|
747
|
-
'@langchain/core': 1.2.
|
|
748
|
-
'@langchain/langgraph': 1.4.
|
|
747
|
+
'@langchain/core': 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
748
|
+
'@langchain/langgraph': 1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3)
|
|
749
749
|
'@modelcontextprotocol/sdk': 1.30.0(@cfworker/json-schema@4.1.1)(zod@4.4.3)
|
|
750
750
|
debug: 4.4.3
|
|
751
751
|
zod: 4.4.3
|
|
@@ -872,15 +872,15 @@ snapshots:
|
|
|
872
872
|
dependencies:
|
|
873
873
|
ms: 2.1.3
|
|
874
874
|
|
|
875
|
-
deepagents@1.
|
|
875
|
+
deepagents@1.13.1(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(@langchain/langgraph-checkpoint@1.1.5(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)))(@langchain/langgraph-sdk@1.9.31(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)))(@langchain/langgraph@1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3))(langchain@1.5.10(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(langsmith@0.9.0(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)):
|
|
876
876
|
dependencies:
|
|
877
|
-
'@langchain/core': 1.2.
|
|
878
|
-
'@langchain/langgraph': 1.4.
|
|
879
|
-
'@langchain/langgraph-checkpoint': 1.1.
|
|
880
|
-
'@langchain/langgraph-sdk': 1.9.
|
|
877
|
+
'@langchain/core': 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
878
|
+
'@langchain/langgraph': 1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3)
|
|
879
|
+
'@langchain/langgraph-checkpoint': 1.1.5(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))
|
|
880
|
+
'@langchain/langgraph-sdk': 1.9.31(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))
|
|
881
881
|
fast-glob: 3.3.3
|
|
882
|
-
langchain: 1.5.
|
|
883
|
-
langsmith: 0.
|
|
882
|
+
langchain: 1.5.10(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
883
|
+
langsmith: 0.9.0(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
884
884
|
micromatch: 4.0.8
|
|
885
885
|
yaml: 2.9.0
|
|
886
886
|
zod: 4.4.3
|
|
@@ -1081,12 +1081,12 @@ snapshots:
|
|
|
1081
1081
|
|
|
1082
1082
|
json-schema-typed@8.0.2: {}
|
|
1083
1083
|
|
|
1084
|
-
langchain@1.5.
|
|
1084
|
+
langchain@1.5.10(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0):
|
|
1085
1085
|
dependencies:
|
|
1086
|
-
'@langchain/core': 1.2.
|
|
1087
|
-
'@langchain/langgraph': 1.4.
|
|
1088
|
-
'@langchain/langgraph-checkpoint': 1.1.
|
|
1089
|
-
langsmith: 0.
|
|
1086
|
+
'@langchain/core': 1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
1087
|
+
'@langchain/langgraph': 1.4.12(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))(zod@4.4.3)
|
|
1088
|
+
'@langchain/langgraph-checkpoint': 1.1.5(@langchain/core@1.2.9(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0))
|
|
1089
|
+
langsmith: 0.9.0(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0)
|
|
1090
1090
|
zod: 4.4.3
|
|
1091
1091
|
transitivePeerDependencies:
|
|
1092
1092
|
- '@opentelemetry/api'
|
|
@@ -1099,7 +1099,7 @@ snapshots:
|
|
|
1099
1099
|
- vue
|
|
1100
1100
|
- ws
|
|
1101
1101
|
|
|
1102
|
-
langsmith@0.
|
|
1102
|
+
langsmith@0.9.0(openai@6.43.0(ws@8.21.0)(zod@4.4.3))(ws@8.21.0):
|
|
1103
1103
|
dependencies:
|
|
1104
1104
|
p-queue: 6.6.2
|
|
1105
1105
|
optionalDependencies:
|
|
@@ -34,6 +34,7 @@ export const startMessageSchema = harnessV1BridgeStartBaseSchema.extend({
|
|
|
34
34
|
effort: z.enum(['low', 'medium', 'high', 'xhigh', 'max']).optional(),
|
|
35
35
|
// In-backend skills source dirs ($HOME and <workDir>), passed to createDeepAgent({ skills }).
|
|
36
36
|
skillsPaths: z.array(z.string()).optional(),
|
|
37
|
+
skillsChanged: z.boolean().optional(),
|
|
37
38
|
// Max LangGraph super-steps per turn (streamEvents recursionLimit).
|
|
38
39
|
recursionLimit: z.number().optional(),
|
|
39
40
|
});
|
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
warnCredentialBrokeringUnavailable,
|
|
36
36
|
waitForBridgeReady,
|
|
37
37
|
writeSkills as writeHarnessSkills,
|
|
38
|
+
type WriteSkillsResult,
|
|
38
39
|
} from '@ai-sdk/harness/utils';
|
|
39
40
|
import {
|
|
40
41
|
tool,
|
|
@@ -93,7 +94,12 @@ export type DeepAgentsHarnessSettings = {
|
|
|
93
94
|
* discover, read, or otherwise access in the host process.
|
|
94
95
|
*/
|
|
95
96
|
readonly credentialForwarding?: HarnessV1CredentialForwarding;
|
|
96
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Model id for the DeepAgents runtime, e.g. `claude-sonnet-4` (converted to
|
|
99
|
+
* `provider:model`).
|
|
100
|
+
*
|
|
101
|
+
* @deprecated Use `model` on `HarnessAgent` instead.
|
|
102
|
+
*/
|
|
97
103
|
readonly model?: string;
|
|
98
104
|
/**
|
|
99
105
|
* Controls Anthropic extended thinking for the Deep Agents model. Unset
|
|
@@ -216,6 +222,7 @@ export function createDeepAgents(
|
|
|
216
222
|
lifecycleStateSchema: deepAgentsResumeStateSchema,
|
|
217
223
|
getBootstrap: getDeepAgentsBootstrap,
|
|
218
224
|
doStart: async startOpts => {
|
|
225
|
+
const model = startOpts.model ?? settings.model;
|
|
219
226
|
const permissionMode = startOpts.permissionMode;
|
|
220
227
|
const sandboxSession = startOpts.sandboxSession;
|
|
221
228
|
const toolSafeSandboxSession =
|
|
@@ -294,6 +301,17 @@ export function createDeepAgents(
|
|
|
294
301
|
);
|
|
295
302
|
|
|
296
303
|
const workDir = startOpts.sessionWorkDir;
|
|
304
|
+
/*
|
|
305
|
+
* Deep Agents discovers repository skills under the working directory.
|
|
306
|
+
* Harness-provided skills use an absolute home-directory path listed
|
|
307
|
+
* last, so they take precedence when names collide.
|
|
308
|
+
*/
|
|
309
|
+
const homeDir = await resolveSandboxHomeDir({
|
|
310
|
+
sandbox: toolSafeSandboxSession,
|
|
311
|
+
abortSignal: startOpts.abortSignal,
|
|
312
|
+
});
|
|
313
|
+
const homeSkillsRoot = `${homeDir}${SKILLS_SOURCE_PATH}`;
|
|
314
|
+
const skillsPaths = [`${workDir}${SKILLS_SOURCE_PATH}`, homeSkillsRoot];
|
|
297
315
|
const sessionDataDir = `${defaultWorkingDirectory}/.agent-runs/${startOpts.sessionId}`;
|
|
298
316
|
const bridgeStateDir = `${sessionDataDir}/bridge`;
|
|
299
317
|
const timeoutMs = settings.startupTimeoutMs ?? 120_000;
|
|
@@ -337,7 +355,7 @@ export function createDeepAgents(
|
|
|
337
355
|
sessionId: startOpts.sessionId,
|
|
338
356
|
channel: attachChannel,
|
|
339
357
|
proc: undefined,
|
|
340
|
-
model
|
|
358
|
+
model,
|
|
341
359
|
thinking: settings.thinking,
|
|
342
360
|
effort: settings.effort,
|
|
343
361
|
bridgePort: coords.port,
|
|
@@ -345,7 +363,9 @@ export function createDeepAgents(
|
|
|
345
363
|
sandboxId,
|
|
346
364
|
sandboxCredentialEnvironment,
|
|
347
365
|
isResume: true,
|
|
348
|
-
|
|
366
|
+
sandbox: toolSafeSandboxSession,
|
|
367
|
+
homeSkillsRoot,
|
|
368
|
+
skillsPaths,
|
|
349
369
|
permissionMode,
|
|
350
370
|
builtinToolFiltering: startOpts.builtinToolFiltering,
|
|
351
371
|
recursionLimit: settings.recursionLimit,
|
|
@@ -365,25 +385,6 @@ export function createDeepAgents(
|
|
|
365
385
|
? randomBytes(32).toString('hex')
|
|
366
386
|
: settings.mintBridgeToken(sandboxId!);
|
|
367
387
|
|
|
368
|
-
// Always discover repo-provided skills under <workDir>/.agents/skills (e.g. a cloned repo); a missing dir is tolerated by deepagents.
|
|
369
|
-
// Absolute paths: LocalShellBackend (non-virtual) treats a leading-slash path as a real fs path.
|
|
370
|
-
const skillsPaths = [`${workDir}${SKILLS_SOURCE_PATH}`];
|
|
371
|
-
// Host-provided skills go to $HOME (out of the work dir) and take priority (listed last → wins on name collision).
|
|
372
|
-
if ((startOpts.skills?.length ?? 0) > 0) {
|
|
373
|
-
const homeDir = await resolveSandboxHomeDir({
|
|
374
|
-
sandbox: toolSafeSandboxSession,
|
|
375
|
-
abortSignal: startOpts.abortSignal,
|
|
376
|
-
});
|
|
377
|
-
const homeSkillsRoot = `${homeDir}${SKILLS_SOURCE_PATH}`;
|
|
378
|
-
await writeSkills({
|
|
379
|
-
sandbox: toolSafeSandboxSession,
|
|
380
|
-
root: homeSkillsRoot,
|
|
381
|
-
skills: startOpts.skills ?? [],
|
|
382
|
-
abortSignal: startOpts.abortSignal,
|
|
383
|
-
});
|
|
384
|
-
skillsPaths.push(homeSkillsRoot);
|
|
385
|
-
}
|
|
386
|
-
|
|
387
388
|
const forwardedAuthEnvironment = credentialsBrokered
|
|
388
389
|
? sandboxAuthEnvironment
|
|
389
390
|
: await applyCredentialForwarding({
|
|
@@ -469,7 +470,7 @@ export function createDeepAgents(
|
|
|
469
470
|
sessionId: startOpts.sessionId,
|
|
470
471
|
channel,
|
|
471
472
|
proc,
|
|
472
|
-
model
|
|
473
|
+
model,
|
|
473
474
|
thinking: settings.thinking,
|
|
474
475
|
effort: settings.effort,
|
|
475
476
|
bridgePort: boundPort,
|
|
@@ -477,8 +478,8 @@ export function createDeepAgents(
|
|
|
477
478
|
sandboxId,
|
|
478
479
|
sandboxCredentialEnvironment,
|
|
479
480
|
isResume,
|
|
480
|
-
|
|
481
|
-
|
|
481
|
+
sandbox: toolSafeSandboxSession,
|
|
482
|
+
homeSkillsRoot,
|
|
482
483
|
skillsPaths,
|
|
483
484
|
permissionMode,
|
|
484
485
|
builtinToolFiltering: startOpts.builtinToolFiltering,
|
|
@@ -565,12 +566,12 @@ async function writeSkills({
|
|
|
565
566
|
root: string;
|
|
566
567
|
skills: ReadonlyArray<HarnessV1Skill>;
|
|
567
568
|
abortSignal?: AbortSignal;
|
|
568
|
-
}): Promise<
|
|
569
|
+
}): Promise<WriteSkillsResult> {
|
|
569
570
|
/*
|
|
570
571
|
* DeepAgents requires each `SKILL.md` frontmatter name to match the parent
|
|
571
572
|
* directory name, so keep the stricter lowercase skill-name policy here.
|
|
572
573
|
*/
|
|
573
|
-
|
|
574
|
+
return writeHarnessSkills({
|
|
574
575
|
sandbox,
|
|
575
576
|
rootDir: root,
|
|
576
577
|
skills,
|
|
@@ -629,7 +630,8 @@ function createSession({
|
|
|
629
630
|
sandboxId,
|
|
630
631
|
sandboxCredentialEnvironment,
|
|
631
632
|
isResume,
|
|
632
|
-
|
|
633
|
+
sandbox,
|
|
634
|
+
homeSkillsRoot,
|
|
633
635
|
skillsPaths,
|
|
634
636
|
permissionMode,
|
|
635
637
|
builtinToolFiltering,
|
|
@@ -648,10 +650,8 @@ function createSession({
|
|
|
648
650
|
sandboxId: string | undefined;
|
|
649
651
|
sandboxCredentialEnvironment: Record<string, string> | undefined;
|
|
650
652
|
isResume: boolean;
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
// stop-resume) starts a new bridge that must receive the instructions again.
|
|
654
|
-
attached: boolean;
|
|
653
|
+
sandbox: SandboxSession;
|
|
654
|
+
homeSkillsRoot: string;
|
|
655
655
|
skillsPaths?: string[];
|
|
656
656
|
permissionMode?: HarnessV1PermissionMode;
|
|
657
657
|
builtinToolFiltering?: HarnessV1BuiltinToolFiltering;
|
|
@@ -659,7 +659,6 @@ function createSession({
|
|
|
659
659
|
mcpServers?: Record<string, unknown>;
|
|
660
660
|
}): HarnessV1Session {
|
|
661
661
|
let stopped = false;
|
|
662
|
-
let instructionsApplied = attached;
|
|
663
662
|
|
|
664
663
|
const wireTurn = (turnOpts: {
|
|
665
664
|
emit: (event: HarnessV1StreamPart) => void;
|
|
@@ -798,19 +797,23 @@ function createSession({
|
|
|
798
797
|
harnessId: 'deepagents',
|
|
799
798
|
});
|
|
800
799
|
}
|
|
800
|
+
const skillWriteResult = await writeSkills({
|
|
801
|
+
sandbox,
|
|
802
|
+
root: homeSkillsRoot,
|
|
803
|
+
skills: promptOpts.skills,
|
|
804
|
+
abortSignal: promptOpts.abortSignal,
|
|
805
|
+
});
|
|
801
806
|
const control = wireTurn({
|
|
802
807
|
emit: promptOpts.emit,
|
|
803
808
|
abortSignal: promptOpts.abortSignal,
|
|
804
809
|
});
|
|
805
810
|
|
|
806
|
-
const applyInstructions =
|
|
807
|
-
!instructionsApplied && !!promptOpts.instructions;
|
|
808
|
-
instructionsApplied = true;
|
|
809
|
-
|
|
810
811
|
channel.send({
|
|
811
812
|
type: 'start',
|
|
812
813
|
prompt: extractUserText(promptOpts.prompt),
|
|
813
|
-
...(
|
|
814
|
+
...(promptOpts.instructions
|
|
815
|
+
? { instructions: promptOpts.instructions }
|
|
816
|
+
: {}),
|
|
814
817
|
tools: (promptOpts.tools ?? []).map(t => ({
|
|
815
818
|
name: t.name,
|
|
816
819
|
description: t.description,
|
|
@@ -823,6 +826,7 @@ function createSession({
|
|
|
823
826
|
...(thinking ? { thinking } : {}),
|
|
824
827
|
...(effort ? { effort } : {}),
|
|
825
828
|
...(skillsPaths?.length ? { skillsPaths } : {}),
|
|
829
|
+
skillsChanged: skillWriteResult.changed,
|
|
826
830
|
...(permissionMode ? { permissionMode } : {}),
|
|
827
831
|
...(builtinToolFiltering ? { builtinToolFiltering } : {}),
|
|
828
832
|
...(recursionLimit != null ? { recursionLimit } : {}),
|