@ai-sdk/harness-claude-code 0.0.0-07500555-20260730161446

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.
@@ -0,0 +1,1149 @@
1
+ import * as _ai_sdk_provider from '@ai-sdk/provider';
2
+ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
+ import { Experimental_SandboxSession } from '@ai-sdk/provider-utils';
4
+ import * as _ai_sdk_harness from '@ai-sdk/harness';
5
+ import { HarnessV1, HarnessV1BuiltinTool } from '@ai-sdk/harness';
6
+
7
+ type ClaudeCodeAuthOptions = {
8
+ readonly anthropic?: {
9
+ readonly apiKey?: string;
10
+ readonly authToken?: string;
11
+ readonly baseUrl?: string;
12
+ };
13
+ readonly gateway?: {
14
+ readonly apiKey?: string;
15
+ readonly baseUrl?: string;
16
+ };
17
+ };
18
+
19
+ type ClaudeCodeThinkingConfig = {
20
+ readonly type: 'adaptive' | 'enabled';
21
+ readonly display?: 'summarized' | 'omitted';
22
+ } | {
23
+ readonly type: 'disabled';
24
+ };
25
+
26
+ type ClaudeCodeHarnessSettings = {
27
+ readonly auth?: ClaudeCodeAuthOptions;
28
+ /**
29
+ * Anthropic model id the underlying `claude` CLI should use. Leaving this
30
+ * unset defers to the CLI's default.
31
+ */
32
+ readonly model?: string;
33
+ /**
34
+ * Hard cap on how many internal turns the CLI can take before yielding
35
+ * back to the caller. Unset means the CLI's default.
36
+ */
37
+ readonly maxTurns?: number;
38
+ /**
39
+ * Controls extended-thinking behavior and whether reasoning is summarized or
40
+ * omitted. Defaults to `{ type: 'adaptive', display: 'summarized' }`.
41
+ */
42
+ readonly thinking?: ClaudeCodeThinkingConfig;
43
+ /**
44
+ * Override the port the bridge binds inside the sandbox. By default the
45
+ * adapter uses the first port the sandbox declares via `sandbox.ports`.
46
+ * Only set this if the sandbox declares multiple ports and the first one
47
+ * is reserved for something else.
48
+ */
49
+ readonly port?: number;
50
+ /** Maximum milliseconds to wait for the bridge to advertise its port. Defaults to 120000. */
51
+ readonly startupTimeoutMs?: number;
52
+ };
53
+ declare const CLAUDE_CODE_BUILTIN_TOOLS: {
54
+ readonly read: HarnessV1BuiltinTool<{
55
+ file_path: string;
56
+ offset?: number | undefined;
57
+ limit?: number | undefined;
58
+ pages?: string | undefined;
59
+ }, unknown>;
60
+ readonly write: HarnessV1BuiltinTool<{
61
+ file_path: string;
62
+ content: string;
63
+ }, unknown>;
64
+ readonly edit: HarnessV1BuiltinTool<{
65
+ file_path: string;
66
+ old_string: string;
67
+ new_string: string;
68
+ replace_all?: boolean | undefined;
69
+ }, unknown>;
70
+ readonly bash: HarnessV1BuiltinTool<{
71
+ command: string;
72
+ timeout?: number | undefined;
73
+ description?: string | undefined;
74
+ run_in_background?: boolean | undefined;
75
+ dangerouslyDisableSandbox?: boolean | undefined;
76
+ }, unknown>;
77
+ readonly glob: HarnessV1BuiltinTool<{
78
+ pattern: string;
79
+ path?: string | undefined;
80
+ }, unknown>;
81
+ readonly grep: HarnessV1BuiltinTool<{
82
+ pattern: string;
83
+ path?: string | undefined;
84
+ glob?: string | undefined;
85
+ output_mode?: "content" | "files_with_matches" | "count" | undefined;
86
+ '-B'?: number | undefined;
87
+ '-A'?: number | undefined;
88
+ '-C'?: number | undefined;
89
+ context?: number | undefined;
90
+ '-n'?: boolean | undefined;
91
+ '-i'?: boolean | undefined;
92
+ '-o'?: boolean | undefined;
93
+ type?: string | undefined;
94
+ head_limit?: number | undefined;
95
+ offset?: number | undefined;
96
+ multiline?: boolean | undefined;
97
+ }, unknown>;
98
+ readonly webSearch: HarnessV1BuiltinTool<{
99
+ query: string;
100
+ allowed_domains?: string[] | undefined;
101
+ blocked_domains?: string[] | undefined;
102
+ }, unknown>;
103
+ readonly WebFetch: _ai_sdk_provider_utils.Tool<{
104
+ url: string;
105
+ prompt: string;
106
+ }, any, any>;
107
+ readonly NotebookEdit: _ai_sdk_provider_utils.Tool<{
108
+ notebook_path: string;
109
+ new_source: string;
110
+ cell_id?: string | undefined;
111
+ cell_type?: "code" | "markdown" | undefined;
112
+ edit_mode?: "replace" | "insert" | "delete" | undefined;
113
+ }, any, any>;
114
+ readonly TodoWrite: _ai_sdk_provider_utils.Tool<{
115
+ todos: {
116
+ content: string;
117
+ status: "pending" | "in_progress" | "completed";
118
+ activeForm: string;
119
+ }[];
120
+ }, any, any>;
121
+ readonly Agent: _ai_sdk_provider_utils.Tool<{
122
+ description: string;
123
+ prompt: string;
124
+ subagent_type?: string | undefined;
125
+ model?: "sonnet" | "opus" | "haiku" | undefined;
126
+ run_in_background?: boolean | undefined;
127
+ name?: string | undefined;
128
+ team_name?: string | undefined;
129
+ mode?: "default" | "acceptEdits" | "auto" | "bypassPermissions" | "dontAsk" | "plan" | undefined;
130
+ isolation?: "worktree" | undefined;
131
+ }, any, any>;
132
+ readonly TaskCreate: _ai_sdk_provider_utils.Tool<{
133
+ subject: string;
134
+ description: string;
135
+ activeForm?: string | undefined;
136
+ metadata?: Record<string, unknown> | undefined;
137
+ }, any, any>;
138
+ readonly TaskGet: _ai_sdk_provider_utils.Tool<{
139
+ taskId: string;
140
+ }, any, any>;
141
+ readonly TaskUpdate: _ai_sdk_provider_utils.Tool<{
142
+ taskId: string;
143
+ subject?: string | undefined;
144
+ description?: string | undefined;
145
+ activeForm?: string | undefined;
146
+ status?: "pending" | "in_progress" | "completed" | "deleted" | undefined;
147
+ addBlocks?: string[] | undefined;
148
+ addBlockedBy?: string[] | undefined;
149
+ owner?: string | undefined;
150
+ metadata?: Record<string, unknown> | undefined;
151
+ }, any, any>;
152
+ readonly TaskList: _ai_sdk_provider_utils.Tool<Record<string, never>, any, any>;
153
+ readonly TaskStop: _ai_sdk_provider_utils.Tool<{
154
+ task_id?: string | undefined;
155
+ shell_id?: string | undefined;
156
+ }, any, any>;
157
+ readonly TaskOutput: _ai_sdk_provider_utils.Tool<{
158
+ task_id: string;
159
+ block: boolean;
160
+ timeout: number;
161
+ }, any, any>;
162
+ readonly Monitor: _ai_sdk_provider_utils.Tool<{
163
+ command: string;
164
+ description?: string | undefined;
165
+ timeout_ms?: number | undefined;
166
+ persistent?: boolean | undefined;
167
+ }, any, any>;
168
+ readonly ListMcpResources: _ai_sdk_provider_utils.Tool<{
169
+ server?: string | undefined;
170
+ }, any, any>;
171
+ readonly ReadMcpResource: _ai_sdk_provider_utils.Tool<{
172
+ server: string;
173
+ uri: string;
174
+ }, any, any>;
175
+ readonly ExitPlanMode: _ai_sdk_provider_utils.Tool<{
176
+ [x: string]: unknown;
177
+ allowedPrompts?: {
178
+ tool: "Bash";
179
+ prompt: string;
180
+ }[] | undefined;
181
+ }, any, any>;
182
+ readonly EnterWorktree: _ai_sdk_provider_utils.Tool<{
183
+ name?: string | undefined;
184
+ path?: string | undefined;
185
+ }, any, any>;
186
+ readonly ExitWorktree: _ai_sdk_provider_utils.Tool<{
187
+ action: "keep" | "remove";
188
+ discard_changes?: boolean | undefined;
189
+ }, any, any>;
190
+ readonly AskUserQuestion: _ai_sdk_provider_utils.Tool<{
191
+ questions: {
192
+ question: string;
193
+ header: string;
194
+ options: {
195
+ label: string;
196
+ description: string;
197
+ preview?: string | undefined;
198
+ }[];
199
+ multiSelect: boolean;
200
+ }[];
201
+ answers?: Record<string, string> | undefined;
202
+ annotations?: Record<string, {
203
+ preview?: string | undefined;
204
+ notes?: string | undefined;
205
+ }> | undefined;
206
+ metadata?: {
207
+ source?: string | undefined;
208
+ } | undefined;
209
+ }, any, any>;
210
+ readonly Skill: {
211
+ readonly toolUseKind: "readonly";
212
+ readonly title?: string;
213
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
214
+ readonly metadata?: _ai_sdk_provider.JSONObject;
215
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
216
+ skill: string;
217
+ args?: string | undefined;
218
+ }>;
219
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
220
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
221
+ skill: string;
222
+ args?: string | undefined;
223
+ }, any> | undefined;
224
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
225
+ readonly onInputDelta?: ((options: {
226
+ inputTextDelta: string;
227
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
228
+ readonly onInputAvailable?: ((options: {
229
+ input: {
230
+ skill: string;
231
+ args?: string | undefined;
232
+ };
233
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
234
+ readonly toModelOutput?: ((options: {
235
+ toolCallId: string;
236
+ input: {
237
+ skill: string;
238
+ args?: string | undefined;
239
+ };
240
+ output: any;
241
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
242
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
243
+ readonly execute?: never;
244
+ readonly description?: string | ((options: {
245
+ context: any;
246
+ experimental_sandbox?: Experimental_SandboxSession;
247
+ }) => string) | undefined;
248
+ readonly strict?: boolean;
249
+ readonly inputExamples?: {
250
+ input: NoInfer<{
251
+ skill: string;
252
+ args?: string | undefined;
253
+ }>;
254
+ }[] | undefined;
255
+ readonly id?: never;
256
+ readonly isProviderExecuted?: never;
257
+ readonly args?: never;
258
+ readonly supportsDeferredResults?: never;
259
+ readonly type?: undefined | "function";
260
+ } | {
261
+ readonly toolUseKind: "readonly";
262
+ readonly title?: string;
263
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
264
+ readonly metadata?: _ai_sdk_provider.JSONObject;
265
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
266
+ skill: string;
267
+ args?: string | undefined;
268
+ }>;
269
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
270
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
271
+ skill: string;
272
+ args?: string | undefined;
273
+ }, any> | undefined;
274
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
275
+ readonly onInputDelta?: ((options: {
276
+ inputTextDelta: string;
277
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
278
+ readonly onInputAvailable?: ((options: {
279
+ input: {
280
+ skill: string;
281
+ args?: string | undefined;
282
+ };
283
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
284
+ readonly toModelOutput?: ((options: {
285
+ toolCallId: string;
286
+ input: {
287
+ skill: string;
288
+ args?: string | undefined;
289
+ };
290
+ output: any;
291
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
292
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
293
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
294
+ skill: string;
295
+ args?: string | undefined;
296
+ }, any, any> | undefined;
297
+ readonly description?: string | ((options: {
298
+ context: any;
299
+ experimental_sandbox?: Experimental_SandboxSession;
300
+ }) => string) | undefined;
301
+ readonly strict?: boolean;
302
+ readonly inputExamples?: {
303
+ input: NoInfer<{
304
+ skill: string;
305
+ args?: string | undefined;
306
+ }>;
307
+ }[] | undefined;
308
+ readonly id?: never;
309
+ readonly isProviderExecuted?: never;
310
+ readonly args?: never;
311
+ readonly supportsDeferredResults?: never;
312
+ readonly type?: undefined | "function";
313
+ } | {
314
+ readonly toolUseKind: "readonly";
315
+ readonly title?: string;
316
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
317
+ readonly metadata?: _ai_sdk_provider.JSONObject;
318
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
319
+ skill: string;
320
+ args?: string | undefined;
321
+ }>;
322
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
323
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
324
+ skill: string;
325
+ args?: string | undefined;
326
+ }, any> | undefined;
327
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
328
+ readonly onInputDelta?: ((options: {
329
+ inputTextDelta: string;
330
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
331
+ readonly onInputAvailable?: ((options: {
332
+ input: {
333
+ skill: string;
334
+ args?: string | undefined;
335
+ };
336
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
337
+ readonly toModelOutput?: ((options: {
338
+ toolCallId: string;
339
+ input: {
340
+ skill: string;
341
+ args?: string | undefined;
342
+ };
343
+ output: any;
344
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
345
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
346
+ readonly execute?: never;
347
+ readonly description?: string | ((options: {
348
+ context: any;
349
+ experimental_sandbox?: Experimental_SandboxSession;
350
+ }) => string) | undefined;
351
+ readonly strict?: boolean;
352
+ readonly inputExamples?: {
353
+ input: NoInfer<{
354
+ skill: string;
355
+ args?: string | undefined;
356
+ }>;
357
+ }[] | undefined;
358
+ readonly id?: never;
359
+ readonly isProviderExecuted?: never;
360
+ readonly args?: never;
361
+ readonly supportsDeferredResults?: never;
362
+ readonly type: "dynamic";
363
+ } | {
364
+ readonly toolUseKind: "readonly";
365
+ readonly title?: string;
366
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
367
+ readonly metadata?: _ai_sdk_provider.JSONObject;
368
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
369
+ skill: string;
370
+ args?: string | undefined;
371
+ }>;
372
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
373
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
374
+ skill: string;
375
+ args?: string | undefined;
376
+ }, any> | undefined;
377
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
378
+ readonly onInputDelta?: ((options: {
379
+ inputTextDelta: string;
380
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
381
+ readonly onInputAvailable?: ((options: {
382
+ input: {
383
+ skill: string;
384
+ args?: string | undefined;
385
+ };
386
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
387
+ readonly toModelOutput?: ((options: {
388
+ toolCallId: string;
389
+ input: {
390
+ skill: string;
391
+ args?: string | undefined;
392
+ };
393
+ output: any;
394
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
395
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
396
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
397
+ skill: string;
398
+ args?: string | undefined;
399
+ }, any, any> | undefined;
400
+ readonly description?: string | ((options: {
401
+ context: any;
402
+ experimental_sandbox?: Experimental_SandboxSession;
403
+ }) => string) | undefined;
404
+ readonly strict?: boolean;
405
+ readonly inputExamples?: {
406
+ input: NoInfer<{
407
+ skill: string;
408
+ args?: string | undefined;
409
+ }>;
410
+ }[] | undefined;
411
+ readonly id?: never;
412
+ readonly isProviderExecuted?: never;
413
+ readonly args?: never;
414
+ readonly supportsDeferredResults?: never;
415
+ readonly type: "dynamic";
416
+ } | {
417
+ readonly toolUseKind: "readonly";
418
+ readonly title?: string;
419
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
420
+ readonly metadata?: _ai_sdk_provider.JSONObject;
421
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
422
+ skill: string;
423
+ args?: string | undefined;
424
+ }>;
425
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
426
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
427
+ skill: string;
428
+ args?: string | undefined;
429
+ }, any> | undefined;
430
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
431
+ readonly onInputDelta?: ((options: {
432
+ inputTextDelta: string;
433
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
434
+ readonly onInputAvailable?: ((options: {
435
+ input: {
436
+ skill: string;
437
+ args?: string | undefined;
438
+ };
439
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
440
+ readonly toModelOutput?: ((options: {
441
+ toolCallId: string;
442
+ input: {
443
+ skill: string;
444
+ args?: string | undefined;
445
+ };
446
+ output: any;
447
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
448
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
449
+ readonly execute?: never;
450
+ readonly type: "provider";
451
+ readonly id: `${string}.${string}`;
452
+ readonly args: Record<string, unknown>;
453
+ readonly description?: never;
454
+ readonly strict?: never;
455
+ readonly inputExamples?: never;
456
+ readonly isProviderExecuted: false;
457
+ readonly supportsDeferredResults?: never;
458
+ } | {
459
+ readonly toolUseKind: "readonly";
460
+ readonly title?: string;
461
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
462
+ readonly metadata?: _ai_sdk_provider.JSONObject;
463
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
464
+ skill: string;
465
+ args?: string | undefined;
466
+ }>;
467
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
468
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
469
+ skill: string;
470
+ args?: string | undefined;
471
+ }, any> | undefined;
472
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
473
+ readonly onInputDelta?: ((options: {
474
+ inputTextDelta: string;
475
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
476
+ readonly onInputAvailable?: ((options: {
477
+ input: {
478
+ skill: string;
479
+ args?: string | undefined;
480
+ };
481
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
482
+ readonly toModelOutput?: ((options: {
483
+ toolCallId: string;
484
+ input: {
485
+ skill: string;
486
+ args?: string | undefined;
487
+ };
488
+ output: any;
489
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
490
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
491
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
492
+ skill: string;
493
+ args?: string | undefined;
494
+ }, any, any> | undefined;
495
+ readonly type: "provider";
496
+ readonly id: `${string}.${string}`;
497
+ readonly args: Record<string, unknown>;
498
+ readonly description?: never;
499
+ readonly strict?: never;
500
+ readonly inputExamples?: never;
501
+ readonly isProviderExecuted: false;
502
+ readonly supportsDeferredResults?: never;
503
+ } | {
504
+ readonly toolUseKind: "readonly";
505
+ readonly title?: string;
506
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
507
+ readonly metadata?: _ai_sdk_provider.JSONObject;
508
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
509
+ skill: string;
510
+ args?: string | undefined;
511
+ }>;
512
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
513
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
514
+ skill: string;
515
+ args?: string | undefined;
516
+ }, any> | undefined;
517
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
518
+ readonly onInputDelta?: ((options: {
519
+ inputTextDelta: string;
520
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
521
+ readonly onInputAvailable?: ((options: {
522
+ input: {
523
+ skill: string;
524
+ args?: string | undefined;
525
+ };
526
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
527
+ readonly toModelOutput?: ((options: {
528
+ toolCallId: string;
529
+ input: {
530
+ skill: string;
531
+ args?: string | undefined;
532
+ };
533
+ output: any;
534
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
535
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
536
+ readonly execute?: never;
537
+ readonly type: "provider";
538
+ readonly id: `${string}.${string}`;
539
+ readonly args: Record<string, unknown>;
540
+ readonly description?: never;
541
+ readonly strict?: never;
542
+ readonly inputExamples?: never;
543
+ readonly isProviderExecuted: true;
544
+ readonly supportsDeferredResults?: boolean;
545
+ } | {
546
+ readonly toolUseKind: "readonly";
547
+ readonly title?: string;
548
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
549
+ readonly metadata?: _ai_sdk_provider.JSONObject;
550
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
551
+ skill: string;
552
+ args?: string | undefined;
553
+ }>;
554
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
555
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
556
+ skill: string;
557
+ args?: string | undefined;
558
+ }, any> | undefined;
559
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
560
+ readonly onInputDelta?: ((options: {
561
+ inputTextDelta: string;
562
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
563
+ readonly onInputAvailable?: ((options: {
564
+ input: {
565
+ skill: string;
566
+ args?: string | undefined;
567
+ };
568
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
569
+ readonly toModelOutput?: ((options: {
570
+ toolCallId: string;
571
+ input: {
572
+ skill: string;
573
+ args?: string | undefined;
574
+ };
575
+ output: any;
576
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
577
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
578
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
579
+ skill: string;
580
+ args?: string | undefined;
581
+ }, any, any> | undefined;
582
+ readonly type: "provider";
583
+ readonly id: `${string}.${string}`;
584
+ readonly args: Record<string, unknown>;
585
+ readonly description?: never;
586
+ readonly strict?: never;
587
+ readonly inputExamples?: never;
588
+ readonly isProviderExecuted: true;
589
+ readonly supportsDeferredResults?: boolean;
590
+ };
591
+ readonly ToolSearch: _ai_sdk_provider_utils.Tool<{
592
+ query: string;
593
+ max_results?: number | undefined;
594
+ }, any, any>;
595
+ };
596
+ declare function createClaudeCode(settings?: ClaudeCodeHarnessSettings): HarnessV1<typeof CLAUDE_CODE_BUILTIN_TOOLS>;
597
+
598
+ declare const VERSION: string;
599
+
600
+ /**
601
+ * Default `claude-code` harness instance with no overrides — suitable for the
602
+ * common case where the underlying `claude` CLI's defaults are fine.
603
+ * Equivalent to `createClaudeCode()`.
604
+ */
605
+ declare const claudeCode: _ai_sdk_harness.HarnessV1<{
606
+ readonly read: _ai_sdk_harness.HarnessV1BuiltinTool<{
607
+ file_path: string;
608
+ offset?: number | undefined;
609
+ limit?: number | undefined;
610
+ pages?: string | undefined;
611
+ }, unknown>;
612
+ readonly write: _ai_sdk_harness.HarnessV1BuiltinTool<{
613
+ file_path: string;
614
+ content: string;
615
+ }, unknown>;
616
+ readonly edit: _ai_sdk_harness.HarnessV1BuiltinTool<{
617
+ file_path: string;
618
+ old_string: string;
619
+ new_string: string;
620
+ replace_all?: boolean | undefined;
621
+ }, unknown>;
622
+ readonly bash: _ai_sdk_harness.HarnessV1BuiltinTool<{
623
+ command: string;
624
+ timeout?: number | undefined;
625
+ description?: string | undefined;
626
+ run_in_background?: boolean | undefined;
627
+ dangerouslyDisableSandbox?: boolean | undefined;
628
+ }, unknown>;
629
+ readonly glob: _ai_sdk_harness.HarnessV1BuiltinTool<{
630
+ pattern: string;
631
+ path?: string | undefined;
632
+ }, unknown>;
633
+ readonly grep: _ai_sdk_harness.HarnessV1BuiltinTool<{
634
+ pattern: string;
635
+ path?: string | undefined;
636
+ glob?: string | undefined;
637
+ output_mode?: "content" | "files_with_matches" | "count" | undefined;
638
+ '-B'?: number | undefined;
639
+ '-A'?: number | undefined;
640
+ '-C'?: number | undefined;
641
+ context?: number | undefined;
642
+ '-n'?: boolean | undefined;
643
+ '-i'?: boolean | undefined;
644
+ '-o'?: boolean | undefined;
645
+ type?: string | undefined;
646
+ head_limit?: number | undefined;
647
+ offset?: number | undefined;
648
+ multiline?: boolean | undefined;
649
+ }, unknown>;
650
+ readonly webSearch: _ai_sdk_harness.HarnessV1BuiltinTool<{
651
+ query: string;
652
+ allowed_domains?: string[] | undefined;
653
+ blocked_domains?: string[] | undefined;
654
+ }, unknown>;
655
+ readonly WebFetch: _ai_sdk_provider_utils.Tool<{
656
+ url: string;
657
+ prompt: string;
658
+ }, any, any>;
659
+ readonly NotebookEdit: _ai_sdk_provider_utils.Tool<{
660
+ notebook_path: string;
661
+ new_source: string;
662
+ cell_id?: string | undefined;
663
+ cell_type?: "code" | "markdown" | undefined;
664
+ edit_mode?: "replace" | "insert" | "delete" | undefined;
665
+ }, any, any>;
666
+ readonly TodoWrite: _ai_sdk_provider_utils.Tool<{
667
+ todos: {
668
+ content: string;
669
+ status: "pending" | "in_progress" | "completed";
670
+ activeForm: string;
671
+ }[];
672
+ }, any, any>;
673
+ readonly Agent: _ai_sdk_provider_utils.Tool<{
674
+ description: string;
675
+ prompt: string;
676
+ subagent_type?: string | undefined;
677
+ model?: "sonnet" | "opus" | "haiku" | undefined;
678
+ run_in_background?: boolean | undefined;
679
+ name?: string | undefined;
680
+ team_name?: string | undefined;
681
+ mode?: "default" | "acceptEdits" | "auto" | "bypassPermissions" | "dontAsk" | "plan" | undefined;
682
+ isolation?: "worktree" | undefined;
683
+ }, any, any>;
684
+ readonly TaskCreate: _ai_sdk_provider_utils.Tool<{
685
+ subject: string;
686
+ description: string;
687
+ activeForm?: string | undefined;
688
+ metadata?: Record<string, unknown> | undefined;
689
+ }, any, any>;
690
+ readonly TaskGet: _ai_sdk_provider_utils.Tool<{
691
+ taskId: string;
692
+ }, any, any>;
693
+ readonly TaskUpdate: _ai_sdk_provider_utils.Tool<{
694
+ taskId: string;
695
+ subject?: string | undefined;
696
+ description?: string | undefined;
697
+ activeForm?: string | undefined;
698
+ status?: "pending" | "in_progress" | "completed" | "deleted" | undefined;
699
+ addBlocks?: string[] | undefined;
700
+ addBlockedBy?: string[] | undefined;
701
+ owner?: string | undefined;
702
+ metadata?: Record<string, unknown> | undefined;
703
+ }, any, any>;
704
+ readonly TaskList: _ai_sdk_provider_utils.Tool<Record<string, never>, any, any>;
705
+ readonly TaskStop: _ai_sdk_provider_utils.Tool<{
706
+ task_id?: string | undefined;
707
+ shell_id?: string | undefined;
708
+ }, any, any>;
709
+ readonly TaskOutput: _ai_sdk_provider_utils.Tool<{
710
+ task_id: string;
711
+ block: boolean;
712
+ timeout: number;
713
+ }, any, any>;
714
+ readonly Monitor: _ai_sdk_provider_utils.Tool<{
715
+ command: string;
716
+ description?: string | undefined;
717
+ timeout_ms?: number | undefined;
718
+ persistent?: boolean | undefined;
719
+ }, any, any>;
720
+ readonly ListMcpResources: _ai_sdk_provider_utils.Tool<{
721
+ server?: string | undefined;
722
+ }, any, any>;
723
+ readonly ReadMcpResource: _ai_sdk_provider_utils.Tool<{
724
+ server: string;
725
+ uri: string;
726
+ }, any, any>;
727
+ readonly ExitPlanMode: _ai_sdk_provider_utils.Tool<{
728
+ [x: string]: unknown;
729
+ allowedPrompts?: {
730
+ tool: "Bash";
731
+ prompt: string;
732
+ }[] | undefined;
733
+ }, any, any>;
734
+ readonly EnterWorktree: _ai_sdk_provider_utils.Tool<{
735
+ name?: string | undefined;
736
+ path?: string | undefined;
737
+ }, any, any>;
738
+ readonly ExitWorktree: _ai_sdk_provider_utils.Tool<{
739
+ action: "keep" | "remove";
740
+ discard_changes?: boolean | undefined;
741
+ }, any, any>;
742
+ readonly AskUserQuestion: _ai_sdk_provider_utils.Tool<{
743
+ questions: {
744
+ question: string;
745
+ header: string;
746
+ options: {
747
+ label: string;
748
+ description: string;
749
+ preview?: string | undefined;
750
+ }[];
751
+ multiSelect: boolean;
752
+ }[];
753
+ answers?: Record<string, string> | undefined;
754
+ annotations?: Record<string, {
755
+ preview?: string | undefined;
756
+ notes?: string | undefined;
757
+ }> | undefined;
758
+ metadata?: {
759
+ source?: string | undefined;
760
+ } | undefined;
761
+ }, any, any>;
762
+ readonly Skill: {
763
+ readonly toolUseKind: "readonly";
764
+ readonly title?: string;
765
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
766
+ readonly metadata?: _ai_sdk_provider.JSONObject;
767
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
768
+ skill: string;
769
+ args?: string | undefined;
770
+ }>;
771
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
772
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
773
+ skill: string;
774
+ args?: string | undefined;
775
+ }, any> | undefined;
776
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
777
+ readonly onInputDelta?: ((options: {
778
+ inputTextDelta: string;
779
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
780
+ readonly onInputAvailable?: ((options: {
781
+ input: {
782
+ skill: string;
783
+ args?: string | undefined;
784
+ };
785
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
786
+ readonly toModelOutput?: ((options: {
787
+ toolCallId: string;
788
+ input: {
789
+ skill: string;
790
+ args?: string | undefined;
791
+ };
792
+ output: any;
793
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
794
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
795
+ readonly execute?: never;
796
+ readonly description?: string | ((options: {
797
+ context: any;
798
+ experimental_sandbox?: _ai_sdk_provider_utils.Experimental_SandboxSession;
799
+ }) => string) | undefined;
800
+ readonly strict?: boolean;
801
+ readonly inputExamples?: {
802
+ input: NoInfer<{
803
+ skill: string;
804
+ args?: string | undefined;
805
+ }>;
806
+ }[] | undefined;
807
+ readonly id?: never;
808
+ readonly isProviderExecuted?: never;
809
+ readonly args?: never;
810
+ readonly supportsDeferredResults?: never;
811
+ readonly type?: undefined | "function";
812
+ } | {
813
+ readonly toolUseKind: "readonly";
814
+ readonly title?: string;
815
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
816
+ readonly metadata?: _ai_sdk_provider.JSONObject;
817
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
818
+ skill: string;
819
+ args?: string | undefined;
820
+ }>;
821
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
822
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
823
+ skill: string;
824
+ args?: string | undefined;
825
+ }, any> | undefined;
826
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
827
+ readonly onInputDelta?: ((options: {
828
+ inputTextDelta: string;
829
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
830
+ readonly onInputAvailable?: ((options: {
831
+ input: {
832
+ skill: string;
833
+ args?: string | undefined;
834
+ };
835
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
836
+ readonly toModelOutput?: ((options: {
837
+ toolCallId: string;
838
+ input: {
839
+ skill: string;
840
+ args?: string | undefined;
841
+ };
842
+ output: any;
843
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
844
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
845
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
846
+ skill: string;
847
+ args?: string | undefined;
848
+ }, any, any> | undefined;
849
+ readonly description?: string | ((options: {
850
+ context: any;
851
+ experimental_sandbox?: _ai_sdk_provider_utils.Experimental_SandboxSession;
852
+ }) => string) | undefined;
853
+ readonly strict?: boolean;
854
+ readonly inputExamples?: {
855
+ input: NoInfer<{
856
+ skill: string;
857
+ args?: string | undefined;
858
+ }>;
859
+ }[] | undefined;
860
+ readonly id?: never;
861
+ readonly isProviderExecuted?: never;
862
+ readonly args?: never;
863
+ readonly supportsDeferredResults?: never;
864
+ readonly type?: undefined | "function";
865
+ } | {
866
+ readonly toolUseKind: "readonly";
867
+ readonly title?: string;
868
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
869
+ readonly metadata?: _ai_sdk_provider.JSONObject;
870
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
871
+ skill: string;
872
+ args?: string | undefined;
873
+ }>;
874
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
875
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
876
+ skill: string;
877
+ args?: string | undefined;
878
+ }, any> | undefined;
879
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
880
+ readonly onInputDelta?: ((options: {
881
+ inputTextDelta: string;
882
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
883
+ readonly onInputAvailable?: ((options: {
884
+ input: {
885
+ skill: string;
886
+ args?: string | undefined;
887
+ };
888
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
889
+ readonly toModelOutput?: ((options: {
890
+ toolCallId: string;
891
+ input: {
892
+ skill: string;
893
+ args?: string | undefined;
894
+ };
895
+ output: any;
896
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
897
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
898
+ readonly execute?: never;
899
+ readonly description?: string | ((options: {
900
+ context: any;
901
+ experimental_sandbox?: _ai_sdk_provider_utils.Experimental_SandboxSession;
902
+ }) => string) | undefined;
903
+ readonly strict?: boolean;
904
+ readonly inputExamples?: {
905
+ input: NoInfer<{
906
+ skill: string;
907
+ args?: string | undefined;
908
+ }>;
909
+ }[] | undefined;
910
+ readonly id?: never;
911
+ readonly isProviderExecuted?: never;
912
+ readonly args?: never;
913
+ readonly supportsDeferredResults?: never;
914
+ readonly type: "dynamic";
915
+ } | {
916
+ readonly toolUseKind: "readonly";
917
+ readonly title?: string;
918
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
919
+ readonly metadata?: _ai_sdk_provider.JSONObject;
920
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
921
+ skill: string;
922
+ args?: string | undefined;
923
+ }>;
924
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
925
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
926
+ skill: string;
927
+ args?: string | undefined;
928
+ }, any> | undefined;
929
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
930
+ readonly onInputDelta?: ((options: {
931
+ inputTextDelta: string;
932
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
933
+ readonly onInputAvailable?: ((options: {
934
+ input: {
935
+ skill: string;
936
+ args?: string | undefined;
937
+ };
938
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
939
+ readonly toModelOutput?: ((options: {
940
+ toolCallId: string;
941
+ input: {
942
+ skill: string;
943
+ args?: string | undefined;
944
+ };
945
+ output: any;
946
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
947
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
948
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
949
+ skill: string;
950
+ args?: string | undefined;
951
+ }, any, any> | undefined;
952
+ readonly description?: string | ((options: {
953
+ context: any;
954
+ experimental_sandbox?: _ai_sdk_provider_utils.Experimental_SandboxSession;
955
+ }) => string) | undefined;
956
+ readonly strict?: boolean;
957
+ readonly inputExamples?: {
958
+ input: NoInfer<{
959
+ skill: string;
960
+ args?: string | undefined;
961
+ }>;
962
+ }[] | undefined;
963
+ readonly id?: never;
964
+ readonly isProviderExecuted?: never;
965
+ readonly args?: never;
966
+ readonly supportsDeferredResults?: never;
967
+ readonly type: "dynamic";
968
+ } | {
969
+ readonly toolUseKind: "readonly";
970
+ readonly title?: string;
971
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
972
+ readonly metadata?: _ai_sdk_provider.JSONObject;
973
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
974
+ skill: string;
975
+ args?: string | undefined;
976
+ }>;
977
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
978
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
979
+ skill: string;
980
+ args?: string | undefined;
981
+ }, any> | undefined;
982
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
983
+ readonly onInputDelta?: ((options: {
984
+ inputTextDelta: string;
985
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
986
+ readonly onInputAvailable?: ((options: {
987
+ input: {
988
+ skill: string;
989
+ args?: string | undefined;
990
+ };
991
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
992
+ readonly toModelOutput?: ((options: {
993
+ toolCallId: string;
994
+ input: {
995
+ skill: string;
996
+ args?: string | undefined;
997
+ };
998
+ output: any;
999
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
1000
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
1001
+ readonly execute?: never;
1002
+ readonly type: "provider";
1003
+ readonly id: `${string}.${string}`;
1004
+ readonly args: Record<string, unknown>;
1005
+ readonly description?: never;
1006
+ readonly strict?: never;
1007
+ readonly inputExamples?: never;
1008
+ readonly isProviderExecuted: false;
1009
+ readonly supportsDeferredResults?: never;
1010
+ } | {
1011
+ readonly toolUseKind: "readonly";
1012
+ readonly title?: string;
1013
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
1014
+ readonly metadata?: _ai_sdk_provider.JSONObject;
1015
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
1016
+ skill: string;
1017
+ args?: string | undefined;
1018
+ }>;
1019
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
1020
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
1021
+ skill: string;
1022
+ args?: string | undefined;
1023
+ }, any> | undefined;
1024
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1025
+ readonly onInputDelta?: ((options: {
1026
+ inputTextDelta: string;
1027
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1028
+ readonly onInputAvailable?: ((options: {
1029
+ input: {
1030
+ skill: string;
1031
+ args?: string | undefined;
1032
+ };
1033
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1034
+ readonly toModelOutput?: ((options: {
1035
+ toolCallId: string;
1036
+ input: {
1037
+ skill: string;
1038
+ args?: string | undefined;
1039
+ };
1040
+ output: any;
1041
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
1042
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
1043
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
1044
+ skill: string;
1045
+ args?: string | undefined;
1046
+ }, any, any> | undefined;
1047
+ readonly type: "provider";
1048
+ readonly id: `${string}.${string}`;
1049
+ readonly args: Record<string, unknown>;
1050
+ readonly description?: never;
1051
+ readonly strict?: never;
1052
+ readonly inputExamples?: never;
1053
+ readonly isProviderExecuted: false;
1054
+ readonly supportsDeferredResults?: never;
1055
+ } | {
1056
+ readonly toolUseKind: "readonly";
1057
+ readonly title?: string;
1058
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
1059
+ readonly metadata?: _ai_sdk_provider.JSONObject;
1060
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
1061
+ skill: string;
1062
+ args?: string | undefined;
1063
+ }>;
1064
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
1065
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
1066
+ skill: string;
1067
+ args?: string | undefined;
1068
+ }, any> | undefined;
1069
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1070
+ readonly onInputDelta?: ((options: {
1071
+ inputTextDelta: string;
1072
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1073
+ readonly onInputAvailable?: ((options: {
1074
+ input: {
1075
+ skill: string;
1076
+ args?: string | undefined;
1077
+ };
1078
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1079
+ readonly toModelOutput?: ((options: {
1080
+ toolCallId: string;
1081
+ input: {
1082
+ skill: string;
1083
+ args?: string | undefined;
1084
+ };
1085
+ output: any;
1086
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
1087
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
1088
+ readonly execute?: never;
1089
+ readonly type: "provider";
1090
+ readonly id: `${string}.${string}`;
1091
+ readonly args: Record<string, unknown>;
1092
+ readonly description?: never;
1093
+ readonly strict?: never;
1094
+ readonly inputExamples?: never;
1095
+ readonly isProviderExecuted: true;
1096
+ readonly supportsDeferredResults?: boolean;
1097
+ } | {
1098
+ readonly toolUseKind: "readonly";
1099
+ readonly title?: string;
1100
+ readonly providerOptions?: _ai_sdk_provider_utils.ProviderOptions;
1101
+ readonly metadata?: _ai_sdk_provider.JSONObject;
1102
+ readonly inputSchema: _ai_sdk_provider_utils.FlexibleSchema<{
1103
+ skill: string;
1104
+ args?: string | undefined;
1105
+ }>;
1106
+ readonly contextSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
1107
+ readonly needsApproval?: boolean | _ai_sdk_provider_utils.ToolNeedsApprovalFunction<{
1108
+ skill: string;
1109
+ args?: string | undefined;
1110
+ }, any> | undefined;
1111
+ readonly onInputStart?: ((options: _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1112
+ readonly onInputDelta?: ((options: {
1113
+ inputTextDelta: string;
1114
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1115
+ readonly onInputAvailable?: ((options: {
1116
+ input: {
1117
+ skill: string;
1118
+ args?: string | undefined;
1119
+ };
1120
+ } & _ai_sdk_provider_utils.ToolExecutionOptions<any>) => void | PromiseLike<void>) | undefined;
1121
+ readonly toModelOutput?: ((options: {
1122
+ toolCallId: string;
1123
+ input: {
1124
+ skill: string;
1125
+ args?: string | undefined;
1126
+ };
1127
+ output: any;
1128
+ }) => _ai_sdk_provider_utils.ToolResultOutput | PromiseLike<_ai_sdk_provider_utils.ToolResultOutput>) | undefined;
1129
+ readonly outputSchema?: _ai_sdk_provider_utils.FlexibleSchema<any> | undefined;
1130
+ readonly execute?: _ai_sdk_provider_utils.ToolExecuteFunction<{
1131
+ skill: string;
1132
+ args?: string | undefined;
1133
+ }, any, any> | undefined;
1134
+ readonly type: "provider";
1135
+ readonly id: `${string}.${string}`;
1136
+ readonly args: Record<string, unknown>;
1137
+ readonly description?: never;
1138
+ readonly strict?: never;
1139
+ readonly inputExamples?: never;
1140
+ readonly isProviderExecuted: true;
1141
+ readonly supportsDeferredResults?: boolean;
1142
+ };
1143
+ readonly ToolSearch: _ai_sdk_provider_utils.Tool<{
1144
+ query: string;
1145
+ max_results?: number | undefined;
1146
+ }, any, any>;
1147
+ }>;
1148
+
1149
+ export { type ClaudeCodeAuthOptions, type ClaudeCodeHarnessSettings, type ClaudeCodeThinkingConfig, VERSION, claudeCode, createClaudeCode };