@editframe/api 0.23.8-beta.0 → 0.25.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHUNK_SIZE_BYTES.js +4 -0
- package/dist/CHUNK_SIZE_BYTES.js.map +1 -0
- package/dist/ProgressIterator.d.ts +26 -22
- package/dist/ProgressIterator.js +5 -1
- package/dist/ProgressIterator.js.map +1 -0
- package/dist/StreamEventSource.d.ts +58 -54
- package/dist/StreamEventSource.js +6 -1
- package/dist/StreamEventSource.js.map +1 -0
- package/dist/client.d.ts +13 -8
- package/dist/client.js +6 -1
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +14 -13
- package/dist/index.js +4 -3
- package/dist/node.d.ts +22 -7
- package/dist/node.js +8 -3
- package/dist/node.js.map +1 -0
- package/dist/resources/caption-file.d.ts +56 -51
- package/dist/resources/caption-file.js +25 -3
- package/dist/resources/caption-file.js.map +1 -0
- package/dist/resources/image-file.d.ts +109 -104
- package/dist/resources/image-file.js +8 -3
- package/dist/resources/image-file.js.map +1 -0
- package/dist/resources/isobmff-file.d.ts +63 -58
- package/dist/resources/isobmff-file.js +7 -2
- package/dist/resources/isobmff-file.js.map +1 -0
- package/dist/resources/isobmff-track.d.ts +604 -598
- package/dist/resources/isobmff-track.js +7 -2
- package/dist/resources/isobmff-track.js.map +1 -0
- package/dist/resources/process-isobmff.d.ts +16 -11
- package/dist/resources/process-isobmff.js +5 -0
- package/dist/resources/process-isobmff.js.map +1 -0
- package/dist/resources/renders.bundle.d.ts +7 -4
- package/dist/resources/renders.bundle.js +6 -1
- package/dist/resources/renders.bundle.js.map +1 -0
- package/dist/resources/renders.d.ts +229 -367
- package/dist/resources/renders.js +13 -8
- package/dist/resources/renders.js.map +1 -0
- package/dist/resources/transcriptions.d.ts +25 -20
- package/dist/resources/transcriptions.js +6 -1
- package/dist/resources/transcriptions.js.map +1 -0
- package/dist/resources/unprocessed-file.d.ts +36 -35
- package/dist/resources/unprocessed-file.js +8 -3
- package/dist/resources/unprocessed-file.js.map +1 -0
- package/dist/resources/url-token.d.ts +9 -4
- package/dist/resources/url-token.js +6 -1
- package/dist/resources/url-token.js.map +1 -0
- package/dist/streamChunker.js +5 -0
- package/dist/streamChunker.js.map +1 -0
- package/dist/uploadChunks.d.ts +9 -16
- package/dist/uploadChunks.js +7 -2
- package/dist/uploadChunks.js.map +1 -0
- package/dist/utils/assertTypesMatch.js +4 -0
- package/dist/utils/assertTypesMatch.js.map +1 -0
- package/dist/utils/createReadableStreamFromReadable.d.ts +8 -3
- package/dist/utils/createReadableStreamFromReadable.js +5 -0
- package/dist/utils/createReadableStreamFromReadable.js.map +1 -0
- package/package.json +14 -33
- package/src/resources/renders.bundle.ts +1 -1
- package/tsdown.config.ts +10 -0
- package/dist/CHUNK_SIZE_BYTES.d.ts +0 -1
- package/dist/ProgressIterator.test.d.ts +0 -1
- package/dist/StreamEventSource.test.d.ts +0 -1
- package/dist/client.test.d.ts +0 -1
- package/dist/readableFromBuffers.d.ts +0 -1
- package/dist/resources/caption-file.test.d.ts +0 -1
- package/dist/resources/image-file.test.d.ts +0 -1
- package/dist/resources/isobmff-file.test.d.ts +0 -1
- package/dist/resources/isobmff-track.test.d.ts +0 -1
- package/dist/resources/process-isobmff.test.d.ts +0 -1
- package/dist/resources/renders.test.d.ts +0 -1
- package/dist/resources/transcriptions.test.d.ts +0 -1
- package/dist/resources/unprocessed-file.test.d.ts +0 -1
- package/dist/resources/url-token.test.d.ts +0 -1
- package/dist/streamChunker.d.ts +0 -1
- package/dist/streamChunker.test.d.ts +0 -1
- package/dist/uploadChunks.test.d.ts +0 -1
- package/dist/utils/assertTypesMatch.d.ts +0 -3
|
@@ -2,6 +2,8 @@ import { uploadChunks } from "../uploadChunks.js";
|
|
|
2
2
|
import { assertTypesMatch } from "../utils/assertTypesMatch.js";
|
|
3
3
|
import debug from "debug";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
|
|
6
|
+
//#region src/resources/isobmff-track.ts
|
|
5
7
|
const AudioStreamSchema = z.object({
|
|
6
8
|
index: z.number(),
|
|
7
9
|
codec_name: z.string(),
|
|
@@ -48,8 +50,8 @@ const VideoStreamSchema = z.object({
|
|
|
48
50
|
disposition: z.record(z.unknown())
|
|
49
51
|
});
|
|
50
52
|
assertTypesMatch(true);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
const log = debug("ef:api:isobmff-track");
|
|
54
|
+
const MAX_TRACK_SIZE = 1024 * 1024 * 1024;
|
|
53
55
|
const AudioTrackPayload = z.object({
|
|
54
56
|
file_id: z.string(),
|
|
55
57
|
track_id: z.number().int(),
|
|
@@ -92,4 +94,7 @@ const uploadISOBMFFTrack = (client, fileId, trackId, fileStream, trackSize) => {
|
|
|
92
94
|
maxSize: MAX_TRACK_SIZE
|
|
93
95
|
});
|
|
94
96
|
};
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
95
99
|
export { AudioTrackPayload, CreateISOBMFFTrackPayload, VideoTrackPayload, createISOBMFFTrack, uploadISOBMFFTrack };
|
|
100
|
+
//# sourceMappingURL=isobmff-track.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isobmff-track.js","names":[],"sources":["../../src/resources/isobmff-track.ts"],"sourcesContent":["import debug from \"debug\";\nimport { z } from \"zod\";\nimport type { Client } from \"../client.js\";\nimport { uploadChunks } from \"../uploadChunks.js\";\nimport { assertTypesMatch } from \"../utils/assertTypesMatch.ts\";\n\nexport const AudioStreamSchema = z.object({\n index: z.number(),\n codec_name: z.string(),\n codec_long_name: z.string(),\n codec_type: z.literal(\"audio\"),\n codec_tag_string: z.string(),\n codec_tag: z.string(),\n sample_fmt: z.string(),\n sample_rate: z.string(),\n channels: z.number(),\n channel_layout: z.string().optional(),\n bits_per_sample: z.number(),\n initial_padding: z.number().optional(),\n r_frame_rate: z.string(),\n avg_frame_rate: z.string(),\n time_base: z.string(),\n start_pts: z.number().optional(),\n start_time: z.coerce.number().optional(),\n duration_ts: z.number(),\n duration: z.coerce.number(),\n bit_rate: z.string(),\n disposition: z.record(z.unknown()),\n});\n\nexport interface AudioStreamSchema {\n /** The index of the stream in the file */\n index: number;\n /** The name of the codec */\n codec_name: string;\n /** The long name of the codec */\n codec_long_name: string;\n /** The type of the codec */\n codec_type: \"audio\";\n /** The tag string of the codec */\n codec_tag_string: string;\n /** The tag of the codec */\n codec_tag: string;\n /** The sample format */\n sample_fmt: string;\n /** The sample rate */\n sample_rate: string;\n /** The number of channels */\n channels: number;\n /** The channel layout */\n channel_layout?: string;\n /** The number of bits per sample */\n bits_per_sample: number;\n /** The initial padding */\n initial_padding?: number;\n /** The frame rate */\n r_frame_rate: string;\n /** The average frame rate */\n avg_frame_rate: string;\n /** The time base */\n time_base: string;\n /** The start presentation timestamp */\n start_pts?: number;\n /** The start time */\n start_time?: number;\n /** The duration timestamp */\n duration_ts: number;\n /** The duration */\n duration: number;\n /** The bit rate */\n bit_rate: string;\n /** The disposition record. Subject to change, not documented. */\n disposition: Record<string, unknown>;\n}\n\nassertTypesMatch<z.infer<typeof AudioStreamSchema>, AudioStreamSchema>(true);\n\nexport const VideoStreamSchema = z.object({\n index: z.number(),\n codec_name: z.string(),\n codec_long_name: z.string(),\n codec_type: z.literal(\"video\"),\n codec_tag_string: z.string(),\n codec_tag: z.string(),\n width: z.number(),\n height: z.number(),\n coded_width: z.number(),\n coded_height: z.number(),\n r_frame_rate: z.string(),\n avg_frame_rate: z.string(),\n time_base: z.string(),\n start_pts: z.number().optional(),\n start_time: z.coerce.number().optional(),\n duration_ts: z.number().optional(),\n duration: z.coerce.number().optional(),\n bit_rate: z.string().optional(),\n disposition: z.record(z.unknown()),\n});\n\nexport interface VideoStreamSchema {\n /** The index of the stream in the file */\n index: number;\n /** The name of the codec */\n codec_name: string;\n /** The long name of the codec */\n codec_long_name: string;\n /** The type of the codec */\n codec_type: \"video\";\n /** The tag string of the codec */\n codec_tag_string: string;\n /** The tag of the codec */\n codec_tag: string;\n /** The width */\n width: number;\n /** The height */\n height: number;\n /** The coded width */\n coded_width: number;\n /** The coded height */\n coded_height: number;\n /** The frame rate */\n r_frame_rate: string;\n /** The average frame rate */\n avg_frame_rate: string;\n /** The time base */\n time_base: string;\n /** The start presentation timestamp */\n start_pts?: number;\n /** The start time */\n start_time?: number;\n /** The duration timestamp */\n duration_ts?: number;\n /** The duration */\n duration?: number;\n /** The bit rate */\n bit_rate?: string;\n /** The disposition record. Subject to change, not documented. */\n disposition: Record<string, unknown>;\n}\n\nassertTypesMatch<z.infer<typeof VideoStreamSchema>, VideoStreamSchema>(true);\n\nconst log = debug(\"ef:api:isobmff-track\");\n\nconst MAX_TRACK_SIZE = 1024 * 1024 * 1024; // 1GB\n\nexport const AudioTrackPayload = z.object({\n file_id: z.string(),\n track_id: z.number().int(),\n type: z.literal(\"audio\"),\n probe_info: AudioStreamSchema,\n duration_ms: z.number().int(),\n codec_name: z.string(),\n byte_size: z.number().int().max(MAX_TRACK_SIZE),\n});\n\nexport interface AudioTrackPayload {\n file_id: string;\n track_id: number;\n type: \"audio\";\n probe_info: AudioStreamSchema;\n duration_ms: number;\n codec_name: string;\n byte_size: number;\n}\n\n// These will actually error if types don't match\nassertTypesMatch<z.infer<typeof AudioTrackPayload>, AudioTrackPayload>(true);\n\nexport const VideoTrackPayload = z.object({\n file_id: z.string(),\n track_id: z.number().int(),\n type: z.literal(\"video\"),\n probe_info: VideoStreamSchema,\n duration_ms: z.number().int(),\n codec_name: z.string(),\n byte_size: z.number().int().max(MAX_TRACK_SIZE),\n});\n\nexport interface VideoTrackPayload {\n file_id: string;\n track_id: number;\n type: \"video\";\n probe_info: VideoStreamSchema;\n duration_ms: number;\n codec_name: string;\n byte_size: number;\n}\n\nassertTypesMatch<z.infer<typeof VideoTrackPayload>, VideoTrackPayload>(true);\n\nexport const CreateISOBMFFTrackPayload = z.discriminatedUnion(\"type\", [\n AudioTrackPayload,\n VideoTrackPayload,\n]);\n\nexport type CreateISOBMFFTrackPayload = VideoTrackPayload | AudioTrackPayload;\n\nassertTypesMatch<\n z.infer<typeof CreateISOBMFFTrackPayload>,\n CreateISOBMFFTrackPayload\n>(true);\n\nexport interface CreateISOBMFFTrackResult {\n next_byte: number;\n byte_size: number;\n track_id: number;\n file_id: string;\n complete: boolean;\n}\n\nexport const createISOBMFFTrack = async (\n client: Client,\n payload: CreateISOBMFFTrackPayload,\n) => {\n log(\"Creating isobmff track\", payload);\n CreateISOBMFFTrackPayload.parse(payload);\n const response = await client.authenticatedFetch(\"/api/v1/isobmff_tracks\", {\n method: \"POST\",\n body: JSON.stringify(payload),\n });\n\n log(\"ISOBMFF track created\", response);\n if (response.ok) {\n return (await response.json()) as CreateISOBMFFTrackResult;\n }\n\n throw new Error(\n `Failed to create isobmff track ${response.status} ${response.statusText}`,\n );\n};\n\nexport const uploadISOBMFFTrack = (\n client: Client,\n fileId: string,\n trackId: number,\n fileStream: ReadableStream,\n trackSize: number,\n) => {\n log(\"Uploading fragment track\", fileId);\n\n return uploadChunks(client, {\n url: `/api/v1/isobmff_tracks/${fileId}/${trackId}/upload`,\n fileStream,\n fileSize: trackSize,\n maxSize: MAX_TRACK_SIZE,\n });\n};\n"],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { Client } from
|
|
2
|
-
import { ProgressIterator } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { Client } from "../client.js";
|
|
2
|
+
import { ProgressIterator } from "../ProgressIterator.js";
|
|
3
|
+
|
|
4
|
+
//#region src/resources/process-isobmff.d.ts
|
|
5
|
+
interface IsobmffProcessInfoResult {
|
|
6
|
+
id: string;
|
|
7
|
+
created_at: string;
|
|
8
|
+
completed_at: string | null;
|
|
9
|
+
failed_at: string | null;
|
|
10
|
+
isobmff_file_id: string | null;
|
|
11
|
+
unprocessed_file_id: string | null;
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
declare const getIsobmffProcessProgress: (client: Client, id: string) => Promise<ProgressIterator>;
|
|
14
|
+
declare const getIsobmffProcessInfo: (client: Client, id: string) => Promise<IsobmffProcessInfoResult>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { IsobmffProcessInfoResult, getIsobmffProcessInfo, getIsobmffProcessProgress };
|
|
17
|
+
//# sourceMappingURL=process-isobmff.d.ts.map
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ProgressIterator } from "../ProgressIterator.js";
|
|
2
|
+
|
|
3
|
+
//#region src/resources/process-isobmff.ts
|
|
2
4
|
const getIsobmffProcessProgress = async (client, id) => {
|
|
3
5
|
return new ProgressIterator(await client.authenticatedEventSource(`/api/v1/process_isobmff/${id}/progress`));
|
|
4
6
|
};
|
|
@@ -7,4 +9,7 @@ const getIsobmffProcessInfo = async (client, id) => {
|
|
|
7
9
|
if (response.ok) return await response.json();
|
|
8
10
|
throw new Error(`Failed to get isobmff process info ${response.status} ${response.statusText}`);
|
|
9
11
|
};
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
10
14
|
export { getIsobmffProcessInfo, getIsobmffProcessProgress };
|
|
15
|
+
//# sourceMappingURL=process-isobmff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-isobmff.js","names":[],"sources":["../../src/resources/process-isobmff.ts"],"sourcesContent":["import type { Client } from \"../client.js\";\nimport { ProgressIterator } from \"../ProgressIterator.js\";\n\nexport interface IsobmffProcessInfoResult {\n id: string;\n created_at: string;\n completed_at: string | null;\n failed_at: string | null;\n isobmff_file_id: string | null;\n unprocessed_file_id: string | null;\n}\n\nexport const getIsobmffProcessProgress = async (client: Client, id: string) => {\n const eventSource = await client.authenticatedEventSource(\n `/api/v1/process_isobmff/${id}/progress`,\n );\n\n return new ProgressIterator(eventSource);\n};\n\nexport const getIsobmffProcessInfo = async (client: Client, id: string) => {\n const response = await client.authenticatedFetch(\n `/api/v1/process_isobmff/${id}`,\n );\n\n if (response.ok) {\n return (await response.json()) as IsobmffProcessInfoResult;\n }\n\n throw new Error(\n `Failed to get isobmff process info ${response.status} ${response.statusText}`,\n );\n};\n"],"mappings":";;;AAYA,MAAa,4BAA4B,OAAO,QAAgB,OAAe;AAK7E,QAAO,IAAI,iBAJS,MAAM,OAAO,yBAC/B,2BAA2B,GAAG,WAC/B,CAEuC;;AAG1C,MAAa,wBAAwB,OAAO,QAAgB,OAAe;CACzE,MAAM,WAAW,MAAM,OAAO,mBAC5B,2BAA2B,KAC5B;AAED,KAAI,SAAS,GACX,QAAQ,MAAM,SAAS,MAAM;AAG/B,OAAM,IAAI,MACR,sCAAsC,SAAS,OAAO,GAAG,SAAS,aACnE"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
//#region src/resources/renders.bundle.d.ts
|
|
1
2
|
interface BundlerOptions {
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
root: string;
|
|
4
|
+
renderData: any;
|
|
4
5
|
}
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
declare const bundleRender: (options: BundlerOptions) => Promise<ReadableStream<Uint8Array>>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { bundleRender };
|
|
9
|
+
//# sourceMappingURL=renders.bundle.d.ts.map
|
|
@@ -3,10 +3,12 @@ import path from "node:path";
|
|
|
3
3
|
import { PassThrough } from "node:stream";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import react from "@vitejs/plugin-react";
|
|
6
|
-
import { build } from "rolldown-vite";
|
|
7
6
|
import * as tar from "tar";
|
|
7
|
+
import { build } from "vite";
|
|
8
8
|
import { viteSingleFile } from "vite-plugin-singlefile";
|
|
9
9
|
import tsconfigPathsPlugin from "vite-tsconfig-paths";
|
|
10
|
+
|
|
11
|
+
//#region src/resources/renders.bundle.ts
|
|
10
12
|
const bundleRender = async (options) => {
|
|
11
13
|
const outDir = path.join(process.cwd(), "renders", randomUUID());
|
|
12
14
|
await build({
|
|
@@ -33,4 +35,7 @@ const bundleRender = async (options) => {
|
|
|
33
35
|
tarStream.pipe(passthrough);
|
|
34
36
|
return createReadableStreamFromReadable(passthrough);
|
|
35
37
|
};
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
36
40
|
export { bundleRender };
|
|
41
|
+
//# sourceMappingURL=renders.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renders.bundle.js","names":[],"sources":["../../src/resources/renders.bundle.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport path from \"node:path\";\nimport { PassThrough } from \"node:stream\";\nimport react from \"@vitejs/plugin-react\";\nimport * as tar from \"tar\";\nimport { build } from \"vite\";\nimport { viteSingleFile } from \"vite-plugin-singlefile\";\nimport tsconfigPathsPlugin from \"vite-tsconfig-paths\";\nimport { createReadableStreamFromReadable } from \"../utils/createReadableStreamFromReadable.ts\";\n\ninterface BundlerOptions {\n root: string;\n renderData: any;\n}\n\nexport const bundleRender = async (options: BundlerOptions) => {\n const outDir = path.join(process.cwd(), \"renders\", randomUUID());\n\n await build({\n root: options.root,\n define: {\n RENDER_DATA: JSON.stringify(options.renderData),\n },\n build: {\n outDir,\n rollupOptions: {\n input: path.resolve(options.root, \"index.html\"),\n },\n },\n plugins: [\n tsconfigPathsPlugin(),\n react({\n include: \"**/*.{jsx,js,tsx,ts}\",\n jsxRuntime: \"automatic\",\n }),\n viteSingleFile(),\n ],\n });\n\n const tarStream = tar.create(\n {\n gzip: true,\n cwd: outDir,\n },\n [\".\"],\n );\n\n const passthrough = new PassThrough();\n tarStream.pipe(passthrough);\n const tarReadStream = createReadableStreamFromReadable(passthrough);\n\n return tarReadStream;\n};\n"],"mappings":";;;;;;;;;;;AAeA,MAAa,eAAe,OAAO,YAA4B;CAC7D,MAAM,SAAS,KAAK,KAAK,QAAQ,KAAK,EAAE,WAAW,YAAY,CAAC;AAEhE,OAAM,MAAM;EACV,MAAM,QAAQ;EACd,QAAQ,EACN,aAAa,KAAK,UAAU,QAAQ,WAAW,EAChD;EACD,OAAO;GACL;GACA,eAAe,EACb,OAAO,KAAK,QAAQ,QAAQ,MAAM,aAAa,EAChD;GACF;EACD,SAAS;GACP,qBAAqB;GACrB,MAAM;IACJ,SAAS;IACT,YAAY;IACb,CAAC;GACF,gBAAgB;GACjB;EACF,CAAC;CAEF,MAAM,YAAY,IAAI,OACpB;EACE,MAAM;EACN,KAAK;EACN,EACD,CAAC,IAAI,CACN;CAED,MAAM,cAAc,IAAI,aAAa;AACrC,WAAU,KAAK,YAAY;AAG3B,QAFsB,iCAAiC,YAAY"}
|