@koda-sl/baker-cli 0.39.29 → 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 (315) 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/engine/client/backend-client.d.ts +50 -0
  56. package/dist/engine/client/backend-client.d.ts.map +1 -0
  57. package/dist/engine/client/backend-client.js +20 -0
  58. package/dist/engine/client/backend-client.js.map +1 -0
  59. package/dist/engine/client/env.d.ts +7 -0
  60. package/dist/engine/client/env.d.ts.map +1 -0
  61. package/dist/engine/client/env.js +18 -0
  62. package/dist/engine/client/env.js.map +1 -0
  63. package/dist/engine/client/http.d.ts +56 -0
  64. package/dist/engine/client/http.d.ts.map +1 -0
  65. package/dist/engine/client/http.js +168 -0
  66. package/dist/engine/client/http.js.map +1 -0
  67. package/dist/engine/engine/cache-key.d.ts +19 -0
  68. package/dist/engine/engine/cache-key.d.ts.map +1 -0
  69. package/dist/engine/engine/cache-key.js +33 -0
  70. package/dist/engine/engine/cache-key.js.map +1 -0
  71. package/dist/engine/engine/canonical.d.ts +14 -0
  72. package/dist/engine/engine/canonical.d.ts.map +1 -0
  73. package/dist/engine/engine/canonical.js +53 -0
  74. package/dist/engine/engine/canonical.js.map +1 -0
  75. package/dist/engine/engine/composition-hash.d.ts +14 -0
  76. package/dist/engine/engine/composition-hash.d.ts.map +1 -0
  77. package/dist/engine/engine/composition-hash.js +51 -0
  78. package/dist/engine/engine/composition-hash.js.map +1 -0
  79. package/dist/engine/engine/composition-meta.d.ts +77 -0
  80. package/dist/engine/engine/composition-meta.d.ts.map +1 -0
  81. package/dist/engine/engine/composition-meta.js +199 -0
  82. package/dist/engine/engine/composition-meta.js.map +1 -0
  83. package/dist/engine/engine/context.d.ts +16 -0
  84. package/dist/engine/engine/context.d.ts.map +1 -0
  85. package/dist/engine/engine/context.js +2 -0
  86. package/dist/engine/engine/context.js.map +1 -0
  87. package/dist/engine/engine/define.d.ts +69 -0
  88. package/dist/engine/engine/define.d.ts.map +1 -0
  89. package/dist/engine/engine/define.js +9 -0
  90. package/dist/engine/engine/define.js.map +1 -0
  91. package/dist/engine/engine/didyoumean.d.ts +2 -0
  92. package/dist/engine/engine/didyoumean.d.ts.map +1 -0
  93. package/dist/engine/engine/didyoumean.js +58 -0
  94. package/dist/engine/engine/didyoumean.js.map +1 -0
  95. package/dist/engine/engine/errors.d.ts +41 -0
  96. package/dist/engine/engine/errors.d.ts.map +1 -0
  97. package/dist/engine/engine/errors.js +45 -0
  98. package/dist/engine/engine/errors.js.map +1 -0
  99. package/dist/engine/engine/executor.d.ts +72 -0
  100. package/dist/engine/engine/executor.d.ts.map +1 -0
  101. package/dist/engine/engine/executor.js +445 -0
  102. package/dist/engine/engine/executor.js.map +1 -0
  103. package/dist/engine/engine/refs.d.ts +12 -0
  104. package/dist/engine/engine/refs.d.ts.map +1 -0
  105. package/dist/engine/engine/refs.js +48 -0
  106. package/dist/engine/engine/refs.js.map +1 -0
  107. package/dist/engine/engine/registry.d.ts +11 -0
  108. package/dist/engine/engine/registry.d.ts.map +1 -0
  109. package/dist/engine/engine/registry.js +26 -0
  110. package/dist/engine/engine/registry.js.map +1 -0
  111. package/dist/engine/engine/scheduler.d.ts +10 -0
  112. package/dist/engine/engine/scheduler.d.ts.map +1 -0
  113. package/dist/engine/engine/scheduler.js +89 -0
  114. package/dist/engine/engine/scheduler.js.map +1 -0
  115. package/dist/engine/engine/validator.d.ts +31 -0
  116. package/dist/engine/engine/validator.d.ts.map +1 -0
  117. package/dist/engine/engine/validator.js +501 -0
  118. package/dist/engine/engine/validator.js.map +1 -0
  119. package/dist/engine/index.d.ts +33 -0
  120. package/dist/engine/index.d.ts.map +1 -0
  121. package/dist/engine/index.js +104 -0
  122. package/dist/engine/index.js.map +1 -0
  123. package/dist/engine/lib/ulid.d.ts +3 -0
  124. package/dist/engine/lib/ulid.d.ts.map +1 -0
  125. package/dist/engine/lib/ulid.js +36 -0
  126. package/dist/engine/lib/ulid.js.map +1 -0
  127. package/dist/engine/models/canvas-ad-params.test.d.ts +2 -0
  128. package/dist/engine/models/canvas-ad-params.test.d.ts.map +1 -0
  129. package/dist/engine/models/canvas-ad-params.test.js +60 -0
  130. package/dist/engine/models/canvas-ad-params.test.js.map +1 -0
  131. package/dist/engine/models/registry.d.ts +63 -0
  132. package/dist/engine/models/registry.d.ts.map +1 -0
  133. package/dist/engine/models/registry.js +432 -0
  134. package/dist/engine/models/registry.js.map +1 -0
  135. package/dist/engine/models/validateParams.d.ts +38 -0
  136. package/dist/engine/models/validateParams.d.ts.map +1 -0
  137. package/dist/engine/models/validateParams.js +166 -0
  138. package/dist/engine/models/validateParams.js.map +1 -0
  139. package/dist/engine/nodes/ingest.d.ts +113 -0
  140. package/dist/engine/nodes/ingest.d.ts.map +1 -0
  141. package/dist/engine/nodes/ingest.js +555 -0
  142. package/dist/engine/nodes/ingest.js.map +1 -0
  143. package/dist/engine/nodes/ingest.svg.test.d.ts +2 -0
  144. package/dist/engine/nodes/ingest.svg.test.d.ts.map +1 -0
  145. package/dist/engine/nodes/ingest.svg.test.js +30 -0
  146. package/dist/engine/nodes/ingest.svg.test.js.map +1 -0
  147. package/dist/engine/nodes/local/audioTimeline.d.ts +82 -0
  148. package/dist/engine/nodes/local/audioTimeline.d.ts.map +1 -0
  149. package/dist/engine/nodes/local/audioTimeline.js +97 -0
  150. package/dist/engine/nodes/local/audioTimeline.js.map +1 -0
  151. package/dist/engine/nodes/local/ffmpeg.d.ts +56 -0
  152. package/dist/engine/nodes/local/ffmpeg.d.ts.map +1 -0
  153. package/dist/engine/nodes/local/ffmpeg.js +50 -0
  154. package/dist/engine/nodes/local/ffmpeg.js.map +1 -0
  155. package/dist/engine/nodes/local/fontSpecimen.d.ts +50 -0
  156. package/dist/engine/nodes/local/fontSpecimen.d.ts.map +1 -0
  157. package/dist/engine/nodes/local/fontSpecimen.js +198 -0
  158. package/dist/engine/nodes/local/fontSpecimen.js.map +1 -0
  159. package/dist/engine/nodes/local/hyperframe-snapshot.d.ts +116 -0
  160. package/dist/engine/nodes/local/hyperframe-snapshot.d.ts.map +1 -0
  161. package/dist/engine/nodes/local/hyperframe-snapshot.js +230 -0
  162. package/dist/engine/nodes/local/hyperframe-snapshot.js.map +1 -0
  163. package/dist/engine/nodes/local/hyperframe.d.ts +123 -0
  164. package/dist/engine/nodes/local/hyperframe.d.ts.map +1 -0
  165. package/dist/engine/nodes/local/hyperframe.js +367 -0
  166. package/dist/engine/nodes/local/hyperframe.js.map +1 -0
  167. package/dist/engine/nodes/local/imagemagick.d.ts +56 -0
  168. package/dist/engine/nodes/local/imagemagick.d.ts.map +1 -0
  169. package/dist/engine/nodes/local/imagemagick.js +71 -0
  170. package/dist/engine/nodes/local/imagemagick.js.map +1 -0
  171. package/dist/engine/nodes/local/lib/assets.d.ts +20 -0
  172. package/dist/engine/nodes/local/lib/assets.d.ts.map +1 -0
  173. package/dist/engine/nodes/local/lib/assets.js +40 -0
  174. package/dist/engine/nodes/local/lib/assets.js.map +1 -0
  175. package/dist/engine/nodes/local/lib/cli-runner.d.ts +78 -0
  176. package/dist/engine/nodes/local/lib/cli-runner.d.ts.map +1 -0
  177. package/dist/engine/nodes/local/lib/cli-runner.js +254 -0
  178. package/dist/engine/nodes/local/lib/cli-runner.js.map +1 -0
  179. package/dist/engine/nodes/local/lib/ffmpeg.d.ts +23 -0
  180. package/dist/engine/nodes/local/lib/ffmpeg.d.ts.map +1 -0
  181. package/dist/engine/nodes/local/lib/ffmpeg.js +75 -0
  182. package/dist/engine/nodes/local/lib/ffmpeg.js.map +1 -0
  183. package/dist/engine/nodes/local/lib/hyperframe-errors.d.ts +2 -0
  184. package/dist/engine/nodes/local/lib/hyperframe-errors.d.ts.map +1 -0
  185. package/dist/engine/nodes/local/lib/hyperframe-errors.js +47 -0
  186. package/dist/engine/nodes/local/lib/hyperframe-errors.js.map +1 -0
  187. package/dist/engine/nodes/local/lib/templating.d.ts +22 -0
  188. package/dist/engine/nodes/local/lib/templating.d.ts.map +1 -0
  189. package/dist/engine/nodes/local/lib/templating.js +85 -0
  190. package/dist/engine/nodes/local/lib/templating.js.map +1 -0
  191. package/dist/engine/nodes/local/text.d.ts +6 -0
  192. package/dist/engine/nodes/local/text.d.ts.map +1 -0
  193. package/dist/engine/nodes/local/text.js +15 -0
  194. package/dist/engine/nodes/local/text.js.map +1 -0
  195. package/dist/engine/nodes/remote/delegate.d.ts +25 -0
  196. package/dist/engine/nodes/remote/delegate.d.ts.map +1 -0
  197. package/dist/engine/nodes/remote/delegate.js +160 -0
  198. package/dist/engine/nodes/remote/delegate.js.map +1 -0
  199. package/dist/engine/nodes/remote/dialogue.d.ts +34 -0
  200. package/dist/engine/nodes/remote/dialogue.d.ts.map +1 -0
  201. package/dist/engine/nodes/remote/dialogue.js +54 -0
  202. package/dist/engine/nodes/remote/dialogue.js.map +1 -0
  203. package/dist/engine/nodes/remote/image.d.ts +42 -0
  204. package/dist/engine/nodes/remote/image.d.ts.map +1 -0
  205. package/dist/engine/nodes/remote/image.js +43 -0
  206. package/dist/engine/nodes/remote/image.js.map +1 -0
  207. package/dist/engine/nodes/remote/imageAspectAdapt.d.ts +30 -0
  208. package/dist/engine/nodes/remote/imageAspectAdapt.d.ts.map +1 -0
  209. package/dist/engine/nodes/remote/imageAspectAdapt.js +42 -0
  210. package/dist/engine/nodes/remote/imageAspectAdapt.js.map +1 -0
  211. package/dist/engine/nodes/remote/imageBackgroundRemove.d.ts +39 -0
  212. package/dist/engine/nodes/remote/imageBackgroundRemove.d.ts.map +1 -0
  213. package/dist/engine/nodes/remote/imageBackgroundRemove.js +37 -0
  214. package/dist/engine/nodes/remote/imageBackgroundRemove.js.map +1 -0
  215. package/dist/engine/nodes/remote/imageDescribe.d.ts +29 -0
  216. package/dist/engine/nodes/remote/imageDescribe.d.ts.map +1 -0
  217. package/dist/engine/nodes/remote/imageDescribe.js +25 -0
  218. package/dist/engine/nodes/remote/imageDescribe.js.map +1 -0
  219. package/dist/engine/nodes/remote/imageReferenceSheet.d.ts +34 -0
  220. package/dist/engine/nodes/remote/imageReferenceSheet.d.ts.map +1 -0
  221. package/dist/engine/nodes/remote/imageReferenceSheet.js +38 -0
  222. package/dist/engine/nodes/remote/imageReferenceSheet.js.map +1 -0
  223. package/dist/engine/nodes/remote/imageSearch.d.ts +18 -0
  224. package/dist/engine/nodes/remote/imageSearch.d.ts.map +1 -0
  225. package/dist/engine/nodes/remote/imageSearch.js +22 -0
  226. package/dist/engine/nodes/remote/imageSearch.js.map +1 -0
  227. package/dist/engine/nodes/remote/imageSelect.d.ts +39 -0
  228. package/dist/engine/nodes/remote/imageSelect.d.ts.map +1 -0
  229. package/dist/engine/nodes/remote/imageSelect.js +45 -0
  230. package/dist/engine/nodes/remote/imageSelect.js.map +1 -0
  231. package/dist/engine/nodes/remote/music.d.ts +45 -0
  232. package/dist/engine/nodes/remote/music.d.ts.map +1 -0
  233. package/dist/engine/nodes/remote/music.js +73 -0
  234. package/dist/engine/nodes/remote/music.js.map +1 -0
  235. package/dist/engine/nodes/remote/soundEffect.d.ts +21 -0
  236. package/dist/engine/nodes/remote/soundEffect.d.ts.map +1 -0
  237. package/dist/engine/nodes/remote/soundEffect.js +41 -0
  238. package/dist/engine/nodes/remote/soundEffect.js.map +1 -0
  239. package/dist/engine/nodes/remote/textGenerate.d.ts +21 -0
  240. package/dist/engine/nodes/remote/textGenerate.d.ts.map +1 -0
  241. package/dist/engine/nodes/remote/textGenerate.js +27 -0
  242. package/dist/engine/nodes/remote/textGenerate.js.map +1 -0
  243. package/dist/engine/nodes/remote/tts.d.ts +45 -0
  244. package/dist/engine/nodes/remote/tts.d.ts.map +1 -0
  245. package/dist/engine/nodes/remote/tts.js +66 -0
  246. package/dist/engine/nodes/remote/tts.js.map +1 -0
  247. package/dist/engine/nodes/remote/video.d.ts +58 -0
  248. package/dist/engine/nodes/remote/video.d.ts.map +1 -0
  249. package/dist/engine/nodes/remote/video.js +44 -0
  250. package/dist/engine/nodes/remote/video.js.map +1 -0
  251. package/dist/engine/nodes/remote/videoBackgroundRemove.d.ts +30 -0
  252. package/dist/engine/nodes/remote/videoBackgroundRemove.d.ts.map +1 -0
  253. package/dist/engine/nodes/remote/videoBackgroundRemove.js +29 -0
  254. package/dist/engine/nodes/remote/videoBackgroundRemove.js.map +1 -0
  255. package/dist/engine/nodes/remote/videoDeconstruct.d.ts +61 -0
  256. package/dist/engine/nodes/remote/videoDeconstruct.d.ts.map +1 -0
  257. package/dist/engine/nodes/remote/videoDeconstruct.js +40 -0
  258. package/dist/engine/nodes/remote/videoDeconstruct.js.map +1 -0
  259. package/dist/engine/nodes/remote/videoLipsync.d.ts +37 -0
  260. package/dist/engine/nodes/remote/videoLipsync.d.ts.map +1 -0
  261. package/dist/engine/nodes/remote/videoLipsync.js +26 -0
  262. package/dist/engine/nodes/remote/videoLipsync.js.map +1 -0
  263. package/dist/engine/nodes/remote/videoTranscribe.d.ts +116 -0
  264. package/dist/engine/nodes/remote/videoTranscribe.d.ts.map +1 -0
  265. package/dist/engine/nodes/remote/videoTranscribe.js +123 -0
  266. package/dist/engine/nodes/remote/videoTranscribe.js.map +1 -0
  267. package/dist/engine/nodes/remote/voiceSelect.d.ts +28 -0
  268. package/dist/engine/nodes/remote/voiceSelect.d.ts.map +1 -0
  269. package/dist/engine/nodes/remote/voiceSelect.js +25 -0
  270. package/dist/engine/nodes/remote/voiceSelect.js.map +1 -0
  271. package/dist/engine/scaffold/staticAd.d.ts +44 -0
  272. package/dist/engine/scaffold/staticAd.d.ts.map +1 -0
  273. package/dist/engine/scaffold/staticAd.js +243 -0
  274. package/dist/engine/scaffold/staticAd.js.map +1 -0
  275. package/dist/engine/scaffold/video.d.ts +56 -0
  276. package/dist/engine/scaffold/video.d.ts.map +1 -0
  277. package/dist/engine/scaffold/video.js +709 -0
  278. package/dist/engine/scaffold/video.js.map +1 -0
  279. package/dist/engine/schema/canvas.d.ts +41 -0
  280. package/dist/engine/schema/canvas.d.ts.map +1 -0
  281. package/dist/engine/schema/canvas.js +67 -0
  282. package/dist/engine/schema/canvas.js.map +1 -0
  283. package/dist/engine/schema/catalog.d.ts +25 -0
  284. package/dist/engine/schema/catalog.d.ts.map +1 -0
  285. package/dist/engine/schema/catalog.js +48 -0
  286. package/dist/engine/schema/catalog.js.map +1 -0
  287. package/dist/engine/schema/primitives.d.ts +6 -0
  288. package/dist/engine/schema/primitives.d.ts.map +1 -0
  289. package/dist/engine/schema/primitives.js +4 -0
  290. package/dist/engine/schema/primitives.js.map +1 -0
  291. package/dist/engine/schema/prompts.d.ts +4 -0
  292. package/dist/engine/schema/prompts.d.ts.map +1 -0
  293. package/dist/engine/schema/prompts.js +23 -0
  294. package/dist/engine/schema/prompts.js.map +1 -0
  295. package/dist/engine/schema/refs.d.ts +113 -0
  296. package/dist/engine/schema/refs.d.ts.map +1 -0
  297. package/dist/engine/schema/refs.js +35 -0
  298. package/dist/engine/schema/refs.js.map +1 -0
  299. package/dist/engine/storage/asset-store.d.ts +48 -0
  300. package/dist/engine/storage/asset-store.d.ts.map +1 -0
  301. package/dist/engine/storage/asset-store.js +166 -0
  302. package/dist/engine/storage/asset-store.js.map +1 -0
  303. package/dist/engine/storage/cache-store.d.ts +21 -0
  304. package/dist/engine/storage/cache-store.d.ts.map +1 -0
  305. package/dist/engine/storage/cache-store.js +31 -0
  306. package/dist/engine/storage/cache-store.js.map +1 -0
  307. package/dist/engine/storage/output-writer.d.ts +18 -0
  308. package/dist/engine/storage/output-writer.d.ts.map +1 -0
  309. package/dist/engine/storage/output-writer.js +52 -0
  310. package/dist/engine/storage/output-writer.js.map +1 -0
  311. package/dist/engine/storage/sha256.d.ts +2 -0
  312. package/dist/engine/storage/sha256.d.ts.map +1 -0
  313. package/dist/engine/storage/sha256.js +7 -0
  314. package/dist/engine/storage/sha256.js.map +1 -0
  315. package/package.json +15 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/engine/scaffold/video.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { z } from "zod";
2
+ export declare const REF_PREFIX = "$ref:";
3
+ export type RefExpr = {
4
+ kind: "ref";
5
+ nodeId: string;
6
+ output: string;
7
+ index?: number;
8
+ };
9
+ export declare function parseRefExpr(input: string): RefExpr | null;
10
+ export declare const NodeDecl: z.ZodObject<{
11
+ id: z.ZodString;
12
+ type: z.ZodString;
13
+ version: z.ZodOptional<z.ZodString>;
14
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
15
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
16
+ when: z.ZodOptional<z.ZodUnknown>;
17
+ }, z.core.$strict>;
18
+ export type NodeDecl = z.infer<typeof NodeDecl>;
19
+ export declare const CanvasSchema: z.ZodObject<{
20
+ schema: z.ZodLiteral<"baker-canvas/1">;
21
+ cache_salt: z.ZodOptional<z.ZodString>;
22
+ metadata: z.ZodOptional<z.ZodObject<{
23
+ name: z.ZodOptional<z.ZodString>;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ todo: z.ZodOptional<z.ZodUnknown>;
26
+ }, z.core.$strict>>;
27
+ nodes: z.ZodArray<z.ZodObject<{
28
+ id: z.ZodString;
29
+ type: z.ZodString;
30
+ version: z.ZodOptional<z.ZodString>;
31
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
32
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
33
+ when: z.ZodOptional<z.ZodUnknown>;
34
+ }, z.core.$strict>>;
35
+ output: z.ZodOptional<z.ZodObject<{
36
+ node: z.ZodString;
37
+ output: z.ZodString;
38
+ }, z.core.$strict>>;
39
+ }, z.core.$strict>;
40
+ export type Canvas = z.infer<typeof CanvasSchema>;
41
+ //# sourceMappingURL=canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/engine/schema/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAoB1D;AAID,eAAO,MAAM,QAAQ;;;;;;;kBASV,CAAC;AACZ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAqBhD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;kBAQd,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { z } from "zod";
2
+ // $ref:<node_id>.<output> — pass-through the full output (often a list)
3
+ // $ref:<node_id>.<output>#<index> — pick a static index
4
+ export const REF_PREFIX = "$ref:";
5
+ export function parseRefExpr(input) {
6
+ if (!input.startsWith(REF_PREFIX))
7
+ return null;
8
+ const rest = input.slice(REF_PREFIX.length);
9
+ const hashIdx = rest.indexOf("#");
10
+ const head = hashIdx === -1 ? rest : rest.slice(0, hashIdx);
11
+ const tail = hashIdx === -1 ? null : rest.slice(hashIdx + 1);
12
+ const dot = head.indexOf(".");
13
+ if (dot <= 0)
14
+ return null;
15
+ const nodeId = head.slice(0, dot);
16
+ const output = head.slice(dot + 1);
17
+ if (!nodeId || !output)
18
+ return null;
19
+ let index;
20
+ if (tail !== null) {
21
+ // Reject an empty index (`...#`): Number("") is 0 and would silently
22
+ // resolve to element 0 instead of failing on the malformed ref.
23
+ const n = Number(tail);
24
+ if (tail === "" || !Number.isInteger(n) || n < 0)
25
+ return null;
26
+ index = n;
27
+ }
28
+ return { kind: "ref", nodeId, output, index };
29
+ }
30
+ const NodeIdRe = /^[a-z][a-z0-9_]*$/;
31
+ export const NodeDecl = z
32
+ .object({
33
+ id: z.string().regex(NodeIdRe, "node id must be lower_snake_case"),
34
+ type: z.string().min(1),
35
+ version: z.string().min(1).optional(),
36
+ inputs: z.record(z.string(), z.unknown()).optional(),
37
+ params: z.record(z.string(), z.unknown()).optional(),
38
+ when: z.unknown().optional(),
39
+ })
40
+ .strict();
41
+ const OutputRef = z
42
+ .object({
43
+ node: z.string(),
44
+ output: z.string(),
45
+ })
46
+ .strict();
47
+ const CanvasMetadata = z
48
+ .object({
49
+ name: z.string().optional(),
50
+ description: z.string().optional(),
51
+ // Free-form, human-facing next-steps guide embedded by scaffolds (e.g.
52
+ // `scaffold-video`) so the editable checklist travels inside the canvas
53
+ // instead of only printing to stdout. Ignored by the engine.
54
+ todo: z.unknown().optional(),
55
+ })
56
+ .strict()
57
+ .optional();
58
+ export const CanvasSchema = z
59
+ .object({
60
+ schema: z.literal("baker-canvas/1"),
61
+ cache_salt: z.string().optional(),
62
+ metadata: CanvasMetadata,
63
+ nodes: z.array(NodeDecl).min(1),
64
+ output: OutputRef.optional(),
65
+ })
66
+ .strict();
67
+ //# sourceMappingURL=canvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/engine/schema/canvas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { NodeRegistry } from "../engine/registry.ts";
2
+ type CatalogEntry = {
3
+ id: string;
4
+ version: string;
5
+ category: string;
6
+ summary: string;
7
+ when_to_use?: string;
8
+ location: "local" | "remote";
9
+ inputs: unknown;
10
+ params: unknown;
11
+ outputs: unknown;
12
+ cost_estimate_credits?: number;
13
+ runtime_estimate_seconds?: number;
14
+ };
15
+ type Catalog = {
16
+ schema: "baker-canvas-catalog/2";
17
+ generated_at: string;
18
+ categories: Record<string, string[]>;
19
+ entries: CatalogEntry[];
20
+ };
21
+ export declare function generateCatalog(registry: NodeRegistry, opts?: {
22
+ generatedAt?: string;
23
+ }): Catalog;
24
+ export {};
25
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/engine/schema/catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,wBAAwB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrC,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAqCpG"}
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ export function generateCatalog(registry, opts = {}) {
3
+ const entries = registry
4
+ .all()
5
+ .map((def) => {
6
+ const cost = def.cost ? safeCost(def) : undefined;
7
+ return {
8
+ id: def.id,
9
+ version: def.version,
10
+ category: def.category,
11
+ summary: def.summary,
12
+ when_to_use: def.when_to_use,
13
+ location: def.location,
14
+ inputs: z.toJSONSchema(def.inputs, { unrepresentable: "any" }),
15
+ params: z.toJSONSchema(def.params, { unrepresentable: "any" }),
16
+ outputs: z.toJSONSchema(def.outputs, { unrepresentable: "any" }),
17
+ cost_estimate_credits: cost?.credits,
18
+ runtime_estimate_seconds: cost?.seconds_estimate,
19
+ };
20
+ })
21
+ .sort((a, b) => a.id.localeCompare(b.id));
22
+ const categories = {};
23
+ for (const e of entries) {
24
+ let bucket = categories[e.category];
25
+ if (!bucket) {
26
+ bucket = [];
27
+ categories[e.category] = bucket;
28
+ }
29
+ bucket.push(e.id);
30
+ }
31
+ return {
32
+ schema: "baker-canvas-catalog/2",
33
+ generated_at: opts.generatedAt ?? new Date().toISOString(),
34
+ categories,
35
+ entries,
36
+ };
37
+ }
38
+ function safeCost(def) {
39
+ if (!def.cost)
40
+ return null;
41
+ try {
42
+ return def.cost({ params: {} });
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/engine/schema/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,MAAM,UAAU,eAAe,CAAC,QAAsB,EAAE,OAAiC,EAAE;IACzF,MAAM,OAAO,GAAmB,QAAQ;SACrC,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YAC9D,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YAChE,qBAAqB,EAAE,IAAI,EAAE,OAAO;YACpC,wBAAwB,EAAE,IAAI,EAAE,gBAAgB;SACjD,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5C,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,EAAE,CAAC;YACZ,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,wBAAwB;QAChC,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC1D,UAAU;QACV,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,GAA4F;IAI5G,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { z } from "zod";
2
+ export declare const Sha256Hex: z.ZodString;
3
+ export type Sha256Hex = z.infer<typeof Sha256Hex>;
4
+ export declare const MimeType: z.ZodString;
5
+ export type MimeType = z.infer<typeof MimeType>;
6
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/engine/schema/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS,aAAgF,CAAC;AACvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ,aAA+F,CAAC;AACrH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { z } from "zod";
2
+ export const Sha256Hex = z.string().regex(/^[0-9a-f]{64}$/, "expected 64-char lower-case hex sha-256");
3
+ export const MimeType = z.string().regex(/^[a-zA-Z0-9!#$&^_.+-]+\/[a-zA-Z0-9!#$&^_.+-]+$/, "expected RFC 6838 mime");
4
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/engine/schema/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,yCAAyC,CAAC,CAAC;AAGvG,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gDAAgD,EAAE,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function extractSlots(template: string): string[];
2
+ export declare function renderTemplate(template: string, values: Record<string, string>): string;
3
+ export declare function hasUnresolvedSlots(template: string, values: Record<string, string>): string[];
4
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/engine/schema/prompts.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAOvD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAOvF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAG7F"}
@@ -0,0 +1,23 @@
1
+ const SLOT_RE = /\{\{\s*([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}/g;
2
+ export function extractSlots(template) {
3
+ const out = new Set();
4
+ for (const match of template.matchAll(SLOT_RE)) {
5
+ const name = match[1];
6
+ if (name)
7
+ out.add(name);
8
+ }
9
+ return [...out];
10
+ }
11
+ export function renderTemplate(template, values) {
12
+ return template.replace(SLOT_RE, (_full, name) => {
13
+ if (Object.hasOwn(values, name)) {
14
+ return values[name] ?? "";
15
+ }
16
+ return "";
17
+ });
18
+ }
19
+ export function hasUnresolvedSlots(template, values) {
20
+ const slots = extractSlots(template);
21
+ return slots.filter((s) => !Object.hasOwn(values, s));
22
+ }
23
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/engine/schema/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,yCAAyC,CAAC;AAE1D,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,MAA8B;IAC7E,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QACvD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,MAA8B;IACjF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,113 @@
1
+ import { z } from "zod";
2
+ export declare const ImageRef: z.ZodObject<{
3
+ url: z.ZodOptional<z.ZodString>;
4
+ path: z.ZodOptional<z.ZodString>;
5
+ sha256: z.ZodString;
6
+ mime: z.ZodString;
7
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
8
+ kind: z.ZodLiteral<"image">;
9
+ width: z.ZodOptional<z.ZodNumber>;
10
+ height: z.ZodOptional<z.ZodNumber>;
11
+ }, z.core.$strip>;
12
+ export type ImageRef = z.infer<typeof ImageRef>;
13
+ export declare const VideoRef: z.ZodObject<{
14
+ url: z.ZodOptional<z.ZodString>;
15
+ path: z.ZodOptional<z.ZodString>;
16
+ sha256: z.ZodString;
17
+ mime: z.ZodString;
18
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
19
+ kind: z.ZodLiteral<"video">;
20
+ width: z.ZodOptional<z.ZodNumber>;
21
+ height: z.ZodOptional<z.ZodNumber>;
22
+ duration_ms: z.ZodOptional<z.ZodNumber>;
23
+ }, z.core.$strip>;
24
+ export type VideoRef = z.infer<typeof VideoRef>;
25
+ export declare const AudioRef: z.ZodObject<{
26
+ url: z.ZodOptional<z.ZodString>;
27
+ path: z.ZodOptional<z.ZodString>;
28
+ sha256: z.ZodString;
29
+ mime: z.ZodString;
30
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
31
+ kind: z.ZodLiteral<"audio">;
32
+ duration_ms: z.ZodOptional<z.ZodNumber>;
33
+ }, z.core.$strip>;
34
+ export type AudioRef = z.infer<typeof AudioRef>;
35
+ export declare const JsonRef: z.ZodObject<{
36
+ url: z.ZodOptional<z.ZodString>;
37
+ path: z.ZodOptional<z.ZodString>;
38
+ sha256: z.ZodString;
39
+ mime: z.ZodString;
40
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
+ kind: z.ZodLiteral<"json">;
42
+ }, z.core.$strip>;
43
+ export type JsonRef = z.infer<typeof JsonRef>;
44
+ export declare const TextRef: z.ZodObject<{
45
+ url: z.ZodOptional<z.ZodString>;
46
+ path: z.ZodOptional<z.ZodString>;
47
+ sha256: z.ZodString;
48
+ mime: z.ZodString;
49
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
50
+ kind: z.ZodLiteral<"text">;
51
+ }, z.core.$strip>;
52
+ export type TextRef = z.infer<typeof TextRef>;
53
+ export declare const FontRef: z.ZodObject<{
54
+ url: z.ZodOptional<z.ZodString>;
55
+ path: z.ZodOptional<z.ZodString>;
56
+ sha256: z.ZodString;
57
+ mime: z.ZodString;
58
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
59
+ kind: z.ZodLiteral<"font">;
60
+ }, z.core.$strip>;
61
+ export type FontRef = z.infer<typeof FontRef>;
62
+ export declare const AssetRef: z.ZodDiscriminatedUnion<[z.ZodObject<{
63
+ url: z.ZodOptional<z.ZodString>;
64
+ path: z.ZodOptional<z.ZodString>;
65
+ sha256: z.ZodString;
66
+ mime: z.ZodString;
67
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
68
+ kind: z.ZodLiteral<"image">;
69
+ width: z.ZodOptional<z.ZodNumber>;
70
+ height: z.ZodOptional<z.ZodNumber>;
71
+ }, z.core.$strip>, z.ZodObject<{
72
+ url: z.ZodOptional<z.ZodString>;
73
+ path: z.ZodOptional<z.ZodString>;
74
+ sha256: z.ZodString;
75
+ mime: z.ZodString;
76
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
77
+ kind: z.ZodLiteral<"video">;
78
+ width: z.ZodOptional<z.ZodNumber>;
79
+ height: z.ZodOptional<z.ZodNumber>;
80
+ duration_ms: z.ZodOptional<z.ZodNumber>;
81
+ }, z.core.$strip>, z.ZodObject<{
82
+ url: z.ZodOptional<z.ZodString>;
83
+ path: z.ZodOptional<z.ZodString>;
84
+ sha256: z.ZodString;
85
+ mime: z.ZodString;
86
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
87
+ kind: z.ZodLiteral<"audio">;
88
+ duration_ms: z.ZodOptional<z.ZodNumber>;
89
+ }, z.core.$strip>, z.ZodObject<{
90
+ url: z.ZodOptional<z.ZodString>;
91
+ path: z.ZodOptional<z.ZodString>;
92
+ sha256: z.ZodString;
93
+ mime: z.ZodString;
94
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
95
+ kind: z.ZodLiteral<"json">;
96
+ }, z.core.$strip>, z.ZodObject<{
97
+ url: z.ZodOptional<z.ZodString>;
98
+ path: z.ZodOptional<z.ZodString>;
99
+ sha256: z.ZodString;
100
+ mime: z.ZodString;
101
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
102
+ kind: z.ZodLiteral<"text">;
103
+ }, z.core.$strip>, z.ZodObject<{
104
+ url: z.ZodOptional<z.ZodString>;
105
+ path: z.ZodOptional<z.ZodString>;
106
+ sha256: z.ZodString;
107
+ mime: z.ZodString;
108
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
109
+ kind: z.ZodLiteral<"font">;
110
+ }, z.core.$strip>], "kind">;
111
+ export type AssetRef = z.infer<typeof AssetRef>;
112
+ export type AssetKind = AssetRef["kind"];
113
+ //# sourceMappingURL=refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../src/engine/schema/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,QAAQ;;;;;;;;;iBAInB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,QAAQ;;;;;;;;;;iBAKnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,QAAQ;;;;;;;;iBAGnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,OAAO;;;;;;;iBAElB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C,eAAO,MAAM,OAAO;;;;;;;iBAElB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C,eAAO,MAAM,OAAO;;;;;;;iBAElB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAA0F,CAAC;AAChH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { z } from "zod";
2
+ import { MimeType, Sha256Hex } from "./primitives.js";
3
+ const BaseAssetRef = z.object({
4
+ url: z.string().url().optional(),
5
+ path: z.string().optional(),
6
+ sha256: Sha256Hex,
7
+ mime: MimeType,
8
+ metadata: z.record(z.string(), z.unknown()).optional(),
9
+ });
10
+ export const ImageRef = BaseAssetRef.extend({
11
+ kind: z.literal("image"),
12
+ width: z.number().int().positive().optional(),
13
+ height: z.number().int().positive().optional(),
14
+ });
15
+ export const VideoRef = BaseAssetRef.extend({
16
+ kind: z.literal("video"),
17
+ width: z.number().int().positive().optional(),
18
+ height: z.number().int().positive().optional(),
19
+ duration_ms: z.number().nonnegative().optional(),
20
+ });
21
+ export const AudioRef = BaseAssetRef.extend({
22
+ kind: z.literal("audio"),
23
+ duration_ms: z.number().nonnegative().optional(),
24
+ });
25
+ export const JsonRef = BaseAssetRef.extend({
26
+ kind: z.literal("json"),
27
+ });
28
+ export const TextRef = BaseAssetRef.extend({
29
+ kind: z.literal("text"),
30
+ });
31
+ export const FontRef = BaseAssetRef.extend({
32
+ kind: z.literal("font"),
33
+ });
34
+ export const AssetRef = z.discriminatedUnion("kind", [ImageRef, VideoRef, AudioRef, JsonRef, TextRef, FontRef]);
35
+ //# sourceMappingURL=refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../../src/engine/schema/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CACxB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CACxB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CACxB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { AssetKind, AssetRef } from "../schema/refs.ts";
2
+ /**
3
+ * Hard ceiling on any single asset the engine downloads or reads from disk.
4
+ * Generated ad creatives are tens of MB; 2 GiB leaves generous headroom while
5
+ * keeping a hostile or mistaken URL from exhausting the disk.
6
+ */
7
+ export declare const MAX_ASSET_BYTES: number;
8
+ export declare function extForMime(mime: string): string;
9
+ export type IngestRemoteArgs = {
10
+ kind: AssetKind;
11
+ url: string;
12
+ sha256: string;
13
+ mime: string;
14
+ metadata?: Record<string, unknown>;
15
+ };
16
+ export interface AssetStore {
17
+ rootDir: string;
18
+ ingestBytes(args: {
19
+ bytes: Buffer;
20
+ kind: AssetKind;
21
+ mime: string;
22
+ metadata?: Record<string, unknown>;
23
+ }): Promise<AssetRef>;
24
+ ingestRemote(args: IngestRemoteArgs): Promise<AssetRef>;
25
+ /** Local FS path for an asset by sha. Returns undefined if absent. */
26
+ pathFor(sha: string, mime: string): string;
27
+ exists(sha: string, mime: string): Promise<boolean>;
28
+ readBytes(sha: string, mime: string): Promise<Buffer>;
29
+ }
30
+ export declare class LocalAssetStore implements AssetStore {
31
+ rootDir: string;
32
+ private readonly fetchFn;
33
+ private readonly maxRemoteAssetBytes;
34
+ constructor(rootDir: string, fetchFn?: typeof fetch, opts?: {
35
+ maxRemoteAssetBytes?: number;
36
+ });
37
+ pathFor(sha: string, mime: string): string;
38
+ exists(sha: string, mime: string): Promise<boolean>;
39
+ readBytes(sha: string, mime: string): Promise<Buffer>;
40
+ ingestBytes(args: {
41
+ bytes: Buffer;
42
+ kind: AssetKind;
43
+ mime: string;
44
+ metadata?: Record<string, unknown>;
45
+ }): Promise<AssetRef>;
46
+ ingestRemote(args: IngestRemoteArgs): Promise<AssetRef>;
47
+ }
48
+ //# sourceMappingURL=asset-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-store.d.ts","sourceRoot":"","sources":["../../../src/engine/storage/asset-store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAyB,CAAC;AA0BtD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,IAAI,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,sEAAsE;IACtE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD;AAED,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,KAAa,EAAE,IAAI,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE;IAMnG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAMpC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASzD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,WAAW,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYf,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;CA8C9D"}