reactor-effect-client 0.3.0 → 0.3.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 (68) hide show
  1. package/README.md +9 -7
  2. package/dist/SessionTypes.d.ts +2 -0
  3. package/dist/SessionTypes.d.ts.map +1 -1
  4. package/dist/SessionTypes.js.map +1 -1
  5. package/dist/h3/_internal/client.d.ts.map +1 -1
  6. package/dist/h3/_internal/client.js +43 -35
  7. package/dist/h3/_internal/client.js.map +1 -1
  8. package/dist/h3/_internal/contracts.d.ts +13 -0
  9. package/dist/h3/_internal/contracts.d.ts.map +1 -1
  10. package/dist/h3/_internal/contracts.js +10 -0
  11. package/dist/h3/_internal/contracts.js.map +1 -1
  12. package/dist/h3/_internal/deployment.d.ts.map +1 -1
  13. package/dist/h3/_internal/deployment.js +21 -5
  14. package/dist/h3/_internal/deployment.js.map +1 -1
  15. package/dist/h3/_internal/references.d.ts +9 -3
  16. package/dist/h3/_internal/references.d.ts.map +1 -1
  17. package/dist/h3/_internal/references.js +134 -6
  18. package/dist/h3/_internal/references.js.map +1 -1
  19. package/dist/h3/_internal/request.d.ts +9 -4
  20. package/dist/h3/_internal/request.d.ts.map +1 -1
  21. package/dist/h3/_internal/request.js +28 -10
  22. package/dist/h3/_internal/request.js.map +1 -1
  23. package/dist/h3/index.d.ts +3 -3
  24. package/dist/h3/index.d.ts.map +1 -1
  25. package/dist/h3/index.js +2 -2
  26. package/dist/h3/index.js.map +1 -1
  27. package/dist/h3/profile.d.ts +37 -0
  28. package/dist/h3/profile.d.ts.map +1 -1
  29. package/dist/h3/profile.js +44 -0
  30. package/dist/h3/profile.js.map +1 -1
  31. package/dist/h3/types.d.ts +31 -1
  32. package/dist/h3/types.d.ts.map +1 -1
  33. package/dist/orchestration/h3-source.d.ts.map +1 -1
  34. package/dist/orchestration/h3-source.js +7 -4
  35. package/dist/orchestration/h3-source.js.map +1 -1
  36. package/dist/orchestration/index.d.ts +3 -3
  37. package/dist/orchestration/index.d.ts.map +1 -1
  38. package/dist/orchestration/index.js +2 -2
  39. package/dist/orchestration/index.js.map +1 -1
  40. package/dist/orchestration/open-h3.d.ts +38 -2
  41. package/dist/orchestration/open-h3.d.ts.map +1 -1
  42. package/dist/orchestration/open-h3.js +63 -1
  43. package/dist/orchestration/open-h3.js.map +1 -1
  44. package/dist/orchestration/request.d.ts +13 -0
  45. package/dist/orchestration/request.d.ts.map +1 -1
  46. package/dist/orchestration/request.js +15 -0
  47. package/dist/orchestration/request.js.map +1 -1
  48. package/dist/session/_internal/acquire.d.ts.map +1 -1
  49. package/dist/session/_internal/acquire.js +13 -2
  50. package/dist/session/_internal/acquire.js.map +1 -1
  51. package/dist/session/_internal/remote.d.ts.map +1 -1
  52. package/dist/session/_internal/remote.js +2 -1
  53. package/dist/session/_internal/remote.js.map +1 -1
  54. package/dist/session/index.d.ts +8 -0
  55. package/dist/session/index.d.ts.map +1 -1
  56. package/dist/session/index.js.map +1 -1
  57. package/dist/simulation/_internal/source.d.ts.map +1 -1
  58. package/dist/simulation/_internal/source.js +13 -1
  59. package/dist/simulation/_internal/source.js.map +1 -1
  60. package/dist/testing/Wav.d.ts +14 -0
  61. package/dist/testing/Wav.d.ts.map +1 -0
  62. package/dist/testing/Wav.js +37 -0
  63. package/dist/testing/Wav.js.map +1 -0
  64. package/dist/testing/index.d.ts +2 -0
  65. package/dist/testing/index.d.ts.map +1 -1
  66. package/dist/testing/index.js +1 -0
  67. package/dist/testing/index.js.map +1 -1
  68. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import { ReactorError } from "../../errors.js";
3
3
  import type { UploadReference } from "../../wire.generated.js";
4
- import type { Reference, ValidatedReference } from "../types.js";
4
+ import type { Reference, ValidatedAudioReference, ValidatedReference } from "../types.js";
5
5
  export type Material = {
6
6
  readonly _tag: "Bytes";
7
7
  readonly bytes: Uint8Array<ArrayBuffer>;
@@ -11,8 +11,14 @@ export type Material = {
11
11
  };
12
12
  export declare const plain: (input: unknown, allowed: readonly string[]) => Record<string, unknown>;
13
13
  /** Validates wire identity and a safe JSON size projection without inventing upload provenance. */
14
- export declare const checkedUpload: (input: unknown) => UploadReference;
14
+ export declare const checkedUpload: (input: unknown, kind?: "image" | "audio") => UploadReference;
15
15
  export declare const captureReference: (input: Reference | ValidatedReference) => ValidatedReference;
16
- export declare const referenceMaterial: (reference: ValidatedReference) => Material;
16
+ export declare const captureAudioReference: (input: Reference | ValidatedAudioReference) => ValidatedAudioReference;
17
+ export declare const referenceMaterial: (reference: ValidatedReference | ValidatedAudioReference) => Material;
17
18
  export declare const validateReference: (input: Reference) => Effect.Effect<ValidatedReference, ReactorError>;
19
+ /**
20
+ * Validate an audio reference once: its container, and for WAV and FLAC its
21
+ * length and channels, so a request can reuse it without checking it again.
22
+ */
23
+ export declare const validateAudioReference: (input: Reference) => Effect.Effect<ValidatedAudioReference, ReactorError>;
18
24
  //# sourceMappingURL=references.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/h3/_internal/references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAe,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOjE,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC;AA+GlE,eAAO,MAAM,KAAK,UAAW,OAAO,WAAW,SAAS,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAgBxF,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,eAqB9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,SAAS,GAAG,kBAAkB,KAAG,kBAoCxE,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,kBAAkB,KAAG,QACE,CAAC;AACrE,eAAO,MAAM,iBAAiB,UACrB,SAAS,KACf,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CACW,CAAC"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/h3/_internal/references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAe,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO/D,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAO1F,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC;AAiMlE,eAAO,MAAM,KAAK,UAAW,OAAO,WAAW,SAAS,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAgBxF,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,aAAa,UACjB,OAAO,SACR,OAAO,GAAG,OAAO,KACtB,eAyBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,SAAS,GAAG,kBAAkB,KAAG,kBAyCxE,CAAC;AAEF,eAAO,MAAM,qBAAqB,UACzB,SAAS,GAAG,uBAAuB,KACzC,uBA8CF,CAAC;AAEF,eAAO,MAAM,iBAAiB,cACjB,kBAAkB,GAAG,uBAAuB,KACtD,QAA8E,CAAC;AAClF,eAAO,MAAM,iBAAiB,UACrB,SAAS,KACf,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CACW,CAAC;AAC7D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,UAC1B,SAAS,KACf,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,YAAY,CACW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import { parsedInput, ReactorError } from "../../errors.js";
3
- import { imageMimeTypes, referenceLimits } from "../profile.js";
3
+ import { audioMimeTypes, audioReferenceLimits, imageMimeTypes, referenceLimits, } from "../profile.js";
4
4
  const materials = new WeakMap();
5
5
  const invalid = (message) => {
6
6
  throw ReactorError.fromCode("InvalidInput", message, {
@@ -104,6 +104,80 @@ const inspectImage = (bytes) => {
104
104
  }
105
105
  return invalid("Reference must contain a supported PNG, JPEG, or WebP image");
106
106
  };
107
+ /** A WAV's length and channels, from its `fmt ` chunk and the data it holds. */
108
+ const inspectWav = (bytes) => {
109
+ if (le32(bytes, 4) + 8 > bytes.length)
110
+ return invalid("WAV is truncated");
111
+ let offset = 12, channels, byteRate, data;
112
+ while (offset + 8 <= bytes.length) {
113
+ const id = ascii(bytes, offset, 4), size = le32(bytes, offset + 4), body = offset + 8;
114
+ if (id === "fmt ") {
115
+ if (size < 16 || body + 16 > bytes.length)
116
+ return invalid("WAV format chunk is truncated");
117
+ channels = le16(bytes, body + 2);
118
+ byteRate = le32(bytes, body + 8);
119
+ }
120
+ else if (id === "data") {
121
+ // A streaming writer may leave the size at its maximum: count what is there.
122
+ data = Math.min(size, bytes.length - body);
123
+ break;
124
+ }
125
+ offset = body + size + (size % 2);
126
+ }
127
+ if (channels === undefined || byteRate === undefined || data === undefined)
128
+ return invalid("WAV has no format or data chunk");
129
+ if (channels === 0 || byteRate === 0)
130
+ return invalid("WAV format is invalid");
131
+ return { mimeType: "audio/wav", seconds: data / byteRate, channels };
132
+ };
133
+ /** A FLAC's length and channels, from its STREAMINFO block; an unknown length stays null. */
134
+ const inspectFlac = (bytes) => {
135
+ const info = 8;
136
+ if (bytes.length < info + 34 || (bytes[4] & 127) !== 0)
137
+ return invalid("FLAC has no stream info");
138
+ if (uint16(bytes, 5) * 256 + bytes[7] < 34)
139
+ return invalid("FLAC stream info is truncated");
140
+ const rate = bytes[info + 10] * 4096 + bytes[info + 11] * 16 + (bytes[info + 12] >> 4);
141
+ const channels = ((bytes[info + 12] >> 1) & 7) + 1;
142
+ const samples = (bytes[info + 13] & 15) * 0x100000000 + uint32(bytes, info + 14);
143
+ if (rate === 0)
144
+ return invalid("FLAC sample rate is invalid");
145
+ return { mimeType: "audio/flac", seconds: samples === 0 ? null : samples / rate, channels };
146
+ };
147
+ /** An Ogg stream's channels from its first page's Opus or Vorbis header; its length stays null. */
148
+ const inspectOgg = (bytes) => {
149
+ const payload = bytes.length > 26 ? 27 + bytes[26] : bytes.length;
150
+ const channels = ascii(bytes, payload, 8) === "OpusHead"
151
+ ? bytes[payload + 9]
152
+ : bytes[payload] === 1 && ascii(bytes, payload + 1, 6) === "vorbis"
153
+ ? bytes[payload + 11]
154
+ : undefined;
155
+ return { mimeType: "audio/ogg", seconds: null, channels: channels ?? null };
156
+ };
157
+ /**
158
+ * The only audio-container identification used by the provider and its loaders.
159
+ * WAV and FLAC headers give a length and channel count that are checked here;
160
+ * the other formats are recognized by their container and checked by H3.
161
+ */
162
+ const inspectAudio = (bytes) => {
163
+ if (bytes.length >= 12 && ascii(bytes, 0, 4) === "RIFF" && ascii(bytes, 8, 4) === "WAVE")
164
+ return inspectWav(bytes);
165
+ if (bytes.length >= 4 && ascii(bytes, 0, 4) === "fLaC")
166
+ return inspectFlac(bytes);
167
+ if (bytes.length >= 4 && ascii(bytes, 0, 4) === "OggS")
168
+ return inspectOgg(bytes);
169
+ if (bytes.length >= 12 && ascii(bytes, 4, 4) === "ftyp")
170
+ return { mimeType: "audio/mp4", seconds: null, channels: null };
171
+ if (bytes.length >= 4 && uint32(bytes, 0) === 0x1a45dfa3)
172
+ return { mimeType: "audio/webm", seconds: null, channels: null };
173
+ if (bytes.length >= 3 && ascii(bytes, 0, 3) === "ID3")
174
+ return { mimeType: "audio/mpeg", seconds: null, channels: null };
175
+ if (bytes.length >= 2 && bytes[0] === 255 && (bytes[1] & 246) === 240)
176
+ return { mimeType: "audio/aac", seconds: null, channels: null };
177
+ if (bytes.length >= 2 && bytes[0] === 255 && (bytes[1] & 224) === 224 && (bytes[1] & 6) !== 0)
178
+ return { mimeType: "audio/mpeg", seconds: null, channels: null };
179
+ return invalid("Audio reference must be WAV, MP3, AAC/M4A, OGG/Opus, FLAC or WebM");
180
+ };
107
181
  export const plain = (input, allowed) => {
108
182
  if (input === null ||
109
183
  typeof input !== "object" ||
@@ -120,17 +194,20 @@ export const plain = (input, allowed) => {
120
194
  return output;
121
195
  };
122
196
  /** Validates wire identity and a safe JSON size projection without inventing upload provenance. */
123
- export const checkedUpload = (input) => {
197
+ export const checkedUpload = (input, kind = "image") => {
198
+ const [mimeTypes, maxBytes] = kind === "image"
199
+ ? [imageMimeTypes, referenceLimits.maxBytes]
200
+ : [audioMimeTypes, audioReferenceLimits.maxBytes];
124
201
  const file = plain(input, ["upload_id", "name", "mime_type", "size", "_unknown"]);
125
202
  if (typeof file.upload_id !== "string" ||
126
203
  !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(file.upload_id) ||
127
204
  typeof file.name !== "string" ||
128
205
  file.name.length === 0 ||
129
206
  file.name.length > 1024 ||
130
- !imageMimeTypes.includes(String(file.mime_type)) ||
207
+ !mimeTypes.includes(String(file.mime_type)) ||
131
208
  typeof file.size !== "bigint" ||
132
209
  file.size <= 0n ||
133
- file.size > BigInt(referenceLimits.maxBytes)) {
210
+ file.size > BigInt(maxBytes)) {
134
211
  return invalid("Uploaded reference has invalid identity, type, or size");
135
212
  }
136
213
  return Object.freeze({
@@ -141,7 +218,10 @@ export const checkedUpload = (input) => {
141
218
  });
142
219
  };
143
220
  export const captureReference = (input) => {
144
- if (input !== null && typeof input === "object" && materials.has(input))
221
+ if (input !== null &&
222
+ typeof input === "object" &&
223
+ materials.has(input) &&
224
+ input._tag === "ValidatedReference")
145
225
  return input;
146
226
  const object = plain(input, ["_tag", "bytes", "file"]);
147
227
  let material, facts;
@@ -171,11 +251,59 @@ export const captureReference = (input) => {
171
251
  };
172
252
  }
173
253
  else
174
- return invalid("Reference must be Bytes or Uploaded; reference audio is unsupported");
254
+ return invalid("Reference must be Bytes or Uploaded");
255
+ const validated = Object.freeze(facts);
256
+ materials.set(validated, material);
257
+ return validated;
258
+ };
259
+ export const captureAudioReference = (input) => {
260
+ if (input !== null &&
261
+ typeof input === "object" &&
262
+ materials.has(input) &&
263
+ input._tag === "ValidatedAudioReference")
264
+ return input;
265
+ const object = plain(input, ["_tag", "bytes", "file"]);
266
+ let material, facts;
267
+ if (object._tag === "Bytes" && object.bytes instanceof Uint8Array && object.file === undefined) {
268
+ if (object.bytes.byteLength === 0 || object.bytes.byteLength > audioReferenceLimits.maxBytes)
269
+ return invalid("Audio exceeds the 25 MiB bound");
270
+ const bytes = new Uint8Array(object.bytes), audio = inspectAudio(bytes);
271
+ if (audio.channels !== null &&
272
+ (audio.channels < 1 || audio.channels > audioReferenceLimits.maxChannels))
273
+ return invalid("Audio must be mono or stereo");
274
+ if (audio.seconds !== null &&
275
+ (audio.seconds < audioReferenceLimits.minSeconds ||
276
+ audio.seconds > audioReferenceLimits.maxSeconds))
277
+ return invalid("Audio must be 2 to 15 seconds long");
278
+ material = { _tag: "Bytes", bytes };
279
+ facts = {
280
+ _tag: "ValidatedAudioReference",
281
+ ...audio,
282
+ size: bytes.length,
283
+ };
284
+ }
285
+ else if (object._tag === "Uploaded" && object.bytes === undefined) {
286
+ const file = checkedUpload(object.file, "audio");
287
+ material = { _tag: "Uploaded", file };
288
+ facts = {
289
+ _tag: "ValidatedAudioReference",
290
+ mimeType: file.mime_type,
291
+ size: Number(file.size),
292
+ seconds: null,
293
+ channels: null,
294
+ };
295
+ }
296
+ else
297
+ return invalid("Audio reference must be Bytes or Uploaded");
175
298
  const validated = Object.freeze(facts);
176
299
  materials.set(validated, material);
177
300
  return validated;
178
301
  };
179
302
  export const referenceMaterial = (reference) => materials.get(reference) ?? invalid("Unknown validated reference");
180
303
  export const validateReference = (input) => parsedInput(() => captureReference(input), "H3 reference");
304
+ /**
305
+ * Validate an audio reference once: its container, and for WAV and FLAC its
306
+ * length and channels, so a request can reuse it without checking it again.
307
+ */
308
+ export const validateAudioReference = (input) => parsedInput(() => captureAudioReference(input), "H3 reference");
181
309
  //# sourceMappingURL=references.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/h3/_internal/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/h3/_internal/references.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { UploadReference } from "../../wire.generated.js";
2
- import type { Request, ValidatedReference } from "../types.js";
2
+ import type { Request, ValidatedAudioReference, ValidatedReference } from "../types.js";
3
3
  import type { CommandArgs } from "./contracts.js";
4
- export interface CapturedRequest extends Omit<Request, "references"> {
4
+ export interface CapturedRequest extends Omit<Request, "references" | "audio"> {
5
5
  readonly references: readonly ValidatedReference[];
6
+ readonly audio: readonly ValidatedAudioReference[];
6
7
  }
7
8
  export declare const nonnegative: (value: unknown, field: string) => number;
8
9
  export declare const seconds: (value: unknown, bounds?: {
@@ -11,6 +12,10 @@ export declare const seconds: (value: unknown, bounds?: {
11
12
  }) => number;
12
13
  export declare const clipId: (input: unknown) => string;
13
14
  export declare const captureRequest: (input: Request, maxPromptBytes: number) => CapturedRequest;
14
- /** Project validated, captured input once; no reference validation or host IO happens here. */
15
- export declare const enqueueArguments: (request: CapturedRequest, files: readonly UploadReference[], metadata: string) => CommandArgs<"enqueue">;
15
+ /**
16
+ * Project validated, captured input once; no reference validation or host IO
17
+ * happens here. Audio is sent only when the request has some, so a request
18
+ * without it reads exactly as before to a deployment that takes none.
19
+ */
20
+ export declare const enqueueArguments: (request: CapturedRequest, files: readonly UploadReference[], audio: readonly UploadReference[], metadata: string) => CommandArgs<"enqueue">;
16
21
  //# sourceMappingURL=request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/h3/_internal/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;AAOD,eAAO,MAAM,WAAW,UAAW,OAAO,SAAS,MAAM,KAAG,MAI3D,CAAC;AACF,eAAO,MAAM,OAAO,UACX,OAAO,WACN;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KACrD,MASF,CAAC;AACF,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAOvC,CAAC;AACF,eAAO,MAAM,cAAc,UAAW,OAAO,kBAAkB,MAAM,KAAG,eAmCvE,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,YAClB,eAAe,SACjB,SAAS,eAAe,EAAE,YACvB,MAAM,KACf,WAAW,CAAC,SAAS,CAcpB,CAAC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/h3/_internal/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO/D,OAAO,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;IAC5E,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACpD;AAOD,eAAO,MAAM,WAAW,UAAW,OAAO,SAAS,MAAM,KAAG,MAI3D,CAAC;AACF,eAAO,MAAM,OAAO,UACX,OAAO,WACN;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KACrD,MASF,CAAC;AACF,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAOvC,CAAC;AACF,eAAO,MAAM,cAAc,UAAW,OAAO,kBAAkB,MAAM,KAAG,eAmDvE,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,YAClB,eAAe,SACjB,SAAS,eAAe,EAAE,SAC1B,SAAS,eAAe,EAAE,YACvB,MAAM,KACf,WAAW,CAAC,SAAS,CAUpB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { ReactorError } from "../../errors.js";
2
2
  import { checkedString } from "../../protobuf.js";
3
- import { metadataMaxChars, referenceLimits, requestSeconds } from "../profile.js";
4
- import { captureReference, plain } from "./references.js";
3
+ import { audioReferenceLimits, metadataMaxChars, referenceLimits, requestSeconds, } from "../profile.js";
4
+ import { captureAudioReference, captureReference, plain } from "./references.js";
5
5
  const bad = (message) => {
6
6
  throw ReactorError.fromCode("InvalidInput", message, {
7
7
  operation: "enqueue",
@@ -31,6 +31,7 @@ export const captureRequest = (input, maxPromptBytes) => {
31
31
  const request = plain(input, [
32
32
  "prompt",
33
33
  "references",
34
+ "audio",
34
35
  "seconds",
35
36
  "seed",
36
37
  "position",
@@ -47,9 +48,20 @@ export const captureRequest = (input, maxPromptBytes) => {
47
48
  const references = request.references ?? [];
48
49
  if (!Array.isArray(references) || references.length > referenceLimits.maxImages)
49
50
  return bad("H3 accepts at most nine image references");
51
+ const audio = request.audio ?? [];
52
+ const continued = request.continueFrom !== undefined;
53
+ if (!Array.isArray(audio) || audio.length > audioReferenceLimits.maxAudio)
54
+ return bad("H3 accepts at most three audio references");
55
+ if (continued && audio.length > audioReferenceLimits.maxAudioWithContinuation)
56
+ return bad("A continued clip accepts at most two audio references");
57
+ if (audio.length > 0 && references.length === 0 && !continued)
58
+ return bad("Audio references need an image reference or a continuation");
59
+ if (references.length + audio.length + (continued ? 1 : 0) > audioReferenceLimits.maxTotal)
60
+ return bad("H3 accepts at most twelve references in total");
50
61
  return Object.freeze({
51
62
  prompt: request.prompt,
52
63
  references: Object.freeze(references.map((reference) => captureReference(reference))),
64
+ audio: Object.freeze(audio.map((reference) => captureAudioReference(reference))),
53
65
  ...(request.seconds === undefined ? {} : { seconds: seconds(request.seconds) }),
54
66
  ...(request.seed === undefined ? {} : { seed: nonnegative(request.seed, "seed") }),
55
67
  ...(request.position === undefined
@@ -61,15 +73,21 @@ export const captureRequest = (input, maxPromptBytes) => {
61
73
  : { metadata: checkedString(request.metadata, metadataMaxChars) }),
62
74
  });
63
75
  };
64
- /** Project validated, captured input once; no reference validation or host IO happens here. */
65
- export const enqueueArguments = (request, files, metadata) => Object.freeze({
76
+ const wireUpload = (file) => ({
77
+ upload_id: file.upload_id,
78
+ name: file.name,
79
+ mime_type: file.mime_type,
80
+ size: Number(file.size),
81
+ });
82
+ /**
83
+ * Project validated, captured input once; no reference validation or host IO
84
+ * happens here. Audio is sent only when the request has some, so a request
85
+ * without it reads exactly as before to a deployment that takes none.
86
+ */
87
+ export const enqueueArguments = (request, files, audio, metadata) => Object.freeze({
66
88
  prompt: request.prompt,
67
- reference_images: files.map((file) => ({
68
- upload_id: file.upload_id,
69
- name: file.name,
70
- mime_type: file.mime_type,
71
- size: Number(file.size),
72
- })),
89
+ reference_images: files.map(wireUpload),
90
+ ...(audio.length === 0 ? {} : { reference_audios: audio.map(wireUpload) }),
73
91
  metadata,
74
92
  ...(request.seconds === undefined ? {} : { seconds: request.seconds }),
75
93
  ...(request.seed === undefined ? {} : { seed: request.seed }),
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/h3/_internal/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAK1D,MAAM,GAAG,GAAG,CAAC,OAAe,EAAS,EAAE;IACrC,MAAM,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE;QACnD,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;AACL,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,KAAa,EAAU,EAAE;IACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACxE,OAAO,GAAG,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,KAAc,EACd,MAAM,GAAmD,cAAc,EAC/D,EAAE;IACV,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,KAAK,GAAG,MAAM,CAAC,GAAG;QAClB,KAAK,GAAG,MAAM,CAAC,GAAG;QAElB,OAAO,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAU,EAAE;IAC/C,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,iEAAiE,CAAC,IAAI,CAAC,KAAK,CAAC;QAE9E,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,cAAsB,EAAmB,EAAE;IACxF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE;QAC3B,QAAQ;QACR,YAAY;QACZ,SAAS;QACT,MAAM;QACN,UAAU;QACV,cAAc;QACd,UAAU;KACX,CAAC,CAAC;IACH,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAC1E,OAAO,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,cAAc;QAClE,OAAO,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;QACxE,OAAO,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,SAAS;QAC7E,OAAO,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,MAAM,CAAC,MAAM,CACvB,UAAU,CAAC,GAAG,CAAC,CAAC,SAAkB,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAA+B,CAAC,CAAC,CAC1F;QACD,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAwB,EACxB,KAAiC,EACjC,QAAgB,EACQ,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;KACxB,CAAC,CAAC;IACH,QAAQ;IACR,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACtE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7D,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IACzE,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;CAC/F,CAAC,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/h3/_internal/request.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /** Portable H3 Reference Turbo Realtime provider over a canonical, already connected Session. */
2
2
  export { make } from "./_internal/client.js";
3
- export { validateReference } from "./_internal/references.js";
4
- export { modelName, documentedVersion, source, requestSeconds, canvases, referenceLimits, } from "./profile.js";
3
+ export { validateAudioReference, validateReference } from "./_internal/references.js";
4
+ export { modelName, documentedVersion, source, requestSeconds, canvases, referenceLimits, audioReferenceLimits, } from "./profile.js";
5
5
  export { h3ReferenceTurboRealtime, minSeconds, maxSeconds, alignFrames, alignSecondsTo, clampSecondsTo, isRequestableSeconds, estimateTokens, canvasSize, } from "./profile.js";
6
6
  export type { ModelProfile, CanvasAspect } from "./profile.js";
7
7
  export { Clip, Queue, State } from "./messages.js";
8
8
  export type { Message, MessageType, Payload, DecodedMessage } from "./messages.js";
9
- export type { Reference, ValidatedReference, Request, Options, Aspect, Provider, ProviderSnapshot, ProviderEvent, ProviderObservation, ObservationOptions, Acceptance, PrepareHooks, Reply, ControlResult, Contract, Facts, ClipObservation, ClipOperation, ClipFact, ClipPhase, OperationFacts, } from "./types.js";
9
+ export type { Reference, ValidatedReference, ValidatedAudioReference, Request, Options, Aspect, Provider, ProviderSnapshot, ProviderEvent, ProviderObservation, ObservationOptions, Acceptance, PrepareHooks, Reply, ControlResult, Contract, Facts, ClipObservation, ClipOperation, ClipFact, ClipPhase, OperationFacts, } from "./types.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/h3/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,KAAK,EACL,aAAa,EACb,QAAQ,EACR,KAAK,EACL,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/h3/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,KAAK,EACL,aAAa,EACb,QAAQ,EACR,KAAK,EACL,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC"}
package/dist/h3/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /** Portable H3 Reference Turbo Realtime provider over a canonical, already connected Session. */
2
2
  export { make } from "./_internal/client.js";
3
- export { validateReference } from "./_internal/references.js";
4
- export { modelName, documentedVersion, source, requestSeconds, canvases, referenceLimits, } from "./profile.js";
3
+ export { validateAudioReference, validateReference } from "./_internal/references.js";
4
+ export { modelName, documentedVersion, source, requestSeconds, canvases, referenceLimits, audioReferenceLimits, } from "./profile.js";
5
5
  export { h3ReferenceTurboRealtime, minSeconds, maxSeconds, alignFrames, alignSecondsTo, clampSecondsTo, isRequestableSeconds, estimateTokens, canvasSize, } from "./profile.js";
6
6
  export { Clip, Queue, State } from "./messages.js";
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/h3/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/h3/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
@@ -32,9 +32,31 @@ export declare const referenceLimits: Readonly<{
32
32
  minAspect: 0.25;
33
33
  maxAspect: 4;
34
34
  }>;
35
+ /**
36
+ * H3's audio reference bounds: at most three clips, or two when the clip
37
+ * continues another, whose soundtrack takes the third; at most twelve
38
+ * references in total, counting images, audio and a continuation; each 2–15 s
39
+ * long, mono or stereo, and at most 25 MiB.
40
+ */
41
+ export declare const audioReferenceLimits: Readonly<{
42
+ maxAudio: 3;
43
+ maxAudioWithContinuation: 2;
44
+ maxTotal: 12;
45
+ maxBytes: number;
46
+ minSeconds: 2;
47
+ maxSeconds: 15;
48
+ maxChannels: 2;
49
+ }>;
35
50
  /** Adapter limits shared by request capture, reference validation and profile declarations. */
36
51
  export declare const metadataMaxChars = 2000;
37
52
  export declare const imageMimeTypes: readonly ["image/jpeg", "image/png", "image/webp"];
53
+ /**
54
+ * The audio formats H3 documents (WAV, MP3, AAC/M4A, OGG/Opus, FLAC and WebM),
55
+ * by the MIME type an upload of each carries. Bytes are identified by their
56
+ * container, which names the first type of each format; an existing upload
57
+ * may carry any of them.
58
+ */
59
+ export declare const audioMimeTypes: readonly ["audio/wav", "audio/mpeg", "audio/aac", "audio/mp4", "audio/ogg", "audio/flac", "audio/webm", "audio/x-wav", "audio/wave", "audio/x-m4a", "audio/opus", "audio/x-flac"];
38
60
  /** Shared H3 timing data and explicit defaults used by offline orchestration. */
39
61
  export type CanvasAspect = keyof typeof canvases;
40
62
  export interface ModelProfile {
@@ -67,6 +89,21 @@ export interface ModelProfile {
67
89
  readonly maxAspect: number;
68
90
  readonly mimeTypes: ReadonlyArray<string>;
69
91
  };
92
+ /**
93
+ * Audio references the model takes beside its images; absent for a model
94
+ * that takes none, whose requests must carry no audio.
95
+ */
96
+ readonly audioReferences?: {
97
+ readonly max: number;
98
+ /** A continued clip spends one audio slot on the previous clip's soundtrack. */
99
+ readonly maxWithContinuation: number;
100
+ /** Images, audio and a continuation together. */
101
+ readonly maxTotal: number;
102
+ readonly maxBytes: number;
103
+ readonly minSeconds: number;
104
+ readonly maxSeconds: number;
105
+ readonly mimeTypes: ReadonlyArray<string>;
106
+ };
70
107
  readonly metadataMaxChars: number;
71
108
  readonly canvases: ReadonlyArray<{
72
109
  readonly aspect: CanvasAspect;
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/h3/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/h3/profile.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,SAAS,EAAG,8CAAuD,CAAC;AACjF,eAAO,MAAM,iBAAiB,EAAG,OAAgB,CAAC;AAClD,eAAO,MAAM,MAAM,6FACyE,CAAC;AAC7F,eAAO,MAAM,cAAc;;;EAAyC,CAAC;AACrE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;EAKnB,CAAC;AACH,2FAA2F;AAC3F,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AACH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;EAQ/B,CAAC;AACH,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,eAAO,MAAM,cAAc,oDAAoE,CAAC;AAChG;;;;;GAKG;AACH,eAAO,MAAM,cAAc,mLAahB,CAAC;AAEZ,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,QAAQ,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,+GAA+G;QAC/G,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,kFAAkF;QAClF,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,6DAA6D;QAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC3C,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,gFAAgF;QAChF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,iDAAiD;QACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,qFAAqF;IACrF,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF,oGAAoG;IACpG,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACrE;AAED,eAAO,MAAM,wBAAwB,EAAE,YAqCtC,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,YAAY,WAAwB,CAAC;AACnE,eAAO,MAAM,UAAU,MAAO,YAAY,WAAwB,CAAC;AAEnE,gHAAgH;AAChH,eAAO,MAAM,WAAW,MAAO,YAAY,WAAW,MAAM,KAAG,MAK9D,CAAC;AAEF,eAAO,MAAM,cAAc,MAAO,YAAY,WAAW,MAAM,KAAG,MACjC,CAAC;AAElC,sGAAsG;AACtG,eAAO,MAAM,cAAc,MAAO,YAAY,WAAW,MAAM,KAAG,MAO/D,CAAC;AAEJ,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,MAAO,YAAY,WAAW,MAAM,KAAG,OACwB,CAAC;AAEjG,mJAAmJ;AACnJ,eAAO,MAAM,cAAc,MAAO,YAAY,UAAU,MAAM,KAAG,MACN,CAAC;AAE5D,eAAO,MAAM,UAAU,MAAO,YAAY,UAAU,YAAY;qBAnF3C,YAAY;oBACb,MAAM;qBACL,MAAM;aAkFkB,CAAC"}
@@ -17,9 +17,44 @@ export const referenceLimits = Object.freeze({
17
17
  minAspect: 0.25,
18
18
  maxAspect: 4,
19
19
  });
20
+ /**
21
+ * H3's audio reference bounds: at most three clips, or two when the clip
22
+ * continues another, whose soundtrack takes the third; at most twelve
23
+ * references in total, counting images, audio and a continuation; each 2–15 s
24
+ * long, mono or stereo, and at most 25 MiB.
25
+ */
26
+ export const audioReferenceLimits = Object.freeze({
27
+ maxAudio: 3,
28
+ maxAudioWithContinuation: 2,
29
+ maxTotal: 12,
30
+ maxBytes: 25 * 1024 * 1024,
31
+ minSeconds: 2,
32
+ maxSeconds: 15,
33
+ maxChannels: 2,
34
+ });
20
35
  /** Adapter limits shared by request capture, reference validation and profile declarations. */
21
36
  export const metadataMaxChars = 2_000;
22
37
  export const imageMimeTypes = Object.freeze(["image/jpeg", "image/png", "image/webp"]);
38
+ /**
39
+ * The audio formats H3 documents (WAV, MP3, AAC/M4A, OGG/Opus, FLAC and WebM),
40
+ * by the MIME type an upload of each carries. Bytes are identified by their
41
+ * container, which names the first type of each format; an existing upload
42
+ * may carry any of them.
43
+ */
44
+ export const audioMimeTypes = Object.freeze([
45
+ "audio/wav",
46
+ "audio/mpeg",
47
+ "audio/aac",
48
+ "audio/mp4",
49
+ "audio/ogg",
50
+ "audio/flac",
51
+ "audio/webm",
52
+ "audio/x-wav",
53
+ "audio/wave",
54
+ "audio/x-m4a",
55
+ "audio/opus",
56
+ "audio/x-flac",
57
+ ]);
23
58
  export const h3ReferenceTurboRealtime = {
24
59
  modelName,
25
60
  fps: 24,
@@ -39,6 +74,15 @@ export const h3ReferenceTurboRealtime = {
39
74
  maxAspect: referenceLimits.maxAspect,
40
75
  mimeTypes: [...imageMimeTypes],
41
76
  },
77
+ audioReferences: {
78
+ max: audioReferenceLimits.maxAudio,
79
+ maxWithContinuation: audioReferenceLimits.maxAudioWithContinuation,
80
+ maxTotal: audioReferenceLimits.maxTotal,
81
+ maxBytes: audioReferenceLimits.maxBytes,
82
+ minSeconds: audioReferenceLimits.minSeconds,
83
+ maxSeconds: audioReferenceLimits.maxSeconds,
84
+ mimeTypes: [...audioMimeTypes],
85
+ },
42
86
  metadataMaxChars,
43
87
  canvases: Object.entries(canvases).map(([aspect, size]) => ({
44
88
  aspect: aspect,
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/h3/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/h3/profile.ts"],"names":[],"mappings":"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"}