@inhuman.tools/plugin-sdk 0.0.0-stage → 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.
@@ -0,0 +1,1392 @@
1
+ /**
2
+ * Zod shapes for plugin-sdk constructors. Tools, actions, envCapabilities,
3
+ * bots, mcpServers. plugin.json extension format is the daemon's, not this
4
+ * package's.
5
+ */
6
+ import type { EnvCapability } from "@here.build/arrival";
7
+ import { z } from "zod";
8
+ export declare const inhumanBrand: {
9
+ readonly tool: symbol;
10
+ readonly action: symbol;
11
+ readonly plugin: symbol;
12
+ };
13
+ /** `tool` is completions tools[]. `symbol` is a scheme_repl name. `both` is both. */
14
+ export declare const toolRepresentation: z.ZodEnum<{
15
+ symbol: "symbol";
16
+ tool: "tool";
17
+ both: "both";
18
+ }>;
19
+ export type ToolRepresentation = z.infer<typeof toolRepresentation>;
20
+ export declare const functionToolDef: z.ZodObject<{
21
+ type: z.ZodOptional<z.ZodLiteral<"function">>;
22
+ run: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
23
+ name: z.ZodString;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ class: z.ZodOptional<z.ZodString>;
26
+ representation: z.ZodOptional<z.ZodEnum<{
27
+ symbol: "symbol";
28
+ tool: "tool";
29
+ both: "both";
30
+ }>>;
31
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
32
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
33
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
34
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
35
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
36
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
37
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
38
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
39
+ exam: z.ZodOptional<z.ZodObject<{
40
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
41
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
42
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
43
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
44
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
45
+ }, z.core.$strip>>;
46
+ }, z.core.$strip>;
47
+ export declare const botCallToolDef: z.ZodPipe<z.ZodObject<{
48
+ type: z.ZodLiteral<"bot-call">;
49
+ target: z.ZodString;
50
+ prepare: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
51
+ background: z.ZodOptional<z.ZodBoolean>;
52
+ lifetime: z.ZodOptional<z.ZodEnum<{
53
+ turn: "turn";
54
+ call: "call";
55
+ }>>;
56
+ show: z.ZodOptional<z.ZodEnum<{
57
+ result: "result";
58
+ omit: "omit";
59
+ turn: "turn";
60
+ silent: "silent";
61
+ }>>;
62
+ delivery: z.ZodOptional<z.ZodEnum<{
63
+ result: "result";
64
+ turn: "turn";
65
+ silent: "silent";
66
+ }>>;
67
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
68
+ maxResultTokens: z.ZodOptional<z.ZodNumber>;
69
+ supportsNotify: z.ZodOptional<z.ZodBoolean>;
70
+ name: z.ZodString;
71
+ description: z.ZodOptional<z.ZodString>;
72
+ class: z.ZodOptional<z.ZodString>;
73
+ representation: z.ZodOptional<z.ZodEnum<{
74
+ symbol: "symbol";
75
+ tool: "tool";
76
+ both: "both";
77
+ }>>;
78
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
79
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
80
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
81
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
82
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
83
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
84
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
85
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
86
+ exam: z.ZodOptional<z.ZodObject<{
87
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
88
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
89
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
90
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
91
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
92
+ }, z.core.$strip>>;
93
+ }, z.core.$strip>, z.ZodTransform<{
94
+ show: "result" | "omit" | "turn";
95
+ lifetime: "turn" | "call";
96
+ type: "bot-call";
97
+ target: string;
98
+ name: string;
99
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
100
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
101
+ question: string | null;
102
+ effect: string | null;
103
+ caption: string | null;
104
+ prepare?: ((...args: never[]) => unknown) | undefined;
105
+ background?: boolean | undefined;
106
+ deadlineMs?: number | undefined;
107
+ maxResultTokens?: number | undefined;
108
+ supportsNotify?: boolean | undefined;
109
+ description?: string | undefined;
110
+ class?: string | undefined;
111
+ representation?: "symbol" | "tool" | "both" | undefined;
112
+ triggersReactLoop?: boolean | undefined;
113
+ isSideChannel?: boolean | undefined;
114
+ tapeHidden?: boolean | undefined;
115
+ exam?: {
116
+ program: (...args: never[]) => unknown;
117
+ admit: (...args: never[]) => unknown;
118
+ settle?: ((...args: never[]) => unknown) | undefined;
119
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
120
+ finish?: ((...args: never[]) => unknown) | undefined;
121
+ } | undefined;
122
+ }, {
123
+ type: "bot-call";
124
+ target: string;
125
+ name: string;
126
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
127
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
128
+ question: string | null;
129
+ effect: string | null;
130
+ caption: string | null;
131
+ prepare?: ((...args: never[]) => unknown) | undefined;
132
+ background?: boolean | undefined;
133
+ lifetime?: "turn" | "call" | undefined;
134
+ show?: "result" | "omit" | "turn" | "silent" | undefined;
135
+ delivery?: "result" | "turn" | "silent" | undefined;
136
+ deadlineMs?: number | undefined;
137
+ maxResultTokens?: number | undefined;
138
+ supportsNotify?: boolean | undefined;
139
+ description?: string | undefined;
140
+ class?: string | undefined;
141
+ representation?: "symbol" | "tool" | "both" | undefined;
142
+ triggersReactLoop?: boolean | undefined;
143
+ isSideChannel?: boolean | undefined;
144
+ tapeHidden?: boolean | undefined;
145
+ exam?: {
146
+ program: (...args: never[]) => unknown;
147
+ admit: (...args: never[]) => unknown;
148
+ settle?: ((...args: never[]) => unknown) | undefined;
149
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
150
+ finish?: ((...args: never[]) => unknown) | undefined;
151
+ } | undefined;
152
+ }>>;
153
+ export declare const toolDef: z.ZodUnion<readonly [z.ZodObject<{
154
+ type: z.ZodOptional<z.ZodLiteral<"function">>;
155
+ run: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
156
+ name: z.ZodString;
157
+ description: z.ZodOptional<z.ZodString>;
158
+ class: z.ZodOptional<z.ZodString>;
159
+ representation: z.ZodOptional<z.ZodEnum<{
160
+ symbol: "symbol";
161
+ tool: "tool";
162
+ both: "both";
163
+ }>>;
164
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
165
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
166
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
167
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
168
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
169
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
170
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
171
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
172
+ exam: z.ZodOptional<z.ZodObject<{
173
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
174
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
175
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
176
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
177
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
178
+ }, z.core.$strip>>;
179
+ }, z.core.$strip>, z.ZodPipe<z.ZodObject<{
180
+ type: z.ZodLiteral<"bot-call">;
181
+ target: z.ZodString;
182
+ prepare: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
183
+ background: z.ZodOptional<z.ZodBoolean>;
184
+ lifetime: z.ZodOptional<z.ZodEnum<{
185
+ turn: "turn";
186
+ call: "call";
187
+ }>>;
188
+ show: z.ZodOptional<z.ZodEnum<{
189
+ result: "result";
190
+ omit: "omit";
191
+ turn: "turn";
192
+ silent: "silent";
193
+ }>>;
194
+ delivery: z.ZodOptional<z.ZodEnum<{
195
+ result: "result";
196
+ turn: "turn";
197
+ silent: "silent";
198
+ }>>;
199
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
200
+ maxResultTokens: z.ZodOptional<z.ZodNumber>;
201
+ supportsNotify: z.ZodOptional<z.ZodBoolean>;
202
+ name: z.ZodString;
203
+ description: z.ZodOptional<z.ZodString>;
204
+ class: z.ZodOptional<z.ZodString>;
205
+ representation: z.ZodOptional<z.ZodEnum<{
206
+ symbol: "symbol";
207
+ tool: "tool";
208
+ both: "both";
209
+ }>>;
210
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
211
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
212
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
213
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
214
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
215
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
216
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
217
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
218
+ exam: z.ZodOptional<z.ZodObject<{
219
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
220
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
221
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
222
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
223
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
224
+ }, z.core.$strip>>;
225
+ }, z.core.$strip>, z.ZodTransform<{
226
+ show: "result" | "omit" | "turn";
227
+ lifetime: "turn" | "call";
228
+ type: "bot-call";
229
+ target: string;
230
+ name: string;
231
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
232
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
233
+ question: string | null;
234
+ effect: string | null;
235
+ caption: string | null;
236
+ prepare?: ((...args: never[]) => unknown) | undefined;
237
+ background?: boolean | undefined;
238
+ deadlineMs?: number | undefined;
239
+ maxResultTokens?: number | undefined;
240
+ supportsNotify?: boolean | undefined;
241
+ description?: string | undefined;
242
+ class?: string | undefined;
243
+ representation?: "symbol" | "tool" | "both" | undefined;
244
+ triggersReactLoop?: boolean | undefined;
245
+ isSideChannel?: boolean | undefined;
246
+ tapeHidden?: boolean | undefined;
247
+ exam?: {
248
+ program: (...args: never[]) => unknown;
249
+ admit: (...args: never[]) => unknown;
250
+ settle?: ((...args: never[]) => unknown) | undefined;
251
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
252
+ finish?: ((...args: never[]) => unknown) | undefined;
253
+ } | undefined;
254
+ }, {
255
+ type: "bot-call";
256
+ target: string;
257
+ name: string;
258
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
259
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
260
+ question: string | null;
261
+ effect: string | null;
262
+ caption: string | null;
263
+ prepare?: ((...args: never[]) => unknown) | undefined;
264
+ background?: boolean | undefined;
265
+ lifetime?: "turn" | "call" | undefined;
266
+ show?: "result" | "omit" | "turn" | "silent" | undefined;
267
+ delivery?: "result" | "turn" | "silent" | undefined;
268
+ deadlineMs?: number | undefined;
269
+ maxResultTokens?: number | undefined;
270
+ supportsNotify?: boolean | undefined;
271
+ description?: string | undefined;
272
+ class?: string | undefined;
273
+ representation?: "symbol" | "tool" | "both" | undefined;
274
+ triggersReactLoop?: boolean | undefined;
275
+ isSideChannel?: boolean | undefined;
276
+ tapeHidden?: boolean | undefined;
277
+ exam?: {
278
+ program: (...args: never[]) => unknown;
279
+ admit: (...args: never[]) => unknown;
280
+ settle?: ((...args: never[]) => unknown) | undefined;
281
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
282
+ finish?: ((...args: never[]) => unknown) | undefined;
283
+ } | undefined;
284
+ }>>]>;
285
+ export declare const normalizedActionDef: z.ZodObject<{
286
+ name: z.ZodString;
287
+ description: z.ZodOptional<z.ZodString>;
288
+ seat: z.ZodDefault<z.ZodEnum<{
289
+ session: "session";
290
+ harness: "harness";
291
+ }>>;
292
+ input: z.ZodOptional<z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
293
+ run: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
294
+ }, z.core.$strip>;
295
+ export declare const actionDef: z.ZodObject<{
296
+ name: z.ZodString;
297
+ description: z.ZodOptional<z.ZodString>;
298
+ seat: z.ZodDefault<z.ZodEnum<{
299
+ session: "session";
300
+ harness: "harness";
301
+ }>>;
302
+ input: z.ZodOptional<z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
303
+ run: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
304
+ }, z.core.$strip>;
305
+ export declare const envCapability: z.ZodCustom<EnvCapability, EnvCapability>;
306
+ export declare const REASONING_EFFORTS: readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"];
307
+ export declare const botMcpBindingDef: z.ZodPipe<z.ZodObject<{
308
+ server: z.ZodString;
309
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
310
+ approval: z.ZodOptional<z.ZodEnum<{
311
+ allow: "allow";
312
+ policy: "policy";
313
+ }>>;
314
+ }, z.core.$strip>, z.ZodTransform<{
315
+ server: string;
316
+ tools: string[];
317
+ approval: "allow" | "policy";
318
+ }, {
319
+ server: string;
320
+ tools: string[];
321
+ approval?: "allow" | "policy" | undefined;
322
+ }>>;
323
+ export declare const botDef: z.ZodPreprocess<z.ZodPipe<z.ZodObject<{
324
+ name: z.ZodString;
325
+ recipeScope: z.ZodEnum<{
326
+ session: "session";
327
+ invocation: "invocation";
328
+ workspace: "workspace";
329
+ global: "global";
330
+ }>;
331
+ instructions: z.ZodString;
332
+ description: z.ZodOptional<z.ZodString>;
333
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
334
+ mcp: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodObject<{
335
+ server: z.ZodString;
336
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
337
+ approval: z.ZodOptional<z.ZodEnum<{
338
+ allow: "allow";
339
+ policy: "policy";
340
+ }>>;
341
+ }, z.core.$strip>, z.ZodTransform<{
342
+ server: string;
343
+ tools: string[];
344
+ approval: "allow" | "policy";
345
+ }, {
346
+ server: string;
347
+ tools: string[];
348
+ approval?: "allow" | "policy" | undefined;
349
+ }>>>>;
350
+ keepAlive: z.ZodOptional<z.ZodBoolean>;
351
+ invokes: z.ZodDefault<z.ZodArray<z.ZodString>>;
352
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
353
+ none: "none";
354
+ minimal: "minimal";
355
+ low: "low";
356
+ medium: "medium";
357
+ high: "high";
358
+ xhigh: "xhigh";
359
+ max: "max";
360
+ }>>;
361
+ modelPreferences: z.ZodDefault<z.ZodArray<z.ZodString>>;
362
+ skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
363
+ }, z.core.$strip>, z.ZodTransform<{
364
+ modelPreferences: string[];
365
+ skills: string[];
366
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
367
+ tools: string[];
368
+ mcp: {
369
+ server: string;
370
+ tools: string[];
371
+ approval: "allow" | "policy";
372
+ }[];
373
+ keepAlive: boolean;
374
+ invokes: string[];
375
+ description?: string | undefined;
376
+ name: string;
377
+ recipeScope: "session" | "invocation" | "workspace" | "global";
378
+ instructions: import("@inhuman.tools/harness-commons").SystemPrompt;
379
+ }, {
380
+ name: string;
381
+ recipeScope: "session" | "invocation" | "workspace" | "global";
382
+ instructions: string;
383
+ tools: string[];
384
+ mcp: {
385
+ server: string;
386
+ tools: string[];
387
+ approval: "allow" | "policy";
388
+ }[];
389
+ invokes: string[];
390
+ modelPreferences: string[];
391
+ skills: string[];
392
+ description?: string | undefined;
393
+ keepAlive?: boolean | undefined;
394
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
395
+ }>>>;
396
+ export declare const mcpServerDef: z.ZodObject<{
397
+ name: z.ZodString;
398
+ visibility: z.ZodEnum<{
399
+ private: "private";
400
+ public: "public";
401
+ }>;
402
+ scope: z.ZodEnum<{
403
+ session: "session";
404
+ workspace: "workspace";
405
+ global: "global";
406
+ }>;
407
+ transport: z.ZodObject<{
408
+ type: z.ZodLiteral<"stdio">;
409
+ command: z.ZodString;
410
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
411
+ cwd: z.ZodEnum<{
412
+ workspace: "workspace";
413
+ plugin: "plugin";
414
+ }>;
415
+ env: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodString>, z.ZodCustom<(ctx: {
416
+ readonly pluginRoot: string;
417
+ readonly workspaceRoot: string;
418
+ }) => Record<string, string>, (ctx: {
419
+ readonly pluginRoot: string;
420
+ readonly workspaceRoot: string;
421
+ }) => Record<string, string>>]>>;
422
+ }, z.core.$strip>;
423
+ }, z.core.$strip>;
424
+ export declare const pluginProjectionDef: z.ZodObject<{
425
+ initial: z.ZodCustom<() => unknown, () => unknown>;
426
+ reduce: z.ZodCustom<(state: unknown, action: unknown) => unknown, (state: unknown, action: unknown) => unknown>;
427
+ hostOnly: z.ZodOptional<z.ZodCustom<(action: unknown) => boolean, (action: unknown) => boolean>>;
428
+ }, z.core.$strip>;
429
+ export declare const exclusiveSlotsDef: z.ZodArray<z.ZodString>;
430
+ export declare const pluginDef: z.ZodObject<{
431
+ apiVersion: z.ZodOptional<z.ZodLiteral<1>>;
432
+ tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodCustom<{
433
+ readonly name: string;
434
+ }, {
435
+ readonly name: string;
436
+ }>, z.ZodUnion<readonly [z.ZodObject<{
437
+ type: z.ZodOptional<z.ZodLiteral<"function">>;
438
+ run: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
439
+ name: z.ZodString;
440
+ description: z.ZodOptional<z.ZodString>;
441
+ class: z.ZodOptional<z.ZodString>;
442
+ representation: z.ZodOptional<z.ZodEnum<{
443
+ symbol: "symbol";
444
+ tool: "tool";
445
+ both: "both";
446
+ }>>;
447
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
448
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
449
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
450
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
451
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
452
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
453
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
454
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
455
+ exam: z.ZodOptional<z.ZodObject<{
456
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
457
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
458
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
459
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
460
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
461
+ }, z.core.$strip>>;
462
+ }, z.core.$strip>, z.ZodPipe<z.ZodObject<{
463
+ type: z.ZodLiteral<"bot-call">;
464
+ target: z.ZodString;
465
+ prepare: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
466
+ background: z.ZodOptional<z.ZodBoolean>;
467
+ lifetime: z.ZodOptional<z.ZodEnum<{
468
+ turn: "turn";
469
+ call: "call";
470
+ }>>;
471
+ show: z.ZodOptional<z.ZodEnum<{
472
+ result: "result";
473
+ omit: "omit";
474
+ turn: "turn";
475
+ silent: "silent";
476
+ }>>;
477
+ delivery: z.ZodOptional<z.ZodEnum<{
478
+ result: "result";
479
+ turn: "turn";
480
+ silent: "silent";
481
+ }>>;
482
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
483
+ maxResultTokens: z.ZodOptional<z.ZodNumber>;
484
+ supportsNotify: z.ZodOptional<z.ZodBoolean>;
485
+ name: z.ZodString;
486
+ description: z.ZodOptional<z.ZodString>;
487
+ class: z.ZodOptional<z.ZodString>;
488
+ representation: z.ZodOptional<z.ZodEnum<{
489
+ symbol: "symbol";
490
+ tool: "tool";
491
+ both: "both";
492
+ }>>;
493
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
494
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
495
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
496
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
497
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
498
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
499
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
500
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
501
+ exam: z.ZodOptional<z.ZodObject<{
502
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
503
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
504
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
505
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
506
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
507
+ }, z.core.$strip>>;
508
+ }, z.core.$strip>, z.ZodTransform<{
509
+ show: "result" | "omit" | "turn";
510
+ lifetime: "turn" | "call";
511
+ type: "bot-call";
512
+ target: string;
513
+ name: string;
514
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
515
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
516
+ question: string | null;
517
+ effect: string | null;
518
+ caption: string | null;
519
+ prepare?: ((...args: never[]) => unknown) | undefined;
520
+ background?: boolean | undefined;
521
+ deadlineMs?: number | undefined;
522
+ maxResultTokens?: number | undefined;
523
+ supportsNotify?: boolean | undefined;
524
+ description?: string | undefined;
525
+ class?: string | undefined;
526
+ representation?: "symbol" | "tool" | "both" | undefined;
527
+ triggersReactLoop?: boolean | undefined;
528
+ isSideChannel?: boolean | undefined;
529
+ tapeHidden?: boolean | undefined;
530
+ exam?: {
531
+ program: (...args: never[]) => unknown;
532
+ admit: (...args: never[]) => unknown;
533
+ settle?: ((...args: never[]) => unknown) | undefined;
534
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
535
+ finish?: ((...args: never[]) => unknown) | undefined;
536
+ } | undefined;
537
+ }, {
538
+ type: "bot-call";
539
+ target: string;
540
+ name: string;
541
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
542
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
543
+ question: string | null;
544
+ effect: string | null;
545
+ caption: string | null;
546
+ prepare?: ((...args: never[]) => unknown) | undefined;
547
+ background?: boolean | undefined;
548
+ lifetime?: "turn" | "call" | undefined;
549
+ show?: "result" | "omit" | "turn" | "silent" | undefined;
550
+ delivery?: "result" | "turn" | "silent" | undefined;
551
+ deadlineMs?: number | undefined;
552
+ maxResultTokens?: number | undefined;
553
+ supportsNotify?: boolean | undefined;
554
+ description?: string | undefined;
555
+ class?: string | undefined;
556
+ representation?: "symbol" | "tool" | "both" | undefined;
557
+ triggersReactLoop?: boolean | undefined;
558
+ isSideChannel?: boolean | undefined;
559
+ tapeHidden?: boolean | undefined;
560
+ exam?: {
561
+ program: (...args: never[]) => unknown;
562
+ admit: (...args: never[]) => unknown;
563
+ settle?: ((...args: never[]) => unknown) | undefined;
564
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
565
+ finish?: ((...args: never[]) => unknown) | undefined;
566
+ } | undefined;
567
+ }>>]>]>>>;
568
+ actions: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodCustom<{
569
+ readonly name: string;
570
+ }, {
571
+ readonly name: string;
572
+ }>, z.ZodObject<{
573
+ name: z.ZodString;
574
+ description: z.ZodOptional<z.ZodString>;
575
+ seat: z.ZodDefault<z.ZodEnum<{
576
+ session: "session";
577
+ harness: "harness";
578
+ }>>;
579
+ input: z.ZodOptional<z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
580
+ run: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
581
+ }, z.core.$strip>]>>>;
582
+ envCapabilities: z.ZodDefault<z.ZodArray<z.ZodCustom<EnvCapability, EnvCapability>>>;
583
+ bots: z.ZodDefault<z.ZodArray<z.ZodPreprocess<z.ZodPipe<z.ZodObject<{
584
+ name: z.ZodString;
585
+ recipeScope: z.ZodEnum<{
586
+ session: "session";
587
+ invocation: "invocation";
588
+ workspace: "workspace";
589
+ global: "global";
590
+ }>;
591
+ instructions: z.ZodString;
592
+ description: z.ZodOptional<z.ZodString>;
593
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
594
+ mcp: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodObject<{
595
+ server: z.ZodString;
596
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
597
+ approval: z.ZodOptional<z.ZodEnum<{
598
+ allow: "allow";
599
+ policy: "policy";
600
+ }>>;
601
+ }, z.core.$strip>, z.ZodTransform<{
602
+ server: string;
603
+ tools: string[];
604
+ approval: "allow" | "policy";
605
+ }, {
606
+ server: string;
607
+ tools: string[];
608
+ approval?: "allow" | "policy" | undefined;
609
+ }>>>>;
610
+ keepAlive: z.ZodOptional<z.ZodBoolean>;
611
+ invokes: z.ZodDefault<z.ZodArray<z.ZodString>>;
612
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
613
+ none: "none";
614
+ minimal: "minimal";
615
+ low: "low";
616
+ medium: "medium";
617
+ high: "high";
618
+ xhigh: "xhigh";
619
+ max: "max";
620
+ }>>;
621
+ modelPreferences: z.ZodDefault<z.ZodArray<z.ZodString>>;
622
+ skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
623
+ }, z.core.$strip>, z.ZodTransform<{
624
+ modelPreferences: string[];
625
+ skills: string[];
626
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
627
+ tools: string[];
628
+ mcp: {
629
+ server: string;
630
+ tools: string[];
631
+ approval: "allow" | "policy";
632
+ }[];
633
+ keepAlive: boolean;
634
+ invokes: string[];
635
+ description?: string | undefined;
636
+ name: string;
637
+ recipeScope: "session" | "invocation" | "workspace" | "global";
638
+ instructions: import("@inhuman.tools/harness-commons").SystemPrompt;
639
+ }, {
640
+ name: string;
641
+ recipeScope: "session" | "invocation" | "workspace" | "global";
642
+ instructions: string;
643
+ tools: string[];
644
+ mcp: {
645
+ server: string;
646
+ tools: string[];
647
+ approval: "allow" | "policy";
648
+ }[];
649
+ invokes: string[];
650
+ modelPreferences: string[];
651
+ skills: string[];
652
+ description?: string | undefined;
653
+ keepAlive?: boolean | undefined;
654
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
655
+ }>>>>>;
656
+ mcpServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
657
+ name: z.ZodString;
658
+ visibility: z.ZodEnum<{
659
+ private: "private";
660
+ public: "public";
661
+ }>;
662
+ scope: z.ZodEnum<{
663
+ session: "session";
664
+ workspace: "workspace";
665
+ global: "global";
666
+ }>;
667
+ transport: z.ZodObject<{
668
+ type: z.ZodLiteral<"stdio">;
669
+ command: z.ZodString;
670
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
671
+ cwd: z.ZodEnum<{
672
+ workspace: "workspace";
673
+ plugin: "plugin";
674
+ }>;
675
+ env: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodString>, z.ZodCustom<(ctx: {
676
+ readonly pluginRoot: string;
677
+ readonly workspaceRoot: string;
678
+ }) => Record<string, string>, (ctx: {
679
+ readonly pluginRoot: string;
680
+ readonly workspaceRoot: string;
681
+ }) => Record<string, string>>]>>;
682
+ }, z.core.$strip>;
683
+ }, z.core.$strip>>>;
684
+ exclusiveSlots: z.ZodDefault<z.ZodArray<z.ZodString>>;
685
+ projection: z.ZodOptional<z.ZodObject<{
686
+ initial: z.ZodCustom<() => unknown, () => unknown>;
687
+ reduce: z.ZodCustom<(state: unknown, action: unknown) => unknown, (state: unknown, action: unknown) => unknown>;
688
+ hostOnly: z.ZodOptional<z.ZodCustom<(action: unknown) => boolean, (action: unknown) => boolean>>;
689
+ }, z.core.$strip>>;
690
+ }, z.core.$strip>;
691
+ export declare const toolContext: z.ZodObject<{
692
+ root: z.ZodOptional<z.ZodString>;
693
+ signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
694
+ turn: z.ZodOptional<z.ZodUnknown>;
695
+ completion: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
696
+ invocation: z.ZodOptional<z.ZodUnknown>;
697
+ storage: z.ZodOptional<z.ZodObject<{
698
+ session: z.ZodUnknown;
699
+ invocation: z.ZodUnknown;
700
+ project: z.ZodOptional<z.ZodUnknown>;
701
+ global: z.ZodOptional<z.ZodUnknown>;
702
+ propose: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
703
+ }, z.core.$strip>>;
704
+ }, z.core.$loose>;
705
+ export type NormalizedActionDefinition = z.infer<typeof normalizedActionDef>;
706
+ export declare const inhumanShape: {
707
+ readonly toolDef: z.ZodUnion<readonly [z.ZodObject<{
708
+ type: z.ZodOptional<z.ZodLiteral<"function">>;
709
+ run: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
710
+ name: z.ZodString;
711
+ description: z.ZodOptional<z.ZodString>;
712
+ class: z.ZodOptional<z.ZodString>;
713
+ representation: z.ZodOptional<z.ZodEnum<{
714
+ symbol: "symbol";
715
+ tool: "tool";
716
+ both: "both";
717
+ }>>;
718
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
719
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
720
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
721
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
722
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
723
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
724
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
725
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
726
+ exam: z.ZodOptional<z.ZodObject<{
727
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
728
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
729
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
730
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
731
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
732
+ }, z.core.$strip>>;
733
+ }, z.core.$strip>, z.ZodPipe<z.ZodObject<{
734
+ type: z.ZodLiteral<"bot-call">;
735
+ target: z.ZodString;
736
+ prepare: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
737
+ background: z.ZodOptional<z.ZodBoolean>;
738
+ lifetime: z.ZodOptional<z.ZodEnum<{
739
+ turn: "turn";
740
+ call: "call";
741
+ }>>;
742
+ show: z.ZodOptional<z.ZodEnum<{
743
+ result: "result";
744
+ omit: "omit";
745
+ turn: "turn";
746
+ silent: "silent";
747
+ }>>;
748
+ delivery: z.ZodOptional<z.ZodEnum<{
749
+ result: "result";
750
+ turn: "turn";
751
+ silent: "silent";
752
+ }>>;
753
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
754
+ maxResultTokens: z.ZodOptional<z.ZodNumber>;
755
+ supportsNotify: z.ZodOptional<z.ZodBoolean>;
756
+ name: z.ZodString;
757
+ description: z.ZodOptional<z.ZodString>;
758
+ class: z.ZodOptional<z.ZodString>;
759
+ representation: z.ZodOptional<z.ZodEnum<{
760
+ symbol: "symbol";
761
+ tool: "tool";
762
+ both: "both";
763
+ }>>;
764
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
765
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
766
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
767
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
768
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
769
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
770
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
771
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
772
+ exam: z.ZodOptional<z.ZodObject<{
773
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
774
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
775
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
776
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
777
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
778
+ }, z.core.$strip>>;
779
+ }, z.core.$strip>, z.ZodTransform<{
780
+ show: "result" | "omit" | "turn";
781
+ lifetime: "turn" | "call";
782
+ type: "bot-call";
783
+ target: string;
784
+ name: string;
785
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
786
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
787
+ question: string | null;
788
+ effect: string | null;
789
+ caption: string | null;
790
+ prepare?: ((...args: never[]) => unknown) | undefined;
791
+ background?: boolean | undefined;
792
+ deadlineMs?: number | undefined;
793
+ maxResultTokens?: number | undefined;
794
+ supportsNotify?: boolean | undefined;
795
+ description?: string | undefined;
796
+ class?: string | undefined;
797
+ representation?: "symbol" | "tool" | "both" | undefined;
798
+ triggersReactLoop?: boolean | undefined;
799
+ isSideChannel?: boolean | undefined;
800
+ tapeHidden?: boolean | undefined;
801
+ exam?: {
802
+ program: (...args: never[]) => unknown;
803
+ admit: (...args: never[]) => unknown;
804
+ settle?: ((...args: never[]) => unknown) | undefined;
805
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
806
+ finish?: ((...args: never[]) => unknown) | undefined;
807
+ } | undefined;
808
+ }, {
809
+ type: "bot-call";
810
+ target: string;
811
+ name: string;
812
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
813
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
814
+ question: string | null;
815
+ effect: string | null;
816
+ caption: string | null;
817
+ prepare?: ((...args: never[]) => unknown) | undefined;
818
+ background?: boolean | undefined;
819
+ lifetime?: "turn" | "call" | undefined;
820
+ show?: "result" | "omit" | "turn" | "silent" | undefined;
821
+ delivery?: "result" | "turn" | "silent" | undefined;
822
+ deadlineMs?: number | undefined;
823
+ maxResultTokens?: number | undefined;
824
+ supportsNotify?: boolean | undefined;
825
+ description?: string | undefined;
826
+ class?: string | undefined;
827
+ representation?: "symbol" | "tool" | "both" | undefined;
828
+ triggersReactLoop?: boolean | undefined;
829
+ isSideChannel?: boolean | undefined;
830
+ tapeHidden?: boolean | undefined;
831
+ exam?: {
832
+ program: (...args: never[]) => unknown;
833
+ admit: (...args: never[]) => unknown;
834
+ settle?: ((...args: never[]) => unknown) | undefined;
835
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
836
+ finish?: ((...args: never[]) => unknown) | undefined;
837
+ } | undefined;
838
+ }>>]>;
839
+ readonly functionToolDef: z.ZodObject<{
840
+ type: z.ZodOptional<z.ZodLiteral<"function">>;
841
+ run: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
842
+ name: z.ZodString;
843
+ description: z.ZodOptional<z.ZodString>;
844
+ class: z.ZodOptional<z.ZodString>;
845
+ representation: z.ZodOptional<z.ZodEnum<{
846
+ symbol: "symbol";
847
+ tool: "tool";
848
+ both: "both";
849
+ }>>;
850
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
851
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
852
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
853
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
854
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
855
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
856
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
857
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
858
+ exam: z.ZodOptional<z.ZodObject<{
859
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
860
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
861
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
862
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
863
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
864
+ }, z.core.$strip>>;
865
+ }, z.core.$strip>;
866
+ readonly botCallToolDef: z.ZodPipe<z.ZodObject<{
867
+ type: z.ZodLiteral<"bot-call">;
868
+ target: z.ZodString;
869
+ prepare: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
870
+ background: z.ZodOptional<z.ZodBoolean>;
871
+ lifetime: z.ZodOptional<z.ZodEnum<{
872
+ turn: "turn";
873
+ call: "call";
874
+ }>>;
875
+ show: z.ZodOptional<z.ZodEnum<{
876
+ result: "result";
877
+ omit: "omit";
878
+ turn: "turn";
879
+ silent: "silent";
880
+ }>>;
881
+ delivery: z.ZodOptional<z.ZodEnum<{
882
+ result: "result";
883
+ turn: "turn";
884
+ silent: "silent";
885
+ }>>;
886
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
887
+ maxResultTokens: z.ZodOptional<z.ZodNumber>;
888
+ supportsNotify: z.ZodOptional<z.ZodBoolean>;
889
+ name: z.ZodString;
890
+ description: z.ZodOptional<z.ZodString>;
891
+ class: z.ZodOptional<z.ZodString>;
892
+ representation: z.ZodOptional<z.ZodEnum<{
893
+ symbol: "symbol";
894
+ tool: "tool";
895
+ both: "both";
896
+ }>>;
897
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
898
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
899
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
900
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
901
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
902
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
903
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
904
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
905
+ exam: z.ZodOptional<z.ZodObject<{
906
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
907
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
908
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
909
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
910
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
911
+ }, z.core.$strip>>;
912
+ }, z.core.$strip>, z.ZodTransform<{
913
+ show: "result" | "omit" | "turn";
914
+ lifetime: "turn" | "call";
915
+ type: "bot-call";
916
+ target: string;
917
+ name: string;
918
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
919
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
920
+ question: string | null;
921
+ effect: string | null;
922
+ caption: string | null;
923
+ prepare?: ((...args: never[]) => unknown) | undefined;
924
+ background?: boolean | undefined;
925
+ deadlineMs?: number | undefined;
926
+ maxResultTokens?: number | undefined;
927
+ supportsNotify?: boolean | undefined;
928
+ description?: string | undefined;
929
+ class?: string | undefined;
930
+ representation?: "symbol" | "tool" | "both" | undefined;
931
+ triggersReactLoop?: boolean | undefined;
932
+ isSideChannel?: boolean | undefined;
933
+ tapeHidden?: boolean | undefined;
934
+ exam?: {
935
+ program: (...args: never[]) => unknown;
936
+ admit: (...args: never[]) => unknown;
937
+ settle?: ((...args: never[]) => unknown) | undefined;
938
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
939
+ finish?: ((...args: never[]) => unknown) | undefined;
940
+ } | undefined;
941
+ }, {
942
+ type: "bot-call";
943
+ target: string;
944
+ name: string;
945
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
946
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
947
+ question: string | null;
948
+ effect: string | null;
949
+ caption: string | null;
950
+ prepare?: ((...args: never[]) => unknown) | undefined;
951
+ background?: boolean | undefined;
952
+ lifetime?: "turn" | "call" | undefined;
953
+ show?: "result" | "omit" | "turn" | "silent" | undefined;
954
+ delivery?: "result" | "turn" | "silent" | undefined;
955
+ deadlineMs?: number | undefined;
956
+ maxResultTokens?: number | undefined;
957
+ supportsNotify?: boolean | undefined;
958
+ description?: string | undefined;
959
+ class?: string | undefined;
960
+ representation?: "symbol" | "tool" | "both" | undefined;
961
+ triggersReactLoop?: boolean | undefined;
962
+ isSideChannel?: boolean | undefined;
963
+ tapeHidden?: boolean | undefined;
964
+ exam?: {
965
+ program: (...args: never[]) => unknown;
966
+ admit: (...args: never[]) => unknown;
967
+ settle?: ((...args: never[]) => unknown) | undefined;
968
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
969
+ finish?: ((...args: never[]) => unknown) | undefined;
970
+ } | undefined;
971
+ }>>;
972
+ readonly actionDef: z.ZodObject<{
973
+ name: z.ZodString;
974
+ description: z.ZodOptional<z.ZodString>;
975
+ seat: z.ZodDefault<z.ZodEnum<{
976
+ session: "session";
977
+ harness: "harness";
978
+ }>>;
979
+ input: z.ZodOptional<z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
980
+ run: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
981
+ }, z.core.$strip>;
982
+ readonly normalizedActionDef: z.ZodObject<{
983
+ name: z.ZodString;
984
+ description: z.ZodOptional<z.ZodString>;
985
+ seat: z.ZodDefault<z.ZodEnum<{
986
+ session: "session";
987
+ harness: "harness";
988
+ }>>;
989
+ input: z.ZodOptional<z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
990
+ run: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
991
+ }, z.core.$strip>;
992
+ readonly pluginDef: z.ZodObject<{
993
+ apiVersion: z.ZodOptional<z.ZodLiteral<1>>;
994
+ tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodCustom<{
995
+ readonly name: string;
996
+ }, {
997
+ readonly name: string;
998
+ }>, z.ZodUnion<readonly [z.ZodObject<{
999
+ type: z.ZodOptional<z.ZodLiteral<"function">>;
1000
+ run: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1001
+ name: z.ZodString;
1002
+ description: z.ZodOptional<z.ZodString>;
1003
+ class: z.ZodOptional<z.ZodString>;
1004
+ representation: z.ZodOptional<z.ZodEnum<{
1005
+ symbol: "symbol";
1006
+ tool: "tool";
1007
+ both: "both";
1008
+ }>>;
1009
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
1010
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
1011
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
1012
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
1013
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
1014
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1015
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1016
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1017
+ exam: z.ZodOptional<z.ZodObject<{
1018
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
1019
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
1020
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1021
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1022
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1023
+ }, z.core.$strip>>;
1024
+ }, z.core.$strip>, z.ZodPipe<z.ZodObject<{
1025
+ type: z.ZodLiteral<"bot-call">;
1026
+ target: z.ZodString;
1027
+ prepare: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1028
+ background: z.ZodOptional<z.ZodBoolean>;
1029
+ lifetime: z.ZodOptional<z.ZodEnum<{
1030
+ turn: "turn";
1031
+ call: "call";
1032
+ }>>;
1033
+ show: z.ZodOptional<z.ZodEnum<{
1034
+ result: "result";
1035
+ omit: "omit";
1036
+ turn: "turn";
1037
+ silent: "silent";
1038
+ }>>;
1039
+ delivery: z.ZodOptional<z.ZodEnum<{
1040
+ result: "result";
1041
+ turn: "turn";
1042
+ silent: "silent";
1043
+ }>>;
1044
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
1045
+ maxResultTokens: z.ZodOptional<z.ZodNumber>;
1046
+ supportsNotify: z.ZodOptional<z.ZodBoolean>;
1047
+ name: z.ZodString;
1048
+ description: z.ZodOptional<z.ZodString>;
1049
+ class: z.ZodOptional<z.ZodString>;
1050
+ representation: z.ZodOptional<z.ZodEnum<{
1051
+ symbol: "symbol";
1052
+ tool: "tool";
1053
+ both: "both";
1054
+ }>>;
1055
+ input: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
1056
+ output: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
1057
+ triggersReactLoop: z.ZodOptional<z.ZodBoolean>;
1058
+ isSideChannel: z.ZodOptional<z.ZodBoolean>;
1059
+ tapeHidden: z.ZodOptional<z.ZodBoolean>;
1060
+ question: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1061
+ effect: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1062
+ caption: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1063
+ exam: z.ZodOptional<z.ZodObject<{
1064
+ program: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
1065
+ admit: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
1066
+ settle: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1067
+ prefixAsk: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1068
+ finish: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
1069
+ }, z.core.$strip>>;
1070
+ }, z.core.$strip>, z.ZodTransform<{
1071
+ show: "result" | "omit" | "turn";
1072
+ lifetime: "turn" | "call";
1073
+ type: "bot-call";
1074
+ target: string;
1075
+ name: string;
1076
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
1077
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
1078
+ question: string | null;
1079
+ effect: string | null;
1080
+ caption: string | null;
1081
+ prepare?: ((...args: never[]) => unknown) | undefined;
1082
+ background?: boolean | undefined;
1083
+ deadlineMs?: number | undefined;
1084
+ maxResultTokens?: number | undefined;
1085
+ supportsNotify?: boolean | undefined;
1086
+ description?: string | undefined;
1087
+ class?: string | undefined;
1088
+ representation?: "symbol" | "tool" | "both" | undefined;
1089
+ triggersReactLoop?: boolean | undefined;
1090
+ isSideChannel?: boolean | undefined;
1091
+ tapeHidden?: boolean | undefined;
1092
+ exam?: {
1093
+ program: (...args: never[]) => unknown;
1094
+ admit: (...args: never[]) => unknown;
1095
+ settle?: ((...args: never[]) => unknown) | undefined;
1096
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
1097
+ finish?: ((...args: never[]) => unknown) | undefined;
1098
+ } | undefined;
1099
+ }, {
1100
+ type: "bot-call";
1101
+ target: string;
1102
+ name: string;
1103
+ input: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
1104
+ output: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
1105
+ question: string | null;
1106
+ effect: string | null;
1107
+ caption: string | null;
1108
+ prepare?: ((...args: never[]) => unknown) | undefined;
1109
+ background?: boolean | undefined;
1110
+ lifetime?: "turn" | "call" | undefined;
1111
+ show?: "result" | "omit" | "turn" | "silent" | undefined;
1112
+ delivery?: "result" | "turn" | "silent" | undefined;
1113
+ deadlineMs?: number | undefined;
1114
+ maxResultTokens?: number | undefined;
1115
+ supportsNotify?: boolean | undefined;
1116
+ description?: string | undefined;
1117
+ class?: string | undefined;
1118
+ representation?: "symbol" | "tool" | "both" | undefined;
1119
+ triggersReactLoop?: boolean | undefined;
1120
+ isSideChannel?: boolean | undefined;
1121
+ tapeHidden?: boolean | undefined;
1122
+ exam?: {
1123
+ program: (...args: never[]) => unknown;
1124
+ admit: (...args: never[]) => unknown;
1125
+ settle?: ((...args: never[]) => unknown) | undefined;
1126
+ prefixAsk?: ((...args: never[]) => unknown) | undefined;
1127
+ finish?: ((...args: never[]) => unknown) | undefined;
1128
+ } | undefined;
1129
+ }>>]>]>>>;
1130
+ actions: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodCustom<{
1131
+ readonly name: string;
1132
+ }, {
1133
+ readonly name: string;
1134
+ }>, z.ZodObject<{
1135
+ name: z.ZodString;
1136
+ description: z.ZodOptional<z.ZodString>;
1137
+ seat: z.ZodDefault<z.ZodEnum<{
1138
+ session: "session";
1139
+ harness: "harness";
1140
+ }>>;
1141
+ input: z.ZodOptional<z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
1142
+ run: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
1143
+ }, z.core.$strip>]>>>;
1144
+ envCapabilities: z.ZodDefault<z.ZodArray<z.ZodCustom<EnvCapability, EnvCapability>>>;
1145
+ bots: z.ZodDefault<z.ZodArray<z.ZodPreprocess<z.ZodPipe<z.ZodObject<{
1146
+ name: z.ZodString;
1147
+ recipeScope: z.ZodEnum<{
1148
+ session: "session";
1149
+ invocation: "invocation";
1150
+ workspace: "workspace";
1151
+ global: "global";
1152
+ }>;
1153
+ instructions: z.ZodString;
1154
+ description: z.ZodOptional<z.ZodString>;
1155
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1156
+ mcp: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodObject<{
1157
+ server: z.ZodString;
1158
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1159
+ approval: z.ZodOptional<z.ZodEnum<{
1160
+ allow: "allow";
1161
+ policy: "policy";
1162
+ }>>;
1163
+ }, z.core.$strip>, z.ZodTransform<{
1164
+ server: string;
1165
+ tools: string[];
1166
+ approval: "allow" | "policy";
1167
+ }, {
1168
+ server: string;
1169
+ tools: string[];
1170
+ approval?: "allow" | "policy" | undefined;
1171
+ }>>>>;
1172
+ keepAlive: z.ZodOptional<z.ZodBoolean>;
1173
+ invokes: z.ZodDefault<z.ZodArray<z.ZodString>>;
1174
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
1175
+ none: "none";
1176
+ minimal: "minimal";
1177
+ low: "low";
1178
+ medium: "medium";
1179
+ high: "high";
1180
+ xhigh: "xhigh";
1181
+ max: "max";
1182
+ }>>;
1183
+ modelPreferences: z.ZodDefault<z.ZodArray<z.ZodString>>;
1184
+ skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
1185
+ }, z.core.$strip>, z.ZodTransform<{
1186
+ modelPreferences: string[];
1187
+ skills: string[];
1188
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1189
+ tools: string[];
1190
+ mcp: {
1191
+ server: string;
1192
+ tools: string[];
1193
+ approval: "allow" | "policy";
1194
+ }[];
1195
+ keepAlive: boolean;
1196
+ invokes: string[];
1197
+ description?: string | undefined;
1198
+ name: string;
1199
+ recipeScope: "session" | "invocation" | "workspace" | "global";
1200
+ instructions: import("@inhuman.tools/harness-commons").SystemPrompt;
1201
+ }, {
1202
+ name: string;
1203
+ recipeScope: "session" | "invocation" | "workspace" | "global";
1204
+ instructions: string;
1205
+ tools: string[];
1206
+ mcp: {
1207
+ server: string;
1208
+ tools: string[];
1209
+ approval: "allow" | "policy";
1210
+ }[];
1211
+ invokes: string[];
1212
+ modelPreferences: string[];
1213
+ skills: string[];
1214
+ description?: string | undefined;
1215
+ keepAlive?: boolean | undefined;
1216
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1217
+ }>>>>>;
1218
+ mcpServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
1219
+ name: z.ZodString;
1220
+ visibility: z.ZodEnum<{
1221
+ private: "private";
1222
+ public: "public";
1223
+ }>;
1224
+ scope: z.ZodEnum<{
1225
+ session: "session";
1226
+ workspace: "workspace";
1227
+ global: "global";
1228
+ }>;
1229
+ transport: z.ZodObject<{
1230
+ type: z.ZodLiteral<"stdio">;
1231
+ command: z.ZodString;
1232
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
1233
+ cwd: z.ZodEnum<{
1234
+ workspace: "workspace";
1235
+ plugin: "plugin";
1236
+ }>;
1237
+ env: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodString>, z.ZodCustom<(ctx: {
1238
+ readonly pluginRoot: string;
1239
+ readonly workspaceRoot: string;
1240
+ }) => Record<string, string>, (ctx: {
1241
+ readonly pluginRoot: string;
1242
+ readonly workspaceRoot: string;
1243
+ }) => Record<string, string>>]>>;
1244
+ }, z.core.$strip>;
1245
+ }, z.core.$strip>>>;
1246
+ exclusiveSlots: z.ZodDefault<z.ZodArray<z.ZodString>>;
1247
+ projection: z.ZodOptional<z.ZodObject<{
1248
+ initial: z.ZodCustom<() => unknown, () => unknown>;
1249
+ reduce: z.ZodCustom<(state: unknown, action: unknown) => unknown, (state: unknown, action: unknown) => unknown>;
1250
+ hostOnly: z.ZodOptional<z.ZodCustom<(action: unknown) => boolean, (action: unknown) => boolean>>;
1251
+ }, z.core.$strip>>;
1252
+ }, z.core.$strip>;
1253
+ readonly botDef: z.ZodPreprocess<z.ZodPipe<z.ZodObject<{
1254
+ name: z.ZodString;
1255
+ recipeScope: z.ZodEnum<{
1256
+ session: "session";
1257
+ invocation: "invocation";
1258
+ workspace: "workspace";
1259
+ global: "global";
1260
+ }>;
1261
+ instructions: z.ZodString;
1262
+ description: z.ZodOptional<z.ZodString>;
1263
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1264
+ mcp: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodObject<{
1265
+ server: z.ZodString;
1266
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1267
+ approval: z.ZodOptional<z.ZodEnum<{
1268
+ allow: "allow";
1269
+ policy: "policy";
1270
+ }>>;
1271
+ }, z.core.$strip>, z.ZodTransform<{
1272
+ server: string;
1273
+ tools: string[];
1274
+ approval: "allow" | "policy";
1275
+ }, {
1276
+ server: string;
1277
+ tools: string[];
1278
+ approval?: "allow" | "policy" | undefined;
1279
+ }>>>>;
1280
+ keepAlive: z.ZodOptional<z.ZodBoolean>;
1281
+ invokes: z.ZodDefault<z.ZodArray<z.ZodString>>;
1282
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
1283
+ none: "none";
1284
+ minimal: "minimal";
1285
+ low: "low";
1286
+ medium: "medium";
1287
+ high: "high";
1288
+ xhigh: "xhigh";
1289
+ max: "max";
1290
+ }>>;
1291
+ modelPreferences: z.ZodDefault<z.ZodArray<z.ZodString>>;
1292
+ skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
1293
+ }, z.core.$strip>, z.ZodTransform<{
1294
+ modelPreferences: string[];
1295
+ skills: string[];
1296
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1297
+ tools: string[];
1298
+ mcp: {
1299
+ server: string;
1300
+ tools: string[];
1301
+ approval: "allow" | "policy";
1302
+ }[];
1303
+ keepAlive: boolean;
1304
+ invokes: string[];
1305
+ description?: string | undefined;
1306
+ name: string;
1307
+ recipeScope: "session" | "invocation" | "workspace" | "global";
1308
+ instructions: import("@inhuman.tools/harness-commons").SystemPrompt;
1309
+ }, {
1310
+ name: string;
1311
+ recipeScope: "session" | "invocation" | "workspace" | "global";
1312
+ instructions: string;
1313
+ tools: string[];
1314
+ mcp: {
1315
+ server: string;
1316
+ tools: string[];
1317
+ approval: "allow" | "policy";
1318
+ }[];
1319
+ invokes: string[];
1320
+ modelPreferences: string[];
1321
+ skills: string[];
1322
+ description?: string | undefined;
1323
+ keepAlive?: boolean | undefined;
1324
+ reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1325
+ }>>>;
1326
+ readonly botMcpBindingDef: z.ZodPipe<z.ZodObject<{
1327
+ server: z.ZodString;
1328
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1329
+ approval: z.ZodOptional<z.ZodEnum<{
1330
+ allow: "allow";
1331
+ policy: "policy";
1332
+ }>>;
1333
+ }, z.core.$strip>, z.ZodTransform<{
1334
+ server: string;
1335
+ tools: string[];
1336
+ approval: "allow" | "policy";
1337
+ }, {
1338
+ server: string;
1339
+ tools: string[];
1340
+ approval?: "allow" | "policy" | undefined;
1341
+ }>>;
1342
+ readonly mcpServerDef: z.ZodObject<{
1343
+ name: z.ZodString;
1344
+ visibility: z.ZodEnum<{
1345
+ private: "private";
1346
+ public: "public";
1347
+ }>;
1348
+ scope: z.ZodEnum<{
1349
+ session: "session";
1350
+ workspace: "workspace";
1351
+ global: "global";
1352
+ }>;
1353
+ transport: z.ZodObject<{
1354
+ type: z.ZodLiteral<"stdio">;
1355
+ command: z.ZodString;
1356
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
1357
+ cwd: z.ZodEnum<{
1358
+ workspace: "workspace";
1359
+ plugin: "plugin";
1360
+ }>;
1361
+ env: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodString>, z.ZodCustom<(ctx: {
1362
+ readonly pluginRoot: string;
1363
+ readonly workspaceRoot: string;
1364
+ }) => Record<string, string>, (ctx: {
1365
+ readonly pluginRoot: string;
1366
+ readonly workspaceRoot: string;
1367
+ }) => Record<string, string>>]>>;
1368
+ }, z.core.$strip>;
1369
+ }, z.core.$strip>;
1370
+ readonly pluginProjectionDef: z.ZodObject<{
1371
+ initial: z.ZodCustom<() => unknown, () => unknown>;
1372
+ reduce: z.ZodCustom<(state: unknown, action: unknown) => unknown, (state: unknown, action: unknown) => unknown>;
1373
+ hostOnly: z.ZodOptional<z.ZodCustom<(action: unknown) => boolean, (action: unknown) => boolean>>;
1374
+ }, z.core.$strip>;
1375
+ readonly exclusiveSlotsDef: z.ZodArray<z.ZodString>;
1376
+ readonly toolContext: z.ZodObject<{
1377
+ root: z.ZodOptional<z.ZodString>;
1378
+ signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
1379
+ turn: z.ZodOptional<z.ZodUnknown>;
1380
+ completion: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
1381
+ invocation: z.ZodOptional<z.ZodUnknown>;
1382
+ storage: z.ZodOptional<z.ZodObject<{
1383
+ session: z.ZodUnknown;
1384
+ invocation: z.ZodUnknown;
1385
+ project: z.ZodOptional<z.ZodUnknown>;
1386
+ global: z.ZodOptional<z.ZodUnknown>;
1387
+ propose: z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>;
1388
+ }, z.core.$strip>>;
1389
+ }, z.core.$loose>;
1390
+ readonly envCapability: z.ZodCustom<EnvCapability, EnvCapability>;
1391
+ };
1392
+ //# sourceMappingURL=plugin.d.ts.map