@koda-sl/baker-cli 0.447.0-dev.f5788a631 → 0.447.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 (870) hide show
  1. package/README.md +14 -10
  2. package/dist/account-2ZMZFPIU.js +79 -0
  3. package/dist/account-F6MHQ64I.js +80 -0
  4. package/dist/account-writes-ISE4U2FQ.js +66 -0
  5. package/dist/accounts-RHGN5WMU.js +611 -0
  6. package/dist/accounts-VINHZRWA.js +77 -0
  7. package/dist/actions-5F4ZP6M4.js +55 -0
  8. package/dist/ad-group-writes-UU5NNKSO.js +170 -0
  9. package/dist/ad-groups-CGFXZNIA.js +68 -0
  10. package/dist/ad-writes-NALDYWOR.js +174 -0
  11. package/dist/add-KBPMSK2P.js +104 -0
  12. package/dist/add-OGH4DZZ5.js +280 -0
  13. package/dist/ads-56OWZBXZ.js +40 -0
  14. package/dist/ads-H7GH7A26.js +113 -0
  15. package/dist/ads-PV7GZXPR.js +77 -0
  16. package/dist/adsets-H7QT42U6.js +176 -0
  17. package/dist/advertisers-PM4WPG4N.js +120 -0
  18. package/dist/advertisers-PM4WPG4N.js.map +1 -0
  19. package/dist/analytics-5FALU2GL.js +433 -0
  20. package/dist/analytics-JVZKN735.js +1958 -0
  21. package/dist/animate-FWWHSYPL.js +480 -0
  22. package/dist/assign-KLYZ6USE.js +77 -0
  23. package/dist/audience-size-JHB42DB4.js +94 -0
  24. package/dist/audiences-JACGRBNN.js +78 -0
  25. package/dist/audiences-VEKGLWBG.js +268 -0
  26. package/dist/audit-5XH7WZIM.js +151 -0
  27. package/dist/autocomplete-7F3PZLEY.js +111 -0
  28. package/dist/autocomplete-7F3PZLEY.js.map +1 -0
  29. package/dist/avatars-N4SRNQI7.js +38 -0
  30. package/dist/bid-pricing-VYLVGU26.js +99 -0
  31. package/dist/brand-ASBS2HZM.js +22 -0
  32. package/dist/brief-JSZKDPGU.js +477 -0
  33. package/dist/brief-JSZKDPGU.js.map +1 -0
  34. package/dist/campaign-groups-ATE2DE4V.js +95 -0
  35. package/dist/campaign-writes-ETT57KLQ.js +165 -0
  36. package/dist/campaign-writes-SX52CJYW.js +170 -0
  37. package/dist/campaigns-FGBAS6AZ.js +107 -0
  38. package/dist/campaigns-J6VZBIV6.js +109 -0
  39. package/dist/campaigns-WBEG5QA4.js +110 -0
  40. package/dist/campaigns-X3DPCCSN.js +76 -0
  41. package/dist/canvas-K7IN7HLO.js +46 -0
  42. package/dist/capabilities-RDAERPYY.js +144 -0
  43. package/dist/catalog-MENVHL5U.js +65 -0
  44. package/dist/catalog-MENVHL5U.js.map +1 -0
  45. package/dist/catalogs-G3YEVG6S.js +128 -0
  46. package/dist/changes-TP7ZZHB3.js +135 -0
  47. package/dist/chatgpt-QNUN63YS.js +47 -0
  48. package/dist/chats-YIAQGQ3X.js +262 -0
  49. package/dist/chunk-2GK33EJV.js +382 -0
  50. package/dist/chunk-35XWJEWH.js +274 -0
  51. package/dist/chunk-3CWL2LY4.js +206 -0
  52. package/dist/chunk-3CWL2LY4.js.map +1 -0
  53. package/dist/chunk-4NBVGARW.js +1079 -0
  54. package/dist/chunk-5R5ADJ47.js +2880 -0
  55. package/dist/chunk-5R5ADJ47.js.map +1 -0
  56. package/dist/chunk-65RIB7A6.js +592 -0
  57. package/dist/chunk-6DB2B3GF.js +175 -0
  58. package/dist/chunk-7SDFKGQ4.js +363 -0
  59. package/dist/chunk-ACANMASG.js +19 -0
  60. package/dist/chunk-ALTBBAYU.js +96 -0
  61. package/dist/chunk-ANCSKUWI.js +433 -0
  62. package/dist/chunk-AWMFUGVX.js +160 -0
  63. package/dist/chunk-AWMFUGVX.js.map +1 -0
  64. package/dist/chunk-BA7FDXQC.js +197 -0
  65. package/dist/chunk-BNCW67EM.js +534 -0
  66. package/dist/chunk-BSC33FLJ.js +217 -0
  67. package/dist/chunk-CHSNHVYF.js +3182 -0
  68. package/dist/chunk-CHSNHVYF.js.map +1 -0
  69. package/dist/chunk-DKGTQSLR.js +310 -0
  70. package/dist/chunk-DR34ZTWD.js +207 -0
  71. package/dist/chunk-E4MDJBLO.js +163 -0
  72. package/dist/chunk-EH4C4CZK.js +455 -0
  73. package/dist/chunk-FXED3VZK.js +174 -0
  74. package/dist/chunk-G7UTTEBS.js +337 -0
  75. package/dist/chunk-GATKK4RJ.js +440 -0
  76. package/dist/chunk-GATKK4RJ.js.map +1 -0
  77. package/dist/chunk-GIJT3A5U.js +166 -0
  78. package/dist/chunk-GX6VAHY7.js +830 -0
  79. package/dist/chunk-HIPDMQZ6.js +136 -0
  80. package/dist/chunk-HQSCJYZO.js +26 -0
  81. package/dist/chunk-HZ5DR5MX.js +51 -0
  82. package/dist/chunk-I4NEHDSD.js +813 -0
  83. package/dist/chunk-I4NEHDSD.js.map +1 -0
  84. package/dist/chunk-IM52NHGL.js +390 -0
  85. package/dist/chunk-JF47LEPU.js +5163 -0
  86. package/dist/chunk-JF47LEPU.js.map +1 -0
  87. package/dist/chunk-K3PN7TN5.js +84 -0
  88. package/dist/chunk-KBP7WJQB.js +446 -0
  89. package/dist/chunk-KBP7WJQB.js.map +1 -0
  90. package/dist/chunk-KLBTXETO.js +23992 -0
  91. package/dist/chunk-KLBTXETO.js.map +1 -0
  92. package/dist/chunk-KNWHUMVZ.js +4381 -0
  93. package/dist/chunk-KNWHUMVZ.js.map +1 -0
  94. package/dist/chunk-KQTYTCKQ.js +98 -0
  95. package/dist/chunk-LIQ4SQ2T.js +150 -0
  96. package/dist/chunk-LW4VSTL5.js +304 -0
  97. package/dist/chunk-LW4VSTL5.js.map +1 -0
  98. package/dist/chunk-MADAAZZV.js +169 -0
  99. package/dist/chunk-MLU6STIN.js +66 -0
  100. package/dist/chunk-NDXBU22S.js +6145 -0
  101. package/dist/chunk-NDXBU22S.js.map +1 -0
  102. package/dist/chunk-NE4F3FHN.js +1854 -0
  103. package/dist/chunk-NE4F3FHN.js.map +1 -0
  104. package/dist/chunk-OTFHEHIU.js +1706 -0
  105. package/dist/chunk-OTFHEHIU.js.map +1 -0
  106. package/dist/chunk-PDTB5EX6.js +57 -0
  107. package/dist/chunk-SB3GZFCV.js +622 -0
  108. package/dist/chunk-T3BDNJIX.js +494 -0
  109. package/dist/chunk-TEINLN64.js +649 -0
  110. package/dist/chunk-TEINLN64.js.map +1 -0
  111. package/dist/chunk-TIOQ7ZFQ.js +496 -0
  112. package/dist/chunk-U3HAMW5W.js +133 -0
  113. package/dist/chunk-U6SYRIOB.js +486 -0
  114. package/dist/chunk-UC6BWM5J.js +159 -0
  115. package/dist/chunk-ULJ5RFOV.js +76 -0
  116. package/dist/chunk-VAISMQQB.js +346 -0
  117. package/dist/chunk-VB6WJJR3.js +1830 -0
  118. package/dist/chunk-VB6WJJR3.js.map +1 -0
  119. package/dist/chunk-VDHQJ6HD.js +23 -0
  120. package/dist/chunk-VMDAXFRI.js +111 -0
  121. package/dist/chunk-WNFIJAUO.js +98 -0
  122. package/dist/chunk-WNFIJAUO.js.map +1 -0
  123. package/dist/chunk-XCM6XWOB.js +417 -0
  124. package/dist/chunk-XMD4SHFI.js +60 -0
  125. package/dist/chunk-Y6QAJNKP.js +1411 -0
  126. package/dist/chunk-YBP7O5P4.js +103 -0
  127. package/dist/chunk-YC2TQ3VC.js +297 -0
  128. package/dist/chunk-YPZYOJP6.js +6664 -0
  129. package/dist/chunk-YPZYOJP6.js.map +1 -0
  130. package/dist/chunk-ZPU3WDVK.js +92 -0
  131. package/dist/claim-V4F5GZJK.js +197 -0
  132. package/dist/cli.js +29 -29
  133. package/dist/companies-NJGJ7XNN.js +195 -0
  134. package/dist/complete-MGNF5OAK.js +81 -0
  135. package/dist/connect-PJOTRTT4.js +36 -0
  136. package/dist/conversation-4DM26FRD.js +93 -0
  137. package/dist/conversion-report-N4HANYOB.js +125 -0
  138. package/dist/conversion-upload-command-TZTHU2CD.js +438 -0
  139. package/dist/conversion-writes-LW4HQKK5.js +120 -0
  140. package/dist/conversions-JGECVZSY.js +135 -0
  141. package/dist/conversions-TS723AZV.js +76 -0
  142. package/dist/countries-ESAKTQAE.js +82 -0
  143. package/dist/create-DSGQFBI7.js +207 -0
  144. package/dist/create-I2KVDTCQ.js +59 -0
  145. package/dist/create-SBQWVLXG.js +130 -0
  146. package/dist/create-WOHPIGBK.js +235 -0
  147. package/dist/creatives-4JGVZQGC.js +182 -0
  148. package/dist/creatives-DWO5KEQC.js +51 -0
  149. package/dist/creatives-PSWCNY7U.js +87 -0
  150. package/dist/credentials-UULYCN2L.js +1055 -0
  151. package/dist/credentials-UULYCN2L.js.map +1 -0
  152. package/dist/critique-NGMZK5LX.js +213 -0
  153. package/dist/critique-NGMZK5LX.js.map +1 -0
  154. package/dist/critique-TIZJ5GFM.js +1449 -0
  155. package/dist/crm-2WAR565U.js +224 -0
  156. package/dist/crm-VDXUO2YU.js +318 -0
  157. package/dist/currency-XCGKQ7FE.js +88 -0
  158. package/dist/custom-conversions-6P555U2K.js +125 -0
  159. package/dist/customers-ATENMXDO.js +56 -0
  160. package/dist/delete-AVMZYNVT.js +54 -0
  161. package/dist/delete-H744GNS4.js +63 -0
  162. package/dist/delete-OEYPFATY.js +66 -0
  163. package/dist/demographics-M5LJF3RZ.js +138 -0
  164. package/dist/discard-72I6SM7G.js +66 -0
  165. package/dist/discover-BJPZNXUQ.js +172 -0
  166. package/dist/domain-R4EIZD2W.js +98 -0
  167. package/dist/draft-34C3F5U4.js +217 -0
  168. package/dist/draft-BBFJNZ5X.js +328 -0
  169. package/dist/draft-BV2QRPZ4.js +107 -0
  170. package/dist/draft-THPZFASM.js +281 -0
  171. package/dist/draft-YYYRWF7M.js +306 -0
  172. package/dist/engine/index.d.ts +0 -12
  173. package/dist/engine/index.js +6 -7
  174. package/dist/facets-F2H52MS4.js +114 -0
  175. package/dist/feedback-IQKKT4MC.js +66 -0
  176. package/dist/feedback-IQKKT4MC.js.map +1 -0
  177. package/dist/feedback-record-UZV4Y7UD.js +175 -0
  178. package/dist/feedback-record-UZV4Y7UD.js.map +1 -0
  179. package/dist/fetch-ZUAZPLAE.js +176 -0
  180. package/dist/fetch-ZUAZPLAE.js.map +1 -0
  181. package/dist/fit-2CA4JH7N.js +45 -0
  182. package/dist/flows-CWXCXEUD.js +244 -0
  183. package/dist/follow-FN7LV3WV.js +82 -0
  184. package/dist/follow-competitors-MKXFHLXB.js +131 -0
  185. package/dist/fonts-F2XUCIIW.js +34 -0
  186. package/dist/forecast-IDKJYM2B.js +104 -0
  187. package/dist/funnel-RLGQGYKO.js +837 -0
  188. package/dist/generate-MMBYB44G.js +262 -0
  189. package/dist/get-C6UQ22HH.js +54 -0
  190. package/dist/get-EEUR6SAW.js +78 -0
  191. package/dist/google-35GDU3G3.js +1872 -0
  192. package/dist/google-35GDU3G3.js.map +1 -0
  193. package/dist/google-ads-Q37I2D5P.js +195 -0
  194. package/dist/google-ads-Q37I2D5P.js.map +1 -0
  195. package/dist/history-4II5QA4B.js +133 -0
  196. package/dist/history-DBIEYQHY.js +67 -0
  197. package/dist/hubspot-TTITJFBO.js +779 -0
  198. package/dist/ideas-V4Q6JDKV.js +32 -0
  199. package/dist/images-SP5REF6E.js +90 -0
  200. package/dist/ingest-574GIFAR.js +107 -0
  201. package/dist/ingest-IC4T76W6.js +23 -0
  202. package/dist/insights-ZIU6FJMS.js +122 -0
  203. package/dist/inspect-ATHYY6A2.js +189 -0
  204. package/dist/inspiration-P265QJ2H.js +53 -0
  205. package/dist/intent-E3UIVZBN.js +95 -0
  206. package/dist/keyword-gap-BG6M665A.js +130 -0
  207. package/dist/keyword-metrics-J4UPUDN7.js +197 -0
  208. package/dist/keywords-for-site-MWADFEO2.js +128 -0
  209. package/dist/keywords-for-site-MWADFEO2.js.map +1 -0
  210. package/dist/landing-R6DN7XLK.js +28 -0
  211. package/dist/languages-HORKPDNH.js +40 -0
  212. package/dist/languages-JSGWCC7Z.js +55 -0
  213. package/dist/leads-7EVHMNUF.js +293 -0
  214. package/dist/leads-JM6HUERX.js +90 -0
  215. package/dist/learn-LGS2F5TR.js +203 -0
  216. package/dist/learn-LGS2F5TR.js.map +1 -0
  217. package/dist/lighthouse-6ZC45E53.js +75 -0
  218. package/dist/line-item-writes-KUYEXSIH.js +208 -0
  219. package/dist/line-items-GIWLP3FL.js +103 -0
  220. package/dist/link-PVM7XJQI.js +64 -0
  221. package/dist/linkedin-WX54EAX6.js +1008 -0
  222. package/dist/list-4ZKQZBCL.js +151 -0
  223. package/dist/list-MCEFXC6L.js +63 -0
  224. package/dist/list-WR7QYTON.js +303 -0
  225. package/dist/locations-74TPQWAT.js +67 -0
  226. package/dist/locations-J4G5RNPH.js +40 -0
  227. package/dist/log-U6IWZGOF.js +92 -0
  228. package/dist/make-RXFHEGUI.js +593 -0
  229. package/dist/make-RXFHEGUI.js.map +1 -0
  230. package/dist/map-TWL7T4KP.js +404 -0
  231. package/dist/mcp-HVAVJGGS.js +476 -0
  232. package/dist/media-M7E6V2XU.js +15 -0
  233. package/dist/media-sources-JWGO23BZ.js +32 -0
  234. package/dist/members-5FAW4YE7.js +44 -0
  235. package/dist/meta-EZ4SY25M.js +69 -0
  236. package/dist/metrics-SQDJ5NQO.js +152 -0
  237. package/dist/models-7U3GRYHF.js +155 -0
  238. package/dist/normalize-GW4GZNVY.js +138 -0
  239. package/dist/options-NSUCENLU.js +121 -0
  240. package/dist/performance-FGCDWHMC.js +24 -0
  241. package/dist/pixels-45A55MOP.js +60 -0
  242. package/dist/promoted-tweet-writes-BPWTDESL.js +180 -0
  243. package/dist/promoted-tweets-OS3NHYVE.js +119 -0
  244. package/dist/publish-SXZEWBVJ.js +322 -0
  245. package/dist/query-IEZRY6HV.js +1341 -0
  246. package/dist/reddit-TF6K37SB.js +26 -0
  247. package/dist/refresh-APVDWXRZ.js +94 -0
  248. package/dist/release-32SEJU4L.js +60 -0
  249. package/dist/relevant-pages-OWMNUCP7.js +99 -0
  250. package/dist/remove-U64GTHLQ.js +50 -0
  251. package/dist/reopen-5VS233SF.js +63 -0
  252. package/dist/rerun-7Z45QOOO.js +85 -0
  253. package/dist/rerun-7Z45QOOO.js.map +1 -0
  254. package/dist/research-O7CJV5IS.js +62 -0
  255. package/dist/research-O7CJV5IS.js.map +1 -0
  256. package/dist/research-QYSQ6LW4.js +262 -0
  257. package/dist/reset-22FC7BXQ.js +54 -0
  258. package/dist/reset-47B5VPT4.js +54 -0
  259. package/dist/resolve-7KQGVTQT.js +121 -0
  260. package/dist/retry-J5UVLS72.js +62 -0
  261. package/dist/retry-UJ5UF4BM.js +60 -0
  262. package/dist/run-SI4FA32F.js +65 -0
  263. package/dist/run-TFLFBQU2.js +60 -0
  264. package/dist/scaffold-ad-SEXNE2K6.js +1549 -0
  265. package/dist/scaffold-ad-SEXNE2K6.js.map +1 -0
  266. package/dist/scaffold-static-ad-VBOL6CLN.js +966 -0
  267. package/dist/scaffold-static-ad-VBOL6CLN.js.map +1 -0
  268. package/dist/scaffold-video-Z37MIBDI.js +873 -0
  269. package/dist/scaffold-video-Z37MIBDI.js.map +1 -0
  270. package/dist/schedule-52ZM4KRQ.js +61 -0
  271. package/dist/scheduled-agents-PCWCQAKP.js +49 -0
  272. package/dist/schema-FY6ORDXZ.js +129 -0
  273. package/dist/search-NS7XNRZC.js +174 -0
  274. package/dist/search-UO5KJTYS.js +26 -0
  275. package/dist/select-4XCYVV2G.js +94 -0
  276. package/dist/select-4XCYVV2G.js.map +1 -0
  277. package/dist/set-prompt-TRJBYA3D.js +186 -0
  278. package/dist/set-prompt-TRJBYA3D.js.map +1 -0
  279. package/dist/setup-links-V3URI7DL.js +141 -0
  280. package/dist/site-WIQ7SSU3.js +177 -0
  281. package/dist/sources-DWJXOLEH.js +421 -0
  282. package/dist/sources-L453U5MT.js +30 -0
  283. package/dist/stale-6OVG6VME.js +63 -0
  284. package/dist/stale-6OVG6VME.js.map +1 -0
  285. package/dist/status-WXWU54WR.js +62 -0
  286. package/dist/studio-C5K3YX3P.js +49 -0
  287. package/dist/sync-CDZUTGV3.js +54 -0
  288. package/dist/sync-definition-BAJQUBE3.js +53 -0
  289. package/dist/tag-manager-DYZUOIAS.js +43 -0
  290. package/dist/tags-6RY23XOG.js +20 -0
  291. package/dist/tags-BHFQWNPL.js +224 -0
  292. package/dist/tags-SG3NVC3J.js +26 -0
  293. package/dist/tags-VN5HTL35.js +20 -0
  294. package/dist/tags-WR6PDIDR.js +20 -0
  295. package/dist/targeting-criteria-5EXP2NXF.js +113 -0
  296. package/dist/targets-WUVEJPSD.js +102 -0
  297. package/dist/templates-LOJQX2NG.js +178 -0
  298. package/dist/testimonials-6M5DXORT.js +32 -0
  299. package/dist/top-companies-E2OMMPSV.js +108 -0
  300. package/dist/translate-AW4CUKDA.js +598 -0
  301. package/dist/translate-AW4CUKDA.js.map +1 -0
  302. package/dist/triggers-MRXIDCSN.js +141 -0
  303. package/dist/unlink-HNL747YM.js +67 -0
  304. package/dist/unstage-OL2JDCLK.js +84 -0
  305. package/dist/update-4KGIT4BF.js +142 -0
  306. package/dist/update-JPBUF7M2.js +98 -0
  307. package/dist/update-RTTC3SAK.js +155 -0
  308. package/dist/update-YNNRX5B2.js +63 -0
  309. package/dist/upload-UIXPCSXJ.js +126 -0
  310. package/dist/url-options-GGXAL3J4.js +127 -0
  311. package/dist/url-params-K47CE7Y5.js +98 -0
  312. package/dist/validate-TD2BY4VE.js +89 -0
  313. package/dist/validate-TD2BY4VE.js.map +1 -0
  314. package/dist/videos-BP3BKNTY.js +39 -0
  315. package/dist/viewer-check-HFRUJ4ZU.js +69 -0
  316. package/dist/web-RPSGFN4U.js +140 -0
  317. package/dist/web-RPSGFN4U.js.map +1 -0
  318. package/dist/winning-ads-WUENRDVJ.js +62 -0
  319. package/dist/write-commands-4WARNR2T.js +1015 -0
  320. package/dist/write-commands-TAYGTJEZ.js +737 -0
  321. package/dist/x-VZCELH3P.js +47 -0
  322. package/package.json +1 -1
  323. package/dist/account-4H7QVBRK.js +0 -80
  324. package/dist/account-PCEZQUK7.js +0 -79
  325. package/dist/account-writes-AK42HGRM.js +0 -66
  326. package/dist/accounts-5AXLYU7P.js +0 -77
  327. package/dist/accounts-OSXDZZLY.js +0 -611
  328. package/dist/actions-HM4VVTGW.js +0 -55
  329. package/dist/ad-group-writes-QQS4223F.js +0 -170
  330. package/dist/ad-groups-WGPDPUI2.js +0 -68
  331. package/dist/ad-writes-XE2IE4DS.js +0 -174
  332. package/dist/add-4J2EF54O.js +0 -104
  333. package/dist/add-VZAY57M4.js +0 -280
  334. package/dist/ads-6UEDYT3O.js +0 -113
  335. package/dist/ads-BCOSQALY.js +0 -77
  336. package/dist/ads-NUME2UXH.js +0 -40
  337. package/dist/adsets-Q5DWGANV.js +0 -176
  338. package/dist/advertisers-WSNHNCBQ.js +0 -116
  339. package/dist/advertisers-WSNHNCBQ.js.map +0 -1
  340. package/dist/analytics-PHU7H5VY.js +0 -433
  341. package/dist/analytics-QTR2ZITZ.js +0 -1958
  342. package/dist/animate-3Z7HXOLE.js +0 -480
  343. package/dist/assign-IIAVNATI.js +0 -77
  344. package/dist/audience-size-2L7XMYJL.js +0 -94
  345. package/dist/audiences-AMRFZRZ7.js +0 -78
  346. package/dist/audiences-TGD5US2M.js +0 -268
  347. package/dist/audit-ZCUFJLUG.js +0 -151
  348. package/dist/autocomplete-6PYFCOMX.js +0 -107
  349. package/dist/autocomplete-6PYFCOMX.js.map +0 -1
  350. package/dist/avatars-OEK3FYKK.js +0 -38
  351. package/dist/bid-pricing-FDW3IY6G.js +0 -99
  352. package/dist/brand-OXYFSNA5.js +0 -22
  353. package/dist/brief-TBSXPEXI.js +0 -478
  354. package/dist/brief-TBSXPEXI.js.map +0 -1
  355. package/dist/campaign-groups-5GCFQT2W.js +0 -95
  356. package/dist/campaign-writes-3SJQSCUK.js +0 -165
  357. package/dist/campaign-writes-SXLZFYF6.js +0 -170
  358. package/dist/campaigns-7QDDWZ76.js +0 -107
  359. package/dist/campaigns-D6B6Z67Y.js +0 -110
  360. package/dist/campaigns-SYEOFKFV.js +0 -109
  361. package/dist/campaigns-YS3OGQXO.js +0 -76
  362. package/dist/canvas-B6DPRQGN.js +0 -46
  363. package/dist/capabilities-GVHPHH2G.js +0 -144
  364. package/dist/catalog-TNNG66MH.js +0 -66
  365. package/dist/catalog-TNNG66MH.js.map +0 -1
  366. package/dist/catalogs-BRXEDE56.js +0 -128
  367. package/dist/changes-6QBJMGJC.js +0 -135
  368. package/dist/chatgpt-7W75X3ER.js +0 -47
  369. package/dist/chats-54CWM7DL.js +0 -262
  370. package/dist/chunk-2SCPDSFN.js +0 -150
  371. package/dist/chunk-3X3446TG.js +0 -169
  372. package/dist/chunk-4SJDDGPV.js +0 -1411
  373. package/dist/chunk-4SNOWJV7.js +0 -103
  374. package/dist/chunk-5EEDEVOR.js +0 -486
  375. package/dist/chunk-5VC6IK7B.js +0 -390
  376. package/dist/chunk-654U6NU6.js +0 -534
  377. package/dist/chunk-6HJAHLLA.js +0 -6086
  378. package/dist/chunk-6HJAHLLA.js.map +0 -1
  379. package/dist/chunk-6TCDQSM7.js +0 -111
  380. package/dist/chunk-6YYEBLYI.js +0 -92
  381. package/dist/chunk-7FVWIZHM.js +0 -382
  382. package/dist/chunk-7J6EHOH6.js +0 -274
  383. package/dist/chunk-7JUUKYKG.js +0 -57
  384. package/dist/chunk-ACFWVULZ.js +0 -304
  385. package/dist/chunk-ACFWVULZ.js.map +0 -1
  386. package/dist/chunk-AO5UQQLJ.js +0 -197
  387. package/dist/chunk-CKU4WYTF.js +0 -175
  388. package/dist/chunk-CLMM6P6B.js +0 -1751
  389. package/dist/chunk-CLMM6P6B.js.map +0 -1
  390. package/dist/chunk-DE6ANJLU.js +0 -310
  391. package/dist/chunk-DZSIUEGH.js +0 -136
  392. package/dist/chunk-E5IFTZJ3.js +0 -622
  393. package/dist/chunk-EAHP7L2R.js +0 -363
  394. package/dist/chunk-EPMN4BK7.js +0 -217
  395. package/dist/chunk-EVYXTT7V.js +0 -417
  396. package/dist/chunk-F46KAIBS.js +0 -159
  397. package/dist/chunk-FGH4Z5K5.js +0 -433
  398. package/dist/chunk-FTWJFDIN.js +0 -23992
  399. package/dist/chunk-FTWJFDIN.js.map +0 -1
  400. package/dist/chunk-FYQPB2SS.js +0 -207
  401. package/dist/chunk-GTK46DE3.js +0 -346
  402. package/dist/chunk-H2QNBOPS.js +0 -819
  403. package/dist/chunk-H2QNBOPS.js.map +0 -1
  404. package/dist/chunk-HDWKLFF5.js +0 -96
  405. package/dist/chunk-HO3IUJ4K.js +0 -70
  406. package/dist/chunk-HO3IUJ4K.js.map +0 -1
  407. package/dist/chunk-HRYOZUSK.js +0 -1711
  408. package/dist/chunk-HRYOZUSK.js.map +0 -1
  409. package/dist/chunk-HYCIBVDW.js +0 -98
  410. package/dist/chunk-HYUUH4BE.js +0 -3149
  411. package/dist/chunk-HYUUH4BE.js.map +0 -1
  412. package/dist/chunk-IH4UQ2OK.js +0 -6668
  413. package/dist/chunk-IH4UQ2OK.js.map +0 -1
  414. package/dist/chunk-IKYNOT57.js +0 -131
  415. package/dist/chunk-IKYNOT57.js.map +0 -1
  416. package/dist/chunk-J5IU4OX2.js +0 -297
  417. package/dist/chunk-KMEMA7AZ.js +0 -496
  418. package/dist/chunk-KV5BCSUR.js +0 -337
  419. package/dist/chunk-KWAOTV7F.js +0 -830
  420. package/dist/chunk-L27H2R2N.js +0 -174
  421. package/dist/chunk-NK2UFFVH.js +0 -19
  422. package/dist/chunk-NSA6HRG6.js +0 -60
  423. package/dist/chunk-NTPXZU3V.js +0 -163
  424. package/dist/chunk-OAQPHP6V.js +0 -592
  425. package/dist/chunk-OBDAYP2P.js +0 -3155
  426. package/dist/chunk-OBDAYP2P.js.map +0 -1
  427. package/dist/chunk-PIWMNKWI.js +0 -164
  428. package/dist/chunk-PIWMNKWI.js.map +0 -1
  429. package/dist/chunk-RB5DB3WN.js +0 -1079
  430. package/dist/chunk-RCQJHKK5.js +0 -4374
  431. package/dist/chunk-RCQJHKK5.js.map +0 -1
  432. package/dist/chunk-SKT3SAHG.js +0 -133
  433. package/dist/chunk-T4DD5YMP.js +0 -166
  434. package/dist/chunk-TBEUMOEL.js +0 -95
  435. package/dist/chunk-TBEUMOEL.js.map +0 -1
  436. package/dist/chunk-V2X3KK52.js +0 -420
  437. package/dist/chunk-V2X3KK52.js.map +0 -1
  438. package/dist/chunk-V5WSJP5A.js +0 -51
  439. package/dist/chunk-VJZHVOA4.js +0 -509
  440. package/dist/chunk-VJZHVOA4.js.map +0 -1
  441. package/dist/chunk-WRIC2RPQ.js +0 -23
  442. package/dist/chunk-WTOYCUKH.js +0 -84
  443. package/dist/chunk-WYCVJIHD.js +0 -638
  444. package/dist/chunk-WYCVJIHD.js.map +0 -1
  445. package/dist/chunk-XDNEG2H6.js +0 -5189
  446. package/dist/chunk-XDNEG2H6.js.map +0 -1
  447. package/dist/chunk-XG3XCHN6.js +0 -26
  448. package/dist/chunk-XML7AJM3.js +0 -1854
  449. package/dist/chunk-XML7AJM3.js.map +0 -1
  450. package/dist/chunk-XV6XCFF7.js +0 -494
  451. package/dist/chunk-YUPRCOEN.js +0 -455
  452. package/dist/chunk-ZNBDKK4Y.js +0 -76
  453. package/dist/chunk-ZZQXVYUY.js +0 -66
  454. package/dist/claim-CIASHKMC.js +0 -197
  455. package/dist/companies-ECVMO24S.js +0 -195
  456. package/dist/complete-32CPBFIG.js +0 -81
  457. package/dist/connect-OJSOM6PY.js +0 -36
  458. package/dist/conversation-7FHN5ESN.js +0 -93
  459. package/dist/conversion-report-XQBJ6LG4.js +0 -125
  460. package/dist/conversion-upload-command-BBUXLFT3.js +0 -438
  461. package/dist/conversion-writes-UBCVXP2E.js +0 -120
  462. package/dist/conversions-7YJDNZ7Y.js +0 -135
  463. package/dist/conversions-D236RTUK.js +0 -76
  464. package/dist/countries-FYHM3IMJ.js +0 -82
  465. package/dist/create-2TBDXHAM.js +0 -130
  466. package/dist/create-FE5QLW7V.js +0 -207
  467. package/dist/create-OYT76OMJ.js +0 -235
  468. package/dist/create-ZGRL7YCV.js +0 -59
  469. package/dist/creatives-5MUTX4DQ.js +0 -51
  470. package/dist/creatives-IUB57I3T.js +0 -182
  471. package/dist/creatives-UEPLNCPN.js +0 -87
  472. package/dist/credentials-AETHKP5T.js +0 -1055
  473. package/dist/credentials-AETHKP5T.js.map +0 -1
  474. package/dist/critique-C53EJDPA.js +0 -214
  475. package/dist/critique-C53EJDPA.js.map +0 -1
  476. package/dist/critique-T7HJ42D4.js +0 -1449
  477. package/dist/crm-JP4UOPMN.js +0 -318
  478. package/dist/crm-KH6XX2TT.js +0 -224
  479. package/dist/currency-DJDVIR3C.js +0 -88
  480. package/dist/custom-conversions-2VLJGPRV.js +0 -125
  481. package/dist/customers-7I7UY5PS.js +0 -56
  482. package/dist/delete-6IOUDEWY.js +0 -54
  483. package/dist/delete-ODFKNHAI.js +0 -63
  484. package/dist/delete-RAETUVO2.js +0 -66
  485. package/dist/demographics-2FTDKPBD.js +0 -138
  486. package/dist/discard-ZX5TLFYH.js +0 -66
  487. package/dist/discover-M3ZKKFEL.js +0 -172
  488. package/dist/domain-TH7KIC2T.js +0 -98
  489. package/dist/draft-CRE2Y24G.js +0 -328
  490. package/dist/draft-MNFJ4G3C.js +0 -281
  491. package/dist/draft-S2FSQOJN.js +0 -217
  492. package/dist/draft-SH25PKST.js +0 -107
  493. package/dist/draft-YHUIFDDR.js +0 -306
  494. package/dist/facets-6B2U4BSM.js +0 -114
  495. package/dist/feedback-QGSAJJVC.js +0 -66
  496. package/dist/feedback-QGSAJJVC.js.map +0 -1
  497. package/dist/feedback-record-NUAJ6UBL.js +0 -176
  498. package/dist/feedback-record-NUAJ6UBL.js.map +0 -1
  499. package/dist/fetch-UTTJAOLC.js +0 -171
  500. package/dist/fetch-UTTJAOLC.js.map +0 -1
  501. package/dist/fit-FJ5CLQS4.js +0 -43
  502. package/dist/flows-OGGSWWGT.js +0 -244
  503. package/dist/follow-DUIEGDVK.js +0 -82
  504. package/dist/follow-competitors-IT5ZVJPE.js +0 -131
  505. package/dist/fonts-GCJRLEGD.js +0 -34
  506. package/dist/forecast-2AGTFMXH.js +0 -104
  507. package/dist/funnel-7U55LNJ4.js +0 -837
  508. package/dist/generate-DMQUS665.js +0 -262
  509. package/dist/get-IRJIHOQK.js +0 -78
  510. package/dist/get-N7FR6NFX.js +0 -54
  511. package/dist/google-NYRI2NDZ.js +0 -1872
  512. package/dist/google-NYRI2NDZ.js.map +0 -1
  513. package/dist/history-PSNJAUTW.js +0 -133
  514. package/dist/history-Q3QCT64S.js +0 -67
  515. package/dist/hubspot-2NHL47R2.js +0 -779
  516. package/dist/ideas-22MRXKT7.js +0 -32
  517. package/dist/images-LXFWEON7.js +0 -90
  518. package/dist/ingest-W7VEDEYD.js +0 -107
  519. package/dist/ingest-ZN3DEZHY.js +0 -23
  520. package/dist/insights-LNAXV2CG.js +0 -122
  521. package/dist/inspect-3LBIHMMP.js +0 -189
  522. package/dist/inspiration-I4MMKAWA.js +0 -53
  523. package/dist/intent-ICKFJRT2.js +0 -95
  524. package/dist/keyword-gap-NGPH32FN.js +0 -130
  525. package/dist/keyword-metrics-PZXFB4NG.js +0 -197
  526. package/dist/keywords-for-site-RH47P4GJ.js +0 -124
  527. package/dist/keywords-for-site-RH47P4GJ.js.map +0 -1
  528. package/dist/landing-D7QS42GK.js +0 -28
  529. package/dist/languages-JDYL2N5F.js +0 -40
  530. package/dist/languages-JMVNOHMG.js +0 -55
  531. package/dist/leads-ARUWPHBM.js +0 -293
  532. package/dist/leads-E22XFSX2.js +0 -90
  533. package/dist/learn-Y4KIZNRF.js +0 -204
  534. package/dist/learn-Y4KIZNRF.js.map +0 -1
  535. package/dist/lighthouse-NQBUCHTW.js +0 -75
  536. package/dist/line-item-writes-KA5PVKFO.js +0 -208
  537. package/dist/line-items-3ZFFZCNH.js +0 -103
  538. package/dist/link-AEU6BV75.js +0 -64
  539. package/dist/linkedin-WCB2H5NH.js +0 -1008
  540. package/dist/list-OLX7AI3O.js +0 -63
  541. package/dist/list-PAMYQS4X.js +0 -151
  542. package/dist/list-TOUUGHMS.js +0 -303
  543. package/dist/locations-2NKBJKBT.js +0 -67
  544. package/dist/locations-S4U6IJIS.js +0 -40
  545. package/dist/log-UGVWSK7Z.js +0 -92
  546. package/dist/make-3PZLTEXT.js +0 -516
  547. package/dist/make-3PZLTEXT.js.map +0 -1
  548. package/dist/map-BW4CHSIO.js +0 -404
  549. package/dist/mcp-JOXKA5HY.js +0 -476
  550. package/dist/media-53DJRC4N.js +0 -15
  551. package/dist/media-sources-SJZUOMI2.js +0 -32
  552. package/dist/members-VAX6KAFN.js +0 -44
  553. package/dist/meta-A7KM6TF5.js +0 -69
  554. package/dist/metrics-AY4RP54F.js +0 -152
  555. package/dist/models-5NTC7A5G.js +0 -155
  556. package/dist/normalize-IVQ7I54Z.js +0 -138
  557. package/dist/options-V7C6CU6M.js +0 -121
  558. package/dist/performance-L6RJZPXX.js +0 -24
  559. package/dist/pixels-TZPF746S.js +0 -60
  560. package/dist/promoted-tweet-writes-DBATH765.js +0 -180
  561. package/dist/promoted-tweets-AU3XF3JD.js +0 -119
  562. package/dist/publish-G6DYVT4S.js +0 -322
  563. package/dist/query-CPZZNMDY.js +0 -1341
  564. package/dist/reddit-S2S6C4RT.js +0 -26
  565. package/dist/refresh-ARJ2SOMY.js +0 -94
  566. package/dist/release-3WCBAHPO.js +0 -60
  567. package/dist/relevant-pages-MTMFMBPD.js +0 -99
  568. package/dist/remove-FUAARCSC.js +0 -50
  569. package/dist/reopen-PZI5H4X2.js +0 -63
  570. package/dist/rerun-AUP4XT6T.js +0 -86
  571. package/dist/rerun-AUP4XT6T.js.map +0 -1
  572. package/dist/research-SY3QRGOC.js +0 -262
  573. package/dist/research-TISR736S.js +0 -59
  574. package/dist/research-TISR736S.js.map +0 -1
  575. package/dist/reset-E6F5NXOI.js +0 -54
  576. package/dist/reset-ZWM7DDD7.js +0 -54
  577. package/dist/resolve-I5R5ELMZ.js +0 -121
  578. package/dist/retry-7CFZTKWI.js +0 -60
  579. package/dist/retry-JO3JXXT2.js +0 -62
  580. package/dist/run-JR6SILHL.js +0 -61
  581. package/dist/run-UKB647DI.js +0 -65
  582. package/dist/scaffold-ad-BYGVU7MT.js +0 -1550
  583. package/dist/scaffold-ad-BYGVU7MT.js.map +0 -1
  584. package/dist/scaffold-static-ad-U57V5UV3.js +0 -948
  585. package/dist/scaffold-static-ad-U57V5UV3.js.map +0 -1
  586. package/dist/scaffold-video-POZTINEV.js +0 -874
  587. package/dist/scaffold-video-POZTINEV.js.map +0 -1
  588. package/dist/schedule-SOAHLZZF.js +0 -61
  589. package/dist/scheduled-agents-K5WU7SVJ.js +0 -49
  590. package/dist/schema-SOPL6GJP.js +0 -129
  591. package/dist/search-5VUDFOHI.js +0 -174
  592. package/dist/search-XUIVHGAY.js +0 -26
  593. package/dist/select-T36UH4HL.js +0 -95
  594. package/dist/select-T36UH4HL.js.map +0 -1
  595. package/dist/set-prompt-Y4X7GV2Q.js +0 -187
  596. package/dist/set-prompt-Y4X7GV2Q.js.map +0 -1
  597. package/dist/setup-links-KFROCISS.js +0 -141
  598. package/dist/site-MXPKMRQT.js +0 -177
  599. package/dist/sources-FFHNWVLV.js +0 -30
  600. package/dist/sources-MLDLMEDT.js +0 -421
  601. package/dist/stale-UXL4X4AD.js +0 -64
  602. package/dist/stale-UXL4X4AD.js.map +0 -1
  603. package/dist/status-M47G5HD4.js +0 -62
  604. package/dist/studio-HUEBE6DS.js +0 -49
  605. package/dist/sync-HS7VZJ2H.js +0 -54
  606. package/dist/sync-definition-PY6REQ4J.js +0 -54
  607. package/dist/tag-manager-HREEYGVM.js +0 -43
  608. package/dist/tags-DIXLYB5P.js +0 -224
  609. package/dist/tags-DYRZTYHD.js +0 -20
  610. package/dist/tags-MRG56YOE.js +0 -26
  611. package/dist/tags-WAW6MQAY.js +0 -20
  612. package/dist/tags-Y4HHJJGE.js +0 -20
  613. package/dist/targeting-criteria-5UUESFWC.js +0 -113
  614. package/dist/targets-COZPVG52.js +0 -102
  615. package/dist/templates-75VFYZ3E.js +0 -178
  616. package/dist/testimonials-WJBRWLNW.js +0 -32
  617. package/dist/top-companies-C2R4FG6H.js +0 -108
  618. package/dist/translate-RYAJAFV7.js +0 -599
  619. package/dist/translate-RYAJAFV7.js.map +0 -1
  620. package/dist/triggers-5UHVJPBV.js +0 -141
  621. package/dist/unlink-PLOOAGM3.js +0 -67
  622. package/dist/unstage-JIIOTBTF.js +0 -84
  623. package/dist/update-G6R5ZHUI.js +0 -63
  624. package/dist/update-QYM6U7LL.js +0 -142
  625. package/dist/update-RCP7F5L5.js +0 -98
  626. package/dist/update-RGVNTA5X.js +0 -155
  627. package/dist/upload-EEJ34Q3Y.js +0 -126
  628. package/dist/url-options-QEWKRKZ3.js +0 -127
  629. package/dist/url-params-2G5M2B3J.js +0 -98
  630. package/dist/validate-M33VLUG4.js +0 -90
  631. package/dist/validate-M33VLUG4.js.map +0 -1
  632. package/dist/videos-FVVID55J.js +0 -39
  633. package/dist/viewer-check-2Q3WHSEL.js +0 -70
  634. package/dist/web-WUGLSULO.js +0 -135
  635. package/dist/web-WUGLSULO.js.map +0 -1
  636. package/dist/winning-ads-OSRFHVLV.js +0 -62
  637. package/dist/write-commands-CLJOD2XF.js +0 -1015
  638. package/dist/write-commands-CT74VHH6.js +0 -737
  639. package/dist/x-EBKLJJPJ.js +0 -47
  640. /package/dist/{account-PCEZQUK7.js.map → account-2ZMZFPIU.js.map} +0 -0
  641. /package/dist/{account-4H7QVBRK.js.map → account-F6MHQ64I.js.map} +0 -0
  642. /package/dist/{account-writes-AK42HGRM.js.map → account-writes-ISE4U2FQ.js.map} +0 -0
  643. /package/dist/{accounts-OSXDZZLY.js.map → accounts-RHGN5WMU.js.map} +0 -0
  644. /package/dist/{accounts-5AXLYU7P.js.map → accounts-VINHZRWA.js.map} +0 -0
  645. /package/dist/{actions-HM4VVTGW.js.map → actions-5F4ZP6M4.js.map} +0 -0
  646. /package/dist/{ad-group-writes-QQS4223F.js.map → ad-group-writes-UU5NNKSO.js.map} +0 -0
  647. /package/dist/{ad-groups-WGPDPUI2.js.map → ad-groups-CGFXZNIA.js.map} +0 -0
  648. /package/dist/{ad-writes-XE2IE4DS.js.map → ad-writes-NALDYWOR.js.map} +0 -0
  649. /package/dist/{add-4J2EF54O.js.map → add-KBPMSK2P.js.map} +0 -0
  650. /package/dist/{add-VZAY57M4.js.map → add-OGH4DZZ5.js.map} +0 -0
  651. /package/dist/{ads-NUME2UXH.js.map → ads-56OWZBXZ.js.map} +0 -0
  652. /package/dist/{ads-6UEDYT3O.js.map → ads-H7GH7A26.js.map} +0 -0
  653. /package/dist/{ads-BCOSQALY.js.map → ads-PV7GZXPR.js.map} +0 -0
  654. /package/dist/{adsets-Q5DWGANV.js.map → adsets-H7QT42U6.js.map} +0 -0
  655. /package/dist/{analytics-PHU7H5VY.js.map → analytics-5FALU2GL.js.map} +0 -0
  656. /package/dist/{analytics-QTR2ZITZ.js.map → analytics-JVZKN735.js.map} +0 -0
  657. /package/dist/{animate-3Z7HXOLE.js.map → animate-FWWHSYPL.js.map} +0 -0
  658. /package/dist/{assign-IIAVNATI.js.map → assign-KLYZ6USE.js.map} +0 -0
  659. /package/dist/{audience-size-2L7XMYJL.js.map → audience-size-JHB42DB4.js.map} +0 -0
  660. /package/dist/{audiences-AMRFZRZ7.js.map → audiences-JACGRBNN.js.map} +0 -0
  661. /package/dist/{audiences-TGD5US2M.js.map → audiences-VEKGLWBG.js.map} +0 -0
  662. /package/dist/{audit-ZCUFJLUG.js.map → audit-5XH7WZIM.js.map} +0 -0
  663. /package/dist/{avatars-OEK3FYKK.js.map → avatars-N4SRNQI7.js.map} +0 -0
  664. /package/dist/{bid-pricing-FDW3IY6G.js.map → bid-pricing-VYLVGU26.js.map} +0 -0
  665. /package/dist/{brand-OXYFSNA5.js.map → brand-ASBS2HZM.js.map} +0 -0
  666. /package/dist/{campaign-groups-5GCFQT2W.js.map → campaign-groups-ATE2DE4V.js.map} +0 -0
  667. /package/dist/{campaign-writes-3SJQSCUK.js.map → campaign-writes-ETT57KLQ.js.map} +0 -0
  668. /package/dist/{campaign-writes-SXLZFYF6.js.map → campaign-writes-SX52CJYW.js.map} +0 -0
  669. /package/dist/{campaigns-7QDDWZ76.js.map → campaigns-FGBAS6AZ.js.map} +0 -0
  670. /package/dist/{campaigns-SYEOFKFV.js.map → campaigns-J6VZBIV6.js.map} +0 -0
  671. /package/dist/{campaigns-D6B6Z67Y.js.map → campaigns-WBEG5QA4.js.map} +0 -0
  672. /package/dist/{campaigns-YS3OGQXO.js.map → campaigns-X3DPCCSN.js.map} +0 -0
  673. /package/dist/{canvas-B6DPRQGN.js.map → canvas-K7IN7HLO.js.map} +0 -0
  674. /package/dist/{capabilities-GVHPHH2G.js.map → capabilities-RDAERPYY.js.map} +0 -0
  675. /package/dist/{catalogs-BRXEDE56.js.map → catalogs-G3YEVG6S.js.map} +0 -0
  676. /package/dist/{changes-6QBJMGJC.js.map → changes-TP7ZZHB3.js.map} +0 -0
  677. /package/dist/{chatgpt-7W75X3ER.js.map → chatgpt-QNUN63YS.js.map} +0 -0
  678. /package/dist/{chats-54CWM7DL.js.map → chats-YIAQGQ3X.js.map} +0 -0
  679. /package/dist/{chunk-7FVWIZHM.js.map → chunk-2GK33EJV.js.map} +0 -0
  680. /package/dist/{chunk-7J6EHOH6.js.map → chunk-35XWJEWH.js.map} +0 -0
  681. /package/dist/{chunk-RB5DB3WN.js.map → chunk-4NBVGARW.js.map} +0 -0
  682. /package/dist/{chunk-OAQPHP6V.js.map → chunk-65RIB7A6.js.map} +0 -0
  683. /package/dist/{chunk-CKU4WYTF.js.map → chunk-6DB2B3GF.js.map} +0 -0
  684. /package/dist/{chunk-EAHP7L2R.js.map → chunk-7SDFKGQ4.js.map} +0 -0
  685. /package/dist/{chunk-NK2UFFVH.js.map → chunk-ACANMASG.js.map} +0 -0
  686. /package/dist/{chunk-HDWKLFF5.js.map → chunk-ALTBBAYU.js.map} +0 -0
  687. /package/dist/{chunk-FGH4Z5K5.js.map → chunk-ANCSKUWI.js.map} +0 -0
  688. /package/dist/{chunk-AO5UQQLJ.js.map → chunk-BA7FDXQC.js.map} +0 -0
  689. /package/dist/{chunk-654U6NU6.js.map → chunk-BNCW67EM.js.map} +0 -0
  690. /package/dist/{chunk-EPMN4BK7.js.map → chunk-BSC33FLJ.js.map} +0 -0
  691. /package/dist/{chunk-DE6ANJLU.js.map → chunk-DKGTQSLR.js.map} +0 -0
  692. /package/dist/{chunk-FYQPB2SS.js.map → chunk-DR34ZTWD.js.map} +0 -0
  693. /package/dist/{chunk-NTPXZU3V.js.map → chunk-E4MDJBLO.js.map} +0 -0
  694. /package/dist/{chunk-YUPRCOEN.js.map → chunk-EH4C4CZK.js.map} +0 -0
  695. /package/dist/{chunk-L27H2R2N.js.map → chunk-FXED3VZK.js.map} +0 -0
  696. /package/dist/{chunk-KV5BCSUR.js.map → chunk-G7UTTEBS.js.map} +0 -0
  697. /package/dist/{chunk-T4DD5YMP.js.map → chunk-GIJT3A5U.js.map} +0 -0
  698. /package/dist/{chunk-KWAOTV7F.js.map → chunk-GX6VAHY7.js.map} +0 -0
  699. /package/dist/{chunk-DZSIUEGH.js.map → chunk-HIPDMQZ6.js.map} +0 -0
  700. /package/dist/{chunk-XG3XCHN6.js.map → chunk-HQSCJYZO.js.map} +0 -0
  701. /package/dist/{chunk-V5WSJP5A.js.map → chunk-HZ5DR5MX.js.map} +0 -0
  702. /package/dist/{chunk-5VC6IK7B.js.map → chunk-IM52NHGL.js.map} +0 -0
  703. /package/dist/{chunk-WTOYCUKH.js.map → chunk-K3PN7TN5.js.map} +0 -0
  704. /package/dist/{chunk-HYCIBVDW.js.map → chunk-KQTYTCKQ.js.map} +0 -0
  705. /package/dist/{chunk-2SCPDSFN.js.map → chunk-LIQ4SQ2T.js.map} +0 -0
  706. /package/dist/{chunk-3X3446TG.js.map → chunk-MADAAZZV.js.map} +0 -0
  707. /package/dist/{chunk-ZZQXVYUY.js.map → chunk-MLU6STIN.js.map} +0 -0
  708. /package/dist/{chunk-7JUUKYKG.js.map → chunk-PDTB5EX6.js.map} +0 -0
  709. /package/dist/{chunk-E5IFTZJ3.js.map → chunk-SB3GZFCV.js.map} +0 -0
  710. /package/dist/{chunk-XV6XCFF7.js.map → chunk-T3BDNJIX.js.map} +0 -0
  711. /package/dist/{chunk-KMEMA7AZ.js.map → chunk-TIOQ7ZFQ.js.map} +0 -0
  712. /package/dist/{chunk-SKT3SAHG.js.map → chunk-U3HAMW5W.js.map} +0 -0
  713. /package/dist/{chunk-5EEDEVOR.js.map → chunk-U6SYRIOB.js.map} +0 -0
  714. /package/dist/{chunk-F46KAIBS.js.map → chunk-UC6BWM5J.js.map} +0 -0
  715. /package/dist/{chunk-ZNBDKK4Y.js.map → chunk-ULJ5RFOV.js.map} +0 -0
  716. /package/dist/{chunk-GTK46DE3.js.map → chunk-VAISMQQB.js.map} +0 -0
  717. /package/dist/{chunk-WRIC2RPQ.js.map → chunk-VDHQJ6HD.js.map} +0 -0
  718. /package/dist/{chunk-6TCDQSM7.js.map → chunk-VMDAXFRI.js.map} +0 -0
  719. /package/dist/{chunk-EVYXTT7V.js.map → chunk-XCM6XWOB.js.map} +0 -0
  720. /package/dist/{chunk-NSA6HRG6.js.map → chunk-XMD4SHFI.js.map} +0 -0
  721. /package/dist/{chunk-4SJDDGPV.js.map → chunk-Y6QAJNKP.js.map} +0 -0
  722. /package/dist/{chunk-4SNOWJV7.js.map → chunk-YBP7O5P4.js.map} +0 -0
  723. /package/dist/{chunk-J5IU4OX2.js.map → chunk-YC2TQ3VC.js.map} +0 -0
  724. /package/dist/{chunk-6YYEBLYI.js.map → chunk-ZPU3WDVK.js.map} +0 -0
  725. /package/dist/{claim-CIASHKMC.js.map → claim-V4F5GZJK.js.map} +0 -0
  726. /package/dist/{companies-ECVMO24S.js.map → companies-NJGJ7XNN.js.map} +0 -0
  727. /package/dist/{complete-32CPBFIG.js.map → complete-MGNF5OAK.js.map} +0 -0
  728. /package/dist/{connect-OJSOM6PY.js.map → connect-PJOTRTT4.js.map} +0 -0
  729. /package/dist/{conversation-7FHN5ESN.js.map → conversation-4DM26FRD.js.map} +0 -0
  730. /package/dist/{conversion-report-XQBJ6LG4.js.map → conversion-report-N4HANYOB.js.map} +0 -0
  731. /package/dist/{conversion-upload-command-BBUXLFT3.js.map → conversion-upload-command-TZTHU2CD.js.map} +0 -0
  732. /package/dist/{conversion-writes-UBCVXP2E.js.map → conversion-writes-LW4HQKK5.js.map} +0 -0
  733. /package/dist/{conversions-7YJDNZ7Y.js.map → conversions-JGECVZSY.js.map} +0 -0
  734. /package/dist/{conversions-D236RTUK.js.map → conversions-TS723AZV.js.map} +0 -0
  735. /package/dist/{countries-FYHM3IMJ.js.map → countries-ESAKTQAE.js.map} +0 -0
  736. /package/dist/{create-FE5QLW7V.js.map → create-DSGQFBI7.js.map} +0 -0
  737. /package/dist/{create-ZGRL7YCV.js.map → create-I2KVDTCQ.js.map} +0 -0
  738. /package/dist/{create-2TBDXHAM.js.map → create-SBQWVLXG.js.map} +0 -0
  739. /package/dist/{create-OYT76OMJ.js.map → create-WOHPIGBK.js.map} +0 -0
  740. /package/dist/{creatives-IUB57I3T.js.map → creatives-4JGVZQGC.js.map} +0 -0
  741. /package/dist/{creatives-5MUTX4DQ.js.map → creatives-DWO5KEQC.js.map} +0 -0
  742. /package/dist/{creatives-UEPLNCPN.js.map → creatives-PSWCNY7U.js.map} +0 -0
  743. /package/dist/{critique-T7HJ42D4.js.map → critique-TIZJ5GFM.js.map} +0 -0
  744. /package/dist/{crm-KH6XX2TT.js.map → crm-2WAR565U.js.map} +0 -0
  745. /package/dist/{crm-JP4UOPMN.js.map → crm-VDXUO2YU.js.map} +0 -0
  746. /package/dist/{currency-DJDVIR3C.js.map → currency-XCGKQ7FE.js.map} +0 -0
  747. /package/dist/{custom-conversions-2VLJGPRV.js.map → custom-conversions-6P555U2K.js.map} +0 -0
  748. /package/dist/{customers-7I7UY5PS.js.map → customers-ATENMXDO.js.map} +0 -0
  749. /package/dist/{delete-6IOUDEWY.js.map → delete-AVMZYNVT.js.map} +0 -0
  750. /package/dist/{delete-ODFKNHAI.js.map → delete-H744GNS4.js.map} +0 -0
  751. /package/dist/{delete-RAETUVO2.js.map → delete-OEYPFATY.js.map} +0 -0
  752. /package/dist/{demographics-2FTDKPBD.js.map → demographics-M5LJF3RZ.js.map} +0 -0
  753. /package/dist/{discard-ZX5TLFYH.js.map → discard-72I6SM7G.js.map} +0 -0
  754. /package/dist/{discover-M3ZKKFEL.js.map → discover-BJPZNXUQ.js.map} +0 -0
  755. /package/dist/{domain-TH7KIC2T.js.map → domain-R4EIZD2W.js.map} +0 -0
  756. /package/dist/{draft-S2FSQOJN.js.map → draft-34C3F5U4.js.map} +0 -0
  757. /package/dist/{draft-CRE2Y24G.js.map → draft-BBFJNZ5X.js.map} +0 -0
  758. /package/dist/{draft-SH25PKST.js.map → draft-BV2QRPZ4.js.map} +0 -0
  759. /package/dist/{draft-MNFJ4G3C.js.map → draft-THPZFASM.js.map} +0 -0
  760. /package/dist/{draft-YHUIFDDR.js.map → draft-YYYRWF7M.js.map} +0 -0
  761. /package/dist/{facets-6B2U4BSM.js.map → facets-F2H52MS4.js.map} +0 -0
  762. /package/dist/{fit-FJ5CLQS4.js.map → fit-2CA4JH7N.js.map} +0 -0
  763. /package/dist/{flows-OGGSWWGT.js.map → flows-CWXCXEUD.js.map} +0 -0
  764. /package/dist/{follow-DUIEGDVK.js.map → follow-FN7LV3WV.js.map} +0 -0
  765. /package/dist/{follow-competitors-IT5ZVJPE.js.map → follow-competitors-MKXFHLXB.js.map} +0 -0
  766. /package/dist/{fonts-GCJRLEGD.js.map → fonts-F2XUCIIW.js.map} +0 -0
  767. /package/dist/{forecast-2AGTFMXH.js.map → forecast-IDKJYM2B.js.map} +0 -0
  768. /package/dist/{funnel-7U55LNJ4.js.map → funnel-RLGQGYKO.js.map} +0 -0
  769. /package/dist/{generate-DMQUS665.js.map → generate-MMBYB44G.js.map} +0 -0
  770. /package/dist/{get-N7FR6NFX.js.map → get-C6UQ22HH.js.map} +0 -0
  771. /package/dist/{get-IRJIHOQK.js.map → get-EEUR6SAW.js.map} +0 -0
  772. /package/dist/{history-PSNJAUTW.js.map → history-4II5QA4B.js.map} +0 -0
  773. /package/dist/{history-Q3QCT64S.js.map → history-DBIEYQHY.js.map} +0 -0
  774. /package/dist/{hubspot-2NHL47R2.js.map → hubspot-TTITJFBO.js.map} +0 -0
  775. /package/dist/{ideas-22MRXKT7.js.map → ideas-V4Q6JDKV.js.map} +0 -0
  776. /package/dist/{images-LXFWEON7.js.map → images-SP5REF6E.js.map} +0 -0
  777. /package/dist/{ingest-W7VEDEYD.js.map → ingest-574GIFAR.js.map} +0 -0
  778. /package/dist/{ingest-ZN3DEZHY.js.map → ingest-IC4T76W6.js.map} +0 -0
  779. /package/dist/{insights-LNAXV2CG.js.map → insights-ZIU6FJMS.js.map} +0 -0
  780. /package/dist/{inspect-3LBIHMMP.js.map → inspect-ATHYY6A2.js.map} +0 -0
  781. /package/dist/{inspiration-I4MMKAWA.js.map → inspiration-P265QJ2H.js.map} +0 -0
  782. /package/dist/{intent-ICKFJRT2.js.map → intent-E3UIVZBN.js.map} +0 -0
  783. /package/dist/{keyword-gap-NGPH32FN.js.map → keyword-gap-BG6M665A.js.map} +0 -0
  784. /package/dist/{keyword-metrics-PZXFB4NG.js.map → keyword-metrics-J4UPUDN7.js.map} +0 -0
  785. /package/dist/{landing-D7QS42GK.js.map → landing-R6DN7XLK.js.map} +0 -0
  786. /package/dist/{languages-JDYL2N5F.js.map → languages-HORKPDNH.js.map} +0 -0
  787. /package/dist/{languages-JMVNOHMG.js.map → languages-JSGWCC7Z.js.map} +0 -0
  788. /package/dist/{leads-ARUWPHBM.js.map → leads-7EVHMNUF.js.map} +0 -0
  789. /package/dist/{leads-E22XFSX2.js.map → leads-JM6HUERX.js.map} +0 -0
  790. /package/dist/{lighthouse-NQBUCHTW.js.map → lighthouse-6ZC45E53.js.map} +0 -0
  791. /package/dist/{line-item-writes-KA5PVKFO.js.map → line-item-writes-KUYEXSIH.js.map} +0 -0
  792. /package/dist/{line-items-3ZFFZCNH.js.map → line-items-GIWLP3FL.js.map} +0 -0
  793. /package/dist/{link-AEU6BV75.js.map → link-PVM7XJQI.js.map} +0 -0
  794. /package/dist/{linkedin-WCB2H5NH.js.map → linkedin-WX54EAX6.js.map} +0 -0
  795. /package/dist/{list-PAMYQS4X.js.map → list-4ZKQZBCL.js.map} +0 -0
  796. /package/dist/{list-OLX7AI3O.js.map → list-MCEFXC6L.js.map} +0 -0
  797. /package/dist/{list-TOUUGHMS.js.map → list-WR7QYTON.js.map} +0 -0
  798. /package/dist/{locations-2NKBJKBT.js.map → locations-74TPQWAT.js.map} +0 -0
  799. /package/dist/{locations-S4U6IJIS.js.map → locations-J4G5RNPH.js.map} +0 -0
  800. /package/dist/{log-UGVWSK7Z.js.map → log-U6IWZGOF.js.map} +0 -0
  801. /package/dist/{map-BW4CHSIO.js.map → map-TWL7T4KP.js.map} +0 -0
  802. /package/dist/{mcp-JOXKA5HY.js.map → mcp-HVAVJGGS.js.map} +0 -0
  803. /package/dist/{media-53DJRC4N.js.map → media-M7E6V2XU.js.map} +0 -0
  804. /package/dist/{media-sources-SJZUOMI2.js.map → media-sources-JWGO23BZ.js.map} +0 -0
  805. /package/dist/{members-VAX6KAFN.js.map → members-5FAW4YE7.js.map} +0 -0
  806. /package/dist/{meta-A7KM6TF5.js.map → meta-EZ4SY25M.js.map} +0 -0
  807. /package/dist/{metrics-AY4RP54F.js.map → metrics-SQDJ5NQO.js.map} +0 -0
  808. /package/dist/{models-5NTC7A5G.js.map → models-7U3GRYHF.js.map} +0 -0
  809. /package/dist/{normalize-IVQ7I54Z.js.map → normalize-GW4GZNVY.js.map} +0 -0
  810. /package/dist/{options-V7C6CU6M.js.map → options-NSUCENLU.js.map} +0 -0
  811. /package/dist/{performance-L6RJZPXX.js.map → performance-FGCDWHMC.js.map} +0 -0
  812. /package/dist/{pixels-TZPF746S.js.map → pixels-45A55MOP.js.map} +0 -0
  813. /package/dist/{promoted-tweet-writes-DBATH765.js.map → promoted-tweet-writes-BPWTDESL.js.map} +0 -0
  814. /package/dist/{promoted-tweets-AU3XF3JD.js.map → promoted-tweets-OS3NHYVE.js.map} +0 -0
  815. /package/dist/{publish-G6DYVT4S.js.map → publish-SXZEWBVJ.js.map} +0 -0
  816. /package/dist/{query-CPZZNMDY.js.map → query-IEZRY6HV.js.map} +0 -0
  817. /package/dist/{reddit-S2S6C4RT.js.map → reddit-TF6K37SB.js.map} +0 -0
  818. /package/dist/{refresh-ARJ2SOMY.js.map → refresh-APVDWXRZ.js.map} +0 -0
  819. /package/dist/{release-3WCBAHPO.js.map → release-32SEJU4L.js.map} +0 -0
  820. /package/dist/{relevant-pages-MTMFMBPD.js.map → relevant-pages-OWMNUCP7.js.map} +0 -0
  821. /package/dist/{remove-FUAARCSC.js.map → remove-U64GTHLQ.js.map} +0 -0
  822. /package/dist/{reopen-PZI5H4X2.js.map → reopen-5VS233SF.js.map} +0 -0
  823. /package/dist/{research-SY3QRGOC.js.map → research-QYSQ6LW4.js.map} +0 -0
  824. /package/dist/{reset-E6F5NXOI.js.map → reset-22FC7BXQ.js.map} +0 -0
  825. /package/dist/{reset-ZWM7DDD7.js.map → reset-47B5VPT4.js.map} +0 -0
  826. /package/dist/{resolve-I5R5ELMZ.js.map → resolve-7KQGVTQT.js.map} +0 -0
  827. /package/dist/{retry-JO3JXXT2.js.map → retry-J5UVLS72.js.map} +0 -0
  828. /package/dist/{retry-7CFZTKWI.js.map → retry-UJ5UF4BM.js.map} +0 -0
  829. /package/dist/{run-UKB647DI.js.map → run-SI4FA32F.js.map} +0 -0
  830. /package/dist/{run-JR6SILHL.js.map → run-TFLFBQU2.js.map} +0 -0
  831. /package/dist/{schedule-SOAHLZZF.js.map → schedule-52ZM4KRQ.js.map} +0 -0
  832. /package/dist/{scheduled-agents-K5WU7SVJ.js.map → scheduled-agents-PCWCQAKP.js.map} +0 -0
  833. /package/dist/{schema-SOPL6GJP.js.map → schema-FY6ORDXZ.js.map} +0 -0
  834. /package/dist/{search-5VUDFOHI.js.map → search-NS7XNRZC.js.map} +0 -0
  835. /package/dist/{search-XUIVHGAY.js.map → search-UO5KJTYS.js.map} +0 -0
  836. /package/dist/{setup-links-KFROCISS.js.map → setup-links-V3URI7DL.js.map} +0 -0
  837. /package/dist/{site-MXPKMRQT.js.map → site-WIQ7SSU3.js.map} +0 -0
  838. /package/dist/{sources-MLDLMEDT.js.map → sources-DWJXOLEH.js.map} +0 -0
  839. /package/dist/{sources-FFHNWVLV.js.map → sources-L453U5MT.js.map} +0 -0
  840. /package/dist/{status-M47G5HD4.js.map → status-WXWU54WR.js.map} +0 -0
  841. /package/dist/{studio-HUEBE6DS.js.map → studio-C5K3YX3P.js.map} +0 -0
  842. /package/dist/{sync-HS7VZJ2H.js.map → sync-CDZUTGV3.js.map} +0 -0
  843. /package/dist/{sync-definition-PY6REQ4J.js.map → sync-definition-BAJQUBE3.js.map} +0 -0
  844. /package/dist/{tag-manager-HREEYGVM.js.map → tag-manager-DYZUOIAS.js.map} +0 -0
  845. /package/dist/{tags-WAW6MQAY.js.map → tags-6RY23XOG.js.map} +0 -0
  846. /package/dist/{tags-DIXLYB5P.js.map → tags-BHFQWNPL.js.map} +0 -0
  847. /package/dist/{tags-MRG56YOE.js.map → tags-SG3NVC3J.js.map} +0 -0
  848. /package/dist/{tags-DYRZTYHD.js.map → tags-VN5HTL35.js.map} +0 -0
  849. /package/dist/{tags-Y4HHJJGE.js.map → tags-WR6PDIDR.js.map} +0 -0
  850. /package/dist/{targeting-criteria-5UUESFWC.js.map → targeting-criteria-5EXP2NXF.js.map} +0 -0
  851. /package/dist/{targets-COZPVG52.js.map → targets-WUVEJPSD.js.map} +0 -0
  852. /package/dist/{templates-75VFYZ3E.js.map → templates-LOJQX2NG.js.map} +0 -0
  853. /package/dist/{testimonials-WJBRWLNW.js.map → testimonials-6M5DXORT.js.map} +0 -0
  854. /package/dist/{top-companies-C2R4FG6H.js.map → top-companies-E2OMMPSV.js.map} +0 -0
  855. /package/dist/{triggers-5UHVJPBV.js.map → triggers-MRXIDCSN.js.map} +0 -0
  856. /package/dist/{unlink-PLOOAGM3.js.map → unlink-HNL747YM.js.map} +0 -0
  857. /package/dist/{unstage-JIIOTBTF.js.map → unstage-OL2JDCLK.js.map} +0 -0
  858. /package/dist/{update-QYM6U7LL.js.map → update-4KGIT4BF.js.map} +0 -0
  859. /package/dist/{update-RCP7F5L5.js.map → update-JPBUF7M2.js.map} +0 -0
  860. /package/dist/{update-RGVNTA5X.js.map → update-RTTC3SAK.js.map} +0 -0
  861. /package/dist/{update-G6R5ZHUI.js.map → update-YNNRX5B2.js.map} +0 -0
  862. /package/dist/{upload-EEJ34Q3Y.js.map → upload-UIXPCSXJ.js.map} +0 -0
  863. /package/dist/{url-options-QEWKRKZ3.js.map → url-options-GGXAL3J4.js.map} +0 -0
  864. /package/dist/{url-params-2G5M2B3J.js.map → url-params-K47CE7Y5.js.map} +0 -0
  865. /package/dist/{videos-FVVID55J.js.map → videos-BP3BKNTY.js.map} +0 -0
  866. /package/dist/{viewer-check-2Q3WHSEL.js.map → viewer-check-HFRUJ4ZU.js.map} +0 -0
  867. /package/dist/{winning-ads-OSRFHVLV.js.map → winning-ads-WUENRDVJ.js.map} +0 -0
  868. /package/dist/{write-commands-CLJOD2XF.js.map → write-commands-4WARNR2T.js.map} +0 -0
  869. /package/dist/{write-commands-CT74VHH6.js.map → write-commands-TAYGTJEZ.js.map} +0 -0
  870. /package/dist/{x-EBKLJJPJ.js.map → x-VZCELH3P.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/creatives/make.ts"],"sourcesContent":["/**\n * `baker creatives make <idea>`: one idea becomes one creative. For a static it finds a reference\n * for the job itself (the idea's container, made for our viewer), keeps the first whose\n * load-bearing parts we can supply, scaffolds from it, and records the idea on the creative and\n * its message in the ad spec. The agent then writes only the copy lines and the scene, and runs it.\n */\n\nimport { mkdtemp, readFile, rm, stat, writeFile } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport path from \"node:path\";\nimport type { ScopedWinnersSearchResponse } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { readAdSpec, SPEC_SHAPES_HINT, unwrittenProblems } from \"../../engine/scaffold/static-ad-spec.ts\";\nimport { optionalChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { type ViewerTemperature, viewerFromKnowledge } from \"../../viewer-profile.ts\";\nimport { runBaker as baker } from \"../baker-child.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { liveViewerLookups } from \"../canvas/viewer-check.ts\";\nimport { type FitFailure, fitReference } from \"../winning-ads/fit.ts\";\nimport { buildSearchBody } from \"../winning-ads/search.ts\";\nimport { checkIdeas, type EvidenceLevel, type Idea, type IdeaCheck, sourcesClaims } from \"./ideas-model.ts\";\nimport {\n coverageOf,\n IDEAS_DIR,\n readCreativeRecords,\n readIdeas,\n readInsights,\n readKnowledgeCorpus,\n readPersonaIds,\n} from \"./ideas-workspace.ts\";\nimport {\n definitionFieldsOf,\n fitsIdea,\n ideaSpec,\n isVideoIdea,\n REFERENCE_CANDIDATES,\n referenceSearchesFor,\n setDefinitionFields,\n setSpecMessage,\n unsourcedCopyLines,\n} from \"./make-model.ts\";\nimport { makeSeriesAd, seriesMadeEnvelope } from \"./make-series.ts\";\n\nconst FITS_TRIED = 3;\nconst SEARCH_TIMEOUT_MS = 120_000;\n/**\n * How long make looks for and describes a reference before it starts the ad from the idea. Dev, Oct\n * 2026: a cold reference held make 80-110 s, and ads started from the idea rendered as well.\n */\nconst REFERENCE_MS = 50_000;\n\nconst DESCRIPTION = `Build one idea from src/creatives/_ideas/ into a creative. For a static it picks a reference for the job (the idea's container, made for our viewer), checks it fits us, scaffolds the creative, records the idea on it and sets the ad's message; when no proven ad fits, it starts the ad from the idea itself (never a dead end, never retry with another format). You then write the copy lines and the scene in prompt.json and run it. Takes about two minutes: run it in the foreground, once per idea.\n\nStart here, with an idea from \\`baker creatives ideas\\` build_next:\n baker creatives make phone-payroll # static: reference found and checked for you\n baker creatives make phone-payroll --adset 120210000000 # written for that ad set's viewer\n baker creatives make phone-payroll --reference 1310524137919413 # your own reference instead\n baker creatives make founder-story --spec beats.json # a video idea: from its beats spec\n baker creatives make phone-payroll --slug phone-payroll-h2 # another hook of the same idea\n baker creatives make tiktok-speed --series zernio-live # another message in the style of a ready ad\nThen: edit src/creatives/<slug>/prompt.json (copy + scene; the message is set), and \\`baker canvas run src/creatives/<slug>/<slug>.canvas.json\\`.`;\n\nconst ARGS = {\n idea: { type: \"positional\", required: true, description: \"The idea id (src/creatives/_ideas/<idea>.md)\" },\n slug: { type: \"string\", required: false, description: \"Creative slug (default: the idea id)\" },\n adset: { type: \"string\", required: false, description: \"Meta ad set the ad is for: its viewer and placements\" },\n reference: {\n type: \"string\",\n required: false,\n description: \"A library ad id to build on instead of searching (statics)\",\n },\n platform: {\n type: \"string\",\n required: false,\n description: \"Library platform of --reference: meta|linkedin|tiktok (default meta)\",\n },\n spec: {\n type: \"string\",\n required: false,\n description: \"Video ideas: the beats spec for `baker canvas scaffold-ad --spec`\",\n },\n series: {\n type: \"string\",\n required: false,\n description:\n \"Statics: make this idea as another ad of the series led by this creative (its slug): the same design, only its words changed. No reference is searched; seconds. The lead must have a ready version. Then write its words and run the whole series: baker canvas run --series <lead>\",\n },\n \"from-idea\": {\n type: \"boolean\",\n required: false,\n default: false,\n description:\n \"Statics: skip the reference search and start from the idea (what make does by itself when no proven ad fits)\",\n },\n} as const;\n\nregisterSchema({ command: \"creatives.make\", description: DESCRIPTION, args: ARGS });\n\ntype Failure = { code: string; message: string; fix?: string };\n\nfunction fail(error: Failure): never {\n writeJson({ ok: false, error });\n process.exit(1);\n}\n\nasync function viewerTemperature(\n root: string,\n adSet: string | undefined,\n awareness: string,\n): Promise<ViewerTemperature> {\n if (adSet) {\n const read = await liveViewerLookups(root)\n .adSetViewer(adSet)\n .catch(() => null);\n if (read) return read.temperature;\n }\n return viewerFromKnowledge({ personas: [], awareness: awareness as never }).temperature;\n}\n\ntype Picked = {\n adId: string;\n platform: \"meta\" | \"linkedin\" | \"tiktok\";\n advertiserId?: string;\n why: string;\n tried: number;\n};\n\nconst asPlatform = (value: unknown): Picked[\"platform\"] =>\n value === \"linkedin\" || value === \"tiktok\" ? value : \"meta\";\n\ntype Candidate = { ad_id?: string | null; platform?: unknown; advertiser_id?: string | null };\ntype FitResult = Awaited<ReturnType<typeof fitReference>>;\n\n/** How references are found and checked; the live library and fit by default, injected in tests. */\nexport type ReferenceDeps = {\n search: (body: Record<string, unknown>) => Promise<Candidate[]>;\n fit: (platform: Picked[\"platform\"], adId: string) => Promise<FitResult>;\n};\n\nfunction liveReferenceDeps(root: string): ReferenceDeps {\n return {\n search: async (body) =>\n (\n await apiPost<ScopedWinnersSearchResponse>(\"/api/ad-library/winners/search\", body, {\n timeoutMs: SEARCH_TIMEOUT_MS,\n }).catch(() => null)\n )?.results ?? [],\n fit: (platform, adId) => fitReference(root, platform, adId),\n };\n}\n\n/** The candidates of the strictest search that returns any; every search runs at once. */\nasync function findCandidates(searches: Record<string, unknown>[], deps: ReferenceDeps): Promise<Candidate[]> {\n const results = await Promise.all(searches.map((search) => deps.search(search).catch(() => [] as Candidate[])));\n for (const found of results) {\n const candidates = found.filter((r) => r.ad_id).slice(0, REFERENCE_CANDIDATES);\n if (candidates.length > 0) return candidates;\n }\n return [];\n}\n\n/**\n * Search the idea's container and keep the best-ranked reference whose load-bearing parts we can\n * supply. The fits run at once (a few cents each): one after another, one make took 109 s.\n */\n/**\n * What building on a reference started before its fit was known left behind: `prepared` when the\n * reference kept is the one built on, `discarded` (to wait for before building over it) when not.\n */\ntype Speculated<T> = { prepared?: Promise<T>; discarded?: Promise<T> };\n\n/** The reference a build starts on, as `prepare` is handed it before its fit is known. */\nexport type ReferenceCandidate = Pick<Picked, \"adId\" | \"platform\" | \"advertiserId\">;\n\nconst candidateOf = (c: Candidate): ReferenceCandidate => ({\n adId: String(c.ad_id),\n platform: asPlatform(c.platform),\n ...(c.advertiser_id ? { advertiserId: c.advertiser_id } : {}),\n});\n\nexport async function pickReference<T = never>(\n root: string,\n searches: Record<string, unknown>[],\n deps: ReferenceDeps = liveReferenceDeps(root),\n /**\n * Building on the best-ranked reference, started while the fits are asked: it is usually the one\n * kept, and its scaffold (a 35 s describe) then no longer waits ~25 s for them (dev, Oct 2026).\n */\n prepare?: (candidate: ReferenceCandidate, signal: AbortSignal) => Promise<T>,\n /** Aborted when the time for a reference is out: no reference is kept, and the build started is stopped. */\n within?: AbortSignal,\n): Promise<(Picked & Speculated<T>) | (Failure & Speculated<T>)> {\n const out = whenAborted(within);\n const found = await Promise.race([findCandidates(searches, deps), out]);\n if (found === \"out\") return slowReference();\n const candidates = found.slice(0, FITS_TRIED);\n const first = candidates[0];\n // A build on a reference that is not kept is stopped, not waited for (dev: 50 s for nothing).\n const stop = new AbortController();\n const building = first && prepare ? prepare(candidateOf(first), stop.signal) : undefined;\n // A failed speculative build is never this pick's failure: the kept reference is built again.\n void building?.catch(() => undefined);\n const fits = await Promise.race([\n Promise.all(candidates.map((c) => deps.fit(asPlatform(c.platform), String(c.ad_id)))),\n out,\n ]);\n if (fits === \"out\") {\n stop.abort();\n return { ...slowReference(), ...(building ? { discarded: building } : {}) };\n }\n const kept = firstFitting(candidates, fits);\n if (kept.index !== 0) stop.abort();\n const speculated = building ? (kept.index === 0 ? { prepared: building } : { discarded: building }) : {};\n return { ...kept.picked, ...speculated };\n}\n\n/** Resolves \"out\" once `signal` aborts (never without one). */\nconst whenAborted = (signal: AbortSignal | undefined) =>\n new Promise<\"out\">((resolve) => {\n if (signal?.aborted) resolve(\"out\");\n signal?.addEventListener(\"abort\", () => resolve(\"out\"), { once: true });\n });\n\n/** The best-ranked candidate whose fit keeps it, with its rank; else why none was kept (index -1). Pure. */\nfunction firstFitting(\n candidates: readonly Candidate[],\n fits: readonly FitResult[],\n): { picked: Picked | Failure; index: number } {\n let unchecked: FitFailure | null = null;\n let checked = 0;\n for (const [index, candidate] of candidates.entries()) {\n const fit = fits[index];\n if (!fit) continue;\n if (!fit.ok) unchecked = fit.error;\n else checked += 1;\n if (!(fit.ok && fitsIdea(fit.fit))) continue;\n const layers = fit.fit.why_it_wins;\n return {\n picked: {\n ...candidateOf(candidate),\n why: [layers.disguise, layers.trigger, layers.logic].filter(Boolean).join(\"; \"),\n tried: index + 1,\n },\n index,\n };\n }\n return { picked: noReference(candidates.length, checked, unchecked), index: -1 };\n}\n\nconst slowReference = (): Failure => ({\n code: \"REFERENCE_SLOW\",\n message: \"No reference was ready in time.\",\n fix: \"Nothing to do: the ad starts from the idea. To build on a reference anyway, pass --reference <adId>.\",\n});\n\n/** Why no reference was kept: none found, none fits, or the fit could not be checked. Pure. */\nexport function noReference(found: number, checked: number, unchecked: { message: string } | null): Failure {\n if (found > 0 && checked === 0 && unchecked) {\n return {\n code: \"FIT_UNAVAILABLE\",\n message: `Could not check whether the references fit (${unchecked.message})`,\n fix: \"Run make again in a moment. To build now, pass --reference <adId> with one you looked at yourself (`baker winning-ads search`).\",\n };\n }\n return {\n code: \"NO_REFERENCE_FITS\",\n message:\n found === 0\n ? \"The library has no proven ad in this idea's format for this viewer.\"\n : `None of the ${found} closest references wins on something this company can supply.`,\n fix: \"Change the idea's format to another container (`baker creatives ideas --full` lists them) and run make again, or pass --reference <adId> for one you chose. Do not stop the batch: build the other ideas.\",\n };\n}\n\n/**\n * Refused when the creative's ad is already written: building again would put the idea's\n * placeholders over it (dev, Oct 2026: a chat agent re-ran make on a re-formatted idea and lost the\n * ad it had shown). Nothing there, or a failed make's placeholders, lets the build go ahead. Pure.\n */\nexport function alreadyWritten(promptJson: unknown, slug: string): Failure | null {\n if (promptJson === null || promptJson === undefined) return null;\n try {\n if (unwrittenProblems(readAdSpec(promptJson)).length > 0) return null;\n } catch {\n // Unreadable is still someone's work: refuse rather than overwrite it.\n }\n return {\n code: \"ALREADY_MADE\",\n message: `\"${slug}\" is already made and its ad is written: building it again would replace that ad with placeholders.`,\n fix: `To change this ad, edit src/creatives/${slug}/prompt.json and run \\`baker canvas run\\` on it. For another ad of the same idea, run make again with --slug <new-slug>.`,\n };\n}\n\ntype MakeArgs = {\n slug?: string;\n adset?: string;\n reference?: string;\n platform?: string;\n spec?: string;\n /** The lead ad of the series this idea is made in (`--series`). */\n series?: string;\n fromIdea?: boolean;\n};\n\nconst flag = (value: unknown): string | undefined => (typeof value === \"string\" && value ? value : undefined);\n\n/** The idea, checked: refused when unreadable, missing, or with a problem `creatives ideas` names. */\nasync function loadIdea(root: string, ideaId: string) {\n const { ideas, unreadable } = await readIdeas(root);\n const bad = unreadable.find((u) => u.id === ideaId);\n if (bad) {\n fail({\n code: \"INVALID_IDEA\",\n message: bad.problems.join(\"; \"),\n fix: `Fix ${IDEAS_DIR}/${ideaId}.md, then run make again.`,\n });\n }\n const idea = ideas.find((i) => i.id === ideaId);\n if (!idea) {\n fail({\n code: \"NOT_FOUND\",\n message: `No idea \"${ideaId}\" in ${IDEAS_DIR}/.`,\n fix: `Ideas on file: ${ideas.map((i) => i.id).join(\", \") || \"none\"}. Write it there first.`,\n });\n }\n const [insights, knowledge, personas, creatives] = await Promise.all([\n readInsights(root),\n readKnowledgeCorpus(root),\n readPersonaIds(root),\n readCreativeRecords(root),\n ]);\n const check = checkIdeas({ ideas, insights, knowledge, personas, ...coverageOf(ideas, creatives) }).find(\n (c) => c.id === idea.id,\n );\n if (check && check.problems.length > 0) {\n fail({\n code: \"IDEA_HAS_PROBLEMS\",\n message: check.problems.join(\"; \"),\n fix: \"Fix the idea file and run `baker creatives ideas` again.\",\n });\n }\n return { idea, check };\n}\n\n/** Scaffold the creative: a video from its beats, a static from a reference that fits. */\nasync function scaffoldIdea(\n root: string,\n idea: Idea,\n args: MakeArgs,\n slug: string,\n temperature: ViewerTemperature,\n): Promise<{ scaffold: Record<string, unknown>; reference: Picked | null; fromIdea?: string }> {\n const viewerFlags = args.adset ? [\"--target-adset\", args.adset] : [\"--viewer-temperature\", temperature];\n if (isVideoIdea(idea)) {\n if (!args.spec) {\n fail({\n code: \"SPEC_REQUIRED\",\n message: `\"${idea.id}\" is a video idea (${idea.format}): it is built from its beats.`,\n fix: `Write the beats spec (one spoken line plus one shot each; references/video-flow.md), message first, then: baker creatives make ${idea.id} --spec <file>.`,\n });\n }\n return {\n scaffold: await baker([\"canvas\", \"scaffold-ad\", \"--spec\", args.spec, \"--slug\", slug, ...viewerFlags]),\n reference: null,\n };\n }\n return await scaffoldStatic(root, idea, args, slug, temperature, viewerFlags);\n}\n\n/** A static from a reference that fits, found within `REFERENCE_MS`; else from the idea itself. */\nasync function scaffoldStatic(\n root: string,\n idea: Idea,\n args: MakeArgs,\n slug: string,\n temperature: ViewerTemperature,\n viewerFlags: string[],\n): Promise<{ scaffold: Record<string, unknown>; reference: Picked | null; fromIdea?: string }> {\n const onReference = (c: ReferenceCandidate, signal?: AbortSignal) =>\n baker(\n [\n \"canvas\",\n \"scaffold-static-ad\",\n \"--source-ad-id\",\n c.adId,\n \"--source-platform\",\n c.platform,\n ...(c.advertiserId ? [\"--source-advertiser-id\", c.advertiserId] : []),\n \"--slug\",\n slug,\n \"--title\",\n idea.message.slice(0, 120),\n ...viewerFlags,\n ],\n signal,\n );\n // Built on the best-ranked reference while the fits are asked, only into a new creative: a build\n // that is not kept is then removed whole, leaving nothing of that reference on the creative.\n const dir = path.join(root, \"src\", \"creatives\", slug);\n const fresh = !(await stat(dir).catch(() => null));\n // A reference found by make has its time: past it, the ad starts from the idea (`REFERENCE_MS`).\n const budget = AbortSignal.timeout(REFERENCE_MS);\n const reference = args.reference\n ? { adId: args.reference, platform: asPlatform(args.platform), why: \"chosen by hand\", tried: 0 }\n : args.fromIdea\n ? { code: \"FROM_IDEA\", message: \"Asked to start from the idea.\" }\n : await pickReference(\n root,\n referenceSearchesFor(idea, temperature).map(buildSearchBody),\n undefined,\n fresh ? (c, signal) => onReference(c, AbortSignal.any([signal, budget])) : undefined,\n budget,\n );\n if (\"discarded\" in reference && reference.discarded) {\n await reference.discarded.catch(() => undefined);\n await rm(dir, { recursive: true, force: true });\n }\n if (\"code\" in reference) {\n return { scaffold: await scaffoldFromIdea(idea, slug, viewerFlags), reference: null, fromIdea: reference.message };\n }\n const prepared = \"prepared\" in reference ? await reference.prepared?.catch(() => null) : null;\n if (prepared?.ok !== true && budget.aborted && !args.reference) {\n await rm(dir, { recursive: true, force: true });\n const slow = slowReference().message;\n return { scaffold: await scaffoldFromIdea(idea, slug, viewerFlags), reference: null, fromIdea: slow };\n }\n const scaffold = prepared?.ok === true ? prepared : await onReference(reference);\n return { scaffold, reference };\n}\n\n/** The static started from the idea's own spec: no reference picture, nothing described or billed. */\nasync function scaffoldFromIdea(idea: Idea, slug: string, viewerFlags: string[]): Promise<Record<string, unknown>> {\n const dir = await mkdtemp(path.join(tmpdir(), \"idea-spec-\"));\n const specPath = path.join(dir, \"prompt.json\");\n await writeFile(specPath, JSON.stringify(ideaSpec(idea, idea.who.replace(/[-_]/g, \" \")), null, 2), \"utf8\");\n try {\n return await baker([\n \"canvas\",\n \"scaffold-static-ad\",\n \"--spec\",\n specPath,\n \"--slug\",\n slug,\n \"--title\",\n idea.message.slice(0, 120),\n ...viewerFlags,\n ]);\n } finally {\n await rm(dir, { recursive: true, force: true });\n }\n}\n\n/** Record the idea on the creative and its message as the ad's one message; mark the idea built. */\nasync function recordIdea(\n root: string,\n slug: string,\n idea: Idea,\n evidence: EvidenceLevel | \"explore\",\n): Promise<{ dir: string; unsourcedCopy: string[] }> {\n const dir = path.join(root, \"src\", \"creatives\", slug);\n const definitionPath = path.join(dir, \"_definition.md\");\n const definition = await readFile(definitionPath, \"utf8\").catch(() => null);\n if (definition !== null) {\n await writeFile(definitionPath, setDefinitionFields(definition, { ...definitionFieldsOf(idea, evidence) }), \"utf8\");\n }\n const promptPath = path.join(dir, \"prompt.json\");\n const prompt = isVideoIdea(idea) ? null : await readFile(promptPath, \"utf8\").catch(() => null);\n // A spec that does not parse is the scaffold's to report; the message is set by hand then.\n if (prompt !== null) await writeFile(promptPath, setSpecMessage(prompt, idea.message), \"utf8\").catch(() => undefined);\n const unsourcedCopy = prompt === null ? [] : await draftedClaims(root, prompt);\n if (idea.status === \"idea\") {\n const ideaPath = path.join(root, IDEAS_DIR, `${idea.id}.md`);\n await writeFile(ideaPath, setDefinitionFields(await readFile(ideaPath, \"utf8\"), { status: \"built\" }), \"utf8\");\n }\n // The dashboard learns the idea now, not at Publish (where most verdicts are given already).\n await baker([\"canvas\", \"sync-definition\", dir]);\n return { dir, unsourcedCopy };\n}\n\n/** The drafted lines claiming what neither the Knowledge nor our own customers said. */\nasync function draftedClaims(root: string, prompt: string): Promise<string[]> {\n const [knowledge, insights] = await Promise.all([readKnowledgeCorpus(root), readInsights(root)]);\n const own = insights.filter(sourcesClaims).map((i) => i.quote);\n try {\n return unsourcedCopyLines(prompt, `${knowledge}\\n${own.join(\"\\n\")}`);\n } catch {\n return [];\n }\n}\n\nfunction makeArgsOf(args: Record<string, unknown>): MakeArgs {\n const opts: MakeArgs = {};\n for (const key of [\"slug\", \"adset\", \"reference\", \"platform\", \"spec\", \"series\"] as const) {\n const value = flag(args[key]);\n if (value) opts[key] = value;\n }\n if (args[\"from-idea\"] === true) opts.fromIdea = true;\n return opts;\n}\n\nfunction scaffoldFailure(scaffold: Record<string, unknown>): Failure {\n const error = (scaffold.error ?? {}) as Partial<Failure>;\n return {\n code: error.code ?? \"SCAFFOLD_FAILED\",\n message: error.message ?? \"The creative could not be scaffolded.\",\n ...(error.fix ? { fix: error.fix } : {}),\n };\n}\n\ntype Made = {\n slug: string;\n idea: Idea;\n check: IdeaCheck | undefined;\n reference: Picked | null;\n /** Why the static starts from the idea itself: no proven ad fits (or `--from-idea`). */\n fromIdea?: string;\n viewer: { adset: string } | { temperature: ViewerTemperature };\n canvasPath: string;\n scaffoldHints: string[];\n /** Drafted copy lines claiming a figure the company never wrote (often the reference's own promise). */\n unsourcedCopy: string[];\n};\n\n/** What `make` prints: the creative, the idea it carries, and the two steps left to the agent. Pure. */\nexport function makeEnvelope(made: Made) {\n const quote = made.check?.quote;\n return {\n ok: true as const,\n data: {\n creative: made.slug,\n idea: made.idea.id,\n message: made.idea.message,\n evidence: made.check?.evidence ?? \"explore\",\n ...(quote ? { customer_quote: quote } : {}),\n ...(made.fromIdea ? { built_from: \"idea\" } : {}),\n ...(made.reference\n ? {\n reference: {\n ad_id: made.reference.adId,\n platform: made.reference.platform,\n why_it_wins: made.reference.why,\n },\n }\n : {}),\n viewer: made.viewer,\n canvas_path: made.canvasPath,\n },\n hints: [\n ...(made.fromIdea\n ? [\n `${made.fromIdea} So this ad starts from the idea: write the scene and every line of copy in src/creatives/${made.slug}/prompt.json (a placeholder refuses to run).`,\n ]\n : []),\n ...(made.unsourcedCopy.length > 0\n ? [\n `Rewrite before running: ${made.unsourcedCopy.map((l) => JSON.stringify(l)).join(\", \")} claim a figure nothing the company wrote holds (the reference's promise, not ours).`,\n ]\n : []),\n `Write the copy lines and the scene in src/creatives/${made.slug}/prompt.json${made.reference ? \": the drafted lines are the reference's, so keep one only if the Knowledge says it (badges, ratings and guarantees too)\" : \"\"}. Say the message in the customer's words${quote ? ` (\"${quote.slice(0, 80)}\")` : \"\"}; keep \\`message\\` as it is.`,\n SPEC_SHAPES_HINT,\n `Then: baker canvas run ${made.canvasPath} (it validates and asks the viewer itself: nothing to run before it).`,\n // The scaffold's own next steps name a separate validate; the run does it (dev, Oct 2026: five validates before one run).\n ...made.scaffoldHints.filter((h) => !/canvas (?:validate|viewer-check)/.test(h)).slice(0, 4),\n ],\n };\n}\n\n/** `--series <lead>`: the idea made as another ad of the lead's series, printed or refused. */\nasync function makeInSeries(\n root: string,\n idea: Idea,\n slug: string,\n lead: string,\n evidence: EvidenceLevel | \"explore\",\n): Promise<void> {\n if (isVideoIdea(idea)) {\n fail({\n code: \"SERIES_STATIC_ONLY\",\n message: `\"${idea.id}\" is a video idea: a series repeats one static ad with other words.`,\n fix: `Make it on its own: baker creatives make ${idea.id} --spec <beats file>.`,\n });\n }\n const made = await makeSeriesAd(root, idea, slug, lead, evidence, {\n sync: (dir) => baker([\"canvas\", \"sync-definition\", dir, \"--title\"]),\n chatId: optionalChatId() ?? null,\n });\n if (\"code\" in made) fail(made);\n writeJson(seriesMadeEnvelope({ ...made, canvasPath: path.relative(root, made.canvasPath) }, idea));\n}\n\nexport const makeCommand = defineCommand({\n meta: { name: \"make\", description: DESCRIPTION },\n args: ARGS,\n async run({ args }) {\n const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();\n const opts = makeArgsOf(args);\n const { idea, check } = await loadIdea(root, String(args.idea));\n const slug = opts.slug ?? idea.id;\n const written = await readFile(path.join(root, \"src\", \"creatives\", slug, \"prompt.json\"), \"utf8\").then(\n (text): unknown => {\n try {\n return JSON.parse(text);\n } catch {\n return {};\n }\n },\n (err: NodeJS.ErrnoException) => (err.code === \"ENOENT\" ? null : {}),\n );\n const refused = alreadyWritten(written, slug);\n if (refused) fail(refused);\n if (opts.series) {\n await makeInSeries(root, idea, slug, opts.series, check?.evidence ?? \"explore\");\n return;\n }\n const temperature = await viewerTemperature(root, opts.adset, idea.awareness);\n const { scaffold, reference, fromIdea } = await scaffoldIdea(root, idea, opts, slug, temperature);\n if (scaffold.ok !== true) fail(scaffoldFailure(scaffold));\n const { dir, unsourcedCopy } = await recordIdea(root, slug, idea, check?.evidence ?? \"explore\");\n writeJson(\n makeEnvelope({\n slug,\n idea,\n check,\n reference,\n ...(fromIdea ? { fromIdea } : {}),\n viewer: opts.adset ? { adset: opts.adset } : { temperature },\n canvasPath: path.relative(root, String(scaffold.canvas_path ?? path.join(dir, `${slug}.canvas.json`))),\n scaffoldHints: Array.isArray(scaffold.hints) ? (scaffold.hints as string[]) : [],\n unsourcedCopy,\n }),\n );\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAAS,SAAS,UAAU,IAAI,MAAM,iBAAiB;AACvD,SAAS,cAAc;AACvB,OAAO,UAAU;AAEjB,SAAS,qBAAqB;AAmC9B,IAAM,aAAa;AACnB,IAAM,oBAAoB;AAK1B,IAAM,eAAe;AAErB,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWpB,IAAM,OAAO;AAAA,EACX,MAAM,EAAE,MAAM,cAAc,UAAU,MAAM,aAAa,+CAA+C;AAAA,EACxG,MAAM,EAAE,MAAM,UAAU,UAAU,OAAO,aAAa,uCAAuC;AAAA,EAC7F,OAAO,EAAE,MAAM,UAAU,UAAU,OAAO,aAAa,uDAAuD;AAAA,EAC9G,WAAW;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,aACE;AAAA,EACJ;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,IACT,aACE;AAAA,EACJ;AACF;AAEA,eAAe,EAAE,SAAS,kBAAkB,aAAa,aAAa,MAAM,KAAK,CAAC;AAIlF,SAAS,KAAK,OAAuB;AACnC,YAAU,EAAE,IAAI,OAAO,MAAM,CAAC;AAC9B,UAAQ,KAAK,CAAC;AAChB;AAEA,eAAe,kBACb,MACA,OACA,WAC4B;AAC5B,MAAI,OAAO;AACT,UAAM,OAAO,MAAM,kBAAkB,IAAI,EACtC,YAAY,KAAK,EACjB,MAAM,MAAM,IAAI;AACnB,QAAI,KAAM,QAAO,KAAK;AAAA,EACxB;AACA,SAAO,oBAAoB,EAAE,UAAU,CAAC,GAAG,UAA8B,CAAC,EAAE;AAC9E;AAUA,IAAM,aAAa,CAAC,UAClB,UAAU,cAAc,UAAU,WAAW,QAAQ;AAWvD,SAAS,kBAAkB,MAA6B;AACtD,SAAO;AAAA,IACL,QAAQ,OAAO,UAEX,MAAM,QAAqC,kCAAkC,MAAM;AAAA,MACjF,WAAW;AAAA,IACb,CAAC,EAAE,MAAM,MAAM,IAAI,IAClB,WAAW,CAAC;AAAA,IACjB,KAAK,CAAC,UAAU,SAAS,aAAa,MAAM,UAAU,IAAI;AAAA,EAC5D;AACF;AAGA,eAAe,eAAe,UAAqC,MAA2C;AAC5G,QAAM,UAAU,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,WAAW,KAAK,OAAO,MAAM,EAAE,MAAM,MAAM,CAAC,CAAgB,CAAC,CAAC;AAC9G,aAAW,SAAS,SAAS;AAC3B,UAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB;AAC7E,QAAI,WAAW,SAAS,EAAG,QAAO;AAAA,EACpC;AACA,SAAO,CAAC;AACV;AAeA,IAAM,cAAc,CAAC,OAAsC;AAAA,EACzD,MAAM,OAAO,EAAE,KAAK;AAAA,EACpB,UAAU,WAAW,EAAE,QAAQ;AAAA,EAC/B,GAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,IAAI,CAAC;AAC7D;AAEA,eAAsB,cACpB,MACA,UACA,OAAsB,kBAAkB,IAAI,GAK5C,SAEA,QAC+D;AAC/D,QAAM,MAAM,YAAY,MAAM;AAC9B,QAAM,QAAQ,MAAM,QAAQ,KAAK,CAAC,eAAe,UAAU,IAAI,GAAG,GAAG,CAAC;AACtE,MAAI,UAAU,MAAO,QAAO,cAAc;AAC1C,QAAM,aAAa,MAAM,MAAM,GAAG,UAAU;AAC5C,QAAM,QAAQ,WAAW,CAAC;AAE1B,QAAM,OAAO,IAAI,gBAAgB;AACjC,QAAM,WAAW,SAAS,UAAU,QAAQ,YAAY,KAAK,GAAG,KAAK,MAAM,IAAI;AAE/E,OAAK,UAAU,MAAM,MAAM,MAAS;AACpC,QAAM,OAAO,MAAM,QAAQ,KAAK;AAAA,IAC9B,QAAQ,IAAI,WAAW,IAAI,CAAC,MAAM,KAAK,IAAI,WAAW,EAAE,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAAA,IACpF;AAAA,EACF,CAAC;AACD,MAAI,SAAS,OAAO;AAClB,SAAK,MAAM;AACX,WAAO,EAAE,GAAG,cAAc,GAAG,GAAI,WAAW,EAAE,WAAW,SAAS,IAAI,CAAC,EAAG;AAAA,EAC5E;AACA,QAAM,OAAO,aAAa,YAAY,IAAI;AAC1C,MAAI,KAAK,UAAU,EAAG,MAAK,MAAM;AACjC,QAAM,aAAa,WAAY,KAAK,UAAU,IAAI,EAAE,UAAU,SAAS,IAAI,EAAE,WAAW,SAAS,IAAK,CAAC;AACvG,SAAO,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW;AACzC;AAGA,IAAM,cAAc,CAAC,WACnB,IAAI,QAAe,CAAC,YAAY;AAC9B,MAAI,QAAQ,QAAS,SAAQ,KAAK;AAClC,UAAQ,iBAAiB,SAAS,MAAM,QAAQ,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACxE,CAAC;AAGH,SAAS,aACP,YACA,MAC6C;AAC7C,MAAI,YAA+B;AACnC,MAAI,UAAU;AACd,aAAW,CAAC,OAAO,SAAS,KAAK,WAAW,QAAQ,GAAG;AACrD,UAAM,MAAM,KAAK,KAAK;AACtB,QAAI,CAAC,IAAK;AACV,QAAI,CAAC,IAAI,GAAI,aAAY,IAAI;AAAA,QACxB,YAAW;AAChB,QAAI,EAAE,IAAI,MAAM,SAAS,IAAI,GAAG,GAAI;AACpC,UAAM,SAAS,IAAI,IAAI;AACvB,WAAO;AAAA,MACL,QAAQ;AAAA,QACN,GAAG,YAAY,SAAS;AAAA,QACxB,KAAK,CAAC,OAAO,UAAU,OAAO,SAAS,OAAO,KAAK,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAAA,QAC9E,OAAO,QAAQ;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,QAAQ,YAAY,WAAW,QAAQ,SAAS,SAAS,GAAG,OAAO,GAAG;AACjF;AAEA,IAAM,gBAAgB,OAAgB;AAAA,EACpC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AACP;AAGO,SAAS,YAAY,OAAe,SAAiB,WAAgD;AAC1G,MAAI,QAAQ,KAAK,YAAY,KAAK,WAAW;AAC3C,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,+CAA+C,UAAU,OAAO;AAAA,MACzE,KAAK;AAAA,IACP;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SACE,UAAU,IACN,wEACA,eAAe,KAAK;AAAA,IAC1B,KAAK;AAAA,EACP;AACF;AAOO,SAAS,eAAe,YAAqB,MAA8B;AAChF,MAAI,eAAe,QAAQ,eAAe,OAAW,QAAO;AAC5D,MAAI;AACF,QAAI,kBAAkB,WAAW,UAAU,CAAC,EAAE,SAAS,EAAG,QAAO;AAAA,EACnE,QAAQ;AAAA,EAER;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,IAAI,IAAI;AAAA,IACjB,KAAK,yCAAyC,IAAI;AAAA,EACpD;AACF;AAaA,IAAM,OAAO,CAAC,UAAwC,OAAO,UAAU,YAAY,QAAQ,QAAQ;AAGnG,eAAe,SAAS,MAAc,QAAgB;AACpD,QAAM,EAAE,OAAO,WAAW,IAAI,MAAM,UAAU,IAAI;AAClD,QAAM,MAAM,WAAW,KAAK,CAAC,MAAM,EAAE,OAAO,MAAM;AAClD,MAAI,KAAK;AACP,SAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS,IAAI,SAAS,KAAK,IAAI;AAAA,MAC/B,KAAK,OAAO,SAAS,IAAI,MAAM;AAAA,IACjC,CAAC;AAAA,EACH;AACA,QAAM,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,MAAM;AAC9C,MAAI,CAAC,MAAM;AACT,SAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS,YAAY,MAAM,QAAQ,SAAS;AAAA,MAC5C,KAAK,kBAAkB,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,IAAI,KAAK,MAAM;AAAA,IACpE,CAAC;AAAA,EACH;AACA,QAAM,CAAC,UAAU,WAAW,UAAU,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,IACnE,aAAa,IAAI;AAAA,IACjB,oBAAoB,IAAI;AAAA,IACxB,eAAe,IAAI;AAAA,IACnB,oBAAoB,IAAI;AAAA,EAC1B,CAAC;AACD,QAAM,QAAQ,WAAW,EAAE,OAAO,UAAU,WAAW,UAAU,GAAG,WAAW,OAAO,SAAS,EAAE,CAAC,EAAE;AAAA,IAClG,CAAC,MAAM,EAAE,OAAO,KAAK;AAAA,EACvB;AACA,MAAI,SAAS,MAAM,SAAS,SAAS,GAAG;AACtC,SAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAM,SAAS,KAAK,IAAI;AAAA,MACjC,KAAK;AAAA,IACP,CAAC;AAAA,EACH;AACA,SAAO,EAAE,MAAM,MAAM;AACvB;AAGA,eAAe,aACb,MACA,MACA,MACA,MACA,aAC6F;AAC7F,QAAM,cAAc,KAAK,QAAQ,CAAC,kBAAkB,KAAK,KAAK,IAAI,CAAC,wBAAwB,WAAW;AACtG,MAAI,YAAY,IAAI,GAAG;AACrB,QAAI,CAAC,KAAK,MAAM;AACd,WAAK;AAAA,QACH,MAAM;AAAA,QACN,SAAS,IAAI,KAAK,EAAE,sBAAsB,KAAK,MAAM;AAAA,QACrD,KAAK,kIAAkI,KAAK,EAAE;AAAA,MAChJ,CAAC;AAAA,IACH;AACA,WAAO;AAAA,MACL,UAAU,MAAM,SAAM,CAAC,UAAU,eAAe,UAAU,KAAK,MAAM,UAAU,MAAM,GAAG,WAAW,CAAC;AAAA,MACpG,WAAW;AAAA,IACb;AAAA,EACF;AACA,SAAO,MAAM,eAAe,MAAM,MAAM,MAAM,MAAM,aAAa,WAAW;AAC9E;AAGA,eAAe,eACb,MACA,MACA,MACA,MACA,aACA,aAC6F;AAC7F,QAAM,cAAc,CAAC,GAAuB,WAC1C;AAAA,IACE;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA,EAAE;AAAA,MACF;AAAA,MACA,EAAE;AAAA,MACF,GAAI,EAAE,eAAe,CAAC,0BAA0B,EAAE,YAAY,IAAI,CAAC;AAAA,MACnE;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK,QAAQ,MAAM,GAAG,GAAG;AAAA,MACzB,GAAG;AAAA,IACL;AAAA,IACA;AAAA,EACF;AAGF,QAAM,MAAM,KAAK,KAAK,MAAM,OAAO,aAAa,IAAI;AACpD,QAAM,QAAQ,CAAE,MAAM,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI;AAEhD,QAAM,SAAS,YAAY,QAAQ,YAAY;AAC/C,QAAM,YAAY,KAAK,YACnB,EAAE,MAAM,KAAK,WAAW,UAAU,WAAW,KAAK,QAAQ,GAAG,KAAK,kBAAkB,OAAO,EAAE,IAC7F,KAAK,WACH,EAAE,MAAM,aAAa,SAAS,gCAAgC,IAC9D,MAAM;AAAA,IACJ;AAAA,IACA,qBAAqB,MAAM,WAAW,EAAE,IAAI,eAAe;AAAA,IAC3D;AAAA,IACA,QAAQ,CAAC,GAAG,WAAW,YAAY,GAAG,YAAY,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,IAAI;AAAA,IAC3E;AAAA,EACF;AACN,MAAI,eAAe,aAAa,UAAU,WAAW;AACnD,UAAM,UAAU,UAAU,MAAM,MAAM,MAAS;AAC/C,UAAM,GAAG,KAAK,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAAA,EAChD;AACA,MAAI,UAAU,WAAW;AACvB,WAAO,EAAE,UAAU,MAAM,iBAAiB,MAAM,MAAM,WAAW,GAAG,WAAW,MAAM,UAAU,UAAU,QAAQ;AAAA,EACnH;AACA,QAAM,WAAW,cAAc,YAAY,MAAM,UAAU,UAAU,MAAM,MAAM,IAAI,IAAI;AACzF,MAAI,UAAU,OAAO,QAAQ,OAAO,WAAW,CAAC,KAAK,WAAW;AAC9D,UAAM,GAAG,KAAK,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAC9C,UAAM,OAAO,cAAc,EAAE;AAC7B,WAAO,EAAE,UAAU,MAAM,iBAAiB,MAAM,MAAM,WAAW,GAAG,WAAW,MAAM,UAAU,KAAK;AAAA,EACtG;AACA,QAAM,WAAW,UAAU,OAAO,OAAO,WAAW,MAAM,YAAY,SAAS;AAC/E,SAAO,EAAE,UAAU,UAAU;AAC/B;AAGA,eAAe,iBAAiB,MAAY,MAAc,aAAyD;AACjH,QAAM,MAAM,MAAM,QAAQ,KAAK,KAAK,OAAO,GAAG,YAAY,CAAC;AAC3D,QAAM,WAAW,KAAK,KAAK,KAAK,aAAa;AAC7C,QAAM,UAAU,UAAU,KAAK,UAAU,SAAS,MAAM,KAAK,IAAI,QAAQ,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM;AACzG,MAAI;AACF,WAAO,MAAM,SAAM;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK,QAAQ,MAAM,GAAG,GAAG;AAAA,MACzB,GAAG;AAAA,IACL,CAAC;AAAA,EACH,UAAE;AACA,UAAM,GAAG,KAAK,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAAA,EAChD;AACF;AAGA,eAAe,WACb,MACA,MACA,MACA,UACmD;AACnD,QAAM,MAAM,KAAK,KAAK,MAAM,OAAO,aAAa,IAAI;AACpD,QAAM,iBAAiB,KAAK,KAAK,KAAK,gBAAgB;AACtD,QAAM,aAAa,MAAM,SAAS,gBAAgB,MAAM,EAAE,MAAM,MAAM,IAAI;AAC1E,MAAI,eAAe,MAAM;AACvB,UAAM,UAAU,gBAAgB,oBAAoB,YAAY,EAAE,GAAG,mBAAmB,MAAM,QAAQ,EAAE,CAAC,GAAG,MAAM;AAAA,EACpH;AACA,QAAM,aAAa,KAAK,KAAK,KAAK,aAAa;AAC/C,QAAM,SAAS,YAAY,IAAI,IAAI,OAAO,MAAM,SAAS,YAAY,MAAM,EAAE,MAAM,MAAM,IAAI;AAE7F,MAAI,WAAW,KAAM,OAAM,UAAU,YAAY,eAAe,QAAQ,KAAK,OAAO,GAAG,MAAM,EAAE,MAAM,MAAM,MAAS;AACpH,QAAM,gBAAgB,WAAW,OAAO,CAAC,IAAI,MAAM,cAAc,MAAM,MAAM;AAC7E,MAAI,KAAK,WAAW,QAAQ;AAC1B,UAAM,WAAW,KAAK,KAAK,MAAM,WAAW,GAAG,KAAK,EAAE,KAAK;AAC3D,UAAM,UAAU,UAAU,oBAAoB,MAAM,SAAS,UAAU,MAAM,GAAG,EAAE,QAAQ,QAAQ,CAAC,GAAG,MAAM;AAAA,EAC9G;AAEA,QAAM,SAAM,CAAC,UAAU,mBAAmB,GAAG,CAAC;AAC9C,SAAO,EAAE,KAAK,cAAc;AAC9B;AAGA,eAAe,cAAc,MAAc,QAAmC;AAC5E,QAAM,CAAC,WAAW,QAAQ,IAAI,MAAM,QAAQ,IAAI,CAAC,oBAAoB,IAAI,GAAG,aAAa,IAAI,CAAC,CAAC;AAC/F,QAAM,MAAM,SAAS,OAAO,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK;AAC7D,MAAI;AACF,WAAO,mBAAmB,QAAQ,GAAG,SAAS;AAAA,EAAK,IAAI,KAAK,IAAI,CAAC,EAAE;AAAA,EACrE,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAEA,SAAS,WAAW,MAAyC;AAC3D,QAAM,OAAiB,CAAC;AACxB,aAAW,OAAO,CAAC,QAAQ,SAAS,aAAa,YAAY,QAAQ,QAAQ,GAAY;AACvF,UAAM,QAAQ,KAAK,KAAK,GAAG,CAAC;AAC5B,QAAI,MAAO,MAAK,GAAG,IAAI;AAAA,EACzB;AACA,MAAI,KAAK,WAAW,MAAM,KAAM,MAAK,WAAW;AAChD,SAAO;AACT;AAEA,SAAS,gBAAgB,UAA4C;AACnE,QAAM,QAAS,SAAS,SAAS,CAAC;AAClC,SAAO;AAAA,IACL,MAAM,MAAM,QAAQ;AAAA,IACpB,SAAS,MAAM,WAAW;AAAA,IAC1B,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC;AAAA,EACxC;AACF;AAiBO,SAAS,aAAa,MAAY;AACvC,QAAM,QAAQ,KAAK,OAAO;AAC1B,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,MACJ,UAAU,KAAK;AAAA,MACf,MAAM,KAAK,KAAK;AAAA,MAChB,SAAS,KAAK,KAAK;AAAA,MACnB,UAAU,KAAK,OAAO,YAAY;AAAA,MAClC,GAAI,QAAQ,EAAE,gBAAgB,MAAM,IAAI,CAAC;AAAA,MACzC,GAAI,KAAK,WAAW,EAAE,YAAY,OAAO,IAAI,CAAC;AAAA,MAC9C,GAAI,KAAK,YACL;AAAA,QACE,WAAW;AAAA,UACT,OAAO,KAAK,UAAU;AAAA,UACtB,UAAU,KAAK,UAAU;AAAA,UACzB,aAAa,KAAK,UAAU;AAAA,QAC9B;AAAA,MACF,IACA,CAAC;AAAA,MACL,QAAQ,KAAK;AAAA,MACb,aAAa,KAAK;AAAA,IACpB;AAAA,IACA,OAAO;AAAA,MACL,GAAI,KAAK,WACL;AAAA,QACE,GAAG,KAAK,QAAQ,6FAA6F,KAAK,IAAI;AAAA,MACxH,IACA,CAAC;AAAA,MACL,GAAI,KAAK,cAAc,SAAS,IAC5B;AAAA,QACE,2BAA2B,KAAK,cAAc,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,MACxF,IACA,CAAC;AAAA,MACL,uDAAuD,KAAK,IAAI,eAAe,KAAK,YAAY,4HAA4H,EAAE,4CAA4C,QAAQ,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE;AAAA,MACnT;AAAA,MACA,0BAA0B,KAAK,UAAU;AAAA;AAAA,MAEzC,GAAG,KAAK,cAAc,OAAO,CAAC,MAAM,CAAC,mCAAmC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC;AAAA,IAC7F;AAAA,EACF;AACF;AAGA,eAAe,aACb,MACA,MACA,MACA,MACA,UACe;AACf,MAAI,YAAY,IAAI,GAAG;AACrB,SAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS,IAAI,KAAK,EAAE;AAAA,MACpB,KAAK,4CAA4C,KAAK,EAAE;AAAA,IAC1D,CAAC;AAAA,EACH;AACA,QAAM,OAAO,MAAM,aAAa,MAAM,MAAM,MAAM,MAAM,UAAU;AAAA,IAChE,MAAM,CAAC,QAAQ,SAAM,CAAC,UAAU,mBAAmB,KAAK,SAAS,CAAC;AAAA,IAClE,QAAQ,eAAe,KAAK;AAAA,EAC9B,CAAC;AACD,MAAI,UAAU,KAAM,MAAK,IAAI;AAC7B,YAAU,mBAAmB,EAAE,GAAG,MAAM,YAAY,KAAK,SAAS,MAAM,KAAK,UAAU,EAAE,GAAG,IAAI,CAAC;AACnG;AAEO,IAAM,cAAc,cAAc;AAAA,EACvC,MAAM,EAAE,MAAM,QAAQ,aAAa,YAAY;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,IAAI,EAAE,KAAK,GAAG;AAClB,UAAM,OAAO,kBAAkB,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI;AAC7D,UAAM,OAAO,WAAW,IAAI;AAC5B,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,SAAS,MAAM,OAAO,KAAK,IAAI,CAAC;AAC9D,UAAM,OAAO,KAAK,QAAQ,KAAK;AAC/B,UAAM,UAAU,MAAM,SAAS,KAAK,KAAK,MAAM,OAAO,aAAa,MAAM,aAAa,GAAG,MAAM,EAAE;AAAA,MAC/F,CAAC,SAAkB;AACjB,YAAI;AACF,iBAAO,KAAK,MAAM,IAAI;AAAA,QACxB,QAAQ;AACN,iBAAO,CAAC;AAAA,QACV;AAAA,MACF;AAAA,MACA,CAAC,QAAgC,IAAI,SAAS,WAAW,OAAO,CAAC;AAAA,IACnE;AACA,UAAM,UAAU,eAAe,SAAS,IAAI;AAC5C,QAAI,QAAS,MAAK,OAAO;AACzB,QAAI,KAAK,QAAQ;AACf,YAAM,aAAa,MAAM,MAAM,MAAM,KAAK,QAAQ,OAAO,YAAY,SAAS;AAC9E;AAAA,IACF;AACA,UAAM,cAAc,MAAM,kBAAkB,MAAM,KAAK,OAAO,KAAK,SAAS;AAC5E,UAAM,EAAE,UAAU,WAAW,SAAS,IAAI,MAAM,aAAa,MAAM,MAAM,MAAM,MAAM,WAAW;AAChG,QAAI,SAAS,OAAO,KAAM,MAAK,gBAAgB,QAAQ,CAAC;AACxD,UAAM,EAAE,KAAK,cAAc,IAAI,MAAM,WAAW,MAAM,MAAM,MAAM,OAAO,YAAY,SAAS;AAC9F;AAAA,MACE,aAAa;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,QAC/B,QAAQ,KAAK,QAAQ,EAAE,OAAO,KAAK,MAAM,IAAI,EAAE,YAAY;AAAA,QAC3D,YAAY,KAAK,SAAS,MAAM,OAAO,SAAS,eAAe,KAAK,KAAK,KAAK,GAAG,IAAI,cAAc,CAAC,CAAC;AAAA,QACrG,eAAe,MAAM,QAAQ,SAAS,KAAK,IAAK,SAAS,QAAqB,CAAC;AAAA,QAC/E;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,404 +0,0 @@
1
- import {
2
- MappingError,
3
- buildFieldMapping,
4
- describeSlots,
5
- namesComeFromAccount,
6
- otherSlots,
7
- shapeFor
8
- } from "./chunk-E5IFTZJ3.js";
9
- import {
10
- collectConfigStatus,
11
- collectSideEffects,
12
- flowDataPath,
13
- readFlowTree,
14
- requestFlowInputCall,
15
- sideEffectNeedsInput,
16
- writeFlowTree
17
- } from "./chunk-EPMN4BK7.js";
18
- import {
19
- repeatedFlagValues
20
- } from "./chunk-ERSX3MKH.js";
21
- import "./chunk-6HJAHLLA.js";
22
- import "./chunk-GXDLWBOY.js";
23
- import "./chunk-WYCVJIHD.js";
24
- import "./chunk-ZJWUBJYQ.js";
25
- import "./chunk-XML7AJM3.js";
26
- import {
27
- apiPost
28
- } from "./chunk-XBOK23HI.js";
29
- import "./chunk-IFWP3ZDO.js";
30
- import "./chunk-NAWWC5I3.js";
31
- import {
32
- registerSchema,
33
- writeJson
34
- } from "./chunk-NU7JSWVA.js";
35
- import "./chunk-YQSBHWOI.js";
36
-
37
- // src/commands/flows/map.ts
38
- import { readFileSync } from "fs";
39
- import { defineCommand } from "citty";
40
- registerSchema({
41
- command: "flows.map",
42
- description: "Map form fields onto any named value a side effect sends: a CRM fieldMapping, a sheet columnMapping, a webhook payloadKeys, a pixel eventParams, or a platform matching block. Emits the mapping and splices it in with --write. Configure the destination through request_flow_input FIRST \u2014 the destination-side names come from the connected account, not from you.",
43
- args: {
44
- slug: { type: "positional", description: "Form slug (folder under flows/)", required: true },
45
- map: {
46
- type: "string",
47
- description: "<destField>[:<fieldType>]=<value>, repeatable. Omit both this and --from to be told what the side effect accepts instead. Sheet: A=name. HubSpot with --hubspot-form: firstname=nombre (the type is read off the form). Where a destination cannot be read, state the type on the LEFT \u2014 c0ffee:varchar=email \u2014 because `:` on the right belongs to the value grammar.",
48
- required: false
49
- },
50
- from: {
51
- type: "string",
52
- description: 'The whole mapping as a JSON file, or `-` for stdin: { "sideEffect": "\u2026", "map": { "<destField>": "<value>", \u2026 } }. Past ~3 fields prefer this over repeated --map.',
53
- required: false
54
- },
55
- "side-effect": { type: "string", description: "Side-effect id, when the form has more than one", required: false },
56
- "hubspot-form": {
57
- type: "string",
58
- description: "HubSpot formGuid of the configured destination. Fills every mapping's fieldType and objectTypeId from the form itself, so you write no types at all. The guid is the `formGuid` in the `destination` request_flow_input returned.",
59
- required: false
60
- },
61
- into: {
62
- type: "string",
63
- description: "Slot to map into when the type has more than one: meta/tiktok/pinterest take eventParams (default) or their matching record; googleAds takes enhancedConversions or value/currency/transactionId.",
64
- required: false
65
- },
66
- entity: {
67
- type: "string",
68
- description: "Destination object (pipedrive: person|organization|lead, \u2026)",
69
- required: false
70
- },
71
- custom: { type: "boolean", description: "The destination fields are custom fields", required: false },
72
- standard: { type: "boolean", description: "The destination fields are standard fields", required: false },
73
- "object-type": { type: "string", description: "HubSpot objectTypeId (default 0-1, contact)", required: false },
74
- "prune-missing": {
75
- type: "boolean",
76
- description: "Drop the mappings whose destination field no longer exists on the account, and nothing else. The repair for a deleted HubSpot property: HubSpot refuses the WHOLE submission when it names a field it does not have, so one dead mapping loses every lead. Needs --hubspot-form so the live field list can be read. Runs on its own \u2014 no --map required. Prefer this to --replace, which drops everything this call does not name.",
77
- required: false
78
- },
79
- replace: {
80
- type: "boolean",
81
- description: "Make the slot exactly what this call passes, dropping every mapping already in it. Without it, mappings MERGE by destination name \u2014 re-mapping a name overwrites it, a new name is appended, and the rest are left alone. To REMOVE a dead mapping, reach for --prune-missing instead: this one also deletes every mapping you did not re-state.",
82
- required: false
83
- },
84
- write: {
85
- type: "boolean",
86
- description: "Splice the mapping into the form. Without it, prints and changes nothing",
87
- required: false
88
- }
89
- }
90
- });
91
- function mapSpecsFrom(rawArgs) {
92
- return repeatedFlagValues(rawArgs, "map");
93
- }
94
- function specsFromFile(parsed) {
95
- return Object.entries(parsed.map ?? {}).map(([destField, entry]) => {
96
- if (typeof entry === "string") return `${destField}=${entry}`;
97
- const type = entry?.type ? `:${entry.type}` : "";
98
- return `${destField}${type}=${entry?.value ?? ""}`;
99
- });
100
- }
101
- function readSpecFile(path) {
102
- let raw;
103
- try {
104
- raw = path === "-" ? readFileSync(0, "utf-8") : readFileSync(path, "utf-8");
105
- } catch (error) {
106
- refuse(
107
- `Could not read ${path === "-" ? "the mapping from stdin" : `"${path}"`}: ${error instanceof Error ? error.message : String(error)}`
108
- );
109
- }
110
- let parsed;
111
- try {
112
- parsed = JSON.parse(raw);
113
- } catch (error) {
114
- refuse(
115
- `${path === "-" ? "stdin" : `"${path}"`} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`,
116
- 'Expected { "map": { "<destField>": "<value>", \u2026 } }'
117
- );
118
- }
119
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
120
- refuse("A mapping file must be a JSON object.", 'Expected { "map": { "<destField>": "<value>", \u2026 } }');
121
- }
122
- const spec = parsed;
123
- if (!spec.map || typeof spec.map !== "object" || Object.keys(spec.map).length === 0) {
124
- refuse("A mapping file needs a non-empty `map` object.", 'Expected { "map": { "firstname": "nombre", \u2026 } }');
125
- }
126
- return spec;
127
- }
128
- function refuse(message, fix) {
129
- writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message, ...fix ? { fix } : {} } });
130
- process.exit(1);
131
- }
132
- async function hubspotFieldCatalog(formId) {
133
- let response;
134
- try {
135
- response = await apiPost("/api/hubspot/forms/view", { formId });
136
- } catch (error) {
137
- refuse(
138
- `Could not read HubSpot form "${formId}": ${error instanceof Error ? error.message : String(error)}`,
139
- "Check the guid against the `destination` request_flow_input returned, or `baker hubspot forms list`. Drop --hubspot-form and write `<field>:<fieldType>=<value>` per mapping only if HubSpot is unreachable."
140
- );
141
- }
142
- const fields = response.data.form?.fields ?? [];
143
- if (fields.length === 0) {
144
- refuse(
145
- `HubSpot form "${formId}" reports no fields, so nothing can be mapped against it.`,
146
- "Confirm the guid names the form this side effect submits to: baker hubspot forms list"
147
- );
148
- }
149
- return {
150
- fields: new Map(
151
- fields.map((field) => [
152
- field.name,
153
- { fieldType: field.fieldType, ...field.objectTypeId ? { objectTypeId: field.objectTypeId } : {} }
154
- ])
155
- ),
156
- // Read while the form is already open, because this is the moment a
157
- // delivery is being wired: HubSpot refuses every submission sent to a form
158
- // with spam prevention on, so a mapping written against one is correct and
159
- // will still never arrive. Reported, not refused — the mapping is not the
160
- // mistake, and the client can switch it off without the work being redone.
161
- captchaEnabled: response.data.form?.captchaEnabled === true
162
- };
163
- }
164
- function describeDestination(chosen) {
165
- const type = String(chosen.sideEffect.type ?? "");
166
- const slots = describeSlots(type);
167
- if (slots.length === 0) {
168
- refuse(
169
- `A ${type} side effect has no mappable field.`,
170
- `Nothing on it addresses named values. \`baker flows schema side-effect ${type}\` shows what it does take.`
171
- );
172
- }
173
- writeJson({
174
- ok: true,
175
- data: { sideEffectId: chosen.sideEffect.id, type, mappable: slots },
176
- hints: [
177
- `Nothing mapped \u2014 this is what a ${type} side effect accepts. Add --map <key>=<value> to build one.`,
178
- ...slots.map(
179
- (slot) => slot.keys ? `${slot.slot}: ${slot.keys.join(", ")}` : `${slot.slot}: ${slot.keysFrom === "account" ? "keys come from the connected account (request_flow_input returns them)" : "keys are yours to choose \u2014 whatever the receiving system expects"}`
180
- ),
181
- // Named separately from the key hint above: the key and its field type are
182
- // two different questions with two different answers, and the type is the
183
- // one an agent does not know it is being asked until a mapping is refused.
184
- ...slots.flatMap((slot) => slot.fieldTypes ? [`${slot.slot} field types \u2014 ${slot.fieldTypes}`] : []),
185
- 'Values (right of the `=`) are the same for every slot: a form field, tracking:<var>, global:<name>, code:<name>, a "literal", or those joined with +. A field may also be written as the file stores it, {{<stepId>.customForm.<field>}}. A value cannot run code (no .split(), .slice(), [0]).'
186
- ]
187
- });
188
- }
189
- function shapeOrRefuse(type, into) {
190
- try {
191
- return shapeFor(type, into);
192
- } catch (error) {
193
- if (error instanceof MappingError) refuse(error.message, error.fix);
194
- throw error;
195
- }
196
- }
197
- function assertDestinationReady(slug, tree, chosen, into) {
198
- if (!sideEffectNeedsInput(chosen.sideEffect)) return;
199
- const type = String(chosen.sideEffect.type ?? "");
200
- const status = collectConfigStatusFor(tree, slug, String(chosen.sideEffect.id ?? ""));
201
- const call = status ? requestFlowInputCall(slug, status) : `request_flow_input for the ${type} side effect`;
202
- if (!namesComeFromAccount(shapeOrRefuse(type, into))) return;
203
- refuse(
204
- `The ${type} destination is not configured yet, so its field names cannot be anything but a guess.`,
205
- `Configure it first, then map against the names that call returns: ${call}`
206
- );
207
- }
208
- function collectConfigStatusFor(tree, _slug, sideEffectId) {
209
- const rows = [];
210
- collectConfigStatus(tree, rows);
211
- return rows.find((row) => row.sideEffectId === sideEffectId);
212
- }
213
- function slotHintFor(type, into) {
214
- const others = otherSlots(type, shapeFor(type, into));
215
- if (others.length === 0) return [];
216
- return [`This side effect also takes ${others.join(" and ")} \u2014 pass --into <slot> to map into one of those instead.`];
217
- }
218
- function survivorHint(built, replacing) {
219
- if (built.kept > 0) {
220
- return [`${built.kept} mapping${built.kept === 1 ? "" : "s"} already in ${built.key} kept \u2014 this merged by name.`];
221
- }
222
- if (!replacing) return [];
223
- return [`--replace: ${built.key} is now exactly these ${built.count}; anything else it held is gone.`];
224
- }
225
- function droppedHint(built) {
226
- if (built.dropped.length === 0) return [];
227
- return [
228
- `--prune-missing dropped ${built.dropped.length} mapping${built.dropped.length === 1 ? "" : "s"} the destination no longer has: ${built.dropped.join(", ")}. Every other mapping in ${built.key} was left alone.`
229
- ];
230
- }
231
- function pendingEndpointHint(slug, tree, chosen) {
232
- if (!sideEffectNeedsInput(chosen.sideEffect)) return [];
233
- const status = collectConfigStatusFor(tree, slug, String(chosen.sideEffect.id ?? ""));
234
- if (!status) return [];
235
- return [`The mapping is written, but this destination still needs the user: ${requestFlowInputCall(slug, status)}`];
236
- }
237
- function pickSideEffect(slug, found, named) {
238
- if (found.length === 0) {
239
- refuse(
240
- `"${slug}" has no side effects \u2014 author the side effect first, then map into it.`,
241
- `baker flows add-side-effect ${slug} --node <nodeId> --type <type>`
242
- );
243
- }
244
- const chosen = named ? found.find((entry) => entry.sideEffect.id === named) : found.length === 1 ? found[0] : void 0;
245
- if (chosen) return chosen;
246
- const inventory = found.map((entry) => `${entry.sideEffect.id} (${entry.sideEffect.type})`).join(", ");
247
- refuse(
248
- named ? `No side effect with id "${named}" in "${slug}".` : `"${slug}" has ${found.length} side effects \u2014 name one with --side-effect <id>.`,
249
- `Side effects in this form: ${inventory}`
250
- );
251
- }
252
- function customFlag(custom, standard) {
253
- if (custom === true && standard === true) {
254
- refuse("--custom and --standard contradict each other. Pass one.");
255
- }
256
- if (custom === true) return true;
257
- if (standard === true) return false;
258
- return void 0;
259
- }
260
- async function mapOptions(args, fromFile, into) {
261
- const hubspotForm = args["hubspot-form"] ? String(args["hubspot-form"]) : fromFile?.hubspotForm;
262
- const catalog = hubspotForm ? await hubspotFieldCatalog(hubspotForm) : void 0;
263
- return {
264
- options: {
265
- into,
266
- entity: args.entity ? String(args.entity) : fromFile?.entity,
267
- isCustomField: customFlag(args.custom, args.standard) ?? fromFile?.custom,
268
- objectType: args["object-type"] ? String(args["object-type"]) : fromFile?.objectType,
269
- replace: args.replace === true || fromFile?.replace === true,
270
- pruneMissing: args["prune-missing"] === true || fromFile?.pruneMissing === true,
271
- destinationFields: catalog?.fields
272
- },
273
- hints: catalog?.captchaEnabled ? [
274
- "WARNING: this HubSpot form has spam prevention (captcha) on. HubSpot refuses every submission sent to a form with it on, so nothing mapped here will arrive \u2014 the mapping is fine, the destination is not. Only the user can switch it off, on the form in HubSpot. Tell them that, and do not swap the destination yourself."
275
- ] : []
276
- };
277
- }
278
- var mapCommand = defineCommand({
279
- meta: {
280
- name: "map",
281
- description: "Map form fields onto any value a side effect sends \u2014 never hand-write a mapping. Start here: baker flows map contact --from map.json --write"
282
- },
283
- args: {
284
- slug: { type: "positional", description: "Form slug", required: true },
285
- map: { type: "string", description: "<destField>[:<fieldType>]=<value> (repeatable)" },
286
- from: { type: "string", description: "Read the whole mapping from a JSON file, or `-` for stdin" },
287
- "side-effect": { type: "string", description: "Side-effect id, when the form has more than one" },
288
- "hubspot-form": {
289
- type: "string",
290
- description: "HubSpot formGuid \u2014 reads every field's type off the form so you write none"
291
- },
292
- into: {
293
- type: "string",
294
- description: "Which slot to map into, for a type with more than one (e.g. meta: eventParams | advancedMatching)"
295
- },
296
- entity: { type: "string", description: "Destination object (person, contact, lead, \u2026)" },
297
- custom: { type: "boolean", description: "Destination fields are custom fields" },
298
- standard: { type: "boolean", description: "Destination fields are standard fields" },
299
- "object-type": { type: "string", description: "HubSpot objectTypeId (default 0-1)" },
300
- "prune-missing": {
301
- type: "boolean",
302
- description: "Drop only the mappings the destination no longer has \u2014 the repair for a deleted HubSpot field"
303
- },
304
- replace: {
305
- type: "boolean",
306
- description: "Drop every mapping already in the slot. Default merges by destination name"
307
- },
308
- write: { type: "boolean", description: "Splice the mapping into the form" }
309
- },
310
- run: async ({ args, rawArgs }) => {
311
- const slug = String(args.slug);
312
- const fromFile = args.from ? readSpecFile(String(args.from)) : void 0;
313
- const specs = fromFile ? specsFromFile(fromFile) : mapSpecsFrom(rawArgs);
314
- const into = args.into ? String(args.into) : fromFile?.into;
315
- const replacing = args.replace === true || fromFile?.replace === true;
316
- const pruning = args["prune-missing"] === true || fromFile?.pruneMissing === true;
317
- const tree = readFlowTree(slug);
318
- const chosen = pickSideEffect(
319
- slug,
320
- collectSideEffects(tree),
321
- args["side-effect"] ? String(args["side-effect"]) : fromFile?.sideEffect
322
- );
323
- if (specs.length === 0 && !pruning) {
324
- describeDestination(chosen);
325
- return;
326
- }
327
- assertDestinationReady(slug, tree, chosen, into);
328
- const { options, hints: destinationHints } = await mapOptions(args, fromFile, into);
329
- let built;
330
- try {
331
- built = buildFieldMapping(tree, chosen.sideEffect, specs, options);
332
- } catch (error) {
333
- if (error instanceof MappingError) {
334
- refuse(error.message, error.fix);
335
- }
336
- throw error;
337
- }
338
- const slotHint = [
339
- ...destinationHints,
340
- ...droppedHint(built),
341
- ...survivorHint(built, replacing),
342
- ...slotHintFor(String(chosen.sideEffect.type ?? ""), into),
343
- ...pendingEndpointHint(slug, tree, chosen)
344
- ];
345
- if (args.write !== true) {
346
- emitDryRun(slug, chosen, built, slotHint);
347
- return;
348
- }
349
- Object.assign(chosen.sideEffect, built.patch);
350
- writeFlowTree(slug, tree);
351
- emitWritten(slug, chosen, built, slotHint);
352
- }
353
- });
354
- function mapHeadline(built, phase, slug = "") {
355
- const wrote = `${built.count} ${built.key} mapping${built.count === 1 ? "" : "s"}`;
356
- const drops = `${built.dropped.length} dead mapping${built.dropped.length === 1 ? "" : "s"}`;
357
- if (phase === "dry-run") {
358
- if (built.count === 0 && built.dropped.length > 0) {
359
- return `Nothing written. Re-run with --write to drop ${drops} from ${slug}.`;
360
- }
361
- return `Nothing written. Re-run with --write to splice ${wrote} into ${slug}.`;
362
- }
363
- if (built.dropped.length === 0) return `Wrote ${wrote}.`;
364
- if (built.count === 0) return `Dropped ${drops} from ${built.key}; nothing else changed.`;
365
- return `Wrote ${wrote} and dropped ${drops}.`;
366
- }
367
- function emitDryRun(slug, chosen, built, slotHint) {
368
- writeJson({
369
- ok: true,
370
- data: {
371
- sideEffectId: chosen.sideEffect.id,
372
- type: chosen.sideEffect.type,
373
- key: built.key,
374
- patch: built.patch
375
- },
376
- hints: [mapHeadline(built, "dry-run", slug), ...slotHint]
377
- });
378
- }
379
- function emitWritten(slug, chosen, built, slotHint) {
380
- writeJson({
381
- ok: true,
382
- data: {
383
- sideEffectId: chosen.sideEffect.id,
384
- type: chosen.sideEffect.type,
385
- key: built.key,
386
- written: built.count,
387
- kept: built.kept,
388
- dropped: built.dropped,
389
- path: flowDataPath(slug)
390
- },
391
- hints: [
392
- mapHeadline(built, "written"),
393
- `A mapping is only real once the destination is set \u2014 check with: baker flows show ${slug}`,
394
- ...slotHint
395
- ]
396
- });
397
- }
398
- export {
399
- mapCommand,
400
- mapHeadline,
401
- mapSpecsFrom,
402
- specsFromFile
403
- };
404
- //# sourceMappingURL=map-BW4CHSIO.js.map