@nodetool-ai/runtime 0.8.3 → 0.8.4-a13.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 (143) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/canvas-codec.d.ts +3 -0
  3. package/dist/canvas-codec.d.ts.map +1 -0
  4. package/dist/canvas-codec.js +12 -0
  5. package/dist/canvas-codec.js.map +1 -0
  6. package/dist/context-packer.d.ts +1 -1
  7. package/dist/context-packer.js +1 -1
  8. package/dist/context.d.ts +3 -0
  9. package/dist/context.d.ts.map +1 -1
  10. package/dist/context.js +13 -3
  11. package/dist/context.js.map +1 -1
  12. package/dist/host-binaries.d.ts.map +1 -1
  13. package/dist/host-binaries.js +4 -3
  14. package/dist/host-binaries.js.map +1 -1
  15. package/dist/http-client-spans.d.ts +9 -0
  16. package/dist/http-client-spans.d.ts.map +1 -0
  17. package/dist/http-client-spans.js +88 -0
  18. package/dist/http-client-spans.js.map +1 -0
  19. package/dist/image-codec.d.ts +6 -3
  20. package/dist/image-codec.d.ts.map +1 -1
  21. package/dist/image-codec.js +17 -17
  22. package/dist/image-codec.js.map +1 -1
  23. package/dist/index.d.ts +3 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/media-ref-bytes.d.ts.map +1 -1
  28. package/dist/media-ref-bytes.js +31 -6
  29. package/dist/media-ref-bytes.js.map +1 -1
  30. package/dist/otlp-json-trace-exporter.d.ts +89 -0
  31. package/dist/otlp-json-trace-exporter.d.ts.map +1 -0
  32. package/dist/otlp-json-trace-exporter.js +155 -0
  33. package/dist/otlp-json-trace-exporter.js.map +1 -0
  34. package/dist/providers/antigravity-provider.d.ts +113 -0
  35. package/dist/providers/antigravity-provider.d.ts.map +1 -0
  36. package/dist/providers/antigravity-provider.js +527 -0
  37. package/dist/providers/antigravity-provider.js.map +1 -0
  38. package/dist/providers/azure-openai-provider.d.ts +69 -0
  39. package/dist/providers/azure-openai-provider.d.ts.map +1 -0
  40. package/dist/providers/azure-openai-provider.js +233 -0
  41. package/dist/providers/azure-openai-provider.js.map +1 -0
  42. package/dist/providers/base-provider.d.ts.map +1 -1
  43. package/dist/providers/base-provider.js +19 -1
  44. package/dist/providers/base-provider.js.map +1 -1
  45. package/dist/providers/bedrock-provider.d.ts +52 -0
  46. package/dist/providers/bedrock-provider.d.ts.map +1 -0
  47. package/dist/providers/bedrock-provider.js +648 -0
  48. package/dist/providers/bedrock-provider.js.map +1 -0
  49. package/dist/providers/bedrock-transport.d.ts +37 -0
  50. package/dist/providers/bedrock-transport.d.ts.map +1 -0
  51. package/dist/providers/bedrock-transport.js +186 -0
  52. package/dist/providers/bedrock-transport.js.map +1 -0
  53. package/dist/providers/chatgpt-provider.d.ts.map +1 -1
  54. package/dist/providers/chatgpt-provider.js +77 -32
  55. package/dist/providers/chatgpt-provider.js.map +1 -1
  56. package/dist/providers/claude-agent-provider.d.ts +29 -51
  57. package/dist/providers/claude-agent-provider.d.ts.map +1 -1
  58. package/dist/providers/claude-agent-provider.js +144 -202
  59. package/dist/providers/claude-agent-provider.js.map +1 -1
  60. package/dist/providers/claude-cli.d.ts +265 -0
  61. package/dist/providers/claude-cli.d.ts.map +1 -0
  62. package/dist/providers/claude-cli.js +488 -0
  63. package/dist/providers/claude-cli.js.map +1 -0
  64. package/dist/providers/codex-provider.d.ts +9 -2
  65. package/dist/providers/codex-provider.d.ts.map +1 -1
  66. package/dist/providers/codex-provider.js +25 -11
  67. package/dist/providers/codex-provider.js.map +1 -1
  68. package/dist/providers/core-tools.d.ts +4 -1
  69. package/dist/providers/core-tools.d.ts.map +1 -1
  70. package/dist/providers/core-tools.js +5 -3
  71. package/dist/providers/core-tools.js.map +1 -1
  72. package/dist/providers/dreamina-pending.d.ts +22 -0
  73. package/dist/providers/dreamina-pending.d.ts.map +1 -0
  74. package/dist/providers/dreamina-pending.js +86 -0
  75. package/dist/providers/dreamina-pending.js.map +1 -0
  76. package/dist/providers/dreamina-provider.d.ts +5 -0
  77. package/dist/providers/dreamina-provider.d.ts.map +1 -1
  78. package/dist/providers/dreamina-provider.js +88 -19
  79. package/dist/providers/dreamina-provider.js.map +1 -1
  80. package/dist/providers/extension-tab.d.ts +18 -5
  81. package/dist/providers/extension-tab.d.ts.map +1 -1
  82. package/dist/providers/extension-tab.js +71 -15
  83. package/dist/providers/extension-tab.js.map +1 -1
  84. package/dist/providers/gemini-web-provider.d.ts +14 -14
  85. package/dist/providers/gemini-web-provider.d.ts.map +1 -1
  86. package/dist/providers/gemini-web-provider.js +264 -189
  87. package/dist/providers/gemini-web-provider.js.map +1 -1
  88. package/dist/providers/http-transport.d.ts.map +1 -1
  89. package/dist/providers/http-transport.js +2 -0
  90. package/dist/providers/http-transport.js.map +1 -1
  91. package/dist/providers/index.d.ts +8 -0
  92. package/dist/providers/index.d.ts.map +1 -1
  93. package/dist/providers/index.js +30 -7
  94. package/dist/providers/index.js.map +1 -1
  95. package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -1
  96. package/dist/providers/node-llama-cpp-provider.js +2 -4
  97. package/dist/providers/node-llama-cpp-provider.js.map +1 -1
  98. package/dist/providers/openai-provider.d.ts +2 -0
  99. package/dist/providers/openai-provider.d.ts.map +1 -1
  100. package/dist/providers/openai-provider.js +9 -5
  101. package/dist/providers/openai-provider.js.map +1 -1
  102. package/dist/providers/safe-url.d.ts.map +1 -1
  103. package/dist/providers/safe-url.js +8 -0
  104. package/dist/providers/safe-url.js.map +1 -1
  105. package/dist/providers/vgenv-provider.d.ts +33 -0
  106. package/dist/providers/vgenv-provider.d.ts.map +1 -0
  107. package/dist/providers/vgenv-provider.js +261 -0
  108. package/dist/providers/vgenv-provider.js.map +1 -0
  109. package/dist/python-graph-resolver.d.ts.map +1 -1
  110. package/dist/python-graph-resolver.js +12 -2
  111. package/dist/python-graph-resolver.js.map +1 -1
  112. package/dist/python-stdio-bridge.d.ts.map +1 -1
  113. package/dist/python-stdio-bridge.js +33 -10
  114. package/dist/python-stdio-bridge.js.map +1 -1
  115. package/dist/run-trace-processor.d.ts +3 -0
  116. package/dist/run-trace-processor.d.ts.map +1 -1
  117. package/dist/run-trace-processor.js +56 -40
  118. package/dist/run-trace-processor.js.map +1 -1
  119. package/dist/telemetry.d.ts +2 -2
  120. package/dist/telemetry.d.ts.map +1 -1
  121. package/dist/telemetry.js +33 -34
  122. package/dist/telemetry.js.map +1 -1
  123. package/dist/token-counter.d.ts +4 -13
  124. package/dist/token-counter.d.ts.map +1 -1
  125. package/dist/token-counter.js +68 -18
  126. package/dist/token-counter.js.map +1 -1
  127. package/dist/trace-context-manager.d.ts +12 -0
  128. package/dist/trace-context-manager.d.ts.map +1 -0
  129. package/dist/trace-context-manager.js +30 -0
  130. package/dist/trace-context-manager.js.map +1 -0
  131. package/dist/trace-exporters.d.ts +1 -1
  132. package/dist/trace-exporters.d.ts.map +1 -1
  133. package/dist/trace-exporters.js +4 -5
  134. package/dist/trace-exporters.js.map +1 -1
  135. package/dist/trace-semantic-conventions.d.ts +2 -0
  136. package/dist/trace-semantic-conventions.d.ts.map +1 -0
  137. package/dist/trace-semantic-conventions.js +2 -0
  138. package/dist/trace-semantic-conventions.js.map +1 -0
  139. package/dist/tracing-module.d.ts +3 -0
  140. package/dist/tracing-module.d.ts.map +1 -0
  141. package/dist/tracing-module.js +12 -0
  142. package/dist/tracing-module.js.map +1 -0
  143. package/package.json +35 -18
@@ -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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"}
@@ -46,7 +46,7 @@ export declare const DISCOVERY_TOOL_NAMES: ReadonlySet<string>;
46
46
  export declare const DIRECT_TOOL_NAMES: ReadonlySet<string>;
47
47
  /**
48
48
  * NodeTool tool name → the Claude Agent SDK built-in that replaces it. Only
49
- * true replacements are listed. Three members of {@link CORE_TOOL_NAMES} are
49
+ * true replacements are listed. Four members of {@link CORE_TOOL_NAMES} are
50
50
  * deliberately absent:
51
51
  *
52
52
  * - `list_directory` — `Glob` matches a pattern; it does not list a directory.
@@ -54,6 +54,9 @@ export declare const DIRECT_TOOL_NAMES: ReadonlySet<string>;
54
54
  * that writes nothing, so it covers none of the three in full.
55
55
  * - `run_subtask` — `Task` spawns an SDK agent holding SDK tools. The child
56
56
  * would lose the NodeTool toolbelt the parent passed it.
57
+ * - `todo_write` — `TodoWrite` keeps its list inside the SDK session. NodeTool's
58
+ * version posts a `todo_update` message, which is how the chat UI renders the
59
+ * task list. With the built-in in its place the list never reached the user.
57
60
  */
58
61
  export declare const SDK_NATIVE_TOOL_REPLACEMENTS: ReadonlyMap<string, string>;
59
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"core-tools.d.ts","sourceRoot":"","sources":["../../src/providers/core-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAiB9C,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CASnD,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAGhD,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAUpE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAM1D,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,YAAY,CAAC,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,CAAC,CAQb"}
1
+ {"version":3,"file":"core-tools.d.ts","sourceRoot":"","sources":["../../src/providers/core-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAiB9C,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CASnD,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAGhD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CASpE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAM1D,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,YAAY,CAAC,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,CAAC,CAQb"}
@@ -75,7 +75,7 @@ export const DIRECT_TOOL_NAMES = new Set([
75
75
  ]);
76
76
  /**
77
77
  * NodeTool tool name → the Claude Agent SDK built-in that replaces it. Only
78
- * true replacements are listed. Three members of {@link CORE_TOOL_NAMES} are
78
+ * true replacements are listed. Four members of {@link CORE_TOOL_NAMES} are
79
79
  * deliberately absent:
80
80
  *
81
81
  * - `list_directory` — `Glob` matches a pattern; it does not list a directory.
@@ -83,6 +83,9 @@ export const DIRECT_TOOL_NAMES = new Set([
83
83
  * that writes nothing, so it covers none of the three in full.
84
84
  * - `run_subtask` — `Task` spawns an SDK agent holding SDK tools. The child
85
85
  * would lose the NodeTool toolbelt the parent passed it.
86
+ * - `todo_write` — `TodoWrite` keeps its list inside the SDK session. NodeTool's
87
+ * version posts a `todo_update` message, which is how the chat UI renders the
88
+ * task list. With the built-in in its place the list never reached the user.
86
89
  */
87
90
  export const SDK_NATIVE_TOOL_REPLACEMENTS = new Map([
88
91
  ["read_file", "Read"],
@@ -90,8 +93,7 @@ export const SDK_NATIVE_TOOL_REPLACEMENTS = new Map([
90
93
  ["edit_file", "Edit"],
91
94
  ["glob", "Glob"],
92
95
  ["grep", "Grep"],
93
- ["web_search", "WebSearch"],
94
- ["todo_write", "TodoWrite"]
96
+ ["web_search", "WebSearch"]
95
97
  ]);
96
98
  /**
97
99
  * The replacements that resolve paths. NodeTool's versions are contained to the
@@ -1 +1 @@
1
- {"version":3,"file":"core-tools.js","sourceRoot":"","sources":["../../src/providers/core-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IAC1D,qCAAqC;IACrC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,wBAAwB;IACxB,YAAY;IACZ,SAAS;IACT,cAAc;IACd,eAAe;IACf,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,aAAa;CACd,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC/D,wBAAwB;IACxB,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,cAAc;IACd,cAAc;IACd,eAAe;IACf,YAAY;CACb,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,GAAG,eAAe;IAClB,GAAG,oBAAoB;CACxB,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAgC,IAAI,GAAG,CAC9E;IACE,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,YAAY,EAAE,WAAW,CAAC;IAC3B,CAAC,YAAY,EAAE,WAAW,CAAC;CAC5B,CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC;IACtE,WAAW;IACX,YAAY;IACZ,WAAW;IACX,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA2B,EAC3B,YAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACtD,IAAI,CAAC,YAAY,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACrE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"core-tools.js","sourceRoot":"","sources":["../../src/providers/core-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IAC1D,qCAAqC;IACrC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,wBAAwB;IACxB,YAAY;IACZ,SAAS;IACT,cAAc;IACd,eAAe;IACf,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,aAAa;CACd,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC/D,wBAAwB;IACxB,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,cAAc;IACd,cAAc;IACd,eAAe;IACf,YAAY;CACb,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,GAAG,eAAe;IAClB,GAAG,oBAAoB;CACxB,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAgC,IAAI,GAAG,CAC9E;IACE,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,YAAY,EAAE,WAAW,CAAC;CAC5B,CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC;IACtE,WAAW;IACX,YAAY;IACZ,WAAW;IACX,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA2B,EAC3B,YAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACtD,IAAI,CAAC,YAAY,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACrE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** Where the provider keeps its uncollected jobs. */
2
+ export interface DreaminaPendingStore {
3
+ /** The submit id recorded for `key`, or null when none is recorded or it expired. */
4
+ find(key: string): string | null;
5
+ add(key: string, submitId: string): void;
6
+ remove(key: string): void;
7
+ }
8
+ /** A store held in memory only. Tests use it to keep the user's data directory untouched. */
9
+ export declare function memoryPendingStore(): DreaminaPendingStore;
10
+ /**
11
+ * A store in one JSON file, so a job survives a server restart. Each change
12
+ * rewrites the file through a rename. A file that cannot be read counts as
13
+ * empty: losing a record costs a duplicate job, never a wrong result.
14
+ */
15
+ export declare function filePendingStore(path?: string): DreaminaPendingStore;
16
+ /**
17
+ * The fingerprint of a request: every value that changes what Dreamina
18
+ * renders. Binary inputs count by their content hash, so two calls with the
19
+ * same frames match even though each uploads them again.
20
+ */
21
+ export declare function pendingJobKey(fields: Record<string, unknown>, inputs: Array<Uint8Array | undefined>): string;
22
+ //# sourceMappingURL=dreamina-pending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dreamina-pending.d.ts","sourceRoot":"","sources":["../../src/providers/dreamina-pending.ts"],"names":[],"mappings":"AA2BA,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,IAAI,oBAAoB,CAWzD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAsD,GAAG,oBAAoB,CA8BjH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,MAAM,CAO5G"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Dreamina jobs that were submitted but never collected.
3
+ *
4
+ * Dreamina runs and bills a job whether or not anyone waits for it. When the
5
+ * provider stops waiting (its timeout, a lost tab, a cancelled caller), the
6
+ * job keeps running and its result would be lost, and the caller's retry
7
+ * would pay for the same clip again. So each submit is recorded under a
8
+ * fingerprint of its request, and a later identical request polls the
9
+ * recorded job instead of submitting a new one. A record is dropped when its
10
+ * job is collected or has definitely failed, and expires after a day, when
11
+ * Dreamina's history may no longer hold it.
12
+ */
13
+ import { createHash } from "node:crypto";
14
+ import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
15
+ import { dirname, join } from "node:path";
16
+ import { createLogger, getNodetoolDataDir } from "@nodetool-ai/config";
17
+ const log = createLogger("nodetool.runtime.providers.dreamina");
18
+ /** A record older than this is ignored and dropped. */
19
+ const MAX_AGE_MS = 24 * 60 * 60_000;
20
+ /** A store held in memory only. Tests use it to keep the user's data directory untouched. */
21
+ export function memoryPendingStore() {
22
+ const jobs = new Map();
23
+ return {
24
+ find: (key) => {
25
+ const job = jobs.get(key);
26
+ if (!job || Date.now() - job.at > MAX_AGE_MS)
27
+ return null;
28
+ return job.submitId;
29
+ },
30
+ add: (key, submitId) => void jobs.set(key, { submitId, at: Date.now() }),
31
+ remove: (key) => void jobs.delete(key)
32
+ };
33
+ }
34
+ /**
35
+ * A store in one JSON file, so a job survives a server restart. Each change
36
+ * rewrites the file through a rename. A file that cannot be read counts as
37
+ * empty: losing a record costs a duplicate job, never a wrong result.
38
+ */
39
+ export function filePendingStore(path = join(getNodetoolDataDir(), "dreamina-pending.json")) {
40
+ const read = () => {
41
+ try {
42
+ const jobs = JSON.parse(readFileSync(path, "utf8"));
43
+ const now = Date.now();
44
+ return Object.fromEntries(Object.entries(jobs).filter(([, job]) => job && typeof job.submitId === "string" && now - job.at <= MAX_AGE_MS));
45
+ }
46
+ catch {
47
+ return {};
48
+ }
49
+ };
50
+ const write = (jobs) => {
51
+ try {
52
+ mkdirSync(dirname(path), { recursive: true });
53
+ const temporary = `${path}.${process.pid}.tmp`;
54
+ writeFileSync(temporary, JSON.stringify(jobs));
55
+ renameSync(temporary, path);
56
+ }
57
+ catch (error) {
58
+ log.warn("Could not record the Dreamina job", { path, error: error instanceof Error ? error.message : String(error) });
59
+ }
60
+ };
61
+ return {
62
+ find: (key) => read()[key]?.submitId ?? null,
63
+ add: (key, submitId) => write({ ...read(), [key]: { submitId, at: Date.now() } }),
64
+ remove: (key) => {
65
+ const jobs = read();
66
+ if (!(key in jobs))
67
+ return;
68
+ delete jobs[key];
69
+ write(jobs);
70
+ }
71
+ };
72
+ }
73
+ /**
74
+ * The fingerprint of a request: every value that changes what Dreamina
75
+ * renders. Binary inputs count by their content hash, so two calls with the
76
+ * same frames match even though each uploads them again.
77
+ */
78
+ export function pendingJobKey(fields, inputs) {
79
+ const hash = createHash("sha256");
80
+ hash.update(JSON.stringify(fields));
81
+ for (const input of inputs) {
82
+ hash.update(input ? createHash("sha256").update(input).digest("hex") : "-");
83
+ }
84
+ return hash.digest("hex");
85
+ }
86
+ //# sourceMappingURL=dreamina-pending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dreamina-pending.js","sourceRoot":"","sources":["../../src/providers/dreamina-pending.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { BaseProvider, type ProviderCapability } from "./base-provider.js";
2
+ import { type DreaminaPendingStore } from "./dreamina-pending.js";
2
3
  import type { EncodedAudioResult, ImageModel, Message, MusicModel, ImageToImageParams, ImageToVideoParams, ProviderStreamItem, ReferenceToVideoInputs, ReferenceToVideoParams, TextToImageParams, TextToMusicParams, TextToVideoParams, VideoModel } from "./types.js";
3
4
  /** Evaluates JavaScript inside the user's logged-in Dreamina tab. */
4
5
  export interface DreaminaPageRunner {
@@ -7,6 +8,8 @@ export interface DreaminaPageRunner {
7
8
  }
8
9
  /** Replace the page runner. Tests use this to avoid a real browser. */
9
10
  export declare function setDreaminaPageRunner(runner: DreaminaPageRunner | null): void;
11
+ /** Replace the store of uncollected jobs. Tests use this to keep the data directory untouched. */
12
+ export declare function setDreaminaPendingStore(store: DreaminaPendingStore | null): void;
10
13
  /**
11
14
  * Dreamina (CapCut) image generation through the user's own logged-in Chrome.
12
15
  * Calls the same web API the site uses, from inside the attached Dreamina tab,
@@ -60,5 +63,7 @@ export declare class DreaminaProvider extends BaseProvider {
60
63
  /** Instrumental tracks need no model key. Vocal models appear only where the account lists them. */
61
64
  textToMusic(params: TextToMusicParams): Promise<EncodedAudioResult>;
62
65
  private generateVideo;
66
+ /** Download a finished job's video and drop its record. */
67
+ private collectVideo;
63
68
  }
64
69
  //# sourceMappingURL=dreamina-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dreamina-provider.d.ts","sourceRoot":"","sources":["../../src/providers/dreamina-provider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,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,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAkED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAkxBD;;;;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,CAKzE;IAED;;;;;OAKG;IACY,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAajG;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,CAEjF;YAEa,aAAa;CAgE5B"}
1
+ {"version":3,"file":"dreamina-provider.d.ts","sourceRoot":"","sources":["../../src/providers/dreamina-provider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,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,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAkED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAQD,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAEhF;AA2yBD;;;;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,CAKzE;IAED;;;;;OAKG;IACY,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAajG;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,CAEjF;YAEa,aAAa;IA0F3B,2DAA2D;YAC7C,YAAY;CAW3B"}
@@ -6,6 +6,7 @@ import { fetchExternalMedia } from "../external-media-fetch.js";
6
6
  import { BaseProvider } from "./base-provider.js";
7
7
  import { createDreaminaMusic } from "./dreamina-music.js";
8
8
  import { DREAMINA_IMAGE_MODELS, DREAMINA_VIDEO_MODELS } from "./dreamina-models.js";
9
+ import { filePendingStore, pendingJobKey } from "./dreamina-pending.js";
9
10
  const log = createLogger("nodetool.runtime.providers.dreamina");
10
11
  /** The extension keeps the debugger attached between polls, then detaches when idle. */
11
12
  const IDLE_CLOSE_MS = 30_000;
@@ -76,6 +77,14 @@ export function setDreaminaPageRunner(runner) {
76
77
  function runner() {
77
78
  return (pageRunner ??= createExtensionRunner());
78
79
  }
80
+ let pendingStore = null;
81
+ /** Replace the store of uncollected jobs. Tests use this to keep the data directory untouched. */
82
+ export function setDreaminaPendingStore(store) {
83
+ pendingStore = store;
84
+ }
85
+ function pendingJobs() {
86
+ return (pendingStore ??= filePendingStore());
87
+ }
79
88
  /**
80
89
  * A request to the tab that did not answer in time. Its outcome is unknown:
81
90
  * for the generate request, Dreamina may already run (and bill) the job.
@@ -114,7 +123,8 @@ const MAX_POLL_FAILURES = 5;
114
123
  const UNCONFIRMED_SUBMIT_GRACE_MS = 30_000;
115
124
  const GENERATE_PATH = "/mweb/v1/aigc_draft/generate";
116
125
  const DEFAULT_TIMEOUT_MS = 5 * 60_000;
117
- const VIDEO_TIMEOUT_MS = 10 * 60_000;
126
+ /** Dreamina queues video for well over ten minutes at busy times. */
127
+ const VIDEO_TIMEOUT_MS = 30 * 60_000;
118
128
  const CONFIG_TTL_MS = 5 * 60_000;
119
129
  /** One API request in the tab gives up after this, so a stalled request cannot block a poll. */
120
130
  const API_TIMEOUT_MS = 30_000;
@@ -628,16 +638,36 @@ async function submitAndAwait(body, submitId, timeoutMs, signal) {
628
638
  await callApi(GENERATE_PATH, body);
629
639
  }
630
640
  catch (error) {
631
- if (!tabLost(error) && !stalled(error))
632
- throw error;
641
+ if (!tabLost(error) && !stalled(error)) {
642
+ throw new DreaminaSubmitRejectedError(error instanceof Error ? error.message : String(error), { cause: error });
643
+ }
633
644
  unconfirmed = error;
634
645
  log.warn("Dreamina submit has no answer, looking the job up by id", { submitId, error: unconfirmed.message });
635
646
  }
647
+ log.info("Dreamina generation submitted", { submitId, timeoutMs, confirmed: !unconfirmed });
648
+ return awaitJob(submitId, timeoutMs, signal, unconfirmed);
649
+ }
650
+ /** Dreamina answered the submit with an error, so no job runs. */
651
+ class DreaminaSubmitRejectedError extends Error {
652
+ }
653
+ /** The job is not in Dreamina's history: it never arrived, or the history dropped it. */
654
+ class DreaminaJobMissingError extends Error {
655
+ }
656
+ /** A job that Dreamina itself reported as failed. Asking again for the same job cannot help. */
657
+ class DreaminaJobFailedError extends Error {
658
+ }
659
+ /**
660
+ * Poll the job `submitId` until it finishes and return its record. A job that
661
+ * does not show in the history within {@link UNCONFIRMED_SUBMIT_GRACE_MS} is
662
+ * missing, when its submit was not confirmed (`unconfirmed`) or when it is an
663
+ * older job picked up again (`unconfirmed` is null and `resumed` is true).
664
+ */
665
+ async function awaitJob(submitId, timeoutMs, signal, unconfirmed = null, resumed = false) {
636
666
  const started = Date.now();
637
667
  const deadline = started + timeoutMs;
638
- log.info("Dreamina generation submitted", { submitId, timeoutMs, confirmed: !unconfirmed });
639
668
  let pollFailures = 0;
640
669
  let lastStatus;
670
+ let seen = false;
641
671
  for (;;) {
642
672
  await sleep(POLL_INTERVAL_MS, signal);
643
673
  let history;
@@ -658,10 +688,12 @@ async function submitAndAwait(body, submitId, timeoutMs, signal) {
658
688
  pollFailures = 0;
659
689
  const record = history[submitId];
660
690
  if (record) {
661
- unconfirmed = null;
691
+ seen = true;
662
692
  }
663
- else if (unconfirmed && Date.now() - started > UNCONFIRMED_SUBMIT_GRACE_MS) {
664
- throw new Error(`Dreamina generation ${submitId} did not reach Dreamina before the tab was lost (${unconfirmed.message}). Keep the Dreamina tab open and try again`);
693
+ else if (!seen && (unconfirmed || resumed) && Date.now() - started > UNCONFIRMED_SUBMIT_GRACE_MS) {
694
+ throw new DreaminaJobMissingError(unconfirmed
695
+ ? `Dreamina generation ${submitId} did not reach Dreamina before the tab was lost (${unconfirmed.message}). Keep the Dreamina tab open and try again`
696
+ : `Dreamina generation ${submitId} is no longer in the Dreamina history`);
665
697
  }
666
698
  const status = record?.task?.status;
667
699
  if (status !== lastStatus) {
@@ -671,11 +703,11 @@ async function submitAndAwait(body, submitId, timeoutMs, signal) {
671
703
  if (status === TASK_DONE)
672
704
  return record;
673
705
  if (status === TASK_FAILED) {
674
- throw new Error(`Dreamina generation failed: ${record?.fail_msg || "unknown reason"} (fail_code ${record?.fail_code ?? "unknown"})`);
706
+ throw new DreaminaJobFailedError(`Dreamina generation failed: ${record?.fail_msg || "unknown reason"} (fail_code ${record?.fail_code ?? "unknown"})`);
675
707
  }
676
708
  if (Date.now() > deadline) {
677
709
  log.warn("Dreamina generation timed out", { submitId, lastStatus, record: JSON.stringify(record ?? null).slice(0, 2000) });
678
- throw new Error(`Dreamina generation ${submitId} timed out after ${timeoutMs / 1000}s (last task status ${lastStatus ?? "none"})`);
710
+ throw new Error(`Dreamina generation ${submitId} timed out after ${timeoutMs / 1000}s (last task status ${lastStatus ?? "none"}). The job keeps running on Dreamina; the same request picks it up again instead of paying for a new one`);
679
711
  }
680
712
  }
681
713
  }
@@ -964,6 +996,22 @@ export class DreaminaProvider extends BaseProvider {
964
996
  throw new Error(`Dreamina model ${config.model_name} does not take a first frame image`);
965
997
  if (inputs.last && !videoInputTypes(config).includes("end_frame"))
966
998
  throw new Error(`Dreamina model ${config.model_name} does not take a last frame image`);
999
+ const timeoutMs = (params.timeoutSeconds ?? VIDEO_TIMEOUT_MS / 1000) * 1000;
1000
+ // A random seed is not part of the request's identity: a retry draws a new one.
1001
+ const key = pendingJobKey({ kind: "video", model: config.model_req_key, prompt, ratio, resolution, seconds, seed: params.seed ?? null, counts: [inputs.references.length, videoInputs.length, audioInputs.length] }, [...inputs.references, ...videoInputs, ...audioInputs, inputs.first, inputs.last]);
1002
+ const earlier = pendingJobs().find(key);
1003
+ if (earlier) {
1004
+ log.info("Dreamina picks up the earlier job for this request", { submitId: earlier });
1005
+ try {
1006
+ return await this.collectVideo(config.model_req_key, key, await awaitJob(earlier, timeoutMs, params.signal, null, true), earlier, params.signal);
1007
+ }
1008
+ catch (error) {
1009
+ if (!(error instanceof DreaminaJobMissingError || error instanceof DreaminaJobFailedError))
1010
+ throw error;
1011
+ pendingJobs().remove(key);
1012
+ log.warn("The earlier Dreamina job cannot be collected, submitting a new one", { submitId: earlier, error: error.message });
1013
+ }
1014
+ }
967
1015
  const references = [];
968
1016
  for (const image of inputs.references)
969
1017
  references.push(await uploadImage(image));
@@ -984,18 +1032,39 @@ export class DreaminaProvider extends BaseProvider {
984
1032
  await auditReferences(config.model_req_key, audited, videos, audios);
985
1033
  const submitId = randomUUID();
986
1034
  const seed = params.seed ?? Math.floor(Math.random() * 4_000_000_000);
987
- const record = await submitAndAwait({
988
- extend: { root_model: config.model_req_key },
989
- submit_id: submitId,
990
- metrics_extra: JSON.stringify({ isDefaultSeed: 1, originSubmitId: submitId, isRegenerate: false }),
991
- draft_content: videoDraftFor(config.model_req_key, prompt, seed, ratio, resolution, seconds * 1000, submitId, references, bounds, videos, audios),
992
- http_common_info: { aid: Number(APP_ID) }
993
- }, submitId, (params.timeoutSeconds ?? VIDEO_TIMEOUT_MS / 1000) * 1000, params.signal);
1035
+ // Recorded before the submit: a submit whose answer is lost may still run.
1036
+ pendingJobs().add(key, submitId);
1037
+ let record;
1038
+ try {
1039
+ record = await submitAndAwait({
1040
+ extend: { root_model: config.model_req_key },
1041
+ submit_id: submitId,
1042
+ metrics_extra: JSON.stringify({ isDefaultSeed: 1, originSubmitId: submitId, isRegenerate: false }),
1043
+ draft_content: videoDraftFor(config.model_req_key, prompt, seed, ratio, resolution, seconds * 1000, submitId, references, bounds, videos, audios),
1044
+ http_common_info: { aid: Number(APP_ID) }
1045
+ }, submitId, timeoutMs, params.signal);
1046
+ }
1047
+ catch (error) {
1048
+ // A rejected submit or a failed job leaves nothing to collect. Any other
1049
+ // error (a timeout, a lost tab, a cancel) may leave a running, paid job.
1050
+ if (!(error instanceof DreaminaSubmitRejectedError || error instanceof DreaminaJobFailedError || error instanceof DreaminaJobMissingError))
1051
+ throw error;
1052
+ pendingJobs().remove(key);
1053
+ throw error;
1054
+ }
1055
+ return this.collectVideo(config.model_req_key, key, record, submitId, params.signal);
1056
+ }
1057
+ /** Download a finished job's video and drop its record. */
1058
+ async collectVideo(model, key, record, submitId, signal) {
994
1059
  const url = record.item_list?.[0]?.video?.transcoded_video?.origin?.video_url;
995
- if (!url)
1060
+ if (!url) {
1061
+ pendingJobs().remove(key);
996
1062
  throw new Error("Dreamina finished without a video");
997
- log.debug("Dreamina video generation completed", { model: config.model_req_key, submitId });
998
- return download(url, params.signal);
1063
+ }
1064
+ const video = await download(url, signal ?? undefined);
1065
+ pendingJobs().remove(key);
1066
+ log.debug("Dreamina video generation completed", { model, submitId });
1067
+ return video;
999
1068
  }
1000
1069
  }
1001
1070
  //# sourceMappingURL=dreamina-provider.js.map