@skyold/model-protocol 0.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +22 -0
  3. package/README.zh-CN.md +17 -0
  4. package/dist/chat-egress.d.ts +12 -0
  5. package/dist/chat-egress.d.ts.map +1 -0
  6. package/dist/chat-egress.js +144 -0
  7. package/dist/chat-egress.js.map +1 -0
  8. package/dist/chat-ingress.d.ts +39 -0
  9. package/dist/chat-ingress.d.ts.map +1 -0
  10. package/dist/chat-ingress.js +323 -0
  11. package/dist/chat-ingress.js.map +1 -0
  12. package/dist/chat-stream-egress.d.ts +8 -0
  13. package/dist/chat-stream-egress.d.ts.map +1 -0
  14. package/dist/chat-stream-egress.js +129 -0
  15. package/dist/chat-stream-egress.js.map +1 -0
  16. package/dist/contracts.d.ts +61 -0
  17. package/dist/contracts.d.ts.map +1 -0
  18. package/dist/contracts.js +2 -0
  19. package/dist/contracts.js.map +1 -0
  20. package/dist/egress-codec-registry.d.ts +36 -0
  21. package/dist/egress-codec-registry.d.ts.map +1 -0
  22. package/dist/egress-codec-registry.js +125 -0
  23. package/dist/egress-codec-registry.js.map +1 -0
  24. package/dist/index.d.ts +39 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +25 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/ingress-codec-registry.d.ts +26 -0
  29. package/dist/ingress-codec-registry.d.ts.map +1 -0
  30. package/dist/ingress-codec-registry.js +106 -0
  31. package/dist/ingress-codec-registry.js.map +1 -0
  32. package/dist/media-images.d.ts +154 -0
  33. package/dist/media-images.d.ts.map +1 -0
  34. package/dist/media-images.js +721 -0
  35. package/dist/media-images.js.map +1 -0
  36. package/dist/media-video.d.ts +68 -0
  37. package/dist/media-video.d.ts.map +1 -0
  38. package/dist/media-video.js +196 -0
  39. package/dist/media-video.js.map +1 -0
  40. package/dist/native-images.d.ts +68 -0
  41. package/dist/native-images.d.ts.map +1 -0
  42. package/dist/native-images.js +424 -0
  43. package/dist/native-images.js.map +1 -0
  44. package/dist/openai-embeddings-egress.d.ts +4 -0
  45. package/dist/openai-embeddings-egress.d.ts.map +1 -0
  46. package/dist/openai-embeddings-egress.js +21 -0
  47. package/dist/openai-embeddings-egress.js.map +1 -0
  48. package/dist/openai-embeddings.d.ts +66 -0
  49. package/dist/openai-embeddings.d.ts.map +1 -0
  50. package/dist/openai-embeddings.js +442 -0
  51. package/dist/openai-embeddings.js.map +1 -0
  52. package/dist/openai-responses-egress.d.ts +17 -0
  53. package/dist/openai-responses-egress.d.ts.map +1 -0
  54. package/dist/openai-responses-egress.js +99 -0
  55. package/dist/openai-responses-egress.js.map +1 -0
  56. package/dist/openai-responses-stream-egress.d.ts +4 -0
  57. package/dist/openai-responses-stream-egress.d.ts.map +1 -0
  58. package/dist/openai-responses-stream-egress.js +252 -0
  59. package/dist/openai-responses-stream-egress.js.map +1 -0
  60. package/dist/openai-responses.d.ts +15 -0
  61. package/dist/openai-responses.d.ts.map +1 -0
  62. package/dist/openai-responses.js +363 -0
  63. package/dist/openai-responses.js.map +1 -0
  64. package/dist/provider-source.d.ts +20 -0
  65. package/dist/provider-source.d.ts.map +1 -0
  66. package/dist/provider-source.js +41 -0
  67. package/dist/provider-source.js.map +1 -0
  68. package/dist/provider-transport.d.ts +5 -0
  69. package/dist/provider-transport.d.ts.map +1 -0
  70. package/dist/provider-transport.js +114 -0
  71. package/dist/provider-transport.js.map +1 -0
  72. package/dist/runtime-v2-validation.d.ts +16 -0
  73. package/dist/runtime-v2-validation.d.ts.map +1 -0
  74. package/dist/runtime-v2-validation.js +915 -0
  75. package/dist/runtime-v2-validation.js.map +1 -0
  76. package/dist/runtime-v2.d.ts +462 -0
  77. package/dist/runtime-v2.d.ts.map +1 -0
  78. package/dist/runtime-v2.js +56 -0
  79. package/dist/runtime-v2.js.map +1 -0
  80. package/dist/tokenforge-task-projection.d.ts +8 -0
  81. package/dist/tokenforge-task-projection.d.ts.map +1 -0
  82. package/dist/tokenforge-task-projection.js +247 -0
  83. package/dist/tokenforge-task-projection.js.map +1 -0
  84. package/dist/tokenforge-tasks.d.ts +241 -0
  85. package/dist/tokenforge-tasks.d.ts.map +1 -0
  86. package/dist/tokenforge-tasks.js +1132 -0
  87. package/dist/tokenforge-tasks.js.map +1 -0
  88. package/dist/usage-reservation.d.ts +11 -0
  89. package/dist/usage-reservation.d.ts.map +1 -0
  90. package/dist/usage-reservation.js +40 -0
  91. package/dist/usage-reservation.js.map +1 -0
  92. package/dist/validation.d.ts +22 -0
  93. package/dist/validation.d.ts.map +1 -0
  94. package/dist/validation.js +415 -0
  95. package/dist/validation.js.map +1 -0
  96. package/dist/video-ingress.d.ts +31 -0
  97. package/dist/video-ingress.d.ts.map +1 -0
  98. package/dist/video-ingress.js +246 -0
  99. package/dist/video-ingress.js.map +1 -0
  100. package/dist/volc-video-task-codec.d.ts +59 -0
  101. package/dist/volc-video-task-codec.d.ts.map +1 -0
  102. package/dist/volc-video-task-codec.js +123 -0
  103. package/dist/volc-video-task-codec.js.map +1 -0
  104. package/package.json +54 -0
@@ -0,0 +1,442 @@
1
+ import { Buffer } from 'node:buffer';
2
+ export const OPENAI_EMBEDDINGS_PROTOCOL = 'openai-embeddings/v1';
3
+ const MAX_EMBEDDING_BATCH_ITEMS = 2_048;
4
+ const TOP_LEVEL_FIELDS = new Set(['model', 'input', 'dimensions', 'encoding_format', 'user']);
5
+ export class OpenAiEmbeddingsRequestError extends Error {
6
+ code;
7
+ status;
8
+ name = 'OpenAiEmbeddingsRequestError';
9
+ constructor(code, status) {
10
+ super(`OpenAI embeddings request rejected: ${code}`);
11
+ this.code = code;
12
+ this.status = status;
13
+ }
14
+ }
15
+ export class OpenAiEmbeddingResponseError extends Error {
16
+ name = 'OpenAiEmbeddingResponseError';
17
+ code = 'INVALID_EMBEDDING_RESPONSE';
18
+ constructor() {
19
+ super('OpenAI embedding response rejected: INVALID_EMBEDDING_RESPONSE');
20
+ }
21
+ }
22
+ export function decodeOpenAiEmbeddingsRequest(body) {
23
+ const request = requireRecord(body, 'body_required');
24
+ assertKnownFields(request, TOP_LEVEL_FIELDS);
25
+ const model = requiredString(request['model'], 'model_required');
26
+ const decodedInput = decodeInput(request['input']);
27
+ const dimensions = optionalPositiveInteger(request['dimensions'], 'invalid_dimensions');
28
+ const encodingFormat = decodeEncodingFormat(request['encoding_format']);
29
+ const user = optionalString(request['user']);
30
+ const normalizedInput = {
31
+ input: decodedInput.input,
32
+ inputEncoding: decodedInput.inputEncoding,
33
+ encodingFormat,
34
+ ...(dimensions === undefined ? {} : { dimensions }),
35
+ ...(user === undefined ? {} : { user }),
36
+ };
37
+ return {
38
+ ingressProtocolFamily: OPENAI_EMBEDDINGS_PROTOCOL,
39
+ model,
40
+ taskKind: 'embedding',
41
+ executionMode: 'sync',
42
+ inputModalities: ['text'],
43
+ outputModalities: ['vector'],
44
+ requiresFunctionTools: false,
45
+ requiresReasoning: false,
46
+ normalizedInput,
47
+ providerOptions: {},
48
+ };
49
+ }
50
+ export function validateOpenAiEmbeddingsCapability(decoded, capability) {
51
+ if (decoded.ingressProtocolFamily !== OPENAI_EMBEDDINGS_PROTOCOL ||
52
+ capability.protocolFamily !== OPENAI_EMBEDDINGS_PROTOCOL) {
53
+ reject('protocol_family_mismatch', 422);
54
+ }
55
+ validateEmbeddingCapabilityV1(decoded, capability);
56
+ }
57
+ /**
58
+ * Validates normalized embedding semantics independently from the ingress and
59
+ * Provider wire protocols.
60
+ */
61
+ export function validateEmbeddingCapabilityV1(decoded, capability) {
62
+ const failure = embeddingCapabilityFailure(decoded, capability);
63
+ if (failure !== undefined) {
64
+ reject(failure, 422);
65
+ }
66
+ }
67
+ export function embeddingCapabilityFailure(decoded, capability) {
68
+ if (decoded.taskKind !== 'embedding' ||
69
+ capability.taskKind !== 'embedding' ||
70
+ decoded.executionMode !== 'sync' ||
71
+ !capability.executionModes.includes('sync') ||
72
+ !onlySupported(decoded.inputModalities, ['text']) ||
73
+ !onlySupported(decoded.outputModalities, ['vector']) ||
74
+ !decoded.inputModalities.every((item) => capability.inputModalities.includes(item)) ||
75
+ !decoded.outputModalities.every((item) => capability.outputModalities.includes(item))) {
76
+ return 'unsupported_capability';
77
+ }
78
+ const facts = capability.embeddingCapability;
79
+ if (!facts || !isValidEmbeddingCapability(facts, capability)) {
80
+ return 'unsupported_capability';
81
+ }
82
+ const normalized = decoded.normalizedInput;
83
+ const input = normalized.input;
84
+ const inputEncoding = normalized.inputEncoding;
85
+ const requestedDimensions = normalized.dimensions ?? facts.nativeDimensions;
86
+ const encodingFormat = normalized.encodingFormat ?? 'float';
87
+ if (!Array.isArray(input) ||
88
+ input.length === 0 ||
89
+ input.length > MAX_EMBEDDING_BATCH_ITEMS ||
90
+ input.length > facts.maxBatchItems ||
91
+ !inputMatchesEncoding(input, inputEncoding) ||
92
+ (requestedDimensions !== facts.nativeDimensions &&
93
+ !facts.allowedDimensions.includes(requestedDimensions)) ||
94
+ !facts.encodingFormats.includes(encodingFormat) ||
95
+ !facts.inputEncodings.includes(inputEncoding)) {
96
+ return 'unsupported_capability';
97
+ }
98
+ if (inputEncoding === 'utf8_text') {
99
+ const textInput = input;
100
+ // No provider tokenizer is available at this boundary. UTF-8 bytes are a deterministic,
101
+ // conservative upper bound for byte-pair tokenizers (each token covers at least one byte).
102
+ // This is intentionally not reported or persisted as an exact token count.
103
+ const byteUpperBounds = textInput.map((item) => Buffer.byteLength(item, 'utf8'));
104
+ const totalByteUpperBound = byteUpperBounds.reduce((total, item) => total + item, 0);
105
+ if ((facts.maxInputTokensPerItem !== undefined &&
106
+ byteUpperBounds.some((item) => item > facts.maxInputTokensPerItem)) ||
107
+ (facts.maxTotalInputTokens !== undefined && totalByteUpperBound > facts.maxTotalInputTokens)) {
108
+ return 'unsupported_capability';
109
+ }
110
+ }
111
+ if (inputEncoding === 'token_ids') {
112
+ const tokenInput = input;
113
+ const totalTokens = tokenInput.reduce((total, item) => total + item.length, 0);
114
+ if ((facts.maxInputTokensPerItem !== undefined &&
115
+ tokenInput.some((item) => item.length > facts.maxInputTokensPerItem)) ||
116
+ (facts.maxTotalInputTokens !== undefined && totalTokens > facts.maxTotalInputTokens)) {
117
+ return 'unsupported_capability';
118
+ }
119
+ }
120
+ return undefined;
121
+ }
122
+ export function normalizeOpenAiEmbeddingResponse(body, input) {
123
+ if (!Number.isSafeInteger(input.inputCount) ||
124
+ input.inputCount <= 0 ||
125
+ input.inputCount > MAX_EMBEDDING_BATCH_ITEMS ||
126
+ input.inputCount > input.capability.maxBatchItems ||
127
+ !Number.isSafeInteger(input.dimensions) ||
128
+ input.dimensions <= 0 ||
129
+ !isValidEmbeddingCapabilityFacts(input.capability) ||
130
+ (input.dimensions !== input.capability.nativeDimensions &&
131
+ !input.capability.allowedDimensions.includes(input.dimensions)) ||
132
+ !input.capability.encodingFormats.includes(input.encodingFormat)) {
133
+ responseReject();
134
+ }
135
+ const response = responseRecord(body);
136
+ const data = response['data'];
137
+ if (!Array.isArray(data) || data.length !== input.inputCount) {
138
+ responseReject();
139
+ }
140
+ const vectors = new Array(input.inputCount);
141
+ const seen = new Set();
142
+ for (const rawItem of data) {
143
+ const item = responseRecord(rawItem);
144
+ const index = item['index'];
145
+ if (typeof index !== 'number' ||
146
+ !Number.isSafeInteger(index) ||
147
+ index < 0 ||
148
+ index >= input.inputCount ||
149
+ seen.has(index)) {
150
+ responseReject();
151
+ }
152
+ seen.add(index);
153
+ const vector = validateVector(item['embedding'], input.encodingFormat, input.dimensions);
154
+ vectors[index] = { index, vector };
155
+ }
156
+ if (seen.size !== input.inputCount || vectors.some((item) => item === undefined)) {
157
+ responseReject();
158
+ }
159
+ const usageRecord = response['usage'] === undefined ? undefined : responseRecord(response['usage']);
160
+ const inputTokens = optionalSafeUsageInteger(usageRecord?.['prompt_tokens']);
161
+ const totalTokens = optionalSafeUsageInteger(usageRecord?.['total_tokens']);
162
+ const spaceId = deriveSpaceId(input.capability, input.dimensions);
163
+ const summary = {
164
+ vectorCount: input.inputCount,
165
+ dimensions: input.dimensions,
166
+ encodingFormat: input.encodingFormat,
167
+ spaceId,
168
+ };
169
+ return {
170
+ output: {
171
+ vectors,
172
+ dimensions: input.dimensions,
173
+ encodingFormat: input.encodingFormat,
174
+ spaceId,
175
+ },
176
+ usage: {
177
+ ...(inputTokens === undefined ? {} : { inputTokens }),
178
+ ...(totalTokens === undefined ? {} : { totalTokens }),
179
+ ...summary,
180
+ estimated: false,
181
+ },
182
+ summary,
183
+ };
184
+ }
185
+ function decodeInput(value) {
186
+ if (typeof value === 'string') {
187
+ return { input: [requiredString(value, 'input_required')], inputEncoding: 'utf8_text' };
188
+ }
189
+ if (!Array.isArray(value) || value.length === 0) {
190
+ reject('input_required', 400);
191
+ }
192
+ if (value.every((item) => typeof item === 'number')) {
193
+ return { input: [decodeTokenIds(value)], inputEncoding: 'token_ids' };
194
+ }
195
+ if (value.length > MAX_EMBEDDING_BATCH_ITEMS) {
196
+ reject('input_limit_exceeded', 400);
197
+ }
198
+ if (value.every((item) => typeof item === 'string')) {
199
+ return {
200
+ input: value.map((item) => requiredString(item, 'input_required')),
201
+ inputEncoding: 'utf8_text',
202
+ };
203
+ }
204
+ if (value.every((item) => Array.isArray(item))) {
205
+ return { input: value.map((item) => decodeTokenIds(item)), inputEncoding: 'token_ids' };
206
+ }
207
+ reject('invalid_input', 400);
208
+ }
209
+ function decodeTokenIds(value) {
210
+ if (value.length === 0) {
211
+ reject('input_required', 400);
212
+ }
213
+ return value.map((token) => {
214
+ if (typeof token !== 'number' || !Number.isSafeInteger(token) || token < 0) {
215
+ reject('invalid_input', 400);
216
+ }
217
+ return token;
218
+ });
219
+ }
220
+ function decodeEncodingFormat(value) {
221
+ if (value === undefined) {
222
+ return 'float';
223
+ }
224
+ if (value !== 'float' && value !== 'base64') {
225
+ reject('invalid_encoding_format', 400);
226
+ }
227
+ return value;
228
+ }
229
+ function isValidEmbeddingCapability(facts, capability) {
230
+ return (isValidEmbeddingCapabilityFacts(facts) &&
231
+ facts.compatibilitySpace.provider === capability.provider &&
232
+ facts.compatibilitySpace.model === capability.model);
233
+ }
234
+ export function parseEmbeddingCapabilityV1(value) {
235
+ if (!isValidEmbeddingCapabilityFacts(value)) {
236
+ return undefined;
237
+ }
238
+ return {
239
+ schemaVersion: value.schemaVersion,
240
+ nativeDimensions: value.nativeDimensions,
241
+ allowedDimensions: [...value.allowedDimensions],
242
+ encodingFormats: [...value.encodingFormats],
243
+ normalized: value.normalized,
244
+ maxBatchItems: value.maxBatchItems,
245
+ ...(value.maxInputTokensPerItem === undefined
246
+ ? {}
247
+ : { maxInputTokensPerItem: value.maxInputTokensPerItem }),
248
+ ...(value.maxTotalInputTokens === undefined
249
+ ? {}
250
+ : { maxTotalInputTokens: value.maxTotalInputTokens }),
251
+ inputEncodings: [...value.inputEncodings],
252
+ compatibilitySpace: {
253
+ provider: value.compatibilitySpace.provider,
254
+ model: value.compatibilitySpace.model,
255
+ modelVersion: value.compatibilitySpace.modelVersion,
256
+ dimensions: value.compatibilitySpace.dimensions,
257
+ preprocessingVersion: value.compatibilitySpace.preprocessingVersion,
258
+ spaceId: value.compatibilitySpace.spaceId,
259
+ },
260
+ };
261
+ }
262
+ function isValidEmbeddingCapabilityFacts(value) {
263
+ if (!isPlainRecord(value) ||
264
+ !hasExactKeys(value, [
265
+ 'schemaVersion',
266
+ 'nativeDimensions',
267
+ 'allowedDimensions',
268
+ 'encodingFormats',
269
+ 'normalized',
270
+ 'maxBatchItems',
271
+ 'inputEncodings',
272
+ 'compatibilitySpace',
273
+ ], ['maxInputTokensPerItem', 'maxTotalInputTokens'])) {
274
+ return false;
275
+ }
276
+ const space = value['compatibilitySpace'];
277
+ if (!isPlainRecord(space) ||
278
+ !hasExactKeys(space, [
279
+ 'provider',
280
+ 'model',
281
+ 'modelVersion',
282
+ 'dimensions',
283
+ 'preprocessingVersion',
284
+ 'spaceId',
285
+ ])) {
286
+ return false;
287
+ }
288
+ const allowedDimensions = value['allowedDimensions'];
289
+ const encodingFormats = value['encodingFormats'];
290
+ const inputEncodings = value['inputEncodings'];
291
+ const nativeDimensions = value['nativeDimensions'];
292
+ const hasPerItemLimit = Object.prototype.hasOwnProperty.call(value, 'maxInputTokensPerItem');
293
+ const hasTotalLimit = Object.prototype.hasOwnProperty.call(value, 'maxTotalInputTokens');
294
+ if (value['schemaVersion'] !== 1 ||
295
+ !isPositiveSafeInteger(nativeDimensions) ||
296
+ !isUniqueArray(allowedDimensions, isPositiveSafeInteger) ||
297
+ !isUniqueArray(encodingFormats, (item) => item === 'float' || item === 'base64', true) ||
298
+ !isUniqueArray(inputEncodings, (item) => item === 'utf8_text' || item === 'token_ids', true) ||
299
+ typeof value['normalized'] !== 'boolean' ||
300
+ !isPositiveSafeInteger(value['maxBatchItems']) ||
301
+ (hasPerItemLimit && !isPositiveSafeInteger(value['maxInputTokensPerItem'])) ||
302
+ (hasTotalLimit && !isPositiveSafeInteger(value['maxTotalInputTokens'])) ||
303
+ !isNonEmptyString(space['provider']) ||
304
+ !isNonEmptyString(space['model']) ||
305
+ !isNonEmptyString(space['modelVersion']) ||
306
+ !isNonEmptyString(space['preprocessingVersion']) ||
307
+ !isNonEmptyString(space['spaceId']) ||
308
+ space['dimensions'] !== nativeDimensions) {
309
+ return false;
310
+ }
311
+ const facts = value;
312
+ return facts.compatibilitySpace.spaceId === deriveSpaceId(facts, facts.nativeDimensions);
313
+ }
314
+ function hasExactKeys(value, required, optional = []) {
315
+ const allowed = new Set([...required, ...optional]);
316
+ return (Object.keys(value).every((key) => allowed.has(key)) &&
317
+ required.every((key) => Object.prototype.hasOwnProperty.call(value, key)));
318
+ }
319
+ function isPositiveSafeInteger(value) {
320
+ return typeof value === 'number' && Number.isSafeInteger(value) && value > 0;
321
+ }
322
+ function isNonEmptyString(value) {
323
+ return typeof value === 'string' && Boolean(value.trim());
324
+ }
325
+ function isUniqueArray(value, isItem, requireNonEmpty = false) {
326
+ if (!Array.isArray(value) || (requireNonEmpty && value.length === 0)) {
327
+ return false;
328
+ }
329
+ const items = Array.from(value);
330
+ return items.every(isItem) && new Set(items).size === items.length;
331
+ }
332
+ function deriveSpaceId(facts, dimensions) {
333
+ const space = facts.compatibilitySpace;
334
+ return `${space.provider}:${space.model}:${space.modelVersion}:${dimensions}:${space.preprocessingVersion}`;
335
+ }
336
+ function inputMatchesEncoding(input, inputEncoding) {
337
+ if (inputEncoding === 'utf8_text') {
338
+ return input.every((item) => typeof item === 'string' && Boolean(item.trim()));
339
+ }
340
+ if (inputEncoding === 'token_ids') {
341
+ return input.every((item) => Array.isArray(item) &&
342
+ item.length > 0 &&
343
+ item.every((token) => typeof token === 'number' && Number.isSafeInteger(token) && token >= 0));
344
+ }
345
+ return false;
346
+ }
347
+ function validateVector(value, encodingFormat, dimensions) {
348
+ if (encodingFormat === 'float') {
349
+ if (!Array.isArray(value) ||
350
+ value.length !== dimensions ||
351
+ !value.every((item) => typeof item === 'number' && Number.isFinite(item))) {
352
+ responseReject();
353
+ }
354
+ return value;
355
+ }
356
+ if (typeof value !== 'string' || !isCanonicalBase64(value)) {
357
+ responseReject();
358
+ }
359
+ const bytes = Buffer.from(value, 'base64');
360
+ if (bytes.byteLength !== dimensions * 4) {
361
+ responseReject();
362
+ }
363
+ for (let offset = 0; offset < bytes.byteLength; offset += 4) {
364
+ if (!Number.isFinite(bytes.readFloatLE(offset))) {
365
+ responseReject();
366
+ }
367
+ }
368
+ return value;
369
+ }
370
+ function isCanonicalBase64(value) {
371
+ return (value.length > 0 &&
372
+ value.length % 4 === 0 &&
373
+ /^[A-Za-z0-9+/]+={0,2}$/.test(value) &&
374
+ Buffer.from(value, 'base64').toString('base64') === value);
375
+ }
376
+ function requireRecord(value, code) {
377
+ if (!isPlainRecord(value)) {
378
+ reject(code, 400);
379
+ }
380
+ return value;
381
+ }
382
+ function responseRecord(value) {
383
+ if (!isPlainRecord(value)) {
384
+ responseReject();
385
+ }
386
+ return value;
387
+ }
388
+ function isPlainRecord(value) {
389
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
390
+ return false;
391
+ }
392
+ const prototype = Object.getPrototypeOf(value);
393
+ return prototype === Object.prototype || prototype === null;
394
+ }
395
+ function assertKnownFields(value, allowed) {
396
+ if (Object.keys(value).some((key) => !allowed.has(key))) {
397
+ reject('unknown_field', 400);
398
+ }
399
+ }
400
+ function requiredString(value, code) {
401
+ if (typeof value !== 'string' || !value.trim()) {
402
+ reject(code, 400);
403
+ }
404
+ return value;
405
+ }
406
+ function optionalString(value) {
407
+ if (value === undefined) {
408
+ return undefined;
409
+ }
410
+ if (typeof value !== 'string' || !value.trim()) {
411
+ reject('invalid_input', 400);
412
+ }
413
+ return value;
414
+ }
415
+ function optionalPositiveInteger(value, code) {
416
+ if (value === undefined) {
417
+ return undefined;
418
+ }
419
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value <= 0) {
420
+ reject(code, 400);
421
+ }
422
+ return value;
423
+ }
424
+ function optionalSafeUsageInteger(value) {
425
+ if (value === undefined) {
426
+ return undefined;
427
+ }
428
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) {
429
+ responseReject();
430
+ }
431
+ return value;
432
+ }
433
+ function onlySupported(actual, expected) {
434
+ return actual.length > 0 && actual.every((item) => expected.includes(item));
435
+ }
436
+ function reject(code, status) {
437
+ throw new OpenAiEmbeddingsRequestError(code, status);
438
+ }
439
+ function responseReject() {
440
+ throw new OpenAiEmbeddingResponseError();
441
+ }
442
+ //# sourceMappingURL=openai-embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-embeddings.js","sourceRoot":"","sources":["../src/openai-embeddings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { NormalizedResponsesSyncResponseV1 } from './runtime-v2.js';
2
+ export interface OpenAiResponsesSafeErrorFactsV1 {
3
+ readonly code: 'PROVIDER_RATE_LIMITED' | 'PROVIDER_REQUEST_FAILED' | 'PROVIDER_RESPONSE_INVALID';
4
+ readonly category: 'provider' | 'protocol';
5
+ }
6
+ /**
7
+ * Versioned Host egress for a normalized OpenAI Responses terminal.
8
+ *
9
+ * Provider wire bodies never enter this projection. The Adapter is the only
10
+ * component allowed to parse them; Hosts encode this bounded safe contract.
11
+ */
12
+ export declare function encodeOpenAiResponsesEgressV1(response: NormalizedResponsesSyncResponseV1, options?: {
13
+ readonly fallbackModel?: string;
14
+ }): Record<string, unknown>;
15
+ export declare function encodeOpenAiResponsesErrorEgressV1(code: string | undefined): Record<string, unknown>;
16
+ export declare function openAiResponsesSafeErrorFactsV1(code: string | undefined): OpenAiResponsesSafeErrorFactsV1;
17
+ //# sourceMappingURL=openai-responses-egress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-responses-egress.d.ts","sourceRoot":"","sources":["../src/openai-responses-egress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iCAAiC,EAElC,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,yBAAyB,GAAG,2BAA2B,CAAC;IACjG,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,iCAAiC,EAC3C,OAAO,GAAE;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BzB;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,+BAA+B,CAQjC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Versioned Host egress for a normalized OpenAI Responses terminal.
3
+ *
4
+ * Provider wire bodies never enter this projection. The Adapter is the only
5
+ * component allowed to parse them; Hosts encode this bounded safe contract.
6
+ */
7
+ export function encodeOpenAiResponsesEgressV1(response, options = {}) {
8
+ if (response.protocolFamily !== 'openai-responses/v1' || response.store !== false) {
9
+ throw new Error('OPENAI_RESPONSES_EGRESS_INVALID');
10
+ }
11
+ return {
12
+ id: response.id,
13
+ object: 'response',
14
+ status: response.status,
15
+ ...((response.model ?? options.fallbackModel)
16
+ ? { model: response.model ?? options.fallbackModel }
17
+ : {}),
18
+ store: false,
19
+ output: response.output.map(encodeOutputItem),
20
+ ...(response.usage === undefined ? {} : { usage: encodeUsage(response.usage) }),
21
+ ...(response.incompleteDetails === undefined
22
+ ? {}
23
+ : { incomplete_details: { reason: response.incompleteDetails.reason } }),
24
+ ...(response.error === undefined
25
+ ? {}
26
+ : {
27
+ error: {
28
+ ...openAiResponsesSafeErrorFactsV1(response.error.code),
29
+ message: 'provider request failed',
30
+ },
31
+ }),
32
+ };
33
+ }
34
+ export function encodeOpenAiResponsesErrorEgressV1(code) {
35
+ return { error: { status: 'failed', ...openAiResponsesSafeErrorFactsV1(code) } };
36
+ }
37
+ export function openAiResponsesSafeErrorFactsV1(code) {
38
+ if (code === 'PROVIDER_RATE_LIMITED') {
39
+ return { code: 'PROVIDER_RATE_LIMITED', category: 'provider' };
40
+ }
41
+ if (code === 'PROVIDER_RESPONSE_INVALID' || code === 'PROVIDER_STREAM_INVALID') {
42
+ return { code: 'PROVIDER_RESPONSE_INVALID', category: 'protocol' };
43
+ }
44
+ return { code: 'PROVIDER_REQUEST_FAILED', category: 'provider' };
45
+ }
46
+ function encodeOutputItem(item) {
47
+ switch (item.type) {
48
+ case 'message':
49
+ return {
50
+ id: item.id,
51
+ type: item.type,
52
+ status: item.status,
53
+ role: item.role ?? 'assistant',
54
+ content: item.content,
55
+ };
56
+ case 'reasoning':
57
+ return {
58
+ id: item.id,
59
+ type: item.type,
60
+ status: item.status,
61
+ summary: item.summary,
62
+ };
63
+ case 'function_call':
64
+ return {
65
+ id: item.id,
66
+ type: item.type,
67
+ status: item.status,
68
+ call_id: item.callId,
69
+ name: item.name,
70
+ arguments: item.arguments,
71
+ };
72
+ }
73
+ }
74
+ function encodeUsage(usage) {
75
+ return {
76
+ ...(usage.inputTokens === undefined ? {} : { input_tokens: usage.inputTokens }),
77
+ ...(usage.outputTokens === undefined ? {} : { output_tokens: usage.outputTokens }),
78
+ ...(usage.totalTokens === undefined ? {} : { total_tokens: usage.totalTokens }),
79
+ ...(usage.inputTokenDetails === undefined
80
+ ? usage.cachedInputTokens === undefined
81
+ ? {}
82
+ : { input_tokens_details: { cached_tokens: usage.cachedInputTokens } }
83
+ : {
84
+ input_tokens_details: {
85
+ cached_tokens: usage.inputTokenDetails.cachedTokens ?? 0,
86
+ },
87
+ }),
88
+ ...(usage.outputTokenDetails === undefined
89
+ ? usage.reasoningOutputTokens === undefined
90
+ ? {}
91
+ : { output_tokens_details: { reasoning_tokens: usage.reasoningOutputTokens } }
92
+ : {
93
+ output_tokens_details: {
94
+ reasoning_tokens: usage.outputTokenDetails.reasoningTokens ?? 0,
95
+ },
96
+ }),
97
+ };
98
+ }
99
+ //# sourceMappingURL=openai-responses-egress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-responses-egress.js","sourceRoot":"","sources":["../src/openai-responses-egress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { NormalizedStreamEventV1 } from './runtime-v2.js';
2
+ export declare function encodeOpenAiResponsesStreamEventV1(event: NormalizedStreamEventV1): string;
3
+ export declare function encodeOpenAiResponsesStreamFailureV1(responseId: string | undefined, sequenceNumber: number, code: string | undefined): string;
4
+ //# sourceMappingURL=openai-responses-stream-egress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-responses-stream-egress.d.ts","sourceRoot":"","sources":["../src/openai-responses-stream-egress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AAGzB,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CA4JzF;AAED,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,CAgBR"}