@nodetool-ai/websocket 0.8.1 → 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 (471) 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 +41 -6
  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/error-traces.d.ts +56 -0
  13. package/dist/error-traces.d.ts.map +1 -0
  14. package/dist/error-traces.js +179 -0
  15. package/dist/error-traces.js.map +1 -0
  16. package/dist/example-workflows.d.ts.map +1 -1
  17. package/dist/example-workflows.js +6 -0
  18. package/dist/example-workflows.js.map +1 -1
  19. package/dist/fake-runtime.d.ts +41 -6
  20. package/dist/fake-runtime.d.ts.map +1 -1
  21. package/dist/fake-runtime.js +247 -16
  22. package/dist/fake-runtime.js.map +1 -1
  23. package/dist/file-api.d.ts.map +1 -1
  24. package/dist/file-api.js +6 -8
  25. package/dist/file-api.js.map +1 -1
  26. package/dist/generation-recovery.d.ts.map +1 -1
  27. package/dist/generation-recovery.js +32 -7
  28. package/dist/generation-recovery.js.map +1 -1
  29. package/dist/headless-job-runner.d.ts.map +1 -1
  30. package/dist/headless-job-runner.js +5 -1
  31. package/dist/headless-job-runner.js.map +1 -1
  32. package/dist/http-api.d.ts +3 -1
  33. package/dist/http-api.d.ts.map +1 -1
  34. package/dist/http-api.js +66 -9
  35. package/dist/http-api.js.map +1 -1
  36. package/dist/http-body-schemas.d.ts +2 -0
  37. package/dist/http-body-schemas.d.ts.map +1 -1
  38. package/dist/http-body-schemas.js +8 -1
  39. package/dist/http-body-schemas.js.map +1 -1
  40. package/dist/index.d.ts +0 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +0 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/interrupted-jobs.d.ts +14 -0
  45. package/dist/interrupted-jobs.d.ts.map +1 -0
  46. package/dist/interrupted-jobs.js +28 -0
  47. package/dist/interrupted-jobs.js.map +1 -0
  48. package/dist/lib/admin.d.ts +7 -0
  49. package/dist/lib/admin.d.ts.map +1 -0
  50. package/dist/lib/admin.js +20 -0
  51. package/dist/lib/admin.js.map +1 -0
  52. package/dist/lib/app-debug-service.js +1 -1
  53. package/dist/lib/app-debug-service.js.map +1 -1
  54. package/dist/lib/app-instances-service.d.ts +1319 -0
  55. package/dist/lib/app-instances-service.d.ts.map +1 -0
  56. package/dist/lib/app-instances-service.js +377 -0
  57. package/dist/lib/app-instances-service.js.map +1 -0
  58. package/dist/lib/app-project-export.d.ts +12 -0
  59. package/dist/lib/app-project-export.d.ts.map +1 -0
  60. package/dist/lib/app-project-export.js +42 -0
  61. package/dist/lib/app-project-export.js.map +1 -0
  62. package/dist/lib/app-run-cancellation.d.ts +4 -0
  63. package/dist/lib/app-run-cancellation.d.ts.map +1 -0
  64. package/dist/lib/app-run-cancellation.js +28 -0
  65. package/dist/lib/app-run-cancellation.js.map +1 -0
  66. package/dist/lib/applications-service.d.ts +182 -1
  67. package/dist/lib/applications-service.d.ts.map +1 -1
  68. package/dist/lib/applications-service.js +27 -6
  69. package/dist/lib/applications-service.js.map +1 -1
  70. package/dist/lib/asset-export.d.ts +6 -2
  71. package/dist/lib/asset-export.d.ts.map +1 -1
  72. package/dist/lib/asset-export.js +15 -7
  73. package/dist/lib/asset-export.js.map +1 -1
  74. package/dist/lib/asset-paths.d.ts +7 -11
  75. package/dist/lib/asset-paths.d.ts.map +1 -1
  76. package/dist/lib/asset-paths.js +8 -56
  77. package/dist/lib/asset-paths.js.map +1 -1
  78. package/dist/lib/asset-response.d.ts.map +1 -1
  79. package/dist/lib/asset-response.js +3 -1
  80. package/dist/lib/asset-response.js.map +1 -1
  81. package/dist/lib/audio-peaks.d.ts.map +1 -1
  82. package/dist/lib/audio-peaks.js +5 -1
  83. package/dist/lib/audio-peaks.js.map +1 -1
  84. package/dist/lib/bridge.d.ts.map +1 -1
  85. package/dist/lib/bridge.js.map +1 -1
  86. package/dist/lib/cloud-profile.d.ts +10 -0
  87. package/dist/lib/cloud-profile.d.ts.map +1 -0
  88. package/dist/lib/cloud-profile.js +13 -0
  89. package/dist/lib/cloud-profile.js.map +1 -0
  90. package/dist/lib/document-model-interfaces.d.ts.map +1 -1
  91. package/dist/lib/document-model-interfaces.js +9 -8
  92. package/dist/lib/document-model-interfaces.js.map +1 -1
  93. package/dist/lib/example-apps.d.ts +9 -0
  94. package/dist/lib/example-apps.d.ts.map +1 -1
  95. package/dist/lib/example-apps.js +61 -14
  96. package/dist/lib/example-apps.js.map +1 -1
  97. package/dist/lib/http-tracing.d.ts +12 -0
  98. package/dist/lib/http-tracing.d.ts.map +1 -0
  99. package/dist/lib/http-tracing.js +81 -0
  100. package/dist/lib/http-tracing.js.map +1 -0
  101. package/dist/lib/http-user-id.d.ts +2 -0
  102. package/dist/lib/http-user-id.d.ts.map +1 -0
  103. package/dist/lib/http-user-id.js +4 -0
  104. package/dist/lib/http-user-id.js.map +1 -0
  105. package/dist/lib/json-body.d.ts +11 -0
  106. package/dist/lib/json-body.d.ts.map +1 -0
  107. package/dist/lib/json-body.js +13 -0
  108. package/dist/lib/json-body.js.map +1 -0
  109. package/dist/lib/media.d.ts +1 -6
  110. package/dist/lib/media.d.ts.map +1 -1
  111. package/dist/lib/media.js +8 -44
  112. package/dist/lib/media.js.map +1 -1
  113. package/dist/lib/public-routes.d.ts +22 -0
  114. package/dist/lib/public-routes.d.ts.map +1 -1
  115. package/dist/lib/public-routes.js +41 -0
  116. package/dist/lib/public-routes.js.map +1 -1
  117. package/dist/lib/public-workflow-share.d.ts +31 -0
  118. package/dist/lib/public-workflow-share.d.ts.map +1 -0
  119. package/dist/lib/public-workflow-share.js +88 -0
  120. package/dist/lib/public-workflow-share.js.map +1 -0
  121. package/dist/lib/python-metadata-roots.d.ts +27 -0
  122. package/dist/lib/python-metadata-roots.d.ts.map +1 -0
  123. package/dist/lib/python-metadata-roots.js +92 -0
  124. package/dist/lib/python-metadata-roots.js.map +1 -0
  125. package/dist/lib/run-trace-live-delivery.d.ts +25 -0
  126. package/dist/lib/run-trace-live-delivery.d.ts.map +1 -0
  127. package/dist/lib/run-trace-live-delivery.js +91 -0
  128. package/dist/lib/run-trace-live-delivery.js.map +1 -0
  129. package/dist/lib/runtime-detection.d.ts +1 -1
  130. package/dist/lib/runtime-detection.d.ts.map +1 -1
  131. package/dist/lib/runtime-detection.js +2 -1
  132. package/dist/lib/runtime-detection.js.map +1 -1
  133. package/dist/lib/server-auth-token.d.ts +18 -0
  134. package/dist/lib/server-auth-token.d.ts.map +1 -0
  135. package/dist/lib/server-auth-token.js +28 -0
  136. package/dist/lib/server-auth-token.js.map +1 -0
  137. package/dist/lib/test-ui-run-routes.d.ts +8 -0
  138. package/dist/lib/test-ui-run-routes.d.ts.map +1 -0
  139. package/dist/lib/test-ui-run-routes.js +42 -0
  140. package/dist/lib/test-ui-run-routes.js.map +1 -0
  141. package/dist/lib/thumbnail.d.ts.map +1 -1
  142. package/dist/lib/thumbnail.js +12 -9
  143. package/dist/lib/thumbnail.js.map +1 -1
  144. package/dist/lib/timeline-bundle.d.ts +159 -16
  145. package/dist/lib/timeline-bundle.d.ts.map +1 -1
  146. package/dist/lib/timeline-bundle.js +34 -6
  147. package/dist/lib/timeline-bundle.js.map +1 -1
  148. package/dist/lib/timeline-media-export.d.ts +18 -0
  149. package/dist/lib/timeline-media-export.d.ts.map +1 -0
  150. package/dist/lib/timeline-media-export.js +66 -0
  151. package/dist/lib/timeline-media-export.js.map +1 -0
  152. package/dist/lib/timeline-premiere-import.d.ts +24 -0
  153. package/dist/lib/timeline-premiere-import.d.ts.map +1 -0
  154. package/dist/lib/timeline-premiere-import.js +102 -0
  155. package/dist/lib/timeline-premiere-import.js.map +1 -0
  156. package/dist/lib/timeline-premiere.d.ts +38 -0
  157. package/dist/lib/timeline-premiere.d.ts.map +1 -0
  158. package/dist/lib/timeline-premiere.js +87 -0
  159. package/dist/lib/timeline-premiere.js.map +1 -0
  160. package/dist/lib/video-proxy.d.ts.map +1 -1
  161. package/dist/lib/video-proxy.js +3 -2
  162. package/dist/lib/video-proxy.js.map +1 -1
  163. package/dist/lib/workflow-service.d.ts.map +1 -1
  164. package/dist/lib/workflow-service.js +4 -1
  165. package/dist/lib/workflow-service.js.map +1 -1
  166. package/dist/mcp-agent-tools.d.ts.map +1 -1
  167. package/dist/mcp-agent-tools.js +95 -162
  168. package/dist/mcp-agent-tools.js.map +1 -1
  169. package/dist/mcp-client-config.d.ts +64 -0
  170. package/dist/mcp-client-config.d.ts.map +1 -0
  171. package/dist/mcp-client-config.js +353 -0
  172. package/dist/mcp-client-config.js.map +1 -0
  173. package/dist/mcp-server.d.ts +7 -0
  174. package/dist/mcp-server.d.ts.map +1 -1
  175. package/dist/mcp-server.js +163 -16
  176. package/dist/mcp-server.js.map +1 -1
  177. package/dist/mcp-skill-prompts.d.ts +23 -0
  178. package/dist/mcp-skill-prompts.d.ts.map +1 -0
  179. package/dist/mcp-skill-prompts.js +91 -0
  180. package/dist/mcp-skill-prompts.js.map +1 -0
  181. package/dist/mcp-tool-deps.d.ts.map +1 -1
  182. package/dist/mcp-tool-deps.js +8 -1
  183. package/dist/mcp-tool-deps.js.map +1 -1
  184. package/dist/models-api.d.ts +10 -0
  185. package/dist/models-api.d.ts.map +1 -1
  186. package/dist/models-api.js +29 -2
  187. package/dist/models-api.js.map +1 -1
  188. package/dist/node-registry-setup.d.ts +1 -1
  189. package/dist/node-registry-setup.d.ts.map +1 -1
  190. package/dist/node-registry-setup.js +21 -114
  191. package/dist/node-registry-setup.js.map +1 -1
  192. package/dist/oauth-api.d.ts.map +1 -1
  193. package/dist/oauth-api.js +45 -23
  194. package/dist/oauth-api.js.map +1 -1
  195. package/dist/openai-api.d.ts.map +1 -1
  196. package/dist/openai-api.js +10 -2
  197. package/dist/openai-api.js.map +1 -1
  198. package/dist/plugins/websocket.d.ts.map +1 -1
  199. package/dist/plugins/websocket.js +27 -59
  200. package/dist/plugins/websocket.js.map +1 -1
  201. package/dist/python-bridge-gate.d.ts +28 -0
  202. package/dist/python-bridge-gate.d.ts.map +1 -0
  203. package/dist/python-bridge-gate.js +36 -0
  204. package/dist/python-bridge-gate.js.map +1 -0
  205. package/dist/routes/app-runs.d.ts +4 -0
  206. package/dist/routes/app-runs.d.ts.map +1 -0
  207. package/dist/routes/app-runs.js +173 -0
  208. package/dist/routes/app-runs.js.map +1 -0
  209. package/dist/routes/applications.d.ts +1 -0
  210. package/dist/routes/applications.d.ts.map +1 -1
  211. package/dist/routes/applications.js +24 -0
  212. package/dist/routes/applications.js.map +1 -1
  213. package/dist/routes/assets.d.ts.map +1 -1
  214. package/dist/routes/assets.js +31 -41
  215. package/dist/routes/assets.js.map +1 -1
  216. package/dist/routes/config.d.ts.map +1 -1
  217. package/dist/routes/config.js +6 -0
  218. package/dist/routes/config.js.map +1 -1
  219. package/dist/routes/documents.d.ts.map +1 -1
  220. package/dist/routes/documents.js +24 -0
  221. package/dist/routes/documents.js.map +1 -1
  222. package/dist/routes/fal-pricing-estimate.d.ts.map +1 -1
  223. package/dist/routes/fal-pricing-estimate.js +2 -0
  224. package/dist/routes/fal-pricing-estimate.js.map +1 -1
  225. package/dist/routes/files.d.ts.map +1 -1
  226. package/dist/routes/files.js +2 -0
  227. package/dist/routes/files.js.map +1 -1
  228. package/dist/routes/games.d.ts +38 -0
  229. package/dist/routes/games.d.ts.map +1 -0
  230. package/dist/routes/games.js +158 -0
  231. package/dist/routes/games.js.map +1 -0
  232. package/dist/routes/integrations.d.ts.map +1 -1
  233. package/dist/routes/integrations.js +22 -26
  234. package/dist/routes/integrations.js.map +1 -1
  235. package/dist/routes/js-scripts.d.ts +10 -4
  236. package/dist/routes/js-scripts.d.ts.map +1 -1
  237. package/dist/routes/js-scripts.js +451 -69
  238. package/dist/routes/js-scripts.js.map +1 -1
  239. package/dist/routes/nodes.d.ts.map +1 -1
  240. package/dist/routes/nodes.js +34 -1
  241. package/dist/routes/nodes.js.map +1 -1
  242. package/dist/routes/public-shared-workflows.d.ts +16 -0
  243. package/dist/routes/public-shared-workflows.d.ts.map +1 -0
  244. package/dist/routes/public-shared-workflows.js +55 -0
  245. package/dist/routes/public-shared-workflows.js.map +1 -0
  246. package/dist/routes/run-spans.d.ts +4 -0
  247. package/dist/routes/run-spans.d.ts.map +1 -0
  248. package/dist/routes/run-spans.js +53 -0
  249. package/dist/routes/run-spans.js.map +1 -0
  250. package/dist/routes/storage.d.ts.map +1 -1
  251. package/dist/routes/storage.js +2 -0
  252. package/dist/routes/storage.js.map +1 -1
  253. package/dist/routes/storyboards.d.ts.map +1 -1
  254. package/dist/routes/storyboards.js +6 -3
  255. package/dist/routes/storyboards.js.map +1 -1
  256. package/dist/routes/timeline-fonts.d.ts +22 -0
  257. package/dist/routes/timeline-fonts.d.ts.map +1 -1
  258. package/dist/routes/timeline-fonts.js +138 -7
  259. package/dist/routes/timeline-fonts.js.map +1 -1
  260. package/dist/routes/timelines.d.ts +8 -4
  261. package/dist/routes/timelines.d.ts.map +1 -1
  262. package/dist/routes/timelines.js +209 -16
  263. package/dist/routes/timelines.js.map +1 -1
  264. package/dist/screenshot-docs-seed.d.ts +24 -0
  265. package/dist/screenshot-docs-seed.d.ts.map +1 -0
  266. package/dist/screenshot-docs-seed.js +414 -0
  267. package/dist/screenshot-docs-seed.js.map +1 -0
  268. package/dist/screenshot-projects.d.ts.map +1 -1
  269. package/dist/screenshot-projects.js +9 -9
  270. package/dist/screenshot-projects.js.map +1 -1
  271. package/dist/screenshot-server.js +114 -20
  272. package/dist/screenshot-server.js.map +1 -1
  273. package/dist/sdk/sdk-model-download-service.d.ts.map +1 -1
  274. package/dist/sdk/sdk-model-download-service.js +5 -2
  275. package/dist/sdk/sdk-model-download-service.js.map +1 -1
  276. package/dist/server.js +173 -109
  277. package/dist/server.js.map +1 -1
  278. package/dist/session/app-run-fold.d.ts +7 -0
  279. package/dist/session/app-run-fold.d.ts.map +1 -0
  280. package/dist/session/app-run-fold.js +45 -0
  281. package/dist/session/app-run-fold.js.map +1 -0
  282. package/dist/session/chat-prompt.d.ts.map +1 -1
  283. package/dist/session/chat-prompt.js +37 -15
  284. package/dist/session/chat-prompt.js.map +1 -1
  285. package/dist/session/chat-turn.d.ts +11 -0
  286. package/dist/session/chat-turn.d.ts.map +1 -1
  287. package/dist/session/chat-turn.js +270 -116
  288. package/dist/session/chat-turn.js.map +1 -1
  289. package/dist/session/commands.d.ts +14 -0
  290. package/dist/session/commands.d.ts.map +1 -1
  291. package/dist/session/commands.js +119 -14
  292. package/dist/session/commands.js.map +1 -1
  293. package/dist/session/inference.d.ts +30 -2
  294. package/dist/session/inference.d.ts.map +1 -1
  295. package/dist/session/inference.js +165 -16
  296. package/dist/session/inference.js.map +1 -1
  297. package/dist/session/job-execution.d.ts +7 -1
  298. package/dist/session/job-execution.d.ts.map +1 -1
  299. package/dist/session/job-execution.js +329 -42
  300. package/dist/session/job-execution.js.map +1 -1
  301. package/dist/session/model-interfaces.d.ts +2 -1
  302. package/dist/session/model-interfaces.d.ts.map +1 -1
  303. package/dist/session/model-interfaces.js +1 -0
  304. package/dist/session/model-interfaces.js.map +1 -1
  305. package/dist/storage-api.d.ts +0 -4
  306. package/dist/storage-api.d.ts.map +1 -1
  307. package/dist/storage-api.js +3 -26
  308. package/dist/storage-api.js.map +1 -1
  309. package/dist/storage-retention.d.ts +5 -0
  310. package/dist/storage-retention.d.ts.map +1 -1
  311. package/dist/storage-retention.js +22 -1
  312. package/dist/storage-retention.js.map +1 -1
  313. package/dist/test-ui-server.d.ts +11 -0
  314. package/dist/test-ui-server.d.ts.map +1 -1
  315. package/dist/test-ui-server.js +84 -6
  316. package/dist/test-ui-server.js.map +1 -1
  317. package/dist/timeline-generation-recovery.d.ts +4 -0
  318. package/dist/timeline-generation-recovery.d.ts.map +1 -0
  319. package/dist/timeline-generation-recovery.js +72 -0
  320. package/dist/timeline-generation-recovery.js.map +1 -0
  321. package/dist/triggers/dispatcher.d.ts.map +1 -1
  322. package/dist/triggers/dispatcher.js +26 -6
  323. package/dist/triggers/dispatcher.js.map +1 -1
  324. package/dist/triggers/file-watch.d.ts.map +1 -1
  325. package/dist/triggers/file-watch.js +35 -19
  326. package/dist/triggers/file-watch.js.map +1 -1
  327. package/dist/triggers/scheduler.d.ts.map +1 -1
  328. package/dist/triggers/scheduler.js +7 -5
  329. package/dist/triggers/scheduler.js.map +1 -1
  330. package/dist/triggers/stores.js +8 -8
  331. package/dist/triggers/stores.js.map +1 -1
  332. package/dist/triggers/webhook-route.js +2 -2
  333. package/dist/triggers/webhook-route.js.map +1 -1
  334. package/dist/trpc/error-formatter.d.ts.map +1 -1
  335. package/dist/trpc/error-formatter.js +2 -1
  336. package/dist/trpc/error-formatter.js.map +1 -1
  337. package/dist/trpc/error-logging.d.ts +10 -0
  338. package/dist/trpc/error-logging.d.ts.map +1 -1
  339. package/dist/trpc/error-logging.js +21 -0
  340. package/dist/trpc/error-logging.js.map +1 -1
  341. package/dist/trpc/router.d.ts +100 -31028
  342. package/dist/trpc/router.d.ts.map +1 -1
  343. package/dist/trpc/router.js +12 -3
  344. package/dist/trpc/router.js.map +1 -1
  345. package/dist/trpc/routers/app-instances.d.ts +2332 -0
  346. package/dist/trpc/routers/app-instances.d.ts.map +1 -0
  347. package/dist/trpc/routers/app-instances.js +52 -0
  348. package/dist/trpc/routers/app-instances.js.map +1 -0
  349. package/dist/trpc/routers/app-runs.d.ts +1120 -0
  350. package/dist/trpc/routers/app-runs.d.ts.map +1 -0
  351. package/dist/trpc/routers/app-runs.js +28 -0
  352. package/dist/trpc/routers/app-runs.js.map +1 -0
  353. package/dist/trpc/routers/applications.d.ts +1102 -0
  354. package/dist/trpc/routers/applications.d.ts.map +1 -1
  355. package/dist/trpc/routers/applications.js +5 -2
  356. package/dist/trpc/routers/applications.js.map +1 -1
  357. package/dist/trpc/routers/assets.d.ts +18 -0
  358. package/dist/trpc/routers/assets.d.ts.map +1 -1
  359. package/dist/trpc/routers/assets.js +20 -5
  360. package/dist/trpc/routers/assets.js.map +1 -1
  361. package/dist/trpc/routers/bug-reports.d.ts +33 -0
  362. package/dist/trpc/routers/bug-reports.d.ts.map +1 -0
  363. package/dist/trpc/routers/bug-reports.js +69 -0
  364. package/dist/trpc/routers/bug-reports.js.map +1 -0
  365. package/dist/trpc/routers/collections.d.ts.map +1 -1
  366. package/dist/trpc/routers/collections.js +16 -10
  367. package/dist/trpc/routers/collections.js.map +1 -1
  368. package/dist/trpc/routers/credits.d.ts.map +1 -1
  369. package/dist/trpc/routers/credits.js +11 -1
  370. package/dist/trpc/routers/credits.js.map +1 -1
  371. package/dist/trpc/routers/documents.d.ts.map +1 -1
  372. package/dist/trpc/routers/documents.js +8 -2
  373. package/dist/trpc/routers/documents.js.map +1 -1
  374. package/dist/trpc/routers/error-traces.d.ts +132 -0
  375. package/dist/trpc/routers/error-traces.d.ts.map +1 -0
  376. package/dist/trpc/routers/error-traces.js +118 -0
  377. package/dist/trpc/routers/error-traces.js.map +1 -0
  378. package/dist/trpc/routers/extension.d.ts +3 -3
  379. package/dist/trpc/routers/extension.d.ts.map +1 -1
  380. package/dist/trpc/routers/extension.js +13 -9
  381. package/dist/trpc/routers/extension.js.map +1 -1
  382. package/dist/trpc/routers/gameDraftHistory.d.ts +7 -0
  383. package/dist/trpc/routers/gameDraftHistory.d.ts.map +1 -0
  384. package/dist/trpc/routers/gameDraftHistory.js +40 -0
  385. package/dist/trpc/routers/gameDraftHistory.js.map +1 -0
  386. package/dist/trpc/routers/games.d.ts +59974 -5414
  387. package/dist/trpc/routers/games.d.ts.map +1 -1
  388. package/dist/trpc/routers/games.js +531 -136
  389. package/dist/trpc/routers/games.js.map +1 -1
  390. package/dist/trpc/routers/jobs.d.ts +42 -0
  391. package/dist/trpc/routers/jobs.d.ts.map +1 -1
  392. package/dist/trpc/routers/jobs.js +89 -4
  393. package/dist/trpc/routers/jobs.js.map +1 -1
  394. package/dist/trpc/routers/js-scripts.d.ts.map +1 -1
  395. package/dist/trpc/routers/js-scripts.js +18 -2
  396. package/dist/trpc/routers/js-scripts.js.map +1 -1
  397. package/dist/trpc/routers/mcp-config.d.ts +3 -1
  398. package/dist/trpc/routers/mcp-config.d.ts.map +1 -1
  399. package/dist/trpc/routers/mcp-config.js +46 -208
  400. package/dist/trpc/routers/mcp-config.js.map +1 -1
  401. package/dist/trpc/routers/messages.d.ts +10 -0
  402. package/dist/trpc/routers/messages.d.ts.map +1 -1
  403. package/dist/trpc/routers/messages.js +16 -2
  404. package/dist/trpc/routers/messages.js.map +1 -1
  405. package/dist/trpc/routers/models.d.ts +130 -0
  406. package/dist/trpc/routers/models.d.ts.map +1 -1
  407. package/dist/trpc/routers/models.js +119 -61
  408. package/dist/trpc/routers/models.js.map +1 -1
  409. package/dist/trpc/routers/packs.d.ts.map +1 -1
  410. package/dist/trpc/routers/packs.js +18 -4
  411. package/dist/trpc/routers/packs.js.map +1 -1
  412. package/dist/trpc/routers/projects.d.ts +66 -2
  413. package/dist/trpc/routers/projects.d.ts.map +1 -1
  414. package/dist/trpc/routers/projects.js +19 -2
  415. package/dist/trpc/routers/projects.js.map +1 -1
  416. package/dist/trpc/routers/runs.d.ts +472 -0
  417. package/dist/trpc/routers/runs.d.ts.map +1 -0
  418. package/dist/trpc/routers/runs.js +40 -0
  419. package/dist/trpc/routers/runs.js.map +1 -0
  420. package/dist/trpc/routers/settings.d.ts +3 -0
  421. package/dist/trpc/routers/settings.d.ts.map +1 -1
  422. package/dist/trpc/routers/settings.js +32 -5
  423. package/dist/trpc/routers/settings.js.map +1 -1
  424. package/dist/trpc/routers/sketch.d.ts +44 -0
  425. package/dist/trpc/routers/sketch.d.ts.map +1 -1
  426. package/dist/trpc/routers/sketch.js +2 -2
  427. package/dist/trpc/routers/sketch.js.map +1 -1
  428. package/dist/trpc/routers/storyboards.d.ts +903 -1
  429. package/dist/trpc/routers/storyboards.d.ts.map +1 -1
  430. package/dist/trpc/routers/storyboards.js +8 -5
  431. package/dist/trpc/routers/storyboards.js.map +1 -1
  432. package/dist/trpc/routers/threads.d.ts.map +1 -1
  433. package/dist/trpc/routers/threads.js +8 -2
  434. package/dist/trpc/routers/threads.js.map +1 -1
  435. package/dist/trpc/routers/timeline.d.ts +647 -63
  436. package/dist/trpc/routers/timeline.d.ts.map +1 -1
  437. package/dist/trpc/routers/timeline.js +193 -4
  438. package/dist/trpc/routers/timeline.js.map +1 -1
  439. package/dist/trpc/routers/triggers.d.ts.map +1 -1
  440. package/dist/trpc/routers/triggers.js +18 -3
  441. package/dist/trpc/routers/triggers.js.map +1 -1
  442. package/dist/trpc/routers/users.d.ts +3 -2
  443. package/dist/trpc/routers/users.d.ts.map +1 -1
  444. package/dist/trpc/routers/users.js +25 -27
  445. package/dist/trpc/routers/users.js.map +1 -1
  446. package/dist/trpc/routers/worker.d.ts +10 -9
  447. package/dist/trpc/routers/worker.d.ts.map +1 -1
  448. package/dist/trpc/routers/worker.js +40 -16
  449. package/dist/trpc/routers/worker.js.map +1 -1
  450. package/dist/trpc/routers/workflows.d.ts +202 -3
  451. package/dist/trpc/routers/workflows.d.ts.map +1 -1
  452. package/dist/trpc/routers/workflows.js +72 -12
  453. package/dist/trpc/routers/workflows.js.map +1 -1
  454. package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
  455. package/dist/trpc/sandbox-coverage.js +119 -0
  456. package/dist/trpc/sandbox-coverage.js.map +1 -1
  457. package/dist/websocket-client-session.d.ts +4 -2
  458. package/dist/websocket-client-session.d.ts.map +1 -1
  459. package/dist/websocket-client-session.js +23 -3
  460. package/dist/websocket-client-session.js.map +1 -1
  461. package/dist/worker-settings-env.d.ts +23 -0
  462. package/dist/worker-settings-env.d.ts.map +1 -0
  463. package/dist/worker-settings-env.js +47 -0
  464. package/dist/worker-settings-env.js.map +1 -0
  465. package/dist/workflow-interface-service.d.ts +7 -0
  466. package/dist/workflow-interface-service.d.ts.map +1 -1
  467. package/package.json +58 -41
  468. package/dist/extension-cdp-bridge.d.ts +0 -85
  469. package/dist/extension-cdp-bridge.d.ts.map +0 -1
  470. package/dist/extension-cdp-bridge.js +0 -163
  471. package/dist/extension-cdp-bridge.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/timeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgKxB,gFAAgF;AAChF,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AA0FD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4YzB,CAAC"}
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/timeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoTxB,gFAAgF;AAChF,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AA0FD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsezB,CAAC"}
@@ -19,8 +19,10 @@
19
19
  * comparing `seq.user_id` against `ctx.userId`.
20
20
  */
21
21
  import { z } from "zod";
22
- import { TimelineSequence, TimelineSequenceConflictError, TimelineSequenceVersion, Workflow, createTimeOrderedUuid } from "@nodetool-ai/models";
22
+ import { TimelineSequence, TimelineSequenceConflictError, TimelineSequenceVersion, Workflow, createTimeOrderedUuid, getSecret } from "@nodetool-ai/models";
23
23
  import { makeClip } from "@nodetool-ai/timeline";
24
+ import { contextSecretAvailability, createCapabilityRun, gateFromContext } from "@nodetool-ai/agents";
25
+ import { PERMISSION_GATE_CONTEXT_KEY, ProcessingContext, headlessGate } from "@nodetool-ai/runtime";
24
26
  import { collectStrippedPaths } from "@nodetool-ai/execution/timeline-debug";
25
27
  import { createLogger } from "@nodetool-ai/config";
26
28
  import { computeDependencyHash } from "@nodetool-ai/timeline/dependencyHash.js";
@@ -36,6 +38,119 @@ const log = createLogger("nodetool.websocket.trpc.timeline");
36
38
  const listInput = z.object({
37
39
  projectId: z.string().optional()
38
40
  });
41
+ // ── timeline.code — authoring code, baked and merged onto the document ─────
42
+ //
43
+ // This sub-router is a thin translation over the `get_timeline_code` /
44
+ // `set_timeline_code` / `edit_timeline_code` / `rebake_timeline_code` /
45
+ // `detach_timeline_code` capabilities in `@nodetool-ai/agents` — the same
46
+ // implementation an agent reaches through the sandbox object model
47
+ // (`nodetool.timelines.code.*`), so the editor and an agent write the exact
48
+ // same bytes. The wire shape here is the fixed contract this surface was
49
+ // designed against: `code.get` answers camelCase (`bakedAt`, `groupId`),
50
+ // `code.set`/`code.rebake` answer `timeline_id` (snake_case, matching the
51
+ // capability's own field) alongside camelCase `scenes`/`conflicts` entries.
52
+ const timelineCodeForceInput = z
53
+ .union([z.boolean(), z.array(z.string())])
54
+ .optional();
55
+ const timelineCodeSetInput = z.object({
56
+ id: z.string(),
57
+ code: z.string(),
58
+ force: timelineCodeForceInput
59
+ });
60
+ const timelineCodeRebakeInput = z.object({
61
+ id: z.string(),
62
+ force: timelineCodeForceInput
63
+ });
64
+ const timelineCodeDetachInput = z.object({
65
+ id: z.string(),
66
+ scenes: z.union([z.literal("all"), z.array(z.string()).min(1)])
67
+ });
68
+ const timelineCodeSceneReport = z.object({
69
+ name: z.string(),
70
+ groupId: z.string(),
71
+ edited: z.boolean()
72
+ });
73
+ const timelineCodeGetOutput = z.object({
74
+ code: z.string().nullable(),
75
+ bakedAt: z.string().nullable(),
76
+ scenes: z.array(timelineCodeSceneReport)
77
+ });
78
+ const timelineCodeConflict = z.object({
79
+ scene: z.string(),
80
+ reason: z.string()
81
+ });
82
+ const timelineCodeWriteOutput = z.object({
83
+ timeline_id: z.string(),
84
+ errors: z.array(z.string()),
85
+ warnings: z.array(z.string()),
86
+ conflicts: z.array(timelineCodeConflict),
87
+ scenes: z.array(timelineCodeSceneReport)
88
+ });
89
+ const timelineCodeDetachOutput = z.object({
90
+ scenes: z.array(z.string())
91
+ });
92
+ const TIMELINE_CODE_HOST = "timeline.code";
93
+ /**
94
+ * A run over the timeline-code capabilities. There is nobody to ask (a route
95
+ * handler, not a chat turn), so it runs the same headless `auto` gate every
96
+ * other server-side capability call does.
97
+ */
98
+ function timelineCodeRun(userId) {
99
+ const context = new ProcessingContext({
100
+ jobId: `timeline-code-${Date.now()}`,
101
+ userId,
102
+ secretResolver: getSecret
103
+ });
104
+ context.set(PERMISSION_GATE_CONTEXT_KEY, headlessGate(TIMELINE_CODE_HOST));
105
+ return createCapabilityRun({
106
+ context,
107
+ gate: gateFromContext(context, TIMELINE_CODE_HOST),
108
+ availableSecrets: contextSecretAvailability(context)
109
+ });
110
+ }
111
+ function mapTimelineCodeScenes(scenes) {
112
+ return (scenes ?? []).map((scene) => ({
113
+ name: scene.name,
114
+ groupId: scene.group_id,
115
+ edited: scene.edited
116
+ }));
117
+ }
118
+ /**
119
+ * A capability-level `{error}` with no `timeline_id` is a refusal before any
120
+ * bake ran — bad ownership, an empty `code`, no authoring code to edit or
121
+ * rebake. Thrown as a tRPC error rather than folded into the write-result
122
+ * shape, which is reserved for a call that found the timeline and tried.
123
+ */
124
+ function throwTimelineCodeError(error) {
125
+ const code = /was not found/i.test(error)
126
+ ? ApiErrorCode.NOT_FOUND
127
+ : ApiErrorCode.INVALID_INPUT;
128
+ throwApiError(code, error);
129
+ }
130
+ function timelineCodeCapabilityError(result) {
131
+ if (result !== null &&
132
+ typeof result === "object" &&
133
+ typeof result.error === "string" &&
134
+ !("timeline_id" in result)) {
135
+ return result.error;
136
+ }
137
+ return null;
138
+ }
139
+ function mapTimelineCodeWriteResult(result) {
140
+ return {
141
+ timeline_id: String(result["timeline_id"]),
142
+ errors: Array.isArray(result["errors"])
143
+ ? result["errors"]
144
+ : [],
145
+ warnings: Array.isArray(result["warnings"])
146
+ ? result["warnings"]
147
+ : [],
148
+ conflicts: Array.isArray(result["conflicts"])
149
+ ? result["conflicts"]
150
+ : [],
151
+ scenes: mapTimelineCodeScenes(result["scenes"])
152
+ };
153
+ }
39
154
  const idInput = z.object({ id: z.string() });
40
155
  /**
41
156
  * `patchTimelineInput.document` is a stripping schema: a clip field this build
@@ -235,6 +350,16 @@ export const timelineRouter = router({
235
350
  if (input.id) {
236
351
  fields.id = input.id;
237
352
  }
353
+ // Lineage names one of the caller's own sequences, by its full id.
354
+ if (input.templateId !== undefined) {
355
+ const template = await loadOwned(ctx.userId, input.templateId);
356
+ fields.document = JSON.stringify({
357
+ tracks: [],
358
+ clips: [],
359
+ markers: [],
360
+ templateId: template.id
361
+ });
362
+ }
238
363
  const seq = new TimelineSequence(fields);
239
364
  await seq.save();
240
365
  return seq.toTimelineSequence();
@@ -262,19 +387,28 @@ export const timelineRouter = router({
262
387
  fields.width = input.width;
263
388
  if (input.height !== undefined)
264
389
  fields.height = input.height;
390
+ if (input.durationMs !== undefined)
391
+ fields.duration_ms = input.durationMs;
265
392
  if (input.document !== undefined) {
266
393
  const current = seq.toDocument();
267
394
  const merged = {
268
395
  tracks: input.document.tracks ?? current.tracks,
396
+ trackFolders: input.document.trackFolders ?? current.trackFolders,
269
397
  clips: input.document.clips ??
270
398
  current.clips,
271
399
  markers: input.document.markers ?? current.markers,
400
+ storyboardMaterializations: input.document.storyboardMaterializations ?? current.storyboardMaterializations,
272
401
  transcript: input.document.transcript ?? current.transcript,
273
402
  scriptEnabled: input.document.scriptEnabled ?? current.scriptEnabled,
274
403
  tempo: input.document.tempo ?? current.tempo,
275
404
  camera2d: input.document.camera2d === undefined ? current.camera2d : input.document.camera2d,
276
405
  setup: input.document.setup ?? current.setup,
277
- mediaTracks: input.document.mediaTracks ?? current.mediaTracks
406
+ mediaTracks: input.document.mediaTracks ?? current.mediaTracks,
407
+ // Lineage is set when a sequence is retargeted; a save keeps it.
408
+ templateId: current.templateId,
409
+ // The authoring code and its scene hashes belong to the server. An
410
+ // editor save never carries them, and must not remove them.
411
+ source: current.source
278
412
  };
279
413
  fields.document = JSON.stringify(merged);
280
414
  stripped = strippedDocumentPaths(input.rawDocument, input.document);
@@ -285,7 +419,7 @@ export const timelineRouter = router({
285
419
  });
286
420
  }
287
421
  }
288
- const updated = await TimelineSequence.updateFieldsIfUnchanged(input.id, expectedUpdatedAt, fields);
422
+ const updated = await TimelineSequence.updateFieldsIfUnchanged(seq.id, expectedUpdatedAt, fields);
289
423
  if (!updated) {
290
424
  // The row changed between load and write (or was deleted). Report a
291
425
  // conflict rather than silently overwriting the concurrent change.
@@ -379,7 +513,7 @@ export const timelineRouter = router({
379
513
  name: `Before restore to v${input.version}`
380
514
  });
381
515
  const document = parseVersionDocument(version.document);
382
- const updated = await TimelineSequence.updateFieldsIfUnchanged(input.id, seq.updated_at, {
516
+ const updated = await TimelineSequence.updateFieldsIfUnchanged(seq.id, seq.updated_at, {
383
517
  document: JSON.stringify(document),
384
518
  fps: version.fps,
385
519
  width: version.width,
@@ -404,6 +538,61 @@ export const timelineRouter = router({
404
538
  return { ok: true };
405
539
  })
406
540
  }),
541
+ code: router({
542
+ get: protectedProcedure
543
+ .input(idInput)
544
+ .output(timelineCodeGetOutput)
545
+ .query(async ({ ctx, input }) => {
546
+ const result = (await timelineCodeRun(ctx.userId).invoke("get_timeline_code", { timeline_id: input.id }));
547
+ if (result.error !== undefined) {
548
+ throwTimelineCodeError(result.error);
549
+ }
550
+ return {
551
+ code: result.code ?? null,
552
+ bakedAt: result.baked_at ?? null,
553
+ scenes: mapTimelineCodeScenes(result.scenes)
554
+ };
555
+ }),
556
+ set: protectedProcedure
557
+ .input(timelineCodeSetInput)
558
+ .output(timelineCodeWriteOutput)
559
+ .mutation(async ({ ctx, input }) => {
560
+ const params = {
561
+ timeline_id: input.id,
562
+ code: input.code
563
+ };
564
+ if (input.force !== undefined)
565
+ params.force = input.force;
566
+ const result = (await timelineCodeRun(ctx.userId).invoke("set_timeline_code", params));
567
+ const error = timelineCodeCapabilityError(result);
568
+ if (error !== null)
569
+ throwTimelineCodeError(error);
570
+ return mapTimelineCodeWriteResult(result);
571
+ }),
572
+ rebake: protectedProcedure
573
+ .input(timelineCodeRebakeInput)
574
+ .output(timelineCodeWriteOutput)
575
+ .mutation(async ({ ctx, input }) => {
576
+ const params = { timeline_id: input.id };
577
+ if (input.force !== undefined)
578
+ params.force = input.force;
579
+ const result = (await timelineCodeRun(ctx.userId).invoke("rebake_timeline_code", params));
580
+ const error = timelineCodeCapabilityError(result);
581
+ if (error !== null)
582
+ throwTimelineCodeError(error);
583
+ return mapTimelineCodeWriteResult(result);
584
+ }),
585
+ detach: protectedProcedure
586
+ .input(timelineCodeDetachInput)
587
+ .output(timelineCodeDetachOutput)
588
+ .mutation(async ({ ctx, input }) => {
589
+ const result = (await timelineCodeRun(ctx.userId).invoke("detach_timeline_code", { timeline_id: input.id, scenes: input.scenes }));
590
+ if (result.error !== undefined) {
591
+ throwTimelineCodeError(result.error);
592
+ }
593
+ return { scenes: result.scenes ?? [] };
594
+ })
595
+ }),
407
596
  clips: router({
408
597
  create: protectedProcedure
409
598
  .input(createClipInput)
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/trpc/routers/timeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/trpc/routers/timeline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/triggers.ts"],"names":[],"mappings":"AA6FA,eAAO,MAAM,cAAc;;;;;;IACzB,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2C3E,CAAC"}
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/triggers.ts"],"names":[],"mappings":"AA6FA,eAAO,MAAM,cAAc;;;;;;IACzB,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6D3E,CAAC"}
@@ -103,15 +103,30 @@ export const triggersRouter = router({
103
103
  if (reg.enabled !== 1) {
104
104
  throwApiError(ApiErrorCode.INVALID_INPUT, "Trigger is not active — activate it before firing");
105
105
  }
106
- const inputId = input.idempotencyKey ?? createTimeOrderedUuid();
106
+ // Input ids share one table-wide unique index with scheduled ticks,
107
+ // webhooks and file events, so a caller's key is scoped to this
108
+ // registration. Unscoped, a key shaped like another source's id would
109
+ // suppress that delivery.
110
+ const inputId = input.idempotencyKey !== undefined
111
+ ? `manual:${reg.id}:${input.idempotencyKey}`
112
+ : createTimeOrderedUuid();
107
113
  await getTriggerWakeupService().deliverTriggerInput({
108
114
  runId: reg.workflow_id,
109
115
  nodeId: reg.node_id,
110
116
  inputId,
111
117
  payload: input.payload ?? {}
112
118
  });
113
- const { jobId } = await dispatchInput(inputId);
114
- return { job_id: jobId };
119
+ try {
120
+ const { jobId } = await dispatchInput(inputId);
121
+ return { job_id: jobId };
122
+ }
123
+ catch (err) {
124
+ // A retry whose key was already dispatched finds no unprocessed input.
125
+ if (err instanceof Error && err.message.startsWith("input not found")) {
126
+ throwApiError(ApiErrorCode.ALREADY_EXISTS, "This idempotency key was already fired");
127
+ }
128
+ throw err;
129
+ }
115
130
  })
116
131
  });
117
132
  //# sourceMappingURL=triggers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../src/trpc/routers/triggers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../src/trpc/routers/triggers.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Users router — migrated from REST `/api/users*`.
3
3
  *
4
- * All procedures require the caller to be an admin (userId === "1" in dev,
5
- * or listed in the comma-separated `ADMIN_USER_IDS` env var in production).
4
+ * All procedures require the caller to be an admin (see `isAdmin`). Issuing
5
+ * a token (create / resetToken) is refused in Supabase mode, where API user
6
+ * tokens do not authenticate.
6
7
  * The response shapes differ by operation:
7
8
  * • list / get return `token_hash` (masked).
8
9
  * • create / resetToken return plaintext `token` (shown once on creation).
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/users.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0DH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEtB,CAAC"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/users.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAyDH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEtB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Users router — migrated from REST `/api/users*`.
3
3
  *
4
- * All procedures require the caller to be an admin (userId === "1" in dev,
5
- * or listed in the comma-separated `ADMIN_USER_IDS` env var in production).
4
+ * All procedures require the caller to be an admin (see `isAdmin`). Issuing
5
+ * a token (create / resetToken) is refused in Supabase mode, where API user
6
+ * tokens do not authenticate.
6
7
  * The response shapes differ by operation:
7
8
  * • list / get return `token_hash` (masked).
8
9
  * • create / resetToken return plaintext `token` (shown once on creation).
@@ -12,32 +13,27 @@ import { ApiErrorCode } from "../../error-codes.js";
12
13
  import { router } from "../index.js";
13
14
  import { protectedProcedure } from "../middleware.js";
14
15
  import { throwApiError } from "../error-formatter.js";
16
+ import { isAdmin } from "../../lib/admin.js";
15
17
  import { listOutput, createInput, userCreateResponse, removeInput, removeOutput, resetTokenInput } from "@nodetool-ai/protocol/api-schemas/users.js";
16
- /**
17
- * Check if a user ID has admin privileges. Mirrors `isAdmin` from the
18
- * legacy users-api.ts: user "1" is always admin in dev, and
19
- * `ADMIN_USER_IDS` (comma-separated) grants admin in production.
20
- */
21
- function isAdmin(userId) {
22
- if (userId === "1")
23
- return true;
24
- const adminIds = process.env.ADMIN_USER_IDS;
25
- if (adminIds) {
26
- return adminIds
27
- .split(",")
28
- .map((s) => s.trim())
29
- .includes(userId);
30
- }
31
- return false;
32
- }
18
+ /** Manager singleton — matches legacy behaviour (module-scoped instance). */
19
+ const manager = new FileUserManager();
33
20
  /** Guard: throws FORBIDDEN if caller is not an admin. */
34
- function requireAdmin(userId) {
35
- if (!isAdmin(userId)) {
21
+ async function requireAdmin(userId) {
22
+ if (!(await isAdmin(userId))) {
36
23
  throwApiError(ApiErrorCode.FORBIDDEN, "Admin access required");
37
24
  }
38
25
  }
39
- /** Manager singleton — matches legacy behaviour (module-scoped instance). */
40
- const manager = new FileUserManager();
26
+ /**
27
+ * API user tokens authenticate only in Local mode (see the auth hook in
28
+ * server.ts). In Supabase mode a token issued here would never work, so
29
+ * refuse to issue one.
30
+ */
31
+ function requireLocalMode() {
32
+ if (process.env.SUPABASE_URL && process.env.SUPABASE_KEY) {
33
+ throwApiError(ApiErrorCode.INVALID_INPUT, "API users are only supported in Local mode. With Supabase auth, " +
34
+ "create the user in Supabase or have them mint an access token in the app.");
35
+ }
36
+ }
41
37
  /** Build a list-item response from a FileUserManager UserRecord. */
42
38
  function toUserListItem(username, record) {
43
39
  return {
@@ -50,7 +46,7 @@ function toUserListItem(username, record) {
50
46
  }
51
47
  export const usersRouter = router({
52
48
  list: protectedProcedure.output(listOutput).query(async ({ ctx }) => {
53
- requireAdmin(ctx.userId);
49
+ await requireAdmin(ctx.userId);
54
50
  const users = await manager.listUsers();
55
51
  return {
56
52
  users: Object.entries(users).map(([username, rec]) => toUserListItem(username, rec))
@@ -60,7 +56,8 @@ export const usersRouter = router({
60
56
  .input(createInput)
61
57
  .output(userCreateResponse)
62
58
  .mutation(async ({ ctx, input }) => {
63
- requireAdmin(ctx.userId);
59
+ await requireAdmin(ctx.userId);
60
+ requireLocalMode();
64
61
  try {
65
62
  const result = await manager.addUser(input.username, input.role);
66
63
  return {
@@ -80,7 +77,7 @@ export const usersRouter = router({
80
77
  .input(removeInput)
81
78
  .output(removeOutput)
82
79
  .mutation(async ({ ctx, input }) => {
83
- requireAdmin(ctx.userId);
80
+ await requireAdmin(ctx.userId);
84
81
  try {
85
82
  await manager.removeUser(input.username);
86
83
  return { message: `User '${input.username}' removed successfully` };
@@ -94,7 +91,8 @@ export const usersRouter = router({
94
91
  .input(resetTokenInput)
95
92
  .output(userCreateResponse)
96
93
  .mutation(async ({ ctx, input }) => {
97
- requireAdmin(ctx.userId);
94
+ await requireAdmin(ctx.userId);
95
+ requireLocalMode();
98
96
  try {
99
97
  const result = await manager.resetToken(input.username);
100
98
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/trpc/routers/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/trpc/routers/users.ts"],"names":[],"mappings":"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"}