@nodetool-ai/websocket 0.8.2 → 0.8.3

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 (316) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/chat-turn-registry.d.ts +2 -1
  3. package/dist/chat-turn-registry.d.ts.map +1 -1
  4. package/dist/chat-turn-registry.js +8 -1
  5. package/dist/chat-turn-registry.js.map +1 -1
  6. package/dist/collection-api.d.ts.map +1 -1
  7. package/dist/collection-api.js +3 -5
  8. package/dist/collection-api.js.map +1 -1
  9. package/dist/custom-providers.d.ts.map +1 -1
  10. package/dist/custom-providers.js +6 -1
  11. package/dist/custom-providers.js.map +1 -1
  12. package/dist/example-workflows.d.ts.map +1 -1
  13. package/dist/example-workflows.js +6 -0
  14. package/dist/example-workflows.js.map +1 -1
  15. package/dist/fake-runtime.d.ts +41 -6
  16. package/dist/fake-runtime.d.ts.map +1 -1
  17. package/dist/fake-runtime.js +207 -13
  18. package/dist/fake-runtime.js.map +1 -1
  19. package/dist/file-api.d.ts.map +1 -1
  20. package/dist/file-api.js +6 -8
  21. package/dist/file-api.js.map +1 -1
  22. package/dist/generation-recovery.d.ts.map +1 -1
  23. package/dist/generation-recovery.js +7 -4
  24. package/dist/generation-recovery.js.map +1 -1
  25. package/dist/headless-job-runner.d.ts.map +1 -1
  26. package/dist/headless-job-runner.js +5 -1
  27. package/dist/headless-job-runner.js.map +1 -1
  28. package/dist/http-api.d.ts +3 -1
  29. package/dist/http-api.d.ts.map +1 -1
  30. package/dist/http-api.js +51 -9
  31. package/dist/http-api.js.map +1 -1
  32. package/dist/http-body-schemas.d.ts +2 -0
  33. package/dist/http-body-schemas.d.ts.map +1 -1
  34. package/dist/http-body-schemas.js +8 -1
  35. package/dist/http-body-schemas.js.map +1 -1
  36. package/dist/lib/admin.d.ts +7 -0
  37. package/dist/lib/admin.d.ts.map +1 -0
  38. package/dist/lib/admin.js +20 -0
  39. package/dist/lib/admin.js.map +1 -0
  40. package/dist/lib/app-instances-service.d.ts +35 -0
  41. package/dist/lib/app-instances-service.d.ts.map +1 -1
  42. package/dist/lib/app-instances-service.js +3 -4
  43. package/dist/lib/app-instances-service.js.map +1 -1
  44. package/dist/lib/app-project-export.d.ts +12 -0
  45. package/dist/lib/app-project-export.d.ts.map +1 -0
  46. package/dist/lib/app-project-export.js +42 -0
  47. package/dist/lib/app-project-export.js.map +1 -0
  48. package/dist/lib/applications-service.d.ts.map +1 -1
  49. package/dist/lib/applications-service.js +7 -2
  50. package/dist/lib/applications-service.js.map +1 -1
  51. package/dist/lib/asset-export.d.ts +6 -2
  52. package/dist/lib/asset-export.d.ts.map +1 -1
  53. package/dist/lib/asset-export.js +15 -7
  54. package/dist/lib/asset-export.js.map +1 -1
  55. package/dist/lib/asset-response.d.ts.map +1 -1
  56. package/dist/lib/asset-response.js +1 -0
  57. package/dist/lib/asset-response.js.map +1 -1
  58. package/dist/lib/cloud-profile.d.ts +10 -0
  59. package/dist/lib/cloud-profile.d.ts.map +1 -0
  60. package/dist/lib/cloud-profile.js +13 -0
  61. package/dist/lib/cloud-profile.js.map +1 -0
  62. package/dist/lib/http-user-id.d.ts +2 -0
  63. package/dist/lib/http-user-id.d.ts.map +1 -0
  64. package/dist/lib/http-user-id.js +4 -0
  65. package/dist/lib/http-user-id.js.map +1 -0
  66. package/dist/lib/json-body.d.ts +11 -0
  67. package/dist/lib/json-body.d.ts.map +1 -0
  68. package/dist/lib/json-body.js +13 -0
  69. package/dist/lib/json-body.js.map +1 -0
  70. package/dist/lib/public-routes.d.ts +15 -0
  71. package/dist/lib/public-routes.d.ts.map +1 -1
  72. package/dist/lib/public-routes.js +27 -0
  73. package/dist/lib/public-routes.js.map +1 -1
  74. package/dist/lib/public-workflow-share.d.ts +12 -1
  75. package/dist/lib/public-workflow-share.d.ts.map +1 -1
  76. package/dist/lib/public-workflow-share.js +45 -2
  77. package/dist/lib/public-workflow-share.js.map +1 -1
  78. package/dist/lib/python-metadata-roots.d.ts +27 -0
  79. package/dist/lib/python-metadata-roots.d.ts.map +1 -0
  80. package/dist/lib/python-metadata-roots.js +92 -0
  81. package/dist/lib/python-metadata-roots.js.map +1 -0
  82. package/dist/lib/runtime-detection.d.ts +1 -1
  83. package/dist/lib/runtime-detection.d.ts.map +1 -1
  84. package/dist/lib/runtime-detection.js +2 -1
  85. package/dist/lib/runtime-detection.js.map +1 -1
  86. package/dist/lib/server-auth-token.d.ts +18 -0
  87. package/dist/lib/server-auth-token.d.ts.map +1 -0
  88. package/dist/lib/server-auth-token.js +28 -0
  89. package/dist/lib/server-auth-token.js.map +1 -0
  90. package/dist/lib/timeline-bundle.d.ts +11 -0
  91. package/dist/lib/timeline-bundle.d.ts.map +1 -1
  92. package/dist/lib/timeline-bundle.js +22 -6
  93. package/dist/lib/timeline-bundle.js.map +1 -1
  94. package/dist/lib/timeline-media-export.d.ts +18 -0
  95. package/dist/lib/timeline-media-export.d.ts.map +1 -0
  96. package/dist/lib/timeline-media-export.js +66 -0
  97. package/dist/lib/timeline-media-export.js.map +1 -0
  98. package/dist/lib/timeline-premiere-import.d.ts +24 -0
  99. package/dist/lib/timeline-premiere-import.d.ts.map +1 -0
  100. package/dist/lib/timeline-premiere-import.js +102 -0
  101. package/dist/lib/timeline-premiere-import.js.map +1 -0
  102. package/dist/lib/timeline-premiere.d.ts +38 -0
  103. package/dist/lib/timeline-premiere.d.ts.map +1 -0
  104. package/dist/lib/timeline-premiere.js +87 -0
  105. package/dist/lib/timeline-premiere.js.map +1 -0
  106. package/dist/mcp-agent-tools.d.ts.map +1 -1
  107. package/dist/mcp-agent-tools.js +2 -0
  108. package/dist/mcp-agent-tools.js.map +1 -1
  109. package/dist/mcp-server.d.ts +7 -0
  110. package/dist/mcp-server.d.ts.map +1 -1
  111. package/dist/mcp-server.js +163 -16
  112. package/dist/mcp-server.js.map +1 -1
  113. package/dist/mcp-skill-prompts.d.ts +23 -0
  114. package/dist/mcp-skill-prompts.d.ts.map +1 -0
  115. package/dist/mcp-skill-prompts.js +91 -0
  116. package/dist/mcp-skill-prompts.js.map +1 -0
  117. package/dist/mcp-tool-deps.d.ts.map +1 -1
  118. package/dist/mcp-tool-deps.js +8 -1
  119. package/dist/mcp-tool-deps.js.map +1 -1
  120. package/dist/models-api.d.ts.map +1 -1
  121. package/dist/models-api.js +6 -2
  122. package/dist/models-api.js.map +1 -1
  123. package/dist/oauth-api.d.ts.map +1 -1
  124. package/dist/oauth-api.js +45 -23
  125. package/dist/oauth-api.js.map +1 -1
  126. package/dist/openai-api.d.ts.map +1 -1
  127. package/dist/openai-api.js +10 -2
  128. package/dist/openai-api.js.map +1 -1
  129. package/dist/plugins/websocket.d.ts.map +1 -1
  130. package/dist/plugins/websocket.js +7 -2
  131. package/dist/plugins/websocket.js.map +1 -1
  132. package/dist/routes/applications.d.ts +1 -0
  133. package/dist/routes/applications.d.ts.map +1 -1
  134. package/dist/routes/applications.js +24 -0
  135. package/dist/routes/applications.js.map +1 -1
  136. package/dist/routes/assets.d.ts.map +1 -1
  137. package/dist/routes/assets.js +31 -41
  138. package/dist/routes/assets.js.map +1 -1
  139. package/dist/routes/config.d.ts.map +1 -1
  140. package/dist/routes/config.js +6 -0
  141. package/dist/routes/config.js.map +1 -1
  142. package/dist/routes/documents.d.ts.map +1 -1
  143. package/dist/routes/documents.js +24 -0
  144. package/dist/routes/documents.js.map +1 -1
  145. package/dist/routes/fal-pricing-estimate.d.ts.map +1 -1
  146. package/dist/routes/fal-pricing-estimate.js +2 -0
  147. package/dist/routes/fal-pricing-estimate.js.map +1 -1
  148. package/dist/routes/files.d.ts.map +1 -1
  149. package/dist/routes/files.js +2 -0
  150. package/dist/routes/files.js.map +1 -1
  151. package/dist/routes/games.d.ts +38 -0
  152. package/dist/routes/games.d.ts.map +1 -0
  153. package/dist/routes/games.js +158 -0
  154. package/dist/routes/games.js.map +1 -0
  155. package/dist/routes/integrations.d.ts.map +1 -1
  156. package/dist/routes/integrations.js +22 -26
  157. package/dist/routes/integrations.js.map +1 -1
  158. package/dist/routes/js-scripts.d.ts +1 -1
  159. package/dist/routes/js-scripts.d.ts.map +1 -1
  160. package/dist/routes/js-scripts.js +1 -1
  161. package/dist/routes/js-scripts.js.map +1 -1
  162. package/dist/routes/nodes.d.ts.map +1 -1
  163. package/dist/routes/nodes.js +2 -0
  164. package/dist/routes/nodes.js.map +1 -1
  165. package/dist/routes/storage.d.ts.map +1 -1
  166. package/dist/routes/storage.js +2 -0
  167. package/dist/routes/storage.js.map +1 -1
  168. package/dist/routes/storyboards.d.ts.map +1 -1
  169. package/dist/routes/storyboards.js +6 -3
  170. package/dist/routes/storyboards.js.map +1 -1
  171. package/dist/routes/timelines.d.ts +8 -4
  172. package/dist/routes/timelines.d.ts.map +1 -1
  173. package/dist/routes/timelines.js +209 -16
  174. package/dist/routes/timelines.js.map +1 -1
  175. package/dist/screenshot-docs-seed.d.ts +24 -0
  176. package/dist/screenshot-docs-seed.d.ts.map +1 -0
  177. package/dist/screenshot-docs-seed.js +414 -0
  178. package/dist/screenshot-docs-seed.js.map +1 -0
  179. package/dist/screenshot-projects.d.ts.map +1 -1
  180. package/dist/screenshot-projects.js +9 -9
  181. package/dist/screenshot-projects.js.map +1 -1
  182. package/dist/screenshot-server.js +111 -16
  183. package/dist/screenshot-server.js.map +1 -1
  184. package/dist/server.js +87 -90
  185. package/dist/server.js.map +1 -1
  186. package/dist/session/chat-turn.d.ts +10 -0
  187. package/dist/session/chat-turn.d.ts.map +1 -1
  188. package/dist/session/chat-turn.js +68 -10
  189. package/dist/session/chat-turn.js.map +1 -1
  190. package/dist/session/commands.d.ts +14 -0
  191. package/dist/session/commands.d.ts.map +1 -1
  192. package/dist/session/commands.js +113 -14
  193. package/dist/session/commands.js.map +1 -1
  194. package/dist/session/inference.d.ts +25 -2
  195. package/dist/session/inference.d.ts.map +1 -1
  196. package/dist/session/inference.js +86 -8
  197. package/dist/session/inference.js.map +1 -1
  198. package/dist/session/job-execution.d.ts +0 -1
  199. package/dist/session/job-execution.d.ts.map +1 -1
  200. package/dist/session/job-execution.js +34 -37
  201. package/dist/session/job-execution.js.map +1 -1
  202. package/dist/storage-api.d.ts +0 -4
  203. package/dist/storage-api.d.ts.map +1 -1
  204. package/dist/storage-api.js +3 -26
  205. package/dist/storage-api.js.map +1 -1
  206. package/dist/test-ui-server.d.ts +11 -0
  207. package/dist/test-ui-server.d.ts.map +1 -1
  208. package/dist/test-ui-server.js +63 -3
  209. package/dist/test-ui-server.js.map +1 -1
  210. package/dist/triggers/dispatcher.d.ts.map +1 -1
  211. package/dist/triggers/dispatcher.js +24 -4
  212. package/dist/triggers/dispatcher.js.map +1 -1
  213. package/dist/triggers/file-watch.d.ts.map +1 -1
  214. package/dist/triggers/file-watch.js +35 -19
  215. package/dist/triggers/file-watch.js.map +1 -1
  216. package/dist/triggers/scheduler.d.ts.map +1 -1
  217. package/dist/triggers/scheduler.js +7 -5
  218. package/dist/triggers/scheduler.js.map +1 -1
  219. package/dist/trpc/error-formatter.d.ts.map +1 -1
  220. package/dist/trpc/error-formatter.js +2 -1
  221. package/dist/trpc/error-formatter.js.map +1 -1
  222. package/dist/trpc/routers/app-instances.d.ts +63 -0
  223. package/dist/trpc/routers/app-instances.d.ts.map +1 -1
  224. package/dist/trpc/routers/app-runs.d.ts +28 -0
  225. package/dist/trpc/routers/app-runs.d.ts.map +1 -1
  226. package/dist/trpc/routers/applications.d.ts +7 -0
  227. package/dist/trpc/routers/applications.d.ts.map +1 -1
  228. package/dist/trpc/routers/assets.d.ts +8 -0
  229. package/dist/trpc/routers/assets.d.ts.map +1 -1
  230. package/dist/trpc/routers/assets.js +16 -5
  231. package/dist/trpc/routers/assets.js.map +1 -1
  232. package/dist/trpc/routers/collections.d.ts.map +1 -1
  233. package/dist/trpc/routers/collections.js +16 -10
  234. package/dist/trpc/routers/collections.js.map +1 -1
  235. package/dist/trpc/routers/credits.d.ts.map +1 -1
  236. package/dist/trpc/routers/credits.js +11 -1
  237. package/dist/trpc/routers/credits.js.map +1 -1
  238. package/dist/trpc/routers/extension.d.ts +1 -1
  239. package/dist/trpc/routers/extension.d.ts.map +1 -1
  240. package/dist/trpc/routers/extension.js +8 -4
  241. package/dist/trpc/routers/extension.js.map +1 -1
  242. package/dist/trpc/routers/gameDraftHistory.d.ts +1 -2
  243. package/dist/trpc/routers/gameDraftHistory.d.ts.map +1 -1
  244. package/dist/trpc/routers/gameDraftHistory.js +1 -1
  245. package/dist/trpc/routers/gameDraftHistory.js.map +1 -1
  246. package/dist/trpc/routers/games.d.ts +40822 -5154
  247. package/dist/trpc/routers/games.d.ts.map +1 -1
  248. package/dist/trpc/routers/games.js +317 -140
  249. package/dist/trpc/routers/games.js.map +1 -1
  250. package/dist/trpc/routers/jobs.d.ts +7 -0
  251. package/dist/trpc/routers/jobs.d.ts.map +1 -1
  252. package/dist/trpc/routers/jobs.js +5 -3
  253. package/dist/trpc/routers/jobs.js.map +1 -1
  254. package/dist/trpc/routers/js-scripts.d.ts.map +1 -1
  255. package/dist/trpc/routers/js-scripts.js +18 -2
  256. package/dist/trpc/routers/js-scripts.js.map +1 -1
  257. package/dist/trpc/routers/messages.d.ts +10 -0
  258. package/dist/trpc/routers/messages.d.ts.map +1 -1
  259. package/dist/trpc/routers/messages.js +16 -2
  260. package/dist/trpc/routers/messages.js.map +1 -1
  261. package/dist/trpc/routers/models.d.ts.map +1 -1
  262. package/dist/trpc/routers/models.js +20 -30
  263. package/dist/trpc/routers/models.js.map +1 -1
  264. package/dist/trpc/routers/packs.d.ts.map +1 -1
  265. package/dist/trpc/routers/packs.js +18 -4
  266. package/dist/trpc/routers/packs.js.map +1 -1
  267. package/dist/trpc/routers/projects.d.ts +66 -2
  268. package/dist/trpc/routers/projects.d.ts.map +1 -1
  269. package/dist/trpc/routers/projects.js +19 -2
  270. package/dist/trpc/routers/projects.js.map +1 -1
  271. package/dist/trpc/routers/settings.d.ts.map +1 -1
  272. package/dist/trpc/routers/settings.js +30 -5
  273. package/dist/trpc/routers/settings.js.map +1 -1
  274. package/dist/trpc/routers/sketch.d.ts +30 -0
  275. package/dist/trpc/routers/sketch.d.ts.map +1 -1
  276. package/dist/trpc/routers/sketch.js +2 -2
  277. package/dist/trpc/routers/sketch.js.map +1 -1
  278. package/dist/trpc/routers/storyboards.d.ts +171 -1
  279. package/dist/trpc/routers/storyboards.d.ts.map +1 -1
  280. package/dist/trpc/routers/storyboards.js +8 -5
  281. package/dist/trpc/routers/storyboards.js.map +1 -1
  282. package/dist/trpc/routers/threads.d.ts.map +1 -1
  283. package/dist/trpc/routers/threads.js +8 -2
  284. package/dist/trpc/routers/threads.js.map +1 -1
  285. package/dist/trpc/routers/timeline.d.ts +15 -0
  286. package/dist/trpc/routers/timeline.d.ts.map +1 -1
  287. package/dist/trpc/routers/timeline.js +15 -2
  288. package/dist/trpc/routers/timeline.js.map +1 -1
  289. package/dist/trpc/routers/triggers.d.ts.map +1 -1
  290. package/dist/trpc/routers/triggers.js +18 -3
  291. package/dist/trpc/routers/triggers.js.map +1 -1
  292. package/dist/trpc/routers/users.d.ts +3 -2
  293. package/dist/trpc/routers/users.d.ts.map +1 -1
  294. package/dist/trpc/routers/users.js +25 -27
  295. package/dist/trpc/routers/users.js.map +1 -1
  296. package/dist/trpc/routers/worker.d.ts.map +1 -1
  297. package/dist/trpc/routers/worker.js +37 -14
  298. package/dist/trpc/routers/worker.js.map +1 -1
  299. package/dist/trpc/routers/workflows.d.ts +146 -0
  300. package/dist/trpc/routers/workflows.d.ts.map +1 -1
  301. package/dist/trpc/routers/workflows.js +52 -13
  302. package/dist/trpc/routers/workflows.js.map +1 -1
  303. package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
  304. package/dist/trpc/sandbox-coverage.js +29 -0
  305. package/dist/trpc/sandbox-coverage.js.map +1 -1
  306. package/dist/websocket-client-session.d.ts +2 -2
  307. package/dist/websocket-client-session.d.ts.map +1 -1
  308. package/dist/websocket-client-session.js +9 -3
  309. package/dist/websocket-client-session.js.map +1 -1
  310. package/dist/worker-settings-env.d.ts +23 -0
  311. package/dist/worker-settings-env.d.ts.map +1 -0
  312. package/dist/worker-settings-env.js +47 -0
  313. package/dist/worker-settings-env.js.map +1 -0
  314. package/dist/workflow-interface-service.d.ts +7 -0
  315. package/dist/workflow-interface-service.d.ts.map +1 -1
  316. package/package.json +44 -42
@@ -1,13 +1,16 @@
1
+ import { context, ROOT_CONTEXT } from "@opentelemetry/api";
1
2
  import { createLogger } from "@nodetool-ai/config";
2
3
  import { invocationBelongsToApplication, deriveGenerationStatus, Prediction } from "@nodetool-ai/models";
3
4
  import { generateMediaDataSchema } from "@nodetool-ai/protocol";
4
5
  import { isSdkV1RetryableError } from "@nodetool-ai/protocol/api-schemas/sdk-v1.js";
5
6
  import { chatTurnRegistry } from "../chat-turn-registry.js";
7
+ import { cancelGenerationForUser } from "@nodetool-ai/agents";
6
8
  import { isDraining } from "../drain.js";
7
9
  import { isAppSessionCommandAllowed } from "../lib/app-session-scope.js";
8
10
  import { isFiniteNumber, isNonEmptyString, isNumber, isObjectLike, isRecord, isString } from "../lib/wire-values.js";
9
11
  import { createCallerFactory } from "../trpc/index.js";
10
12
  import { appRouter } from "../trpc/router.js";
13
+ import { withSpan } from "@nodetool-ai/runtime";
11
14
  const log = createLogger("nodetool.websocket.runner");
12
15
  const referenceMediaDataSchema = generateMediaDataSchema.pick({
13
16
  timeline_context: true,
@@ -70,9 +73,27 @@ function resumeLastSeq(data) {
70
73
  */
71
74
  export class CommandRouter {
72
75
  deps;
76
+ /**
77
+ * `generate_media` calls still running on this connection, by request id.
78
+ * `cancel_generation` aborts through this map, which is why the command
79
+ * cannot block the receive loop.
80
+ */
81
+ mediaGenerations = new Map();
82
+ /** Detached RPCs that have not answered yet. */
83
+ detached = new Set();
73
84
  constructor(deps) {
74
85
  this.deps = deps;
75
86
  }
87
+ /**
88
+ * Resolves once every detached RPC this connection started has sent its
89
+ * reply. The receive loop waits on it before the connection is torn down,
90
+ * which keeps the teardown timing a blocking `generate_media` had.
91
+ */
92
+ async settled() {
93
+ while (this.detached.size > 0) {
94
+ await Promise.allSettled([...this.detached]);
95
+ }
96
+ }
76
97
  /**
77
98
  * Answer one command. Returns the legacy reply frame the caller sends, or
78
99
  * `null` when the handler already sent its own frame (every RPC command
@@ -129,7 +150,13 @@ export class CommandRouter {
129
150
  const handler = this.handlers[command];
130
151
  if (!handler)
131
152
  return { error: "Unknown command" };
132
- return handler({ command, data, jobId, workflowId, requestId });
153
+ const run = () => handler({ command, data, jobId, workflowId, requestId });
154
+ // `stream_input` carries one frame of a streamed input, so a span per frame is noise.
155
+ if (command === "stream_input")
156
+ return run();
157
+ // Like an HTTP request span, a command span starts its own trace. A run it
158
+ // starts registers its own root (see `withRunTrace`).
159
+ return context.with(ROOT_CONTEXT, () => withSpan("ws.command", { "rpc.system": "websocket", "rpc.method": command }, run));
133
160
  }
134
161
  /**
135
162
  * Invoke a tRPC procedure and send back a single `rpc_response` frame
@@ -642,17 +669,21 @@ export class CommandRouter {
642
669
  ? "image_edit"
643
670
  : rawMode === "inpaint"
644
671
  ? "inpaint"
645
- : rawMode === "video"
646
- ? "video"
647
- : rawMode === "video_edit"
648
- ? "video_edit"
649
- : rawMode === "video_extend"
650
- ? "video_extend"
651
- : rawMode === "audio"
652
- ? "audio"
653
- : rawMode === "music"
654
- ? "music"
655
- : "image";
672
+ : rawMode === "upscale"
673
+ ? "upscale"
674
+ : rawMode === "outpaint"
675
+ ? "outpaint"
676
+ : rawMode === "video"
677
+ ? "video"
678
+ : rawMode === "video_edit"
679
+ ? "video_edit"
680
+ : rawMode === "video_extend"
681
+ ? "video_extend"
682
+ : rawMode === "audio"
683
+ ? "audio"
684
+ : rawMode === "music"
685
+ ? "music"
686
+ : "image";
656
687
  const provider = String(data.provider ?? defaults.provider);
657
688
  const model = String(data.model ?? defaults.model);
658
689
  const prompt = String(data.prompt ?? "");
@@ -679,6 +710,16 @@ export class CommandRouter {
679
710
  ? data.num_inference_steps
680
711
  : undefined;
681
712
  const seed = isNumber(data.seed) ? data.seed : undefined;
713
+ const scale = isNumber(data.scale) ? data.scale : undefined;
714
+ const rawPadding = isRecord(data.padding) ? data.padding : undefined;
715
+ const padding = rawPadding
716
+ ? {
717
+ left: isNumber(rawPadding.left) ? rawPadding.left : undefined,
718
+ right: isNumber(rawPadding.right) ? rawPadding.right : undefined,
719
+ top: isNumber(rawPadding.top) ? rawPadding.top : undefined,
720
+ bottom: isNumber(rawPadding.bottom) ? rawPadding.bottom : undefined
721
+ }
722
+ : undefined;
682
723
  const durationSeconds = isNumber(data.duration)
683
724
  ? data.duration
684
725
  : undefined;
@@ -726,7 +767,14 @@ export class CommandRouter {
726
767
  sourceTakeId: rawSourceContext.source_take_id
727
768
  };
728
769
  }
729
- return this.runRpc(command, requestId, () => {
770
+ if (!isNonEmptyString(requestId)) {
771
+ return { error: "request_id is required for RPC commands" };
772
+ }
773
+ // A render takes minutes. Awaiting it here would hold the receive loop,
774
+ // so a `cancel_generation` for it would only be read after it finished.
775
+ const controller = new AbortController();
776
+ this.mediaGenerations.set(requestId, controller);
777
+ const task = this.runRpc(command, requestId, () => {
730
778
  const references = referenceMediaDataSchema.parse(data);
731
779
  return inference.runDirectMediaGeneration({
732
780
  mode,
@@ -742,6 +790,8 @@ export class CommandRouter {
742
790
  strength,
743
791
  numInferenceSteps,
744
792
  seed,
793
+ scale,
794
+ padding,
745
795
  durationSeconds,
746
796
  extensionMode: data.extension_mode === "start" || data.extension_mode === "end"
747
797
  ? data.extension_mode
@@ -765,8 +815,57 @@ export class CommandRouter {
765
815
  sourceClipId: references.timeline_context.source_clip_id,
766
816
  targetClipId: references.timeline_context.target_clip_id
767
817
  } : undefined,
768
- requestId
818
+ requestId,
819
+ signal: controller.signal
769
820
  });
821
+ })
822
+ .then(() => undefined)
823
+ .catch((err) => {
824
+ this.deps.session.logError("generate_media reply failed", err);
825
+ })
826
+ .finally(() => {
827
+ if (this.mediaGenerations.get(requestId) === controller) {
828
+ this.mediaGenerations.delete(requestId);
829
+ }
830
+ this.detached.delete(task);
831
+ });
832
+ this.detached.add(task);
833
+ return null;
834
+ },
835
+ /**
836
+ * Stop `generate_media` requests by the request ids the client sent them
837
+ * with. A call still running on this connection is aborted. Every
838
+ * generation row those ids opened is cancelled the way the
839
+ * `cancel_generation` capability cancels one, which also reaches a call
840
+ * started on a connection that has since gone. Without this, a Cancel
841
+ * followed by Generate paid for both renders.
842
+ */
843
+ cancel_generation: async ({ command, data, requestId }) => {
844
+ const userId = this.deps.session.requireUserId();
845
+ const ids = Array.isArray(data.request_ids)
846
+ ? [...new Set(data.request_ids.filter(isNonEmptyString))]
847
+ : [];
848
+ return this.runRpc(command, requestId, async () => {
849
+ const aborted = [];
850
+ for (const id of ids) {
851
+ const controller = this.mediaGenerations.get(id);
852
+ if (controller) {
853
+ controller.abort(new Error("Generation cancelled"));
854
+ this.mediaGenerations.delete(id);
855
+ aborted.push(id);
856
+ }
857
+ }
858
+ const rows = await Prediction.byRequestIds(userId, ids);
859
+ const generations = [];
860
+ for (const row of rows) {
861
+ const outcome = await cancelGenerationForUser(row.id, userId);
862
+ generations.push({
863
+ request_id: row.request_id,
864
+ generation_id: row.id,
865
+ status: outcome.status
866
+ });
867
+ }
868
+ return { aborted, generations };
770
869
  });
771
870
  },
772
871
  transcribe_audio: async ({ command, data, requestId }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { GenerationRequest, MessageContent, PromptAssetRef } from "@nodetool-ai/runtime";
1
+ import type { GenerationRequest, MessageContent, NamedReferenceImage, PromptAssetRef } from "@nodetool-ai/runtime";
2
2
  import type { ClientSession } from "./client-session.js";
3
3
  export interface DirectMediaGenerationRequest {
4
- mode: "image" | "image_edit" | "inpaint" | "video" | "video_edit" | "video_extend" | "audio" | "music";
4
+ mode: "image" | "image_edit" | "inpaint" | "upscale" | "outpaint" | "video" | "video_edit" | "video_extend" | "audio" | "music";
5
5
  provider: string;
6
6
  model: string;
7
7
  prompt: string;
@@ -15,6 +15,15 @@ export interface DirectMediaGenerationRequest {
15
15
  numInferenceSteps?: number;
16
16
  /** Sampling seed; providers that take none ignore it. */
17
17
  seed?: number;
18
+ /** Magnification for "upscale", e.g. 2 or 4. */
19
+ scale?: number;
20
+ /** Source pixels to add on each side, for "outpaint". */
21
+ padding?: {
22
+ left?: number;
23
+ right?: number;
24
+ top?: number;
25
+ bottom?: number;
26
+ };
18
27
  durationSeconds?: number;
19
28
  extensionMode?: "start" | "end";
20
29
  variations?: number;
@@ -31,6 +40,11 @@ export interface DirectMediaGenerationRequest {
31
40
  * a frame that was already delivered to a dead socket.
32
41
  */
33
42
  requestId?: string;
43
+ /**
44
+ * Aborts the provider call. The `cancel_generation` command fires it, so a
45
+ * render the creator cancelled stops instead of finishing and billing.
46
+ */
47
+ signal?: AbortSignal;
34
48
  /** Submission-time timeline mapping for a native video edit. */
35
49
  sourceContext?: DirectMediaSourceContext;
36
50
  timelineContext?: {
@@ -39,6 +53,10 @@ export interface DirectMediaGenerationRequest {
39
53
  targetClipId?: string;
40
54
  };
41
55
  capability?: "reference_to_video";
56
+ /**
57
+ * Ordered image references. `reference_to_video` and `video_edit` take
58
+ * them as such; `image_edit` passes them to the model after the source.
59
+ */
42
60
  referenceImages?: unknown[];
43
61
  referenceAssetIds?: readonly string[];
44
62
  entityIds?: readonly string[];
@@ -122,6 +140,11 @@ export declare function entityRefResolver(userId: string): {
122
140
  * whose asset is gone (or reads back empty) contributes nothing — the same
123
141
  * drop rule as an unresolvable mention.
124
142
  */
143
+ /**
144
+ * Resolve entity reference images with their entity names. An image that can
145
+ * no longer be read drops, together with its name.
146
+ */
147
+ export declare function resolveNamedEntityReferences(userId: string, refs: PromptAssetRef[], names: readonly string[]): Promise<NamedReferenceImage[]>;
125
148
  export declare function resolveEntityReferenceImages(userId: string, refs: PromptAssetRef[]): Promise<Uint8Array[]>;
126
149
  /**
127
150
  * Read one owned asset's bytes, with the descriptive errors the generation
@@ -1 +1 @@
1
- {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/session/inference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/session/inference.ts"],"names":[],"mappings":"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"}
@@ -149,6 +149,20 @@ export function entityRefResolver(userId) {
149
149
  * whose asset is gone (or reads back empty) contributes nothing — the same
150
150
  * drop rule as an unresolvable mention.
151
151
  */
152
+ /**
153
+ * Resolve entity reference images with their entity names. An image that can
154
+ * no longer be read drops, together with its name.
155
+ */
156
+ export async function resolveNamedEntityReferences(userId, refs, names) {
157
+ const out = [];
158
+ for (const [index, ref] of refs.entries()) {
159
+ const [image] = await resolveEntityReferenceImages(userId, [ref]);
160
+ if (image) {
161
+ out.push({ name: names[index] ?? "", image });
162
+ }
163
+ }
164
+ return out;
165
+ }
152
166
  export async function resolveEntityReferenceImages(userId, refs) {
153
167
  const out = [];
154
168
  for (const ref of refs) {
@@ -451,7 +465,10 @@ export class DirectInferenceHandler {
451
465
  if (!req.model) {
452
466
  throw new Error("model is required");
453
467
  }
454
- if (!req.prompt || !req.prompt.trim()) {
468
+ // An upscale or a reframe works from the image alone; the prompt is an
469
+ // optional hint there.
470
+ const promptOptional = req.mode === "upscale" || req.mode === "outpaint";
471
+ if (!promptOptional && (!req.prompt || !req.prompt.trim())) {
455
472
  throw new Error("prompt is required");
456
473
  }
457
474
  if (req.mode !== "video_edit" && (req.referenceAssetIds?.length || req.entityIds?.length)) {
@@ -471,7 +488,9 @@ export class DirectInferenceHandler {
471
488
  throw new Error("Reference video audio requires at least one reference video");
472
489
  }
473
490
  }
474
- else if ((req.referenceImages?.length && req.mode !== "video_edit") ||
491
+ else if ((req.referenceImages?.length &&
492
+ req.mode !== "video_edit" &&
493
+ req.mode !== "image_edit") ||
475
494
  req.referenceVideos?.length ||
476
495
  req.useReferenceVideoAudio !== undefined) {
477
496
  throw new Error("Reference inputs require the reference_to_video capability");
@@ -653,9 +672,11 @@ export class DirectInferenceHandler {
653
672
  async runDirectMediaGenerationInner(req, provider, metering, videoEditReferences) {
654
673
  const userId = this.session.requireUserId();
655
674
  const variations = Math.max(1, Math.min(Number(req.variations ?? 1), 8));
675
+ req.signal?.throwIfAborted();
656
676
  const { generate, seamAssetId, storeAsset } = createGenerationRun({
657
677
  userId,
658
678
  providerId: req.provider,
679
+ signal: req.signal,
659
680
  modelId: req.model,
660
681
  provider,
661
682
  origin: { surface: "rpc", request_id: req.requestId ?? null },
@@ -685,10 +706,21 @@ export class DirectInferenceHandler {
685
706
  // a Consistency references block, reference image routed into the
686
707
  // generation inputs below — the same rule node prompts get through
687
708
  // mapPromptAssetsToInputs. A mention that resolves to no entity drops.
688
- const { prompt, referenceImages } = videoEditReferences
689
- ? { prompt: videoEditReferences.prompt, referenceImages: [] }
709
+ const { prompt, referenceImages, referenceNames } = videoEditReferences
710
+ ? {
711
+ prompt: videoEditReferences.prompt,
712
+ referenceImages: [],
713
+ referenceNames: []
714
+ }
690
715
  : await expandEntitiesForGeneration(req.prompt, entityRefResolver(userId));
691
- const entityImageBytes = await resolveEntityReferenceImages(userId, referenceImages);
716
+ // A video call takes the images named, so a provider with a reference
717
+ // mode can mention each one in its prompt. Image modes take bare bytes.
718
+ const videoReferences = req.mode === "video"
719
+ ? await resolveNamedEntityReferences(userId, referenceImages, referenceNames)
720
+ : [];
721
+ const entityImageBytes = req.mode === "video"
722
+ ? []
723
+ : await resolveEntityReferenceImages(userId, referenceImages);
692
724
  // Image modes are pixel-addressed on several providers (GPT Image's
693
725
  // `size`): derive explicit dimensions from the resolution tier + aspect
694
726
  // ratio when the caller sent none — the same numbers the generation nodes
@@ -722,6 +754,8 @@ export class DirectInferenceHandler {
722
754
  }, { mime: "video/mp4" }, (abort) => provider.referenceToVideo({ images: referenceImages, videos: referenceVideos }, {
723
755
  model: videoModel,
724
756
  prompt,
757
+ // Entity images follow the picked ones, each with its name.
758
+ references: videoReferences,
725
759
  durationSeconds: req.durationSeconds ?? null,
726
760
  aspectRatio: req.aspectRatio ?? null,
727
761
  resolution: req.resolution ?? null,
@@ -736,6 +770,7 @@ export class DirectInferenceHandler {
736
770
  const i2vParams = {
737
771
  model: videoModel,
738
772
  prompt,
773
+ references: videoReferences,
739
774
  aspectRatio: req.aspectRatio ?? null,
740
775
  resolution: req.resolution ?? null,
741
776
  durationSeconds: req.durationSeconds ?? null
@@ -746,6 +781,7 @@ export class DirectInferenceHandler {
746
781
  const params = {
747
782
  model: videoModel,
748
783
  prompt,
784
+ references: videoReferences,
749
785
  durationSeconds: req.durationSeconds ?? null
750
786
  };
751
787
  generated = await generate("text_to_video", videoParams, { mime: "video/mp4" }, (abort) => provider.textToVideo({ ...params, signal: abort }));
@@ -937,6 +973,43 @@ export class DirectInferenceHandler {
937
973
  num_images: variations
938
974
  }, {}, (abort) => provider.textToImages({ ...params, signal: abort }, variations));
939
975
  }
976
+ else if (req.mode === "upscale" || req.mode === "outpaint") {
977
+ if (!req.sourceAssetId) {
978
+ throw new Error(`source_asset_id is required for ${req.mode}`);
979
+ }
980
+ const sourceBytes = await retrieveSourceAssetBytes(userId, req.sourceAssetId);
981
+ const hint = prompt.trim() || null;
982
+ if (req.mode === "upscale") {
983
+ generated = await generate("upscale_image", { prompt: hint, scale: req.scale ?? null, image: sourceBytes }, {}, async () => [
984
+ await provider.upscaleImage(sourceBytes, {
985
+ model: imageModel,
986
+ scale: req.scale ?? null,
987
+ prompt: hint,
988
+ seed: req.seed ?? null
989
+ })
990
+ ]);
991
+ }
992
+ else {
993
+ if (!req.padding && !req.aspectRatio) {
994
+ throw new Error("padding or aspect_ratio is required for outpaint");
995
+ }
996
+ generated = await generate("outpaint_image", {
997
+ prompt: hint,
998
+ padding: req.padding ?? null,
999
+ aspect_ratio: req.aspectRatio ?? null,
1000
+ images: [sourceBytes]
1001
+ }, {}, async (abort) => [
1002
+ await provider.outpaintImage([sourceBytes], {
1003
+ model: imageModel,
1004
+ prompt: hint,
1005
+ padding: req.padding ?? null,
1006
+ aspectRatio: req.aspectRatio ?? null,
1007
+ seed: req.seed ?? null,
1008
+ signal: abort
1009
+ })
1010
+ ]);
1011
+ }
1012
+ }
940
1013
  else if (req.mode === "inpaint") {
941
1014
  if (!req.sourceAssetId) {
942
1015
  throw new Error("source_asset_id is required for inpaint");
@@ -994,6 +1067,10 @@ export class DirectInferenceHandler {
994
1067
  if (!sourceBytes) {
995
1068
  throw new Error(`Source asset bytes not found: ${req.sourceAssetId}`);
996
1069
  }
1070
+ // Style or subject references ride after the source, so a
1071
+ // multi-image edit model reads the first image as the one to change.
1072
+ const referenceBytes = await resolveReferenceAssets(userId, req.referenceImages ?? [], "image");
1073
+ const editImages = [sourceBytes, ...referenceBytes, ...entityImageBytes];
997
1074
  const params = {
998
1075
  model: imageModel,
999
1076
  prompt,
@@ -1013,8 +1090,8 @@ export class DirectInferenceHandler {
1013
1090
  strength: req.strength ?? null,
1014
1091
  num_inference_steps: req.numInferenceSteps ?? null,
1015
1092
  num_images: variations,
1016
- images: [sourceBytes, ...entityImageBytes]
1017
- }, {}, (abort) => provider.imageToImages([sourceBytes, ...entityImageBytes], { ...params, signal: abort }, variations));
1093
+ images: editImages
1094
+ }, {}, (abort) => provider.imageToImages(editImages, { ...params, signal: abort }, variations));
1018
1095
  }
1019
1096
  const assetIds = [];
1020
1097
  for (const [index, bytes] of generated.output.entries()) {
@@ -1136,7 +1213,8 @@ async function assertTimelineGenerationAllowed(userId, req, resolvedReferenceIds
1136
1213
  }
1137
1214
  const capability = req.mode === "video" ? (req.capability ?? (req.sourceAssetId ? "image_to_video" : "text_to_video"))
1138
1215
  : req.mode === "video_edit" || req.mode === "video_extend" ? "video_to_video"
1139
- : req.mode === "image_edit" || req.mode === "inpaint" ? "image_to_image" : "text_to_image";
1216
+ : req.mode === "image_edit" || req.mode === "inpaint" || req.mode === "upscale" || req.mode === "outpaint" ? "image_to_image"
1217
+ : "text_to_image";
1140
1218
  await assertStoryboardClipGenerationAllowed(userId, sequence.project_id, clip, capability);
1141
1219
  }
1142
1220
  }