reactor-effect-client 0.3.0 → 0.3.1

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 (52) hide show
  1. package/README.md +6 -4
  2. package/dist/h3/_internal/client.d.ts.map +1 -1
  3. package/dist/h3/_internal/client.js +43 -35
  4. package/dist/h3/_internal/client.js.map +1 -1
  5. package/dist/h3/_internal/contracts.d.ts +13 -0
  6. package/dist/h3/_internal/contracts.d.ts.map +1 -1
  7. package/dist/h3/_internal/contracts.js +10 -0
  8. package/dist/h3/_internal/contracts.js.map +1 -1
  9. package/dist/h3/_internal/deployment.d.ts.map +1 -1
  10. package/dist/h3/_internal/deployment.js +21 -5
  11. package/dist/h3/_internal/deployment.js.map +1 -1
  12. package/dist/h3/_internal/references.d.ts +9 -3
  13. package/dist/h3/_internal/references.d.ts.map +1 -1
  14. package/dist/h3/_internal/references.js +134 -6
  15. package/dist/h3/_internal/references.js.map +1 -1
  16. package/dist/h3/_internal/request.d.ts +9 -4
  17. package/dist/h3/_internal/request.d.ts.map +1 -1
  18. package/dist/h3/_internal/request.js +28 -10
  19. package/dist/h3/_internal/request.js.map +1 -1
  20. package/dist/h3/index.d.ts +3 -3
  21. package/dist/h3/index.d.ts.map +1 -1
  22. package/dist/h3/index.js +2 -2
  23. package/dist/h3/index.js.map +1 -1
  24. package/dist/h3/profile.d.ts +37 -0
  25. package/dist/h3/profile.d.ts.map +1 -1
  26. package/dist/h3/profile.js +44 -0
  27. package/dist/h3/profile.js.map +1 -1
  28. package/dist/h3/types.d.ts +31 -1
  29. package/dist/h3/types.d.ts.map +1 -1
  30. package/dist/orchestration/h3-source.d.ts.map +1 -1
  31. package/dist/orchestration/h3-source.js +7 -4
  32. package/dist/orchestration/h3-source.js.map +1 -1
  33. package/dist/orchestration/index.d.ts +1 -1
  34. package/dist/orchestration/index.d.ts.map +1 -1
  35. package/dist/orchestration/index.js +1 -1
  36. package/dist/orchestration/index.js.map +1 -1
  37. package/dist/orchestration/request.d.ts +13 -0
  38. package/dist/orchestration/request.d.ts.map +1 -1
  39. package/dist/orchestration/request.js +15 -0
  40. package/dist/orchestration/request.js.map +1 -1
  41. package/dist/simulation/_internal/source.d.ts.map +1 -1
  42. package/dist/simulation/_internal/source.js +13 -1
  43. package/dist/simulation/_internal/source.js.map +1 -1
  44. package/dist/testing/Wav.d.ts +14 -0
  45. package/dist/testing/Wav.d.ts.map +1 -0
  46. package/dist/testing/Wav.js +37 -0
  47. package/dist/testing/Wav.js.map +1 -0
  48. package/dist/testing/index.d.ts +2 -0
  49. package/dist/testing/index.d.ts.map +1 -1
  50. package/dist/testing/index.js +1 -0
  51. package/dist/testing/index.js.map +1 -1
  52. package/package.json +2 -2
@@ -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":"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"}
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,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAMjF,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,OAAO;QACP,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,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,QAAQ;QACvE,OAAO,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC1D,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,wBAAwB;QAC3E,OAAO,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS;QAC3D,OAAO,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC3E,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,QAAQ;QACxF,OAAO,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC9D,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,KAAK,EAAE,MAAM,CAAC,MAAM,CAClB,KAAK,CAAC,GAAG,CAAC,CAAC,SAAkB,EAAE,EAAE,CAC/B,qBAAqB,CAAC,SAAoC,CAAC,CAC5D,CACF;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,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAE,EAAE,CAAC,CAAC;IAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,SAAS,EAAE,IAAI,CAAC,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;CACxB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAwB,EACxB,KAAiC,EACjC,KAAiC,EACjC,QAAgB,EACQ,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;IACvC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IAC1E,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,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":"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,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,eAAO,MAAM,cAAc,oDAAoE,CAAC;AAEhG,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,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,YA4BtC,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;qBA1E3C,YAAY;oBACb,MAAM;qBACL,MAAM;aAyEkB,CAAC"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/h3/profile.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -8,7 +8,7 @@ import type { CommandReply, ReplyTimeoutOptions, SessionEvent, UploadTimeoutOpti
8
8
  import type { Submission } from "../Submission.js";
9
9
  import type { UploadReference } from "../wire.generated.js";
10
10
  import type { Clip, DecodedMessage, Message, MessageType, Payload, Queue, State } from "./messages.js";
11
- import type { CanvasAspect, documentedVersion, imageMimeTypes, modelName } from "./profile.js";
11
+ import type { audioMimeTypes, CanvasAspect, documentedVersion, imageMimeTypes, modelName } from "./profile.js";
12
12
  export type Aspect = CanvasAspect;
13
13
  export type Reference = {
14
14
  readonly _tag: "Bytes";
@@ -27,9 +27,33 @@ export interface ValidatedReference {
27
27
  readonly width: number | null;
28
28
  readonly height: number | null;
29
29
  }
30
+ declare const validatedAudio: unique symbol;
31
+ /**
32
+ * Opaque validated audio input. Byte storage is private and detached from the
33
+ * caller. `seconds` and `channels` are read from a WAV or FLAC header; for the
34
+ * other formats they are null, and H3 checks them when it receives the clip.
35
+ */
36
+ export interface ValidatedAudioReference {
37
+ readonly [validatedAudio]: true;
38
+ readonly _tag: "ValidatedAudioReference";
39
+ readonly mimeType: (typeof audioMimeTypes)[number];
40
+ readonly size: number;
41
+ readonly seconds: number | null;
42
+ readonly channels: number | null;
43
+ }
30
44
  export interface Request {
31
45
  readonly prompt: string;
32
46
  readonly references?: readonly (Reference | ValidatedReference)[];
47
+ /**
48
+ * Up to three audio references (`Audio 1`, `Audio 2`, ... in the prompt),
49
+ * each 2–15 s of WAV, MP3, AAC/M4A, OGG/Opus, FLAC or WebM, mono or stereo,
50
+ * at most 25 MiB. A clip with audio needs at least one image reference or a
51
+ * `continueFrom`, and a continued clip takes at most two, because its
52
+ * continuation uses the third for the previous clip's soundtrack. Sent as
53
+ * `reference_audios` only when present, and only to a deployment whose
54
+ * contract declares it (`Contract.referenceAudio`).
55
+ */
56
+ readonly audio?: readonly (Reference | ValidatedAudioReference)[];
33
57
  readonly seconds?: number;
34
58
  readonly seed?: number;
35
59
  readonly position?: number;
@@ -42,6 +66,12 @@ export interface Contract {
42
66
  readonly documentedVersion: typeof documentedVersion;
43
67
  readonly source: string;
44
68
  readonly subset: "prompt-and-images";
69
+ /**
70
+ * Whether the deployment's `enqueue` declares `reference_audios`. When it
71
+ * does not, a request with audio is refused as `UnsupportedCapability`
72
+ * before anything is uploaded or sent.
73
+ */
74
+ readonly referenceAudio: boolean;
45
75
  readonly deployment: {
46
76
  readonly title: string | null;
47
77
  readonly version: string | null;