agentv 4.42.4 → 4.43.0-next.1

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 (43) hide show
  1. package/README.md +2 -2
  2. package/dist/{artifact-writer-7PXSB6LM.js → artifact-writer-STR7E5UO.js} +4 -4
  3. package/dist/{chunk-RBOP5X36.js → chunk-5NDSGGMJ.js} +2605 -171
  4. package/dist/chunk-5NDSGGMJ.js.map +1 -0
  5. package/dist/{chunk-6SQDBXT7.js → chunk-E2NL57MZ.js} +2 -2
  6. package/dist/chunk-E2NL57MZ.js.map +1 -0
  7. package/dist/{chunk-ISPJY2AX.js → chunk-IFQXBQSY.js} +2454 -415
  8. package/dist/chunk-IFQXBQSY.js.map +1 -0
  9. package/dist/{chunk-ZPFM52HV.js → chunk-RFJM2UBD.js} +2321 -630
  10. package/dist/chunk-RFJM2UBD.js.map +1 -0
  11. package/dist/{chunk-N6U3GXMF.js → chunk-ROLNQBYU.js} +620 -342
  12. package/dist/chunk-ROLNQBYU.js.map +1 -0
  13. package/dist/cli.js +5 -5
  14. package/dist/dashboard/assets/index-1Hvy8sBy.js +119 -0
  15. package/dist/dashboard/assets/{index-uXJsSG83.js → index-DitffAxS.js} +1 -1
  16. package/dist/dashboard/assets/index-J5sPcQO3.css +1 -0
  17. package/dist/dashboard/index.html +2 -2
  18. package/dist/{dist-VQWTETNY.js → dist-FTTL5IOY.js} +67 -3
  19. package/dist/index.js +9 -5
  20. package/dist/{interactive-TNRJEFA2.js → interactive-RE4DXH4A.js} +5 -5
  21. package/dist/skills/agentv-bench/SKILL.md +2 -2
  22. package/dist/skills/agentv-bench/agents/executor.md +1 -1
  23. package/dist/skills/agentv-bench/agents/grader.md +1 -1
  24. package/dist/skills/agentv-bench/references/autoresearch.md +4 -4
  25. package/dist/skills/agentv-bench/references/eval-yaml-spec.md +2 -1
  26. package/dist/skills/agentv-bench/references/schemas.md +1 -1
  27. package/dist/skills/agentv-bench/references/subagent-pipeline.md +4 -4
  28. package/dist/skills/agentv-eval-writer/SKILL.md +23 -16
  29. package/dist/skills/agentv-eval-writer/references/config-schema.json +114 -0
  30. package/dist/skills/agentv-eval-writer/references/eval-schema.json +192 -0
  31. package/dist/{ts-eval-loader-PYEU2PMP-YLXIQTEQ.js → ts-eval-loader-HQDMXQQV-LBW3N3W6.js} +2 -2
  32. package/package.json +6 -5
  33. package/dist/chunk-6SQDBXT7.js.map +0 -1
  34. package/dist/chunk-ISPJY2AX.js.map +0 -1
  35. package/dist/chunk-N6U3GXMF.js.map +0 -1
  36. package/dist/chunk-RBOP5X36.js.map +0 -1
  37. package/dist/chunk-ZPFM52HV.js.map +0 -1
  38. package/dist/dashboard/assets/index-BwBJwHp4.js +0 -118
  39. package/dist/dashboard/assets/index-C5v6_zhR.css +0 -1
  40. /package/dist/{artifact-writer-7PXSB6LM.js.map → artifact-writer-STR7E5UO.js.map} +0 -0
  41. /package/dist/{dist-VQWTETNY.js.map → dist-FTTL5IOY.js.map} +0 -0
  42. /package/dist/{interactive-TNRJEFA2.js.map → interactive-RE4DXH4A.js.map} +0 -0
  43. /package/dist/{ts-eval-loader-PYEU2PMP-YLXIQTEQ.js.map → ts-eval-loader-HQDMXQQV-LBW3N3W6.js.map} +0 -0
@@ -18,7 +18,7 @@ Comprehensive docs: https://agentv.dev
18
18
 
19
19
  Treat YAML as the canonical portable model. Prefer authoring `.eval.yaml` / `EVAL.yaml` first, then use TypeScript helpers, Python scripts, or executable graders only when they lower to the same fields or when the evaluation logic must actually run code.
20
20
 
21
- Use `@agentv/sdk` for TypeScript helper imports. Do not use `@agentv/eval` for new evals, examples, scaffolds, or skill guidance; it is only a deprecated compatibility shim for existing consumers during migration.
21
+ Use `@agentv/sdk` for TypeScript helper imports. Do not use `@agentv/eval` for new evals, examples, scaffolds, or skill guidance; it was a deprecated compatibility package and has been removed from this repository.
22
22
 
23
23
  ## Evaluation Types
24
24
 
@@ -119,7 +119,7 @@ tests:
119
119
  |-------|----------|-------------|
120
120
  | `id` | yes | Unique identifier |
121
121
  | `criteria` | yes | What the response should accomplish |
122
- | `input` | yes | Input to the agent (string shorthand or full message array) |
122
+ | `input` | yes | Input to the agent (string/object shorthand or full message array) |
123
123
  | `expected_output` | no | Gold-standard reference answer (string shorthand or full message array) |
124
124
  | `assertions` | no | Graders: deterministic checks, rubrics, and LLM/code graders |
125
125
  | `execution` | no | Per-case execution overrides |
@@ -128,7 +128,9 @@ tests:
128
128
  | `conversation_id` | no | Thread grouping |
129
129
 
130
130
  **Shorthand forms:**
131
- - `input` (string) expands to `[{role: "user", content: "..."}]`
131
+ - `input` (string, including YAML block scalars) expands to `[{role: "user", content: "..."}]`
132
+ - `input` (object without a top-level `role`) expands to `[{role: "user", content: {...}}]`
133
+ - top-level `role` is reserved for message objects; use `{role, content}` when you mean a message, or nest payload role data under another key
132
134
  - `expected_output` (string/object) expands to `[{role: "assistant", content: ...}]`
133
135
  - Use these canonical field names on disk; keep the wire format `snake_case`
134
136
 
@@ -158,14 +160,12 @@ requires:
158
160
 
159
161
  ## Suite-level Input
160
162
 
161
- Prepend shared input messages to every test (like suite-level `assertions`). Avoids repeating the same prompt file in each test:
163
+ Prepend shared input messages to every test (like suite-level `assertions`). Avoids repeating the same prompt or instruction in each test:
162
164
 
163
165
  ```yaml
164
- input:
165
- - role: user
166
- content:
167
- - type: file
168
- value: ./system-prompt.md
166
+ input: |
167
+ Read AGENTS.md before answering.
168
+ Explain tradeoffs clearly.
169
169
 
170
170
  tests: ./cases.yaml
171
171
 
@@ -176,7 +176,7 @@ tests: ./cases.yaml
176
176
  ```
177
177
 
178
178
  Effective input: `[...suite input, ...test input]`. Skipped when `execution.skip_defaults: true`.
179
- Accepts same formats as test `input` (string or message array).
179
+ Accepts the same formats as test `input`: string/block scalar, structured object without a top-level `role`, single message object, or full message array. Use the full message array only when you need multiple messages or file/image content blocks.
180
180
 
181
181
  ## Tests as String Path
182
182
 
@@ -365,6 +365,13 @@ Contract: stdin JSON -> stdout JSON `{score, assertions: [{text, passed, evidenc
365
365
  Raw stdin uses snake_case and includes: `criteria`, `input`, `expected_output`, `output` (final answer string), `messages`, `trace`, `trace_summary`, `token_usage`, `cost_usd`, `duration_ms`, `start_time`, `end_time`, `file_changes`, `workspace_path`, `config`
366
366
  SDK handlers receive the same payload in camelCase: `expectedOutput`, `traceSummary`, `tokenUsage`, `costUsd`, `durationMs`, `startTime`, `endTime`, `fileChanges`, `workspacePath`.
367
367
  When a workspace is configured, `workspace_path` is the absolute path to the workspace dir (also available as `AGENTV_WORKSPACE_PATH` env var). Use this for functional grading (e.g., running `npm test` in the workspace).
368
+ For deterministic workspace checks that fit normal Vitest `expect(...)` tests, prefer a plain verifier file and the built-in adapter:
369
+ ```yaml
370
+ - name: welcome_banner
371
+ type: code-grader
372
+ command: [agentv, eval, graders/welcome-banner.test.ts]
373
+ ```
374
+ AgentV infers the Vitest adapter for `*.test.ts`, `*.spec.ts`, and Vercel-style `EVAL.ts` files. Use the explicit `agentv eval vitest` subcommand only when you need adapter flags such as `--cwd`, `--in-workspace`, or `--vitest-command`.
368
375
  See docs at https://agentv.dev/graders/code-graders/
369
376
 
370
377
  ### llm-grader
@@ -551,16 +558,16 @@ agentv eval assert <grader-name> --agent-output "..." --agent-input "..."
551
558
  agentv import claude --session-id <uuid>
552
559
 
553
560
  # Re-run only execution errors from a previous run
554
- agentv eval <file.yaml> --retry-errors .agentv/results/runs/<timestamp>/index.jsonl
561
+ agentv eval <file.yaml> --retry-errors .agentv/results/default/<timestamp>/index.jsonl
555
562
 
556
563
  # Validate eval file
557
564
  agentv validate <file.yaml>
558
565
 
559
566
  # Compare results — N-way matrix from a canonical run manifest
560
- agentv compare .agentv/results/runs/<timestamp>/index.jsonl
561
- agentv compare .agentv/results/runs/<timestamp>/index.jsonl --baseline <target> # CI regression gate
562
- agentv compare .agentv/results/runs/<timestamp>/index.jsonl --baseline <target> --candidate <target> # pairwise
563
- agentv compare .agentv/results/runs/<baseline-timestamp>/index.jsonl .agentv/results/runs/<candidate-timestamp>/index.jsonl
567
+ agentv compare .agentv/results/default/<timestamp>/index.jsonl
568
+ agentv compare .agentv/results/default/<timestamp>/index.jsonl --baseline <target> # CI regression gate
569
+ agentv compare .agentv/results/default/<timestamp>/index.jsonl --baseline <target> --candidate <target> # pairwise
570
+ agentv compare .agentv/results/default/<baseline-timestamp>/index.jsonl .agentv/results/default/<candidate-timestamp>/index.jsonl
564
571
 
565
572
  # Author assertions directly in the eval file
566
573
  # Prefer simple assertions when they fit the criteria; use deterministic or LLM-based graders when needed
@@ -644,7 +651,7 @@ export default defineCodeGrader(({ output, trace }) => {
644
651
  });
645
652
  ```
646
653
 
647
- `defineAssertion()` files go in `.agentv/assertions/` and are referenced by filename as `type: <name>`. `defineCodeGrader()` scripts are referenced in YAML with `type: code-grader` and `command: [bun, run, grader.ts]`.
654
+ `defineAssertion()` files go in `.agentv/assertions/` and are referenced by filename as `type: <name>`. `defineCodeGrader()` scripts are referenced in YAML with `type: code-grader` and `command: [bun, run, grader.ts]`. Plain Vitest workspace verifier files can use `command: [agentv, eval, graders/check.test.ts]`.
648
655
 
649
656
  ### Convention-Based Discovery
650
657
 
@@ -45,6 +45,16 @@
45
45
  },
46
46
  "additionalProperties": false
47
47
  },
48
+ "results": {
49
+ "$ref": "#/definitions/resultsConfig"
50
+ },
51
+ "projects": {
52
+ "type": "array",
53
+ "description": "Global Dashboard project registry entries. Only valid in $AGENTV_HOME/config.yaml.",
54
+ "items": {
55
+ "$ref": "#/definitions/projectEntry"
56
+ }
57
+ },
48
58
  "hooks": {
49
59
  "type": "object",
50
60
  "description": "Lifecycle hooks that run at specific points during agentv execution.",
@@ -58,6 +68,110 @@
58
68
  "additionalProperties": false
59
69
  }
60
70
  },
71
+ "definitions": {
72
+ "sourceRepoBlock": {
73
+ "type": "object",
74
+ "description": "Source project repository block. Use url for the Git endpoint, path for the local checkout path, and branch for the checkout branch.",
75
+ "properties": {
76
+ "url": {
77
+ "type": "string",
78
+ "description": "Source Git remote URL.",
79
+ "examples": ["https://github.com/example/repo.git", "git@github.com:example/repo.git"]
80
+ },
81
+ "path": {
82
+ "type": "string",
83
+ "description": "Local source checkout path.",
84
+ "examples": ["/srv/agentv/my-evals"]
85
+ },
86
+ "branch": {
87
+ "type": "string",
88
+ "description": "Source checkout branch.",
89
+ "examples": ["main"]
90
+ }
91
+ },
92
+ "additionalProperties": false
93
+ },
94
+ "resultsRepoBlock": {
95
+ "type": "object",
96
+ "description": "Results repository block. Use remote for the Git endpoint URL, path for an existing local results checkout or managed clone path, and branch for the storage branch.",
97
+ "properties": {
98
+ "remote": {
99
+ "type": "string",
100
+ "description": "Results Git remote endpoint URL used for fetching and pushing.",
101
+ "examples": [
102
+ "https://github.com/example/results.git",
103
+ "git@github.com:example/results.git"
104
+ ]
105
+ },
106
+ "path": {
107
+ "type": "string",
108
+ "description": "Existing local results checkout path when remote is omitted, or managed results clone path when remote is set.",
109
+ "examples": [".", "/srv/agentv/results", "~/data/agentv-results"]
110
+ },
111
+ "branch": {
112
+ "type": "string",
113
+ "description": "Results storage branch.",
114
+ "examples": ["agentv/results/v1"]
115
+ }
116
+ },
117
+ "additionalProperties": false
118
+ },
119
+ "resultsConfig": {
120
+ "type": "object",
121
+ "description": "Git-backed results repo configuration. Canonical form uses a nested repo block.",
122
+ "properties": {
123
+ "repo": {
124
+ "$ref": "#/definitions/resultsRepoBlock"
125
+ },
126
+ "sync": {
127
+ "type": "object",
128
+ "properties": {
129
+ "auto_push": {
130
+ "type": "boolean",
131
+ "description": "Push result commits best-effort after each completed run."
132
+ },
133
+ "require_push": {
134
+ "type": "boolean",
135
+ "description": "Fail the command if a configured push fails after writing local artifacts."
136
+ }
137
+ },
138
+ "additionalProperties": false
139
+ },
140
+ "branch_prefix": {
141
+ "type": "string",
142
+ "description": "Prefix for temporary result branch names; this is not the storage branch."
143
+ }
144
+ },
145
+ "required": ["repo"],
146
+ "additionalProperties": false
147
+ },
148
+ "projectEntry": {
149
+ "type": "object",
150
+ "description": "Dashboard project registry entry.",
151
+ "properties": {
152
+ "id": {
153
+ "type": "string"
154
+ },
155
+ "name": {
156
+ "type": "string"
157
+ },
158
+ "repo": {
159
+ "$ref": "#/definitions/sourceRepoBlock"
160
+ },
161
+ "results": {
162
+ "$ref": "#/definitions/resultsConfig"
163
+ },
164
+ "added_at": {
165
+ "type": "string"
166
+ },
167
+ "last_opened_at": {
168
+ "type": "string"
169
+ }
170
+ },
171
+ "required": ["id", "name", "repo"],
172
+ "additionalProperties": false
173
+ }
174
+ },
61
175
  "required": ["$schema"],
62
176
  "additionalProperties": false
63
177
  }
@@ -49,6 +49,55 @@
49
49
  {
50
50
  "type": "string"
51
51
  },
52
+ {
53
+ "type": "object",
54
+ "properties": {
55
+ "role": {
56
+ "type": "string",
57
+ "enum": ["system", "user", "assistant", "tool"]
58
+ },
59
+ "content": {
60
+ "anyOf": [
61
+ {
62
+ "type": "string"
63
+ },
64
+ {
65
+ "type": "object",
66
+ "properties": {},
67
+ "additionalProperties": {}
68
+ },
69
+ {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "object",
73
+ "properties": {
74
+ "type": {
75
+ "type": "string",
76
+ "enum": ["text", "file", "image"]
77
+ },
78
+ "value": {
79
+ "type": "string"
80
+ }
81
+ },
82
+ "required": ["type", "value"],
83
+ "additionalProperties": false
84
+ }
85
+ }
86
+ ]
87
+ }
88
+ },
89
+ "required": ["role", "content"],
90
+ "additionalProperties": false
91
+ },
92
+ {
93
+ "type": "object",
94
+ "properties": {
95
+ "role": {
96
+ "not": {}
97
+ }
98
+ },
99
+ "additionalProperties": {}
100
+ },
52
101
  {
53
102
  "type": "array",
54
103
  "items": {
@@ -63,6 +112,11 @@
63
112
  {
64
113
  "type": "string"
65
114
  },
115
+ {
116
+ "type": "object",
117
+ "properties": {},
118
+ "additionalProperties": {}
119
+ },
66
120
  {
67
121
  "type": "array",
68
122
  "items": {
@@ -119,6 +173,55 @@
119
173
  {
120
174
  "type": "string"
121
175
  },
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "role": {
180
+ "type": "string",
181
+ "enum": ["system", "user", "assistant", "tool"]
182
+ },
183
+ "content": {
184
+ "anyOf": [
185
+ {
186
+ "type": "string"
187
+ },
188
+ {
189
+ "type": "object",
190
+ "properties": {},
191
+ "additionalProperties": {}
192
+ },
193
+ {
194
+ "type": "array",
195
+ "items": {
196
+ "type": "object",
197
+ "properties": {
198
+ "type": {
199
+ "type": "string",
200
+ "enum": ["text", "file", "image"]
201
+ },
202
+ "value": {
203
+ "type": "string"
204
+ }
205
+ },
206
+ "required": ["type", "value"],
207
+ "additionalProperties": false
208
+ }
209
+ }
210
+ ]
211
+ }
212
+ },
213
+ "required": ["role", "content"],
214
+ "additionalProperties": false
215
+ },
216
+ {
217
+ "type": "object",
218
+ "properties": {
219
+ "role": {
220
+ "not": {}
221
+ }
222
+ },
223
+ "additionalProperties": {}
224
+ },
122
225
  {
123
226
  "type": "array",
124
227
  "items": {
@@ -133,6 +236,11 @@
133
236
  {
134
237
  "type": "string"
135
238
  },
239
+ {
240
+ "type": "object",
241
+ "properties": {},
242
+ "additionalProperties": {}
243
+ },
136
244
  {
137
245
  "type": "array",
138
246
  "items": {
@@ -189,6 +297,11 @@
189
297
  {
190
298
  "type": "string"
191
299
  },
300
+ {
301
+ "type": "object",
302
+ "properties": {},
303
+ "additionalProperties": {}
304
+ },
192
305
  {
193
306
  "type": "array",
194
307
  "items": {
@@ -5378,6 +5491,11 @@
5378
5491
  {
5379
5492
  "type": "string"
5380
5493
  },
5494
+ {
5495
+ "type": "object",
5496
+ "properties": {},
5497
+ "additionalProperties": {}
5498
+ },
5381
5499
  {
5382
5500
  "type": "array",
5383
5501
  "items": {
@@ -5409,6 +5527,11 @@
5409
5527
  {
5410
5528
  "type": "string"
5411
5529
  },
5530
+ {
5531
+ "type": "object",
5532
+ "properties": {},
5533
+ "additionalProperties": {}
5534
+ },
5412
5535
  {
5413
5536
  "type": "array",
5414
5537
  "items": {
@@ -6642,6 +6765,55 @@
6642
6765
  {
6643
6766
  "type": "string"
6644
6767
  },
6768
+ {
6769
+ "type": "object",
6770
+ "properties": {
6771
+ "role": {
6772
+ "type": "string",
6773
+ "enum": ["system", "user", "assistant", "tool"]
6774
+ },
6775
+ "content": {
6776
+ "anyOf": [
6777
+ {
6778
+ "type": "string"
6779
+ },
6780
+ {
6781
+ "type": "object",
6782
+ "properties": {},
6783
+ "additionalProperties": {}
6784
+ },
6785
+ {
6786
+ "type": "array",
6787
+ "items": {
6788
+ "type": "object",
6789
+ "properties": {
6790
+ "type": {
6791
+ "type": "string",
6792
+ "enum": ["text", "file", "image"]
6793
+ },
6794
+ "value": {
6795
+ "type": "string"
6796
+ }
6797
+ },
6798
+ "required": ["type", "value"],
6799
+ "additionalProperties": false
6800
+ }
6801
+ }
6802
+ ]
6803
+ }
6804
+ },
6805
+ "required": ["role", "content"],
6806
+ "additionalProperties": false
6807
+ },
6808
+ {
6809
+ "type": "object",
6810
+ "properties": {
6811
+ "role": {
6812
+ "not": {}
6813
+ }
6814
+ },
6815
+ "additionalProperties": {}
6816
+ },
6645
6817
  {
6646
6818
  "type": "array",
6647
6819
  "items": {
@@ -6656,6 +6828,11 @@
6656
6828
  {
6657
6829
  "type": "string"
6658
6830
  },
6831
+ {
6832
+ "type": "object",
6833
+ "properties": {},
6834
+ "additionalProperties": {}
6835
+ },
6659
6836
  {
6660
6837
  "type": "array",
6661
6838
  "items": {
@@ -6712,6 +6889,11 @@
6712
6889
  {
6713
6890
  "type": "string"
6714
6891
  },
6892
+ {
6893
+ "type": "object",
6894
+ "properties": {},
6895
+ "additionalProperties": {}
6896
+ },
6715
6897
  {
6716
6898
  "type": "array",
6717
6899
  "items": {
@@ -11901,6 +12083,11 @@
11901
12083
  {
11902
12084
  "type": "string"
11903
12085
  },
12086
+ {
12087
+ "type": "object",
12088
+ "properties": {},
12089
+ "additionalProperties": {}
12090
+ },
11904
12091
  {
11905
12092
  "type": "array",
11906
12093
  "items": {
@@ -11932,6 +12119,11 @@
11932
12119
  {
11933
12120
  "type": "string"
11934
12121
  },
12122
+ {
12123
+ "type": "object",
12124
+ "properties": {},
12125
+ "additionalProperties": {}
12126
+ },
11935
12127
  {
11936
12128
  "type": "array",
11937
12129
  "items": {
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module'; const require = createRequire(impor
2
2
  import {
3
3
  loadTsEvalFile,
4
4
  loadTsEvalSuite
5
- } from "./chunk-ZPFM52HV.js";
5
+ } from "./chunk-RFJM2UBD.js";
6
6
  import "./chunk-NPVGBFF6.js";
7
7
  import "./chunk-M7BUKBAF.js";
8
8
  import "./chunk-5H446C7X.js";
@@ -10,4 +10,4 @@ export {
10
10
  loadTsEvalFile,
11
11
  loadTsEvalSuite
12
12
  };
13
- //# sourceMappingURL=ts-eval-loader-PYEU2PMP-YLXIQTEQ.js.map
13
+ //# sourceMappingURL=ts-eval-loader-HQDMXQQV-LBW3N3W6.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentv",
3
- "version": "4.42.4",
3
+ "version": "4.43.0-next.1",
4
4
  "description": "CLI entry point for AgentV",
5
5
  "type": "module",
6
6
  "repository": {
@@ -17,19 +17,19 @@
17
17
  "files": ["dist", "README.md"],
18
18
  "scripts": {
19
19
  "dev": "bun src/cli.ts",
20
- "build": "tsup && bun run copy-readme",
20
+ "build": "(cd ../../packages/sdk && bun run build) && tsup && bun run copy-readme",
21
21
  "copy-readme": "bun -e \"import { cpSync } from 'fs'; cpSync('../../README.md', 'README.md')\"",
22
22
  "prepublishOnly": "node -e \"if(process.env.ALLOW_PUBLISH!=='1'){console.error('ERROR: Use bun run publish:next, then bun run promote:latest');process.exit(1)}\"",
23
- "typecheck": "tsc --noEmit",
23
+ "typecheck": "(cd ../../packages/sdk && bun run build) && tsc --noEmit",
24
24
  "lint": "biome check .",
25
25
  "format": "biome format --write .",
26
26
  "fix": "biome check --write .",
27
- "test": "bun test",
27
+ "test": "(cd ../../packages/sdk && bun run build) && bun test",
28
28
  "test:watch": "bun test --watch"
29
29
  },
30
30
  "dependencies": {
31
31
  "@anthropic-ai/claude-agent-sdk": "^0.2.49",
32
- "@github/copilot-sdk": "^0.1.25",
32
+ "@github/copilot-sdk": "^1.0.3",
33
33
  "@hono/node-server": "^1.19.11",
34
34
  "@inquirer/prompts": "^8.2.1",
35
35
  "@earendil-works/pi-ai": "^0.74.0",
@@ -53,6 +53,7 @@
53
53
  },
54
54
  "devDependencies": {
55
55
  "@agentv/core": "workspace:*",
56
+ "@agentv/sdk": "workspace:*",
56
57
  "@types/semver": "^7.7.1",
57
58
  "execa": "^9.3.0"
58
59
  }