@nodetool-ai/websocket 0.8.4-a24.3 → 0.8.5

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 (317) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/agent/run-node-workflow.d.ts +25 -0
  3. package/dist/agent/run-node-workflow.d.ts.map +1 -0
  4. package/dist/agent/run-node-workflow.js +90 -0
  5. package/dist/agent/run-node-workflow.js.map +1 -0
  6. package/dist/backend-analytics.d.ts +25 -0
  7. package/dist/backend-analytics.d.ts.map +1 -0
  8. package/dist/backend-analytics.js +102 -0
  9. package/dist/backend-analytics.js.map +1 -0
  10. package/dist/example-workflows.d.ts +2 -0
  11. package/dist/example-workflows.d.ts.map +1 -1
  12. package/dist/example-workflows.js +16 -4
  13. package/dist/example-workflows.js.map +1 -1
  14. package/dist/examples/nodetool-base/A Campaign Concept from a Brief.json +135 -0
  15. package/dist/examples/nodetool-base/A Gradient Card as PNG.json +128 -0
  16. package/dist/examples/nodetool-base/A Poster in Portrait.json +129 -0
  17. package/dist/examples/nodetool-base/A Repeating Texture Tile.json +129 -0
  18. package/dist/examples/nodetool-base/A Run Button for Any Job.json +152 -0
  19. package/dist/examples/nodetool-base/A Webhook That Answers.json +170 -0
  20. package/dist/examples/nodetool-base/AI Spokesperson.json +328 -0
  21. package/dist/examples/nodetool-base/Action Items from a Meeting Recording.json +198 -0
  22. package/dist/examples/nodetool-base/Ad Copy in Three Registers.json +135 -0
  23. package/dist/examples/nodetool-base/Ad Loop from a Product Photo.json +277 -0
  24. package/dist/examples/nodetool-base/Add Reverb to a Voice.json +125 -0
  25. package/dist/examples/nodetool-base/Album Art from a Mood.json +129 -0
  26. package/dist/examples/nodetool-base/Assemble a UGC Product Video.json +158 -0
  27. package/dist/examples/nodetool-base/Audio To Image.json +184 -0
  28. package/dist/examples/nodetool-base/B-Roll Reel from a Brief.json +339 -0
  29. package/dist/examples/nodetool-base/Batch a List.json +171 -0
  30. package/dist/examples/nodetool-base/Black and White, Hard.json +147 -0
  31. package/dist/examples/nodetool-base/Blog Post to Social Thread.json +135 -0
  32. package/dist/examples/nodetool-base/Blur a Channel.json +205 -0
  33. package/dist/examples/nodetool-base/Blur an Image.json +179 -0
  34. package/dist/examples/nodetool-base/Boost Saturation.json +178 -0
  35. package/dist/examples/nodetool-base/Brand Asset Generator.json +585 -0
  36. package/dist/examples/nodetool-base/Brand a UGC Product Video.json +402 -0
  37. package/dist/examples/nodetool-base/Bring a Still to Life.json +250 -0
  38. package/dist/examples/nodetool-base/Bullet Points to Press Release.json +135 -0
  39. package/dist/examples/nodetool-base/Chapter Markers for a Long Recording.json +198 -0
  40. package/dist/examples/nodetool-base/Chat With Your Documents.json +569 -0
  41. package/dist/examples/nodetool-base/Chunk a Transcript for Indexing.json +202 -0
  42. package/dist/examples/nodetool-base/Circles and Lines.json +126 -0
  43. package/dist/examples/nodetool-base/Clean Up a Rough Voice Recording.json +208 -0
  44. package/dist/examples/nodetool-base/Clip on Kie.json +173 -0
  45. package/dist/examples/nodetool-base/Cold Outreach Co-Pilot.json +423 -0
  46. package/dist/examples/nodetool-base/Color Boost Video.json +250 -0
  47. package/dist/examples/nodetool-base/Compose Directed Campaign Formats.json +764 -0
  48. package/dist/examples/nodetool-base/Concept Art Iteration Board.json +439 -0
  49. package/dist/examples/nodetool-base/Concept Art, Then a Moving Version.json +173 -0
  50. package/dist/examples/nodetool-base/Conditional Logic Engine.json +535 -0
  51. package/dist/examples/nodetool-base/Count a List.json +168 -0
  52. package/dist/examples/nodetool-base/Count to Three with a Loop.json +157 -0
  53. package/dist/examples/nodetool-base/Crop an Image.json +181 -0
  54. package/dist/examples/nodetool-base/Crop then Fit.json +208 -0
  55. package/dist/examples/nodetool-base/Crush It to 8 Bits.json +123 -0
  56. package/dist/examples/nodetool-base/Cut Out the Subject.json +184 -0
  57. package/dist/examples/nodetool-base/Cut a Landscape Clip for Vertical.json +123 -0
  58. package/dist/examples/nodetool-base/Cut a Product Out of Its Background.json +238 -0
  59. package/dist/examples/nodetool-base/Data Generator.json +216 -0
  60. package/dist/examples/nodetool-base/Denoise Footage.json +178 -0
  61. package/dist/examples/nodetool-base/Direct a Short Film.json +305 -0
  62. package/dist/examples/nodetool-base/Directed Film to Timeline.json +385 -0
  63. package/dist/examples/nodetool-base/Does This Text Mention the Deadline.json +130 -0
  64. package/dist/examples/nodetool-base/Draft Answers for an FAQ.json +135 -0
  65. package/dist/examples/nodetool-base/Draw a Badge in SVG.json +126 -0
  66. package/dist/examples/nodetool-base/Drop Duplicates.json +170 -0
  67. package/dist/examples/nodetool-base/Drop the First Few.json +148 -0
  68. package/dist/examples/nodetool-base/Dungeon and Ruins Starter Pack.json +786 -0
  69. package/dist/examples/nodetool-base/Edit a Still with Words.json +284 -0
  70. package/dist/examples/nodetool-base/Editorial Still from a Line.json +197 -0
  71. package/dist/examples/nodetool-base/Emboss a Still.json +120 -0
  72. package/dist/examples/nodetool-base/Every Combination.json +225 -0
  73. package/dist/examples/nodetool-base/Every Hour, On the Hour.json +162 -0
  74. package/dist/examples/nodetool-base/Executive Summary of a Long Document.json +135 -0
  75. package/dist/examples/nodetool-base/Explainer Clip from a Paragraph.json +244 -0
  76. package/dist/examples/nodetool-base/Extract the Claims Worth Checking.json +135 -0
  77. package/dist/examples/nodetool-base/Fade Audio In and Out.json +203 -0
  78. package/dist/examples/nodetool-base/Fade Audio Out.json +202 -0
  79. package/dist/examples/nodetool-base/Fill a Template.json +149 -0
  80. package/dist/examples/nodetool-base/Find Every Number in a Sentence.json +127 -0
  81. package/dist/examples/nodetool-base/Find and Replace.json +224 -0
  82. package/dist/examples/nodetool-base/Find the Edges.json +123 -0
  83. package/dist/examples/nodetool-base/Fit an Image.json +179 -0
  84. package/dist/examples/nodetool-base/Five Headlines for a Landing Page.json +135 -0
  85. package/dist/examples/nodetool-base/Flashcard Generator.json +297 -0
  86. package/dist/examples/nodetool-base/Gate Out the Room Noise.json +124 -0
  87. package/dist/examples/nodetool-base/Generate a Native-Audio UGC Testimonial.json +276 -0
  88. package/dist/examples/nodetool-base/Generate a Silent Bed.json +126 -0
  89. package/dist/examples/nodetool-base/Generate then Upscale a Poster.json +164 -0
  90. package/dist/examples/nodetool-base/Hacker News Agent.json +183 -0
  91. package/dist/examples/nodetool-base/Hook & Thumbnail Factory.json +498 -0
  92. package/dist/examples/nodetool-base/How Long Is This Transcript.json +185 -0
  93. package/dist/examples/nodetool-base/Image Enhance.json +272 -0
  94. package/dist/examples/nodetool-base/Image To Audio Story.json +180 -0
  95. package/dist/examples/nodetool-base/Image to Video Animation.json +346 -0
  96. package/dist/examples/nodetool-base/Inspect a Clip's Audio.json +187 -0
  97. package/dist/examples/nodetool-base/Inspect a Clip.json +163 -0
  98. package/dist/examples/nodetool-base/Invert a Still.json +120 -0
  99. package/dist/examples/nodetool-base/Keep Only the Long Lines.json +220 -0
  100. package/dist/examples/nodetool-base/Keep Only the Matches.json +148 -0
  101. package/dist/examples/nodetool-base/Key Out a Green Screen.json +124 -0
  102. package/dist/examples/nodetool-base/Last One Wins.json +144 -0
  103. package/dist/examples/nodetool-base/Lip-sync a Clip to a Voice Track.json +313 -0
  104. package/dist/examples/nodetool-base/Localise a Product Listing.json +135 -0
  105. package/dist/examples/nodetool-base/Localise a Script and Revoice It.json +242 -0
  106. package/dist/examples/nodetool-base/Localized Explainer.json +430 -0
  107. package/dist/examples/nodetool-base/Low-poly Adventure Starter Pack.json +786 -0
  108. package/dist/examples/nodetool-base/Low-poly Seaside Starter Pack.json +786 -0
  109. package/dist/examples/nodetool-base/Master a Voice Track.json +180 -0
  110. package/dist/examples/nodetool-base/Meeting Transcript Summarizer.json +524 -0
  111. package/dist/examples/nodetool-base/Model Arena.json +550 -0
  112. package/dist/examples/nodetool-base/Moodboard Frame from a Theme.json +129 -0
  113. package/dist/examples/nodetool-base/Movie Posters.json +660 -0
  114. package/dist/examples/nodetool-base/Movie Trailer Generator.json +418 -0
  115. package/dist/examples/nodetool-base/Music Video Visualizer.json +720 -0
  116. package/dist/examples/nodetool-base/Name a File from Its Narration.json +231 -0
  117. package/dist/examples/nodetool-base/Narrate a Script.json +169 -0
  118. package/dist/examples/nodetool-base/Narration with a Music Bed.json +360 -0
  119. package/dist/examples/nodetool-base/Normalize a Clip's Audio.json +201 -0
  120. package/dist/examples/nodetool-base/One Tagline, Six Markets.json +135 -0
  121. package/dist/examples/nodetool-base/Pad a Canvas.json +188 -0
  122. package/dist/examples/nodetool-base/Per-SKU Ad Factory.json +511 -0
  123. package/dist/examples/nodetool-base/Photo Enhancement Suite.json +417 -0
  124. package/dist/examples/nodetool-base/Picture in Picture.json +231 -0
  125. package/dist/examples/nodetool-base/Pitch a Voice Up.json +122 -0
  126. package/dist/examples/nodetool-base/Pixelate a Still.json +122 -0
  127. package/dist/examples/nodetool-base/Platformer Playground Starter Pack.json +786 -0
  128. package/dist/examples/nodetool-base/Podcast Episode to Show Notes.json +198 -0
  129. package/dist/examples/nodetool-base/Podcast Repurposing Studio.json +745 -0
  130. package/dist/examples/nodetool-base/Pokemon Maker.json +282 -0
  131. package/dist/examples/nodetool-base/Poster on Kie.json +172 -0
  132. package/dist/examples/nodetool-base/Posterize to Four Bits.json +122 -0
  133. package/dist/examples/nodetool-base/Private Assistant.json +236 -0
  134. package/dist/examples/nodetool-base/Product Mockup Generator.json +608 -0
  135. package/dist/examples/nodetool-base/Product Spot from Text.json +330 -0
  136. package/dist/examples/nodetool-base/Product Video Generator.json +344 -0
  137. package/dist/examples/nodetool-base/Prompt Template.json +221 -0
  138. package/dist/examples/nodetool-base/Propose Three Campaign Directions.json +614 -0
  139. package/dist/examples/nodetool-base/Pull a Field out of JSON Text.json +128 -0
  140. package/dist/examples/nodetool-base/Pull a Still from a Clip.json +179 -0
  141. package/dist/examples/nodetool-base/Pull the Quotable Lines Out of an Interview.json +198 -0
  142. package/dist/examples/nodetool-base/Put a Product on a Studio Backdrop.json +252 -0
  143. package/dist/examples/nodetool-base/Put a Voice Over a Music Bed.json +358 -0
  144. package/dist/examples/nodetool-base/README_EXAMPLES.md +59 -0
  145. package/dist/examples/nodetool-base/Re-delimit a List.json +199 -0
  146. package/dist/examples/nodetool-base/Read a Clip's Frame Rate.json +120 -0
  147. package/dist/examples/nodetool-base/Redact Email Addresses.json +129 -0
  148. package/dist/examples/nodetool-base/Redact and Tidy a Log Line.json +266 -0
  149. package/dist/examples/nodetool-base/Relight a Product for a Seasonal Campaign.json +131 -0
  150. package/dist/examples/nodetool-base/Render a Directed Campaign Hero.json +338 -0
  151. package/dist/examples/nodetool-base/Reopen a Directed Campaign.json +1748 -0
  152. package/dist/examples/nodetool-base/Research Agent.json +231 -0
  153. package/dist/examples/nodetool-base/Research a Brand from Its Website.json +445 -0
  154. package/dist/examples/nodetool-base/Restyle a Photo as an Illustration.json +136 -0
  155. package/dist/examples/nodetool-base/Reverse Audio.json +201 -0
  156. package/dist/examples/nodetool-base/Reverse a Clip.json +176 -0
  157. package/dist/examples/nodetool-base/Revise an Accepted Campaign Hero.json +486 -0
  158. package/dist/examples/nodetool-base/Rewrite This So a Customer Understands It.json +135 -0
  159. package/dist/examples/nodetool-base/Rotate Footage.json +178 -0
  160. package/dist/examples/nodetool-base/SEO Content Engine.json +708 -0
  161. package/dist/examples/nodetool-base/SEO Title and Meta Description.json +135 -0
  162. package/dist/examples/nodetool-base/Sci-fi Game Model Starter Pack.json +693 -0
  163. package/dist/examples/nodetool-base/Sci-fi Outpost Expansion.json +601 -0
  164. package/dist/examples/nodetool-base/Score a Clip from Its Own Mood.json +229 -0
  165. package/dist/examples/nodetool-base/Score a Silent Clip.json +382 -0
  166. package/dist/examples/nodetool-base/Script to Narrated Clip.json +224 -0
  167. package/dist/examples/nodetool-base/Script to Screen.json +940 -0
  168. package/dist/examples/nodetool-base/Sharpen Footage.json +179 -0
  169. package/dist/examples/nodetool-base/Shot List from a Synopsis.json +136 -0
  170. package/dist/examples/nodetool-base/Single Shot from a Line.json +199 -0
  171. package/dist/examples/nodetool-base/Slice Text.json +159 -0
  172. package/dist/examples/nodetool-base/Slow a Clip Without Dropping Pitch.json +122 -0
  173. package/dist/examples/nodetool-base/Soften a Plate.json +178 -0
  174. package/dist/examples/nodetool-base/Solarize a Still.json +122 -0
  175. package/dist/examples/nodetool-base/Speak a Line, Then Trim the Silence.json +157 -0
  176. package/dist/examples/nodetool-base/Spin a Packshot into a Turntable Clip.json +137 -0
  177. package/dist/examples/nodetool-base/Split a Channel.json +178 -0
  178. package/dist/examples/nodetool-base/Split a Log into Records.json +128 -0
  179. package/dist/examples/nodetool-base/Stabilize Handheld.json +179 -0
  180. package/dist/examples/nodetool-base/Still on Replicate.json +172 -0
  181. package/dist/examples/nodetool-base/Subject Lines Worth Testing.json +135 -0
  182. package/dist/examples/nodetool-base/Subtitle Lines from a Script.json +170 -0
  183. package/dist/examples/nodetool-base/Subtitle Text from a Recording.json +198 -0
  184. package/dist/examples/nodetool-base/Summarise a Recorded Call.json +198 -0
  185. package/dist/examples/nodetool-base/Swirl and Echo.json +154 -0
  186. package/dist/examples/nodetool-base/Take While the Numbers Are Small.json +148 -0
  187. package/dist/examples/nodetool-base/Take a Product Shot to Print Resolution.json +209 -0
  188. package/dist/examples/nodetool-base/Take the First Few Seconds of a Bed.json +127 -0
  189. package/dist/examples/nodetool-base/Take the First Few.json +170 -0
  190. package/dist/examples/nodetool-base/Telephone Voice.json +174 -0
  191. package/dist/examples/nodetool-base/Themes Across Customer Feedback.json +135 -0
  192. package/dist/examples/nodetool-base/Three Ratios.json +315 -0
  193. package/dist/examples/nodetool-base/Tidy Up Messy Text.json +199 -0
  194. package/dist/examples/nodetool-base/Top-down Native Asset Pack.json +955 -0
  195. package/dist/examples/nodetool-base/Trailer Beats from a Premise.json +136 -0
  196. package/dist/examples/nodetool-base/Transcribe Audio.json +138 -0
  197. package/dist/examples/nodetool-base/Transcribe a Clip.json +198 -0
  198. package/dist/examples/nodetool-base/Translate Marketing Copy to German.json +135 -0
  199. package/dist/examples/nodetool-base/Translate a Script for Dubbing.json +224 -0
  200. package/dist/examples/nodetool-base/Trim Audio to a Range.json +203 -0
  201. package/dist/examples/nodetool-base/Trim a Blurb to Length.json +128 -0
  202. package/dist/examples/nodetool-base/Trim a Clip.json +180 -0
  203. package/dist/examples/nodetool-base/Turn Research Notes into a Comparison Table.json +136 -0
  204. package/dist/examples/nodetool-base/Turn Specs into Product Copy.json +135 -0
  205. package/dist/examples/nodetool-base/Turn a Changelog into Release Notes.json +135 -0
  206. package/dist/examples/nodetool-base/Turn a Logo into Print-Ready Vector.json +126 -0
  207. package/dist/examples/nodetool-base/Turn a Support Thread into a Bug Report.json +135 -0
  208. package/dist/examples/nodetool-base/Turn a Talk into a Blog Post.json +198 -0
  209. package/dist/examples/nodetool-base/Upscale a Still.json +186 -0
  210. package/dist/examples/nodetool-base/Vectorize a Generated Logo.json +162 -0
  211. package/dist/examples/nodetool-base/Video Restyle Studio.json +281 -0
  212. package/dist/examples/nodetool-base/Vignette a Portrait.json +124 -0
  213. package/dist/examples/nodetool-base/Voice a Script in Two Voices.json +217 -0
  214. package/dist/examples/nodetool-base/Warm Up a Cold Clip.json +124 -0
  215. package/dist/examples/nodetool-base/Watch a Folder, Act on What Lands.json +177 -0
  216. package/dist/examples/nodetool-base/Widen a Mono Voice.json +151 -0
  217. package/dist/examples/nodetool-base/Workflow As A Tool.json +257 -0
  218. package/dist/examples/nodetool-base/Write a Listing from the Product Photo.json +139 -0
  219. package/dist/examples/nodetool-base/Write the Prompt, Then Make the Image.json +200 -0
  220. package/dist/examples/nodetool-base/gallery_thumbnail_generator.ts +384 -0
  221. package/dist/external-mcp.d.ts +2 -2
  222. package/dist/external-mcp.d.ts.map +1 -1
  223. package/dist/external-mcp.js +13 -4
  224. package/dist/external-mcp.js.map +1 -1
  225. package/dist/fake-runtime.d.ts.map +1 -1
  226. package/dist/fake-runtime.js +5 -1
  227. package/dist/fake-runtime.js.map +1 -1
  228. package/dist/http-api.d.ts.map +1 -1
  229. package/dist/http-api.js +22 -4
  230. package/dist/http-api.js.map +1 -1
  231. package/dist/lib/json-body.d.ts +9 -0
  232. package/dist/lib/json-body.d.ts.map +1 -1
  233. package/dist/lib/json-body.js +12 -0
  234. package/dist/lib/json-body.js.map +1 -1
  235. package/dist/lib/local-client-origin.d.ts +38 -0
  236. package/dist/lib/local-client-origin.d.ts.map +1 -0
  237. package/dist/lib/local-client-origin.js +57 -0
  238. package/dist/lib/local-client-origin.js.map +1 -0
  239. package/dist/lib/localhost-trust.d.ts +18 -0
  240. package/dist/lib/localhost-trust.d.ts.map +1 -1
  241. package/dist/lib/localhost-trust.js +50 -0
  242. package/dist/lib/localhost-trust.js.map +1 -1
  243. package/dist/lib/openverse.d.ts +47 -0
  244. package/dist/lib/openverse.d.ts.map +1 -0
  245. package/dist/lib/openverse.js +255 -0
  246. package/dist/lib/openverse.js.map +1 -0
  247. package/dist/lib/public-routes.d.ts.map +1 -1
  248. package/dist/lib/public-routes.js +3 -0
  249. package/dist/lib/public-routes.js.map +1 -1
  250. package/dist/lib/timeline-bundle.d.ts +216 -0
  251. package/dist/lib/timeline-bundle.d.ts.map +1 -1
  252. package/dist/mcp-agent-tools.d.ts.map +1 -1
  253. package/dist/mcp-agent-tools.js +21 -6
  254. package/dist/mcp-agent-tools.js.map +1 -1
  255. package/dist/model-execution-availability.d.ts.map +1 -1
  256. package/dist/model-execution-availability.js +7 -2
  257. package/dist/model-execution-availability.js.map +1 -1
  258. package/dist/routes/analytics.d.ts +52 -0
  259. package/dist/routes/analytics.d.ts.map +1 -0
  260. package/dist/routes/analytics.js +99 -0
  261. package/dist/routes/analytics.js.map +1 -0
  262. package/dist/routes/applications.d.ts.map +1 -1
  263. package/dist/routes/applications.js +2 -1
  264. package/dist/routes/applications.js.map +1 -1
  265. package/dist/routes/js-scripts.d.ts.map +1 -1
  266. package/dist/routes/js-scripts.js +2 -1
  267. package/dist/routes/js-scripts.js.map +1 -1
  268. package/dist/routes/timeline-animations.d.ts.map +1 -1
  269. package/dist/routes/timeline-animations.js +2 -1
  270. package/dist/routes/timeline-animations.js.map +1 -1
  271. package/dist/routes/timeline-audio-bake.d.ts.map +1 -1
  272. package/dist/routes/timeline-audio-bake.js +2 -1
  273. package/dist/routes/timeline-audio-bake.js.map +1 -1
  274. package/dist/routes/timeline-isolate-subject.d.ts.map +1 -1
  275. package/dist/routes/timeline-isolate-subject.js +2 -1
  276. package/dist/routes/timeline-isolate-subject.js.map +1 -1
  277. package/dist/routes/timeline-track-object.d.ts.map +1 -1
  278. package/dist/routes/timeline-track-object.js +2 -1
  279. package/dist/routes/timeline-track-object.js.map +1 -1
  280. package/dist/screenshot-server.js +87 -49
  281. package/dist/screenshot-server.js.map +1 -1
  282. package/dist/server.d.ts.map +1 -1
  283. package/dist/server.js +42 -3
  284. package/dist/server.js.map +1 -1
  285. package/dist/session/job-execution.d.ts.map +1 -1
  286. package/dist/session/job-execution.js +5 -0
  287. package/dist/session/job-execution.js.map +1 -1
  288. package/dist/trpc/router.d.ts +2 -0
  289. package/dist/trpc/router.d.ts.map +1 -1
  290. package/dist/trpc/router.js +2 -0
  291. package/dist/trpc/router.js.map +1 -1
  292. package/dist/trpc/routers/documents.d.ts +1 -1
  293. package/dist/trpc/routers/games.d.ts +179 -0
  294. package/dist/trpc/routers/games.d.ts.map +1 -1
  295. package/dist/trpc/routers/games.js +1 -1
  296. package/dist/trpc/routers/games.js.map +1 -1
  297. package/dist/trpc/routers/models.d.ts +270 -0
  298. package/dist/trpc/routers/models.d.ts.map +1 -1
  299. package/dist/trpc/routers/models.js +37 -19
  300. package/dist/trpc/routers/models.js.map +1 -1
  301. package/dist/trpc/routers/openverse.d.ts +91 -0
  302. package/dist/trpc/routers/openverse.d.ts.map +1 -0
  303. package/dist/trpc/routers/openverse.js +98 -0
  304. package/dist/trpc/routers/openverse.js.map +1 -0
  305. package/dist/trpc/routers/projects.d.ts +6 -6
  306. package/dist/trpc/routers/timeline.d.ts +729 -6
  307. package/dist/trpc/routers/timeline.d.ts.map +1 -1
  308. package/dist/trpc/routers/timeline.js +1 -0
  309. package/dist/trpc/routers/timeline.js.map +1 -1
  310. package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
  311. package/dist/trpc/sandbox-coverage.js +11 -0
  312. package/dist/trpc/sandbox-coverage.js.map +1 -1
  313. package/dist/websocket-client-session.d.ts +8 -0
  314. package/dist/websocket-client-session.d.ts.map +1 -1
  315. package/dist/websocket-client-session.js +31 -1
  316. package/dist/websocket-client-session.js.map +1 -1
  317. package/package.json +28 -28
@@ -59,7 +59,7 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
59
59
  tracks: {
60
60
  id: string;
61
61
  name: string;
62
- type: "audio" | "midi" | "overlay" | "subtitle" | "video";
62
+ type: "audio" | "chord" | "midi" | "overlay" | "subtitle" | "video";
63
63
  index: number;
64
64
  folderId?: string | undefined;
65
65
  visible: boolean;
@@ -99,6 +99,12 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
99
99
  attackMs: number;
100
100
  releaseMs: number;
101
101
  kneeDb: number;
102
+ } | {
103
+ id: string;
104
+ type: "fable";
105
+ enabled: boolean;
106
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
107
+ params: Record<string, number>;
102
108
  } | {
103
109
  id: string;
104
110
  type: "colorCorrection";
@@ -259,6 +265,16 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
259
265
  }[];
260
266
  gainDb: number;
261
267
  } | undefined;
268
+ volumeDb?: number | undefined;
269
+ pan?: number | undefined;
270
+ chords?: {
271
+ id: string;
272
+ startTick: number;
273
+ durationTick: number;
274
+ root: number;
275
+ quality: "add9" | "aug" | "aug7" | "dim" | "dim7" | "dom11" | "dom13" | "dom7" | "dom7b9" | "dom7s9" | "dom9" | "five" | "m11" | "m6" | "m7" | "m7b5" | "m9" | "mMaj7" | "madd9" | "maj" | "maj13" | "maj7" | "maj9" | "min" | "six" | "sus2" | "sus4" | "sus7";
276
+ inversion: number;
277
+ }[] | undefined;
262
278
  }[];
263
279
  trackFolders?: {
264
280
  id: string;
@@ -1215,6 +1231,27 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
1215
1231
  startTick: number;
1216
1232
  durationTick: number;
1217
1233
  }[] | undefined;
1234
+ harmony?: {
1235
+ style: "arp" | "comp" | "off";
1236
+ input: "chords" | "notes";
1237
+ chordTrackId?: string | undefined;
1238
+ octave?: number | undefined;
1239
+ order?: "down" | "played" | "random" | "up" | "updown" | undefined;
1240
+ rate?: number | undefined;
1241
+ octaves?: number | undefined;
1242
+ gate?: number | undefined;
1243
+ hits?: boolean[] | undefined;
1244
+ accents?: boolean[] | undefined;
1245
+ seed?: number | undefined;
1246
+ comp?: number[] | undefined;
1247
+ ties?: boolean[] | undefined;
1248
+ strumMs?: number | undefined;
1249
+ strumDirection?: "alt" | "down" | "up" | undefined;
1250
+ voicing?: "close" | "drop2" | "drop24" | "open" | undefined;
1251
+ scale?: "chords" | "key" | "off" | undefined;
1252
+ scaleType?: "altered" | "auto" | "blues" | "dimHW" | "dimWH" | "dorian" | "harmMinor" | "locrian" | "locrian2" | "lydDom" | "lydian" | "majPent" | "major" | "melMinor" | "minPent" | "minor" | "mixolydian" | "phrygDom" | "phrygian" | "wholeTone" | undefined;
1253
+ scaleKey?: number | undefined;
1254
+ } | undefined;
1218
1255
  }[];
1219
1256
  markers: {
1220
1257
  id: string;
@@ -1243,6 +1280,86 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
1243
1280
  beatUnit: number;
1244
1281
  };
1245
1282
  } | undefined;
1283
+ master?: {
1284
+ volumeDb: number;
1285
+ effects?: ({
1286
+ id: string;
1287
+ type: "gain";
1288
+ enabled: boolean;
1289
+ gainDb: number;
1290
+ } | {
1291
+ id: string;
1292
+ type: "eq3";
1293
+ enabled: boolean;
1294
+ lowFreq: number;
1295
+ lowGainDb: number;
1296
+ midFreq: number;
1297
+ midQ: number;
1298
+ midGainDb: number;
1299
+ highFreq: number;
1300
+ highGainDb: number;
1301
+ } | {
1302
+ id: string;
1303
+ type: "filter";
1304
+ enabled: boolean;
1305
+ mode: "bandpass" | "highpass" | "lowpass";
1306
+ frequency: number;
1307
+ q: number;
1308
+ } | {
1309
+ id: string;
1310
+ type: "compressor";
1311
+ enabled: boolean;
1312
+ thresholdDb: number;
1313
+ ratio: number;
1314
+ attackMs: number;
1315
+ releaseMs: number;
1316
+ kneeDb: number;
1317
+ } | {
1318
+ id: string;
1319
+ type: "fable";
1320
+ enabled: boolean;
1321
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
1322
+ params: Record<string, number>;
1323
+ } | {
1324
+ id: string;
1325
+ type: "colorCorrection";
1326
+ enabled: boolean;
1327
+ brightness: number;
1328
+ contrast: number;
1329
+ saturation: number;
1330
+ hue: number;
1331
+ temperature: number;
1332
+ tint: number;
1333
+ shadows: number;
1334
+ highlights: number;
1335
+ } | {
1336
+ id: string;
1337
+ type: "videoBlur";
1338
+ enabled: boolean;
1339
+ radius: number;
1340
+ } | {
1341
+ id: string;
1342
+ type: "sharpen";
1343
+ enabled: boolean;
1344
+ amount: number;
1345
+ threshold: number;
1346
+ } | {
1347
+ id: string;
1348
+ type: "vignette";
1349
+ enabled: boolean;
1350
+ intensity: number;
1351
+ radius: number;
1352
+ softness: number;
1353
+ } | {
1354
+ id: string;
1355
+ type: "chromaKey";
1356
+ enabled: boolean;
1357
+ keyColor: string;
1358
+ tolerance: number;
1359
+ softness: number;
1360
+ spill: number;
1361
+ })[] | undefined;
1362
+ } | undefined;
1246
1363
  setup?: {
1247
1364
  [x: string]: unknown;
1248
1365
  stage: "done" | "format" | "idea" | "look" | "review";
@@ -1452,7 +1569,7 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
1452
1569
  tracks: {
1453
1570
  id: string;
1454
1571
  name: string;
1455
- type: "audio" | "midi" | "overlay" | "subtitle" | "video";
1572
+ type: "audio" | "chord" | "midi" | "overlay" | "subtitle" | "video";
1456
1573
  index: number;
1457
1574
  folderId?: string | undefined;
1458
1575
  visible: boolean;
@@ -1492,6 +1609,12 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
1492
1609
  attackMs: number;
1493
1610
  releaseMs: number;
1494
1611
  kneeDb: number;
1612
+ } | {
1613
+ id: string;
1614
+ type: "fable";
1615
+ enabled: boolean;
1616
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
1617
+ params: Record<string, number>;
1495
1618
  } | {
1496
1619
  id: string;
1497
1620
  type: "colorCorrection";
@@ -1652,6 +1775,16 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
1652
1775
  }[];
1653
1776
  gainDb: number;
1654
1777
  } | undefined;
1778
+ volumeDb?: number | undefined;
1779
+ pan?: number | undefined;
1780
+ chords?: {
1781
+ id: string;
1782
+ startTick: number;
1783
+ durationTick: number;
1784
+ root: number;
1785
+ quality: "add9" | "aug" | "aug7" | "dim" | "dim7" | "dom11" | "dom13" | "dom7" | "dom7b9" | "dom7s9" | "dom9" | "five" | "m11" | "m6" | "m7" | "m7b5" | "m9" | "mMaj7" | "madd9" | "maj" | "maj13" | "maj7" | "maj9" | "min" | "six" | "sus2" | "sus4" | "sus7";
1786
+ inversion: number;
1787
+ }[] | undefined;
1655
1788
  }[];
1656
1789
  trackFolders?: {
1657
1790
  id: string;
@@ -2608,6 +2741,27 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
2608
2741
  startTick: number;
2609
2742
  durationTick: number;
2610
2743
  }[] | undefined;
2744
+ harmony?: {
2745
+ style: "arp" | "comp" | "off";
2746
+ input: "chords" | "notes";
2747
+ chordTrackId?: string | undefined;
2748
+ octave?: number | undefined;
2749
+ order?: "down" | "played" | "random" | "up" | "updown" | undefined;
2750
+ rate?: number | undefined;
2751
+ octaves?: number | undefined;
2752
+ gate?: number | undefined;
2753
+ hits?: boolean[] | undefined;
2754
+ accents?: boolean[] | undefined;
2755
+ seed?: number | undefined;
2756
+ comp?: number[] | undefined;
2757
+ ties?: boolean[] | undefined;
2758
+ strumMs?: number | undefined;
2759
+ strumDirection?: "alt" | "down" | "up" | undefined;
2760
+ voicing?: "close" | "drop2" | "drop24" | "open" | undefined;
2761
+ scale?: "chords" | "key" | "off" | undefined;
2762
+ scaleType?: "altered" | "auto" | "blues" | "dimHW" | "dimWH" | "dorian" | "harmMinor" | "locrian" | "locrian2" | "lydDom" | "lydian" | "majPent" | "major" | "melMinor" | "minPent" | "minor" | "mixolydian" | "phrygDom" | "phrygian" | "wholeTone" | undefined;
2763
+ scaleKey?: number | undefined;
2764
+ } | undefined;
2611
2765
  }[];
2612
2766
  markers: {
2613
2767
  id: string;
@@ -2636,6 +2790,86 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
2636
2790
  beatUnit: number;
2637
2791
  };
2638
2792
  } | undefined;
2793
+ master?: {
2794
+ volumeDb: number;
2795
+ effects?: ({
2796
+ id: string;
2797
+ type: "gain";
2798
+ enabled: boolean;
2799
+ gainDb: number;
2800
+ } | {
2801
+ id: string;
2802
+ type: "eq3";
2803
+ enabled: boolean;
2804
+ lowFreq: number;
2805
+ lowGainDb: number;
2806
+ midFreq: number;
2807
+ midQ: number;
2808
+ midGainDb: number;
2809
+ highFreq: number;
2810
+ highGainDb: number;
2811
+ } | {
2812
+ id: string;
2813
+ type: "filter";
2814
+ enabled: boolean;
2815
+ mode: "bandpass" | "highpass" | "lowpass";
2816
+ frequency: number;
2817
+ q: number;
2818
+ } | {
2819
+ id: string;
2820
+ type: "compressor";
2821
+ enabled: boolean;
2822
+ thresholdDb: number;
2823
+ ratio: number;
2824
+ attackMs: number;
2825
+ releaseMs: number;
2826
+ kneeDb: number;
2827
+ } | {
2828
+ id: string;
2829
+ type: "fable";
2830
+ enabled: boolean;
2831
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
2832
+ params: Record<string, number>;
2833
+ } | {
2834
+ id: string;
2835
+ type: "colorCorrection";
2836
+ enabled: boolean;
2837
+ brightness: number;
2838
+ contrast: number;
2839
+ saturation: number;
2840
+ hue: number;
2841
+ temperature: number;
2842
+ tint: number;
2843
+ shadows: number;
2844
+ highlights: number;
2845
+ } | {
2846
+ id: string;
2847
+ type: "videoBlur";
2848
+ enabled: boolean;
2849
+ radius: number;
2850
+ } | {
2851
+ id: string;
2852
+ type: "sharpen";
2853
+ enabled: boolean;
2854
+ amount: number;
2855
+ threshold: number;
2856
+ } | {
2857
+ id: string;
2858
+ type: "vignette";
2859
+ enabled: boolean;
2860
+ intensity: number;
2861
+ radius: number;
2862
+ softness: number;
2863
+ } | {
2864
+ id: string;
2865
+ type: "chromaKey";
2866
+ enabled: boolean;
2867
+ keyColor: string;
2868
+ tolerance: number;
2869
+ softness: number;
2870
+ spill: number;
2871
+ })[] | undefined;
2872
+ } | undefined;
2639
2873
  setup?: {
2640
2874
  [x: string]: unknown;
2641
2875
  stage: "done" | "format" | "idea" | "look" | "review";
@@ -2839,7 +3073,7 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
2839
3073
  tracks: {
2840
3074
  id: string;
2841
3075
  name: string;
2842
- type: "audio" | "midi" | "overlay" | "subtitle" | "video";
3076
+ type: "audio" | "chord" | "midi" | "overlay" | "subtitle" | "video";
2843
3077
  index: number;
2844
3078
  folderId?: string | undefined;
2845
3079
  visible: boolean;
@@ -2879,6 +3113,12 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
2879
3113
  attackMs: number;
2880
3114
  releaseMs: number;
2881
3115
  kneeDb: number;
3116
+ } | {
3117
+ id: string;
3118
+ type: "fable";
3119
+ enabled: boolean;
3120
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
3121
+ params: Record<string, number>;
2882
3122
  } | {
2883
3123
  id: string;
2884
3124
  type: "colorCorrection";
@@ -3039,6 +3279,16 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
3039
3279
  }[];
3040
3280
  gainDb: number;
3041
3281
  } | undefined;
3282
+ volumeDb?: number | undefined;
3283
+ pan?: number | undefined;
3284
+ chords?: {
3285
+ id: string;
3286
+ startTick: number;
3287
+ durationTick: number;
3288
+ root: number;
3289
+ quality: "add9" | "aug" | "aug7" | "dim" | "dim7" | "dom11" | "dom13" | "dom7" | "dom7b9" | "dom7s9" | "dom9" | "five" | "m11" | "m6" | "m7" | "m7b5" | "m9" | "mMaj7" | "madd9" | "maj" | "maj13" | "maj7" | "maj9" | "min" | "six" | "sus2" | "sus4" | "sus7";
3290
+ inversion: number;
3291
+ }[] | undefined;
3042
3292
  }[];
3043
3293
  trackFolders?: {
3044
3294
  id: string;
@@ -3995,6 +4245,27 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
3995
4245
  startTick: number;
3996
4246
  durationTick: number;
3997
4247
  }[] | undefined;
4248
+ harmony?: {
4249
+ style: "arp" | "comp" | "off";
4250
+ input: "chords" | "notes";
4251
+ chordTrackId?: string | undefined;
4252
+ octave?: number | undefined;
4253
+ order?: "down" | "played" | "random" | "up" | "updown" | undefined;
4254
+ rate?: number | undefined;
4255
+ octaves?: number | undefined;
4256
+ gate?: number | undefined;
4257
+ hits?: boolean[] | undefined;
4258
+ accents?: boolean[] | undefined;
4259
+ seed?: number | undefined;
4260
+ comp?: number[] | undefined;
4261
+ ties?: boolean[] | undefined;
4262
+ strumMs?: number | undefined;
4263
+ strumDirection?: "alt" | "down" | "up" | undefined;
4264
+ voicing?: "close" | "drop2" | "drop24" | "open" | undefined;
4265
+ scale?: "chords" | "key" | "off" | undefined;
4266
+ scaleType?: "altered" | "auto" | "blues" | "dimHW" | "dimWH" | "dorian" | "harmMinor" | "locrian" | "locrian2" | "lydDom" | "lydian" | "majPent" | "major" | "melMinor" | "minPent" | "minor" | "mixolydian" | "phrygDom" | "phrygian" | "wholeTone" | undefined;
4267
+ scaleKey?: number | undefined;
4268
+ } | undefined;
3998
4269
  }[];
3999
4270
  markers: {
4000
4271
  id: string;
@@ -4023,6 +4294,86 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
4023
4294
  beatUnit: number;
4024
4295
  };
4025
4296
  } | undefined;
4297
+ master?: {
4298
+ volumeDb: number;
4299
+ effects?: ({
4300
+ id: string;
4301
+ type: "gain";
4302
+ enabled: boolean;
4303
+ gainDb: number;
4304
+ } | {
4305
+ id: string;
4306
+ type: "eq3";
4307
+ enabled: boolean;
4308
+ lowFreq: number;
4309
+ lowGainDb: number;
4310
+ midFreq: number;
4311
+ midQ: number;
4312
+ midGainDb: number;
4313
+ highFreq: number;
4314
+ highGainDb: number;
4315
+ } | {
4316
+ id: string;
4317
+ type: "filter";
4318
+ enabled: boolean;
4319
+ mode: "bandpass" | "highpass" | "lowpass";
4320
+ frequency: number;
4321
+ q: number;
4322
+ } | {
4323
+ id: string;
4324
+ type: "compressor";
4325
+ enabled: boolean;
4326
+ thresholdDb: number;
4327
+ ratio: number;
4328
+ attackMs: number;
4329
+ releaseMs: number;
4330
+ kneeDb: number;
4331
+ } | {
4332
+ id: string;
4333
+ type: "fable";
4334
+ enabled: boolean;
4335
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
4336
+ params: Record<string, number>;
4337
+ } | {
4338
+ id: string;
4339
+ type: "colorCorrection";
4340
+ enabled: boolean;
4341
+ brightness: number;
4342
+ contrast: number;
4343
+ saturation: number;
4344
+ hue: number;
4345
+ temperature: number;
4346
+ tint: number;
4347
+ shadows: number;
4348
+ highlights: number;
4349
+ } | {
4350
+ id: string;
4351
+ type: "videoBlur";
4352
+ enabled: boolean;
4353
+ radius: number;
4354
+ } | {
4355
+ id: string;
4356
+ type: "sharpen";
4357
+ enabled: boolean;
4358
+ amount: number;
4359
+ threshold: number;
4360
+ } | {
4361
+ id: string;
4362
+ type: "vignette";
4363
+ enabled: boolean;
4364
+ intensity: number;
4365
+ radius: number;
4366
+ softness: number;
4367
+ } | {
4368
+ id: string;
4369
+ type: "chromaKey";
4370
+ enabled: boolean;
4371
+ keyColor: string;
4372
+ tolerance: number;
4373
+ softness: number;
4374
+ spill: number;
4375
+ })[] | undefined;
4376
+ } | undefined;
4026
4377
  setup?: {
4027
4378
  [x: string]: unknown;
4028
4379
  stage: "done" | "format" | "idea" | "look" | "review";
@@ -4218,7 +4569,7 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
4218
4569
  tracks: {
4219
4570
  id: string;
4220
4571
  name: string;
4221
- type: "audio" | "midi" | "overlay" | "subtitle" | "video";
4572
+ type: "audio" | "chord" | "midi" | "overlay" | "subtitle" | "video";
4222
4573
  index: number;
4223
4574
  folderId?: string | undefined;
4224
4575
  visible: boolean;
@@ -4258,6 +4609,12 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
4258
4609
  attackMs: number;
4259
4610
  releaseMs: number;
4260
4611
  kneeDb: number;
4612
+ } | {
4613
+ id: string;
4614
+ type: "fable";
4615
+ enabled: boolean;
4616
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
4617
+ params: Record<string, number>;
4261
4618
  } | {
4262
4619
  id: string;
4263
4620
  type: "colorCorrection";
@@ -4418,6 +4775,16 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
4418
4775
  }[];
4419
4776
  gainDb: number;
4420
4777
  } | undefined;
4778
+ volumeDb?: number | undefined;
4779
+ pan?: number | undefined;
4780
+ chords?: {
4781
+ id: string;
4782
+ startTick: number;
4783
+ durationTick: number;
4784
+ root: number;
4785
+ quality: "add9" | "aug" | "aug7" | "dim" | "dim7" | "dom11" | "dom13" | "dom7" | "dom7b9" | "dom7s9" | "dom9" | "five" | "m11" | "m6" | "m7" | "m7b5" | "m9" | "mMaj7" | "madd9" | "maj" | "maj13" | "maj7" | "maj9" | "min" | "six" | "sus2" | "sus4" | "sus7";
4786
+ inversion: number;
4787
+ }[] | undefined;
4421
4788
  }[];
4422
4789
  trackFolders?: {
4423
4790
  id: string;
@@ -5374,6 +5741,27 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
5374
5741
  startTick: number;
5375
5742
  durationTick: number;
5376
5743
  }[] | undefined;
5744
+ harmony?: {
5745
+ style: "arp" | "comp" | "off";
5746
+ input: "chords" | "notes";
5747
+ chordTrackId?: string | undefined;
5748
+ octave?: number | undefined;
5749
+ order?: "down" | "played" | "random" | "up" | "updown" | undefined;
5750
+ rate?: number | undefined;
5751
+ octaves?: number | undefined;
5752
+ gate?: number | undefined;
5753
+ hits?: boolean[] | undefined;
5754
+ accents?: boolean[] | undefined;
5755
+ seed?: number | undefined;
5756
+ comp?: number[] | undefined;
5757
+ ties?: boolean[] | undefined;
5758
+ strumMs?: number | undefined;
5759
+ strumDirection?: "alt" | "down" | "up" | undefined;
5760
+ voicing?: "close" | "drop2" | "drop24" | "open" | undefined;
5761
+ scale?: "chords" | "key" | "off" | undefined;
5762
+ scaleType?: "altered" | "auto" | "blues" | "dimHW" | "dimWH" | "dorian" | "harmMinor" | "locrian" | "locrian2" | "lydDom" | "lydian" | "majPent" | "major" | "melMinor" | "minPent" | "minor" | "mixolydian" | "phrygDom" | "phrygian" | "wholeTone" | undefined;
5763
+ scaleKey?: number | undefined;
5764
+ } | undefined;
5377
5765
  }[];
5378
5766
  markers: {
5379
5767
  id: string;
@@ -5402,6 +5790,86 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
5402
5790
  beatUnit: number;
5403
5791
  };
5404
5792
  } | undefined;
5793
+ master?: {
5794
+ volumeDb: number;
5795
+ effects?: ({
5796
+ id: string;
5797
+ type: "gain";
5798
+ enabled: boolean;
5799
+ gainDb: number;
5800
+ } | {
5801
+ id: string;
5802
+ type: "eq3";
5803
+ enabled: boolean;
5804
+ lowFreq: number;
5805
+ lowGainDb: number;
5806
+ midFreq: number;
5807
+ midQ: number;
5808
+ midGainDb: number;
5809
+ highFreq: number;
5810
+ highGainDb: number;
5811
+ } | {
5812
+ id: string;
5813
+ type: "filter";
5814
+ enabled: boolean;
5815
+ mode: "bandpass" | "highpass" | "lowpass";
5816
+ frequency: number;
5817
+ q: number;
5818
+ } | {
5819
+ id: string;
5820
+ type: "compressor";
5821
+ enabled: boolean;
5822
+ thresholdDb: number;
5823
+ ratio: number;
5824
+ attackMs: number;
5825
+ releaseMs: number;
5826
+ kneeDb: number;
5827
+ } | {
5828
+ id: string;
5829
+ type: "fable";
5830
+ enabled: boolean;
5831
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
5832
+ params: Record<string, number>;
5833
+ } | {
5834
+ id: string;
5835
+ type: "colorCorrection";
5836
+ enabled: boolean;
5837
+ brightness: number;
5838
+ contrast: number;
5839
+ saturation: number;
5840
+ hue: number;
5841
+ temperature: number;
5842
+ tint: number;
5843
+ shadows: number;
5844
+ highlights: number;
5845
+ } | {
5846
+ id: string;
5847
+ type: "videoBlur";
5848
+ enabled: boolean;
5849
+ radius: number;
5850
+ } | {
5851
+ id: string;
5852
+ type: "sharpen";
5853
+ enabled: boolean;
5854
+ amount: number;
5855
+ threshold: number;
5856
+ } | {
5857
+ id: string;
5858
+ type: "vignette";
5859
+ enabled: boolean;
5860
+ intensity: number;
5861
+ radius: number;
5862
+ softness: number;
5863
+ } | {
5864
+ id: string;
5865
+ type: "chromaKey";
5866
+ enabled: boolean;
5867
+ keyColor: string;
5868
+ tolerance: number;
5869
+ softness: number;
5870
+ spill: number;
5871
+ })[] | undefined;
5872
+ } | undefined;
5405
5873
  setup?: {
5406
5874
  [x: string]: unknown;
5407
5875
  stage: "done" | "format" | "idea" | "look" | "review";
@@ -5639,7 +6107,7 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
5639
6107
  tracks: {
5640
6108
  id: string;
5641
6109
  name: string;
5642
- type: "audio" | "midi" | "overlay" | "subtitle" | "video";
6110
+ type: "audio" | "chord" | "midi" | "overlay" | "subtitle" | "video";
5643
6111
  index: number;
5644
6112
  folderId?: string | undefined;
5645
6113
  visible: boolean;
@@ -5679,6 +6147,12 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
5679
6147
  attackMs: number;
5680
6148
  releaseMs: number;
5681
6149
  kneeDb: number;
6150
+ } | {
6151
+ id: string;
6152
+ type: "fable";
6153
+ enabled: boolean;
6154
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
6155
+ params: Record<string, number>;
5682
6156
  } | {
5683
6157
  id: string;
5684
6158
  type: "colorCorrection";
@@ -5839,6 +6313,16 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
5839
6313
  }[];
5840
6314
  gainDb: number;
5841
6315
  } | undefined;
6316
+ volumeDb?: number | undefined;
6317
+ pan?: number | undefined;
6318
+ chords?: {
6319
+ id: string;
6320
+ startTick: number;
6321
+ durationTick: number;
6322
+ root: number;
6323
+ quality: "add9" | "aug" | "aug7" | "dim" | "dim7" | "dom11" | "dom13" | "dom7" | "dom7b9" | "dom7s9" | "dom9" | "five" | "m11" | "m6" | "m7" | "m7b5" | "m9" | "mMaj7" | "madd9" | "maj" | "maj13" | "maj7" | "maj9" | "min" | "six" | "sus2" | "sus4" | "sus7";
6324
+ inversion: number;
6325
+ }[] | undefined;
5842
6326
  }[];
5843
6327
  trackFolders?: {
5844
6328
  id: string;
@@ -6795,6 +7279,27 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
6795
7279
  startTick: number;
6796
7280
  durationTick: number;
6797
7281
  }[] | undefined;
7282
+ harmony?: {
7283
+ style: "arp" | "comp" | "off";
7284
+ input: "chords" | "notes";
7285
+ chordTrackId?: string | undefined;
7286
+ octave?: number | undefined;
7287
+ order?: "down" | "played" | "random" | "up" | "updown" | undefined;
7288
+ rate?: number | undefined;
7289
+ octaves?: number | undefined;
7290
+ gate?: number | undefined;
7291
+ hits?: boolean[] | undefined;
7292
+ accents?: boolean[] | undefined;
7293
+ seed?: number | undefined;
7294
+ comp?: number[] | undefined;
7295
+ ties?: boolean[] | undefined;
7296
+ strumMs?: number | undefined;
7297
+ strumDirection?: "alt" | "down" | "up" | undefined;
7298
+ voicing?: "close" | "drop2" | "drop24" | "open" | undefined;
7299
+ scale?: "chords" | "key" | "off" | undefined;
7300
+ scaleType?: "altered" | "auto" | "blues" | "dimHW" | "dimWH" | "dorian" | "harmMinor" | "locrian" | "locrian2" | "lydDom" | "lydian" | "majPent" | "major" | "melMinor" | "minPent" | "minor" | "mixolydian" | "phrygDom" | "phrygian" | "wholeTone" | undefined;
7301
+ scaleKey?: number | undefined;
7302
+ } | undefined;
6798
7303
  }[];
6799
7304
  markers: {
6800
7305
  id: string;
@@ -6823,6 +7328,86 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
6823
7328
  beatUnit: number;
6824
7329
  };
6825
7330
  } | undefined;
7331
+ master?: {
7332
+ volumeDb: number;
7333
+ effects?: ({
7334
+ id: string;
7335
+ type: "gain";
7336
+ enabled: boolean;
7337
+ gainDb: number;
7338
+ } | {
7339
+ id: string;
7340
+ type: "eq3";
7341
+ enabled: boolean;
7342
+ lowFreq: number;
7343
+ lowGainDb: number;
7344
+ midFreq: number;
7345
+ midQ: number;
7346
+ midGainDb: number;
7347
+ highFreq: number;
7348
+ highGainDb: number;
7349
+ } | {
7350
+ id: string;
7351
+ type: "filter";
7352
+ enabled: boolean;
7353
+ mode: "bandpass" | "highpass" | "lowpass";
7354
+ frequency: number;
7355
+ q: number;
7356
+ } | {
7357
+ id: string;
7358
+ type: "compressor";
7359
+ enabled: boolean;
7360
+ thresholdDb: number;
7361
+ ratio: number;
7362
+ attackMs: number;
7363
+ releaseMs: number;
7364
+ kneeDb: number;
7365
+ } | {
7366
+ id: string;
7367
+ type: "fable";
7368
+ enabled: boolean;
7369
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
7370
+ params: Record<string, number>;
7371
+ } | {
7372
+ id: string;
7373
+ type: "colorCorrection";
7374
+ enabled: boolean;
7375
+ brightness: number;
7376
+ contrast: number;
7377
+ saturation: number;
7378
+ hue: number;
7379
+ temperature: number;
7380
+ tint: number;
7381
+ shadows: number;
7382
+ highlights: number;
7383
+ } | {
7384
+ id: string;
7385
+ type: "videoBlur";
7386
+ enabled: boolean;
7387
+ radius: number;
7388
+ } | {
7389
+ id: string;
7390
+ type: "sharpen";
7391
+ enabled: boolean;
7392
+ amount: number;
7393
+ threshold: number;
7394
+ } | {
7395
+ id: string;
7396
+ type: "vignette";
7397
+ enabled: boolean;
7398
+ intensity: number;
7399
+ radius: number;
7400
+ softness: number;
7401
+ } | {
7402
+ id: string;
7403
+ type: "chromaKey";
7404
+ enabled: boolean;
7405
+ keyColor: string;
7406
+ tolerance: number;
7407
+ softness: number;
7408
+ spill: number;
7409
+ })[] | undefined;
7410
+ } | undefined;
6826
7411
  setup?: {
6827
7412
  [x: string]: unknown;
6828
7413
  stage: "done" | "format" | "idea" | "look" | "review";
@@ -7039,7 +7624,7 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
7039
7624
  tracks: {
7040
7625
  id: string;
7041
7626
  name: string;
7042
- type: "audio" | "midi" | "overlay" | "subtitle" | "video";
7627
+ type: "audio" | "chord" | "midi" | "overlay" | "subtitle" | "video";
7043
7628
  index: number;
7044
7629
  folderId?: string | undefined;
7045
7630
  visible: boolean;
@@ -7079,6 +7664,12 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
7079
7664
  attackMs: number;
7080
7665
  releaseMs: number;
7081
7666
  kneeDb: number;
7667
+ } | {
7668
+ id: string;
7669
+ type: "fable";
7670
+ enabled: boolean;
7671
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
7672
+ params: Record<string, number>;
7082
7673
  } | {
7083
7674
  id: string;
7084
7675
  type: "colorCorrection";
@@ -7239,6 +7830,16 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
7239
7830
  }[];
7240
7831
  gainDb: number;
7241
7832
  } | undefined;
7833
+ volumeDb?: number | undefined;
7834
+ pan?: number | undefined;
7835
+ chords?: {
7836
+ id: string;
7837
+ startTick: number;
7838
+ durationTick: number;
7839
+ root: number;
7840
+ quality: "add9" | "aug" | "aug7" | "dim" | "dim7" | "dom11" | "dom13" | "dom7" | "dom7b9" | "dom7s9" | "dom9" | "five" | "m11" | "m6" | "m7" | "m7b5" | "m9" | "mMaj7" | "madd9" | "maj" | "maj13" | "maj7" | "maj9" | "min" | "six" | "sus2" | "sus4" | "sus7";
7841
+ inversion: number;
7842
+ }[] | undefined;
7242
7843
  }[];
7243
7844
  trackFolders?: {
7244
7845
  id: string;
@@ -8195,6 +8796,27 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
8195
8796
  startTick: number;
8196
8797
  durationTick: number;
8197
8798
  }[] | undefined;
8799
+ harmony?: {
8800
+ style: "arp" | "comp" | "off";
8801
+ input: "chords" | "notes";
8802
+ chordTrackId?: string | undefined;
8803
+ octave?: number | undefined;
8804
+ order?: "down" | "played" | "random" | "up" | "updown" | undefined;
8805
+ rate?: number | undefined;
8806
+ octaves?: number | undefined;
8807
+ gate?: number | undefined;
8808
+ hits?: boolean[] | undefined;
8809
+ accents?: boolean[] | undefined;
8810
+ seed?: number | undefined;
8811
+ comp?: number[] | undefined;
8812
+ ties?: boolean[] | undefined;
8813
+ strumMs?: number | undefined;
8814
+ strumDirection?: "alt" | "down" | "up" | undefined;
8815
+ voicing?: "close" | "drop2" | "drop24" | "open" | undefined;
8816
+ scale?: "chords" | "key" | "off" | undefined;
8817
+ scaleType?: "altered" | "auto" | "blues" | "dimHW" | "dimWH" | "dorian" | "harmMinor" | "locrian" | "locrian2" | "lydDom" | "lydian" | "majPent" | "major" | "melMinor" | "minPent" | "minor" | "mixolydian" | "phrygDom" | "phrygian" | "wholeTone" | undefined;
8818
+ scaleKey?: number | undefined;
8819
+ } | undefined;
8198
8820
  }[];
8199
8821
  markers: {
8200
8822
  id: string;
@@ -8223,6 +8845,86 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
8223
8845
  beatUnit: number;
8224
8846
  };
8225
8847
  } | undefined;
8848
+ master?: {
8849
+ volumeDb: number;
8850
+ effects?: ({
8851
+ id: string;
8852
+ type: "gain";
8853
+ enabled: boolean;
8854
+ gainDb: number;
8855
+ } | {
8856
+ id: string;
8857
+ type: "eq3";
8858
+ enabled: boolean;
8859
+ lowFreq: number;
8860
+ lowGainDb: number;
8861
+ midFreq: number;
8862
+ midQ: number;
8863
+ midGainDb: number;
8864
+ highFreq: number;
8865
+ highGainDb: number;
8866
+ } | {
8867
+ id: string;
8868
+ type: "filter";
8869
+ enabled: boolean;
8870
+ mode: "bandpass" | "highpass" | "lowpass";
8871
+ frequency: number;
8872
+ q: number;
8873
+ } | {
8874
+ id: string;
8875
+ type: "compressor";
8876
+ enabled: boolean;
8877
+ thresholdDb: number;
8878
+ ratio: number;
8879
+ attackMs: number;
8880
+ releaseMs: number;
8881
+ kneeDb: number;
8882
+ } | {
8883
+ id: string;
8884
+ type: "fable";
8885
+ enabled: boolean;
8886
+ kind: "chorus" | "comp" | "drive" | "echo" | "eq" | "lab" | "ott" | "reverb";
8887
+ params: Record<string, number>;
8888
+ } | {
8889
+ id: string;
8890
+ type: "colorCorrection";
8891
+ enabled: boolean;
8892
+ brightness: number;
8893
+ contrast: number;
8894
+ saturation: number;
8895
+ hue: number;
8896
+ temperature: number;
8897
+ tint: number;
8898
+ shadows: number;
8899
+ highlights: number;
8900
+ } | {
8901
+ id: string;
8902
+ type: "videoBlur";
8903
+ enabled: boolean;
8904
+ radius: number;
8905
+ } | {
8906
+ id: string;
8907
+ type: "sharpen";
8908
+ enabled: boolean;
8909
+ amount: number;
8910
+ threshold: number;
8911
+ } | {
8912
+ id: string;
8913
+ type: "vignette";
8914
+ enabled: boolean;
8915
+ intensity: number;
8916
+ radius: number;
8917
+ softness: number;
8918
+ } | {
8919
+ id: string;
8920
+ type: "chromaKey";
8921
+ enabled: boolean;
8922
+ keyColor: string;
8923
+ tolerance: number;
8924
+ softness: number;
8925
+ spill: number;
8926
+ })[] | undefined;
8927
+ } | undefined;
8226
8928
  setup?: {
8227
8929
  [x: string]: unknown;
8228
8930
  stage: "done" | "format" | "idea" | "look" | "review";
@@ -9456,6 +10158,27 @@ export declare const timelineRouter: import("@trpc/server").TRPCBuiltRouter<{
9456
10158
  startTick: number;
9457
10159
  durationTick: number;
9458
10160
  }[] | undefined;
10161
+ harmony?: {
10162
+ style: "arp" | "comp" | "off";
10163
+ input: "chords" | "notes";
10164
+ chordTrackId?: string | undefined;
10165
+ octave?: number | undefined;
10166
+ order?: "down" | "played" | "random" | "up" | "updown" | undefined;
10167
+ rate?: number | undefined;
10168
+ octaves?: number | undefined;
10169
+ gate?: number | undefined;
10170
+ hits?: boolean[] | undefined;
10171
+ accents?: boolean[] | undefined;
10172
+ seed?: number | undefined;
10173
+ comp?: number[] | undefined;
10174
+ ties?: boolean[] | undefined;
10175
+ strumMs?: number | undefined;
10176
+ strumDirection?: "alt" | "down" | "up" | undefined;
10177
+ voicing?: "close" | "drop2" | "drop24" | "open" | undefined;
10178
+ scale?: "chords" | "key" | "off" | undefined;
10179
+ scaleType?: "altered" | "auto" | "blues" | "dimHW" | "dimWH" | "dorian" | "harmMinor" | "locrian" | "locrian2" | "lydDom" | "lydian" | "majPent" | "major" | "melMinor" | "minPent" | "minor" | "mixolydian" | "phrygDom" | "phrygian" | "wholeTone" | undefined;
10180
+ scaleKey?: number | undefined;
10181
+ } | undefined;
9459
10182
  };
9460
10183
  meta: object;
9461
10184
  }>;