@eaziz/prepare 0.1.1 → 0.1.2

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 (85) hide show
  1. package/dist/address.d.ts +12 -0
  2. package/dist/address.d.ts.map +1 -0
  3. package/dist/address.js +16 -0
  4. package/dist/address.js.map +1 -0
  5. package/dist/contracts.d.ts +3 -1
  6. package/dist/contracts.d.ts.map +1 -1
  7. package/dist/headers.d.ts +2 -0
  8. package/dist/headers.d.ts.map +1 -0
  9. package/dist/headers.js +8 -0
  10. package/dist/headers.js.map +1 -0
  11. package/dist/index.d.ts +6 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +6 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/media-codecs.d.ts +5 -0
  16. package/dist/media-codecs.d.ts.map +1 -0
  17. package/dist/media-codecs.js +30 -0
  18. package/dist/media-codecs.js.map +1 -0
  19. package/dist/protocol-capabilities.d.ts +111 -0
  20. package/dist/protocol-capabilities.d.ts.map +1 -0
  21. package/dist/protocol-capabilities.js +58 -0
  22. package/dist/protocol-capabilities.js.map +1 -0
  23. package/dist/protocol-registry.d.ts +60 -0
  24. package/dist/protocol-registry.d.ts.map +1 -0
  25. package/dist/protocol-registry.js +89 -0
  26. package/dist/protocol-registry.js.map +1 -0
  27. package/dist/protocols/catalog.d.ts +4 -8
  28. package/dist/protocols/catalog.d.ts.map +1 -1
  29. package/dist/protocols/catalog.js +10 -4
  30. package/dist/protocols/catalog.js.map +1 -1
  31. package/dist/protocols/images.d.ts +4 -8
  32. package/dist/protocols/images.d.ts.map +1 -1
  33. package/dist/protocols/images.js +7 -3
  34. package/dist/protocols/images.js.map +1 -1
  35. package/dist/protocols/media.d.ts +2 -1
  36. package/dist/protocols/media.d.ts.map +1 -1
  37. package/dist/protocols/media.js +38 -12
  38. package/dist/protocols/media.js.map +1 -1
  39. package/dist/protocols/realtime.d.ts +7 -0
  40. package/dist/protocols/realtime.d.ts.map +1 -0
  41. package/dist/protocols/realtime.js +13 -0
  42. package/dist/protocols/realtime.js.map +1 -0
  43. package/dist/protocols/speech.d.ts +18 -0
  44. package/dist/protocols/speech.d.ts.map +1 -0
  45. package/dist/protocols/speech.js +124 -0
  46. package/dist/protocols/speech.js.map +1 -0
  47. package/dist/protocols/text.d.ts +12 -6
  48. package/dist/protocols/text.d.ts.map +1 -1
  49. package/dist/protocols/text.js +213 -35
  50. package/dist/protocols/text.js.map +1 -1
  51. package/dist/protocols/transcription.d.ts +15 -0
  52. package/dist/protocols/transcription.d.ts.map +1 -0
  53. package/dist/protocols/transcription.js +67 -0
  54. package/dist/protocols/transcription.js.map +1 -0
  55. package/dist/protocols/video.d.ts +17 -0
  56. package/dist/protocols/video.d.ts.map +1 -0
  57. package/dist/protocols/video.js +41 -0
  58. package/dist/protocols/video.js.map +1 -0
  59. package/dist/request-builders/http.d.ts +24 -0
  60. package/dist/request-builders/http.d.ts.map +1 -0
  61. package/dist/request-builders/http.js +20 -0
  62. package/dist/request-builders/http.js.map +1 -0
  63. package/dist/request-builders/multipart.d.ts +5 -0
  64. package/dist/request-builders/multipart.d.ts.map +1 -0
  65. package/dist/request-builders/multipart.js +9 -0
  66. package/dist/request-builders/multipart.js.map +1 -0
  67. package/dist/request-builders/websocket.d.ts +12 -0
  68. package/dist/request-builders/websocket.d.ts.map +1 -0
  69. package/dist/request-builders/websocket.js +22 -0
  70. package/dist/request-builders/websocket.js.map +1 -0
  71. package/dist/request-builders.d.ts +13 -0
  72. package/dist/request-builders.d.ts.map +1 -0
  73. package/dist/request-builders.js +9 -0
  74. package/dist/request-builders.js.map +1 -0
  75. package/dist/request-compiler.d.ts +10 -12
  76. package/dist/request-compiler.d.ts.map +1 -1
  77. package/dist/request-compiler.js +2 -100
  78. package/dist/request-compiler.js.map +1 -1
  79. package/dist/request-types.d.ts +25 -9
  80. package/dist/request-types.d.ts.map +1 -1
  81. package/dist/request-utils.d.ts +5 -28
  82. package/dist/request-utils.d.ts.map +1 -1
  83. package/dist/request-utils.js +5 -78
  84. package/dist/request-utils.js.map +1 -1
  85. package/package.json +1 -1
@@ -0,0 +1,12 @@
1
+ export type RequestAddress = Readonly<{
2
+ baseURL?: string;
3
+ endpoint?: string;
4
+ headers?: HeadersInit;
5
+ }>;
6
+ export declare function requestURL(request: Pick<RequestAddress, "baseURL" | "endpoint">, path: string): {
7
+ readonly url?: string;
8
+ };
9
+ export declare function baseURLRequestURL(request: Pick<RequestAddress, "baseURL">, path: string): {
10
+ readonly url?: string;
11
+ };
12
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AACtG,wBAAgB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAIzH;AACD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAGnH"}
@@ -0,0 +1,16 @@
1
+ export function requestURL(request, path) {
2
+ if (request.endpoint)
3
+ return { url: request.endpoint };
4
+ if (!request.baseURL)
5
+ return {};
6
+ return { url: joinURL(request.baseURL, path) };
7
+ }
8
+ export function baseURLRequestURL(request, path) {
9
+ if (!request.baseURL)
10
+ return {};
11
+ return { url: joinURL(request.baseURL, path) };
12
+ }
13
+ function joinURL(baseURL, path) {
14
+ return `${baseURL.replace(/\/$/, "")}/${path.replace(/^\//, "")}`;
15
+ }
16
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,UAAU,CAAC,OAAqD,EAAE,IAAY;IAC5F,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;AACjD,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,OAAwC,EAAE,IAAY;IACtF,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;AACjD,CAAC;AACD,SAAS,OAAO,CAAC,OAAe,EAAE,IAAY;IAC5C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;AACpE,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export type ProtocolMetadata = Readonly<Record<string, unknown>>;
2
+ export type Transport = "http" | "http-stream" | "websocket";
2
3
  export type ModelType = "text-generation" | "multimodal-generation" | "embedding" | "rerank" | "image-generation" | "image-editing" | "speech-generation" | "transcription" | "video-generation" | "realtime";
3
- export type WireProtocol = "openai-chat-completions" | "openai-responses" | "anthropic-messages" | "gemini-generate-content" | "openai-embeddings" | "cohere-rerank" | "openai-images" | "openai-audio" | "dashscope-audio" | "dashscope-transcription" | "volcengine-audio" | "xfyun-audio" | "zhipu-audio" | "minimax-audio" | "dashscope-video" | "volcengine-video" | "openai-responses-websocket" | "openai-realtime";
4
+ /** Canonical protocol names have one source: protocol-registry.ts. */
5
+ export type WireProtocol = import("./protocol-registry.js").ProtocolFor<ModelType>;
4
6
  export type MessageRole = "system" | "developer" | "user" | "assistant" | "tool";
5
7
  export interface TextPart {
6
8
  readonly type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function headerRecord(headers?: HeadersInit): Record<string, string>;
2
+ //# sourceMappingURL=headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK1E"}
@@ -0,0 +1,8 @@
1
+ export function headerRecord(headers) {
2
+ const result = {};
3
+ if (!headers)
4
+ return result;
5
+ new Headers(headers).forEach((value, key) => { result[key] = value; });
6
+ return result;
7
+ }
8
+ //# sourceMappingURL=headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,OAAqB;IAChD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC5B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,7 @@
1
- export * from './contracts.js';
2
- export * from './request-compiler.js';
1
+ export * from "./contracts.js";
2
+ export * from "./request-compiler.js";
3
+ export * from "./protocol-registry.js";
4
+ export * from "./request-builders/http.js";
5
+ export * from "./request-builders/websocket.js";
6
+ export * from "./request-builders/multipart.js";
3
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,7 @@
1
- export * from './contracts.js';
2
- export * from './request-compiler.js';
1
+ export * from "./contracts.js";
2
+ export * from "./request-compiler.js";
3
+ export * from "./protocol-registry.js";
4
+ export * from "./request-builders/http.js";
5
+ export * from "./request-builders/websocket.js";
6
+ export * from "./request-builders/multipart.js";
3
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function dataURL(value: string | Uint8Array, mediaType: string): string;
2
+ export declare function stripDataURL(value: string): string;
3
+ export declare function toBase64(bytes: Uint8Array): string;
4
+ export declare function mediaBlob(value: Blob | Uint8Array | string): Blob;
5
+ //# sourceMappingURL=media-codecs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-codecs.d.ts","sourceRoot":"","sources":["../src/media-codecs.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7E;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAKlD;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CAWjE"}
@@ -0,0 +1,30 @@
1
+ export function dataURL(value, mediaType) {
2
+ return typeof value === "string" ? value : `data:${mediaType};base64,${toBase64(value)}`;
3
+ }
4
+ export function stripDataURL(value) {
5
+ const comma = value.indexOf(",");
6
+ return value.startsWith("data:") && comma >= 0 ? value.slice(comma + 1) : value;
7
+ }
8
+ export function toBase64(bytes) {
9
+ if (typeof Buffer !== "undefined")
10
+ return Buffer.from(bytes).toString("base64");
11
+ let binary = "";
12
+ for (const byte of bytes)
13
+ binary += String.fromCharCode(byte);
14
+ return btoa(binary);
15
+ }
16
+ export function mediaBlob(value) {
17
+ if (value instanceof Blob)
18
+ return value;
19
+ if (value instanceof Uint8Array)
20
+ return new Blob([new Uint8Array(value).buffer]);
21
+ if (value.startsWith("data:")) {
22
+ const match = /^data:([^;,]+)?;base64,(.*)$/.exec(value);
23
+ if (match?.[2]) {
24
+ const bytes = typeof Buffer !== "undefined" ? new Uint8Array(Buffer.from(match[2], "base64")) : Uint8Array.from(atob(match[2]), c => c.charCodeAt(0));
25
+ return new Blob([bytes], { type: match[1] ?? "application/octet-stream" });
26
+ }
27
+ }
28
+ return new Blob([value]);
29
+ }
30
+ //# sourceMappingURL=media-codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-codecs.js","sourceRoot":"","sources":["../src/media-codecs.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,KAA0B,EAAE,SAAiB;IACnE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,SAAS,WAAW,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3F,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClF,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACxC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,KAAiC;IACzD,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACtJ,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,111 @@
1
+ import type { ModelType, Transport, WireProtocol } from "./contracts.js";
2
+ export interface ProtocolCapability {
3
+ readonly protocol: WireProtocol;
4
+ readonly transport: Transport;
5
+ readonly statusPath?: string;
6
+ readonly taskIdPath?: string;
7
+ readonly resultPath?: string;
8
+ }
9
+ /** Wire facts belong to prepare; the same protocol can differ by operation. */
10
+ export declare const PROTOCOL_CAPABILITIES: {
11
+ readonly "text-generation": readonly [{
12
+ readonly protocol: "openai-chat-completions";
13
+ readonly transport: "http";
14
+ }, {
15
+ readonly protocol: "openai-responses";
16
+ readonly transport: "http";
17
+ }, {
18
+ readonly protocol: "anthropic-messages";
19
+ readonly transport: "http";
20
+ }, {
21
+ readonly protocol: "gemini-generate-content";
22
+ readonly transport: "http";
23
+ }];
24
+ readonly "multimodal-generation": readonly [{
25
+ readonly protocol: "openai-chat-completions";
26
+ readonly transport: "http";
27
+ }, {
28
+ readonly protocol: "openai-responses";
29
+ readonly transport: "http";
30
+ }, {
31
+ readonly protocol: "anthropic-messages";
32
+ readonly transport: "http";
33
+ }, {
34
+ readonly protocol: "gemini-generate-content";
35
+ readonly transport: "http";
36
+ }];
37
+ readonly embedding: readonly [{
38
+ readonly protocol: "openai-embeddings";
39
+ readonly transport: "http";
40
+ }];
41
+ readonly rerank: readonly [{
42
+ readonly protocol: "cohere-rerank";
43
+ readonly transport: "http";
44
+ }];
45
+ readonly "image-generation": readonly [{
46
+ readonly protocol: "openai-images";
47
+ readonly transport: "http";
48
+ }];
49
+ readonly "image-editing": readonly [{
50
+ readonly protocol: "openai-images";
51
+ readonly transport: "http";
52
+ }];
53
+ readonly "speech-generation": readonly [{
54
+ readonly protocol: "openai-audio";
55
+ readonly transport: "http";
56
+ }, {
57
+ readonly protocol: "dashscope-audio";
58
+ readonly transport: "http";
59
+ }, {
60
+ readonly protocol: "volcengine-audio";
61
+ readonly transport: "http-stream";
62
+ }, {
63
+ readonly protocol: "xfyun-audio";
64
+ readonly transport: "websocket";
65
+ }, {
66
+ readonly protocol: "zhipu-audio";
67
+ readonly transport: "http";
68
+ }, {
69
+ readonly protocol: "minimax-audio";
70
+ readonly transport: "http";
71
+ }];
72
+ readonly transcription: readonly [{
73
+ readonly protocol: "openai-audio";
74
+ readonly transport: "http";
75
+ }, {
76
+ readonly protocol: "volcengine-audio";
77
+ readonly transport: "websocket";
78
+ }, {
79
+ readonly protocol: "zhipu-audio";
80
+ readonly transport: "http";
81
+ }, {
82
+ readonly protocol: "dashscope-transcription";
83
+ readonly transport: "http";
84
+ }];
85
+ readonly "video-generation": readonly [{
86
+ readonly protocol: "dashscope-video";
87
+ readonly transport: "http";
88
+ readonly statusPath: "/api/v1/tasks/{taskId}";
89
+ readonly taskIdPath: "output.task_id";
90
+ readonly resultPath: "output.video_url";
91
+ }, {
92
+ readonly protocol: "volcengine-video";
93
+ readonly transport: "http";
94
+ readonly statusPath: "/api/v3/contents/generations/tasks/{taskId}";
95
+ readonly taskIdPath: "id";
96
+ readonly resultPath: "content.video_url";
97
+ }];
98
+ readonly realtime: readonly [{
99
+ readonly protocol: "openai-responses-websocket";
100
+ readonly transport: "websocket";
101
+ }, {
102
+ readonly protocol: "openai-realtime";
103
+ readonly transport: "websocket";
104
+ }];
105
+ };
106
+ export type ProtocolFor<TModelType extends ModelType> = (typeof PROTOCOL_CAPABILITIES)[TModelType][number]["protocol"];
107
+ /** Derived discovery view; compiler gates and consumers use the same registry. */
108
+ export declare const PROTOCOLS_BY_MODEL_TYPE: { readonly [T in ModelType]: readonly ProtocolFor<T>[]; };
109
+ export declare const SUPPORTED_WIRE_PROTOCOLS: readonly WireProtocol[];
110
+ export declare function getProtocolCapability<T extends ModelType>(modelType: T, protocol: WireProtocol): (typeof PROTOCOL_CAPABILITIES)[T][number];
111
+ //# sourceMappingURL=protocol-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-capabilities.d.ts","sourceRoot":"","sources":["../src/protocol-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AASD,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B6C,CAAC;AAEhF,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,SAAS,IAClD,CAAC,OAAO,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;AAEjE,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,EAI9B,EAAE,QAAQ,EAAE,CAAC,IAAI,SAAS,GAAG,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,GAAE,CAAC;AAE/D,eAAO,MAAM,wBAAwB,EAAE,SAAS,YAAY,EAE3D,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,SAAS,EACvD,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,YAAY,GACrB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAO3C"}
@@ -0,0 +1,58 @@
1
+ const text = [
2
+ { protocol: "openai-chat-completions", transport: "http" },
3
+ { protocol: "openai-responses", transport: "http" },
4
+ { protocol: "anthropic-messages", transport: "http" },
5
+ { protocol: "gemini-generate-content", transport: "http" },
6
+ ];
7
+ /** Wire facts belong to prepare; the same protocol can differ by operation. */
8
+ export const PROTOCOL_CAPABILITIES = {
9
+ "text-generation": text,
10
+ "multimodal-generation": text,
11
+ embedding: [{ protocol: "openai-embeddings", transport: "http" }],
12
+ rerank: [{ protocol: "cohere-rerank", transport: "http" }],
13
+ "image-generation": [{ protocol: "openai-images", transport: "http" }],
14
+ "image-editing": [{ protocol: "openai-images", transport: "http" }],
15
+ "speech-generation": [
16
+ { protocol: "openai-audio", transport: "http" },
17
+ { protocol: "dashscope-audio", transport: "http" },
18
+ { protocol: "volcengine-audio", transport: "http-stream" },
19
+ { protocol: "xfyun-audio", transport: "websocket" },
20
+ { protocol: "zhipu-audio", transport: "http" },
21
+ { protocol: "minimax-audio", transport: "http" },
22
+ ],
23
+ transcription: [
24
+ { protocol: "openai-audio", transport: "http" },
25
+ { protocol: "volcengine-audio", transport: "websocket" },
26
+ { protocol: "zhipu-audio", transport: "http" },
27
+ { protocol: "dashscope-transcription", transport: "http" },
28
+ ],
29
+ "video-generation": [
30
+ { protocol: "dashscope-video", transport: "http", statusPath: "/api/v1/tasks/{taskId}", taskIdPath: "output.task_id", resultPath: "output.video_url" },
31
+ { protocol: "volcengine-video", transport: "http", statusPath: "/api/v3/contents/generations/tasks/{taskId}", taskIdPath: "id", resultPath: "content.video_url" },
32
+ ],
33
+ realtime: [
34
+ { protocol: "openai-responses-websocket", transport: "websocket" },
35
+ { protocol: "openai-realtime", transport: "websocket" },
36
+ ],
37
+ };
38
+ /** Derived discovery view; compiler gates and consumers use the same registry. */
39
+ export const PROTOCOLS_BY_MODEL_TYPE = Object.freeze(Object.fromEntries(Object.entries(PROTOCOL_CAPABILITIES).map(([modelType, capabilities]) => [
40
+ modelType, Object.freeze(capabilities.map(({ protocol }) => protocol)),
41
+ ])));
42
+ export const SUPPORTED_WIRE_PROTOCOLS = Object.freeze([...new Set(Object.values(PROTOCOLS_BY_MODEL_TYPE).flat())]);
43
+ export function getProtocolCapability(modelType, protocol) {
44
+ const capabilities = PROTOCOL_CAPABILITIES[modelType];
45
+ const capability = capabilities.find((item) => item.protocol === protocol);
46
+ if (!capability) {
47
+ throw new Error(`Protocol "${protocol}" cannot handle model type "${modelType}".`);
48
+ }
49
+ return capability;
50
+ }
51
+ // Protect the shared registry from accidental consumer mutation.
52
+ for (const capabilities of Object.values(PROTOCOL_CAPABILITIES)) {
53
+ for (const capability of capabilities)
54
+ Object.freeze(capability);
55
+ Object.freeze(capabilities);
56
+ }
57
+ Object.freeze(PROTOCOL_CAPABILITIES);
58
+ //# sourceMappingURL=protocol-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-capabilities.js","sourceRoot":"","sources":["../src/protocol-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { ModelType, Transport } from "./contracts.js";
2
+ import type { ProtocolRequest, RequestPreparation } from "./request-types.js";
3
+ import type { PreparedRequest } from "./request-builders/http.js";
4
+ import { type PreparedSpeechRequest } from "./protocols/speech.js";
5
+ import { type PreparedTranscriptionRequest } from "./protocols/transcription.js";
6
+ import { type PreparedVideoRequest } from "./protocols/video.js";
7
+ export interface ProtocolLifecycle {
8
+ readonly statusPath: string;
9
+ readonly taskIdPath: string;
10
+ readonly resultPath: string;
11
+ }
12
+ export interface ProtocolContext {
13
+ readonly transport: Transport;
14
+ readonly lifecycle?: ProtocolLifecycle;
15
+ }
16
+ export interface PreparedByModelType {
17
+ readonly "text-generation": PreparedRequest;
18
+ readonly "multimodal-generation": PreparedRequest;
19
+ readonly embedding: PreparedRequest;
20
+ readonly rerank: PreparedRequest;
21
+ readonly "image-generation": PreparedRequest;
22
+ readonly "image-editing": PreparedRequest;
23
+ readonly "speech-generation": PreparedSpeechRequest;
24
+ readonly transcription: PreparedTranscriptionRequest;
25
+ readonly "video-generation": PreparedVideoRequest;
26
+ readonly realtime: PreparedRequest;
27
+ }
28
+ export interface ProtocolCapability {
29
+ readonly protocol: string;
30
+ readonly modelTypes: readonly ModelType[];
31
+ readonly transport: Transport;
32
+ readonly lifecycle?: ProtocolLifecycle;
33
+ readonly prepare: (request: any) => any;
34
+ }
35
+ type DefinedCapability<M extends ModelType, P extends string> = {
36
+ readonly protocol: P;
37
+ readonly modelTypes: readonly M[];
38
+ readonly transport: Transport;
39
+ readonly lifecycle?: ProtocolLifecycle;
40
+ readonly prepare: (request: ProtocolRequest<M>) => PreparedByModelType[M];
41
+ };
42
+ export declare const PROTOCOL_REGISTRY: {
43
+ readonly "text-generation": (DefinedCapability<"text-generation" | "multimodal-generation", "openai-chat-completions"> | DefinedCapability<"text-generation" | "multimodal-generation", "openai-responses"> | DefinedCapability<"text-generation" | "multimodal-generation", "anthropic-messages"> | DefinedCapability<"text-generation" | "multimodal-generation", "gemini-generate-content">)[];
44
+ readonly "multimodal-generation": (DefinedCapability<"text-generation" | "multimodal-generation", "openai-chat-completions"> | DefinedCapability<"text-generation" | "multimodal-generation", "openai-responses"> | DefinedCapability<"text-generation" | "multimodal-generation", "anthropic-messages"> | DefinedCapability<"text-generation" | "multimodal-generation", "gemini-generate-content">)[];
45
+ readonly embedding: readonly [DefinedCapability<"embedding", "openai-embeddings">];
46
+ readonly rerank: readonly [DefinedCapability<"rerank", "cohere-rerank">];
47
+ readonly "image-generation": readonly [DefinedCapability<"image-generation", "openai-images">];
48
+ readonly "image-editing": readonly [DefinedCapability<"image-editing", "openai-images">];
49
+ readonly "speech-generation": readonly [DefinedCapability<"speech-generation", "openai-audio">, DefinedCapability<"speech-generation", "dashscope-audio">, DefinedCapability<"speech-generation", "volcengine-audio">, DefinedCapability<"speech-generation", "xfyun-audio">, DefinedCapability<"speech-generation", "zhipu-audio">, DefinedCapability<"speech-generation", "minimax-audio">];
50
+ readonly transcription: readonly [DefinedCapability<"transcription", "openai-audio">, DefinedCapability<"transcription", "volcengine-audio">, DefinedCapability<"transcription", "zhipu-audio">, DefinedCapability<"transcription", "dashscope-transcription">];
51
+ readonly "video-generation": readonly [DefinedCapability<"video-generation", "dashscope-video">, DefinedCapability<"video-generation", "volcengine-video">];
52
+ readonly realtime: readonly [DefinedCapability<"realtime", "openai-responses-websocket">, DefinedCapability<"realtime", "openai-realtime">];
53
+ };
54
+ export type ProtocolFor<T extends ModelType> = (typeof PROTOCOL_REGISTRY)[T][number]["protocol"];
55
+ export declare const PROTOCOLS_BY_MODEL_TYPE: { readonly [T in ModelType]: readonly ProtocolFor<T>[]; };
56
+ export declare const SUPPORTED_WIRE_PROTOCOLS: readonly ProtocolFor<ModelType>[];
57
+ export declare function getProtocolCapability<T extends ModelType>(modelType: T, protocol: string): (typeof PROTOCOL_REGISTRY)[T][number];
58
+ export type RegisteredRequest = RequestPreparation;
59
+ export {};
60
+ //# sourceMappingURL=protocol-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-registry.d.ts","sourceRoot":"","sources":["../src/protocol-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { prepareOpenAIChat, prepareOpenAIResponses, prepareAnthropic, prepareGemini, } from "./protocols/text.js";
2
+ import { prepareEmbedding, prepareRerank } from "./protocols/catalog.js";
3
+ import { prepareImageEditing, prepareImageGeneration, } from "./protocols/images.js";
4
+ import { prepareOpenAISpeech, prepareDashScopeSpeech, prepareVolcengineSpeech, prepareXfyunSpeech, prepareZhipuSpeech, prepareMiniMaxSpeech, } from "./protocols/speech.js";
5
+ import { prepareOpenAITranscription, prepareVolcengineTranscription, prepareZhipuTranscription, prepareDashScopeTranscription, } from "./protocols/transcription.js";
6
+ import { prepareDashScopeVideo, prepareVolcengineVideo, } from "./protocols/video.js";
7
+ import { prepareOpenAIRealtime, prepareResponsesWebSocket, } from "./protocols/realtime.js";
8
+ const define = (protocol, modelTypes, transport, handler, lifecycle) => {
9
+ const context = {
10
+ transport,
11
+ ...(lifecycle ? { lifecycle } : {}),
12
+ };
13
+ return {
14
+ protocol,
15
+ modelTypes,
16
+ transport,
17
+ ...(lifecycle ? { lifecycle } : {}),
18
+ prepare: (request) => handler(request, context),
19
+ };
20
+ };
21
+ const textTypes = ["text-generation", "multimodal-generation"];
22
+ const text = [
23
+ define("openai-chat-completions", textTypes, "http", (request) => prepareOpenAIChat(request)),
24
+ define("openai-responses", textTypes, "http", (request) => prepareOpenAIResponses(request)),
25
+ define("anthropic-messages", textTypes, "http", (request) => prepareAnthropic(request)),
26
+ define("gemini-generate-content", textTypes, "http", (request) => prepareGemini(request)),
27
+ ];
28
+ export const PROTOCOL_REGISTRY = {
29
+ "text-generation": text,
30
+ "multimodal-generation": text,
31
+ embedding: [
32
+ define("openai-embeddings", ["embedding"], "http", prepareEmbedding),
33
+ ],
34
+ rerank: [define("cohere-rerank", ["rerank"], "http", prepareRerank)],
35
+ "image-generation": [
36
+ define("openai-images", ["image-generation"], "http", prepareImageGeneration),
37
+ ],
38
+ "image-editing": [
39
+ define("openai-images", ["image-editing"], "http", prepareImageEditing),
40
+ ],
41
+ "speech-generation": [
42
+ define("openai-audio", ["speech-generation"], "http", prepareOpenAISpeech),
43
+ define("dashscope-audio", ["speech-generation"], "http", prepareDashScopeSpeech),
44
+ define("volcengine-audio", ["speech-generation"], "http-stream", prepareVolcengineSpeech),
45
+ define("xfyun-audio", ["speech-generation"], "websocket", prepareXfyunSpeech),
46
+ define("zhipu-audio", ["speech-generation"], "http", prepareZhipuSpeech),
47
+ define("minimax-audio", ["speech-generation"], "http", prepareMiniMaxSpeech),
48
+ ],
49
+ transcription: [
50
+ define("openai-audio", ["transcription"], "http", prepareOpenAITranscription),
51
+ define("volcengine-audio", ["transcription"], "websocket", prepareVolcengineTranscription),
52
+ define("zhipu-audio", ["transcription"], "http", prepareZhipuTranscription),
53
+ define("dashscope-transcription", ["transcription"], "http", prepareDashScopeTranscription),
54
+ ],
55
+ "video-generation": [
56
+ define("dashscope-video", ["video-generation"], "http", prepareDashScopeVideo, {
57
+ statusPath: "/api/v1/tasks/{taskId}",
58
+ taskIdPath: "output.task_id",
59
+ resultPath: "output.video_url",
60
+ }),
61
+ define("volcengine-video", ["video-generation"], "http", prepareVolcengineVideo, {
62
+ statusPath: "/api/v3/contents/generations/tasks/{taskId}",
63
+ taskIdPath: "id",
64
+ resultPath: "content.video_url",
65
+ }),
66
+ ],
67
+ realtime: [
68
+ define("openai-responses-websocket", ["realtime"], "websocket", prepareResponsesWebSocket),
69
+ define("openai-realtime", ["realtime"], "websocket", prepareOpenAIRealtime),
70
+ ],
71
+ };
72
+ export const PROTOCOLS_BY_MODEL_TYPE = Object.freeze(Object.fromEntries(Object.entries(PROTOCOL_REGISTRY).map(([modelType, capabilities]) => [
73
+ modelType,
74
+ Object.freeze(capabilities.map(({ protocol }) => protocol)),
75
+ ])));
76
+ export const SUPPORTED_WIRE_PROTOCOLS = Object.freeze([...new Set(Object.values(PROTOCOLS_BY_MODEL_TYPE).flat())]);
77
+ export function getProtocolCapability(modelType, protocol) {
78
+ const capability = PROTOCOL_REGISTRY[modelType].find((item) => item.protocol === protocol);
79
+ if (!capability)
80
+ throw new Error(`Protocol "${protocol}" cannot handle model type "${modelType}".`);
81
+ return capability;
82
+ }
83
+ for (const capabilities of Object.values(PROTOCOL_REGISTRY)) {
84
+ for (const capability of capabilities)
85
+ Object.freeze(capability);
86
+ Object.freeze(capabilities);
87
+ }
88
+ Object.freeze(PROTOCOL_REGISTRY);
89
+ //# sourceMappingURL=protocol-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-registry.js","sourceRoot":"","sources":["../src/protocol-registry.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
- import type { RequestPreparation } from "../request-types.js";
2
- import type { PreparedRequest } from "../request-utils.js";
3
- export declare function prepareEmbedding(request: Extract<RequestPreparation, {
4
- readonly modelType: "embedding";
5
- }>): PreparedRequest;
6
- export declare function prepareRerank(request: Extract<RequestPreparation, {
7
- readonly modelType: "rerank";
8
- }>): PreparedRequest;
1
+ import type { ProtocolRequest } from "../request-types.js";
2
+ import type { PreparedRequest } from "../request-builders/http.js";
3
+ export declare function prepareEmbedding(request: ProtocolRequest<"embedding">): PreparedRequest;
4
+ export declare function prepareRerank(request: ProtocolRequest<"rerank">): PreparedRequest;
9
5
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/protocols/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAAE,CAAC,GACxE,eAAe,CAQjB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAA;CAAE,CAAC,GACrE,eAAe,CASjB"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/protocols/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,GACpC,eAAe,CAYjB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GACjC,eAAe,CAWjB"}
@@ -1,11 +1,15 @@
1
- import { jsonRequest } from "../request-utils.js";
1
+ import { jsonRequest } from "../request-builders/http.js";
2
2
  export function prepareEmbedding(request) {
3
3
  return jsonRequest(request, "/v1/embeddings", {
4
4
  ...request.input.extraBody,
5
5
  model: request.model,
6
6
  input: request.input.input,
7
- ...(request.input.dimensions !== undefined ? { dimensions: request.input.dimensions } : {}),
8
- ...(request.input.encodingFormat ? { encoding_format: request.input.encodingFormat } : {}),
7
+ ...(request.input.dimensions !== undefined
8
+ ? { dimensions: request.input.dimensions }
9
+ : {}),
10
+ ...(request.input.encodingFormat
11
+ ? { encoding_format: request.input.encodingFormat }
12
+ : {}),
9
13
  });
10
14
  }
11
15
  export function prepareRerank(request) {
@@ -15,7 +19,9 @@ export function prepareRerank(request) {
15
19
  query: request.input.query,
16
20
  documents: request.input.documents,
17
21
  ...(request.input.topN !== undefined ? { top_n: request.input.topN } : {}),
18
- ...(request.input.returnDocuments !== undefined ? { return_documents: request.input.returnDocuments } : {}),
22
+ ...(request.input.returnDocuments !== undefined
23
+ ? { return_documents: request.input.returnDocuments }
24
+ : {}),
19
25
  });
20
26
  }
21
27
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/protocols/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAC9B,OAAyE;IAEzE,OAAO,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE;QAC5C,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAsE;IAEtE,OAAO,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE;QACxC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;QAClC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5G,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/protocols/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAC9B,OAAqC;IAErC,OAAO,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE;QAC5C,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc;YAC9B,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAkC;IAElC,OAAO,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE;QACxC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;QAClC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +1,5 @@
1
- import type { RequestPreparation } from "../request-types.js";
2
- import type { PreparedRequest } from "../request-utils.js";
3
- export declare function prepareImageGeneration(request: Extract<RequestPreparation, {
4
- readonly modelType: "image-generation";
5
- }>): PreparedRequest;
6
- export declare function prepareImageEditing(request: Extract<RequestPreparation, {
7
- readonly modelType: "image-editing";
8
- }>): PreparedRequest;
1
+ import type { ProtocolRequest } from "../request-types.js";
2
+ import type { PreparedRequest } from "../request-builders/http.js";
3
+ export declare function prepareImageGeneration(request: ProtocolRequest<"image-generation">): PreparedRequest;
4
+ export declare function prepareImageEditing(request: ProtocolRequest<"image-editing">): PreparedRequest;
9
5
  //# sourceMappingURL=images.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/protocols/images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAA;CAAE,CAAC,GAC/E,eAAe,CAiBjB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GAC5E,eAAe,CAejB"}
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/protocols/images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAKnE,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAC3C,eAAe,CAmBjB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,GACxC,eAAe,CAiBjB"}