@duvoai/cli 0.1.0 → 0.2.0

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 (95) hide show
  1. package/README.md +71 -11
  2. package/dist/bin/duvo.js +11726 -6
  3. package/dist/bin/duvo.js.map +7 -0
  4. package/package.json +10 -8
  5. package/dist/api/agent-schemas.d.ts +0 -521
  6. package/dist/api/agent-schemas.js +0 -36
  7. package/dist/api/parse-fields.d.ts +0 -25
  8. package/dist/api/parse-fields.js +0 -86
  9. package/dist/api/read-input.d.ts +0 -6
  10. package/dist/api/read-input.js +0 -28
  11. package/dist/api/run-schemas.d.ts +0 -621
  12. package/dist/api/run-schemas.js +0 -91
  13. package/dist/bin/create-program.d.ts +0 -7
  14. package/dist/bin/create-program.js +0 -34
  15. package/dist/bin/duvo.d.ts +0 -2
  16. package/dist/client/client.d.ts +0 -23
  17. package/dist/client/client.js +0 -96
  18. package/dist/commands/agents/create.d.ts +0 -2
  19. package/dist/commands/agents/create.js +0 -182
  20. package/dist/commands/agents/get.d.ts +0 -2
  21. package/dist/commands/agents/get.js +0 -36
  22. package/dist/commands/agents/index.d.ts +0 -2
  23. package/dist/commands/agents/index.js +0 -11
  24. package/dist/commands/agents/list.d.ts +0 -2
  25. package/dist/commands/agents/list.js +0 -61
  26. package/dist/commands/api-render.d.ts +0 -8
  27. package/dist/commands/api-render.js +0 -72
  28. package/dist/commands/api.d.ts +0 -2
  29. package/dist/commands/api.js +0 -90
  30. package/dist/commands/login.d.ts +0 -2
  31. package/dist/commands/login.js +0 -80
  32. package/dist/commands/logout.d.ts +0 -2
  33. package/dist/commands/logout.js +0 -38
  34. package/dist/commands/profiles/index.d.ts +0 -2
  35. package/dist/commands/profiles/index.js +0 -13
  36. package/dist/commands/profiles/list.d.ts +0 -2
  37. package/dist/commands/profiles/list.js +0 -22
  38. package/dist/commands/profiles/remove.d.ts +0 -2
  39. package/dist/commands/profiles/remove.js +0 -30
  40. package/dist/commands/profiles/rename.d.ts +0 -2
  41. package/dist/commands/profiles/rename.js +0 -20
  42. package/dist/commands/profiles/render-list.d.ts +0 -12
  43. package/dist/commands/profiles/render-list.js +0 -37
  44. package/dist/commands/profiles/use.d.ts +0 -2
  45. package/dist/commands/profiles/use.js +0 -17
  46. package/dist/commands/runs/get.d.ts +0 -2
  47. package/dist/commands/runs/get.js +0 -59
  48. package/dist/commands/runs/index.d.ts +0 -2
  49. package/dist/commands/runs/index.js +0 -17
  50. package/dist/commands/runs/messages.d.ts +0 -2
  51. package/dist/commands/runs/messages.js +0 -80
  52. package/dist/commands/runs/respond.d.ts +0 -2
  53. package/dist/commands/runs/respond.js +0 -105
  54. package/dist/commands/runs/send-message.d.ts +0 -2
  55. package/dist/commands/runs/send-message.js +0 -41
  56. package/dist/commands/runs/start.d.ts +0 -2
  57. package/dist/commands/runs/start.js +0 -54
  58. package/dist/commands/runs/stop.d.ts +0 -2
  59. package/dist/commands/runs/stop.js +0 -41
  60. package/dist/commands/shared/confirm.d.ts +0 -19
  61. package/dist/commands/shared/confirm.js +0 -28
  62. package/dist/commands/shared/pagination.d.ts +0 -8
  63. package/dist/commands/shared/pagination.js +0 -24
  64. package/dist/commands/shared/profile-flag.d.ts +0 -8
  65. package/dist/commands/shared/profile-flag.js +0 -17
  66. package/dist/commands/shared/require-auth.d.ts +0 -12
  67. package/dist/commands/shared/require-auth.js +0 -18
  68. package/dist/commands/whoami.d.ts +0 -2
  69. package/dist/commands/whoami.js +0 -14
  70. package/dist/config/defaults.d.ts +0 -3
  71. package/dist/config/defaults.js +0 -4
  72. package/dist/config/env.d.ts +0 -17
  73. package/dist/config/env.js +0 -13
  74. package/dist/config/paths.d.ts +0 -2
  75. package/dist/config/paths.js +0 -14
  76. package/dist/config/profiles.d.ts +0 -24
  77. package/dist/config/profiles.js +0 -78
  78. package/dist/config/resolve.d.ts +0 -29
  79. package/dist/config/resolve.js +0 -46
  80. package/dist/config/store.d.ts +0 -4
  81. package/dist/config/store.js +0 -94
  82. package/dist/config/types.d.ts +0 -8
  83. package/dist/config/types.js +0 -1
  84. package/dist/errors.d.ts +0 -22
  85. package/dist/errors.js +0 -42
  86. package/dist/output/format.d.ts +0 -11
  87. package/dist/output/format.js +0 -26
  88. package/dist/output/green.d.ts +0 -5
  89. package/dist/output/green.js +0 -18
  90. package/dist/output/json.d.ts +0 -6
  91. package/dist/output/json.js +0 -8
  92. package/dist/output/table.d.ts +0 -16
  93. package/dist/output/table.js +0 -35
  94. package/dist/output/text.d.ts +0 -9
  95. package/dist/output/text.js +0 -13
package/package.json CHANGED
@@ -1,9 +1,7 @@
1
1
  {
2
2
  "name": "@duvoai/cli",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Command-line interface for the Duvo public API",
5
- "type": "module",
6
- "main": "dist/bin/duvo.js",
7
5
  "bin": {
8
6
  "duvo": "./dist/bin/duvo.js"
9
7
  },
@@ -11,23 +9,27 @@
11
9
  "dist",
12
10
  "README.md"
13
11
  ],
12
+ "type": "module",
13
+ "main": "dist/bin/duvo.js",
14
14
  "scripts": {
15
- "build": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json && node scripts/make-bin-executable.mjs",
15
+ "build": "node scripts/build.mjs",
16
+ "build:watch": "node scripts/build.mjs --watch",
16
17
  "dev": "tsx src/bin/duvo.ts",
17
- "lint": "eslint .",
18
+ "lint": "eslint . --cache --cache-location node_modules/.cache/eslint/",
18
19
  "typecheck": "tsc --noEmit",
19
20
  "test": "vitest run --passWithNoTests",
20
21
  "test:watch": "vitest"
21
22
  },
22
23
  "dependencies": {
23
24
  "@clack/prompts": "^0.8.2",
24
- "@taskcrew/shared": "workspace:*",
25
25
  "commander": "^12.1.0",
26
- "zod": "^3.25.76"
26
+ "zod": "^4.3.6"
27
27
  },
28
28
  "devDependencies": {
29
+ "@esbuild-plugins/tsconfig-paths": "^0.1.2",
30
+ "@taskcrew/shared": "workspace:*",
29
31
  "@types/node": "^24.3.0",
30
- "tsc-alias": "^1.8.16",
32
+ "esbuild": "^0.25.6",
31
33
  "tsx": "^4.20.3",
32
34
  "typescript": "^5.7.2",
33
35
  "vitest": "^3.2.4"
@@ -1,521 +0,0 @@
1
- import { z } from "zod";
2
- declare const publicAgentSchema: z.ZodObject<{
3
- id: z.ZodString;
4
- name: z.ZodString;
5
- created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
- updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
- }, "strip", z.ZodTypeAny, {
8
- id: string;
9
- name: string;
10
- created_at?: string | null | undefined;
11
- updated_at?: string | null | undefined;
12
- }, {
13
- id: string;
14
- name: string;
15
- created_at?: string | null | undefined;
16
- updated_at?: string | null | undefined;
17
- }>;
18
- export type PublicAgent = z.infer<typeof publicAgentSchema>;
19
- declare const publicBuildSchema: z.ZodObject<{
20
- id: z.ZodString;
21
- agent_id: z.ZodString;
22
- name: z.ZodString;
23
- revision_number: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
24
- created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
- updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
- }, "strip", z.ZodTypeAny, {
27
- id: string;
28
- name: string;
29
- agent_id: string;
30
- created_at?: string | null | undefined;
31
- updated_at?: string | null | undefined;
32
- revision_number?: number | null | undefined;
33
- }, {
34
- id: string;
35
- name: string;
36
- agent_id: string;
37
- created_at?: string | null | undefined;
38
- updated_at?: string | null | undefined;
39
- revision_number?: number | null | undefined;
40
- }>;
41
- export type PublicBuild = z.infer<typeof publicBuildSchema>;
42
- export declare const listAgentsResponseSchema: z.ZodObject<{
43
- agents: z.ZodArray<z.ZodObject<{
44
- id: z.ZodString;
45
- name: z.ZodString;
46
- created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
- updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
- }, "strip", z.ZodTypeAny, {
49
- id: string;
50
- name: string;
51
- created_at?: string | null | undefined;
52
- updated_at?: string | null | undefined;
53
- }, {
54
- id: string;
55
- name: string;
56
- created_at?: string | null | undefined;
57
- updated_at?: string | null | undefined;
58
- }>, "many">;
59
- total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
60
- limit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
61
- offset: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
62
- }, "strip", z.ZodTypeAny, {
63
- agents: {
64
- id: string;
65
- name: string;
66
- created_at?: string | null | undefined;
67
- updated_at?: string | null | undefined;
68
- }[];
69
- total?: number | null | undefined;
70
- limit?: number | null | undefined;
71
- offset?: number | null | undefined;
72
- }, {
73
- agents: {
74
- id: string;
75
- name: string;
76
- created_at?: string | null | undefined;
77
- updated_at?: string | null | undefined;
78
- }[];
79
- total?: number | null | undefined;
80
- limit?: number | null | undefined;
81
- offset?: number | null | undefined;
82
- }>;
83
- export type ListAgentsResponse = z.infer<typeof listAgentsResponseSchema>;
84
- export declare const getAgentResponseSchema: z.ZodObject<{
85
- agent: z.ZodObject<{
86
- id: z.ZodString;
87
- name: z.ZodString;
88
- created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
- updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
- }, "strip", z.ZodTypeAny, {
91
- id: string;
92
- name: string;
93
- created_at?: string | null | undefined;
94
- updated_at?: string | null | undefined;
95
- }, {
96
- id: string;
97
- name: string;
98
- created_at?: string | null | undefined;
99
- updated_at?: string | null | undefined;
100
- }>;
101
- }, "strip", z.ZodTypeAny, {
102
- agent: {
103
- id: string;
104
- name: string;
105
- created_at?: string | null | undefined;
106
- updated_at?: string | null | undefined;
107
- };
108
- }, {
109
- agent: {
110
- id: string;
111
- name: string;
112
- created_at?: string | null | undefined;
113
- updated_at?: string | null | undefined;
114
- };
115
- }>;
116
- export type GetAgentResponse = z.infer<typeof getAgentResponseSchema>;
117
- export declare const createAgentResponseSchema: z.ZodObject<{
118
- agent: z.ZodObject<{
119
- id: z.ZodString;
120
- name: z.ZodString;
121
- created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
- updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
123
- }, "strip", z.ZodTypeAny, {
124
- id: string;
125
- name: string;
126
- created_at?: string | null | undefined;
127
- updated_at?: string | null | undefined;
128
- }, {
129
- id: string;
130
- name: string;
131
- created_at?: string | null | undefined;
132
- updated_at?: string | null | undefined;
133
- }>;
134
- build: z.ZodOptional<z.ZodObject<{
135
- id: z.ZodString;
136
- agent_id: z.ZodString;
137
- name: z.ZodString;
138
- revision_number: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
139
- created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
- updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
141
- }, "strip", z.ZodTypeAny, {
142
- id: string;
143
- name: string;
144
- agent_id: string;
145
- created_at?: string | null | undefined;
146
- updated_at?: string | null | undefined;
147
- revision_number?: number | null | undefined;
148
- }, {
149
- id: string;
150
- name: string;
151
- agent_id: string;
152
- created_at?: string | null | undefined;
153
- updated_at?: string | null | undefined;
154
- revision_number?: number | null | undefined;
155
- }>>;
156
- }, "strip", z.ZodTypeAny, {
157
- agent: {
158
- id: string;
159
- name: string;
160
- created_at?: string | null | undefined;
161
- updated_at?: string | null | undefined;
162
- };
163
- build?: {
164
- id: string;
165
- name: string;
166
- agent_id: string;
167
- created_at?: string | null | undefined;
168
- updated_at?: string | null | undefined;
169
- revision_number?: number | null | undefined;
170
- } | undefined;
171
- }, {
172
- agent: {
173
- id: string;
174
- name: string;
175
- created_at?: string | null | undefined;
176
- updated_at?: string | null | undefined;
177
- };
178
- build?: {
179
- id: string;
180
- name: string;
181
- agent_id: string;
182
- created_at?: string | null | undefined;
183
- updated_at?: string | null | undefined;
184
- revision_number?: number | null | undefined;
185
- } | undefined;
186
- }>;
187
- export type CreateAgentResponse = z.infer<typeof createAgentResponseSchema>;
188
- export declare const buildConfigSchema: z.ZodObject<{
189
- version: z.ZodLiteral<"v2">;
190
- data: z.ZodObject<{
191
- models: z.ZodObject<{
192
- agent: z.ZodObject<{
193
- model: z.ZodEnum<["claude-sonnet-4-6", "claude-sonnet-4-6[1m]", "claude-opus-4-6", "claude-opus-4-6[1m]", "claude-opus-4-7", "claude-opus-4-7[1m]", "d1-max", "duvo-1-max", "duvo-1-max-sonnet-1m", "duvo-1-max-sonnet-4.5", "duvo-1-max-sonnet-4.5-1m", "duvo-1-max-opus", "duvo-1-max-opus-4.5", "gpt-4.1", "gpt-4o", "gpt-4o-mini", "gpt-5", "gpt-5.1", "claude-sonnet-4-20250514", "claude-sonnet-4-20250514[1m]", "claude-sonnet-4-5-20250929", "claude-sonnet-4-5-20250929[1m]", "claude-opus-4-1-20250805", "claude-opus-4-5-20251101"]>;
194
- }, "strip", z.ZodTypeAny, {
195
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
196
- }, {
197
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
198
- }>;
199
- browsing: z.ZodObject<{
200
- provider: z.ZodEnum<["google", "anthropic"]>;
201
- model: z.ZodEnum<["gemini-2.5-pro", "gemini-2.5-flash", "gemini-3-pro-preview", "claude-haiku-4-5", "claude-sonnet-4-5", "claude-opus-4-1"]>;
202
- }, "strip", z.ZodTypeAny, {
203
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
204
- provider: "google" | "anthropic";
205
- }, {
206
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
207
- provider: "google" | "anthropic";
208
- }>;
209
- }, "strip", z.ZodTypeAny, {
210
- agent: {
211
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
212
- };
213
- browsing: {
214
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
215
- provider: "google" | "anthropic";
216
- };
217
- }, {
218
- agent: {
219
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
220
- };
221
- browsing: {
222
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
223
- provider: "google" | "anthropic";
224
- };
225
- }>;
226
- input: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
227
- role: z.ZodEnum<["system", "user", "assistant"]>;
228
- content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
229
- type: z.ZodLiteral<"input_text">;
230
- text: z.ZodString;
231
- }, "strip", z.ZodTypeAny, {
232
- type: "input_text";
233
- text: string;
234
- }, {
235
- type: "input_text";
236
- text: string;
237
- }>, z.ZodObject<{
238
- type: z.ZodLiteral<"input_image">;
239
- detail: z.ZodOptional<z.ZodNullable<z.ZodEnum<["low", "high", "auto"]>>>;
240
- file_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
241
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
242
- }, "strip", z.ZodTypeAny, {
243
- type: "input_image";
244
- detail?: "low" | "high" | "auto" | null | undefined;
245
- file_id?: string | null | undefined;
246
- url?: string | null | undefined;
247
- }, {
248
- type: "input_image";
249
- detail?: "low" | "high" | "auto" | null | undefined;
250
- file_id?: string | null | undefined;
251
- url?: string | null | undefined;
252
- }>, z.ZodObject<{
253
- type: z.ZodLiteral<"input_file">;
254
- file_id: z.ZodString;
255
- }, "strip", z.ZodTypeAny, {
256
- type: "input_file";
257
- file_id: string;
258
- }, {
259
- type: "input_file";
260
- file_id: string;
261
- }>]>, "many">]>;
262
- type: z.ZodOptional<z.ZodNullable<z.ZodLiteral<"message">>>;
263
- }, "strip", z.ZodTypeAny, {
264
- role: "system" | "user" | "assistant";
265
- content: string | ({
266
- type: "input_text";
267
- text: string;
268
- } | {
269
- type: "input_image";
270
- detail?: "low" | "high" | "auto" | null | undefined;
271
- file_id?: string | null | undefined;
272
- url?: string | null | undefined;
273
- } | {
274
- type: "input_file";
275
- file_id: string;
276
- })[];
277
- type?: "message" | null | undefined;
278
- }, {
279
- role: "system" | "user" | "assistant";
280
- content: string | ({
281
- type: "input_text";
282
- text: string;
283
- } | {
284
- type: "input_image";
285
- detail?: "low" | "high" | "auto" | null | undefined;
286
- file_id?: string | null | undefined;
287
- url?: string | null | undefined;
288
- } | {
289
- type: "input_file";
290
- file_id: string;
291
- })[];
292
- type?: "message" | null | undefined;
293
- }>, "many">]>;
294
- files: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>>;
295
- skills: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>>;
296
- plugins: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>>;
297
- options: z.ZodOptional<z.ZodObject<{
298
- browserProvider: z.ZodOptional<z.ZodEnum<["browserbase", "browser-use"]>>;
299
- evaluationSchemaId: z.ZodOptional<z.ZodString>;
300
- benchmarkExpectedOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
301
- description: z.ZodString;
302
- criteria: z.ZodString;
303
- }, "strip", z.ZodTypeAny, {
304
- description: string;
305
- criteria: string;
306
- }, {
307
- description: string;
308
- criteria: string;
309
- }>, "many">>;
310
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
311
- browserProvider: z.ZodOptional<z.ZodEnum<["browserbase", "browser-use"]>>;
312
- evaluationSchemaId: z.ZodOptional<z.ZodString>;
313
- benchmarkExpectedOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
314
- description: z.ZodString;
315
- criteria: z.ZodString;
316
- }, "strip", z.ZodTypeAny, {
317
- description: string;
318
- criteria: string;
319
- }, {
320
- description: string;
321
- criteria: string;
322
- }>, "many">>;
323
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
324
- browserProvider: z.ZodOptional<z.ZodEnum<["browserbase", "browser-use"]>>;
325
- evaluationSchemaId: z.ZodOptional<z.ZodString>;
326
- benchmarkExpectedOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
327
- description: z.ZodString;
328
- criteria: z.ZodString;
329
- }, "strip", z.ZodTypeAny, {
330
- description: string;
331
- criteria: string;
332
- }, {
333
- description: string;
334
- criteria: string;
335
- }>, "many">>;
336
- }, z.ZodTypeAny, "passthrough">>>;
337
- }, "strip", z.ZodTypeAny, {
338
- models: {
339
- agent: {
340
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
341
- };
342
- browsing: {
343
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
344
- provider: "google" | "anthropic";
345
- };
346
- };
347
- input: string | {
348
- role: "system" | "user" | "assistant";
349
- content: string | ({
350
- type: "input_text";
351
- text: string;
352
- } | {
353
- type: "input_image";
354
- detail?: "low" | "high" | "auto" | null | undefined;
355
- file_id?: string | null | undefined;
356
- url?: string | null | undefined;
357
- } | {
358
- type: "input_file";
359
- file_id: string;
360
- })[];
361
- type?: "message" | null | undefined;
362
- }[];
363
- files: string[] | null;
364
- skills: string[] | null;
365
- plugins: string[] | null;
366
- options?: z.objectOutputType<{
367
- browserProvider: z.ZodOptional<z.ZodEnum<["browserbase", "browser-use"]>>;
368
- evaluationSchemaId: z.ZodOptional<z.ZodString>;
369
- benchmarkExpectedOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
370
- description: z.ZodString;
371
- criteria: z.ZodString;
372
- }, "strip", z.ZodTypeAny, {
373
- description: string;
374
- criteria: string;
375
- }, {
376
- description: string;
377
- criteria: string;
378
- }>, "many">>;
379
- }, z.ZodTypeAny, "passthrough"> | undefined;
380
- }, {
381
- models: {
382
- agent: {
383
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
384
- };
385
- browsing: {
386
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
387
- provider: "google" | "anthropic";
388
- };
389
- };
390
- input: string | {
391
- role: "system" | "user" | "assistant";
392
- content: string | ({
393
- type: "input_text";
394
- text: string;
395
- } | {
396
- type: "input_image";
397
- detail?: "low" | "high" | "auto" | null | undefined;
398
- file_id?: string | null | undefined;
399
- url?: string | null | undefined;
400
- } | {
401
- type: "input_file";
402
- file_id: string;
403
- })[];
404
- type?: "message" | null | undefined;
405
- }[];
406
- options?: z.objectInputType<{
407
- browserProvider: z.ZodOptional<z.ZodEnum<["browserbase", "browser-use"]>>;
408
- evaluationSchemaId: z.ZodOptional<z.ZodString>;
409
- benchmarkExpectedOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
410
- description: z.ZodString;
411
- criteria: z.ZodString;
412
- }, "strip", z.ZodTypeAny, {
413
- description: string;
414
- criteria: string;
415
- }, {
416
- description: string;
417
- criteria: string;
418
- }>, "many">>;
419
- }, z.ZodTypeAny, "passthrough"> | undefined;
420
- files?: string[] | null | undefined;
421
- skills?: string[] | null | undefined;
422
- plugins?: string[] | null | undefined;
423
- }>;
424
- }, "strip", z.ZodTypeAny, {
425
- data: {
426
- models: {
427
- agent: {
428
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
429
- };
430
- browsing: {
431
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
432
- provider: "google" | "anthropic";
433
- };
434
- };
435
- input: string | {
436
- role: "system" | "user" | "assistant";
437
- content: string | ({
438
- type: "input_text";
439
- text: string;
440
- } | {
441
- type: "input_image";
442
- detail?: "low" | "high" | "auto" | null | undefined;
443
- file_id?: string | null | undefined;
444
- url?: string | null | undefined;
445
- } | {
446
- type: "input_file";
447
- file_id: string;
448
- })[];
449
- type?: "message" | null | undefined;
450
- }[];
451
- files: string[] | null;
452
- skills: string[] | null;
453
- plugins: string[] | null;
454
- options?: z.objectOutputType<{
455
- browserProvider: z.ZodOptional<z.ZodEnum<["browserbase", "browser-use"]>>;
456
- evaluationSchemaId: z.ZodOptional<z.ZodString>;
457
- benchmarkExpectedOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
458
- description: z.ZodString;
459
- criteria: z.ZodString;
460
- }, "strip", z.ZodTypeAny, {
461
- description: string;
462
- criteria: string;
463
- }, {
464
- description: string;
465
- criteria: string;
466
- }>, "many">>;
467
- }, z.ZodTypeAny, "passthrough"> | undefined;
468
- };
469
- version: "v2";
470
- }, {
471
- data: {
472
- models: {
473
- agent: {
474
- model: "claude-sonnet-4-6" | "claude-sonnet-4-6[1m]" | "claude-opus-4-6" | "claude-opus-4-6[1m]" | "claude-opus-4-7" | "claude-opus-4-7[1m]" | "d1-max" | "duvo-1-max" | "duvo-1-max-sonnet-1m" | "duvo-1-max-sonnet-4.5" | "duvo-1-max-sonnet-4.5-1m" | "duvo-1-max-opus" | "duvo-1-max-opus-4.5" | "gpt-4.1" | "gpt-4o" | "gpt-4o-mini" | "gpt-5" | "gpt-5.1" | "claude-sonnet-4-20250514" | "claude-sonnet-4-20250514[1m]" | "claude-sonnet-4-5-20250929" | "claude-sonnet-4-5-20250929[1m]" | "claude-opus-4-1-20250805" | "claude-opus-4-5-20251101";
475
- };
476
- browsing: {
477
- model: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-3-pro-preview" | "claude-haiku-4-5" | "claude-sonnet-4-5" | "claude-opus-4-1";
478
- provider: "google" | "anthropic";
479
- };
480
- };
481
- input: string | {
482
- role: "system" | "user" | "assistant";
483
- content: string | ({
484
- type: "input_text";
485
- text: string;
486
- } | {
487
- type: "input_image";
488
- detail?: "low" | "high" | "auto" | null | undefined;
489
- file_id?: string | null | undefined;
490
- url?: string | null | undefined;
491
- } | {
492
- type: "input_file";
493
- file_id: string;
494
- })[];
495
- type?: "message" | null | undefined;
496
- }[];
497
- options?: z.objectInputType<{
498
- browserProvider: z.ZodOptional<z.ZodEnum<["browserbase", "browser-use"]>>;
499
- evaluationSchemaId: z.ZodOptional<z.ZodString>;
500
- benchmarkExpectedOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
501
- description: z.ZodString;
502
- criteria: z.ZodString;
503
- }, "strip", z.ZodTypeAny, {
504
- description: string;
505
- criteria: string;
506
- }, {
507
- description: string;
508
- criteria: string;
509
- }>, "many">>;
510
- }, z.ZodTypeAny, "passthrough"> | undefined;
511
- files?: string[] | null | undefined;
512
- skills?: string[] | null | undefined;
513
- plugins?: string[] | null | undefined;
514
- };
515
- version: "v2";
516
- }>;
517
- export type BuildConfig = z.input<typeof buildConfigSchema>;
518
- export declare const DEFAULT_NEW_AGENT_NAME = "New Assignment";
519
- export declare const DEFAULT_BUILD_NAME = "Initial build";
520
- export declare const DEFAULT_BUILD_CONFIG: BuildConfig;
521
- export {};
@@ -1,36 +0,0 @@
1
- import { AGENT_CONFIG_VERSION, DEFAULT_AGENT_CONFIG, DEFAULT_AGENT_NAME, StoredAgentConfigSchemaV2, } from "@taskcrew/shared";
2
- import { z } from "zod";
3
- const publicAgentSchema = z.object({
4
- id: z.string(),
5
- name: z.string(),
6
- created_at: z.string().nullish(),
7
- updated_at: z.string().nullish(),
8
- });
9
- const publicBuildSchema = z.object({
10
- id: z.string(),
11
- agent_id: z.string(),
12
- name: z.string(),
13
- revision_number: z.number().nullish(),
14
- created_at: z.string().nullish(),
15
- updated_at: z.string().nullish(),
16
- });
17
- export const listAgentsResponseSchema = z.object({
18
- agents: z.array(publicAgentSchema),
19
- total: z.number().nullish(),
20
- limit: z.number().nullish(),
21
- offset: z.number().nullish(),
22
- });
23
- export const getAgentResponseSchema = z.object({
24
- agent: publicAgentSchema,
25
- });
26
- export const createAgentResponseSchema = z.object({
27
- agent: publicAgentSchema,
28
- build: publicBuildSchema.optional(),
29
- });
30
- export const buildConfigSchema = StoredAgentConfigSchemaV2;
31
- export const DEFAULT_NEW_AGENT_NAME = DEFAULT_AGENT_NAME;
32
- export const DEFAULT_BUILD_NAME = "Initial build";
33
- export const DEFAULT_BUILD_CONFIG = {
34
- version: AGENT_CONFIG_VERSION,
35
- data: DEFAULT_AGENT_CONFIG,
36
- };
@@ -1,25 +0,0 @@
1
- type Field = {
2
- key: string;
3
- value: unknown;
4
- };
5
- /**
6
- * Parses a `-f key=value` pair. The value is always kept as a string,
7
- * matching the `gh api` convention.
8
- */
9
- export declare function parseStringField(input: string): Field;
10
- /**
11
- * Parses a `-F key=value` pair. The value is coerced to a typed value
12
- * when it matches one of: `null`, `true`, `false`, a number, or
13
- * `@path/to/file.json` (inlines the file's parsed JSON). Anything else
14
- * falls through as a string.
15
- */
16
- export declare function parseTypedField(input: string): Field;
17
- /**
18
- * Combines repeated `-f` and `-F` flag values into a single object.
19
- * String fields (`-f`) are applied first, then typed fields (`-F`), so
20
- * typed fields win on key collision regardless of CLI argument order.
21
- * Commander collects the two flags into separate arrays, so the original
22
- * interleaved order is lost by the time we get here.
23
- */
24
- export declare function buildFieldObject(stringFields?: readonly string[], typedFields?: readonly string[]): Record<string, unknown>;
25
- export {};