@adaptic/utils 0.0.1015 → 0.0.1017

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.
Files changed (155) hide show
  1. package/dist/index.cjs +2885 -25
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.mjs +2845 -25
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/types/__tests__/llm/client/support/rejections.d.ts +21 -0
  6. package/dist/types/__tests__/llm/client/support/rejections.d.ts.map +1 -0
  7. package/dist/types/__tests__/llm/client/support/routes.d.ts +67 -0
  8. package/dist/types/__tests__/llm/client/support/routes.d.ts.map +1 -0
  9. package/dist/types/__tests__/llm/client/support/streams.d.ts +74 -0
  10. package/dist/types/__tests__/llm/client/support/streams.d.ts.map +1 -0
  11. package/dist/types/__tests__/llm/client/support/transports.d.ts +105 -0
  12. package/dist/types/__tests__/llm/client/support/transports.d.ts.map +1 -0
  13. package/dist/types/index.d.ts +1 -0
  14. package/dist/types/index.d.ts.map +1 -1
  15. package/dist/types/llm/alias-client.d.ts +64 -0
  16. package/dist/types/llm/alias-client.d.ts.map +1 -0
  17. package/dist/types/llm/circuit-breaker.d.ts +124 -0
  18. package/dist/types/llm/circuit-breaker.d.ts.map +1 -0
  19. package/dist/types/llm/eval/comparators.d.ts +127 -0
  20. package/dist/types/llm/eval/comparators.d.ts.map +1 -0
  21. package/dist/types/llm/eval/coverage.d.ts +44 -0
  22. package/dist/types/llm/eval/coverage.d.ts.map +1 -0
  23. package/dist/types/llm/eval/golden-set.d.ts +47 -0
  24. package/dist/types/llm/eval/golden-set.d.ts.map +1 -0
  25. package/dist/types/llm/eval/index.d.ts +25 -0
  26. package/dist/types/llm/eval/index.d.ts.map +1 -0
  27. package/dist/types/llm/eval/json-shape.d.ts +74 -0
  28. package/dist/types/llm/eval/json-shape.d.ts.map +1 -0
  29. package/dist/types/llm/eval/judge.d.ts +131 -0
  30. package/dist/types/llm/eval/judge.d.ts.map +1 -0
  31. package/dist/types/llm/eval/metrics.d.ts +51 -0
  32. package/dist/types/llm/eval/metrics.d.ts.map +1 -0
  33. package/dist/types/llm/eval/run.d.ts +97 -0
  34. package/dist/types/llm/eval/run.d.ts.map +1 -0
  35. package/dist/types/llm/eval/types.d.ts +242 -0
  36. package/dist/types/llm/eval/types.d.ts.map +1 -0
  37. package/dist/types/llm/fallback-chain.d.ts +97 -0
  38. package/dist/types/llm/fallback-chain.d.ts.map +1 -0
  39. package/dist/types/llm/index.d.ts +30 -0
  40. package/dist/types/llm/index.d.ts.map +1 -0
  41. package/dist/types/llm/param-matrix.d.ts +65 -0
  42. package/dist/types/llm/param-matrix.d.ts.map +1 -0
  43. package/dist/types/llm/rate-guard.d.ts +119 -0
  44. package/dist/types/llm/rate-guard.d.ts.map +1 -0
  45. package/dist/types/llm/route-table.d.ts +187 -0
  46. package/dist/types/llm/route-table.d.ts.map +1 -0
  47. package/dist/types/llm/schema-retry.d.ts +80 -0
  48. package/dist/types/llm/schema-retry.d.ts.map +1 -0
  49. package/dist/types/llm/streaming.d.ts +93 -0
  50. package/dist/types/llm/streaming.d.ts.map +1 -0
  51. package/dist/types/llm/transports/direct.d.ts +92 -0
  52. package/dist/types/llm/transports/direct.d.ts.map +1 -0
  53. package/dist/types/llm/transports/gateway.d.ts +73 -0
  54. package/dist/types/llm/transports/gateway.d.ts.map +1 -0
  55. package/dist/types/llm/types.d.ts +292 -0
  56. package/dist/types/llm/types.d.ts.map +1 -0
  57. package/dist/types/schemas/alpaca-schemas.d.ts +6 -6
  58. package/dist/types/trading-policy/schemas/effective-policy.schema.d.ts +18 -18
  59. package/dist/types/trading-policy/schemas/model-prefs.schema.d.ts +24 -24
  60. package/dist/types/trading-policy/schemas/policy-mutation.schema.d.ts +36 -36
  61. package/package.json +1 -1
  62. package/dist/types/__tests__/alpaca-broker-error-preservation.test.d.ts +0 -2
  63. package/dist/types/__tests__/alpaca-broker-error-preservation.test.d.ts.map +0 -1
  64. package/dist/types/__tests__/alpaca-client-order-id.test.d.ts +0 -2
  65. package/dist/types/__tests__/alpaca-client-order-id.test.d.ts.map +0 -1
  66. package/dist/types/__tests__/alpaca-functions.test.d.ts +0 -2
  67. package/dist/types/__tests__/alpaca-functions.test.d.ts.map +0 -1
  68. package/dist/types/__tests__/alpaca-market-data-retry.test.d.ts +0 -2
  69. package/dist/types/__tests__/alpaca-market-data-retry.test.d.ts.map +0 -1
  70. package/dist/types/__tests__/alpaca-order-idempotency.test.d.ts +0 -2
  71. package/dist/types/__tests__/alpaca-order-idempotency.test.d.ts.map +0 -1
  72. package/dist/types/__tests__/alpaca-trading-api.test.d.ts +0 -2
  73. package/dist/types/__tests__/alpaca-trading-api.test.d.ts.map +0 -1
  74. package/dist/types/__tests__/api-endpoints.test.d.ts +0 -2
  75. package/dist/types/__tests__/api-endpoints.test.d.ts.map +0 -1
  76. package/dist/types/__tests__/asset-allocation.test.d.ts +0 -2
  77. package/dist/types/__tests__/asset-allocation.test.d.ts.map +0 -1
  78. package/dist/types/__tests__/atr.test.d.ts +0 -2
  79. package/dist/types/__tests__/atr.test.d.ts.map +0 -1
  80. package/dist/types/__tests__/auth-validator.test.d.ts +0 -2
  81. package/dist/types/__tests__/auth-validator.test.d.ts.map +0 -1
  82. package/dist/types/__tests__/broker-factory.test.d.ts +0 -2
  83. package/dist/types/__tests__/broker-factory.test.d.ts.map +0 -1
  84. package/dist/types/__tests__/broker-types.test.d.ts +0 -2
  85. package/dist/types/__tests__/broker-types.test.d.ts.map +0 -1
  86. package/dist/types/__tests__/cache.test.d.ts +0 -2
  87. package/dist/types/__tests__/cache.test.d.ts.map +0 -1
  88. package/dist/types/__tests__/errors.test.d.ts +0 -2
  89. package/dist/types/__tests__/errors.test.d.ts.map +0 -1
  90. package/dist/types/__tests__/financial-regression.test.d.ts +0 -2
  91. package/dist/types/__tests__/financial-regression.test.d.ts.map +0 -1
  92. package/dist/types/__tests__/format-tools.test.d.ts +0 -2
  93. package/dist/types/__tests__/format-tools.test.d.ts.map +0 -1
  94. package/dist/types/__tests__/http-keep-alive.test.d.ts +0 -2
  95. package/dist/types/__tests__/http-keep-alive.test.d.ts.map +0 -1
  96. package/dist/types/__tests__/http-timeout.test.d.ts +0 -2
  97. package/dist/types/__tests__/http-timeout.test.d.ts.map +0 -1
  98. package/dist/types/__tests__/index.test.d.ts +0 -2
  99. package/dist/types/__tests__/index.test.d.ts.map +0 -1
  100. package/dist/types/__tests__/legacy-auth.test.d.ts +0 -2
  101. package/dist/types/__tests__/legacy-auth.test.d.ts.map +0 -1
  102. package/dist/types/__tests__/logger.test.d.ts +0 -2
  103. package/dist/types/__tests__/logger.test.d.ts.map +0 -1
  104. package/dist/types/__tests__/logging.test.d.ts +0 -2
  105. package/dist/types/__tests__/logging.test.d.ts.map +0 -1
  106. package/dist/types/__tests__/market-time.test.d.ts +0 -2
  107. package/dist/types/__tests__/market-time.test.d.ts.map +0 -1
  108. package/dist/types/__tests__/massive.test.d.ts +0 -2
  109. package/dist/types/__tests__/massive.test.d.ts.map +0 -1
  110. package/dist/types/__tests__/metrics-calcs-direction.test.d.ts +0 -2
  111. package/dist/types/__tests__/metrics-calcs-direction.test.d.ts.map +0 -1
  112. package/dist/types/__tests__/misc-utils.test.d.ts +0 -2
  113. package/dist/types/__tests__/misc-utils.test.d.ts.map +0 -1
  114. package/dist/types/__tests__/paginator.test.d.ts +0 -2
  115. package/dist/types/__tests__/paginator.test.d.ts.map +0 -1
  116. package/dist/types/__tests__/performance-metrics-fees.test.d.ts +0 -2
  117. package/dist/types/__tests__/performance-metrics-fees.test.d.ts.map +0 -1
  118. package/dist/types/__tests__/performance-metrics.test.d.ts +0 -2
  119. package/dist/types/__tests__/performance-metrics.test.d.ts.map +0 -1
  120. package/dist/types/__tests__/price-utils-fees.test.d.ts +0 -2
  121. package/dist/types/__tests__/price-utils-fees.test.d.ts.map +0 -1
  122. package/dist/types/__tests__/price-utils.test.d.ts +0 -2
  123. package/dist/types/__tests__/price-utils.test.d.ts.map +0 -1
  124. package/dist/types/__tests__/property-based-financial.test.d.ts +0 -2
  125. package/dist/types/__tests__/property-based-financial.test.d.ts.map +0 -1
  126. package/dist/types/__tests__/protective-order-sides.test.d.ts +0 -2
  127. package/dist/types/__tests__/protective-order-sides.test.d.ts.map +0 -1
  128. package/dist/types/__tests__/rate-limiter.test.d.ts +0 -2
  129. package/dist/types/__tests__/rate-limiter.test.d.ts.map +0 -1
  130. package/dist/types/__tests__/retry-classification.test.d.ts +0 -2
  131. package/dist/types/__tests__/retry-classification.test.d.ts.map +0 -1
  132. package/dist/types/__tests__/retry.test.d.ts +0 -2
  133. package/dist/types/__tests__/retry.test.d.ts.map +0 -1
  134. package/dist/types/__tests__/risk-free-rate.test.d.ts +0 -2
  135. package/dist/types/__tests__/risk-free-rate.test.d.ts.map +0 -1
  136. package/dist/types/__tests__/risk-metrics.test.d.ts +0 -2
  137. package/dist/types/__tests__/risk-metrics.test.d.ts.map +0 -1
  138. package/dist/types/__tests__/schema-validation.test.d.ts +0 -2
  139. package/dist/types/__tests__/schema-validation.test.d.ts.map +0 -1
  140. package/dist/types/__tests__/stampede-load-timeout.test.d.ts +0 -2
  141. package/dist/types/__tests__/stampede-load-timeout.test.d.ts.map +0 -1
  142. package/dist/types/__tests__/strategy-metrics.test.d.ts +0 -2
  143. package/dist/types/__tests__/strategy-metrics.test.d.ts.map +0 -1
  144. package/dist/types/__tests__/technical-analysis-totality.test.d.ts +0 -2
  145. package/dist/types/__tests__/technical-analysis-totality.test.d.ts.map +0 -1
  146. package/dist/types/__tests__/technical-analysis.test.d.ts +0 -2
  147. package/dist/types/__tests__/technical-analysis.test.d.ts.map +0 -1
  148. package/dist/types/__tests__/time-utils.test.d.ts +0 -2
  149. package/dist/types/__tests__/time-utils.test.d.ts.map +0 -1
  150. package/dist/types/__tests__/trading-policy-schemas.test.d.ts +0 -2
  151. package/dist/types/__tests__/trading-policy-schemas.test.d.ts.map +0 -1
  152. package/dist/types/__tests__/trailing-stops-portfolio.test.d.ts +0 -2
  153. package/dist/types/__tests__/trailing-stops-portfolio.test.d.ts.map +0 -1
  154. package/dist/types/__tests__/volatility.test.d.ts +0 -2
  155. package/dist/types/__tests__/volatility.test.d.ts.map +0 -1
@@ -0,0 +1,292 @@
1
+ /**
2
+ * Public types for the alias-resolving LLM client.
3
+ *
4
+ * Application code names a semantic alias and never a vendor model string, so
5
+ * these types deliberately give a caller no way to express "use this model".
6
+ * That is the whole point of the layer: a model swap has to be a change to the
7
+ * route table, and a type that accepted a model id would let a call site opt
8
+ * out of the routing policy without anyone noticing.
9
+ *
10
+ * @module llm/types
11
+ */
12
+ /**
13
+ * The semantic aliases application code may name.
14
+ *
15
+ * A union rather than a bare string, so a call site that names an alias the
16
+ * route table does not define fails to compile instead of failing at runtime
17
+ * against whichever provider the gateway happened to have configured.
18
+ */
19
+ export type LlmAlias = "llm.reason" | "llm.agentic" | "llm.fast" | "llm.extract" | "llm.judge";
20
+ /** How urgently a caller needs an answer, which fixes the per-leg timeout budget. */
21
+ export type LlmLatencyClass = "hot-path" | "background" | "batch";
22
+ /** What a call is for, which fixes how conservatively a failure is handled. */
23
+ export type LlmCriticality = "trading-adjacent" | "ops" | "internal";
24
+ /** Position of a route in its alias's fallback chain. */
25
+ export type LlmRouteRole = "primary" | "secondary" | "closed_incumbent";
26
+ /** Whether a provider is an open-weight host, a retained closed vendor, or an aggregator. */
27
+ export type LlmProviderTier = "open" | "closed" | "aggregator";
28
+ /** Whether a provider account is usable today. */
29
+ export type LlmAccountStatus = "live" | "pending-onboarding" | "not-in-scope";
30
+ /** Whether a vendor model id was transcribed from a source or is still unknown. */
31
+ export type LlmModelIdStatus = "confirmed" | "pending-provider-confirmation";
32
+ /** Response shape a caller asks for, mirroring the incumbent client's vocabulary. */
33
+ export type LlmResponseFormat = "text" | "json" | {
34
+ readonly type: "json_schema";
35
+ readonly schema: {
36
+ readonly type: "object";
37
+ readonly properties: Record<string, unknown>;
38
+ readonly required?: readonly string[];
39
+ };
40
+ };
41
+ /** Capability and sampling declarations for one route. */
42
+ export interface LlmRouteParams {
43
+ readonly temperature?: number | null;
44
+ readonly max_output_tokens?: number | null;
45
+ readonly reasoning_effort?: "low" | "medium" | "high" | null;
46
+ readonly supports_temperature?: boolean;
47
+ readonly supports_json_schema?: boolean;
48
+ readonly supports_tools?: boolean;
49
+ readonly supports_cache_control?: boolean;
50
+ readonly supports_vision?: boolean;
51
+ readonly context_window?: number;
52
+ }
53
+ /** A dated price anchor for one route, used to project spend against a budget. */
54
+ export interface LlmPriceAnchor {
55
+ readonly input: number;
56
+ readonly output: number;
57
+ readonly as_of: string;
58
+ readonly source?: string;
59
+ }
60
+ /** One leg of an alias's fallback chain. */
61
+ export interface LlmRoute {
62
+ readonly role: LlmRouteRole;
63
+ readonly provider: string;
64
+ readonly model_id: string | null;
65
+ readonly model_id_status: LlmModelIdStatus;
66
+ readonly model_id_source?: string | null;
67
+ readonly model_family: string;
68
+ readonly lumic_model?: string | null;
69
+ readonly params?: LlmRouteParams;
70
+ readonly price_per_mtok?: LlmPriceAnchor;
71
+ readonly shadow_only?: boolean;
72
+ readonly notes?: string;
73
+ }
74
+ /** A provider account the chain can reach. */
75
+ export interface LlmProvider {
76
+ readonly display_name: string;
77
+ readonly tier: LlmProviderTier;
78
+ readonly api_style: "openai-compatible" | "anthropic";
79
+ readonly base_url: string | null;
80
+ readonly base_url_env: string | null;
81
+ readonly api_key_env: string;
82
+ readonly secret_path: string;
83
+ readonly account_status: LlmAccountStatus;
84
+ readonly lumic_provider?: string | null;
85
+ readonly published_rpm?: number | null;
86
+ readonly published_tpm?: number | null;
87
+ readonly limits_source?: string | null;
88
+ readonly docs_url: string;
89
+ readonly notes?: string;
90
+ }
91
+ /** Spend bound for one alias at the gateway layer. */
92
+ export interface LlmAliasBudget {
93
+ readonly basis: "provisional-pre-baseline" | "measured";
94
+ readonly monthly_usd: number;
95
+ readonly alert_pct: readonly number[];
96
+ }
97
+ /** One alias's complete routing definition. */
98
+ export interface LlmAliasDefinition {
99
+ readonly workload: string;
100
+ readonly latency_class: LlmLatencyClass;
101
+ readonly criticality: LlmCriticality;
102
+ readonly isolation_capable: boolean;
103
+ readonly pinned?: boolean;
104
+ readonly eval_gate: "structured-output" | "free-text-judge" | "tool-call" | "none-pinned-judge";
105
+ readonly policy_note?: string;
106
+ readonly budget: LlmAliasBudget;
107
+ readonly routes: readonly LlmRoute[];
108
+ }
109
+ /** Circuit-breaker tuning shared by every route. */
110
+ export interface LlmBreakerDefaults {
111
+ readonly failure_threshold: number;
112
+ readonly cooldown_ms: number;
113
+ readonly half_open_probes: number;
114
+ }
115
+ /** Defaults every alias inherits. */
116
+ export interface LlmRouteDefaults {
117
+ readonly request_timeout_ms: Readonly<Record<LlmLatencyClass, number>>;
118
+ readonly retries_per_leg: number;
119
+ readonly circuit_breaker: LlmBreakerDefaults;
120
+ }
121
+ /** A routing question the table cannot settle on its own authority. */
122
+ export interface LlmOpenItem {
123
+ readonly id: string;
124
+ readonly question: string;
125
+ readonly blocks: string;
126
+ readonly owner: string;
127
+ }
128
+ /** The canonical alias route table. */
129
+ export interface LlmRouteTable {
130
+ readonly schema_version: number;
131
+ readonly policy_source: string;
132
+ readonly revised?: string;
133
+ readonly defaults: LlmRouteDefaults;
134
+ readonly providers: Readonly<Record<string, LlmProvider>>;
135
+ readonly aliases: Readonly<Record<string, LlmAliasDefinition>>;
136
+ readonly open_items?: readonly LlmOpenItem[];
137
+ }
138
+ /** A route resolved for execution, with its provider and effective budget attached. */
139
+ export interface ResolvedRoute {
140
+ readonly alias: LlmAlias;
141
+ readonly isolated: boolean;
142
+ readonly role: LlmRouteRole;
143
+ readonly providerName: string;
144
+ readonly provider: LlmProvider;
145
+ readonly modelId: string;
146
+ readonly lumicModel: string | null;
147
+ readonly params: LlmRouteParams;
148
+ /** Stable identity of this leg, used to key its circuit breaker and its metrics. */
149
+ readonly routeKey: string;
150
+ readonly timeoutMs: number;
151
+ readonly retriesPerLeg: number;
152
+ }
153
+ /** Token accounting for one attempt, mirroring the incumbent client's shape. */
154
+ export interface LlmUsageRecord {
155
+ readonly prompt_tokens: number;
156
+ readonly completion_tokens: number;
157
+ readonly reasoning_tokens?: number;
158
+ readonly cached_tokens?: number;
159
+ readonly provider: string;
160
+ readonly model: string;
161
+ readonly cost: number;
162
+ }
163
+ /** A tool call the model asked for. */
164
+ export interface LlmToolCall {
165
+ readonly id: string;
166
+ readonly type: "function";
167
+ readonly function: {
168
+ readonly name: string;
169
+ readonly arguments: string;
170
+ };
171
+ }
172
+ /** The envelope a transport returns. */
173
+ export interface LlmTransportResponse<T> {
174
+ readonly response: T;
175
+ readonly usage: LlmUsageRecord;
176
+ readonly tool_calls?: readonly LlmToolCall[];
177
+ }
178
+ /** What the caller receives, with the routing decision attached for attribution. */
179
+ export interface AliasCallResult<T> extends LlmTransportResponse<T> {
180
+ /** The leg that produced the answer. */
181
+ readonly servedBy: ResolvedRoute;
182
+ /** Legs tried and rejected before this one, in order, with the reason each failed. */
183
+ readonly attempts: readonly AliasAttemptRecord[];
184
+ /** Whether the answer came from the degraded direct transport rather than the gateway. */
185
+ readonly degraded: boolean;
186
+ /** Usage summed across every attempt, so budget accounting counts what was actually spent. */
187
+ readonly totalUsage: LlmUsageRecord;
188
+ }
189
+ /** One attempt against one leg. */
190
+ export interface AliasAttemptRecord {
191
+ readonly routeKey: string;
192
+ readonly role: LlmRouteRole;
193
+ readonly provider: string;
194
+ readonly modelId: string;
195
+ readonly outcome: "ok" | "error" | "timeout" | "breaker-open" | "skipped";
196
+ readonly durationMs: number;
197
+ readonly reason?: string;
198
+ readonly usage?: LlmUsageRecord;
199
+ }
200
+ /**
201
+ * Outcome of validating a structured payload.
202
+ *
203
+ * A discriminated union rather than a boolean plus an out-parameter, so a
204
+ * validator cannot report success while leaving the value unnarrowed — the type
205
+ * system carries the rescued payload only on the branch that earned it.
206
+ */
207
+ export type LlmValidationOutcome<T> = {
208
+ readonly ok: true;
209
+ readonly value: T;
210
+ } | {
211
+ readonly ok: false;
212
+ readonly reason: string;
213
+ };
214
+ /**
215
+ * Options a caller passes alongside the prompt.
216
+ *
217
+ * Generic in the validated payload so a caller's validator and the call's
218
+ * result type are the same `T` by construction. Without the parameter the
219
+ * client would need a cast to connect them, and a cast at that seam is exactly
220
+ * where a validator could silently be applied to the wrong shape.
221
+ */
222
+ export interface AliasCallOptions<T = unknown> {
223
+ /** The semantic alias to serve this call. Required; there is no model option by design. */
224
+ readonly alias: LlmAlias;
225
+ /**
226
+ * Route through the alias's research-isolated variant (PD-9).
227
+ *
228
+ * Isolation is requested explicitly rather than inferred, because a boundary
229
+ * that depends on a caller being correctly classified elsewhere is a boundary
230
+ * that breaks quietly when the classification drifts.
231
+ */
232
+ readonly isolated?: boolean;
233
+ readonly temperature?: number;
234
+ readonly maxOutputTokens?: number;
235
+ readonly reasoningEffort?: "low" | "medium" | "high";
236
+ readonly tools?: readonly unknown[];
237
+ readonly developerPrompt?: string;
238
+ readonly context?: readonly unknown[];
239
+ readonly metadata?: Readonly<Record<string, string>>;
240
+ /** Overrides the latency class's per-leg budget. Never widens the caller's own deadline. */
241
+ readonly timeoutMs?: number;
242
+ readonly signal?: AbortSignal;
243
+ /**
244
+ * Validator for a structured payload. Supplying it enables the single
245
+ * feedback retry before the chain advances.
246
+ */
247
+ readonly validate?: (raw: unknown) => LlmValidationOutcome<T>;
248
+ /** Correlation id carried into transport metadata for cross-system tracing. */
249
+ readonly correlationId?: string;
250
+ }
251
+ /** A transport that can execute one resolved route. */
252
+ export interface LlmTransport {
253
+ readonly name: string;
254
+ /**
255
+ * Execute one leg.
256
+ *
257
+ * @param request Everything the leg needs, already normalised for its provider.
258
+ * @returns The provider's answer.
259
+ */
260
+ execute<T>(request: LlmTransportRequest): Promise<LlmTransportResponse<T>>;
261
+ }
262
+ /** A single normalised leg execution. */
263
+ export interface LlmTransportRequest {
264
+ readonly route: ResolvedRoute;
265
+ readonly content: string | readonly unknown[];
266
+ readonly responseFormat: LlmResponseFormat;
267
+ /** Provider-normalised parameters. A transport sends these verbatim. */
268
+ readonly params: Readonly<Record<string, unknown>>;
269
+ readonly signal: AbortSignal;
270
+ readonly correlationId?: string;
271
+ }
272
+ /** Runtime wiring for the client. */
273
+ export interface LlmClientConfig {
274
+ /** Base URL of the gateway. Absent means the gateway leg is unavailable. */
275
+ readonly gatewayBaseUrl?: string;
276
+ /** Env-var NAME holding the gateway key. Never the key itself. */
277
+ readonly gatewayApiKeyEnv?: string;
278
+ /** Transport used while the gateway is reachable. */
279
+ readonly gatewayTransport?: LlmTransport;
280
+ /**
281
+ * Transport used when the gateway itself is unreachable.
282
+ *
283
+ * Kept injectable so the client has no load-time dependency on a provider
284
+ * SDK. A gateway that is a single point of failure would trade one outage
285
+ * mode for a worse one, so this path exists; restricting it to closed-tier
286
+ * legs is what keeps it a safety net rather than a second routing policy.
287
+ */
288
+ readonly directTransport?: LlmTransport;
289
+ /** Clock, injected so timeout and breaker behaviour is testable without waiting. */
290
+ readonly now?: () => number;
291
+ }
292
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/llm/types.ts"],"names":[],"mappings":"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"}
@@ -578,11 +578,11 @@ export declare const AlpacaNewsArticleSchema: z.ZodObject<{
578
578
  id: number;
579
579
  source: string;
580
580
  symbols: string[];
581
+ content: string;
581
582
  created_at: string;
582
583
  updated_at: string;
583
584
  url: string;
584
585
  author: string;
585
- content: string;
586
586
  headline: string;
587
587
  summary: string;
588
588
  images: {
@@ -593,11 +593,11 @@ export declare const AlpacaNewsArticleSchema: z.ZodObject<{
593
593
  id: number;
594
594
  source: string;
595
595
  symbols: string[];
596
+ content: string;
596
597
  created_at: string;
597
598
  updated_at: string;
598
599
  url: string;
599
600
  author: string;
600
- content: string;
601
601
  headline: string;
602
602
  summary: string;
603
603
  images: {
@@ -632,11 +632,11 @@ export declare const AlpacaNewsResponseSchema: z.ZodObject<{
632
632
  id: number;
633
633
  source: string;
634
634
  symbols: string[];
635
+ content: string;
635
636
  created_at: string;
636
637
  updated_at: string;
637
638
  url: string;
638
639
  author: string;
639
- content: string;
640
640
  headline: string;
641
641
  summary: string;
642
642
  images: {
@@ -647,11 +647,11 @@ export declare const AlpacaNewsResponseSchema: z.ZodObject<{
647
647
  id: number;
648
648
  source: string;
649
649
  symbols: string[];
650
+ content: string;
650
651
  created_at: string;
651
652
  updated_at: string;
652
653
  url: string;
653
654
  author: string;
654
- content: string;
655
655
  headline: string;
656
656
  summary: string;
657
657
  images: {
@@ -665,11 +665,11 @@ export declare const AlpacaNewsResponseSchema: z.ZodObject<{
665
665
  id: number;
666
666
  source: string;
667
667
  symbols: string[];
668
+ content: string;
668
669
  created_at: string;
669
670
  updated_at: string;
670
671
  url: string;
671
672
  author: string;
672
- content: string;
673
673
  headline: string;
674
674
  summary: string;
675
675
  images: {
@@ -683,11 +683,11 @@ export declare const AlpacaNewsResponseSchema: z.ZodObject<{
683
683
  id: number;
684
684
  source: string;
685
685
  symbols: string[];
686
+ content: string;
686
687
  created_at: string;
687
688
  updated_at: string;
688
689
  url: string;
689
690
  author: string;
690
- content: string;
691
691
  headline: string;
692
692
  summary: string;
693
693
  images: {
@@ -883,31 +883,31 @@ export declare const EffectiveTradingPolicySchema: z.ZodObject<{
883
883
  provider: z.ZodNativeEnum<typeof LlmProvider>;
884
884
  modelId: z.ZodString;
885
885
  }, "strip", z.ZodTypeAny, {
886
- provider: LlmProvider;
887
886
  modelId: string;
888
- }, {
889
887
  provider: LlmProvider;
888
+ }, {
890
889
  modelId: string;
890
+ provider: LlmProvider;
891
891
  }>, "many">>;
892
892
  normalFallbackChain: z.ZodDefault<z.ZodArray<z.ZodObject<{
893
893
  provider: z.ZodNativeEnum<typeof LlmProvider>;
894
894
  modelId: z.ZodString;
895
895
  }, "strip", z.ZodTypeAny, {
896
- provider: LlmProvider;
897
896
  modelId: string;
898
- }, {
899
897
  provider: LlmProvider;
898
+ }, {
900
899
  modelId: string;
900
+ provider: LlmProvider;
901
901
  }>, "many">>;
902
902
  advancedFallbackChain: z.ZodDefault<z.ZodArray<z.ZodObject<{
903
903
  provider: z.ZodNativeEnum<typeof LlmProvider>;
904
904
  modelId: z.ZodString;
905
905
  }, "strip", z.ZodTypeAny, {
906
- provider: LlmProvider;
907
906
  modelId: string;
908
- }, {
909
907
  provider: LlmProvider;
908
+ }, {
910
909
  modelId: string;
910
+ provider: LlmProvider;
911
911
  }>, "many">>;
912
912
  escalateToAdvancedWhenConflicts: z.ZodDefault<z.ZodBoolean>;
913
913
  escalateToAdvancedWhenHighExposure: z.ZodDefault<z.ZodBoolean>;
@@ -937,16 +937,16 @@ export declare const EffectiveTradingPolicySchema: z.ZodObject<{
937
937
  maxRetries: number;
938
938
  timeoutMs: number;
939
939
  miniFallbackChain: {
940
- provider: LlmProvider;
941
940
  modelId: string;
941
+ provider: LlmProvider;
942
942
  }[];
943
943
  normalFallbackChain: {
944
- provider: LlmProvider;
945
944
  modelId: string;
945
+ provider: LlmProvider;
946
946
  }[];
947
947
  advancedFallbackChain: {
948
- provider: LlmProvider;
949
948
  modelId: string;
949
+ provider: LlmProvider;
950
950
  }[];
951
951
  escalateToAdvancedWhenConflicts: boolean;
952
952
  escalateToAdvancedWhenHighExposure: boolean;
@@ -968,16 +968,16 @@ export declare const EffectiveTradingPolicySchema: z.ZodObject<{
968
968
  maxRetries?: number | undefined;
969
969
  timeoutMs?: number | undefined;
970
970
  miniFallbackChain?: {
971
- provider: LlmProvider;
972
971
  modelId: string;
972
+ provider: LlmProvider;
973
973
  }[] | undefined;
974
974
  normalFallbackChain?: {
975
- provider: LlmProvider;
976
975
  modelId: string;
976
+ provider: LlmProvider;
977
977
  }[] | undefined;
978
978
  advancedFallbackChain?: {
979
- provider: LlmProvider;
980
979
  modelId: string;
980
+ provider: LlmProvider;
981
981
  }[] | undefined;
982
982
  escalateToAdvancedWhenConflicts?: boolean | undefined;
983
983
  escalateToAdvancedWhenHighExposure?: boolean | undefined;
@@ -1313,16 +1313,16 @@ export declare const EffectiveTradingPolicySchema: z.ZodObject<{
1313
1313
  maxRetries: number;
1314
1314
  timeoutMs: number;
1315
1315
  miniFallbackChain: {
1316
- provider: LlmProvider;
1317
1316
  modelId: string;
1317
+ provider: LlmProvider;
1318
1318
  }[];
1319
1319
  normalFallbackChain: {
1320
- provider: LlmProvider;
1321
1320
  modelId: string;
1321
+ provider: LlmProvider;
1322
1322
  }[];
1323
1323
  advancedFallbackChain: {
1324
- provider: LlmProvider;
1325
1324
  modelId: string;
1325
+ provider: LlmProvider;
1326
1326
  }[];
1327
1327
  escalateToAdvancedWhenConflicts: boolean;
1328
1328
  escalateToAdvancedWhenHighExposure: boolean;
@@ -1650,16 +1650,16 @@ export declare const EffectiveTradingPolicySchema: z.ZodObject<{
1650
1650
  maxRetries?: number | undefined;
1651
1651
  timeoutMs?: number | undefined;
1652
1652
  miniFallbackChain?: {
1653
- provider: LlmProvider;
1654
1653
  modelId: string;
1654
+ provider: LlmProvider;
1655
1655
  }[] | undefined;
1656
1656
  normalFallbackChain?: {
1657
- provider: LlmProvider;
1658
1657
  modelId: string;
1658
+ provider: LlmProvider;
1659
1659
  }[] | undefined;
1660
1660
  advancedFallbackChain?: {
1661
- provider: LlmProvider;
1662
1661
  modelId: string;
1662
+ provider: LlmProvider;
1663
1663
  }[] | undefined;
1664
1664
  escalateToAdvancedWhenConflicts?: boolean | undefined;
1665
1665
  escalateToAdvancedWhenHighExposure?: boolean | undefined;
@@ -13,31 +13,31 @@ export declare const ModelPrefsObjectSchema: z.ZodObject<{
13
13
  provider: z.ZodNativeEnum<typeof LlmProvider>;
14
14
  modelId: z.ZodString;
15
15
  }, "strip", z.ZodTypeAny, {
16
- provider: LlmProvider;
17
16
  modelId: string;
18
- }, {
19
17
  provider: LlmProvider;
18
+ }, {
20
19
  modelId: string;
20
+ provider: LlmProvider;
21
21
  }>, "many">>;
22
22
  normalFallbackChain: z.ZodDefault<z.ZodArray<z.ZodObject<{
23
23
  provider: z.ZodNativeEnum<typeof LlmProvider>;
24
24
  modelId: z.ZodString;
25
25
  }, "strip", z.ZodTypeAny, {
26
- provider: LlmProvider;
27
26
  modelId: string;
28
- }, {
29
27
  provider: LlmProvider;
28
+ }, {
30
29
  modelId: string;
30
+ provider: LlmProvider;
31
31
  }>, "many">>;
32
32
  advancedFallbackChain: z.ZodDefault<z.ZodArray<z.ZodObject<{
33
33
  provider: z.ZodNativeEnum<typeof LlmProvider>;
34
34
  modelId: z.ZodString;
35
35
  }, "strip", z.ZodTypeAny, {
36
- provider: LlmProvider;
37
36
  modelId: string;
38
- }, {
39
37
  provider: LlmProvider;
38
+ }, {
40
39
  modelId: string;
40
+ provider: LlmProvider;
41
41
  }>, "many">>;
42
42
  escalateToAdvancedWhenConflicts: z.ZodDefault<z.ZodBoolean>;
43
43
  escalateToAdvancedWhenHighExposure: z.ZodDefault<z.ZodBoolean>;
@@ -67,16 +67,16 @@ export declare const ModelPrefsObjectSchema: z.ZodObject<{
67
67
  maxRetries: number;
68
68
  timeoutMs: number;
69
69
  miniFallbackChain: {
70
- provider: LlmProvider;
71
70
  modelId: string;
71
+ provider: LlmProvider;
72
72
  }[];
73
73
  normalFallbackChain: {
74
- provider: LlmProvider;
75
74
  modelId: string;
75
+ provider: LlmProvider;
76
76
  }[];
77
77
  advancedFallbackChain: {
78
- provider: LlmProvider;
79
78
  modelId: string;
79
+ provider: LlmProvider;
80
80
  }[];
81
81
  escalateToAdvancedWhenConflicts: boolean;
82
82
  escalateToAdvancedWhenHighExposure: boolean;
@@ -98,16 +98,16 @@ export declare const ModelPrefsObjectSchema: z.ZodObject<{
98
98
  maxRetries?: number | undefined;
99
99
  timeoutMs?: number | undefined;
100
100
  miniFallbackChain?: {
101
- provider: LlmProvider;
102
101
  modelId: string;
102
+ provider: LlmProvider;
103
103
  }[] | undefined;
104
104
  normalFallbackChain?: {
105
- provider: LlmProvider;
106
105
  modelId: string;
106
+ provider: LlmProvider;
107
107
  }[] | undefined;
108
108
  advancedFallbackChain?: {
109
- provider: LlmProvider;
110
109
  modelId: string;
110
+ provider: LlmProvider;
111
111
  }[] | undefined;
112
112
  escalateToAdvancedWhenConflicts?: boolean | undefined;
113
113
  escalateToAdvancedWhenHighExposure?: boolean | undefined;
@@ -131,31 +131,31 @@ export declare const ModelPrefsSchema: z.ZodDefault<z.ZodObject<{
131
131
  provider: z.ZodNativeEnum<typeof LlmProvider>;
132
132
  modelId: z.ZodString;
133
133
  }, "strip", z.ZodTypeAny, {
134
- provider: LlmProvider;
135
134
  modelId: string;
136
- }, {
137
135
  provider: LlmProvider;
136
+ }, {
138
137
  modelId: string;
138
+ provider: LlmProvider;
139
139
  }>, "many">>;
140
140
  normalFallbackChain: z.ZodDefault<z.ZodArray<z.ZodObject<{
141
141
  provider: z.ZodNativeEnum<typeof LlmProvider>;
142
142
  modelId: z.ZodString;
143
143
  }, "strip", z.ZodTypeAny, {
144
- provider: LlmProvider;
145
144
  modelId: string;
146
- }, {
147
145
  provider: LlmProvider;
146
+ }, {
148
147
  modelId: string;
148
+ provider: LlmProvider;
149
149
  }>, "many">>;
150
150
  advancedFallbackChain: z.ZodDefault<z.ZodArray<z.ZodObject<{
151
151
  provider: z.ZodNativeEnum<typeof LlmProvider>;
152
152
  modelId: z.ZodString;
153
153
  }, "strip", z.ZodTypeAny, {
154
- provider: LlmProvider;
155
154
  modelId: string;
156
- }, {
157
155
  provider: LlmProvider;
156
+ }, {
158
157
  modelId: string;
158
+ provider: LlmProvider;
159
159
  }>, "many">>;
160
160
  escalateToAdvancedWhenConflicts: z.ZodDefault<z.ZodBoolean>;
161
161
  escalateToAdvancedWhenHighExposure: z.ZodDefault<z.ZodBoolean>;
@@ -185,16 +185,16 @@ export declare const ModelPrefsSchema: z.ZodDefault<z.ZodObject<{
185
185
  maxRetries: number;
186
186
  timeoutMs: number;
187
187
  miniFallbackChain: {
188
- provider: LlmProvider;
189
188
  modelId: string;
189
+ provider: LlmProvider;
190
190
  }[];
191
191
  normalFallbackChain: {
192
- provider: LlmProvider;
193
192
  modelId: string;
193
+ provider: LlmProvider;
194
194
  }[];
195
195
  advancedFallbackChain: {
196
- provider: LlmProvider;
197
196
  modelId: string;
197
+ provider: LlmProvider;
198
198
  }[];
199
199
  escalateToAdvancedWhenConflicts: boolean;
200
200
  escalateToAdvancedWhenHighExposure: boolean;
@@ -216,16 +216,16 @@ export declare const ModelPrefsSchema: z.ZodDefault<z.ZodObject<{
216
216
  maxRetries?: number | undefined;
217
217
  timeoutMs?: number | undefined;
218
218
  miniFallbackChain?: {
219
- provider: LlmProvider;
220
219
  modelId: string;
220
+ provider: LlmProvider;
221
221
  }[] | undefined;
222
222
  normalFallbackChain?: {
223
- provider: LlmProvider;
224
223
  modelId: string;
224
+ provider: LlmProvider;
225
225
  }[] | undefined;
226
226
  advancedFallbackChain?: {
227
- provider: LlmProvider;
228
227
  modelId: string;
228
+ provider: LlmProvider;
229
229
  }[] | undefined;
230
230
  escalateToAdvancedWhenConflicts?: boolean | undefined;
231
231
  escalateToAdvancedWhenHighExposure?: boolean | undefined;