@koda-sl/baker-cli 0.39.29-dev.994437bd → 0.66.2

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 (323) hide show
  1. package/README.md +1754 -7
  2. package/canvas/avocado-tutorial.json +89 -0
  3. package/canvas/hello-world-composition/index.html +83 -0
  4. package/canvas/hello-world-composition/meta.json +41 -0
  5. package/canvas/hello-world-overlay.json +37 -0
  6. package/canvas/phone-scroll-composition/index.html +141 -0
  7. package/canvas/phone-scroll-composition/meta.json +39 -0
  8. package/canvas/tiktok-captions-composition/index.html +126 -0
  9. package/canvas/tiktok-captions-composition/meta.json +46 -0
  10. package/canvas/video-overlay-composition/index.html +239 -0
  11. package/canvas/video-overlay-composition/meta.json +29 -0
  12. package/dist/cli.js +2 -0
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/ads/meta/creatives.js +1 -1
  15. package/dist/commands/canvas/catalog.d.ts +2 -0
  16. package/dist/commands/canvas/catalog.d.ts.map +1 -0
  17. package/dist/commands/canvas/catalog.js +13 -0
  18. package/dist/commands/canvas/catalog.js.map +1 -0
  19. package/dist/commands/canvas/index.d.ts +2 -0
  20. package/dist/commands/canvas/index.d.ts.map +1 -0
  21. package/dist/commands/canvas/index.js +32 -0
  22. package/dist/commands/canvas/index.js.map +1 -0
  23. package/dist/commands/canvas/inspect.d.ts +16 -0
  24. package/dist/commands/canvas/inspect.d.ts.map +1 -0
  25. package/dist/commands/canvas/inspect.js +115 -0
  26. package/dist/commands/canvas/inspect.js.map +1 -0
  27. package/dist/commands/canvas/run.d.ts +24 -0
  28. package/dist/commands/canvas/run.d.ts.map +1 -0
  29. package/dist/commands/canvas/run.js +56 -0
  30. package/dist/commands/canvas/run.js.map +1 -0
  31. package/dist/commands/canvas/scaffold-static-ad.d.ts +40 -0
  32. package/dist/commands/canvas/scaffold-static-ad.d.ts.map +1 -0
  33. package/dist/commands/canvas/scaffold-static-ad.js +265 -0
  34. package/dist/commands/canvas/scaffold-static-ad.js.map +1 -0
  35. package/dist/commands/canvas/scaffold-video.d.ts +44 -0
  36. package/dist/commands/canvas/scaffold-video.d.ts.map +1 -0
  37. package/dist/commands/canvas/scaffold-video.js +235 -0
  38. package/dist/commands/canvas/scaffold-video.js.map +1 -0
  39. package/dist/commands/canvas/validate.d.ts +8 -0
  40. package/dist/commands/canvas/validate.d.ts.map +1 -0
  41. package/dist/commands/canvas/validate.js +37 -0
  42. package/dist/commands/canvas/validate.js.map +1 -0
  43. package/dist/commands/images/find.d.ts +1 -1
  44. package/dist/commands/images/find.d.ts.map +1 -1
  45. package/dist/commands/images/find.js +12 -3
  46. package/dist/commands/images/find.js.map +1 -1
  47. package/dist/commands/images/google.d.ts +1 -1
  48. package/dist/commands/images/google.d.ts.map +1 -1
  49. package/dist/commands/images/google.js +12 -3
  50. package/dist/commands/images/google.js.map +1 -1
  51. package/dist/commands/images/stock.d.ts +1 -1
  52. package/dist/commands/images/stock.d.ts.map +1 -1
  53. package/dist/commands/images/stock.js +7 -3
  54. package/dist/commands/images/stock.js.map +1 -1
  55. package/dist/commands/testimonials/list.d.ts.map +1 -1
  56. package/dist/commands/testimonials/list.js +21 -6
  57. package/dist/commands/testimonials/list.js.map +1 -1
  58. package/dist/commands/testimonials/search.d.ts.map +1 -1
  59. package/dist/commands/testimonials/search.js +21 -6
  60. package/dist/commands/testimonials/search.js.map +1 -1
  61. package/dist/commands/testimonials/search.test.js +3 -3
  62. package/dist/commands/testimonials/search.test.js.map +1 -1
  63. package/dist/engine/client/backend-client.d.ts +50 -0
  64. package/dist/engine/client/backend-client.d.ts.map +1 -0
  65. package/dist/engine/client/backend-client.js +20 -0
  66. package/dist/engine/client/backend-client.js.map +1 -0
  67. package/dist/engine/client/env.d.ts +7 -0
  68. package/dist/engine/client/env.d.ts.map +1 -0
  69. package/dist/engine/client/env.js +18 -0
  70. package/dist/engine/client/env.js.map +1 -0
  71. package/dist/engine/client/http.d.ts +56 -0
  72. package/dist/engine/client/http.d.ts.map +1 -0
  73. package/dist/engine/client/http.js +168 -0
  74. package/dist/engine/client/http.js.map +1 -0
  75. package/dist/engine/engine/cache-key.d.ts +19 -0
  76. package/dist/engine/engine/cache-key.d.ts.map +1 -0
  77. package/dist/engine/engine/cache-key.js +33 -0
  78. package/dist/engine/engine/cache-key.js.map +1 -0
  79. package/dist/engine/engine/canonical.d.ts +14 -0
  80. package/dist/engine/engine/canonical.d.ts.map +1 -0
  81. package/dist/engine/engine/canonical.js +53 -0
  82. package/dist/engine/engine/canonical.js.map +1 -0
  83. package/dist/engine/engine/composition-hash.d.ts +14 -0
  84. package/dist/engine/engine/composition-hash.d.ts.map +1 -0
  85. package/dist/engine/engine/composition-hash.js +51 -0
  86. package/dist/engine/engine/composition-hash.js.map +1 -0
  87. package/dist/engine/engine/composition-meta.d.ts +77 -0
  88. package/dist/engine/engine/composition-meta.d.ts.map +1 -0
  89. package/dist/engine/engine/composition-meta.js +199 -0
  90. package/dist/engine/engine/composition-meta.js.map +1 -0
  91. package/dist/engine/engine/context.d.ts +16 -0
  92. package/dist/engine/engine/context.d.ts.map +1 -0
  93. package/dist/engine/engine/context.js +2 -0
  94. package/dist/engine/engine/context.js.map +1 -0
  95. package/dist/engine/engine/define.d.ts +69 -0
  96. package/dist/engine/engine/define.d.ts.map +1 -0
  97. package/dist/engine/engine/define.js +9 -0
  98. package/dist/engine/engine/define.js.map +1 -0
  99. package/dist/engine/engine/didyoumean.d.ts +2 -0
  100. package/dist/engine/engine/didyoumean.d.ts.map +1 -0
  101. package/dist/engine/engine/didyoumean.js +58 -0
  102. package/dist/engine/engine/didyoumean.js.map +1 -0
  103. package/dist/engine/engine/errors.d.ts +41 -0
  104. package/dist/engine/engine/errors.d.ts.map +1 -0
  105. package/dist/engine/engine/errors.js +45 -0
  106. package/dist/engine/engine/errors.js.map +1 -0
  107. package/dist/engine/engine/executor.d.ts +72 -0
  108. package/dist/engine/engine/executor.d.ts.map +1 -0
  109. package/dist/engine/engine/executor.js +445 -0
  110. package/dist/engine/engine/executor.js.map +1 -0
  111. package/dist/engine/engine/refs.d.ts +12 -0
  112. package/dist/engine/engine/refs.d.ts.map +1 -0
  113. package/dist/engine/engine/refs.js +48 -0
  114. package/dist/engine/engine/refs.js.map +1 -0
  115. package/dist/engine/engine/registry.d.ts +11 -0
  116. package/dist/engine/engine/registry.d.ts.map +1 -0
  117. package/dist/engine/engine/registry.js +26 -0
  118. package/dist/engine/engine/registry.js.map +1 -0
  119. package/dist/engine/engine/scheduler.d.ts +10 -0
  120. package/dist/engine/engine/scheduler.d.ts.map +1 -0
  121. package/dist/engine/engine/scheduler.js +89 -0
  122. package/dist/engine/engine/scheduler.js.map +1 -0
  123. package/dist/engine/engine/validator.d.ts +31 -0
  124. package/dist/engine/engine/validator.d.ts.map +1 -0
  125. package/dist/engine/engine/validator.js +501 -0
  126. package/dist/engine/engine/validator.js.map +1 -0
  127. package/dist/engine/index.d.ts +33 -0
  128. package/dist/engine/index.d.ts.map +1 -0
  129. package/dist/engine/index.js +104 -0
  130. package/dist/engine/index.js.map +1 -0
  131. package/dist/engine/lib/ulid.d.ts +3 -0
  132. package/dist/engine/lib/ulid.d.ts.map +1 -0
  133. package/dist/engine/lib/ulid.js +36 -0
  134. package/dist/engine/lib/ulid.js.map +1 -0
  135. package/dist/engine/models/canvas-ad-params.test.d.ts +2 -0
  136. package/dist/engine/models/canvas-ad-params.test.d.ts.map +1 -0
  137. package/dist/engine/models/canvas-ad-params.test.js +60 -0
  138. package/dist/engine/models/canvas-ad-params.test.js.map +1 -0
  139. package/dist/engine/models/registry.d.ts +63 -0
  140. package/dist/engine/models/registry.d.ts.map +1 -0
  141. package/dist/engine/models/registry.js +432 -0
  142. package/dist/engine/models/registry.js.map +1 -0
  143. package/dist/engine/models/validateParams.d.ts +38 -0
  144. package/dist/engine/models/validateParams.d.ts.map +1 -0
  145. package/dist/engine/models/validateParams.js +166 -0
  146. package/dist/engine/models/validateParams.js.map +1 -0
  147. package/dist/engine/nodes/ingest.d.ts +113 -0
  148. package/dist/engine/nodes/ingest.d.ts.map +1 -0
  149. package/dist/engine/nodes/ingest.js +555 -0
  150. package/dist/engine/nodes/ingest.js.map +1 -0
  151. package/dist/engine/nodes/ingest.svg.test.d.ts +2 -0
  152. package/dist/engine/nodes/ingest.svg.test.d.ts.map +1 -0
  153. package/dist/engine/nodes/ingest.svg.test.js +30 -0
  154. package/dist/engine/nodes/ingest.svg.test.js.map +1 -0
  155. package/dist/engine/nodes/local/audioTimeline.d.ts +82 -0
  156. package/dist/engine/nodes/local/audioTimeline.d.ts.map +1 -0
  157. package/dist/engine/nodes/local/audioTimeline.js +97 -0
  158. package/dist/engine/nodes/local/audioTimeline.js.map +1 -0
  159. package/dist/engine/nodes/local/ffmpeg.d.ts +56 -0
  160. package/dist/engine/nodes/local/ffmpeg.d.ts.map +1 -0
  161. package/dist/engine/nodes/local/ffmpeg.js +50 -0
  162. package/dist/engine/nodes/local/ffmpeg.js.map +1 -0
  163. package/dist/engine/nodes/local/fontSpecimen.d.ts +50 -0
  164. package/dist/engine/nodes/local/fontSpecimen.d.ts.map +1 -0
  165. package/dist/engine/nodes/local/fontSpecimen.js +198 -0
  166. package/dist/engine/nodes/local/fontSpecimen.js.map +1 -0
  167. package/dist/engine/nodes/local/hyperframe-snapshot.d.ts +116 -0
  168. package/dist/engine/nodes/local/hyperframe-snapshot.d.ts.map +1 -0
  169. package/dist/engine/nodes/local/hyperframe-snapshot.js +230 -0
  170. package/dist/engine/nodes/local/hyperframe-snapshot.js.map +1 -0
  171. package/dist/engine/nodes/local/hyperframe.d.ts +123 -0
  172. package/dist/engine/nodes/local/hyperframe.d.ts.map +1 -0
  173. package/dist/engine/nodes/local/hyperframe.js +367 -0
  174. package/dist/engine/nodes/local/hyperframe.js.map +1 -0
  175. package/dist/engine/nodes/local/imagemagick.d.ts +56 -0
  176. package/dist/engine/nodes/local/imagemagick.d.ts.map +1 -0
  177. package/dist/engine/nodes/local/imagemagick.js +71 -0
  178. package/dist/engine/nodes/local/imagemagick.js.map +1 -0
  179. package/dist/engine/nodes/local/lib/assets.d.ts +20 -0
  180. package/dist/engine/nodes/local/lib/assets.d.ts.map +1 -0
  181. package/dist/engine/nodes/local/lib/assets.js +40 -0
  182. package/dist/engine/nodes/local/lib/assets.js.map +1 -0
  183. package/dist/engine/nodes/local/lib/cli-runner.d.ts +78 -0
  184. package/dist/engine/nodes/local/lib/cli-runner.d.ts.map +1 -0
  185. package/dist/engine/nodes/local/lib/cli-runner.js +254 -0
  186. package/dist/engine/nodes/local/lib/cli-runner.js.map +1 -0
  187. package/dist/engine/nodes/local/lib/ffmpeg.d.ts +23 -0
  188. package/dist/engine/nodes/local/lib/ffmpeg.d.ts.map +1 -0
  189. package/dist/engine/nodes/local/lib/ffmpeg.js +75 -0
  190. package/dist/engine/nodes/local/lib/ffmpeg.js.map +1 -0
  191. package/dist/engine/nodes/local/lib/hyperframe-errors.d.ts +2 -0
  192. package/dist/engine/nodes/local/lib/hyperframe-errors.d.ts.map +1 -0
  193. package/dist/engine/nodes/local/lib/hyperframe-errors.js +47 -0
  194. package/dist/engine/nodes/local/lib/hyperframe-errors.js.map +1 -0
  195. package/dist/engine/nodes/local/lib/templating.d.ts +22 -0
  196. package/dist/engine/nodes/local/lib/templating.d.ts.map +1 -0
  197. package/dist/engine/nodes/local/lib/templating.js +85 -0
  198. package/dist/engine/nodes/local/lib/templating.js.map +1 -0
  199. package/dist/engine/nodes/local/text.d.ts +6 -0
  200. package/dist/engine/nodes/local/text.d.ts.map +1 -0
  201. package/dist/engine/nodes/local/text.js +15 -0
  202. package/dist/engine/nodes/local/text.js.map +1 -0
  203. package/dist/engine/nodes/remote/delegate.d.ts +25 -0
  204. package/dist/engine/nodes/remote/delegate.d.ts.map +1 -0
  205. package/dist/engine/nodes/remote/delegate.js +160 -0
  206. package/dist/engine/nodes/remote/delegate.js.map +1 -0
  207. package/dist/engine/nodes/remote/dialogue.d.ts +34 -0
  208. package/dist/engine/nodes/remote/dialogue.d.ts.map +1 -0
  209. package/dist/engine/nodes/remote/dialogue.js +54 -0
  210. package/dist/engine/nodes/remote/dialogue.js.map +1 -0
  211. package/dist/engine/nodes/remote/image.d.ts +42 -0
  212. package/dist/engine/nodes/remote/image.d.ts.map +1 -0
  213. package/dist/engine/nodes/remote/image.js +43 -0
  214. package/dist/engine/nodes/remote/image.js.map +1 -0
  215. package/dist/engine/nodes/remote/imageAspectAdapt.d.ts +30 -0
  216. package/dist/engine/nodes/remote/imageAspectAdapt.d.ts.map +1 -0
  217. package/dist/engine/nodes/remote/imageAspectAdapt.js +42 -0
  218. package/dist/engine/nodes/remote/imageAspectAdapt.js.map +1 -0
  219. package/dist/engine/nodes/remote/imageBackgroundRemove.d.ts +39 -0
  220. package/dist/engine/nodes/remote/imageBackgroundRemove.d.ts.map +1 -0
  221. package/dist/engine/nodes/remote/imageBackgroundRemove.js +37 -0
  222. package/dist/engine/nodes/remote/imageBackgroundRemove.js.map +1 -0
  223. package/dist/engine/nodes/remote/imageDescribe.d.ts +29 -0
  224. package/dist/engine/nodes/remote/imageDescribe.d.ts.map +1 -0
  225. package/dist/engine/nodes/remote/imageDescribe.js +25 -0
  226. package/dist/engine/nodes/remote/imageDescribe.js.map +1 -0
  227. package/dist/engine/nodes/remote/imageReferenceSheet.d.ts +34 -0
  228. package/dist/engine/nodes/remote/imageReferenceSheet.d.ts.map +1 -0
  229. package/dist/engine/nodes/remote/imageReferenceSheet.js +38 -0
  230. package/dist/engine/nodes/remote/imageReferenceSheet.js.map +1 -0
  231. package/dist/engine/nodes/remote/imageSearch.d.ts +18 -0
  232. package/dist/engine/nodes/remote/imageSearch.d.ts.map +1 -0
  233. package/dist/engine/nodes/remote/imageSearch.js +22 -0
  234. package/dist/engine/nodes/remote/imageSearch.js.map +1 -0
  235. package/dist/engine/nodes/remote/imageSelect.d.ts +39 -0
  236. package/dist/engine/nodes/remote/imageSelect.d.ts.map +1 -0
  237. package/dist/engine/nodes/remote/imageSelect.js +45 -0
  238. package/dist/engine/nodes/remote/imageSelect.js.map +1 -0
  239. package/dist/engine/nodes/remote/music.d.ts +45 -0
  240. package/dist/engine/nodes/remote/music.d.ts.map +1 -0
  241. package/dist/engine/nodes/remote/music.js +73 -0
  242. package/dist/engine/nodes/remote/music.js.map +1 -0
  243. package/dist/engine/nodes/remote/soundEffect.d.ts +21 -0
  244. package/dist/engine/nodes/remote/soundEffect.d.ts.map +1 -0
  245. package/dist/engine/nodes/remote/soundEffect.js +41 -0
  246. package/dist/engine/nodes/remote/soundEffect.js.map +1 -0
  247. package/dist/engine/nodes/remote/textGenerate.d.ts +21 -0
  248. package/dist/engine/nodes/remote/textGenerate.d.ts.map +1 -0
  249. package/dist/engine/nodes/remote/textGenerate.js +27 -0
  250. package/dist/engine/nodes/remote/textGenerate.js.map +1 -0
  251. package/dist/engine/nodes/remote/tts.d.ts +45 -0
  252. package/dist/engine/nodes/remote/tts.d.ts.map +1 -0
  253. package/dist/engine/nodes/remote/tts.js +66 -0
  254. package/dist/engine/nodes/remote/tts.js.map +1 -0
  255. package/dist/engine/nodes/remote/video.d.ts +58 -0
  256. package/dist/engine/nodes/remote/video.d.ts.map +1 -0
  257. package/dist/engine/nodes/remote/video.js +44 -0
  258. package/dist/engine/nodes/remote/video.js.map +1 -0
  259. package/dist/engine/nodes/remote/videoBackgroundRemove.d.ts +30 -0
  260. package/dist/engine/nodes/remote/videoBackgroundRemove.d.ts.map +1 -0
  261. package/dist/engine/nodes/remote/videoBackgroundRemove.js +29 -0
  262. package/dist/engine/nodes/remote/videoBackgroundRemove.js.map +1 -0
  263. package/dist/engine/nodes/remote/videoDeconstruct.d.ts +61 -0
  264. package/dist/engine/nodes/remote/videoDeconstruct.d.ts.map +1 -0
  265. package/dist/engine/nodes/remote/videoDeconstruct.js +40 -0
  266. package/dist/engine/nodes/remote/videoDeconstruct.js.map +1 -0
  267. package/dist/engine/nodes/remote/videoLipsync.d.ts +37 -0
  268. package/dist/engine/nodes/remote/videoLipsync.d.ts.map +1 -0
  269. package/dist/engine/nodes/remote/videoLipsync.js +26 -0
  270. package/dist/engine/nodes/remote/videoLipsync.js.map +1 -0
  271. package/dist/engine/nodes/remote/videoTranscribe.d.ts +116 -0
  272. package/dist/engine/nodes/remote/videoTranscribe.d.ts.map +1 -0
  273. package/dist/engine/nodes/remote/videoTranscribe.js +123 -0
  274. package/dist/engine/nodes/remote/videoTranscribe.js.map +1 -0
  275. package/dist/engine/nodes/remote/voiceSelect.d.ts +28 -0
  276. package/dist/engine/nodes/remote/voiceSelect.d.ts.map +1 -0
  277. package/dist/engine/nodes/remote/voiceSelect.js +25 -0
  278. package/dist/engine/nodes/remote/voiceSelect.js.map +1 -0
  279. package/dist/engine/scaffold/staticAd.d.ts +44 -0
  280. package/dist/engine/scaffold/staticAd.d.ts.map +1 -0
  281. package/dist/engine/scaffold/staticAd.js +243 -0
  282. package/dist/engine/scaffold/staticAd.js.map +1 -0
  283. package/dist/engine/scaffold/video.d.ts +56 -0
  284. package/dist/engine/scaffold/video.d.ts.map +1 -0
  285. package/dist/engine/scaffold/video.js +709 -0
  286. package/dist/engine/scaffold/video.js.map +1 -0
  287. package/dist/engine/schema/canvas.d.ts +41 -0
  288. package/dist/engine/schema/canvas.d.ts.map +1 -0
  289. package/dist/engine/schema/canvas.js +67 -0
  290. package/dist/engine/schema/canvas.js.map +1 -0
  291. package/dist/engine/schema/catalog.d.ts +25 -0
  292. package/dist/engine/schema/catalog.d.ts.map +1 -0
  293. package/dist/engine/schema/catalog.js +48 -0
  294. package/dist/engine/schema/catalog.js.map +1 -0
  295. package/dist/engine/schema/primitives.d.ts +6 -0
  296. package/dist/engine/schema/primitives.d.ts.map +1 -0
  297. package/dist/engine/schema/primitives.js +4 -0
  298. package/dist/engine/schema/primitives.js.map +1 -0
  299. package/dist/engine/schema/prompts.d.ts +4 -0
  300. package/dist/engine/schema/prompts.d.ts.map +1 -0
  301. package/dist/engine/schema/prompts.js +23 -0
  302. package/dist/engine/schema/prompts.js.map +1 -0
  303. package/dist/engine/schema/refs.d.ts +113 -0
  304. package/dist/engine/schema/refs.d.ts.map +1 -0
  305. package/dist/engine/schema/refs.js +35 -0
  306. package/dist/engine/schema/refs.js.map +1 -0
  307. package/dist/engine/storage/asset-store.d.ts +48 -0
  308. package/dist/engine/storage/asset-store.d.ts.map +1 -0
  309. package/dist/engine/storage/asset-store.js +166 -0
  310. package/dist/engine/storage/asset-store.js.map +1 -0
  311. package/dist/engine/storage/cache-store.d.ts +21 -0
  312. package/dist/engine/storage/cache-store.d.ts.map +1 -0
  313. package/dist/engine/storage/cache-store.js +31 -0
  314. package/dist/engine/storage/cache-store.js.map +1 -0
  315. package/dist/engine/storage/output-writer.d.ts +18 -0
  316. package/dist/engine/storage/output-writer.d.ts.map +1 -0
  317. package/dist/engine/storage/output-writer.js +52 -0
  318. package/dist/engine/storage/output-writer.js.map +1 -0
  319. package/dist/engine/storage/sha256.d.ts +2 -0
  320. package/dist/engine/storage/sha256.d.ts.map +1 -0
  321. package/dist/engine/storage/sha256.js +7 -0
  322. package/dist/engine/storage/sha256.js.map +1 -0
  323. package/package.json +15 -3
@@ -0,0 +1,33 @@
1
+ import { BackendClient as _BackendClient } from "./client/backend-client.ts";
2
+ import { canonicalize as _canonicalize } from "./engine/canonical.ts";
3
+ import { ValidationError as _ValidationError } from "./engine/errors.ts";
4
+ import { Engine as _Engine } from "./engine/executor.ts";
5
+ import { NodeRegistry } from "./engine/registry.ts";
6
+ import { validateCanvasDeep as _validateCanvasDeep } from "./engine/validator.ts";
7
+ import type { InputKind as _InputKind } from "./models/registry.ts";
8
+ import { isManagedNodeKind as _isManagedNodeKind, validateModelInputs as _validateModelInputs, validateModelParams as _validateModelParams } from "./models/validateParams.ts";
9
+ import { generateCatalog as _generateCatalog } from "./schema/catalog.ts";
10
+ import { LocalAssetStore as _LocalAssetStore } from "./storage/asset-store.ts";
11
+ import { LocalCacheStore as _LocalCacheStore } from "./storage/cache-store.ts";
12
+ export declare const BackendClient: typeof _BackendClient;
13
+ export declare const Engine: typeof _Engine;
14
+ export declare const LocalAssetStore: typeof _LocalAssetStore;
15
+ export declare const LocalCacheStore: typeof _LocalCacheStore;
16
+ export declare const canonicalize: typeof _canonicalize;
17
+ export declare const validateCanvasDeep: typeof _validateCanvasDeep;
18
+ export declare const validateModelParams: typeof _validateModelParams;
19
+ export declare const validateModelInputs: typeof _validateModelInputs;
20
+ export declare const isManagedNodeKind: typeof _isManagedNodeKind;
21
+ export type InputKind = _InputKind;
22
+ export declare const generateCatalog: typeof _generateCatalog;
23
+ export declare const ValidationError: typeof _ValidationError;
24
+ /** Convenience: registry pre-loaded with every node ships with the engine. */
25
+ export declare function defaultRegistry(): NodeRegistry;
26
+ /** Build a ready-to-run engine using env vars + the project cwd. */
27
+ export declare function createEngineFromEnv(opts?: {
28
+ cwd?: string;
29
+ cacheDir?: string;
30
+ outputsDir?: string;
31
+ log?: (line: string) => void;
32
+ }): _Engine;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,mBAAmB,IAAI,oBAAoB,EAC3C,mBAAmB,IAAI,oBAAoB,EAC5C,MAAM,4BAA4B,CAAC;AA2BpC,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,eAAO,MAAM,aAAa,uBAAiB,CAAC;AAC5C,eAAO,MAAM,MAAM,gBAAU,CAAC;AAC9B,eAAO,MAAM,eAAe,yBAAmB,CAAC;AAChD,eAAO,MAAM,eAAe,yBAAmB,CAAC;AAChD,eAAO,MAAM,YAAY,sBAAgB,CAAC;AAC1C,eAAO,MAAM,kBAAkB,4BAAsB,CAAC;AACtD,eAAO,MAAM,mBAAmB,6BAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,6BAAuB,CAAC;AACxD,eAAO,MAAM,iBAAiB,2BAAqB,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AACnC,eAAO,MAAM,eAAe,yBAAmB,CAAC;AAChD,eAAO,MAAM,eAAe,yBAAmB,CAAC;AAkChD,8EAA8E;AAC9E,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CACjC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAChG,OAAO,CAaT"}
@@ -0,0 +1,104 @@
1
+ import path from "node:path";
2
+ import { BackendClient as _BackendClient } from "./client/backend-client.js";
3
+ import { requireCredentialsFromEnv } from "./client/env.js";
4
+ import { canonicalize as _canonicalize } from "./engine/canonical.js";
5
+ import { ValidationError as _ValidationError } from "./engine/errors.js";
6
+ import { Engine as _Engine } from "./engine/executor.js";
7
+ import { NodeRegistry } from "./engine/registry.js";
8
+ import { validateCanvasDeep as _validateCanvasDeep } from "./engine/validator.js";
9
+ import { isManagedNodeKind as _isManagedNodeKind, validateModelInputs as _validateModelInputs, validateModelParams as _validateModelParams, } from "./models/validateParams.js";
10
+ import { ingestNode } from "./nodes/ingest.js";
11
+ import { audioTimelineNode } from "./nodes/local/audioTimeline.js";
12
+ import { ffmpegNode } from "./nodes/local/ffmpeg.js";
13
+ import { fontSpecimenNode } from "./nodes/local/fontSpecimen.js";
14
+ import { hyperframeRenderNode } from "./nodes/local/hyperframe.js";
15
+ import { hyperframeSnapshotNode } from "./nodes/local/hyperframe-snapshot.js";
16
+ import { imagemagickNode } from "./nodes/local/imagemagick.js";
17
+ import { textNode } from "./nodes/local/text.js";
18
+ import { dialogueNode } from "./nodes/remote/dialogue.js";
19
+ import { imageGenerateNode } from "./nodes/remote/image.js";
20
+ import { imageAspectAdaptNode } from "./nodes/remote/imageAspectAdapt.js";
21
+ import { imageBackgroundRemoveNode } from "./nodes/remote/imageBackgroundRemove.js";
22
+ import { imageDescribeNode } from "./nodes/remote/imageDescribe.js";
23
+ import { imageReferenceSheetNode } from "./nodes/remote/imageReferenceSheet.js";
24
+ import { imageSearchNode } from "./nodes/remote/imageSearch.js";
25
+ import { imageSelectNode } from "./nodes/remote/imageSelect.js";
26
+ import { musicNode } from "./nodes/remote/music.js";
27
+ import { soundEffectNode } from "./nodes/remote/soundEffect.js";
28
+ import { textGenerateNode } from "./nodes/remote/textGenerate.js";
29
+ import { ttsNode } from "./nodes/remote/tts.js";
30
+ import { videoGenerateNode } from "./nodes/remote/video.js";
31
+ import { videoBackgroundRemoveNode } from "./nodes/remote/videoBackgroundRemove.js";
32
+ import { videoDeconstructNode } from "./nodes/remote/videoDeconstruct.js";
33
+ import { videoLipsyncNode } from "./nodes/remote/videoLipsync.js";
34
+ import { videoTranscribeNode } from "./nodes/remote/videoTranscribe.js";
35
+ import { voiceSelectNode } from "./nodes/remote/voiceSelect.js";
36
+ import { generateCatalog as _generateCatalog } from "./schema/catalog.js";
37
+ import { LocalAssetStore as _LocalAssetStore } from "./storage/asset-store.js";
38
+ import { LocalCacheStore as _LocalCacheStore } from "./storage/cache-store.js";
39
+ export const BackendClient = _BackendClient;
40
+ export const Engine = _Engine;
41
+ export const LocalAssetStore = _LocalAssetStore;
42
+ export const LocalCacheStore = _LocalCacheStore;
43
+ export const canonicalize = _canonicalize;
44
+ export const validateCanvasDeep = _validateCanvasDeep;
45
+ export const validateModelParams = _validateModelParams;
46
+ export const validateModelInputs = _validateModelInputs;
47
+ export const isManagedNodeKind = _isManagedNodeKind;
48
+ export const generateCatalog = _generateCatalog;
49
+ export const ValidationError = _ValidationError;
50
+ const LOCAL_NODES = [
51
+ textNode,
52
+ ingestNode,
53
+ hyperframeRenderNode,
54
+ hyperframeSnapshotNode,
55
+ ffmpegNode,
56
+ imagemagickNode,
57
+ videoTranscribeNode,
58
+ fontSpecimenNode,
59
+ audioTimelineNode,
60
+ ];
61
+ const REMOTE_NODES = [
62
+ textGenerateNode,
63
+ imageGenerateNode,
64
+ imageAspectAdaptNode,
65
+ imageDescribeNode,
66
+ imageReferenceSheetNode,
67
+ imageSearchNode,
68
+ imageSelectNode,
69
+ videoGenerateNode,
70
+ ttsNode,
71
+ musicNode,
72
+ dialogueNode,
73
+ soundEffectNode,
74
+ videoLipsyncNode,
75
+ videoBackgroundRemoveNode,
76
+ videoDeconstructNode,
77
+ voiceSelectNode,
78
+ imageBackgroundRemoveNode,
79
+ ];
80
+ /** Convenience: registry pre-loaded with every node ships with the engine. */
81
+ export function defaultRegistry() {
82
+ const r = new NodeRegistry();
83
+ for (const n of LOCAL_NODES)
84
+ r.register(n);
85
+ for (const n of REMOTE_NODES)
86
+ r.register(n);
87
+ return r;
88
+ }
89
+ /** Build a ready-to-run engine using env vars + the project cwd. */
90
+ export function createEngineFromEnv(opts = {}) {
91
+ const cwd = opts.cwd ?? process.cwd();
92
+ const cacheDir = opts.cacheDir ?? path.join(cwd, "canvas", ".cache");
93
+ const outputsDir = opts.outputsDir ?? path.join(cwd, "canvas");
94
+ const creds = requireCredentialsFromEnv();
95
+ return new _Engine({
96
+ registry: defaultRegistry(),
97
+ client: new _BackendClient({ baseUrl: creds.url, apiKey: creds.apiKey }),
98
+ assets: new _LocalAssetStore(path.join(cacheDir, "assets")),
99
+ cache: new _LocalCacheStore(path.join(cacheDir, "index")),
100
+ outputsDir,
101
+ log: opts.log,
102
+ });
103
+ }
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** A minimal monotonic-ish ULID (Crockford base32). Sufficient for run ids. */
2
+ export declare function ulid(now?: number): string;
3
+ //# sourceMappingURL=ulid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ulid.d.ts","sourceRoot":"","sources":["../../../src/engine/lib/ulid.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,wBAAgB,IAAI,CAAC,GAAG,GAAE,MAAmB,GAAG,MAAM,CAIrD"}
@@ -0,0 +1,36 @@
1
+ import { randomBytes } from "node:crypto";
2
+ const ENCODING = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
3
+ /** A minimal monotonic-ish ULID (Crockford base32). Sufficient for run ids. */
4
+ export function ulid(now = Date.now()) {
5
+ const time = encodeTime(now);
6
+ const rand = encodeRandom();
7
+ return time + rand;
8
+ }
9
+ function encodeTime(now) {
10
+ let n = now;
11
+ let out = "";
12
+ for (let i = 0; i < 10; i++) {
13
+ const mod = n % 32;
14
+ out = ENCODING[mod] + out;
15
+ n = (n - mod) / 32;
16
+ }
17
+ return out;
18
+ }
19
+ function encodeRandom() {
20
+ const bytes = randomBytes(10);
21
+ let out = "";
22
+ for (let i = 0; i < 16; i++) {
23
+ // 16 chars * 5 bits = 80 bits = 10 bytes
24
+ const bitIndex = i * 5;
25
+ const byteIndex = Math.floor(bitIndex / 8);
26
+ const bitOffset = bitIndex % 8;
27
+ const high = bytes[byteIndex] ?? 0;
28
+ const low = bytes[byteIndex + 1] ?? 0;
29
+ const combined = ((high << 8) | low) & 0xffff;
30
+ const shift = 11 - bitOffset;
31
+ const value = (combined >> shift) & 0x1f;
32
+ out += ENCODING[value];
33
+ }
34
+ return out;
35
+ }
36
+ //# sourceMappingURL=ulid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ulid.js","sourceRoot":"","sources":["../../../src/engine/lib/ulid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,UAAU,IAAI,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,OAAO,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1B,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,yCAAyC;QACzC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;QAC9C,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC;QACzC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=canvas-ad-params.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-ad-params.test.d.ts","sourceRoot":"","sources":["../../../src/engine/models/canvas-ad-params.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { validateModelParams } from "./validateParams.js";
3
+ // New params added for the ad-reproduction flow: image_describe `context`
4
+ // (caller-supplied provenance) and text_generate `response_format` (JSON mode
5
+ // so the blueprint transform returns fence-free JSON).
6
+ describe("image_describe context param", () => {
7
+ it("accepts a context string", () => {
8
+ const r = validateModelParams("image_describe", "~google/gemini-pro-latest", {
9
+ model: "~google/gemini-pro-latest",
10
+ context: "competitor ad for AssurOpoil, Italian pet insurance",
11
+ });
12
+ expect(r.ok).toBe(true);
13
+ });
14
+ it("rejects a non-string context", () => {
15
+ const r = validateModelParams("image_describe", "~google/gemini-pro-latest", {
16
+ model: "~google/gemini-pro-latest",
17
+ context: 42,
18
+ });
19
+ expect(r.ok).toBe(false);
20
+ });
21
+ });
22
+ describe("text_generate response_format param", () => {
23
+ it("accepts json_object", () => {
24
+ const r = validateModelParams("text_generate", "~google/gemini-pro-latest", {
25
+ model: "~google/gemini-pro-latest",
26
+ prompt: "return JSON",
27
+ response_format: "json_object",
28
+ });
29
+ expect(r.ok).toBe(true);
30
+ });
31
+ it("rejects an unsupported response_format value", () => {
32
+ const r = validateModelParams("text_generate", "~google/gemini-pro-latest", {
33
+ model: "~google/gemini-pro-latest",
34
+ prompt: "x",
35
+ response_format: "yaml",
36
+ });
37
+ expect(r.ok).toBe(false);
38
+ });
39
+ });
40
+ // web_search opts the transform into OpenRouter's `:online` web plugin so it can
41
+ // look up the target brand's real facts before rewriting copy.
42
+ describe("text_generate web_search param", () => {
43
+ it("accepts a boolean web_search", () => {
44
+ const r = validateModelParams("text_generate", "~google/gemini-pro-latest", {
45
+ model: "~google/gemini-pro-latest",
46
+ prompt: "adapt this ad",
47
+ web_search: true,
48
+ });
49
+ expect(r.ok).toBe(true);
50
+ });
51
+ it("rejects a non-boolean web_search", () => {
52
+ const r = validateModelParams("text_generate", "~google/gemini-pro-latest", {
53
+ model: "~google/gemini-pro-latest",
54
+ prompt: "x",
55
+ web_search: "yes",
56
+ });
57
+ expect(r.ok).toBe(false);
58
+ });
59
+ });
60
+ //# sourceMappingURL=canvas-ad-params.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-ad-params.test.js","sourceRoot":"","sources":["../../../src/engine/models/canvas-ad-params.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,0EAA0E;AAC1E,8EAA8E;AAC9E,uDAAuD;AACvD,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE;YAC3E,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,qDAAqD;SAC/D,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE;YAC3E,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,GAAG,mBAAmB,CAAC,eAAe,EAAE,2BAA2B,EAAE;YAC1E,KAAK,EAAE,2BAA2B;YAClC,MAAM,EAAE,aAAa;YACrB,eAAe,EAAE,aAAa;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,GAAG,mBAAmB,CAAC,eAAe,EAAE,2BAA2B,EAAE;YAC1E,KAAK,EAAE,2BAA2B;YAClC,MAAM,EAAE,GAAG;YACX,eAAe,EAAE,MAAM;SACxB,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AACjF,+DAA+D;AAC/D,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,mBAAmB,CAAC,eAAe,EAAE,2BAA2B,EAAE;YAC1E,KAAK,EAAE,2BAA2B;YAClC,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,GAAG,mBAAmB,CAAC,eAAe,EAAE,2BAA2B,EAAE;YAC1E,KAAK,EAAE,2BAA2B;YAClC,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Model registry — single source of truth for per-model capabilities.
3
+ *
4
+ * Curated for the ad-creative use case. The canvas-engine runs inside the
5
+ * controlled E2B sandbox (see `packages/e2b-template/src/template.ts`); we
6
+ * expose a small, opinionated set of models rather than the full provider
7
+ * catalogue. Param names here are CANONICAL — one name per concept across
8
+ * all models. Provider-specific shapes get translated at the backend adapter
9
+ * layer.
10
+ *
11
+ * Consumed by:
12
+ * - the engine's pre-run validator (`validateModelParams`)
13
+ * - the dashboard model picker (param controls + input slot icons)
14
+ * - the backend handlers (defence-in-depth, when wired)
15
+ */
16
+ export type ParamSchema = {
17
+ kind: "string";
18
+ enum?: readonly string[];
19
+ maxLength?: number;
20
+ } | {
21
+ kind: "number";
22
+ enum?: readonly number[];
23
+ min?: number;
24
+ max?: number;
25
+ } | {
26
+ kind: "boolean";
27
+ } | {
28
+ kind: "json";
29
+ };
30
+ export type InputKind = "image" | "video" | "audio";
31
+ /**
32
+ * A single input slot the model can consume. `mimes` is the set of MIME types
33
+ * the provider accepts for that kind — used by Stage 3 pre-flight MIME
34
+ * enforcement (a mime mismatch between source output and sink accepted set is
35
+ * a `mime_not_accepted` validation error).
36
+ */
37
+ type InputSpec = {
38
+ kind: InputKind;
39
+ mimes?: readonly string[];
40
+ };
41
+ type ModelSpec = {
42
+ /** Human label shown in the model picker. */
43
+ label: string;
44
+ /** Input slots the canvas MUST wire up for this model to run. */
45
+ inputs: readonly InputSpec[];
46
+ /**
47
+ * Input slots the model can use if provided but does not require. The UI
48
+ * shows icons for these as drop-targets; the validator does not require
49
+ * them.
50
+ */
51
+ optional_inputs?: readonly InputSpec[];
52
+ /** Canonical param names that MUST be present. */
53
+ required: readonly string[];
54
+ /** Allowed params keyed by canonical name + per-param schema. */
55
+ params: Readonly<Record<string, ParamSchema>>;
56
+ };
57
+ export type NodeKind = "text_generate" | "image_aspect_adapt" | "image_describe" | "image_generate" | "image_reference_sheet" | "image_select" | "video_generate" | "video_deconstruct" | "video_lipsync" | "tts" | "music" | "dialogue" | "sound_effect";
58
+ export declare const ELEVENLABS_OUTPUT_FORMATS: readonly ["mp3_22050_32", "mp3_44100_32", "mp3_44100_64", "mp3_44100_96", "mp3_44100_128", "mp3_44100_192"];
59
+ export declare const ELEVENLABS_MAX_TEXT_CHARS = 45454;
60
+ export declare const ELEVENLABS_MAX_MUSIC_LENGTH_MS = 454545;
61
+ export declare const MODEL_REGISTRY: Readonly<Record<NodeKind, Readonly<Record<string, ModelSpec>>>>;
62
+ export {};
63
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/engine/models/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpD;;;;;GAKG;AACH,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,kDAAkD;IAClD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,iEAAiE;IACjE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,QAAQ,GAChB,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,GAChB,uBAAuB,GACvB,cAAc,GACd,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,KAAK,GACL,OAAO,GACP,UAAU,GACV,cAAc,CAAC;AAoBnB,eAAO,MAAM,yBAAyB,6GAO5B,CAAC;AAMX,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,8BAA8B,SAAU,CAAC;AAiBtD,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAmY1F,CAAC"}