@koda-sl/baker-cli 0.482.0 → 0.483.0

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 (164) hide show
  1. package/README.md +1 -1
  2. package/dist/{animate-3LV3LHXQ.js → animate-SVEPM267.js} +4 -4
  3. package/dist/{brand-CINQG3JG.js → brand-LAIIXZBL.js} +2 -2
  4. package/dist/{brief-WAQ2V6Q4.js → brief-7PICJ4CO.js} +13 -13
  5. package/dist/{canvas-A4XKEBN7.js → canvas-YS3ONCCX.js} +13 -13
  6. package/dist/{catalog-SJBGNNY4.js → catalog-RS4F5YK3.js} +8 -8
  7. package/dist/{check-GCZ2ZBKH.js → check-5RW2MX7V.js} +9 -9
  8. package/dist/{chunk-XSGO44OV.js → chunk-27DJRM3F.js} +4 -4
  9. package/dist/{chunk-WMVTIKET.js → chunk-3PXC2OXT.js} +2 -2
  10. package/dist/{chunk-U2452GLO.js → chunk-4AMIHNNP.js} +11 -6
  11. package/dist/chunk-4AMIHNNP.js.map +1 -0
  12. package/dist/{chunk-5YKC2WWG.js → chunk-4S4WDXJR.js} +6 -6
  13. package/dist/{chunk-GQ6JS5MR.js → chunk-4VB7F422.js} +56 -11
  14. package/dist/{chunk-GQ6JS5MR.js.map → chunk-4VB7F422.js.map} +1 -1
  15. package/dist/{chunk-ELL2IQMF.js → chunk-62JQQUAU.js} +12 -11
  16. package/dist/chunk-62JQQUAU.js.map +1 -0
  17. package/dist/{chunk-2DHHL4PU.js → chunk-66WEOQV5.js} +3 -3
  18. package/dist/{chunk-5RCCESDX.js → chunk-AXDKLXCG.js} +120 -41
  19. package/dist/chunk-AXDKLXCG.js.map +1 -0
  20. package/dist/{chunk-6KK26F2T.js → chunk-BTY4LZBG.js} +2 -2
  21. package/dist/{chunk-Q7YZL7PG.js → chunk-CS5JF52J.js} +2 -2
  22. package/dist/{chunk-5NS4CNF6.js → chunk-E2RFM6R2.js} +5 -5
  23. package/dist/{chunk-BSEB55E6.js → chunk-EOY6BK4C.js} +2 -2
  24. package/dist/{chunk-MMVLRUMK.js → chunk-G2LGMWNG.js} +27 -12
  25. package/dist/chunk-G2LGMWNG.js.map +1 -0
  26. package/dist/{chunk-ZBV5IV5T.js → chunk-IKCP5NCE.js} +2 -2
  27. package/dist/{chunk-RTWRNG3E.js → chunk-IN6AW5P3.js} +18 -8
  28. package/dist/{chunk-RTWRNG3E.js.map → chunk-IN6AW5P3.js.map} +1 -1
  29. package/dist/{chunk-DF22CTXE.js → chunk-IX2QLW6G.js} +2 -2
  30. package/dist/{chunk-65N4ZPQD.js → chunk-JAC6JVCI.js} +2 -2
  31. package/dist/{chunk-V6PXHQSI.js → chunk-JWSEPW7F.js} +2 -2
  32. package/dist/{chunk-AS5VL32C.js → chunk-JYALBYN7.js} +2 -2
  33. package/dist/{chunk-R2TAVQGZ.js → chunk-K2JTERIO.js} +2 -2
  34. package/dist/{chunk-3S5YZWB7.js → chunk-KDWH2JKT.js} +10 -7
  35. package/dist/chunk-KDWH2JKT.js.map +1 -0
  36. package/dist/{chunk-T6ATGN7Y.js → chunk-MCJ5I5LR.js} +1 -1
  37. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  38. package/dist/{chunk-U4W4LULB.js → chunk-MGIOV72F.js} +7 -7
  39. package/dist/{chunk-ORQKMXHA.js → chunk-MZPS46OR.js} +2 -2
  40. package/dist/{chunk-RDCYPWQZ.js → chunk-NEOUY3Q7.js} +34 -9
  41. package/dist/chunk-NEOUY3Q7.js.map +1 -0
  42. package/dist/{chunk-K2Z3KGOH.js → chunk-NPMAATZG.js} +2 -2
  43. package/dist/{chunk-2K3NCVDI.js → chunk-OKJVBGMQ.js} +31 -19
  44. package/dist/{chunk-2K3NCVDI.js.map → chunk-OKJVBGMQ.js.map} +1 -1
  45. package/dist/{chunk-PQTY22FR.js → chunk-PZPSCYN3.js} +9 -8
  46. package/dist/chunk-PZPSCYN3.js.map +1 -0
  47. package/dist/{chunk-KQDAFZKR.js → chunk-Q4WWS3UQ.js} +2 -2
  48. package/dist/{chunk-A2FKWRKO.js → chunk-R3N4AIKS.js} +6 -6
  49. package/dist/{chunk-DCTEL4KG.js → chunk-RVXMK4X2.js} +3 -3
  50. package/dist/{chunk-LD4CHA7U.js → chunk-UKL7GWEH.js} +2 -2
  51. package/dist/{chunk-4VWTIT5C.js → chunk-UWXDNVS5.js} +2 -2
  52. package/dist/{chunk-U6IWRZQF.js → chunk-VNNCYWNN.js} +3 -3
  53. package/dist/{chunk-7U3V64YT.js → chunk-WKLQFSV6.js} +4 -4
  54. package/dist/{chunk-WD5BQBVY.js → chunk-Z5SOZUUB.js} +3 -3
  55. package/dist/{chunk-AQ5WISEG.js → chunk-ZCQVKDHV.js} +2 -2
  56. package/dist/{chunk-RCSOG2DV.js → chunk-ZINMEMOB.js} +5 -5
  57. package/dist/cli.js +7 -7
  58. package/dist/{creatives-U2M4F3D5.js → creatives-NK5HOXSF.js} +10 -10
  59. package/dist/{critique-43OVWKN7.js → critique-EDMP5P5R.js} +16 -16
  60. package/dist/{critique-JVKJEBAC.js → critique-N5OL42C6.js} +5 -5
  61. package/dist/{customers-P4N4NXLJ.js → customers-TLAHWJY6.js} +4 -4
  62. package/dist/engine/index.d.ts +1 -0
  63. package/dist/engine/index.js +7 -7
  64. package/dist/{feedback-3GU3PAEI.js → feedback-OCN3XNKF.js} +19 -19
  65. package/dist/{feedback-record-PIJDOJW3.js → feedback-record-Z66AXZ57.js} +20 -20
  66. package/dist/{fit-TVQ7RK52.js → fit-PMSNW2PF.js} +11 -11
  67. package/dist/{fonts-BMUNDGOZ.js → fonts-I434ILTG.js} +7 -7
  68. package/dist/{generate-4HWNFAH3.js → generate-OMXBFGGR.js} +3 -3
  69. package/dist/{ideas-UTSCGCT6.js → ideas-K6FQVDUA.js} +8 -8
  70. package/dist/{landing-AJO2BPC2.js → landing-EJGYTI5W.js} +2 -2
  71. package/dist/{learn-RGO5KDHS.js → learn-66SKYR36.js} +6 -6
  72. package/dist/{make-IHJROEKG.js → make-ZYEFMAR6.js} +51 -37
  73. package/dist/make-ZYEFMAR6.js.map +1 -0
  74. package/dist/{models-2DQ5NBMT.js → models-2XRYXSRA.js} +2 -2
  75. package/dist/{rerun-R3DNEV5U.js → rerun-DZKHTK66.js} +24 -24
  76. package/dist/{research-MBAPL35Y.js → research-L2DH5P22.js} +2 -2
  77. package/dist/{rules-SZIY67QF.js → rules-TPW37OVS.js} +8 -8
  78. package/dist/{rules-add-KTLHU3YD.js → rules-add-HTL6IFQJ.js} +8 -8
  79. package/dist/{run-QYIUO4NB.js → run-EID2OD4U.js} +24 -24
  80. package/dist/{scaffold-ad-NIVJSO73.js → scaffold-ad-SQZMHTRA.js} +24 -24
  81. package/dist/{scaffold-static-ad-QX2NUXFR.js → scaffold-static-ad-L2JCW5LF.js} +30 -30
  82. package/dist/{scaffold-video-NXBM54K3.js → scaffold-video-2WLFALNV.js} +21 -21
  83. package/dist/{select-Q4S4CPKV.js → select-POYNXE2L.js} +18 -18
  84. package/dist/{set-prompt-3MVZW3L6.js → set-prompt-2OXPI4ZF.js} +17 -17
  85. package/dist/{stale-NT2JRQHY.js → stale-6HL4ELJW.js} +17 -17
  86. package/dist/{studio-YB5WXQYC.js → studio-MARZ22J2.js} +4 -4
  87. package/dist/{sync-definition-6XPX6VJU.js → sync-definition-VVNXDNDC.js} +20 -20
  88. package/dist/{translate-27DIFMBU.js → translate-ACGKNKQP.js} +21 -21
  89. package/dist/{validate-AYPLNS7A.js → validate-SUW24MMI.js} +20 -20
  90. package/dist/{viewer-check-TSH3SAYJ.js → viewer-check-7S2EB32L.js} +10 -10
  91. package/dist/{winning-ads-SGBI3WHK.js → winning-ads-T4MOKDYT.js} +2 -2
  92. package/package.json +1 -1
  93. package/dist/chunk-3S5YZWB7.js.map +0 -1
  94. package/dist/chunk-5RCCESDX.js.map +0 -1
  95. package/dist/chunk-ELL2IQMF.js.map +0 -1
  96. package/dist/chunk-MMVLRUMK.js.map +0 -1
  97. package/dist/chunk-PQTY22FR.js.map +0 -1
  98. package/dist/chunk-RDCYPWQZ.js.map +0 -1
  99. package/dist/chunk-T6ATGN7Y.js.map +0 -1
  100. package/dist/chunk-U2452GLO.js.map +0 -1
  101. package/dist/make-IHJROEKG.js.map +0 -1
  102. /package/dist/{animate-3LV3LHXQ.js.map → animate-SVEPM267.js.map} +0 -0
  103. /package/dist/{brand-CINQG3JG.js.map → brand-LAIIXZBL.js.map} +0 -0
  104. /package/dist/{brief-WAQ2V6Q4.js.map → brief-7PICJ4CO.js.map} +0 -0
  105. /package/dist/{canvas-A4XKEBN7.js.map → canvas-YS3ONCCX.js.map} +0 -0
  106. /package/dist/{catalog-SJBGNNY4.js.map → catalog-RS4F5YK3.js.map} +0 -0
  107. /package/dist/{check-GCZ2ZBKH.js.map → check-5RW2MX7V.js.map} +0 -0
  108. /package/dist/{chunk-XSGO44OV.js.map → chunk-27DJRM3F.js.map} +0 -0
  109. /package/dist/{chunk-WMVTIKET.js.map → chunk-3PXC2OXT.js.map} +0 -0
  110. /package/dist/{chunk-5YKC2WWG.js.map → chunk-4S4WDXJR.js.map} +0 -0
  111. /package/dist/{chunk-2DHHL4PU.js.map → chunk-66WEOQV5.js.map} +0 -0
  112. /package/dist/{chunk-6KK26F2T.js.map → chunk-BTY4LZBG.js.map} +0 -0
  113. /package/dist/{chunk-Q7YZL7PG.js.map → chunk-CS5JF52J.js.map} +0 -0
  114. /package/dist/{chunk-5NS4CNF6.js.map → chunk-E2RFM6R2.js.map} +0 -0
  115. /package/dist/{chunk-BSEB55E6.js.map → chunk-EOY6BK4C.js.map} +0 -0
  116. /package/dist/{chunk-ZBV5IV5T.js.map → chunk-IKCP5NCE.js.map} +0 -0
  117. /package/dist/{chunk-DF22CTXE.js.map → chunk-IX2QLW6G.js.map} +0 -0
  118. /package/dist/{chunk-65N4ZPQD.js.map → chunk-JAC6JVCI.js.map} +0 -0
  119. /package/dist/{chunk-V6PXHQSI.js.map → chunk-JWSEPW7F.js.map} +0 -0
  120. /package/dist/{chunk-AS5VL32C.js.map → chunk-JYALBYN7.js.map} +0 -0
  121. /package/dist/{chunk-R2TAVQGZ.js.map → chunk-K2JTERIO.js.map} +0 -0
  122. /package/dist/{chunk-U4W4LULB.js.map → chunk-MGIOV72F.js.map} +0 -0
  123. /package/dist/{chunk-ORQKMXHA.js.map → chunk-MZPS46OR.js.map} +0 -0
  124. /package/dist/{chunk-K2Z3KGOH.js.map → chunk-NPMAATZG.js.map} +0 -0
  125. /package/dist/{chunk-KQDAFZKR.js.map → chunk-Q4WWS3UQ.js.map} +0 -0
  126. /package/dist/{chunk-A2FKWRKO.js.map → chunk-R3N4AIKS.js.map} +0 -0
  127. /package/dist/{chunk-DCTEL4KG.js.map → chunk-RVXMK4X2.js.map} +0 -0
  128. /package/dist/{chunk-LD4CHA7U.js.map → chunk-UKL7GWEH.js.map} +0 -0
  129. /package/dist/{chunk-4VWTIT5C.js.map → chunk-UWXDNVS5.js.map} +0 -0
  130. /package/dist/{chunk-U6IWRZQF.js.map → chunk-VNNCYWNN.js.map} +0 -0
  131. /package/dist/{chunk-7U3V64YT.js.map → chunk-WKLQFSV6.js.map} +0 -0
  132. /package/dist/{chunk-WD5BQBVY.js.map → chunk-Z5SOZUUB.js.map} +0 -0
  133. /package/dist/{chunk-AQ5WISEG.js.map → chunk-ZCQVKDHV.js.map} +0 -0
  134. /package/dist/{chunk-RCSOG2DV.js.map → chunk-ZINMEMOB.js.map} +0 -0
  135. /package/dist/{creatives-U2M4F3D5.js.map → creatives-NK5HOXSF.js.map} +0 -0
  136. /package/dist/{critique-43OVWKN7.js.map → critique-EDMP5P5R.js.map} +0 -0
  137. /package/dist/{critique-JVKJEBAC.js.map → critique-N5OL42C6.js.map} +0 -0
  138. /package/dist/{customers-P4N4NXLJ.js.map → customers-TLAHWJY6.js.map} +0 -0
  139. /package/dist/{feedback-3GU3PAEI.js.map → feedback-OCN3XNKF.js.map} +0 -0
  140. /package/dist/{feedback-record-PIJDOJW3.js.map → feedback-record-Z66AXZ57.js.map} +0 -0
  141. /package/dist/{fit-TVQ7RK52.js.map → fit-PMSNW2PF.js.map} +0 -0
  142. /package/dist/{fonts-BMUNDGOZ.js.map → fonts-I434ILTG.js.map} +0 -0
  143. /package/dist/{generate-4HWNFAH3.js.map → generate-OMXBFGGR.js.map} +0 -0
  144. /package/dist/{ideas-UTSCGCT6.js.map → ideas-K6FQVDUA.js.map} +0 -0
  145. /package/dist/{landing-AJO2BPC2.js.map → landing-EJGYTI5W.js.map} +0 -0
  146. /package/dist/{learn-RGO5KDHS.js.map → learn-66SKYR36.js.map} +0 -0
  147. /package/dist/{models-2DQ5NBMT.js.map → models-2XRYXSRA.js.map} +0 -0
  148. /package/dist/{rerun-R3DNEV5U.js.map → rerun-DZKHTK66.js.map} +0 -0
  149. /package/dist/{research-MBAPL35Y.js.map → research-L2DH5P22.js.map} +0 -0
  150. /package/dist/{rules-SZIY67QF.js.map → rules-TPW37OVS.js.map} +0 -0
  151. /package/dist/{rules-add-KTLHU3YD.js.map → rules-add-HTL6IFQJ.js.map} +0 -0
  152. /package/dist/{run-QYIUO4NB.js.map → run-EID2OD4U.js.map} +0 -0
  153. /package/dist/{scaffold-ad-NIVJSO73.js.map → scaffold-ad-SQZMHTRA.js.map} +0 -0
  154. /package/dist/{scaffold-static-ad-QX2NUXFR.js.map → scaffold-static-ad-L2JCW5LF.js.map} +0 -0
  155. /package/dist/{scaffold-video-NXBM54K3.js.map → scaffold-video-2WLFALNV.js.map} +0 -0
  156. /package/dist/{select-Q4S4CPKV.js.map → select-POYNXE2L.js.map} +0 -0
  157. /package/dist/{set-prompt-3MVZW3L6.js.map → set-prompt-2OXPI4ZF.js.map} +0 -0
  158. /package/dist/{stale-NT2JRQHY.js.map → stale-6HL4ELJW.js.map} +0 -0
  159. /package/dist/{studio-YB5WXQYC.js.map → studio-MARZ22J2.js.map} +0 -0
  160. /package/dist/{sync-definition-6XPX6VJU.js.map → sync-definition-VVNXDNDC.js.map} +0 -0
  161. /package/dist/{translate-27DIFMBU.js.map → translate-ACGKNKQP.js.map} +0 -0
  162. /package/dist/{validate-AYPLNS7A.js.map → validate-SUW24MMI.js.map} +0 -0
  163. /package/dist/{viewer-check-TSH3SAYJ.js.map → viewer-check-7S2EB32L.js.map} +0 -0
  164. /package/dist/{winning-ads-SGBI3WHK.js.map → winning-ads-T4MOKDYT.js.map} +0 -0
@@ -47,7 +47,7 @@ import {
47
47
  usesTextColour,
48
48
  validateCanvas,
49
49
  validateCanvasDeep
50
- } from "./chunk-ELL2IQMF.js";
50
+ } from "./chunk-62JQQUAU.js";
51
51
  import {
52
52
  FRAME_CUT,
53
53
  bandViolations,
@@ -63,16 +63,16 @@ import {
63
63
  roleKey,
64
64
  shownBoxes,
65
65
  withWordmark
66
- } from "./chunk-5NS4CNF6.js";
66
+ } from "./chunk-E2RFM6R2.js";
67
67
  import {
68
68
  frameGround,
69
69
  nativeSurfaceHtml,
70
70
  readAdSpec,
71
71
  readInterfaceWords
72
- } from "./chunk-U2452GLO.js";
72
+ } from "./chunk-4AMIHNNP.js";
73
73
  import {
74
74
  askAboutImages
75
- } from "./chunk-ZBV5IV5T.js";
75
+ } from "./chunk-IKCP5NCE.js";
76
76
  import {
77
77
  AD_FORMAT_PLATFORMS,
78
78
  DEFAULT_MUSIC_SECONDS,
@@ -94,7 +94,7 @@ import {
94
94
  nearestSupportedAspectRatio,
95
95
  resolveAdaptFormats,
96
96
  supportedAspectRatios
97
- } from "./chunk-T6ATGN7Y.js";
97
+ } from "./chunk-MCJ5I5LR.js";
98
98
  import {
99
99
  AudioRef,
100
100
  FontRef,
@@ -6290,7 +6290,36 @@ function leadingMark(opaque, box) {
6290
6290
 
6291
6291
  // src/engine/nodes/local/staticNative.ts
6292
6292
  var require_4 = createRequire4(import.meta.url);
6293
- var LOAD_TIMEOUT_MS = 45e3;
6293
+ var LOAD_TIMEOUT_MS = 25e3;
6294
+ var SCREENSHOT_TIMEOUT_MS = 3e4;
6295
+ var RENDER_DEADLINE_MS = 9e4;
6296
+ var NativeRenderTimeoutError = class extends Error {
6297
+ code = "native_render_timeout";
6298
+ stage;
6299
+ ms;
6300
+ constructor(stage, ms) {
6301
+ super(
6302
+ `static_native: the screen was still ${stage} after ${Math.round(ms / 1e3)}s, so it was stopped. Nothing is billed for this node: run the canvas again. If it stalls again, the computer is short of CPU or network right now; prompt.json is not the cause.`
6303
+ );
6304
+ this.name = "NativeRenderTimeoutError";
6305
+ this.stage = stage;
6306
+ this.ms = ms;
6307
+ }
6308
+ };
6309
+ var FONT_REQUEST_MS = 8e3;
6310
+ var WEB_FONT_HOSTS = /^https:\/\/fonts\.(googleapis|gstatic)\.com\//;
6311
+ async function serveWebFont(route, timeoutMs) {
6312
+ const response = await route.fetch({ timeout: timeoutMs }).catch(() => null);
6313
+ if (response === null) await route.abort("timedout").catch(() => void 0);
6314
+ else await route.fulfill({ response }).catch(() => void 0);
6315
+ }
6316
+ function withDeadline(work, ms, expire) {
6317
+ let timer;
6318
+ const deadline = new Promise((_, reject) => {
6319
+ timer = setTimeout(() => reject(expire()), ms);
6320
+ });
6321
+ return Promise.race([work, deadline]).finally(() => clearTimeout(timer));
6322
+ }
6294
6323
  var sourceOf = (asset) => asset?.path ?? asset?.url;
6295
6324
  async function fileOf(asset) {
6296
6325
  const source = sourceOf(asset);
@@ -6410,21 +6439,37 @@ async function nativePage(spec, files, params) {
6410
6439
  }
6411
6440
  async function screenshot(html, size, log) {
6412
6441
  const playwright = require_4(["play", "wright"].join(""));
6413
- const browser = await playwright.chromium.launch({ headless: true });
6414
- try {
6442
+ let stage = "starting the browser";
6443
+ const held = {};
6444
+ const draw = async () => {
6445
+ const browser = await playwright.chromium.launch({ headless: true });
6446
+ held.browser = browser;
6447
+ if (held.stopped) await browser.close().catch(() => void 0);
6415
6448
  const context = await browser.newContext({
6416
6449
  viewport: { width: size.width / 2, height: size.height / 2 },
6417
6450
  deviceScaleFactor: 2
6418
6451
  });
6419
6452
  const page = await context.newPage();
6453
+ await page.route(WEB_FONT_HOSTS, (route) => serveWebFont(route, FONT_REQUEST_MS));
6454
+ stage = "loading its fonts and pictures";
6420
6455
  await page.setContent(html, { waitUntil: "load", timeout: LOAD_TIMEOUT_MS }).catch((e) => log(`load: ${e.message}`));
6456
+ stage = "laying the screen out";
6421
6457
  await page.waitForSelector("body[data-ready]", { timeout: LOAD_TIMEOUT_MS });
6422
- const png = Buffer.from(await page.screenshot({ type: "png" }));
6458
+ stage = "taking the picture";
6459
+ const png = Buffer.from(await page.screenshot({ type: "png", timeout: SCREENSHOT_TIMEOUT_MS }));
6423
6460
  const hidden = await page.evaluate(() => document.body.dataset.hidden ?? "[]");
6424
6461
  const scrolled = JSON.parse(hidden);
6425
6462
  return { png, scrolled: Array.isArray(scrolled) ? scrolled.filter((t) => typeof t === "string") : [] };
6463
+ };
6464
+ try {
6465
+ return await withDeadline(
6466
+ draw(),
6467
+ RENDER_DEADLINE_MS,
6468
+ () => new NativeRenderTimeoutError(stage, RENDER_DEADLINE_MS)
6469
+ );
6426
6470
  } finally {
6427
- await browser.close();
6471
+ held.stopped = true;
6472
+ await held.browser?.close().catch(() => void 0);
6428
6473
  }
6429
6474
  }
6430
6475
 
@@ -8848,4 +8893,4 @@ export {
8848
8893
  defaultRegistry,
8849
8894
  createEngineFromEnv
8850
8895
  };
8851
- //# sourceMappingURL=chunk-GQ6JS5MR.js.map
8896
+ //# sourceMappingURL=chunk-4VB7F422.js.map