@tangle-network/cli-agent-registry 0.0.0-stage → 0.14.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,1400 @@
1
+ import { a as isBackendType, i as backendTypeSchema, n as BACKEND_TYPE, o as parseBackendType, r as BackendType, t as ALL_BACKEND_TYPES } from "./backend-types-CJH-wHS3.mjs";
2
+ import { LocalCliAuthFile, materializeCliAuthBundle } from "./cli-auth-bundle.mjs";
3
+ import { A as CliDirLayout, C as ProviderPhase, D as harnessModelSupportFor, E as cliAgentEnvRoleName, M as DEFAULT_CLI_DIR_LAYOUT, N as mergeCliDirLayout, O as harnessModelWire, S as ProviderLogger, T as cliAgentClaimEnvVarNames, _ as CliAgentModelWire, a as agentProfileSchema, b as CliAuthHome, c as cliAgentHostPassthroughEnvVarNames, d as AdapterFactory, f as CliAgentBuiltinTool, g as CliAgentEnvVars, h as CliAgentEnvExtraRole, i as MANAGED_MODEL_KEY_NAME_ENV_VAR, j as CliDirLayoutAdditions, k as SYNTHETIC_ROUTER_MODEL, l as getSpec, m as CliAgentEnvExtraParser, n as CLI_AGENT_SPECS, o as claimDeliverableEnvVarNames, p as CliAgentEnvExtra, r as MANAGED_MODEL_KEY_ENV_VAR, s as cliAgentEnvVarNamesByRole, t as AGENT_BACKEND_ENV_VAR, u as messageStorageDirOf, v as CliAgentRuntimeSpec, w as canonicalModelSlug, x as HarnessSpecCapabilities, y as CliAgentSpec } from "./specs-BSELpX1h.mjs";
4
+ import { _ as substituteNativeSessionId, a as NativeSessionIdentity, c as SessionFormatId, d as assertStoreLocationHonoursSessionContract, f as compileSessionStoreGlob, g as sessionStoreForPath, h as sessionContractProblems, i as HarnessSessionEvidence, l as assertArgvHonoursSessionContract, m as normalizePosixPath, n as HarnessSessionContractError, o as NativeSessionStore, p as forbiddenArgViolations, r as HarnessSessionContractErrorCode, s as SESSION_FORMAT_IDS, t as HarnessSessionContract, u as assertFlagsHonourSessionContract } from "./session-contract-BC75JdnA.mjs";
5
+ import { resolveDefaultBackend } from "./default-backend.mjs";
6
+ import { describeLocalCliAuthExpectation, discoverLocalCliAuthFiles } from "./local-cli-auth.mjs";
7
+ import { HARNESS_CONFORMANCE_PENDING, HARNESS_SESSION_UNSUPPORTED, NATIVE_SESSION_CONTRACTS, configDirHomeEnv } from "./native-session-contracts.mjs";
8
+ import { MANAGED_MODEL_LADDER, ManagedModelChain, ManagedModelChainOptions, ManagedModelRung, SkippedManagedModel, bareModelId, isServableManagedModel, managedModelChain } from "./servable-models.mjs";
9
+ import * as _$_tangle_network_agent_interface0 from "@tangle-network/agent-interface";
10
+ import { z } from "zod";
11
+
12
+ //#region src/adapter-bindings.d.ts
13
+ interface AdapterRegistry {
14
+ registerAdapterFactory(name: string, factory: AdapterFactory, options?: {
15
+ force?: boolean;
16
+ }): void;
17
+ unregisterAdapterFactory(name: string): boolean;
18
+ getAdapterFactory(name: string): AdapterFactory | undefined;
19
+ listRegisteredAdapters(): string[];
20
+ assertAdaptersWired(): void;
21
+ }
22
+ /**
23
+ * A composition-owned factory map. Wiring requirements come from this selected
24
+ * catalog, not every harness known elsewhere. No provider implementation is
25
+ * imported here, and separate registries cannot overwrite each other's bindings.
26
+ *
27
+ * Registration itself does not authorize execution. As with the existing API,
28
+ * factories may be staged before catalog admission; callers must still resolve
29
+ * a selected spec and enforce its capabilities before dispatching a request.
30
+ * Unregistering a required factory is not retirement: select a new composition
31
+ * after draining its sessions rather than weakening the wiring invariant.
32
+ */
33
+ declare function createAdapterRegistry(specs: readonly CliAgentSpec[]): AdapterRegistry;
34
+ declare function registerAdapterFactory(name: string, factory: AdapterFactory, options?: {
35
+ force?: boolean;
36
+ }): void;
37
+ declare function unregisterAdapterFactory(name: string): boolean;
38
+ declare function getAdapterFactory(name: string): AdapterFactory | undefined;
39
+ declare function listRegisteredAdapters(): string[];
40
+ declare function assertAdaptersWired(): void;
41
+ //#endregion
42
+ //#region src/agent-run-request.d.ts
43
+ /**
44
+ * Agent run request fields shared by the orchestrator proxy
45
+ * (`agentExecuteRequestSchema`) and the sidecar (`agentRunRequestSchema`).
46
+ * The proxy parses and reserializes the body, so a field missing on one end
47
+ * is dropped or refused before the other end sees it. Each end keeps only
48
+ * its delta: strictness, OpenAPI metadata, the sidecar's `identifier` alias
49
+ * and its cliAuth refinement.
50
+ */
51
+ type AgentRunBackend<Shape extends z.ZodRawShape> = z.infer<z.ZodObject<Shape>> & {
52
+ profile?: z.infer<typeof agentProfileSchema>;
53
+ profileSha256?: string;
54
+ };
55
+ /** A backend carries an inline profile, a profile digest, or neither. */
56
+ declare function agentRunBackendVariants<Shape extends z.ZodRawShape>(base: Shape): z.ZodUnion<readonly [z.ZodObject<Shape & {
57
+ profile: z.ZodObject<{
58
+ name: z.ZodOptional<z.ZodString>;
59
+ description: z.ZodOptional<z.ZodString>;
60
+ version: z.ZodOptional<z.ZodString>;
61
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
62
+ prompt: z.ZodOptional<z.ZodObject<{
63
+ systemPrompt: z.ZodOptional<z.ZodString>;
64
+ appendSystemPrompt: z.ZodOptional<z.ZodString>;
65
+ instructions: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ }, z.core.$strict>>;
67
+ model: z.ZodOptional<z.ZodObject<{
68
+ default: z.ZodOptional<z.ZodString>;
69
+ small: z.ZodOptional<z.ZodString>;
70
+ provider: z.ZodOptional<z.ZodString>;
71
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
72
+ none: "none";
73
+ minimal: "minimal";
74
+ low: "low";
75
+ medium: "medium";
76
+ high: "high";
77
+ xhigh: "xhigh";
78
+ ultracode: "ultracode";
79
+ }>>;
80
+ maxVisibleOutputTokens: z.ZodOptional<z.ZodNumber>;
81
+ maxReasoningTokens: z.ZodOptional<z.ZodNumber>;
82
+ maxTotalOutputTokens: z.ZodOptional<z.ZodNumber>;
83
+ metadata: z.ZodOptional<z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>>;
84
+ }, z.core.$strict>>;
85
+ harness: z.ZodOptional<z.ZodEnum<{
86
+ "claude-code": "claude-code";
87
+ nanoclaw: "nanoclaw";
88
+ codex: "codex";
89
+ opencode: "opencode";
90
+ "kimi-code": "kimi-code";
91
+ pi: "pi";
92
+ prime: "prime";
93
+ gemini: "gemini";
94
+ hermes: "hermes";
95
+ openclaw: "openclaw";
96
+ amp: "amp";
97
+ "factory-droids": "factory-droids";
98
+ forge: "forge";
99
+ cursor: "cursor";
100
+ acp: "acp";
101
+ "cli-base": "cli-base";
102
+ }>>;
103
+ seats: z.ZodOptional<z.ZodArray<z.ZodObject<{
104
+ harness: z.ZodEnum<{
105
+ "claude-code": "claude-code";
106
+ nanoclaw: "nanoclaw";
107
+ codex: "codex";
108
+ opencode: "opencode";
109
+ "kimi-code": "kimi-code";
110
+ pi: "pi";
111
+ prime: "prime";
112
+ gemini: "gemini";
113
+ hermes: "hermes";
114
+ openclaw: "openclaw";
115
+ amp: "amp";
116
+ "factory-droids": "factory-droids";
117
+ forge: "forge";
118
+ cursor: "cursor";
119
+ acp: "acp";
120
+ "cli-base": "cli-base";
121
+ }>;
122
+ provider: z.ZodString;
123
+ model: z.ZodString;
124
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
125
+ none: "none";
126
+ minimal: "minimal";
127
+ low: "low";
128
+ medium: "medium";
129
+ high: "high";
130
+ xhigh: "xhigh";
131
+ ultracode: "ultracode";
132
+ }>>;
133
+ selector: z.ZodUnion<readonly [z.ZodObject<{
134
+ kind: z.ZodLiteral<"all-eligible">;
135
+ }, z.core.$strict>, z.ZodObject<{
136
+ kind: z.ZodLiteral<"seat">;
137
+ id: z.ZodString;
138
+ }, z.core.$strict>]>;
139
+ tools: z.ZodOptional<z.ZodType<Record<string, boolean>, unknown, z.core.$ZodTypeInternals<Record<string, boolean>, unknown>>>;
140
+ permissions: z.ZodOptional<z.ZodType<Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">>, unknown, z.core.$ZodTypeInternals<Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">>, unknown>>>;
141
+ }, z.core.$strict>>>;
142
+ proxySecrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
143
+ hosts: z.ZodReadonly<z.ZodArray<z.ZodString>>;
144
+ methods: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
145
+ paths: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
146
+ envName: z.ZodString;
147
+ secretRef: z.ZodObject<{
148
+ key: z.ZodString;
149
+ kind: z.ZodLiteral<"secret-ref">;
150
+ }, z.core.$strict>;
151
+ presentation: z.ZodDiscriminatedUnion<[z.ZodObject<{
152
+ type: z.ZodLiteral<"bearer">;
153
+ }, z.core.$strict>, z.ZodObject<{
154
+ type: z.ZodLiteral<"basic">;
155
+ username: z.ZodString;
156
+ }, z.core.$strict>, z.ZodObject<{
157
+ type: z.ZodLiteral<"header">;
158
+ name: z.ZodString;
159
+ }, z.core.$strict>, z.ZodObject<{
160
+ type: z.ZodLiteral<"query">;
161
+ name: z.ZodString;
162
+ }, z.core.$strict>], "type">;
163
+ placeholderFormat: z.ZodOptional<z.ZodEnum<{
164
+ jwt: "jwt";
165
+ opaque: "opaque";
166
+ }>>;
167
+ ttlSeconds: z.ZodOptional<z.ZodNumber>;
168
+ }, z.core.$strict>>>;
169
+ permissions: z.ZodOptional<z.ZodType<Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">>, unknown, z.core.$ZodTypeInternals<Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">>, unknown>>>;
170
+ tools: z.ZodOptional<z.ZodType<Record<string, boolean>, unknown, z.core.$ZodTypeInternals<Record<string, boolean>, unknown>>>;
171
+ mcp: z.ZodOptional<z.ZodType<Record<string, _$_tangle_network_agent_interface0.AgentProfileMcpServer>, unknown, z.core.$ZodTypeInternals<Record<string, _$_tangle_network_agent_interface0.AgentProfileMcpServer>, unknown>>>;
172
+ connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
173
+ connectionId: z.ZodString;
174
+ capabilities: z.ZodArray<z.ZodString>;
175
+ alias: z.ZodOptional<z.ZodString>;
176
+ }, z.core.$strict>>>;
177
+ subagents: z.ZodOptional<z.ZodType<Record<string, {
178
+ description?: string | undefined;
179
+ prompt?: string | undefined;
180
+ model?: string | undefined;
181
+ tools?: Record<string, boolean> | undefined;
182
+ permissions?: Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">> | undefined;
183
+ maxSteps?: number | undefined;
184
+ metadata?: Record<string, unknown> | undefined;
185
+ }>, unknown, z.core.$ZodTypeInternals<Record<string, {
186
+ description?: string | undefined;
187
+ prompt?: string | undefined;
188
+ model?: string | undefined;
189
+ tools?: Record<string, boolean> | undefined;
190
+ permissions?: Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">> | undefined;
191
+ maxSteps?: number | undefined;
192
+ metadata?: Record<string, unknown> | undefined;
193
+ }>, unknown>>>;
194
+ resources: z.ZodOptional<z.ZodObject<{
195
+ knowledge: z.ZodOptional<z.ZodArray<z.ZodObject<{
196
+ sourceId: z.ZodString;
197
+ generation: z.ZodString;
198
+ }, z.core.$strict>>>;
199
+ files: z.ZodOptional<z.ZodArray<z.ZodObject<{
200
+ path: z.ZodString;
201
+ resource: z.ZodUnion<readonly [z.ZodObject<{
202
+ kind: z.ZodLiteral<"inline">;
203
+ name: z.ZodString;
204
+ content: z.ZodString;
205
+ }, z.core.$strict>, z.ZodObject<{
206
+ kind: z.ZodLiteral<"github">;
207
+ repository: z.ZodOptional<z.ZodString>;
208
+ path: z.ZodString;
209
+ ref: z.ZodOptional<z.ZodString>;
210
+ name: z.ZodOptional<z.ZodString>;
211
+ }, z.core.$strict>]>;
212
+ executable: z.ZodOptional<z.ZodBoolean>;
213
+ }, z.core.$strict>>>;
214
+ tools: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
215
+ kind: z.ZodLiteral<"inline">;
216
+ name: z.ZodString;
217
+ content: z.ZodString;
218
+ }, z.core.$strict>, z.ZodObject<{
219
+ kind: z.ZodLiteral<"github">;
220
+ repository: z.ZodOptional<z.ZodString>;
221
+ path: z.ZodString;
222
+ ref: z.ZodOptional<z.ZodString>;
223
+ name: z.ZodOptional<z.ZodString>;
224
+ }, z.core.$strict>]>>>;
225
+ skills: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
226
+ kind: z.ZodLiteral<"inline">;
227
+ name: z.ZodString;
228
+ content: z.ZodString;
229
+ }, z.core.$strict>, z.ZodObject<{
230
+ kind: z.ZodLiteral<"github">;
231
+ repository: z.ZodOptional<z.ZodString>;
232
+ path: z.ZodString;
233
+ ref: z.ZodOptional<z.ZodString>;
234
+ name: z.ZodOptional<z.ZodString>;
235
+ }, z.core.$strict>]>>>;
236
+ agents: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
237
+ kind: z.ZodLiteral<"inline">;
238
+ name: z.ZodString;
239
+ content: z.ZodString;
240
+ }, z.core.$strict>, z.ZodObject<{
241
+ kind: z.ZodLiteral<"github">;
242
+ repository: z.ZodOptional<z.ZodString>;
243
+ path: z.ZodString;
244
+ ref: z.ZodOptional<z.ZodString>;
245
+ name: z.ZodOptional<z.ZodString>;
246
+ }, z.core.$strict>]>>>;
247
+ commands: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
248
+ kind: z.ZodLiteral<"inline">;
249
+ name: z.ZodString;
250
+ content: z.ZodString;
251
+ }, z.core.$strict>, z.ZodObject<{
252
+ kind: z.ZodLiteral<"github">;
253
+ repository: z.ZodOptional<z.ZodString>;
254
+ path: z.ZodString;
255
+ ref: z.ZodOptional<z.ZodString>;
256
+ name: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strict>]>>>;
258
+ instructions: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
259
+ kind: z.ZodLiteral<"inline">;
260
+ name: z.ZodString;
261
+ content: z.ZodString;
262
+ }, z.core.$strict>, z.ZodObject<{
263
+ kind: z.ZodLiteral<"github">;
264
+ repository: z.ZodOptional<z.ZodString>;
265
+ path: z.ZodString;
266
+ ref: z.ZodOptional<z.ZodString>;
267
+ name: z.ZodOptional<z.ZodString>;
268
+ }, z.core.$strict>]>]>>;
269
+ failOnError: z.ZodOptional<z.ZodBoolean>;
270
+ }, z.core.$strict>>;
271
+ hooks: z.ZodOptional<z.ZodType<Record<string, {
272
+ command: string;
273
+ timeoutMs?: number | undefined;
274
+ blocking?: boolean | undefined;
275
+ matcher?: string | undefined;
276
+ env?: Record<string, {
277
+ kind: "secret-ref";
278
+ key: string;
279
+ format?: "raw" | "bearer" | undefined;
280
+ } | {
281
+ kind: "public";
282
+ value: string;
283
+ }> | undefined;
284
+ }[]>, unknown, z.core.$ZodTypeInternals<Record<string, {
285
+ command: string;
286
+ timeoutMs?: number | undefined;
287
+ blocking?: boolean | undefined;
288
+ matcher?: string | undefined;
289
+ env?: Record<string, {
290
+ kind: "secret-ref";
291
+ key: string;
292
+ format?: "raw" | "bearer" | undefined;
293
+ } | {
294
+ kind: "public";
295
+ value: string;
296
+ }> | undefined;
297
+ }[]>, unknown>>>;
298
+ modes: z.ZodOptional<z.ZodType<Record<string, {
299
+ description?: string | undefined;
300
+ model?: string | undefined;
301
+ prompt?: string | undefined;
302
+ tools?: Record<string, boolean> | undefined;
303
+ permissions?: Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">> | undefined;
304
+ metadata?: Record<string, unknown> | undefined;
305
+ }>, unknown, z.core.$ZodTypeInternals<Record<string, {
306
+ description?: string | undefined;
307
+ model?: string | undefined;
308
+ prompt?: string | undefined;
309
+ tools?: Record<string, boolean> | undefined;
310
+ permissions?: Record<string, "allow" | "ask" | "deny" | Record<string, "allow" | "ask" | "deny">> | undefined;
311
+ metadata?: Record<string, unknown> | undefined;
312
+ }>, unknown>>>;
313
+ confidential: z.ZodOptional<z.ZodObject<{
314
+ tee: z.ZodOptional<z.ZodString>;
315
+ attestationNonce: z.ZodOptional<z.ZodString>;
316
+ sealed: z.ZodOptional<z.ZodBoolean>;
317
+ attestationRefresh: z.ZodOptional<z.ZodBoolean>;
318
+ }, z.core.$strict>>;
319
+ metadata: z.ZodOptional<z.ZodType<_$_tangle_network_agent_interface0.AgentProfileMetadata, unknown, z.core.$ZodTypeInternals<_$_tangle_network_agent_interface0.AgentProfileMetadata, unknown>>>;
320
+ extensions: z.ZodOptional<z.ZodType<Record<string, Record<string, unknown> | undefined>, unknown, z.core.$ZodTypeInternals<Record<string, Record<string, unknown> | undefined>, unknown>>>;
321
+ }, z.core.$strict>;
322
+ } extends infer T ? { -readonly [P in keyof T]: T[P] } : never, z.core.$strict>, z.ZodObject<Shape & {
323
+ profileSha256: z.ZodString;
324
+ } extends infer T_1 ? { -readonly [P_1 in keyof T_1]: T_1[P_1] } : never, z.core.$strict>, z.ZodObject<{ -readonly [P_2 in keyof Shape]: Shape[P_2] }, z.core.$strict>]>;
325
+ declare const agentRunWorkspaceSchema: z.ZodObject<{
326
+ rootPath: z.ZodOptional<z.ZodString>;
327
+ debugDirectory: z.ZodOptional<z.ZodString>;
328
+ skipInitialization: z.ZodOptional<z.ZodBoolean>;
329
+ cleanupOnShutdown: z.ZodOptional<z.ZodBoolean>;
330
+ }, z.core.$strip>;
331
+ /** The shared request fields, in wire order around each end's workspace and backend. */
332
+ declare function agentRunRequestSharedShape<Workspace extends z.ZodType, Backend extends z.ZodType>(workspace: Workspace, backend: Backend): {
333
+ sessionId: z.ZodOptional<z.ZodString>;
334
+ displayName: z.ZodOptional<z.ZodString>;
335
+ description: z.ZodOptional<z.ZodString>;
336
+ domains: z.ZodOptional<z.ZodArray<z.ZodString>>;
337
+ workspace: Workspace;
338
+ backend: Backend;
339
+ expectedPublicProfileRequestDigest: z.ZodOptional<z.ZodString>;
340
+ expectedSecretProfileReceipt: z.ZodOptional<z.ZodString>;
341
+ githubToken: z.ZodOptional<z.ZodString>;
342
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
343
+ };
344
+ //#endregion
345
+ //#region src/harness-contracts/contract.d.ts
346
+ type HarnessBackendId = BackendType;
347
+ type KeySource = "managed" | "api-key" | "api-key-env" | "cli-auth";
348
+ /** A defect is evidence of missing proof, never a passing scenario. */
349
+ interface HarnessDefect {
350
+ issue: string;
351
+ reason: string;
352
+ }
353
+ type SessionContract = {
354
+ kind: "native";
355
+ contract: HarnessSessionContract; /** Observe the installed CLI; pending defects still prevent recovery claims. */
356
+ processProbe: {
357
+ versionCommand: string; /** pgrep selector and expression, scoped to the fixture-owned sandbox. */
358
+ kill: readonly [string, string];
359
+ };
360
+ defect: HarnessDefect | null;
361
+ } | {
362
+ kind: "unsupported";
363
+ defect: HarnessDefect;
364
+ } | {
365
+ kind: "no-agent";
366
+ reason: string;
367
+ };
368
+ /** Serializable requirements; production policy and validators retain their owners. */
369
+ type HarnessConfigAssertion = "managed-full-ladder" | "operator-model-first" | "named-model-exact" | "moonshot-provider-lock" | "responses-config-model-id";
370
+ type HarnessConfigContract = {
371
+ kind: "model";
372
+ providerRequiresModel: true;
373
+ assertions?: readonly HarnessConfigAssertion[];
374
+ keySources: readonly [KeySource, ...KeySource[]];
375
+ baseUrl: "caller-or-managed" | "vendor-only";
376
+ envVars: CliAgentEnvVars;
377
+ modelWire: CliAgentModelWire;
378
+ } | {
379
+ kind: "no-agent";
380
+ envVars: CliAgentEnvVars;
381
+ reason: string;
382
+ };
383
+ type LifecycleCapability = {
384
+ kind: "required";
385
+ } | {
386
+ kind: "unsupported";
387
+ reason: string;
388
+ };
389
+ interface HarnessLifecycleContract {
390
+ /** Runtime consumers and probes read the same capability declaration. */
391
+ runtime: CliAgentRuntimeSpec | undefined;
392
+ coldCreate: LifecycleCapability;
393
+ warmClaim: LifecycleCapability;
394
+ parkResume: LifecycleCapability;
395
+ branchChild: LifecycleCapability;
396
+ killResume: LifecycleCapability;
397
+ }
398
+ interface HarnessContract {
399
+ session: SessionContract;
400
+ config: HarnessConfigContract;
401
+ lifecycle: HarnessLifecycleContract;
402
+ }
403
+ //#endregion
404
+ //#region src/harness-contracts/index.d.ts
405
+ declare const HARNESSES: {
406
+ "claude-code": {
407
+ session: {
408
+ kind: "native";
409
+ processProbe: {
410
+ versionCommand: string;
411
+ kill: [string, string];
412
+ };
413
+ contract: {
414
+ version: 1;
415
+ stores: [NativeSessionStore];
416
+ identity: {
417
+ kind: "pre-minted";
418
+ args: string[];
419
+ };
420
+ resume: {
421
+ kind: "args";
422
+ args: string[];
423
+ };
424
+ forbiddenArgs: string[];
425
+ storeEnv: {
426
+ CLAUDE_CONFIG_DIR: string;
427
+ };
428
+ evidence: {
429
+ servedModel: "provider-response";
430
+ usage: "per-response";
431
+ endingError: "session-record";
432
+ };
433
+ cliVersion: "2.1.311";
434
+ };
435
+ defect: null;
436
+ };
437
+ config: {
438
+ kind: "model";
439
+ providerRequiresModel: true;
440
+ assertions: ("managed-full-ladder" | "operator-model-first" | "named-model-exact")[];
441
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
442
+ baseUrl: "caller-or-managed";
443
+ modelWire: "anthropic-messages";
444
+ envVars: {
445
+ apiKey: string;
446
+ model: string;
447
+ authMode: string;
448
+ authFiles: string;
449
+ oauthToken: string;
450
+ baseUrl: string;
451
+ };
452
+ };
453
+ lifecycle: {
454
+ runtime: {};
455
+ coldCreate: {
456
+ kind: "required";
457
+ };
458
+ warmClaim: {
459
+ kind: "required";
460
+ };
461
+ parkResume: {
462
+ kind: "required";
463
+ };
464
+ branchChild: {
465
+ kind: "required";
466
+ };
467
+ killResume: {
468
+ kind: "required";
469
+ };
470
+ };
471
+ };
472
+ codex: {
473
+ session: {
474
+ kind: "native";
475
+ processProbe: {
476
+ versionCommand: string;
477
+ kill: [string, string];
478
+ };
479
+ contract: {
480
+ version: 1;
481
+ stores: [NativeSessionStore, NativeSessionStore];
482
+ identity: {
483
+ kind: "first-event";
484
+ event: string;
485
+ deadlineMs: number;
486
+ };
487
+ resume: {
488
+ kind: "args";
489
+ args: string[];
490
+ };
491
+ forbiddenArgs: string[];
492
+ storeEnv: {
493
+ CODEX_HOME: string;
494
+ };
495
+ evidence: {
496
+ servedModel: "turn-context";
497
+ usage: "cumulative";
498
+ endingError: "session-record";
499
+ };
500
+ cliVersion: "0.164.0";
501
+ };
502
+ defect: null;
503
+ };
504
+ config: {
505
+ kind: "model";
506
+ providerRequiresModel: true;
507
+ assertions: ("managed-full-ladder" | "operator-model-first" | "named-model-exact" | "responses-config-model-id")[];
508
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
509
+ baseUrl: "caller-or-managed";
510
+ modelWire: "openai-responses";
511
+ envVars: {
512
+ apiKey: string;
513
+ model: string;
514
+ authMode: string;
515
+ authFiles: string;
516
+ baseUrl: string;
517
+ };
518
+ };
519
+ lifecycle: {
520
+ runtime: undefined;
521
+ coldCreate: {
522
+ kind: "required";
523
+ };
524
+ warmClaim: {
525
+ kind: "required";
526
+ };
527
+ parkResume: {
528
+ kind: "required";
529
+ };
530
+ branchChild: {
531
+ kind: "required";
532
+ };
533
+ killResume: {
534
+ kind: "required";
535
+ };
536
+ };
537
+ };
538
+ opencode: {
539
+ session: {
540
+ kind: "native";
541
+ processProbe: {
542
+ versionCommand: string;
543
+ kill: [string, string];
544
+ };
545
+ contract: {
546
+ version: 1;
547
+ stores: [{
548
+ root: string;
549
+ files: string[];
550
+ write: "sqlite-wal";
551
+ shared: true;
552
+ format: "opencode.sqlite";
553
+ }];
554
+ identity: {
555
+ kind: "first-event";
556
+ event: string;
557
+ deadlineMs: number;
558
+ };
559
+ resume: {
560
+ kind: "args";
561
+ args: string[];
562
+ };
563
+ forbiddenArgs: never[];
564
+ storeEnv: {
565
+ XDG_DATA_HOME: string;
566
+ };
567
+ evidence: {
568
+ servedModel: "turn-context";
569
+ usage: "per-response";
570
+ endingError: "session-record";
571
+ };
572
+ cliVersion: "1.19.4";
573
+ };
574
+ defect: null;
575
+ };
576
+ config: {
577
+ kind: "model";
578
+ providerRequiresModel: true;
579
+ keySources: ["managed", "api-key", "api-key-env"];
580
+ baseUrl: "caller-or-managed";
581
+ modelWire: "openai-compat";
582
+ envVars: {
583
+ apiKey: string;
584
+ model: string;
585
+ baseUrl: string;
586
+ extras: {
587
+ OPENCODE_MODEL_PROVIDER: {
588
+ parser: "string";
589
+ role: "provider";
590
+ };
591
+ OPENCODE_MODEL_MODE: {
592
+ parser: "string";
593
+ role: "mode";
594
+ };
595
+ };
596
+ };
597
+ };
598
+ lifecycle: {
599
+ runtime: {
600
+ redactsHostEnv: true;
601
+ supportsToolDisabledTurns: true;
602
+ };
603
+ coldCreate: {
604
+ kind: "required";
605
+ };
606
+ warmClaim: {
607
+ kind: "required";
608
+ };
609
+ parkResume: {
610
+ kind: "required";
611
+ };
612
+ branchChild: {
613
+ kind: "required";
614
+ };
615
+ killResume: {
616
+ kind: "required";
617
+ };
618
+ };
619
+ };
620
+ pi: {
621
+ session: {
622
+ kind: "native";
623
+ processProbe: {
624
+ versionCommand: string;
625
+ kill: [string, string];
626
+ };
627
+ contract: {
628
+ version: 1;
629
+ stores: [{
630
+ root: string;
631
+ files: string[];
632
+ write: "jsonl-append";
633
+ shared: false;
634
+ format: "pi.session-jsonl";
635
+ }];
636
+ identity: {
637
+ kind: "pre-minted";
638
+ args: string[];
639
+ };
640
+ resume: {
641
+ kind: "args";
642
+ args: string[];
643
+ };
644
+ forbiddenArgs: string[];
645
+ storeEnv: {
646
+ PI_CODING_AGENT_DIR: string;
647
+ PI_CODING_AGENT_SESSION_DIR: string;
648
+ "--session-dir": string;
649
+ };
650
+ evidence: {
651
+ servedModel: "session-record";
652
+ usage: "per-response";
653
+ endingError: "session-record";
654
+ };
655
+ cliVersion: "1.4.0";
656
+ };
657
+ defect: null;
658
+ };
659
+ config: {
660
+ kind: "model";
661
+ providerRequiresModel: true;
662
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
663
+ baseUrl: "caller-or-managed";
664
+ modelWire: "openai-compat";
665
+ envVars: {
666
+ apiKey: string;
667
+ model: string;
668
+ baseUrl: string;
669
+ };
670
+ };
671
+ lifecycle: {
672
+ runtime: {};
673
+ coldCreate: {
674
+ kind: "required";
675
+ };
676
+ warmClaim: {
677
+ kind: "required";
678
+ };
679
+ parkResume: {
680
+ kind: "required";
681
+ };
682
+ branchChild: {
683
+ kind: "required";
684
+ };
685
+ killResume: {
686
+ kind: "required";
687
+ };
688
+ };
689
+ };
690
+ "kimi-code": {
691
+ session: {
692
+ kind: "native";
693
+ processProbe: {
694
+ versionCommand: string;
695
+ kill: [string, string];
696
+ };
697
+ contract: {
698
+ version: 1;
699
+ stores: [NativeSessionStore];
700
+ identity: {
701
+ kind: "pre-minted";
702
+ args: string[];
703
+ };
704
+ resume: {
705
+ kind: "args";
706
+ args: string[];
707
+ };
708
+ forbiddenArgs: never[];
709
+ storeEnv: {};
710
+ evidence: {
711
+ servedModel: "session-record";
712
+ usage: "per-response";
713
+ endingError: "none";
714
+ };
715
+ cliVersion: "1.49.0";
716
+ };
717
+ defect: {
718
+ issue: string;
719
+ reason: string;
720
+ };
721
+ };
722
+ config: {
723
+ kind: "model";
724
+ providerRequiresModel: true;
725
+ assertions: "moonshot-provider-lock"[];
726
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
727
+ baseUrl: "caller-or-managed";
728
+ modelWire: "openai-compat";
729
+ envVars: {
730
+ apiKey: string;
731
+ model: string;
732
+ authMode: string;
733
+ authFiles: string;
734
+ extras: {
735
+ OPENAI_BASE_URL: {
736
+ parser: "string";
737
+ };
738
+ };
739
+ };
740
+ };
741
+ lifecycle: {
742
+ runtime: {
743
+ warmRetention: {
744
+ envVar: string;
745
+ enabledByDefault: false;
746
+ };
747
+ };
748
+ coldCreate: {
749
+ kind: "required";
750
+ };
751
+ warmClaim: {
752
+ kind: "required";
753
+ };
754
+ parkResume: {
755
+ kind: "required";
756
+ };
757
+ branchChild: {
758
+ kind: "required";
759
+ };
760
+ killResume: {
761
+ kind: "required";
762
+ };
763
+ };
764
+ };
765
+ "factory-droids": {
766
+ session: {
767
+ kind: "native";
768
+ processProbe: {
769
+ versionCommand: string;
770
+ kill: [string, string];
771
+ };
772
+ contract: {
773
+ version: 1;
774
+ stores: [{
775
+ root: string;
776
+ files: string[];
777
+ write: "jsonl-append";
778
+ shared: false;
779
+ format: "factory.session-jsonl";
780
+ }, {
781
+ root: string;
782
+ files: string[];
783
+ write: "json-rewrite";
784
+ shared: false;
785
+ format: "factory.session-jsonl";
786
+ }];
787
+ identity: {
788
+ kind: "first-event";
789
+ event: string;
790
+ deadlineMs: number;
791
+ };
792
+ resume: {
793
+ kind: "args";
794
+ args: string[];
795
+ };
796
+ forbiddenArgs: never[];
797
+ storeEnv: {};
798
+ evidence: {
799
+ servedModel: "turn-context";
800
+ usage: "session-total";
801
+ endingError: "none";
802
+ };
803
+ cliVersion: "0.249.0";
804
+ };
805
+ defect: {
806
+ issue: string;
807
+ reason: string;
808
+ };
809
+ };
810
+ config: {
811
+ kind: "model";
812
+ providerRequiresModel: true;
813
+ keySources: ["managed", "api-key", "api-key-env"];
814
+ baseUrl: "caller-or-managed";
815
+ modelWire: "openai-compat";
816
+ envVars: {
817
+ apiKey: string;
818
+ model: string;
819
+ };
820
+ };
821
+ lifecycle: {
822
+ runtime: undefined;
823
+ coldCreate: {
824
+ kind: "required";
825
+ };
826
+ warmClaim: {
827
+ kind: "required";
828
+ };
829
+ parkResume: {
830
+ kind: "required";
831
+ };
832
+ branchChild: {
833
+ kind: "required";
834
+ };
835
+ killResume: {
836
+ kind: "required";
837
+ };
838
+ };
839
+ };
840
+ amp: {
841
+ session: {
842
+ kind: "native";
843
+ processProbe: {
844
+ versionCommand: string;
845
+ kill: [string, string];
846
+ };
847
+ contract: {
848
+ version: 1;
849
+ stores: [{
850
+ root: string;
851
+ files: string[];
852
+ write: "json-rewrite";
853
+ shared: false;
854
+ format: "amp.thread-json";
855
+ }];
856
+ identity: {
857
+ kind: "first-event";
858
+ event: string;
859
+ deadlineMs: number;
860
+ };
861
+ resume: {
862
+ kind: "args";
863
+ args: string[];
864
+ };
865
+ forbiddenArgs: never[];
866
+ storeEnv: {
867
+ XDG_DATA_HOME: string;
868
+ };
869
+ evidence: {
870
+ servedModel: "session-record";
871
+ usage: "per-response";
872
+ endingError: "none";
873
+ };
874
+ cliVersion: "0.0.1793044831-ga1b1a0";
875
+ };
876
+ defect: {
877
+ issue: string;
878
+ reason: string;
879
+ };
880
+ };
881
+ config: {
882
+ kind: "model";
883
+ providerRequiresModel: true;
884
+ keySources: ["api-key", "api-key-env", "cli-auth"];
885
+ baseUrl: "vendor-only";
886
+ modelWire: "openai-compat";
887
+ envVars: {
888
+ apiKey: string;
889
+ model: string;
890
+ authMode: string;
891
+ authFiles: string;
892
+ };
893
+ };
894
+ lifecycle: {
895
+ runtime: undefined;
896
+ coldCreate: {
897
+ kind: "required";
898
+ };
899
+ warmClaim: {
900
+ kind: "required";
901
+ };
902
+ parkResume: {
903
+ kind: "required";
904
+ };
905
+ branchChild: {
906
+ kind: "required";
907
+ };
908
+ killResume: {
909
+ kind: "required";
910
+ };
911
+ };
912
+ };
913
+ prime: {
914
+ session: {
915
+ kind: "native";
916
+ processProbe: {
917
+ versionCommand: string;
918
+ kill: [string, string];
919
+ };
920
+ contract: {
921
+ version: 1;
922
+ stores: [{
923
+ root: string;
924
+ files: string[];
925
+ write: "jsonl-append";
926
+ shared: false;
927
+ format: "prime.session-jsonl";
928
+ }];
929
+ identity: {
930
+ kind: "api-created";
931
+ call: "acp session/new";
932
+ };
933
+ resume: {
934
+ kind: "api";
935
+ };
936
+ forbiddenArgs: string[];
937
+ storeEnv: {};
938
+ evidence: {
939
+ servedModel: "session-record";
940
+ usage: "per-response";
941
+ endingError: "session-record";
942
+ };
943
+ cliVersion: "0.10.1";
944
+ };
945
+ defect: {
946
+ issue: string;
947
+ reason: string;
948
+ };
949
+ };
950
+ config: {
951
+ kind: "model";
952
+ providerRequiresModel: true;
953
+ keySources: ["managed", "api-key", "api-key-env"];
954
+ baseUrl: "caller-or-managed";
955
+ modelWire: "openai-compat";
956
+ envVars: {
957
+ apiKey: string;
958
+ model: string;
959
+ baseUrl: string;
960
+ };
961
+ };
962
+ lifecycle: {
963
+ runtime: undefined;
964
+ coldCreate: {
965
+ kind: "required";
966
+ };
967
+ warmClaim: {
968
+ kind: "required";
969
+ };
970
+ parkResume: {
971
+ kind: "required";
972
+ };
973
+ branchChild: {
974
+ kind: "required";
975
+ };
976
+ killResume: {
977
+ kind: "required";
978
+ };
979
+ };
980
+ };
981
+ hermes: {
982
+ session: {
983
+ kind: "native";
984
+ processProbe: {
985
+ versionCommand: string;
986
+ kill: [string, string];
987
+ };
988
+ contract: {
989
+ version: 1;
990
+ stores: [NativeSessionStore];
991
+ identity: {
992
+ kind: "first-event";
993
+ event: string;
994
+ deadlineMs: number;
995
+ };
996
+ resume: {
997
+ kind: "args";
998
+ args: string[];
999
+ };
1000
+ forbiddenArgs: never[];
1001
+ storeEnv: {
1002
+ HERMES_HOME: string;
1003
+ };
1004
+ evidence: {
1005
+ servedModel: "session-record";
1006
+ usage: "session-total";
1007
+ endingError: "none";
1008
+ };
1009
+ cliVersion: "0.22.4";
1010
+ };
1011
+ defect: {
1012
+ issue: string;
1013
+ reason: string;
1014
+ };
1015
+ };
1016
+ config: {
1017
+ kind: "model";
1018
+ providerRequiresModel: true;
1019
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
1020
+ baseUrl: "caller-or-managed";
1021
+ modelWire: "openai-compat";
1022
+ envVars: {
1023
+ apiKey: string;
1024
+ model: string;
1025
+ authMode: string;
1026
+ authFiles: string;
1027
+ baseUrl: string;
1028
+ extras: {
1029
+ HERMES_INFERENCE_PROVIDER: {
1030
+ parser: "string";
1031
+ };
1032
+ };
1033
+ };
1034
+ };
1035
+ lifecycle: {
1036
+ runtime: undefined;
1037
+ coldCreate: {
1038
+ kind: "required";
1039
+ };
1040
+ warmClaim: {
1041
+ kind: "required";
1042
+ };
1043
+ parkResume: {
1044
+ kind: "required";
1045
+ };
1046
+ branchChild: {
1047
+ kind: "required";
1048
+ };
1049
+ killResume: {
1050
+ kind: "required";
1051
+ };
1052
+ };
1053
+ };
1054
+ forge: {
1055
+ session: {
1056
+ kind: "native";
1057
+ processProbe: {
1058
+ versionCommand: string;
1059
+ kill: [string, string];
1060
+ };
1061
+ contract: {
1062
+ version: 1;
1063
+ stores: [{
1064
+ root: string;
1065
+ files: string[];
1066
+ write: "sqlite-wal";
1067
+ shared: true;
1068
+ format: "forge.sqlite";
1069
+ }];
1070
+ identity: {
1071
+ kind: "first-event";
1072
+ event: string;
1073
+ deadlineMs: number;
1074
+ };
1075
+ resume: {
1076
+ kind: "args";
1077
+ args: string[];
1078
+ };
1079
+ forbiddenArgs: never[];
1080
+ storeEnv: {};
1081
+ evidence: {
1082
+ servedModel: "session-record";
1083
+ usage: "per-response";
1084
+ endingError: "none";
1085
+ };
1086
+ cliVersion: "2.14.0";
1087
+ };
1088
+ defect: {
1089
+ issue: string;
1090
+ reason: string;
1091
+ };
1092
+ };
1093
+ config: {
1094
+ kind: "model";
1095
+ providerRequiresModel: true;
1096
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
1097
+ baseUrl: "caller-or-managed";
1098
+ modelWire: "openai-compat";
1099
+ envVars: {
1100
+ apiKey: string;
1101
+ model: string;
1102
+ authMode: string;
1103
+ authFiles: string;
1104
+ extras: {
1105
+ FORGE_SESSION__PROVIDER_ID: {
1106
+ parser: "string";
1107
+ };
1108
+ FORGE_SESSION__MODEL_ID: {
1109
+ parser: "string";
1110
+ };
1111
+ FORGE_AGENT_ID: {
1112
+ parser: "string";
1113
+ };
1114
+ };
1115
+ };
1116
+ };
1117
+ lifecycle: {
1118
+ runtime: undefined;
1119
+ coldCreate: {
1120
+ kind: "required";
1121
+ };
1122
+ warmClaim: {
1123
+ kind: "required";
1124
+ };
1125
+ parkResume: {
1126
+ kind: "required";
1127
+ };
1128
+ branchChild: {
1129
+ kind: "required";
1130
+ };
1131
+ killResume: {
1132
+ kind: "required";
1133
+ };
1134
+ };
1135
+ };
1136
+ openclaw: {
1137
+ session: {
1138
+ kind: "native";
1139
+ processProbe: {
1140
+ versionCommand: string;
1141
+ kill: [string, string];
1142
+ };
1143
+ contract: {
1144
+ version: 1;
1145
+ stores: [{
1146
+ root: string;
1147
+ files: string[];
1148
+ write: "jsonl-append";
1149
+ shared: false;
1150
+ format: "openclaw.session-jsonl";
1151
+ }];
1152
+ identity: {
1153
+ kind: "first-event";
1154
+ event: string;
1155
+ deadlineMs: number;
1156
+ };
1157
+ resume: {
1158
+ kind: "args";
1159
+ args: string[];
1160
+ };
1161
+ forbiddenArgs: never[];
1162
+ storeEnv: {};
1163
+ evidence: {
1164
+ servedModel: "session-record";
1165
+ usage: "per-response";
1166
+ endingError: "none";
1167
+ };
1168
+ cliVersion: "2026.10.7";
1169
+ };
1170
+ defect: {
1171
+ issue: string;
1172
+ reason: string;
1173
+ };
1174
+ };
1175
+ config: {
1176
+ kind: "model";
1177
+ providerRequiresModel: true;
1178
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
1179
+ baseUrl: "caller-or-managed";
1180
+ modelWire: "openai-compat";
1181
+ envVars: {
1182
+ apiKey: string;
1183
+ model: string;
1184
+ baseUrl: string;
1185
+ authMode: string;
1186
+ authFiles: string;
1187
+ };
1188
+ };
1189
+ lifecycle: {
1190
+ runtime: undefined;
1191
+ coldCreate: {
1192
+ kind: "required";
1193
+ };
1194
+ warmClaim: {
1195
+ kind: "required";
1196
+ };
1197
+ parkResume: {
1198
+ kind: "required";
1199
+ };
1200
+ branchChild: {
1201
+ kind: "required";
1202
+ };
1203
+ killResume: {
1204
+ kind: "required";
1205
+ };
1206
+ };
1207
+ };
1208
+ nanoclaw: {
1209
+ session: {
1210
+ kind: "unsupported";
1211
+ defect: {
1212
+ issue: string;
1213
+ reason: string;
1214
+ };
1215
+ };
1216
+ config: {
1217
+ kind: "model";
1218
+ providerRequiresModel: true;
1219
+ keySources: ["managed", "api-key", "api-key-env"];
1220
+ baseUrl: "caller-or-managed";
1221
+ modelWire: "openai-compat";
1222
+ envVars: {
1223
+ apiKey: string;
1224
+ model: string;
1225
+ authMode: string;
1226
+ baseUrl: string;
1227
+ extras: {
1228
+ NANOCLAW_PROJECT_ROOT: {
1229
+ parser: "string";
1230
+ };
1231
+ NANOCLAW_NATIVE_CREDENTIALS: {
1232
+ parser: "string";
1233
+ };
1234
+ OPENCODE_MODEL_PROVIDER: {
1235
+ parser: "string";
1236
+ role: "provider";
1237
+ };
1238
+ };
1239
+ };
1240
+ };
1241
+ lifecycle: {
1242
+ runtime: undefined;
1243
+ coldCreate: {
1244
+ kind: "required";
1245
+ };
1246
+ warmClaim: {
1247
+ kind: "required";
1248
+ };
1249
+ parkResume: {
1250
+ kind: "required";
1251
+ };
1252
+ branchChild: {
1253
+ kind: "required";
1254
+ };
1255
+ killResume: {
1256
+ kind: "unsupported";
1257
+ reason: string;
1258
+ };
1259
+ };
1260
+ };
1261
+ acp: {
1262
+ session: {
1263
+ kind: "native";
1264
+ processProbe: {
1265
+ versionCommand: string;
1266
+ kill: [string, string];
1267
+ };
1268
+ contract: {
1269
+ version: 1;
1270
+ stores: [NativeSessionStore, NativeSessionStore, NativeSessionStore, NativeSessionStore, NativeSessionStore];
1271
+ identity: {
1272
+ kind: "api-created";
1273
+ call: "acp session/new";
1274
+ };
1275
+ resume: {
1276
+ kind: "api";
1277
+ };
1278
+ forbiddenArgs: never[];
1279
+ storeEnv: {};
1280
+ evidence: {
1281
+ servedModel: "session-record";
1282
+ usage: "per-response";
1283
+ endingError: "none";
1284
+ };
1285
+ cliVersion: "claude-agent-acp 0.97.0; codex-acp 0.16.0; gemini-cli 0.65.0";
1286
+ };
1287
+ defect: {
1288
+ issue: string;
1289
+ reason: string;
1290
+ };
1291
+ };
1292
+ config: {
1293
+ kind: "model";
1294
+ providerRequiresModel: true;
1295
+ keySources: ["managed", "api-key", "api-key-env", "cli-auth"];
1296
+ baseUrl: "caller-or-managed";
1297
+ modelWire: "openai-compat";
1298
+ envVars: {
1299
+ apiKey: string;
1300
+ model: string;
1301
+ baseUrl: string;
1302
+ authFiles: string;
1303
+ };
1304
+ };
1305
+ lifecycle: {
1306
+ runtime: undefined;
1307
+ coldCreate: {
1308
+ kind: "required";
1309
+ };
1310
+ warmClaim: {
1311
+ kind: "required";
1312
+ };
1313
+ parkResume: {
1314
+ kind: "required";
1315
+ };
1316
+ branchChild: {
1317
+ kind: "required";
1318
+ };
1319
+ killResume: {
1320
+ kind: "required";
1321
+ };
1322
+ };
1323
+ };
1324
+ cursor: {
1325
+ session: {
1326
+ kind: "unsupported";
1327
+ defect: {
1328
+ issue: string;
1329
+ reason: string;
1330
+ };
1331
+ };
1332
+ config: {
1333
+ kind: "model";
1334
+ providerRequiresModel: true;
1335
+ keySources: ["api-key", "api-key-env"];
1336
+ baseUrl: "vendor-only";
1337
+ modelWire: "openai-compat";
1338
+ envVars: {
1339
+ apiKey: string;
1340
+ model: string;
1341
+ };
1342
+ };
1343
+ lifecycle: {
1344
+ runtime: undefined;
1345
+ coldCreate: {
1346
+ kind: "required";
1347
+ };
1348
+ warmClaim: {
1349
+ kind: "required";
1350
+ };
1351
+ parkResume: {
1352
+ kind: "required";
1353
+ };
1354
+ branchChild: {
1355
+ kind: "required";
1356
+ };
1357
+ killResume: {
1358
+ kind: "unsupported";
1359
+ reason: string;
1360
+ };
1361
+ };
1362
+ };
1363
+ "cli-base": {
1364
+ session: {
1365
+ kind: "no-agent";
1366
+ reason: string;
1367
+ };
1368
+ config: {
1369
+ kind: "no-agent";
1370
+ envVars: {};
1371
+ reason: string;
1372
+ };
1373
+ lifecycle: {
1374
+ runtime: undefined;
1375
+ coldCreate: {
1376
+ kind: "unsupported";
1377
+ reason: string;
1378
+ };
1379
+ warmClaim: {
1380
+ kind: "unsupported";
1381
+ reason: string;
1382
+ };
1383
+ parkResume: {
1384
+ kind: "unsupported";
1385
+ reason: string;
1386
+ };
1387
+ branchChild: {
1388
+ kind: "unsupported";
1389
+ reason: string;
1390
+ };
1391
+ killResume: {
1392
+ kind: "unsupported";
1393
+ reason: string;
1394
+ };
1395
+ };
1396
+ };
1397
+ };
1398
+ //#endregion
1399
+ export { AGENT_BACKEND_ENV_VAR, ALL_BACKEND_TYPES, type AdapterFactory, type AdapterRegistry, type AgentRunBackend, BACKEND_TYPE, type BackendType, CLI_AGENT_SPECS, type CliAgentBuiltinTool, type CliAgentEnvExtra, type CliAgentEnvExtraParser, type CliAgentEnvExtraRole, type CliAgentEnvVars, type CliAgentModelWire, type CliAgentRuntimeSpec, type CliAgentSpec, type CliAuthHome, type CliDirLayout, type CliDirLayoutAdditions, DEFAULT_CLI_DIR_LAYOUT, HARNESSES, HARNESS_CONFORMANCE_PENDING, HARNESS_SESSION_UNSUPPORTED, type HarnessBackendId, type HarnessContract, HarnessSessionContract, HarnessSessionContractError, HarnessSessionContractErrorCode, HarnessSessionEvidence, type HarnessSpecCapabilities, type LocalCliAuthFile, MANAGED_MODEL_KEY_ENV_VAR, MANAGED_MODEL_KEY_NAME_ENV_VAR, MANAGED_MODEL_LADDER, type ManagedModelChain, type ManagedModelChainOptions, type ManagedModelRung, NATIVE_SESSION_CONTRACTS, NativeSessionIdentity, NativeSessionStore, type ProviderLogger, type ProviderPhase, SESSION_FORMAT_IDS, SYNTHETIC_ROUTER_MODEL, SessionFormatId, type SkippedManagedModel, agentProfileSchema, agentRunBackendVariants, agentRunRequestSharedShape, agentRunWorkspaceSchema, assertAdaptersWired, assertArgvHonoursSessionContract, assertFlagsHonourSessionContract, assertStoreLocationHonoursSessionContract, backendTypeSchema, bareModelId, canonicalModelSlug, claimDeliverableEnvVarNames, cliAgentClaimEnvVarNames, cliAgentEnvRoleName, cliAgentEnvVarNamesByRole, cliAgentHostPassthroughEnvVarNames, compileSessionStoreGlob, configDirHomeEnv, createAdapterRegistry, describeLocalCliAuthExpectation, discoverLocalCliAuthFiles, forbiddenArgViolations, getAdapterFactory, getSpec, harnessModelSupportFor, harnessModelWire, isBackendType, isServableManagedModel, listRegisteredAdapters, managedModelChain, materializeCliAuthBundle, mergeCliDirLayout, messageStorageDirOf, normalizePosixPath, parseBackendType, registerAdapterFactory, resolveDefaultBackend, sessionContractProblems, sessionStoreForPath, substituteNativeSessionId, unregisterAdapterFactory };
1400
+ //# sourceMappingURL=index.d.mts.map