@cleocode/contracts 2026.5.65 → 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 +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/llm/failover-reason.d.ts +76 -0
- package/dist/llm/failover-reason.d.ts.map +1 -0
- package/dist/llm/failover-reason.js +2 -0
- package/dist/llm/failover-reason.js.map +1 -0
- package/dist/llm/normalized-response.d.ts +178 -0
- package/dist/llm/normalized-response.d.ts.map +1 -0
- package/dist/llm/normalized-response.js +17 -0
- package/dist/llm/normalized-response.js.map +1 -0
- package/dist/llm/provider-profile.d.ts +114 -0
- package/dist/llm/provider-profile.d.ts.map +1 -0
- package/dist/llm/provider-profile.js +13 -0
- package/dist/llm/provider-profile.js.map +1 -0
- package/dist/operations/llm.js +4 -0
- package/dist/operations/llm.js.map +1 -1
- package/package.json +10 -2
- package/src/index.ts +22 -0
- package/src/llm/failover-reason.ts +86 -0
- package/src/llm/normalized-response.ts +185 -0
- package/src/llm/provider-profile.ts +125 -0
- package/src/operations/llm.ts +5 -0
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA;;;;;;GAMG;AAyBH,2DAA2D;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AA0DrC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA0DhC,iDAAiD;AACjD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAqG1B,wEAAwE;AACxE,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,MAAM,GACP,MAAM,oBAAoB,CAAC;AAC5B,0BAA0B;AAC1B,OAAO,EACL,gCAAgC,EAChC,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAmBrB,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAgCzB,gCAAgC;AAChC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAkBrB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,YAAY,CAAC;AA4BpB,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;
|
|
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 @@
|
|
|
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"}
|
package/dist/operations/llm.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
+
}
|
package/src/operations/llm.ts
CHANGED
|
@@ -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.
|