@nodetool-ai/runtime 0.8.7 → 0.8.9-beta.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.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/context.d.ts +6 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +13 -24
- package/dist/context.js.map +1 -1
- package/dist/host-binaries.d.ts +5 -5
- package/dist/host-binaries.js +5 -5
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/invocation-account.d.ts +1 -42
- package/dist/invocation-account.d.ts.map +1 -1
- package/dist/invocation-account.js +1 -59
- package/dist/invocation-account.js.map +1 -1
- package/dist/media/abort.d.ts +8 -0
- package/dist/media/abort.d.ts.map +1 -0
- package/dist/media/abort.js +18 -0
- package/dist/media/abort.js.map +1 -0
- package/dist/media/audio-encoder.d.ts +37 -0
- package/dist/media/audio-encoder.d.ts.map +1 -0
- package/dist/media/audio-encoder.js +118 -0
- package/dist/media/audio-encoder.js.map +1 -0
- package/dist/media/audio.d.ts +36 -0
- package/dist/media/audio.d.ts.map +1 -0
- package/dist/media/audio.js +84 -0
- package/dist/media/audio.js.map +1 -0
- package/dist/media/av.d.ts +51 -0
- package/dist/media/av.d.ts.map +1 -0
- package/dist/media/av.js +146 -0
- package/dist/media/av.js.map +1 -0
- package/dist/media/codecs.d.ts +9 -0
- package/dist/media/codecs.d.ts.map +1 -0
- package/dist/media/codecs.js +17 -0
- package/dist/media/codecs.js.map +1 -0
- package/dist/media/concat.d.ts +56 -0
- package/dist/media/concat.d.ts.map +1 -0
- package/dist/media/concat.js +319 -0
- package/dist/media/concat.js.map +1 -0
- package/dist/media/convert.d.ts +31 -0
- package/dist/media/convert.d.ts.map +1 -0
- package/dist/media/convert.js +114 -0
- package/dist/media/convert.js.map +1 -0
- package/dist/media/decode.d.ts +31 -0
- package/dist/media/decode.d.ts.map +1 -0
- package/dist/media/decode.js +85 -0
- package/dist/media/decode.js.map +1 -0
- package/dist/media/filter-graph.d.ts +53 -0
- package/dist/media/filter-graph.d.ts.map +1 -0
- package/dist/media/filter-graph.js +260 -0
- package/dist/media/filter-graph.js.map +1 -0
- package/dist/media/frames.d.ts +31 -0
- package/dist/media/frames.d.ts.map +1 -0
- package/dist/media/frames.js +112 -0
- package/dist/media/frames.js.map +1 -0
- package/dist/media/index.d.ts +26 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +26 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/mux.d.ts +58 -0
- package/dist/media/mux.d.ts.map +1 -0
- package/dist/media/mux.js +234 -0
- package/dist/media/mux.js.map +1 -0
- package/dist/media/probe.d.ts +84 -0
- package/dist/media/probe.d.ts.map +1 -0
- package/dist/media/probe.js +133 -0
- package/dist/media/probe.js.map +1 -0
- package/dist/media/rgba.d.ts +78 -0
- package/dist/media/rgba.d.ts.map +1 -0
- package/dist/media/rgba.js +285 -0
- package/dist/media/rgba.js.map +1 -0
- package/dist/media/testing.d.ts +119 -0
- package/dist/media/testing.d.ts.map +1 -0
- package/dist/media/testing.js +343 -0
- package/dist/media/testing.js.map +1 -0
- package/dist/media/transcode.d.ts +17 -0
- package/dist/media/transcode.d.ts.map +1 -0
- package/dist/media/transcode.js +19 -0
- package/dist/media/transcode.js.map +1 -0
- package/dist/media/transform.d.ts +61 -0
- package/dist/media/transform.d.ts.map +1 -0
- package/dist/media/transform.js +371 -0
- package/dist/media/transform.js.map +1 -0
- package/dist/media/verify.d.ts +17 -0
- package/dist/media/verify.d.ts.map +1 -0
- package/dist/media/verify.js +65 -0
- package/dist/media/verify.js.map +1 -0
- package/dist/media-loader.d.ts +8 -0
- package/dist/media-loader.d.ts.map +1 -0
- package/dist/media-loader.js +10 -0
- package/dist/media-loader.js.map +1 -0
- package/dist/prefixed-storage-adapter.d.ts.map +1 -1
- package/dist/prefixed-storage-adapter.js +1 -1
- package/dist/prefixed-storage-adapter.js.map +1 -1
- package/dist/providers/anthropic-provider.d.ts +21 -0
- package/dist/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/providers/anthropic-provider.js +82 -17
- package/dist/providers/anthropic-provider.js.map +1 -1
- package/dist/providers/claude-agent-provider.js +14 -2
- package/dist/providers/claude-agent-provider.js.map +1 -1
- package/dist/providers/codex-provider.d.ts +10 -0
- package/dist/providers/codex-provider.d.ts.map +1 -1
- package/dist/providers/codex-provider.js +29 -3
- package/dist/providers/codex-provider.js.map +1 -1
- package/dist/providers/data-uri.d.ts +6 -0
- package/dist/providers/data-uri.d.ts.map +1 -0
- package/dist/providers/data-uri.js +19 -0
- package/dist/providers/data-uri.js.map +1 -0
- package/dist/providers/dreamina-provider.d.ts +1 -1
- package/dist/providers/dreamina-provider.d.ts.map +1 -1
- package/dist/providers/dreamina-provider.js +54 -72
- package/dist/providers/dreamina-provider.js.map +1 -1
- package/dist/providers/fake-provider.js +1 -1
- package/dist/providers/gemini-provider.d.ts.map +1 -1
- package/dist/providers/gemini-provider.js +23 -0
- package/dist/providers/gemini-provider.js.map +1 -1
- package/dist/providers/meta-transcription.d.ts +1 -5
- package/dist/providers/meta-transcription.d.ts.map +1 -1
- package/dist/providers/meta-transcription.js +9 -55
- package/dist/providers/meta-transcription.js.map +1 -1
- package/dist/providers/node-llama-cpp-trending.generated.js +121 -121
- package/dist/providers/node-llama-cpp-trending.generated.js.map +1 -1
- package/dist/providers/ollama-provider.d.ts.map +1 -1
- package/dist/providers/ollama-provider.js +1 -17
- package/dist/providers/ollama-provider.js.map +1 -1
- package/dist/providers/openai-provider.d.ts +12 -0
- package/dist/providers/openai-provider.d.ts.map +1 -1
- package/dist/providers/openai-provider.js +27 -2
- package/dist/providers/openai-provider.js.map +1 -1
- package/dist/providers/openrouter-provider.js +1 -1
- package/dist/providers/openrouter-provider.js.map +1 -1
- package/dist/providers/requesty-provider.js +1 -1
- package/dist/providers/requesty-provider.js.map +1 -1
- package/dist/providers/safe-url.d.ts +1 -69
- package/dist/providers/safe-url.d.ts.map +1 -1
- package/dist/providers/safe-url.js +1 -284
- package/dist/providers/safe-url.js.map +1 -1
- package/dist/providers/topaz-provider.d.ts +1 -1
- package/dist/providers/topaz-provider.js +1 -1
- package/dist/providers/video-frame-fallback.d.ts +1 -1
- package/dist/providers/video-frame-fallback.js +4 -4
- package/dist/providers/video-frame-fallback.js.map +1 -1
- package/dist/providers/video-frames.d.ts +6 -16
- package/dist/providers/video-frames.d.ts.map +1 -1
- package/dist/providers/video-frames.js +48 -116
- package/dist/providers/video-frames.js.map +1 -1
- package/dist/python-bridge-base.d.ts +2 -0
- package/dist/python-bridge-base.d.ts.map +1 -1
- package/dist/python-bridge-base.js +9 -26
- package/dist/python-bridge-base.js.map +1 -1
- package/dist/storage-workspace.d.ts +1 -61
- package/dist/storage-workspace.d.ts.map +1 -1
- package/dist/storage-workspace.js +2 -430
- package/dist/storage-workspace.js.map +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +57 -1
- package/dist/testing.js.map +1 -1
- package/dist/trim-video-window.d.ts.map +1 -1
- package/dist/trim-video-window.js +2 -32
- package/dist/trim-video-window.js.map +1 -1
- package/dist/workspace.d.ts +1 -118
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +1 -111
- package/dist/workspace.js.map +1 -1
- package/dist/yt-dlp-format.d.ts +22 -0
- package/dist/yt-dlp-format.d.ts.map +1 -0
- package/dist/yt-dlp-format.js +90 -0
- package/dist/yt-dlp-format.js.map +1 -0
- package/package.json +23 -6
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* in as a constructor kwarg — exactly how the registry wires every other
|
|
16
16
|
* credentialed provider.
|
|
17
17
|
*/
|
|
18
|
+
import { createHash } from "node:crypto";
|
|
18
19
|
import OpenAI from "openai";
|
|
19
20
|
import { createLogger } from "@nodetool-ai/config";
|
|
20
21
|
import { CODEX_BACKEND_BASE_URL, CODEX_DEFAULT_ORIGINATOR, CODEX_CLIENT_VERSION, PROVIDER_IDS, isString } from "@nodetool-ai/protocol";
|
|
@@ -54,6 +55,28 @@ function codexClientVersion() {
|
|
|
54
55
|
function codexHttpError(message, status) {
|
|
55
56
|
return Object.assign(new Error(message), { status });
|
|
56
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* The id Codex groups one conversation's requests under. The Codex CLI sends
|
|
60
|
+
* its conversation id as both the `session_id` header and `prompt_cache_key`,
|
|
61
|
+
* and the backend routes requests that share it to where their prefix is
|
|
62
|
+
* already cached. A thread keys by its id, so every turn and tool round of it
|
|
63
|
+
* lands together; without a thread the instructions stand in, which groups the
|
|
64
|
+
* calls of one agent or node. UUID-shaped like the CLI's own ids. Undefined
|
|
65
|
+
* when there is nothing stable to key on.
|
|
66
|
+
*/
|
|
67
|
+
export function codexConversationId(threadId, instructions) {
|
|
68
|
+
const source = threadId
|
|
69
|
+
? `thread:${threadId}`
|
|
70
|
+
: instructions
|
|
71
|
+
? `system:${instructions}`
|
|
72
|
+
: "";
|
|
73
|
+
if (!source)
|
|
74
|
+
return undefined;
|
|
75
|
+
const hex = createHash("sha256")
|
|
76
|
+
.update(`nodetool-codex:${source}`)
|
|
77
|
+
.digest("hex");
|
|
78
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
79
|
+
}
|
|
57
80
|
/** The default headers a Codex client sends, with the account id when there is one. */
|
|
58
81
|
function codexDefaultHeaders(originator, accountId) {
|
|
59
82
|
const headers = { originator };
|
|
@@ -256,7 +279,7 @@ export class CodexProvider extends OpenAIProvider {
|
|
|
256
279
|
return Uint8Array.from(Buffer.from(b64, "base64"));
|
|
257
280
|
}
|
|
258
281
|
// --- Responses API transport -------------------------------------------
|
|
259
|
-
buildHeaders(accept = "text/event-stream") {
|
|
282
|
+
buildHeaders(accept = "text/event-stream", sessionId) {
|
|
260
283
|
const version = codexClientVersion();
|
|
261
284
|
const headers = {
|
|
262
285
|
authorization: `Bearer ${this.accessToken}`,
|
|
@@ -266,7 +289,7 @@ export class CodexProvider extends OpenAIProvider {
|
|
|
266
289
|
"openai-beta": "responses=experimental",
|
|
267
290
|
version,
|
|
268
291
|
"user-agent": `${this.originator}/${version} (NodeTool)`,
|
|
269
|
-
session_id: globalThis.crypto.randomUUID()
|
|
292
|
+
session_id: sessionId ?? globalThis.crypto.randomUUID()
|
|
270
293
|
};
|
|
271
294
|
if (this.accountId) {
|
|
272
295
|
headers["chatgpt-account-id"] = this.accountId;
|
|
@@ -323,6 +346,9 @@ export class CodexProvider extends OpenAIProvider {
|
|
|
323
346
|
store: false,
|
|
324
347
|
stream: true
|
|
325
348
|
};
|
|
349
|
+
const conversationId = codexConversationId(args.threadId, instructions);
|
|
350
|
+
if (conversationId)
|
|
351
|
+
body.prompt_cache_key = conversationId;
|
|
326
352
|
if (args.tools?.length) {
|
|
327
353
|
body.tools = args.tools.map((t) => ({
|
|
328
354
|
type: "function",
|
|
@@ -346,7 +372,7 @@ export class CodexProvider extends OpenAIProvider {
|
|
|
346
372
|
this.recordRequestPayload(body);
|
|
347
373
|
const res = await fetch(`${CODEX_BACKEND_BASE_URL}/responses`, {
|
|
348
374
|
method: "POST",
|
|
349
|
-
headers: this.buildHeaders(),
|
|
375
|
+
headers: this.buildHeaders("text/event-stream", isString(body.prompt_cache_key) ? body.prompt_cache_key : undefined),
|
|
350
376
|
body: JSON.stringify(body),
|
|
351
377
|
signal: args.signal
|
|
352
378
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-provider.js","sourceRoot":"","sources":["../../src/providers/codex-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-provider.js","sourceRoot":"","sources":["../../src/providers/codex-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-uri.d.ts","sourceRoot":"","sources":["../../src/providers/data-uri.ts"],"names":[],"mappings":"AAAA,wHAAwH;AACxH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM;;;EAgBvC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Split a `data:` URI into its MIME type and base64 payload. Non-base64 payloads are percent-decoded, then encoded. */
|
|
2
|
+
export function parseDataUri(uri) {
|
|
3
|
+
const idx = uri.indexOf(",");
|
|
4
|
+
if (idx < 0) {
|
|
5
|
+
throw new Error("Invalid data URI");
|
|
6
|
+
}
|
|
7
|
+
const header = uri.slice(5, idx);
|
|
8
|
+
const payload = uri.slice(idx + 1);
|
|
9
|
+
const isBase64 = header.includes(";base64");
|
|
10
|
+
const mime = header.split(";")[0] || "application/octet-stream";
|
|
11
|
+
if (isBase64) {
|
|
12
|
+
return { mime, base64: payload };
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
mime,
|
|
16
|
+
base64: Buffer.from(decodeURIComponent(payload), "utf8").toString("base64")
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data-uri.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-uri.js","sourceRoot":"","sources":["../../src/providers/data-uri.ts"],"names":[],"mappings":"AAAA,wHAAwH;AACxH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,0BAA0B,CAAC;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IACD,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC5E,CAAC;AACJ,CAAC"}
|
|
@@ -4,7 +4,7 @@ import type { EncodedAudioResult, ImageModel, Message, MusicModel, ImageToImageP
|
|
|
4
4
|
/** Evaluates JavaScript inside the user's logged-in Dreamina tab. */
|
|
5
5
|
export interface DreaminaPageRunner {
|
|
6
6
|
/** Run `expression` (an async-wrapped JS expression) in the tab and return its JSON value. */
|
|
7
|
-
evaluate(expression: string): Promise<unknown>;
|
|
7
|
+
evaluate(expression: string, timeoutMs?: number): Promise<unknown>;
|
|
8
8
|
}
|
|
9
9
|
/** Replace the page runner. Tests use this to avoid a real browser. */
|
|
10
10
|
export declare function setDreaminaPageRunner(runner: DreaminaPageRunner | null): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreamina-provider.d.ts","sourceRoot":"","sources":["../../src/providers/dreamina-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dreamina-provider.d.ts","sourceRoot":"","sources":["../../src/providers/dreamina-provider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAI3E,OAAO,EAAmC,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAuB,MAAM,YAAY,CAAC;AAI5R,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE;AAMD,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAaD,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAEhF;AA00BD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,WAAW,CAA8D;IACjF,OAAO,CAAC,gBAAgB,CAAmE;IAC3F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2H;IAEjJ,UAAmB,oBAAoB,IAAI,SAAS,kBAAkB,EAAE,CAEvE;IAED,OAAgB,eAAe,IAAI,MAAM,EAAE,CAAe;IAC1D,YAAY,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAmC;IAE/E,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAkE;IAEzJ,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAkE;YAEvK,YAAY;IAQ1B,mFAAmF;IACpE,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAE9D;YAEa,WAAW;IAMzB,8EAA8E;IAC9E,OAAO,CAAC,SAAS;YAaH,WAAW;IAeV,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAMzE;IAED;;;;;OAKG;IACY,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAcjG;YAEa,YAAY;IAQX,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAE9D;IAEc,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzE;IAED;;;;;;OAMG;IACY,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAE9F;IAED;;;;;;;OAOG;IACY,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAOnH;IAEc,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAE9D;IAED,oGAAoG;IACrF,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAGjF;YAEa,aAAa;IA2F3B,2DAA2D;YAC7C,YAAY;CAW3B"}
|
|
@@ -3,79 +3,26 @@ import { crc32 } from "node:zlib";
|
|
|
3
3
|
import { createLogger } from "@nodetool-ai/config";
|
|
4
4
|
import { PROVIDER_IDS } from "@nodetool-ai/protocol";
|
|
5
5
|
import { fetchExternalMedia } from "../external-media-fetch.js";
|
|
6
|
+
import { recordGenerationReceiptAsync } from "../generation-receipt.js";
|
|
6
7
|
import { BaseProvider } from "./base-provider.js";
|
|
7
8
|
import { createDreaminaMusic } from "./dreamina-music.js";
|
|
8
9
|
import { DREAMINA_IMAGE_MODELS, DREAMINA_VIDEO_MODELS } from "./dreamina-models.js";
|
|
10
|
+
import { createExtensionTab, ExtensionTabStallError } from "./extension-tab.js";
|
|
9
11
|
import { filePendingStore, pendingJobKey } from "./dreamina-pending.js";
|
|
10
12
|
const log = createLogger("nodetool.runtime.providers.dreamina");
|
|
11
|
-
/** The extension keeps the debugger attached between polls, then detaches when idle. */
|
|
12
|
-
const IDLE_CLOSE_MS = 30_000;
|
|
13
13
|
const DREAMINA_HOST = "dreamina.capcut.com";
|
|
14
|
-
/**
|
|
15
|
-
* Runs scripts in the tab the NodeTool extension is attached to, through the
|
|
16
|
-
* native messaging host's socket. The tab must already be a logged-in Dreamina
|
|
17
|
-
* page, because the requests rely on that origin and its cookies.
|
|
18
|
-
*/
|
|
19
|
-
function createExtensionRunner() {
|
|
20
|
-
let handle = null;
|
|
21
|
-
let opening = null;
|
|
22
|
-
let idleTimer = null;
|
|
23
|
-
let busy = 0;
|
|
24
|
-
const drop = async () => {
|
|
25
|
-
const current = handle;
|
|
26
|
-
handle = null;
|
|
27
|
-
if (current)
|
|
28
|
-
await current.close().catch(() => undefined);
|
|
29
|
-
};
|
|
30
|
-
const open = async () => {
|
|
31
|
-
const { createExtensionPage } = await import("@nodetool-ai/browser");
|
|
32
|
-
const next = await createExtensionPage(undefined, { urlMatch: DREAMINA_HOST });
|
|
33
|
-
try {
|
|
34
|
-
const host = await next.page.evaluate("location.hostname");
|
|
35
|
-
if (host !== DREAMINA_HOST) {
|
|
36
|
-
throw new Error(`The attached tab is ${host || "not a web page"}. Open https://${DREAMINA_HOST}, sign in, and attach the NodeTool extension to that tab`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
await next.close().catch(() => undefined);
|
|
41
|
-
throw error;
|
|
42
|
-
}
|
|
43
|
-
return next;
|
|
44
|
-
};
|
|
45
|
-
return {
|
|
46
|
-
async evaluate(expression) {
|
|
47
|
-
if (idleTimer)
|
|
48
|
-
clearTimeout(idleTimer);
|
|
49
|
-
busy += 1;
|
|
50
|
-
try {
|
|
51
|
-
if (!handle) {
|
|
52
|
-
// One attach serves every concurrent caller.
|
|
53
|
-
opening ??= open().finally(() => { opening = null; });
|
|
54
|
-
handle = await opening;
|
|
55
|
-
}
|
|
56
|
-
return await handle.page.evaluate(expression);
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
await drop();
|
|
60
|
-
throw error;
|
|
61
|
-
}
|
|
62
|
-
finally {
|
|
63
|
-
busy -= 1;
|
|
64
|
-
if (busy === 0) {
|
|
65
|
-
idleTimer = setTimeout(() => void drop(), IDLE_CLOSE_MS);
|
|
66
|
-
idleTimer.unref?.();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
14
|
let pageRunner = null;
|
|
73
15
|
/** Replace the page runner. Tests use this to avoid a real browser. */
|
|
74
16
|
export function setDreaminaPageRunner(runner) {
|
|
75
17
|
pageRunner = runner;
|
|
76
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* The tab the NodeTool extension attaches to. The shared tab unfreezes a
|
|
21
|
+
* background tab before each script: a frozen page runs the script but not
|
|
22
|
+
* its own request callbacks, so every request would stall.
|
|
23
|
+
*/
|
|
77
24
|
function runner() {
|
|
78
|
-
return (pageRunner ??=
|
|
25
|
+
return (pageRunner ??= createExtensionTab(DREAMINA_HOST));
|
|
79
26
|
}
|
|
80
27
|
let pendingStore = null;
|
|
81
28
|
/** Replace the store of uncollected jobs. Tests use this to keep the data directory untouched. */
|
|
@@ -93,7 +40,7 @@ class DreaminaStallError extends Error {
|
|
|
93
40
|
}
|
|
94
41
|
/** Whether `error` means a request stalled, so its outcome is unknown. */
|
|
95
42
|
function stalled(error) {
|
|
96
|
-
return error instanceof DreaminaStallError;
|
|
43
|
+
return error instanceof DreaminaStallError || error instanceof ExtensionTabStallError;
|
|
97
44
|
}
|
|
98
45
|
/**
|
|
99
46
|
* Evaluate `expression` in the tab, but stop waiting after `timeoutMs`. The
|
|
@@ -106,7 +53,7 @@ async function evaluateBounded(expression, what, timeoutMs = TAB_CALL_TIMEOUT_MS
|
|
|
106
53
|
timer.unref?.();
|
|
107
54
|
});
|
|
108
55
|
try {
|
|
109
|
-
return await Promise.race([runner().evaluate(expression), timeout]);
|
|
56
|
+
return await Promise.race([runner().evaluate(expression, timeoutMs), timeout]);
|
|
110
57
|
}
|
|
111
58
|
finally {
|
|
112
59
|
clearTimeout(timer);
|
|
@@ -194,6 +141,35 @@ async function retryOnTabLoss(what, step) {
|
|
|
194
141
|
return step();
|
|
195
142
|
}
|
|
196
143
|
}
|
|
144
|
+
/** How long the tab check before a generation may take, the attach included. */
|
|
145
|
+
const TAB_CHECK_TIMEOUT_MS = 15_000;
|
|
146
|
+
const ACCOUNT_INFO_URL = `https://${DREAMINA_HOST}/passport/web/account/info/?aid=${APP_ID}&account_sdk_source=web&language=en`;
|
|
147
|
+
/** The Dreamina tab is missing, not logged in, or does not answer. Nothing was uploaded or paid. */
|
|
148
|
+
class DreaminaTabError extends Error {
|
|
149
|
+
}
|
|
150
|
+
/** The logged-in account's user id, read through the tab's own cookies. */
|
|
151
|
+
async function accountUserId(timeoutMs = TAB_CALL_TIMEOUT_MS) {
|
|
152
|
+
const account = (await evaluateBounded(`fetch(${JSON.stringify(ACCOUNT_INFO_URL)}, { credentials: "include" }).then((r) => r.json())`, "the login check", timeoutMs));
|
|
153
|
+
const userId = account?.data?.user_id_str;
|
|
154
|
+
if (!userId)
|
|
155
|
+
throw new DreaminaTabError(`The Dreamina tab is not logged in. Sign in at https://${DREAMINA_HOST} in that tab and try again`);
|
|
156
|
+
return userId;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Check that the Dreamina tab answers and is logged in, before anything is
|
|
160
|
+
* uploaded or paid for. A frozen or broken tab fails here in seconds with a
|
|
161
|
+
* clear cause, instead of as a stalled job minutes later.
|
|
162
|
+
*/
|
|
163
|
+
async function checkTab() {
|
|
164
|
+
try {
|
|
165
|
+
await accountUserId(TAB_CHECK_TIMEOUT_MS);
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
if (!stalled(error))
|
|
169
|
+
throw error;
|
|
170
|
+
throw new DreaminaTabError(`The Dreamina tab does not answer. Bring the ${DREAMINA_HOST} tab to the front or reload it, then try again. Nothing was submitted`, { cause: error });
|
|
171
|
+
}
|
|
172
|
+
}
|
|
197
173
|
async function callApi(path, body) {
|
|
198
174
|
return path === GENERATE_PATH ? callApiOnce(path, body) : retryOnTabLoss(path, () => callApiOnce(path, body));
|
|
199
175
|
}
|
|
@@ -345,6 +321,8 @@ const MAX_REFERENCE_VIDEOS = 3;
|
|
|
345
321
|
const MAX_REFERENCE_AUDIOS = 3;
|
|
346
322
|
/** Chrome accepts at most 1 MiB per host-to-extension message, so the page receives uploads in pieces. */
|
|
347
323
|
const UPLOAD_PIECE_CHARS = 400_000;
|
|
324
|
+
/** One upload request in the tab. A reference video can take minutes on a slow line. */
|
|
325
|
+
const UPLOAD_TIMEOUT_MS = 5 * 60_000;
|
|
348
326
|
/** Run one request in the Dreamina tab, so its origin and cookies apply. */
|
|
349
327
|
async function pageFetch(request) {
|
|
350
328
|
const expression = `(async () => {
|
|
@@ -360,7 +338,7 @@ async function pageFetch(request) {
|
|
|
360
338
|
const response = await fetch(a.url, { method: a.method, headers: a.headers, body, credentials: "omit" });
|
|
361
339
|
return { status: response.status, text: await response.text() };
|
|
362
340
|
})()`;
|
|
363
|
-
return (await runner().evaluate(expression));
|
|
341
|
+
return (await runner().evaluate(expression, UPLOAD_TIMEOUT_MS));
|
|
364
342
|
}
|
|
365
343
|
/** Stage `bytes` in the page as base64 pieces and return the staging id. */
|
|
366
344
|
async function stageBytes(bytes) {
|
|
@@ -406,10 +384,7 @@ function uploadImage(bytes) {
|
|
|
406
384
|
}
|
|
407
385
|
async function uploadImageOnce(bytes) {
|
|
408
386
|
const token = await callApi("/mweb/v1/get_upload_token", { scene: 2 });
|
|
409
|
-
const
|
|
410
|
-
const userId = account.data?.user_id_str;
|
|
411
|
-
if (!userId)
|
|
412
|
-
throw new Error("Dreamina account info has no user id (is the tab logged in?)");
|
|
387
|
+
const userId = await accountUserId();
|
|
413
388
|
const applyQuery = { Action: "ApplyImageUpload", Version: "2018-08-01", ServiceId: token.space_name, FileSize: String(bytes.length), s: Math.random().toString(36).slice(2, 13), device_platform: "web" };
|
|
414
389
|
const applyUrl = `https://${token.upload_domain}/?${Object.entries(applyQuery).map(([k, v]) => `${encodeQuery(k)}=${encodeQuery(v)}`).join("&")}`;
|
|
415
390
|
const apply = await pageFetch({ url: applyUrl, method: "GET", headers: imagexHeaders(token, "GET", applyQuery, "") });
|
|
@@ -453,10 +428,7 @@ function uploadVideo(bytes) {
|
|
|
453
428
|
}
|
|
454
429
|
async function uploadVideoOnce(bytes) {
|
|
455
430
|
const token = await callApi("/mweb/v1/get_upload_token", { scene: 1 });
|
|
456
|
-
const
|
|
457
|
-
const userId = account.data?.user_id_str;
|
|
458
|
-
if (!userId)
|
|
459
|
-
throw new Error("Dreamina account info has no user id (is the tab logged in?)");
|
|
431
|
+
const userId = await accountUserId();
|
|
460
432
|
const applyQuery = { Action: "ApplyUploadInner", Version: "2020-11-19", SpaceName: token.space_name, FileType: "video", IsInner: "1", FileSize: String(bytes.length), s: Math.random().toString(36).slice(2, 13), device_platform: "web" };
|
|
461
433
|
const url = (query) => `https://${token.upload_domain}/?${Object.entries(query).map(([k, v]) => `${encodeQuery(k)}=${encodeQuery(v)}`).join("&")}`;
|
|
462
434
|
const apply = await pageFetch({ url: url(applyQuery), method: "GET", headers: imagexHeaders(token, "GET", applyQuery, "", "vod") });
|
|
@@ -645,6 +617,10 @@ async function submitAndAwait(body, submitId, timeoutMs, signal) {
|
|
|
645
617
|
log.warn("Dreamina submit has no answer, looking the job up by id", { submitId, error: unconfirmed.message });
|
|
646
618
|
}
|
|
647
619
|
log.info("Dreamina generation submitted", { submitId, timeoutMs, confirmed: !unconfirmed });
|
|
620
|
+
// A confirmed submit is a job on Dreamina: its id tells the caller that
|
|
621
|
+
// credits are in use. An unconfirmed one is recorded once the history shows it.
|
|
622
|
+
if (!unconfirmed)
|
|
623
|
+
await recordGenerationReceiptAsync({ provider_request_id: submitId });
|
|
648
624
|
return awaitJob(submitId, timeoutMs, signal, unconfirmed);
|
|
649
625
|
}
|
|
650
626
|
/** Dreamina answered the submit with an error, so no job runs. */
|
|
@@ -688,6 +664,8 @@ async function awaitJob(submitId, timeoutMs, signal, unconfirmed = null, resumed
|
|
|
688
664
|
pollFailures = 0;
|
|
689
665
|
const record = history[submitId];
|
|
690
666
|
if (record) {
|
|
667
|
+
if (!seen && (unconfirmed || resumed))
|
|
668
|
+
await recordGenerationReceiptAsync({ provider_request_id: submitId });
|
|
691
669
|
seen = true;
|
|
692
670
|
}
|
|
693
671
|
else if (!seen && (unconfirmed || resumed) && Date.now() - started > UNCONFIRMED_SUBMIT_GRACE_MS) {
|
|
@@ -878,6 +856,7 @@ export class DreaminaProvider extends BaseProvider {
|
|
|
878
856
|
return download(url, signal ?? undefined);
|
|
879
857
|
}
|
|
880
858
|
async textToImage(params) {
|
|
859
|
+
await checkTab();
|
|
881
860
|
const config = await this.imageConfig(params.model.id);
|
|
882
861
|
const { resolution, ratioType, size } = this.imageSize(config, params.resolution, aspectRatioFor(params));
|
|
883
862
|
const seed = params.seed ?? Math.floor(Math.random() * 4_000_000_000);
|
|
@@ -894,6 +873,7 @@ export class DreaminaProvider extends BaseProvider {
|
|
|
894
873
|
throw new Error("imageToImage needs at least one source image");
|
|
895
874
|
if (images.length > MAX_REFERENCE_IMAGES)
|
|
896
875
|
throw new Error(`Dreamina takes at most ${MAX_REFERENCE_IMAGES} source images, not ${images.length}`);
|
|
876
|
+
await checkTab();
|
|
897
877
|
const config = await this.imageConfig(params.model.id);
|
|
898
878
|
if (!config.feats?.includes("byte_edit"))
|
|
899
879
|
throw new Error(`Dreamina model ${config.model_name} does not take source images`);
|
|
@@ -956,9 +936,11 @@ export class DreaminaProvider extends BaseProvider {
|
|
|
956
936
|
}
|
|
957
937
|
/** Instrumental tracks need no model key. Vocal models appear only where the account lists them. */
|
|
958
938
|
async textToMusic(params) {
|
|
939
|
+
await checkTab();
|
|
959
940
|
return this.music.generate(params);
|
|
960
941
|
}
|
|
961
942
|
async generateVideo(params, requested) {
|
|
943
|
+
await checkTab();
|
|
962
944
|
const config = (await this.videoConfigs()).find((m) => m.model_req_key === params.model.id);
|
|
963
945
|
if (!config)
|
|
964
946
|
throw new Error(`Unknown Dreamina video model: ${params.model.id}`);
|