@editframe/api 0.7.0-beta.15 → 0.7.0-beta.16

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/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { createImageFile, CreateImageFilePayload, type CreateImageFileResult, up
3
3
  export { createISOBMFFFile, CreateISOBMFFFilePayload, type CreateISOBMFFFileResult, uploadFragmentIndex, } from './resources/isobmff-file.ts';
4
4
  export { createISOBMFFTrack, CreateISOBMFFTrackPayload, type CreateISOBMFFTrackResult, uploadISOBMFFTrack, } from './resources/isobmff-track.ts';
5
5
  export { createRender, CreateRenderPayload, type CreateRenderResult, uploadRender, } from './resources/renders.ts';
6
- export { createUnprocessedFile, CreateUnprocessedFilePayload, type CreateUnprocessedFileResult, updateUnprocessedFile, UpdateUnprocessedFilePayload, type UpdateUnprocessedFileResult, uploadUnprocessedFile, processAVFile, } from './resources/unprocessed-file.ts';
6
+ export { createUnprocessedFile, CreateUnprocessedFilePayload, type CreateUnprocessedFileResult, updateUnprocessedFile, UpdateUnprocessedFilePayload, type UpdateUnprocessedFileResult, uploadUnprocessedFile, processAVFile, processAVFileBuffer, } from './resources/unprocessed-file.ts';
7
7
  export { Client } from './client.ts';
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { CreateImageFilePayload, createImageFile, uploadImageFile } from "./reso
3
3
  import { CreateISOBMFFFilePayload, createISOBMFFFile, uploadFragmentIndex } from "./resources/isobmff-file.js";
4
4
  import { CreateISOBMFFTrackPayload, createISOBMFFTrack, uploadISOBMFFTrack } from "./resources/isobmff-track.js";
5
5
  import { CreateRenderPayload, createRender, uploadRender } from "./resources/renders.js";
6
- import { CreateUnprocessedFilePayload, UpdateUnprocessedFilePayload, createUnprocessedFile, processAVFile, updateUnprocessedFile, uploadUnprocessedFile } from "./resources/unprocessed-file.js";
6
+ import { CreateUnprocessedFilePayload, UpdateUnprocessedFilePayload, createUnprocessedFile, processAVFile, processAVFileBuffer, updateUnprocessedFile, uploadUnprocessedFile } from "./resources/unprocessed-file.js";
7
7
  import { Client } from "./client.js";
8
8
  export {
9
9
  Client,
@@ -21,6 +21,7 @@ export {
21
21
  createRender,
22
22
  createUnprocessedFile,
23
23
  processAVFile,
24
+ processAVFileBuffer,
24
25
  updateUnprocessedFile,
25
26
  uploadCaptionFile,
26
27
  uploadFragmentIndex,
@@ -38,5 +38,6 @@ export interface UpdateUnprocessedFileResult {
38
38
  export declare const createUnprocessedFile: (client: Client, payload: z.infer<typeof CreateUnprocessedFilePayload>) => Promise<CreateUnprocessedFileResult>;
39
39
  export declare const updateUnprocessedFile: (client: Client, fileId: string, payload: Partial<z.infer<typeof UpdateUnprocessedFilePayload>>) => Promise<UpdateUnprocessedFileResult>;
40
40
  export declare const uploadUnprocessedFile: (client: Client, fileId: string, fileStream: Readable) => Promise<unknown>;
41
+ export declare const processAVFileBuffer: (client: Client, buffer: Buffer) => Promise<UpdateUnprocessedFileResult>;
41
42
  export declare const processAVFile: (client: Client, filePath: string) => Promise<UpdateUnprocessedFileResult>;
42
43
  export {};
@@ -1,8 +1,9 @@
1
+ import { Readable } from "node:stream";
1
2
  import { basename } from "node:path";
2
3
  import { createReadStream } from "node:fs";
3
4
  import { z } from "zod";
4
5
  import debug from "debug";
5
- import { md5FilePath } from "@editframe/assets";
6
+ import { md5Buffer, md5FilePath } from "@editframe/assets";
6
7
  const log = debug("ef:api:unprocessed-file");
7
8
  const FileProcessors = z.array(z.union([z.literal("isobmff"), z.literal("captions")])).refine(
8
9
  (value) => {
@@ -91,6 +92,25 @@ const uploadUnprocessedFile = async (client, fileId, fileStream) => {
91
92
  }
92
93
  }
93
94
  };
95
+ const processAVFileBuffer = async (client, buffer) => {
96
+ log("Processing AV file buffer");
97
+ const fileId = await md5Buffer(buffer);
98
+ log("File ID", fileId);
99
+ await createUnprocessedFile(client, {
100
+ id: fileId,
101
+ processes: [],
102
+ filename: "buffer"
103
+ });
104
+ const readStream = new Readable();
105
+ readStream.push(buffer);
106
+ readStream.push(null);
107
+ await uploadUnprocessedFile(client, fileId, readStream);
108
+ const fileInformation = await updateUnprocessedFile(client, fileId, {
109
+ processes: ["isobmff"]
110
+ });
111
+ log("File processed", fileInformation);
112
+ return fileInformation;
113
+ };
94
114
  const processAVFile = async (client, filePath) => {
95
115
  log("Processing AV file", filePath);
96
116
  const fileId = await md5FilePath(filePath);
@@ -113,6 +133,7 @@ export {
113
133
  UpdateUnprocessedFilePayload,
114
134
  createUnprocessedFile,
115
135
  processAVFile,
136
+ processAVFileBuffer,
116
137
  updateUnprocessedFile,
117
138
  uploadUnprocessedFile
118
139
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@editframe/api",
3
- "version": "0.7.0-beta.15",
3
+ "version": "0.7.0-beta.16",
4
4
  "description": "API functions for EditFrame",
5
5
  "exports": {
6
6
  ".": {
@@ -26,8 +26,9 @@
26
26
  "vite-tsconfig-paths": "^4.3.2"
27
27
  },
28
28
  "dependencies": {
29
- "@editframe/assets": "0.7.0-beta.15",
29
+ "@editframe/assets": "0.7.0-beta.16",
30
30
  "debug": "^4.3.5",
31
+ "node-fetch": "^3.3.2",
31
32
  "zod": "^3.23.8"
32
33
  }
33
34
  }
@@ -1,11 +1,11 @@
1
- import type { Readable } from "node:stream";
1
+ import { Readable } from "node:stream";
2
2
  import { basename } from "node:path";
3
3
  import { createReadStream } from "node:fs";
4
4
 
5
5
  import { z } from "zod";
6
6
  import debug from "debug";
7
7
 
8
- import { md5FilePath } from "@editframe/assets";
8
+ import { md5FilePath, md5Buffer } from "@editframe/assets";
9
9
 
10
10
  import type { Client } from "../client.ts";
11
11
 
@@ -136,6 +136,31 @@ export const uploadUnprocessedFile = async (
136
136
  }
137
137
  };
138
138
 
139
+ export const processAVFileBuffer = async (client: Client, buffer: Buffer) => {
140
+ log("Processing AV file buffer");
141
+ const fileId = await md5Buffer(buffer);
142
+
143
+ log("File ID", fileId);
144
+ await createUnprocessedFile(client, {
145
+ id: fileId,
146
+ processes: [],
147
+ filename: "buffer",
148
+ });
149
+
150
+ const readStream = new Readable();
151
+ readStream.push(buffer);
152
+ readStream.push(null);
153
+
154
+ await uploadUnprocessedFile(client, fileId, readStream);
155
+
156
+ const fileInformation = await updateUnprocessedFile(client, fileId, {
157
+ processes: ["isobmff"],
158
+ });
159
+
160
+ log("File processed", fileInformation);
161
+ return fileInformation;
162
+ };
163
+
139
164
  export const processAVFile = async (client: Client, filePath: string) => {
140
165
  log("Processing AV file", filePath);
141
166
  const fileId = await md5FilePath(filePath);