@cleocode/contracts 2026.5.64 → 2026.5.66

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.
package/dist/index.d.ts CHANGED
@@ -45,6 +45,9 @@ export type { AdapterHookProvider } from './hooks.js';
45
45
  export type { AdapterInstallProvider, InstallOptions, InstallResult } from './install.js';
46
46
  export type { CleoResponse, ConformanceReport, FlagInput, GatewayEnvelope, GatewayError, GatewayMeta, GatewaySuccess, LAFSEnvelope, LAFSError, LAFSErrorCategory, LAFSMeta, LAFSPage, LAFSPageCursor, LAFSPageNone, LAFSPageOffset, LAFSTransport, LafsAlternative, LafsEnvelope, LafsError, LafsErrorDetail, LafsSuccess, MVILevel, Warning, } from './lafs.js';
47
47
  export { isGatewayEnvelope, isLafsError, isLafsSuccess, } from './lafs.js';
48
+ export type { ClassifiedError, FailoverReason } from './llm/failover-reason.js';
49
+ export type { NormalizedResponse, NormalizedToolCall, NormalizedUsage, TransportMessage, TransportRequest, TransportTool, } from './llm/normalized-response.js';
50
+ export type { ProviderPlugin, ProviderPluginApi, ProviderProfile, } from './llm/provider-profile.js';
48
51
  export type { BridgeDecision, BridgeLearning, BridgeObservation, BridgePattern, DispatchTrace, MemoryBridgeConfig, MemoryBridgeContent, SessionSummary, } from './memory.js';
49
52
  export type { Contract, ContractCompatibilityMatrix, ContractExtractionResult, ContractMatch, ContractMatchLevel, ContractTaskLink, GrpcContract, HttpContract, TopicContract, } from './nexus-contract-ops.js';
50
53
  export type { BlastRadiusSummary, BrainMemoryRef, BrainRiskNote, CodeAnchorResult, CodeReasonTrace, ConduitThreadRef, DecisionRef, ImpactFullReport, LbTaskRef, NexusContext, NexusEdgeRef, NexusNodeAnchor, PlasticityMeasure, ProposalRef, ReasonTraceStep, RiskTier, SymbolFullContext, SymbolImpactEntry, TaskCodeImpact, TasksForNodeEntry, } from './nexus-living-brain-ops.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Structured taxonomy of LLM failure modes — mirrors Hermes' FailoverReason enum.
3
+ *
4
+ * Consumers (CredentialPool, auxiliary-router, CLI error envelopes) use this
5
+ * to drive deterministic recovery actions instead of ad-hoc status-code
6
+ * inspection.
7
+ *
8
+ * Adding new values is BC-safe. Removing or renaming values is BREAKING.
9
+ *
10
+ * @task T9270 (Phase 3 T-LLM-CRED)
11
+ */
12
+ export type FailoverReason =
13
+ /** 401/403 — transient; refresh or rotate credential */
14
+ 'auth'
15
+ /** Auth failed AFTER refresh — abort, do not retry */
16
+ | 'auth_permanent'
17
+ /** 402 or credit exhaustion — rotate immediately to next credential */
18
+ | 'billing'
19
+ /** 429 — backoff then rotate */
20
+ | 'rate_limit'
21
+ /** 503/529 — provider overloaded; retry with backoff */
22
+ | 'overloaded'
23
+ /** 500/502 — internal error; retry */
24
+ | 'server_error'
25
+ /** Connection or read timeout — rebuild client + retry */
26
+ | 'timeout'
27
+ /** Context too large — invoke compression engine */
28
+ | 'context_overflow'
29
+ /** 413 — compress payload */
30
+ | 'payload_too_large'
31
+ /** Per-image limit hit — shrink and retry */
32
+ | 'image_too_large'
33
+ /** 404 — fall back to a different model */
34
+ | 'model_not_found'
35
+ /** Aggregator policy block (OpenRouter, etc.) */
36
+ | 'provider_policy_blocked'
37
+ /** 400 — abort or strip + retry */
38
+ | 'format_error'
39
+ /** Anthropic thinking-block signature invalid */
40
+ | 'thinking_signature'
41
+ /** Anthropic extra-usage tier gate */
42
+ | 'long_context_tier'
43
+ /** OAuth long-context beta forbidden */
44
+ | 'oauth_long_context_beta_forbidden'
45
+ /** llama.cpp grammar pattern regex rejection */
46
+ | 'llama_cpp_grammar_pattern' | 'unknown';
47
+ /**
48
+ * Structured classification of an LLM API error with deterministic recovery hints.
49
+ *
50
+ * Produced by `classifyError` in `@cleocode/core`. Consumers check the flags
51
+ * (`retryable`, `shouldCompress`, `shouldRotateCredential`, `shouldFallback`)
52
+ * instead of re-inspecting the raw error.
53
+ *
54
+ * @task T9270 (Phase 3 T-LLM-CRED)
55
+ */
56
+ export interface ClassifiedError {
57
+ /** Structured failure reason driving recovery strategy. */
58
+ reason: FailoverReason;
59
+ /** HTTP status code extracted from the error, if available. */
60
+ statusCode: number | null;
61
+ /** Provider identifier from the call context, if supplied. */
62
+ provider: string | null;
63
+ /** Model identifier from the call context, if supplied. */
64
+ model: string | null;
65
+ /** Human-readable error message. */
66
+ message: string;
67
+ /** Whether the operation can be retried (possibly after backoff). */
68
+ retryable: boolean;
69
+ /** Whether the caller should attempt context compression before retrying. */
70
+ shouldCompress: boolean;
71
+ /** Whether the caller should rotate to a different credential. */
72
+ shouldRotateCredential: boolean;
73
+ /** Whether the caller should fall back to a different model/provider. */
74
+ shouldFallback: boolean;
75
+ }
76
+ //# sourceMappingURL=failover-reason.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failover-reason.d.ts","sourceRoot":"","sources":["../../src/llm/failover-reason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc;AAExB,wDAAwD;AACtD,MAAM;AACR,sDAAsD;GACpD,gBAAgB;AAElB,uEAAuE;GACrE,SAAS;AACX,gCAAgC;GAC9B,YAAY;AAEd,wDAAwD;GACtD,YAAY;AACd,sCAAsC;GACpC,cAAc;AAEhB,0DAA0D;GACxD,SAAS;AAEX,oDAAoD;GAClD,kBAAkB;AACpB,6BAA6B;GAC3B,mBAAmB;AACrB,6CAA6C;GAC3C,iBAAiB;AAEnB,2CAA2C;GACzC,iBAAiB;AACnB,iDAAiD;GAC/C,yBAAyB;AAE3B,mCAAmC;GACjC,cAAc;AAEhB,iDAAiD;GAC/C,oBAAoB;AACtB,sCAAsC;GACpC,mBAAmB;AACrB,wCAAwC;GACtC,mCAAmC;AACrC,gDAAgD;GAC9C,2BAA2B,GAE3B,SAAS,CAAC;AAEd;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,MAAM,EAAE,cAAc,CAAC;IACvB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,sBAAsB,EAAE,OAAO,CAAC;IAChC,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=failover-reason.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failover-reason.js","sourceRoot":"","sources":["../../src/llm/failover-reason.ts"],"names":[],"mappings":""}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Normalized provider response types for the CLEO LLM transport layer.
3
+ *
4
+ * Ported from Hermes `agent/transports/types.py` (Python dataclasses →
5
+ * TypeScript interfaces, snake_case → camelCase). These types define the
6
+ * canonical shape that all provider transports normalize responses to. The
7
+ * shared surface is intentionally minimal — only fields that every downstream
8
+ * consumer reads are top-level. Protocol-specific state goes in `providerData`
9
+ * dicts so that protocol-aware code paths can access it without polluting the
10
+ * shared type.
11
+ *
12
+ * @module llm/normalized-response
13
+ * @task T9263
14
+ * @epic T-LLM-CRED-CENTRALIZATION
15
+ */
16
+ import type { ModelTransport } from '../operations/llm.js';
17
+ /**
18
+ * Token usage reported by the provider for a single API call.
19
+ *
20
+ * `cachedTokens` is only populated when the provider supports prompt-cache
21
+ * read accounting (Anthropic extended caching, Gemini cached content).
22
+ */
23
+ export interface NormalizedUsage {
24
+ /** Tokens consumed by the prompt. */
25
+ inputTokens: number;
26
+ /** Tokens generated by the model. */
27
+ outputTokens: number;
28
+ /** Tokens served from prompt cache (if provider supports caching). */
29
+ cachedTokens?: number;
30
+ }
31
+ /**
32
+ * A single normalized tool call emitted by the model.
33
+ *
34
+ * `id` is the protocol-canonical identifier used when constructing tool result
35
+ * messages. May be `null` when the provider omits it (rare in practice but
36
+ * possible with some adapters).
37
+ *
38
+ * `providerData` carries per-tool-call protocol metadata that only
39
+ * protocol-aware code reads. Examples:
40
+ * - Codex: `{ call_id: "call_XXX", response_item_id: "fc_XXX" }`
41
+ * - Gemini: `{ extra_content: { thought_signature: "..." } }`
42
+ */
43
+ export interface NormalizedToolCall {
44
+ /** Provider-assigned tool-call id (may be null if provider does not surface one). */
45
+ id: string | null;
46
+ /** Tool name as declared in the request. */
47
+ name: string;
48
+ /** Arguments as a JSON string (provider-agnostic). */
49
+ arguments: string;
50
+ /** Provider-specific extras (raw shape, do not depend on). */
51
+ providerData?: Record<string, unknown>;
52
+ }
53
+ /**
54
+ * Normalized API response from any LLM provider.
55
+ *
56
+ * Shared fields are truly cross-provider — every caller can rely on them
57
+ * without branching on transport. Protocol-specific state goes in
58
+ * `providerData` so that only protocol-aware code paths read it.
59
+ *
60
+ * `raw` is the unmodified SDK response object. Consumers MUST narrow it with
61
+ * a type guard before accessing fields. NEVER log `raw` without scrubbing
62
+ * auth headers.
63
+ */
64
+ export interface NormalizedResponse {
65
+ /** Response id from the provider (or a synthesized id if absent). */
66
+ id: string;
67
+ /** Model identifier as reported by the provider. */
68
+ model: string;
69
+ /** Plain text content (null when the model returned only tool calls). */
70
+ content: string | null;
71
+ /** Tool calls, or null when none. */
72
+ toolCalls: NormalizedToolCall[] | null;
73
+ /**
74
+ * Provider-reported stop reason.
75
+ * Common values: `'end_turn'`, `'tool_use'`, `'stop'`, `'max_tokens'`,
76
+ * `'stop_sequence'`, `'tool_calls'`, `'length'`.
77
+ */
78
+ stopReason: string;
79
+ /** Token usage for this call. */
80
+ usage: NormalizedUsage;
81
+ /**
82
+ * Optional model-internal reasoning trace.
83
+ * Populated for Anthropic extended-thinking and OpenAI o1-series models.
84
+ */
85
+ reasoning?: string | null;
86
+ /** Provider-specific response-level extras (raw shape, do not depend on). */
87
+ providerData?: Record<string, unknown>;
88
+ /**
89
+ * Raw provider response — DO NOT log this without scrubbing auth headers.
90
+ *
91
+ * Typed as `unknown` because the concrete SDK response shapes
92
+ * (Anthropic.Message, OpenAI.ChatCompletion, …) are not imported from
93
+ * contracts. Consumers MUST narrow with a type guard before accessing fields.
94
+ */
95
+ raw: unknown;
96
+ }
97
+ /**
98
+ * A single message in a provider-neutral conversation turn.
99
+ *
100
+ * `toolUseId` is required when `role` is `'tool'` — it identifies which
101
+ * tool call this result resolves, matching {@link NormalizedToolCall.id}.
102
+ */
103
+ export interface TransportMessage {
104
+ /** Conversation turn role. */
105
+ role: 'user' | 'assistant' | 'tool';
106
+ /** Message content as plain text. */
107
+ content: string;
108
+ /** Tool-result messages: id of the call this resolves. */
109
+ toolUseId?: string;
110
+ }
111
+ /**
112
+ * A tool definition passed to the provider.
113
+ *
114
+ * `inputSchema` is a JSON Schema object describing the tool's input parameters.
115
+ * The transport layer passes it through verbatim after any provider-specific
116
+ * adaptation (e.g. Anthropic wraps it in `{ type: "object", ... }`).
117
+ */
118
+ export interface TransportTool {
119
+ /** Tool name as it will appear in {@link NormalizedToolCall.name}. */
120
+ name: string;
121
+ /** Human-readable description for the model. */
122
+ description: string;
123
+ /** JSON Schema for input parameters. */
124
+ inputSchema: Record<string, unknown>;
125
+ }
126
+ /**
127
+ * Request parameters passed to {@link LlmTransport.complete}.
128
+ *
129
+ * `temperature` is normalized to the 0.0–1.0 range; each transport clamps it
130
+ * to the provider's supported range before sending.
131
+ *
132
+ * `signal` may be used to abort in-flight requests (passed through to the
133
+ * underlying fetch / SDK call where supported).
134
+ */
135
+ export interface TransportRequest {
136
+ /** Model identifier — provider-specific (e.g. `'claude-sonnet-4-6'`). */
137
+ model: string;
138
+ /** Conversation messages in provider-neutral form. */
139
+ messages: TransportMessage[];
140
+ /** Maximum tokens to generate (NOT input budget). */
141
+ maxTokens: number;
142
+ /** Optional system prompt (Anthropic top-level `system`) or system message (OpenAI). */
143
+ system?: string;
144
+ /** Optional tools the model may call. */
145
+ tools?: TransportTool[];
146
+ /** Sampling temperature in 0.0–1.0 range; provider clamps to its own range. */
147
+ temperature?: number;
148
+ /** AbortSignal for request cancellation. */
149
+ signal?: AbortSignal;
150
+ }
151
+ /**
152
+ * Provider transport contract.
153
+ *
154
+ * Each concrete transport (Anthropic, OpenAI, Gemini) implements this
155
+ * interface and maps provider-specific API shapes to/from
156
+ * {@link NormalizedResponse}. Role-resolver and executor code works
157
+ * exclusively against this interface so providers are swappable.
158
+ */
159
+ export interface LlmTransport {
160
+ /**
161
+ * Provider identifier — matches the `ModelTransport` union so role-resolver
162
+ * can select the correct transport at runtime.
163
+ */
164
+ readonly provider: ModelTransport;
165
+ /**
166
+ * Execute a single completion call and return a normalized response.
167
+ *
168
+ * Implementations MUST:
169
+ * - Never return raw credentials in the response envelope.
170
+ * - Preserve the full provider response in {@link NormalizedResponse.raw}.
171
+ * - Map provider-specific stop reasons to the canonical set where possible.
172
+ *
173
+ * @param request - Provider-neutral request parameters.
174
+ * @returns A promise that resolves to a {@link NormalizedResponse}.
175
+ */
176
+ complete(request: TransportRequest): Promise<NormalizedResponse>;
177
+ }
178
+ //# sourceMappingURL=normalized-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalized-response.d.ts","sourceRoot":"","sources":["../../src/llm/normalized-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qCAAqC;IACrC,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACvC;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,eAAe,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACpC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClE"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Normalized provider response types for the CLEO LLM transport layer.
3
+ *
4
+ * Ported from Hermes `agent/transports/types.py` (Python dataclasses →
5
+ * TypeScript interfaces, snake_case → camelCase). These types define the
6
+ * canonical shape that all provider transports normalize responses to. The
7
+ * shared surface is intentionally minimal — only fields that every downstream
8
+ * consumer reads are top-level. Protocol-specific state goes in `providerData`
9
+ * dicts so that protocol-aware code paths can access it without polluting the
10
+ * shared type.
11
+ *
12
+ * @module llm/normalized-response
13
+ * @task T9263
14
+ * @epic T-LLM-CRED-CENTRALIZATION
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=normalized-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalized-response.js","sourceRoot":"","sources":["../../src/llm/normalized-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * ProviderProfile interface and plugin contracts for the CLEO provider registry.
3
+ *
4
+ * Ported idiomatically from the Hermes provider registry (Python dataclass +
5
+ * importlib pattern → TypeScript interface + dynamic ESM import). This is the
6
+ * canonical type lock for Phase 3 of T-LLM-CRED-CENTRALIZATION — all
7
+ * subsequent Phase 3 tasks depend on this interface shape.
8
+ *
9
+ * @task T9262
10
+ * @epic T9261 (T-LLM-CRED-CENTRALIZATION Phase 3)
11
+ */
12
+ import type { ModelTransport, StoredAuthTypeWire } from '../operations/llm.js';
13
+ /**
14
+ * Describes a single LLM provider — its auth capabilities, base URL,
15
+ * default model, and optional live model-discovery hook.
16
+ *
17
+ * Builtin providers (anthropic, openai, gemini, moonshot) ship with the
18
+ * registry. User plugins under `${CLEO_HOME}/plugins/model-providers/` may
19
+ * register additional profiles or override builtins (last-writer-wins).
20
+ */
21
+ export interface ProviderProfile {
22
+ /**
23
+ * Canonical provider name. For builtin providers this MUST match a
24
+ * {@link ModelTransport} so the credential resolver can wire the two
25
+ * systems together. User plugins may use any unique string.
26
+ */
27
+ name: ModelTransport | string;
28
+ /** Human-readable display name shown in pickers and diagnostic output. */
29
+ displayName: string;
30
+ /** Authentication schemes this provider supports. */
31
+ authTypes: ReadonlyArray<StoredAuthTypeWire>;
32
+ /**
33
+ * Base URL for the provider's API — no trailing slash.
34
+ *
35
+ * @example 'https://api.anthropic.com'
36
+ */
37
+ baseUrl: string;
38
+ /**
39
+ * Recommended default model identifier for this provider.
40
+ *
41
+ * @example 'claude-haiku-X-Y' (use the latest haiku from @cleocode/core/llm)
42
+ */
43
+ defaultModel: string;
44
+ /**
45
+ * Alternate names that resolve to this profile. Resolution is
46
+ * case-insensitive. Alias conflicts with another profile's primary name
47
+ * cause a `TypeError` at registration time.
48
+ */
49
+ aliases?: ReadonlyArray<string>;
50
+ /**
51
+ * HTTP headers sent with every request to this provider.
52
+ * Merged into the SDK client's `defaultHeaders`.
53
+ *
54
+ * @example { 'anthropic-version': '2023-06-01' }
55
+ */
56
+ defaultHeaders?: Readonly<Record<string, string>>;
57
+ /**
58
+ * Environment variable names that supply credentials for this provider.
59
+ * Sourced from the `env` field in the models.dev catalog when generated,
60
+ * or declared by hand-written builtins and plugins. Resolver chains may
61
+ * check these env vars for an API key before falling back to the
62
+ * credentials store.
63
+ *
64
+ * @example ['ANTHROPIC_API_KEY']
65
+ */
66
+ envVars?: ReadonlyArray<string>;
67
+ /**
68
+ * Optional live model-discovery hook. When present, the registry may
69
+ * call this to enumerate available model identifiers. Returns `null`
70
+ * when the provider does not support live model listing or when the
71
+ * fetch fails — callers MUST fall back to static model lists in that
72
+ * case.
73
+ *
74
+ * @param apiKey - The resolved API key (or OAuth bearer token).
75
+ * @param signal - Optional abort signal for request cancellation.
76
+ */
77
+ fetchModels?: (apiKey: string, signal?: AbortSignal) => Promise<ReadonlyArray<string> | null>;
78
+ }
79
+ /**
80
+ * Shape that user plugin modules MUST satisfy.
81
+ *
82
+ * A plugin file is any `*.{ts,mjs,js,cjs}` under
83
+ * `${CLEO_HOME}/plugins/model-providers/`. The registry imports it
84
+ * dynamically and calls either its default export or named `register`
85
+ * export with a {@link ProviderPluginApi} instance.
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * // my-plugin.mjs
90
+ * export function register(api) {
91
+ * api.registerProvider({
92
+ * name: 'my-provider',
93
+ * displayName: 'My Provider',
94
+ * authTypes: ['api_key'],
95
+ * baseUrl: 'https://api.myprovider.com',
96
+ * defaultModel: 'my-model-v1',
97
+ * });
98
+ * }
99
+ * ```
100
+ */
101
+ export interface ProviderPlugin {
102
+ /** Called by the registry with access to {@link ProviderPluginApi}. */
103
+ register: (api: ProviderPluginApi) => void;
104
+ }
105
+ /**
106
+ * Minimal surface exposed to plugin modules at load time.
107
+ * Intentionally narrow — plugins should only register providers,
108
+ * not reach into registry internals.
109
+ */
110
+ export interface ProviderPluginApi {
111
+ /** Register a provider profile. Last-writer-wins on name collision. */
112
+ registerProvider: (profile: ProviderProfile) => void;
113
+ }
114
+ //# sourceMappingURL=provider-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-profile.d.ts","sourceRoot":"","sources":["../../src/llm/provider-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAE9B,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IAEpB,qDAAqD;IACrD,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAE7C;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;CAC/F;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5C;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,gBAAgB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CACtD"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * ProviderProfile interface and plugin contracts for the CLEO provider registry.
3
+ *
4
+ * Ported idiomatically from the Hermes provider registry (Python dataclass +
5
+ * importlib pattern → TypeScript interface + dynamic ESM import). This is the
6
+ * canonical type lock for Phase 3 of T-LLM-CRED-CENTRALIZATION — all
7
+ * subsequent Phase 3 tasks depend on this interface shape.
8
+ *
9
+ * @task T9262
10
+ * @epic T9261 (T-LLM-CRED-CENTRALIZATION Phase 3)
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=provider-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-profile.js","sourceRoot":"","sources":["../../src/llm/provider-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -9,4 +9,8 @@
9
9
  * @epic T1386
10
10
  */
11
11
  export {};
12
+ // ProviderProfile interface lives in ./llm/provider-profile.ts (T9262).
13
+ // The generated catalog (packages/core/src/llm/generated/provider-profiles.ts)
14
+ // imports the canonical type from the contracts package and emits each
15
+ // generated entry as a plain ProviderProfile literal.
12
16
  //# sourceMappingURL=llm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/operations/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/operations/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;AAgiBH,wEAAwE;AACxE,+EAA+E;AAC/E,uEAAuE;AACvE,sDAAsD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/contracts",
3
- "version": "2026.5.64",
3
+ "version": "2026.5.66",
4
4
  "description": "Domain types, interfaces, and contracts for the CLEO ecosystem",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -57,6 +57,14 @@
57
57
  "./operations/*.js": {
58
58
  "types": "./dist/operations/*.d.ts",
59
59
  "import": "./dist/operations/*.js"
60
+ },
61
+ "./llm/*": {
62
+ "types": "./dist/llm/*.d.ts",
63
+ "import": "./dist/llm/*.js"
64
+ },
65
+ "./llm/*.js": {
66
+ "types": "./dist/llm/*.d.ts",
67
+ "import": "./dist/llm/*.js"
60
68
  }
61
69
  },
62
70
  "engines": {
@@ -82,7 +90,7 @@
82
90
  "dependencies": {
83
91
  "zod": "^4.3.6",
84
92
  "zod-to-json-schema": "^3.25.2",
85
- "@cleocode/lafs": "2026.5.64"
93
+ "@cleocode/lafs": "2026.5.66"
86
94
  },
87
95
  "scripts": {
88
96
  "build": "tsc -b --force && node scripts/emit-schemas.mjs",
package/src/index.ts CHANGED
@@ -426,6 +426,28 @@ export {
426
426
  isLafsError,
427
427
  isLafsSuccess,
428
428
  } from './lafs.js';
429
+ // === LLM Error Taxonomy (T9270 — Hermes FailoverReason port) ===
430
+ export type { ClassifiedError, FailoverReason } from './llm/failover-reason.js';
431
+ // === Normalized LLM Transport Types (T9263 — Phase 3 T-LLM-CRED) ===
432
+ // Note: LlmTransport (the interface) is intentionally NOT re-exported at the
433
+ // top level here because `config.ts` already exports `LlmTransport` as a type
434
+ // alias for `ModelTransport`. Consumers that need the transport interface
435
+ // should import the LlmTransport interface from the llm/normalized-response.js
436
+ // subpath rather than the package root.
437
+ export type {
438
+ NormalizedResponse,
439
+ NormalizedToolCall,
440
+ NormalizedUsage,
441
+ TransportMessage,
442
+ TransportRequest,
443
+ TransportTool,
444
+ } from './llm/normalized-response.js';
445
+ // === Provider Profile + Plugin Contracts (T9262 — Phase 3 T-LLM-CRED) ===
446
+ export type {
447
+ ProviderPlugin,
448
+ ProviderPluginApi,
449
+ ProviderProfile,
450
+ } from './llm/provider-profile.js';
429
451
  export type {
430
452
  BridgeDecision,
431
453
  BridgeLearning,
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Structured taxonomy of LLM failure modes — mirrors Hermes' FailoverReason enum.
3
+ *
4
+ * Consumers (CredentialPool, auxiliary-router, CLI error envelopes) use this
5
+ * to drive deterministic recovery actions instead of ad-hoc status-code
6
+ * inspection.
7
+ *
8
+ * Adding new values is BC-safe. Removing or renaming values is BREAKING.
9
+ *
10
+ * @task T9270 (Phase 3 T-LLM-CRED)
11
+ */
12
+ export type FailoverReason =
13
+ // --- Authentication / authorization ---
14
+ /** 401/403 — transient; refresh or rotate credential */
15
+ | 'auth'
16
+ /** Auth failed AFTER refresh — abort, do not retry */
17
+ | 'auth_permanent'
18
+ // --- Billing / quota ---
19
+ /** 402 or credit exhaustion — rotate immediately to next credential */
20
+ | 'billing'
21
+ /** 429 — backoff then rotate */
22
+ | 'rate_limit'
23
+ // --- Server-side ---
24
+ /** 503/529 — provider overloaded; retry with backoff */
25
+ | 'overloaded'
26
+ /** 500/502 — internal error; retry */
27
+ | 'server_error'
28
+ // --- Transport ---
29
+ /** Connection or read timeout — rebuild client + retry */
30
+ | 'timeout'
31
+ // --- Context / payload ---
32
+ /** Context too large — invoke compression engine */
33
+ | 'context_overflow'
34
+ /** 413 — compress payload */
35
+ | 'payload_too_large'
36
+ /** Per-image limit hit — shrink and retry */
37
+ | 'image_too_large'
38
+ // --- Model / provider ---
39
+ /** 404 — fall back to a different model */
40
+ | 'model_not_found'
41
+ /** Aggregator policy block (OpenRouter, etc.) */
42
+ | 'provider_policy_blocked'
43
+ // --- Request format ---
44
+ /** 400 — abort or strip + retry */
45
+ | 'format_error'
46
+ // --- Provider-specific (hooks for future deep classification) ---
47
+ /** Anthropic thinking-block signature invalid */
48
+ | 'thinking_signature'
49
+ /** Anthropic extra-usage tier gate */
50
+ | 'long_context_tier'
51
+ /** OAuth long-context beta forbidden */
52
+ | 'oauth_long_context_beta_forbidden'
53
+ /** llama.cpp grammar pattern regex rejection */
54
+ | 'llama_cpp_grammar_pattern'
55
+ // --- Catch-all ---
56
+ | 'unknown';
57
+
58
+ /**
59
+ * Structured classification of an LLM API error with deterministic recovery hints.
60
+ *
61
+ * Produced by `classifyError` in `@cleocode/core`. Consumers check the flags
62
+ * (`retryable`, `shouldCompress`, `shouldRotateCredential`, `shouldFallback`)
63
+ * instead of re-inspecting the raw error.
64
+ *
65
+ * @task T9270 (Phase 3 T-LLM-CRED)
66
+ */
67
+ export interface ClassifiedError {
68
+ /** Structured failure reason driving recovery strategy. */
69
+ reason: FailoverReason;
70
+ /** HTTP status code extracted from the error, if available. */
71
+ statusCode: number | null;
72
+ /** Provider identifier from the call context, if supplied. */
73
+ provider: string | null;
74
+ /** Model identifier from the call context, if supplied. */
75
+ model: string | null;
76
+ /** Human-readable error message. */
77
+ message: string;
78
+ /** Whether the operation can be retried (possibly after backoff). */
79
+ retryable: boolean;
80
+ /** Whether the caller should attempt context compression before retrying. */
81
+ shouldCompress: boolean;
82
+ /** Whether the caller should rotate to a different credential. */
83
+ shouldRotateCredential: boolean;
84
+ /** Whether the caller should fall back to a different model/provider. */
85
+ shouldFallback: boolean;
86
+ }
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Normalized provider response types for the CLEO LLM transport layer.
3
+ *
4
+ * Ported from Hermes `agent/transports/types.py` (Python dataclasses →
5
+ * TypeScript interfaces, snake_case → camelCase). These types define the
6
+ * canonical shape that all provider transports normalize responses to. The
7
+ * shared surface is intentionally minimal — only fields that every downstream
8
+ * consumer reads are top-level. Protocol-specific state goes in `providerData`
9
+ * dicts so that protocol-aware code paths can access it without polluting the
10
+ * shared type.
11
+ *
12
+ * @module llm/normalized-response
13
+ * @task T9263
14
+ * @epic T-LLM-CRED-CENTRALIZATION
15
+ */
16
+
17
+ import type { ModelTransport } from '../operations/llm.js';
18
+
19
+ /**
20
+ * Token usage reported by the provider for a single API call.
21
+ *
22
+ * `cachedTokens` is only populated when the provider supports prompt-cache
23
+ * read accounting (Anthropic extended caching, Gemini cached content).
24
+ */
25
+ export interface NormalizedUsage {
26
+ /** Tokens consumed by the prompt. */
27
+ inputTokens: number;
28
+ /** Tokens generated by the model. */
29
+ outputTokens: number;
30
+ /** Tokens served from prompt cache (if provider supports caching). */
31
+ cachedTokens?: number;
32
+ }
33
+
34
+ /**
35
+ * A single normalized tool call emitted by the model.
36
+ *
37
+ * `id` is the protocol-canonical identifier used when constructing tool result
38
+ * messages. May be `null` when the provider omits it (rare in practice but
39
+ * possible with some adapters).
40
+ *
41
+ * `providerData` carries per-tool-call protocol metadata that only
42
+ * protocol-aware code reads. Examples:
43
+ * - Codex: `{ call_id: "call_XXX", response_item_id: "fc_XXX" }`
44
+ * - Gemini: `{ extra_content: { thought_signature: "..." } }`
45
+ */
46
+ export interface NormalizedToolCall {
47
+ /** Provider-assigned tool-call id (may be null if provider does not surface one). */
48
+ id: string | null;
49
+ /** Tool name as declared in the request. */
50
+ name: string;
51
+ /** Arguments as a JSON string (provider-agnostic). */
52
+ arguments: string;
53
+ /** Provider-specific extras (raw shape, do not depend on). */
54
+ providerData?: Record<string, unknown>;
55
+ }
56
+
57
+ /**
58
+ * Normalized API response from any LLM provider.
59
+ *
60
+ * Shared fields are truly cross-provider — every caller can rely on them
61
+ * without branching on transport. Protocol-specific state goes in
62
+ * `providerData` so that only protocol-aware code paths read it.
63
+ *
64
+ * `raw` is the unmodified SDK response object. Consumers MUST narrow it with
65
+ * a type guard before accessing fields. NEVER log `raw` without scrubbing
66
+ * auth headers.
67
+ */
68
+ export interface NormalizedResponse {
69
+ /** Response id from the provider (or a synthesized id if absent). */
70
+ id: string;
71
+ /** Model identifier as reported by the provider. */
72
+ model: string;
73
+ /** Plain text content (null when the model returned only tool calls). */
74
+ content: string | null;
75
+ /** Tool calls, or null when none. */
76
+ toolCalls: NormalizedToolCall[] | null;
77
+ /**
78
+ * Provider-reported stop reason.
79
+ * Common values: `'end_turn'`, `'tool_use'`, `'stop'`, `'max_tokens'`,
80
+ * `'stop_sequence'`, `'tool_calls'`, `'length'`.
81
+ */
82
+ stopReason: string;
83
+ /** Token usage for this call. */
84
+ usage: NormalizedUsage;
85
+ /**
86
+ * Optional model-internal reasoning trace.
87
+ * Populated for Anthropic extended-thinking and OpenAI o1-series models.
88
+ */
89
+ reasoning?: string | null;
90
+ /** Provider-specific response-level extras (raw shape, do not depend on). */
91
+ providerData?: Record<string, unknown>;
92
+ /**
93
+ * Raw provider response — DO NOT log this without scrubbing auth headers.
94
+ *
95
+ * Typed as `unknown` because the concrete SDK response shapes
96
+ * (Anthropic.Message, OpenAI.ChatCompletion, …) are not imported from
97
+ * contracts. Consumers MUST narrow with a type guard before accessing fields.
98
+ */
99
+ raw: unknown;
100
+ }
101
+
102
+ /**
103
+ * A single message in a provider-neutral conversation turn.
104
+ *
105
+ * `toolUseId` is required when `role` is `'tool'` — it identifies which
106
+ * tool call this result resolves, matching {@link NormalizedToolCall.id}.
107
+ */
108
+ export interface TransportMessage {
109
+ /** Conversation turn role. */
110
+ role: 'user' | 'assistant' | 'tool';
111
+ /** Message content as plain text. */
112
+ content: string;
113
+ /** Tool-result messages: id of the call this resolves. */
114
+ toolUseId?: string;
115
+ }
116
+
117
+ /**
118
+ * A tool definition passed to the provider.
119
+ *
120
+ * `inputSchema` is a JSON Schema object describing the tool's input parameters.
121
+ * The transport layer passes it through verbatim after any provider-specific
122
+ * adaptation (e.g. Anthropic wraps it in `{ type: "object", ... }`).
123
+ */
124
+ export interface TransportTool {
125
+ /** Tool name as it will appear in {@link NormalizedToolCall.name}. */
126
+ name: string;
127
+ /** Human-readable description for the model. */
128
+ description: string;
129
+ /** JSON Schema for input parameters. */
130
+ inputSchema: Record<string, unknown>;
131
+ }
132
+
133
+ /**
134
+ * Request parameters passed to {@link LlmTransport.complete}.
135
+ *
136
+ * `temperature` is normalized to the 0.0–1.0 range; each transport clamps it
137
+ * to the provider's supported range before sending.
138
+ *
139
+ * `signal` may be used to abort in-flight requests (passed through to the
140
+ * underlying fetch / SDK call where supported).
141
+ */
142
+ export interface TransportRequest {
143
+ /** Model identifier — provider-specific (e.g. `'claude-sonnet-4-6'`). */
144
+ model: string;
145
+ /** Conversation messages in provider-neutral form. */
146
+ messages: TransportMessage[];
147
+ /** Maximum tokens to generate (NOT input budget). */
148
+ maxTokens: number;
149
+ /** Optional system prompt (Anthropic top-level `system`) or system message (OpenAI). */
150
+ system?: string;
151
+ /** Optional tools the model may call. */
152
+ tools?: TransportTool[];
153
+ /** Sampling temperature in 0.0–1.0 range; provider clamps to its own range. */
154
+ temperature?: number;
155
+ /** AbortSignal for request cancellation. */
156
+ signal?: AbortSignal;
157
+ }
158
+
159
+ /**
160
+ * Provider transport contract.
161
+ *
162
+ * Each concrete transport (Anthropic, OpenAI, Gemini) implements this
163
+ * interface and maps provider-specific API shapes to/from
164
+ * {@link NormalizedResponse}. Role-resolver and executor code works
165
+ * exclusively against this interface so providers are swappable.
166
+ */
167
+ export interface LlmTransport {
168
+ /**
169
+ * Provider identifier — matches the `ModelTransport` union so role-resolver
170
+ * can select the correct transport at runtime.
171
+ */
172
+ readonly provider: ModelTransport;
173
+ /**
174
+ * Execute a single completion call and return a normalized response.
175
+ *
176
+ * Implementations MUST:
177
+ * - Never return raw credentials in the response envelope.
178
+ * - Preserve the full provider response in {@link NormalizedResponse.raw}.
179
+ * - Map provider-specific stop reasons to the canonical set where possible.
180
+ *
181
+ * @param request - Provider-neutral request parameters.
182
+ * @returns A promise that resolves to a {@link NormalizedResponse}.
183
+ */
184
+ complete(request: TransportRequest): Promise<NormalizedResponse>;
185
+ }
@@ -0,0 +1,125 @@
1
+ /**
2
+ * ProviderProfile interface and plugin contracts for the CLEO provider registry.
3
+ *
4
+ * Ported idiomatically from the Hermes provider registry (Python dataclass +
5
+ * importlib pattern → TypeScript interface + dynamic ESM import). This is the
6
+ * canonical type lock for Phase 3 of T-LLM-CRED-CENTRALIZATION — all
7
+ * subsequent Phase 3 tasks depend on this interface shape.
8
+ *
9
+ * @task T9262
10
+ * @epic T9261 (T-LLM-CRED-CENTRALIZATION Phase 3)
11
+ */
12
+
13
+ import type { ModelTransport, StoredAuthTypeWire } from '../operations/llm.js';
14
+
15
+ /**
16
+ * Describes a single LLM provider — its auth capabilities, base URL,
17
+ * default model, and optional live model-discovery hook.
18
+ *
19
+ * Builtin providers (anthropic, openai, gemini, moonshot) ship with the
20
+ * registry. User plugins under `${CLEO_HOME}/plugins/model-providers/` may
21
+ * register additional profiles or override builtins (last-writer-wins).
22
+ */
23
+ export interface ProviderProfile {
24
+ /**
25
+ * Canonical provider name. For builtin providers this MUST match a
26
+ * {@link ModelTransport} so the credential resolver can wire the two
27
+ * systems together. User plugins may use any unique string.
28
+ */
29
+ name: ModelTransport | string;
30
+
31
+ /** Human-readable display name shown in pickers and diagnostic output. */
32
+ displayName: string;
33
+
34
+ /** Authentication schemes this provider supports. */
35
+ authTypes: ReadonlyArray<StoredAuthTypeWire>;
36
+
37
+ /**
38
+ * Base URL for the provider's API — no trailing slash.
39
+ *
40
+ * @example 'https://api.anthropic.com'
41
+ */
42
+ baseUrl: string;
43
+
44
+ /**
45
+ * Recommended default model identifier for this provider.
46
+ *
47
+ * @example 'claude-haiku-X-Y' (use the latest haiku from @cleocode/core/llm)
48
+ */
49
+ defaultModel: string;
50
+
51
+ /**
52
+ * Alternate names that resolve to this profile. Resolution is
53
+ * case-insensitive. Alias conflicts with another profile's primary name
54
+ * cause a `TypeError` at registration time.
55
+ */
56
+ aliases?: ReadonlyArray<string>;
57
+
58
+ /**
59
+ * HTTP headers sent with every request to this provider.
60
+ * Merged into the SDK client's `defaultHeaders`.
61
+ *
62
+ * @example { 'anthropic-version': '2023-06-01' }
63
+ */
64
+ defaultHeaders?: Readonly<Record<string, string>>;
65
+
66
+ /**
67
+ * Environment variable names that supply credentials for this provider.
68
+ * Sourced from the `env` field in the models.dev catalog when generated,
69
+ * or declared by hand-written builtins and plugins. Resolver chains may
70
+ * check these env vars for an API key before falling back to the
71
+ * credentials store.
72
+ *
73
+ * @example ['ANTHROPIC_API_KEY']
74
+ */
75
+ envVars?: ReadonlyArray<string>;
76
+
77
+ /**
78
+ * Optional live model-discovery hook. When present, the registry may
79
+ * call this to enumerate available model identifiers. Returns `null`
80
+ * when the provider does not support live model listing or when the
81
+ * fetch fails — callers MUST fall back to static model lists in that
82
+ * case.
83
+ *
84
+ * @param apiKey - The resolved API key (or OAuth bearer token).
85
+ * @param signal - Optional abort signal for request cancellation.
86
+ */
87
+ fetchModels?: (apiKey: string, signal?: AbortSignal) => Promise<ReadonlyArray<string> | null>;
88
+ }
89
+
90
+ /**
91
+ * Shape that user plugin modules MUST satisfy.
92
+ *
93
+ * A plugin file is any `*.{ts,mjs,js,cjs}` under
94
+ * `${CLEO_HOME}/plugins/model-providers/`. The registry imports it
95
+ * dynamically and calls either its default export or named `register`
96
+ * export with a {@link ProviderPluginApi} instance.
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * // my-plugin.mjs
101
+ * export function register(api) {
102
+ * api.registerProvider({
103
+ * name: 'my-provider',
104
+ * displayName: 'My Provider',
105
+ * authTypes: ['api_key'],
106
+ * baseUrl: 'https://api.myprovider.com',
107
+ * defaultModel: 'my-model-v1',
108
+ * });
109
+ * }
110
+ * ```
111
+ */
112
+ export interface ProviderPlugin {
113
+ /** Called by the registry with access to {@link ProviderPluginApi}. */
114
+ register: (api: ProviderPluginApi) => void;
115
+ }
116
+
117
+ /**
118
+ * Minimal surface exposed to plugin modules at load time.
119
+ * Intentionally narrow — plugins should only register providers,
120
+ * not reach into registry internals.
121
+ */
122
+ export interface ProviderPluginApi {
123
+ /** Register a provider profile. Last-writer-wins on name collision. */
124
+ registerProvider: (profile: ProviderProfile) => void;
125
+ }
@@ -550,3 +550,8 @@ export interface LlmWhoamiResult {
550
550
  /** One entry per role resolved (filtered by `params.role` when set). */
551
551
  entries: LlmWhoamiEntry[];
552
552
  }
553
+
554
+ // ProviderProfile interface lives in ./llm/provider-profile.ts (T9262).
555
+ // The generated catalog (packages/core/src/llm/generated/provider-profiles.ts)
556
+ // imports the canonical type from the contracts package and emits each
557
+ // generated entry as a plain ProviderProfile literal.