@urun-sh/openai 0.5.5 → 0.5.6
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/{ResponsesClient-BYx3YLGo.d.ts → ResponsesClient-BE3-hx3m.d.ts} +2 -0
- package/dist/{ResponsesClient-Dft3bg3b.d.cts → ResponsesClient-DjZWjlFH.d.cts} +2 -0
- package/dist/chunk-2T2YYBVX.js +1 -0
- package/dist/chunk-3WAJD62J.js +4 -0
- package/dist/{chunk-K23AZPI4.js → chunk-5HKWNK3O.js} +1 -1
- package/dist/chunk-7M6LY6DR.js +2 -0
- package/dist/chunk-BSHT6RZZ.js +1 -0
- package/dist/{chunk-GBBY3PCZ.js → chunk-FP4RSAIE.js} +1 -1
- package/dist/chunk-HR5H6S7L.js +1 -0
- package/dist/chunk-NY23USZF.js +57 -0
- package/dist/chunk-VLRMJRLS.js +6 -0
- package/dist/gemini-live.cjs +2 -2
- package/dist/gemini-live.d.cts +17 -2
- package/dist/gemini-live.d.ts +7 -2
- package/dist/gemini-live.js +1 -1
- package/dist/hosted/bin.cjs +40 -26
- package/dist/hosted/bin.js +4 -4
- package/dist/hosted/index.cjs +39 -26
- package/dist/hosted/index.d.cts +643 -16
- package/dist/hosted/index.d.ts +153 -5
- package/dist/hosted/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/{models-NYMZrklp.d.cts → models-DUdx_Y6X.d.cts} +1 -1
- package/dist/pi-extension/index.cjs +7 -7
- package/dist/pi-extension/index.d.cts +1 -1
- package/dist/pi-extension/index.d.ts +1 -1
- package/dist/pi-extension/index.js +1 -1
- package/dist/pi-extension/standalone.cjs +48 -48
- package/dist/proxy/cli.cjs +53 -43
- package/dist/proxy/cli.js +14 -14
- package/dist/proxy/index.cjs +32 -30
- package/dist/proxy/index.d.cts +84 -8
- package/dist/proxy/index.d.ts +16 -6
- package/dist/proxy/index.js +1 -6
- package/dist/responses-turn-Dr37N3kH.d.ts +486 -0
- package/dist/responses-turn-tNUHq5b0.d.cts +1807 -0
- package/dist/{translator-C9uPKypK.d.ts → translator-BCoRFaTs.d.ts} +1 -1
- package/dist/{translator-CcDBEfvm.d.cts → translator-Bh0Bp_Ie.d.cts} +3 -3
- package/dist/{video-out-D20UuJ8G.d.cts → video-out-CCksIcj8.d.cts} +5 -5
- package/package.json +12 -11
- package/dist/chunk-5BZCM3RS.js +0 -4
- package/dist/chunk-5NXM4IO3.js +0 -2
- package/dist/chunk-CWJRDBDC.js +0 -1
- package/dist/chunk-DMD5UENK.js +0 -1
- package/dist/chunk-I2Q3B3OG.js +0 -6
- package/dist/chunk-OI2OY32M.js +0 -1
- package/dist/chunk-QVF7NF7G.js +0 -44
- package/dist/responses-turn-KOAoIqZ-.d.ts +0 -200
- package/dist/responses-turn-OrO4euEN.d.cts +0 -513
- /package/dist/{chunk-YSFSRI3D.js → chunk-5CCJUNH7.js} +0 -0
- /package/dist/{models-NYMZrklp.d.ts → models-DUdx_Y6X.d.ts} +0 -0
- /package/dist/{video-out-CWesbk12.d.ts → video-out-IGQ4YQ-c.d.ts} +0 -0
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
import { C as CatalogRow } from './models-DUdx_Y6X.js';
|
|
2
|
+
import { IncomingMessage } from 'node:http';
|
|
3
|
+
import { a as AudioBridge, h as VideoFrameLane, j as VideoOutLane } from './video-out-IGQ4YQ-c.js';
|
|
4
|
+
|
|
5
|
+
interface ProxyIdentity {
|
|
6
|
+
app: string;
|
|
7
|
+
org: string;
|
|
8
|
+
fn: string;
|
|
9
|
+
|
|
10
|
+
base_url: string;
|
|
11
|
+
proxy_version: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
type TurnCatalogIdentity = {
|
|
15
|
+
kind: 'catalog';
|
|
16
|
+
model_id: string;
|
|
17
|
+
variant: string;
|
|
18
|
+
} | {
|
|
19
|
+
kind: 'not-a-catalog-model';
|
|
20
|
+
model: string | null;
|
|
21
|
+
} | {
|
|
22
|
+
kind: 'unresolved';
|
|
23
|
+
reason: string;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
interface DialReport {
|
|
27
|
+
|
|
28
|
+
sessionId: string | null;
|
|
29
|
+
|
|
30
|
+
identity: TurnCatalogIdentity;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
type DialObserver = (dial: DialReport) => void;
|
|
34
|
+
|
|
35
|
+
interface InferenceRecord {
|
|
36
|
+
readonly event: 'inference_request';
|
|
37
|
+
readonly ts: string;
|
|
38
|
+
readonly inference_id: string;
|
|
39
|
+
readonly method: string;
|
|
40
|
+
readonly path: string;
|
|
41
|
+
readonly status: number | null;
|
|
42
|
+
readonly delivered: boolean;
|
|
43
|
+
readonly stream_error: boolean;
|
|
44
|
+
readonly model: string | null;
|
|
45
|
+
readonly stream: boolean | null;
|
|
46
|
+
readonly org: string | null;
|
|
47
|
+
readonly duration_ms: number;
|
|
48
|
+
readonly ttft_ms: number | null;
|
|
49
|
+
|
|
50
|
+
readonly prompt_tokens: number | null;
|
|
51
|
+
readonly completion_tokens: number | null;
|
|
52
|
+
readonly output_units: number | null;
|
|
53
|
+
|
|
54
|
+
readonly session_id: string | null;
|
|
55
|
+
|
|
56
|
+
readonly queue_ms: number | null;
|
|
57
|
+
readonly prefill_ms: number | null;
|
|
58
|
+
readonly decode_ms: number | null;
|
|
59
|
+
readonly total_ms: number | null;
|
|
60
|
+
|
|
61
|
+
readonly catalog: TurnCatalogIdentity;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
interface SharedEndpointRow {
|
|
65
|
+
model_id: string;
|
|
66
|
+
variant: string;
|
|
67
|
+
|
|
68
|
+
app_slug: string;
|
|
69
|
+
|
|
70
|
+
function: string;
|
|
71
|
+
|
|
72
|
+
gpu_spec?: string | null;
|
|
73
|
+
|
|
74
|
+
warm?: number | null;
|
|
75
|
+
|
|
76
|
+
compat_default?: boolean | null;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
interface SharedCatalogBlock {
|
|
80
|
+
shared_org_id: string;
|
|
81
|
+
endpoints: SharedEndpointRow[];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
interface TokenPricing {
|
|
85
|
+
input: number;
|
|
86
|
+
output: number;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
type Side = 'input' | 'output';
|
|
90
|
+
|
|
91
|
+
interface ModelPriceRow {
|
|
92
|
+
model_id: string;
|
|
93
|
+
|
|
94
|
+
variant: string | null;
|
|
95
|
+
side: Side;
|
|
96
|
+
|
|
97
|
+
usd: number;
|
|
98
|
+
|
|
99
|
+
effective_at: number;
|
|
100
|
+
|
|
101
|
+
expires_at: number | null;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
type OpenRouterProviderDoc = {
|
|
105
|
+
data: OpenRouterProviderModel[];
|
|
106
|
+
};
|
|
107
|
+
interface OpenRouterProviderModel {
|
|
108
|
+
schema_version: '2.4';
|
|
109
|
+
|
|
110
|
+
id: string;
|
|
111
|
+
name: string;
|
|
112
|
+
created: number;
|
|
113
|
+
|
|
114
|
+
quantization: string | null;
|
|
115
|
+
description: string;
|
|
116
|
+
hugging_face_id: string;
|
|
117
|
+
input_modalities: Array<Record<string, unknown>>;
|
|
118
|
+
output_modalities: Array<Record<string, unknown>>;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface DeployedApp {
|
|
122
|
+
app_slug: string;
|
|
123
|
+
function_name?: string | null;
|
|
124
|
+
deployment_status?: string | null;
|
|
125
|
+
[k: string]: unknown;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
declare class UnknownModelError extends Error {
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
declare class SessionGoneError extends Error {
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
interface RouterModelEntry {
|
|
135
|
+
id: string;
|
|
136
|
+
object: 'model';
|
|
137
|
+
created: number;
|
|
138
|
+
owned_by: string;
|
|
139
|
+
|
|
140
|
+
name?: string;
|
|
141
|
+
|
|
142
|
+
description?: string;
|
|
143
|
+
|
|
144
|
+
task?: string;
|
|
145
|
+
|
|
146
|
+
engine?: string;
|
|
147
|
+
|
|
148
|
+
gpu_spec?: string;
|
|
149
|
+
|
|
150
|
+
context_length?: number;
|
|
151
|
+
|
|
152
|
+
pricing?: TokenPricing;
|
|
153
|
+
|
|
154
|
+
warm?: number;
|
|
155
|
+
}
|
|
156
|
+
interface RouterModelList {
|
|
157
|
+
object: 'list';
|
|
158
|
+
data: RouterModelEntry[];
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
interface RouterImageModelEntry extends RouterModelEntry {
|
|
162
|
+
image_modes: ImageCapabilityMode[];
|
|
163
|
+
}
|
|
164
|
+
interface RouterImageModelList {
|
|
165
|
+
object: 'list';
|
|
166
|
+
data: RouterImageModelEntry[];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
interface RouteTarget {
|
|
170
|
+
appSlug: string;
|
|
171
|
+
|
|
172
|
+
fnName?: string;
|
|
173
|
+
|
|
174
|
+
sharedApp?: boolean;
|
|
175
|
+
|
|
176
|
+
modelId?: string;
|
|
177
|
+
|
|
178
|
+
variant?: string;
|
|
179
|
+
}
|
|
180
|
+
interface ModelRouterOptions<S> {
|
|
181
|
+
|
|
182
|
+
defaultApp: string | null;
|
|
183
|
+
|
|
184
|
+
fnName: string;
|
|
185
|
+
|
|
186
|
+
openSession: (target: RouteTarget) => S | Promise<S>;
|
|
187
|
+
|
|
188
|
+
closeSession: (entry: S) => Promise<void>;
|
|
189
|
+
|
|
190
|
+
listApps: (() => Promise<DeployedApp[]>) | null;
|
|
191
|
+
|
|
192
|
+
listCatalog: (() => Promise<CatalogRow[]>) | null;
|
|
193
|
+
|
|
194
|
+
listPrices: (() => Promise<ModelPriceRow[]>) | null;
|
|
195
|
+
|
|
196
|
+
warn?: (line: string) => void;
|
|
197
|
+
|
|
198
|
+
appsTtlMs?: number;
|
|
199
|
+
|
|
200
|
+
sessionKey?: (entry: S) => string;
|
|
201
|
+
|
|
202
|
+
shared?: (() => Promise<SharedCatalogBlock | null>) | null;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
type ImageCapabilityMode = 'generation' | 'edit';
|
|
206
|
+
|
|
207
|
+
declare class ModelRouter<S> {
|
|
208
|
+
private readonly opts;
|
|
209
|
+
private readonly pool;
|
|
210
|
+
private appsCache;
|
|
211
|
+
private rowsCache;
|
|
212
|
+
constructor(opts: ModelRouterOptions<S>);
|
|
213
|
+
|
|
214
|
+
seed(appSlug: string, entry: S): void;
|
|
215
|
+
private deployedApps;
|
|
216
|
+
|
|
217
|
+
private sharedBlock;
|
|
218
|
+
private sharedCache;
|
|
219
|
+
|
|
220
|
+
private catalogRows;
|
|
221
|
+
private pricesCache;
|
|
222
|
+
|
|
223
|
+
private priceRows;
|
|
224
|
+
|
|
225
|
+
private pricesForListing;
|
|
226
|
+
|
|
227
|
+
private warn;
|
|
228
|
+
|
|
229
|
+
private servable;
|
|
230
|
+
private availableIds;
|
|
231
|
+
|
|
232
|
+
private noDefaultApp;
|
|
233
|
+
|
|
234
|
+
private resolveTarget;
|
|
235
|
+
|
|
236
|
+
catalogIdentityFor(model: string | undefined): Promise<{
|
|
237
|
+
model_id: string;
|
|
238
|
+
variant: string;
|
|
239
|
+
} | null>;
|
|
240
|
+
|
|
241
|
+
servingAppSlugFor(model: string | undefined): Promise<string>;
|
|
242
|
+
|
|
243
|
+
resolveApp(model: string | undefined): Promise<string>;
|
|
244
|
+
|
|
245
|
+
sessionFor(model: string | undefined): Promise<{
|
|
246
|
+
app: string;
|
|
247
|
+
entry: S;
|
|
248
|
+
identity: TurnCatalogIdentity;
|
|
249
|
+
}>;
|
|
250
|
+
private keyOf;
|
|
251
|
+
|
|
252
|
+
handleFor(model: string | undefined): Promise<{
|
|
253
|
+
app: string;
|
|
254
|
+
handle: string;
|
|
255
|
+
}>;
|
|
256
|
+
|
|
257
|
+
sessionForHandle(handle: string): Promise<{
|
|
258
|
+
app: string;
|
|
259
|
+
entry: S;
|
|
260
|
+
}>;
|
|
261
|
+
|
|
262
|
+
evict(app: string, entry: S): Promise<void>;
|
|
263
|
+
|
|
264
|
+
modelList(): Promise<RouterModelList>;
|
|
265
|
+
|
|
266
|
+
openRouterModels(): Promise<OpenRouterProviderDoc>;
|
|
267
|
+
|
|
268
|
+
supportsImages(model: string | undefined, mode: ImageCapabilityMode): Promise<boolean>;
|
|
269
|
+
|
|
270
|
+
supportsAudio(model: string | undefined): Promise<boolean>;
|
|
271
|
+
|
|
272
|
+
imageModelList(): Promise<RouterImageModelList>;
|
|
273
|
+
|
|
274
|
+
closeAll(): Promise<void>;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
interface InferenceUsageRecord {
|
|
278
|
+
|
|
279
|
+
inference_id: string;
|
|
280
|
+
|
|
281
|
+
model_id: string;
|
|
282
|
+
|
|
283
|
+
identity_kind: string;
|
|
284
|
+
|
|
285
|
+
variant: string | null;
|
|
286
|
+
task: string;
|
|
287
|
+
http_status: number;
|
|
288
|
+
started_at: string;
|
|
289
|
+
completed_at: string;
|
|
290
|
+
|
|
291
|
+
prompt_tokens: number | null;
|
|
292
|
+
completion_tokens: number | null;
|
|
293
|
+
output_units: number | null;
|
|
294
|
+
|
|
295
|
+
cost_nano_usd: number | null;
|
|
296
|
+
price_version: string | null;
|
|
297
|
+
priced_at: string | null;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
interface UsageRowRejection {
|
|
301
|
+
|
|
302
|
+
where: string;
|
|
303
|
+
|
|
304
|
+
reason: string;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
type UsageRowReporter = (rejection: UsageRowRejection) => void | Promise<void>;
|
|
308
|
+
|
|
309
|
+
interface UsageLane {
|
|
310
|
+
|
|
311
|
+
authorize(req: IncomingMessage): string;
|
|
312
|
+
|
|
313
|
+
lookup(credential: string, inferenceIds: readonly string[]): Promise<InferenceUsageRecord[]>;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
interface LedgerWrite {
|
|
317
|
+
|
|
318
|
+
inference_id: string;
|
|
319
|
+
|
|
320
|
+
model_id: string;
|
|
321
|
+
|
|
322
|
+
identity_kind: 'catalog_model' | 'caller_org_app';
|
|
323
|
+
variant: string | null;
|
|
324
|
+
task: string;
|
|
325
|
+
http_status: number;
|
|
326
|
+
started_at: string;
|
|
327
|
+
completed_at: string;
|
|
328
|
+
|
|
329
|
+
billable_outcome: boolean;
|
|
330
|
+
|
|
331
|
+
session_id: string | null;
|
|
332
|
+
|
|
333
|
+
prompt_tokens: number | null;
|
|
334
|
+
completion_tokens: number | null;
|
|
335
|
+
output_units: number | null;
|
|
336
|
+
|
|
337
|
+
queue_ms: number | null;
|
|
338
|
+
prefill_ms: number | null;
|
|
339
|
+
decode_ms: number | null;
|
|
340
|
+
total_ms: number | null;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
interface LedgerRecorded {
|
|
344
|
+
inference_id: string;
|
|
345
|
+
|
|
346
|
+
cost_nano_usd: number | null;
|
|
347
|
+
|
|
348
|
+
price_version: string | null;
|
|
349
|
+
|
|
350
|
+
unpriced_reason: string | null;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
declare const LEDGER_FAILURE_REASONS: readonly ["duplicate", "duplicate_foreign", "auth", "surface", "unknown", "dwell_expired", "dropped_on_exit"];
|
|
354
|
+
type LedgerFailureReason = (typeof LEDGER_FAILURE_REASONS)[number];
|
|
355
|
+
|
|
356
|
+
interface LedgerFailure {
|
|
357
|
+
readonly ledgerFailureReason: LedgerFailureReason;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
declare const LEDGER_SKIP_REASONS: readonly ["no_response_head", "no_org", "model_unresolved", "no_model_named", "queue_full"];
|
|
361
|
+
type LedgerSkipReason = (typeof LEDGER_SKIP_REASONS)[number];
|
|
362
|
+
|
|
363
|
+
type LedgerOutcome =
|
|
364
|
+
|
|
365
|
+
{
|
|
366
|
+
outcome: 'written';
|
|
367
|
+
reason: 'priced' | 'unpriced';
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
| {
|
|
371
|
+
outcome: 'already_written';
|
|
372
|
+
reason: 'priced' | 'unpriced';
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
| {
|
|
376
|
+
outcome: 'skipped';
|
|
377
|
+
reason: LedgerSkipReason;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
| {
|
|
381
|
+
outcome: 'failed';
|
|
382
|
+
reason: LedgerFailureReason;
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
interface LedgerLane {
|
|
386
|
+
|
|
387
|
+
write(req: IncomingMessage, entry: LedgerWrite): Promise<LedgerRecorded>;
|
|
388
|
+
|
|
389
|
+
observe(outcome: LedgerOutcome): void;
|
|
390
|
+
|
|
391
|
+
report?(line: string): void;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
interface ResponsesCreateParams {
|
|
395
|
+
model?: string;
|
|
396
|
+
input: unknown;
|
|
397
|
+
stream?: boolean;
|
|
398
|
+
tools?: unknown;
|
|
399
|
+
tool_choice?: unknown;
|
|
400
|
+
temperature?: number;
|
|
401
|
+
max_output_tokens?: number;
|
|
402
|
+
|
|
403
|
+
instructions?: string;
|
|
404
|
+
top_p?: number;
|
|
405
|
+
stop?: string[];
|
|
406
|
+
|
|
407
|
+
reasoning_effort?: string;
|
|
408
|
+
chat_template_kwargs?: Record<string, unknown>;
|
|
409
|
+
|
|
410
|
+
response_format?: unknown;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
interface SessionEndInfo {
|
|
414
|
+
|
|
415
|
+
timeLeftMs: number | null;
|
|
416
|
+
|
|
417
|
+
reason: string;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
interface ProxyClients {
|
|
421
|
+
|
|
422
|
+
readonly tenant?: string;
|
|
423
|
+
|
|
424
|
+
createResponse(params: ResponsesCreateParams, onDial?: DialObserver): Promise<AsyncIterable<unknown>> | AsyncIterable<unknown>;
|
|
425
|
+
|
|
426
|
+
listModels(): Promise<unknown>;
|
|
427
|
+
|
|
428
|
+
openRouterModels?(): Promise<unknown>;
|
|
429
|
+
|
|
430
|
+
supportsImages?(model: string | undefined, mode: 'generation' | 'edit'): Promise<boolean>;
|
|
431
|
+
|
|
432
|
+
supportsAudio?(model: string | undefined): Promise<boolean>;
|
|
433
|
+
|
|
434
|
+
listImageModels?(): Promise<unknown>;
|
|
435
|
+
|
|
436
|
+
catalogIdentity(model: string | undefined): Promise<{
|
|
437
|
+
model_id: string;
|
|
438
|
+
variant: string;
|
|
439
|
+
} | null>;
|
|
440
|
+
|
|
441
|
+
servingAppSlug?(model: string | undefined): Promise<string | null>;
|
|
442
|
+
|
|
443
|
+
openAudio?(model: string | undefined): Promise<ProxyAudioLane>;
|
|
444
|
+
|
|
445
|
+
openVideo?(model: string | undefined): Promise<ProxyVideoLane>;
|
|
446
|
+
|
|
447
|
+
openVideoOut?(model: string | undefined): Promise<ProxyVideoOutLane>;
|
|
448
|
+
|
|
449
|
+
sessionHandle(model: string | undefined): Promise<string>;
|
|
450
|
+
|
|
451
|
+
createResponseOn(handle: string, params: ResponsesCreateParams): Promise<AsyncIterable<unknown>> | AsyncIterable<unknown>;
|
|
452
|
+
|
|
453
|
+
onSessionEnd(handle: string, cb: (end: SessionEndInfo) => void): Promise<() => void>;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
type ProxyAudioLane = Pick<AudioBridge, 'appendInputAudio' | 'onOutputAudio'>;
|
|
457
|
+
|
|
458
|
+
type ProxyVideoLane = Pick<VideoFrameLane, 'sendInputFrame'>;
|
|
459
|
+
|
|
460
|
+
type ProxyVideoOutLane = Pick<VideoOutLane, 'codec' | 'onOutputFrame' | 'onLaneError'>;
|
|
461
|
+
|
|
462
|
+
type ProxyClientsFor = (req: IncomingMessage) => ProxyClients | Promise<ProxyClients>;
|
|
463
|
+
interface ProxyHandlerOptions {
|
|
464
|
+
|
|
465
|
+
clients: ProxyClients | ProxyClientsFor;
|
|
466
|
+
|
|
467
|
+
apiKey?: string;
|
|
468
|
+
|
|
469
|
+
identity?: ProxyIdentity;
|
|
470
|
+
|
|
471
|
+
statusOf?: (err: unknown) => {
|
|
472
|
+
status: number;
|
|
473
|
+
openaiType: string;
|
|
474
|
+
anthropicType: string;
|
|
475
|
+
} | null;
|
|
476
|
+
|
|
477
|
+
requestLog?: (line: string) => void;
|
|
478
|
+
|
|
479
|
+
usage?: UsageLane;
|
|
480
|
+
|
|
481
|
+
ledger?: LedgerLane;
|
|
482
|
+
|
|
483
|
+
observe?: (record: InferenceRecord) => void;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
export { type DialObserver as D, type InferenceRecord as I, type LedgerFailure as L, ModelRouter as M, type ProxyClients as P, SessionGoneError as S, UnknownModelError as U, type DialReport as a, type InferenceUsageRecord as b, type LedgerOutcome as c, type LedgerRecorded as d, type LedgerWrite as e, type ProxyHandlerOptions as f, type ProxyIdentity as g, type ProxyVideoOutLane as h, type UsageRowReporter as i };
|