@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/canvas/creative-definition.ts","../src/commands/canvas/run-record.ts"],"sourcesContent":["import { parseDocument } from \"yaml\";\nimport { AWARENESS_VALUES, type ViewerProfile } from \"../../viewer-profile.ts\";\nimport { languageTag } from \"../../language.ts\";\n\n// The scaffold's `creatives` collection (src/collections/creatives.ts) accepts exactly these;\n// `creative-definition.parity.test.ts` fails when the two lists drift. An unknown platform or\n// format degrades to the default rather than emitting a definition the collection would reject.\nexport const PLATFORM_VALUES = [\"meta\", \"google\", \"linkedin\", \"tiktok\", \"youtube\", \"x\", \"other\"] as const;\nexport const FORMAT_VALUES = [\"1:1\", \"4:5\", \"9:16\", \"16:9\", \"1.91:1\"] as const;\nexport const CREATIVE_KIND_VALUES = [\"static\", \"video\"] as const;\nexport const CREATIVE_STATUS_VALUES = [\"draft\", \"rendered\", \"published\", \"archived\"] as const;\nexport const SOURCE_KIND_VALUES = [\"image\", \"video\"] as const;\nexport const EVIDENCE_VALUES = [\"observed\", \"interpreted\", \"hypothesized\", \"generated\"] as const;\n\n/** Frontmatter + body for a creative's `_definition.md`, mirroring the scaffold `creatives` collection schema. */\nexport type CreativeSourceKind = (typeof SOURCE_KIND_VALUES)[number];\n\nexport type CreativeDefinitionInput = {\n title: string;\n kind: (typeof CREATIVE_KIND_VALUES)[number];\n platform: string;\n formats: string[];\n status?: (typeof CREATIVE_STATUS_VALUES)[number];\n sourceReferenceUrl?: string;\n sourceAdvertiser?: string;\n /** The library ad it adapted (`baker winning-ads` ids): what `baker_uses` in reference search counts. */\n sourceAdId?: string;\n sourcePlatform?: string;\n sourceAdvertiserId?: string;\n sourceKind?: CreativeSourceKind;\n /** Repo-relative path to the committed source asset (e.g. \"references/original.jpg\"). */\n sourcePath?: string;\n /** The Meta ad set the ad is made for (`baker ads meta adsets`). */\n targetAdSet?: string;\n /** Who that ad set reaches (`baker ads meta adsets --audience`), or the viewer read from the Knowledge. */\n viewer?: ViewerProfile;\n description?: string;\n};\n\n/** Title-case a slug: \"factorial-hr-4x5\" -> \"Factorial Hr 4x5\". Falls back to the slug when empty. */\nexport function titleFromSlug(slug: string): string {\n const title = slug\n .split(\"-\")\n .filter(Boolean)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n return title || slug;\n}\n\n/** Coerce a platform flag to a collection-valid value (default \"meta\"). */\nexport function resolvePlatform(platform: string | undefined): string {\n const value = platform?.trim();\n return value && (PLATFORM_VALUES as readonly string[]).includes(value) ? value : \"meta\";\n}\n\n/** A single-format array from the resolved aspect ratio (default [\"4:5\"] when unknown). */\nexport function resolveFormats(aspect: string | undefined): string[] {\n const value = aspect?.trim();\n return value && (FORMAT_VALUES as readonly string[]).includes(value) ? [value] : [\"4:5\"];\n}\n\n/** A deduped list of collection-valid formats (default [\"4:5\"] when none are recognized). */\nexport function resolveFormatList(formats: readonly string[]): string[] {\n const valid = [...new Set(formats.map((f) => f.trim()))].filter((f) =>\n (FORMAT_VALUES as readonly string[]).includes(f),\n );\n return valid.length > 0 ? valid : [\"4:5\"];\n}\n\n/** Best-effort human summary from an image_describe blueprint's ad_intent (for the definition body). */\nexport function describeBlueprintIntent(blueprint: unknown): string | undefined {\n const intent = (blueprint as { ad_intent?: unknown } | null)?.ad_intent;\n if (typeof intent === \"string\" && intent.trim()) return intent.trim();\n if (intent && typeof intent === \"object\") {\n const summary = (intent as { summary?: unknown }).summary ?? (intent as { feeling?: unknown }).feeling;\n if (typeof summary === \"string\" && summary.trim()) return summary.trim();\n }\n return undefined;\n}\n\n// Double-quoted YAML scalar via JSON.stringify — valid YAML that survives colons, quotes, and unicode.\nfunction yamlScalar(value: string): string {\n return JSON.stringify(value);\n}\n\n/** Render `_definition.md` (YAML frontmatter + body) for a creative. */\nexport function buildCreativeDefinition(input: CreativeDefinitionInput): string {\n const lines = [\"---\", `title: ${yamlScalar(input.title)}`, `kind: ${input.kind}`, `platform: ${input.platform}`];\n lines.push(`formats: [${input.formats.map(yamlScalar).join(\", \")}]`);\n lines.push(`status: ${input.status ?? \"draft\"}`);\n if (input.sourceReferenceUrl) lines.push(`sourceReferenceUrl: ${yamlScalar(input.sourceReferenceUrl)}`);\n if (input.sourceAdvertiser) lines.push(`sourceAdvertiser: ${yamlScalar(input.sourceAdvertiser)}`);\n if (input.sourceAdvertiserId) lines.push(`sourceAdvertiserId: ${yamlScalar(input.sourceAdvertiserId)}`);\n if (input.sourceAdId) lines.push(`sourceAdId: ${yamlScalar(input.sourceAdId)}`);\n if (input.sourcePlatform) lines.push(`sourcePlatform: ${input.sourcePlatform}`);\n if (input.sourceKind) lines.push(`sourceKind: ${input.sourceKind}`);\n if (input.sourcePath) lines.push(`sourcePath: ${yamlScalar(input.sourcePath)}`);\n if (input.targetAdSet) lines.push(`targetAdSet: ${yamlScalar(input.targetAdSet)}`);\n // A JSON object is a YAML flow mapping: one line, and every string in it quoted.\n if (input.viewer) lines.push(`viewer: ${JSON.stringify(input.viewer)}`);\n lines.push(\"---\", \"\");\n lines.push(input.description?.trim() || `${input.title} — canvas-built ${input.kind} ad for ${input.platform}.`);\n lines.push(\"\");\n return lines.join(\"\\n\");\n}\n\n/** The library ids a `_definition.md` names, as `DefinitionSourceFields`. */\nexport type DefinitionSourceFields = {\n sourceAdId?: string;\n sourcePlatform?: string;\n sourceAdvertiserId?: string;\n};\n\nconst SOURCE_FIELD_KEYS = [\"sourceAdId\", \"sourcePlatform\", \"sourceAdvertiserId\"] as const;\n\n/**\n * Read the library ids back out of a `_definition.md`, so a sync after the agent edited the\n * file still carries them. Tolerant: no frontmatter, a mid-edit parse error, or a non-string\n * value yields nothing for that field rather than a failed sync.\n */\nexport function parseDefinitionSourceFields(raw: string): DefinitionSourceFields {\n const match = raw.match(/^---\\r?\\n([\\s\\S]*?\\r?\\n)?---/);\n if (!match) return {};\n const doc = parseDocument(match[1] ?? \"\");\n if (doc.errors.length > 0) return {};\n const fields: DefinitionSourceFields = {};\n for (const key of SOURCE_FIELD_KEYS) {\n const value = doc.get(key);\n if (typeof value === \"string\" && value.trim()) fields[key] = value.trim();\n }\n return fields;\n}\n\n/** Why the creative exists, as a `_definition.md` states it (its `idea` sent as `ideaSlug`). */\nexport type DefinitionStrategyFields = {\n ideaSlug?: string;\n message?: string;\n evidence?: (typeof EVIDENCE_VALUES)[number];\n angle?: string;\n persona?: string;\n awareness?: (typeof AWARENESS_VALUES)[number];\n hypothesis?: string;\n /** The lead ad of the series this creative is one of (`series`): its picture is the lead's with other words. */\n seriesLead?: string;\n /** The language its words are in (`language`), as a canonical BCP-47 tag (`es-MX`): a translation's. */\n language?: string;\n};\n\nfunction oneOf<T extends string>(values: readonly T[], value: string | undefined): T | undefined {\n return values.find((allowed) => allowed === value);\n}\n\n/**\n * Read the creative's strategy back out of a `_definition.md`, so the dashboard holds it from the\n * first sync rather than from Publish. Tolerant like `parseDefinitionSourceFields`; an `evidence`\n * or `awareness` the collection would reject is dropped rather than sent.\n */\nexport function parseDefinitionStrategyFields(raw: string): DefinitionStrategyFields {\n const match = raw.match(/^---\\r?\\n([\\s\\S]*?\\r?\\n)?---/);\n if (!match) return {};\n const doc = parseDocument(match[1] ?? \"\");\n if (doc.errors.length > 0) return {};\n const text = (key: string): string | undefined => {\n const value = doc.get(key);\n return typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n };\n const ideaSlug = text(\"idea\");\n const message = text(\"message\");\n const evidence = oneOf(EVIDENCE_VALUES, text(\"evidence\"));\n const angle = text(\"angle\");\n const persona = text(\"persona\");\n const awareness = oneOf(AWARENESS_VALUES, text(\"awareness\"));\n const hypothesis = text(\"hypothesis\");\n const seriesLead = text(\"series\");\n const language = languageTag(text(\"language\") ?? \"\");\n return {\n ...(seriesLead ? { seriesLead } : {}),\n ...(language ? { language } : {}),\n ...(ideaSlug ? { ideaSlug } : {}),\n ...(message ? { message } : {}),\n ...(evidence ? { evidence } : {}),\n ...(angle ? { angle } : {}),\n ...(persona ? { persona } : {}),\n ...(awareness ? { awareness } : {}),\n ...(hypothesis ? { hypothesis } : {}),\n };\n}\n\n/** Where a definition places its creative in a series: null for a field it does not name. */\nexport type DefinitionSeriesPlace = { seriesLead: string | null; language: string | null };\n\n/**\n * The series lead and language a `_definition.md` names, each null when it names none, so a\n * sync can tell the backend the creative left its series. Null when the front matter cannot be\n * read (none, or mid-edit invalid YAML): the sync then says nothing and the backend keeps what it has.\n */\nexport function parseDefinitionSeriesPlace(raw: string): DefinitionSeriesPlace | null {\n const match = raw.match(/^---\\r?\\n([\\s\\S]*?\\r?\\n)?---/);\n if (!match || parseDocument(match[1] ?? \"\").errors.length > 0) return null;\n const { seriesLead, language } = parseDefinitionStrategyFields(raw);\n return { seriesLead: seriesLead ?? null, language: language ?? null };\n}\n\n/** Who a `_definition.md` says the ad is for: its `targetAdSet` and its recorded `viewer`, unchecked. */\nexport type DefinitionViewerFields = { targetAdSet?: string; viewer?: unknown };\n\n/** Read `targetAdSet` and `viewer` back out of a `_definition.md`; tolerant like `parseDefinitionSourceFields`. */\nexport function parseDefinitionViewerFields(raw: string): DefinitionViewerFields {\n const match = raw.match(/^---\\r?\\n([\\s\\S]*?\\r?\\n)?---/);\n if (!match) return {};\n const doc = parseDocument(match[1] ?? \"\");\n if (doc.errors.length > 0) return {};\n const data = doc.toJS() as { targetAdSet?: unknown; viewer?: unknown } | null;\n const adSet = data?.targetAdSet;\n const targetAdSet = typeof adSet === \"string\" || typeof adSet === \"number\" ? String(adSet).trim() : \"\";\n return {\n ...(targetAdSet ? { targetAdSet } : {}),\n ...(data?.viewer !== undefined ? { viewer: data.viewer } : {}),\n };\n}\n\n/**\n * Record the ad set an ad is for and the viewer it reaches in an existing `_definition.md`,\n * keeping every other field and the body. A file without frontmatter, or one mid-edit, is\n * returned as it is: the viewer is then read again from the ad set on the next run.\n */\nexport function setDefinitionViewer(raw: string, fields: { targetAdSet?: string; viewer?: ViewerProfile }): string {\n const match = raw.match(/^---\\r?\\n([\\s\\S]*?\\r?\\n)?---/);\n if (!match) return raw;\n const doc = parseDocument(match[1] ?? \"\");\n if (doc.errors.length > 0) return raw;\n if (fields.targetAdSet) doc.set(\"targetAdSet\", fields.targetAdSet);\n if (fields.viewer) doc.set(\"viewer\", doc.createNode(fields.viewer, { flow: true }));\n return `---\\n${doc.toString()}---${raw.slice(match[0].length)}`;\n}\n","import path from \"node:path\";\nimport type { CanvasRunVerdict } from \"@baker/api\";\nimport type { NodeRunRecord, RunResult } from \"../../engine/engine/executor.ts\";\nimport { parseRefExpr } from \"../../engine/schema/canvas.ts\";\nimport { collectAssetRefLikes, isPersistedAssetRef } from \"../../engine/storage/remote-cache-store.ts\";\n\n// Mirrors of the backend intake caps (canvas/runRecords.ts) so an in-bounds\n// payload is sent even for pathological runs; the server re-caps defensively.\nconst MAX_RUN_NODES = 200;\nconst MAX_OUTPUTS_PER_NODE = 10;\nconst MAX_FINAL_OUTPUTS = 10;\n\nexport type RunRecordOutput = {\n slot: string;\n /** Variant identity from the collect terminal (branch/scene name) — slot stays the stable key. */\n label?: string;\n kind: \"image\" | \"video\" | \"audio\" | \"json\" | \"text\" | \"font\";\n sha256: string;\n url: string;\n mime: string;\n width?: number;\n height?: number;\n durationMs?: number;\n};\n\n/** Labels for a collect-terminated canvas: the collector's node id + one label per collected image. */\nexport type FinalOutputLabels = { nodeId: string; labels: (string | undefined)[] };\n\nexport type RunNodeStatus = \"pending\" | \"running\" | \"completed\" | \"failed\";\n\nexport type RunRecordNode = {\n nodeId: string;\n nodeType: string;\n cached: boolean;\n credits: number;\n durationMs: number;\n outputs: RunRecordOutput[];\n /** Upstream node ids ($ref edges) — lets the dashboard render the workflow graph. */\n deps?: string[];\n status?: RunNodeStatus;\n /** Compact params excerpt (prompt text preferred) for graph-node legibility. */\n paramsPreview?: string;\n /** Why this node failed — the real upstream status/provider — set only on `status: \"failed\"`. */\n error?: RunNodeError;\n /** The node's job, from its `tags.role` (e.g. `static_variants`), so readers never parse node ids. */\n role?: string;\n};\n\n/** Display-ready per-node failure detail. Mirrors the engine's `NodeFailureDetail`. */\nexport type RunNodeError = {\n message: string;\n code?: string;\n provider?: string;\n retryable?: boolean;\n};\n\n/** Run attribution stamped on every record post (progress, terminal, initial). */\nexport type RunRecordMeta = {\n creativeSlug?: string;\n canvasPath?: string;\n canvasSha?: string;\n /** Content sha of the rendered source (canvas.json + prompt.json) — powers the dashboard staleness signal. */\n sourceSha?: string;\n chatId?: string;\n /** R2 manifest of the executed canvas + its local file refs — first-write-wins server-side. */\n canvasSnapshotUrl?: string;\n /** R2 copy of the graph this run executes (every node's declaration): what a correction elsewhere grows on. */\n graphUrl?: string;\n /** What the render review found, so it outlives the terminal it was printed to. */\n review?: { severity: \"blocking\" | \"warning\"; what: string; scene?: string }[];\n /**\n * What the review's own model calls cost, as the gateway reported them.\n *\n * The review calls OpenRouter from the Runtime — that is where the finished video is,\n * and shipping 60MB through Convex to reach the same gateway would buy nothing — so\n * this record is what carries the spend back to where it is billed. `costUsd` is\n * OpenRouter's own `usage.cost`, relayed rather than computed: the sandbox never\n * prices anything, which is what makes it safe for the model id to float.\n */\n reviewUsage?: { model: string; inputTokens: number; outputTokens: number; costUsd: number }[];\n /** What the render review said (`@baker/api` CANVAS_RUN_VERDICTS), and whether the run may be shown as a version. */\n verdict?: CanvasRunVerdict;\n presentable?: boolean;\n /** An ad of a series made again from a new version of its lead: a new version of the ad, not a retry. */\n newAsk?: boolean;\n};\n\nexport type RunRecordPayload = {\n runId: string;\n /** `awaiting_approval`: stopped on purpose at a `--until` checkpoint, resumable with the same run id. */\n status: \"running\" | \"completed\" | \"failed\" | \"awaiting_approval\";\n errorMessage?: string;\n stats: { totalNodes: number; cachedNodes: number; totalCredits: number; durationMs: number };\n nodes: RunRecordNode[];\n finalOutputs?: RunRecordOutput[];\n /**\n * What the render review found, sent with the run that produced it.\n *\n * Without this the findings existed only in the CLI's stdout — visible to the agent\n * for one turn and to nobody afterwards. A check whose result leaves no trace cannot\n * be read back, compared between runs, or shown to the person the ad is for, and is\n * indistinguishable from a check that never ran.\n */\n review?: { severity: \"blocking\" | \"warning\"; what: string; scene?: string }[];\n /** Graceful-abort flush (SIGINT/SIGTERM): terminal but resumable — the backend keeps the row adoptable. */\n interrupted?: boolean;\n} & RunRecordMeta;\n\n/** Per-node plan facts (edges + params preview) captured from the engine's plan event. */\nexport type RunPlanInfo = Map<string, { deps: string[]; paramsPreview?: string; role?: string }>;\n\n// Mirrors the backend's CREATIVE_SLUG_MAX_LENGTH — an over-long slug would\n// 400 the whole run record, so attribution is dropped instead.\nconst MAX_CREATIVE_SLUG_LENGTH = 100;\n\n/**\n * A canvas under the repo convention `src/creatives/{slug}/` belongs to that\n * creative; its runs become the creative's generation history. Returns null\n * for canvases anywhere else (and for slugs the backend would reject).\n */\nexport function creativeSlugFromCanvasPath(filePath: string): string | null {\n const normalized = filePath.split(path.sep).join(\"/\");\n const match = normalized.match(/(?:^|\\/)src\\/creatives\\/([a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\\//);\n const slug = match?.[1] ?? null;\n return slug && slug.length <= MAX_CREATIVE_SLUG_LENGTH ? slug : null;\n}\n\n/**\n * Best-effort variant labels from a not-yet-validated canvas: when the declared\n * output is a `collect` node, each final inherits the node's explicit\n * `params.labels[i]`, else the producer node id parsed from the raw `$ref` it\n * collects (`$ref:gen_billboard_03.images#0` → `gen_billboard_03`). Null for\n * every other canvas shape — single-output runs stay unlabeled.\n */\nexport function finalOutputLabelsFromCanvas(parsed: unknown): FinalOutputLabels | null {\n const canvas = parsed as { nodes?: unknown; output?: { node?: unknown } } | null;\n const outputNodeId = canvas?.output?.node;\n if (typeof outputNodeId !== \"string\" || !Array.isArray(canvas?.nodes)) return null;\n const node = canvas.nodes.find((n) => (n as { id?: unknown })?.id === outputNodeId) as\n | { type?: unknown; inputs?: { images?: unknown }; params?: { labels?: unknown } }\n | undefined;\n if (node?.type !== \"collect\") return null;\n const explicit = node.params?.labels;\n if (Array.isArray(explicit) && explicit.every((l) => typeof l === \"string\")) {\n return { nodeId: outputNodeId, labels: explicit };\n }\n const images = node.inputs?.images;\n if (!Array.isArray(images)) return null;\n const labels = images.map((entry) => {\n if (typeof entry !== \"string\") return undefined;\n return parseRefExpr(entry)?.nodeId;\n });\n return { nodeId: outputNodeId, labels };\n}\n\nconst OUTPUT_KINDS = new Set([\"image\", \"video\", \"audio\", \"json\", \"text\", \"font\"]);\n\nfunction toRecordOutput(slot: string, value: unknown, label?: string): RunRecordOutput | null {\n const refs = collectAssetRefLikes(value);\n const ref = refs.length === 1 ? refs[0] : null;\n if (!ref || !isPersistedAssetRef(ref)) return null;\n const kind = typeof ref.kind === \"string\" && OUTPUT_KINDS.has(ref.kind) ? ref.kind : null;\n if (!kind) return null;\n return {\n slot,\n label,\n kind: kind as RunRecordOutput[\"kind\"],\n sha256: ref.sha256,\n url: ref.url,\n mime: ref.mime,\n width: typeof ref.width === \"number\" ? ref.width : undefined,\n height: typeof ref.height === \"number\" ? ref.height : undefined,\n durationMs: typeof ref.duration_ms === \"number\" ? ref.duration_ms : undefined,\n };\n}\n\n/**\n * Flatten one node's outputs into record entries. Single refs keep their slot\n * name; arrays become `slot#i`. Values without a persisted ref (plain JSON\n * manifests, refs whose upload failed) are dropped — every stored output must\n * be renderable from R2.\n */\nexport function nodeOutputsToRecord(\n nodeOutputs: Record<string, unknown>,\n labels?: (string | undefined)[],\n): RunRecordOutput[] {\n const out: RunRecordOutput[] = [];\n for (const [slot, value] of Object.entries(nodeOutputs)) {\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n const rec = toRecordOutput(`${slot}#${i}`, item, labels?.[i]);\n if (rec) out.push(rec);\n });\n } else {\n const rec = toRecordOutput(slot, value);\n if (rec) out.push(rec);\n }\n }\n return out.slice(0, MAX_OUTPUTS_PER_NODE);\n}\n\nfunction finalOutputsToRecord(output: unknown, labels?: (string | undefined)[]): RunRecordOutput[] {\n if (Array.isArray(output)) {\n return output\n .map((item, i) => toRecordOutput(`final#${i}`, item, labels?.[i]))\n .filter((rec): rec is RunRecordOutput => rec !== null)\n .slice(0, MAX_FINAL_OUTPUTS);\n }\n const rec = toRecordOutput(\"final\", output);\n return rec ? [rec] : [];\n}\n\n/** Each delivered size's local file, keyed by its label (or `final#i`), so the agent opens it with Read. */\nexport function finalFiles(output: unknown, labels?: (string | undefined)[]): Record<string, string> {\n const items = Array.isArray(output) ? output : [output];\n const files: Record<string, string> = {};\n items.forEach((item, i) => {\n const ref = collectAssetRefLikes(item)[0];\n if (ref && typeof ref.path === \"string\") files[labels?.[i] ?? `final#${i}`] = ref.path;\n });\n return files;\n}\n\nexport function buildRunRecord(\n result: Pick<RunResult, \"run_id\" | \"output\" | \"outputs_by_node\" | \"stats\"> & { node_runs: NodeRunRecord[] },\n meta: RunRecordMeta,\n plan?: RunPlanInfo,\n finalLabels?: FinalOutputLabels,\n): RunRecordPayload {\n const nodes = result.node_runs.slice(0, MAX_RUN_NODES).map((run): RunRecordNode => {\n const planned = plan?.get(run.node_id);\n return {\n nodeId: run.node_id,\n nodeType: run.node_type,\n cached: run.cached,\n credits: run.credits,\n durationMs: run.duration_ms,\n outputs: nodeOutputsToRecord(\n result.outputs_by_node[run.node_id] ?? {},\n run.node_id === finalLabels?.nodeId ? finalLabels.labels : undefined,\n ),\n deps: planned?.deps,\n status: plan ? \"completed\" : undefined,\n paramsPreview: planned?.paramsPreview,\n ...(planned?.role !== undefined ? { role: planned.role } : {}),\n };\n });\n const finalOutputs = finalOutputsToRecord(result.output, finalLabels?.labels);\n return {\n runId: result.run_id,\n ...meta,\n status: \"completed\",\n stats: {\n totalNodes: result.stats.total_nodes,\n cachedNodes: result.stats.cached_nodes,\n totalCredits: result.stats.total_credits,\n durationMs: result.stats.duration_ms,\n },\n nodes,\n finalOutputs: finalOutputs.length > 0 ? finalOutputs : undefined,\n // Sent whenever the review RAN, empty list included. Sending it only when there\n // were findings makes a clean render and an unreviewed one look identical in the\n // record — which is the exact ambiguity this field was added to remove: proving a\n // review had happened once meant re-running a cached canvas and reading raw JSON.\n // Only the fields the backend keeps: a static review's typed fields (`kind`) stay in the CLI.\n ...(meta.review\n ? { review: meta.review.slice(0, 40).map(({ severity, what, scene }) => ({ severity, what, ...(scene ? { scene } : {}) })) }\n : {}),\n };\n}\n\n/**\n * The empty `running` record posted BEFORE layer 1 executes. This row is the\n * Convex-side in-flight marker: the reconciliation sweep and cross-sandbox\n * resume both key off it, so unlike the fire-and-forget progress stream it is\n * posted synchronously (with retries) at run start.\n */\nexport function buildInitialRunRecord(runId: string, meta: RunRecordMeta): RunRecordPayload {\n return {\n runId,\n ...meta,\n status: \"running\",\n stats: { totalNodes: 0, cachedNodes: 0, totalCredits: 0, durationMs: 0 },\n nodes: [],\n };\n}\n\nexport function buildFailedRunRecord(runId: string, errorMessage: string, meta: RunRecordMeta): RunRecordPayload {\n return {\n runId,\n ...meta,\n status: \"failed\",\n errorMessage: errorMessage.slice(0, 2000),\n stats: { totalNodes: 0, cachedNodes: 0, totalCredits: 0, durationMs: 0 },\n nodes: [],\n };\n}\n"],"mappings":"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","names":["rec"]}
@@ -1,197 +0,0 @@
1
- import {
2
- mediaTagsCreateRequestSchema,
3
- mediaTagsDeleteRequestSchema,
4
- mediaTagsUpdateRequestSchema
5
- } from "./chunk-6HJAHLLA.js";
6
- import {
7
- ApiError,
8
- apiGet,
9
- apiPost
10
- } from "./chunk-XBOK23HI.js";
11
- import {
12
- registerSchema,
13
- writeJson
14
- } from "./chunk-NU7JSWVA.js";
15
-
16
- // src/lib/tags-command.ts
17
- import { defineCommand } from "citty";
18
- var OUTPUT_ARG = {
19
- output: { type: "string", description: "Output format: md|json", required: false, default: "md" }
20
- };
21
- var SHARED_POOL_HINT = "Custom tags are one pool shared by images, videos and testimonials \u2014 this change shows up in all three. Already applied: publishing or discarding this chat does not undo it.";
22
- function fail(err) {
23
- const code = err instanceof ApiError ? err.code : "INTERNAL_ERROR";
24
- const message = err instanceof ApiError ? err.message : "Unexpected error";
25
- writeJson({ ok: false, error: { code, message } });
26
- process.exit(1);
27
- }
28
- function failInvalid(issue) {
29
- writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: issue?.message ?? "Invalid request" } });
30
- process.exit(1);
31
- }
32
- function makeTagsCommand(command, label, endpoint) {
33
- registerSchema({
34
- command: `${command}.tags.list`,
35
- description: `List the available ${label} tag taxonomy (built-in defaults + this company's custom tags).`,
36
- args: OUTPUT_ARG
37
- });
38
- const listCommand = defineCommand({
39
- meta: {
40
- name: "list",
41
- description: `List the available ${label} tag names (defaults + company custom tags). Use before filtering with --tags. Example: baker ${command} tags`
42
- },
43
- args: OUTPUT_ARG,
44
- run: async ({ args }) => {
45
- try {
46
- const { markdown } = await apiGet(endpoint);
47
- if (args.output === "json") {
48
- writeJson({ ok: true, data: { markdown } });
49
- return;
50
- }
51
- process.stdout.write(`${markdown.trimEnd()}
52
- `);
53
- } catch (err) {
54
- const code = err instanceof ApiError ? err.code : "INTERNAL_ERROR";
55
- const message = err instanceof ApiError ? err.message : "Unexpected error";
56
- if (args.output === "json") {
57
- writeJson({ ok: false, error: { code, message } });
58
- } else {
59
- process.stderr.write(`Error: ${message}
60
- `);
61
- }
62
- process.exit(1);
63
- }
64
- }
65
- });
66
- const createArgs = {
67
- name: { type: "positional", description: "Tag name (stored lowercased, spaces \u2192 hyphens)", required: true },
68
- description: {
69
- type: "string",
70
- description: "What the tag means, so it gets applied consistently",
71
- required: false
72
- }
73
- };
74
- registerSchema({
75
- command: `${command}.tags.create`,
76
- description: "Create a custom media tag in the company's shared pool (images, videos and testimonials). Applies immediately. Use when no built-in or custom tag fits.",
77
- args: {
78
- name: { type: "string", description: "Tag name (stored lowercased, spaces \u2192 hyphens)", required: true },
79
- description: createArgs.description
80
- }
81
- });
82
- const createCommand = defineCommand({
83
- meta: {
84
- name: "create",
85
- description: `Create a custom tag (shared by images, videos and testimonials). Applies immediately.
86
-
87
- Example: baker ${command} tags create "summer sale" --description "Assets for the summer sale campaign"`
88
- },
89
- args: createArgs,
90
- run: async ({ args }) => {
91
- const parsed = mediaTagsCreateRequestSchema.safeParse({
92
- name: String(args.name ?? ""),
93
- ...args.description ? { description: String(args.description) } : {}
94
- });
95
- if (!parsed.success) failInvalid(parsed.error.issues[0]);
96
- try {
97
- const data = await apiPost("/api/media-tags/create", parsed.data);
98
- writeJson({
99
- ok: true,
100
- data,
101
- hints: [
102
- SHARED_POOL_HINT,
103
- `Use it as \`--tags ${data.name}\`.`,
104
- ...data.description ? [] : ["MISSING --description: add one with `tags update` so the tag is applied consistently."]
105
- ]
106
- });
107
- } catch (err) {
108
- fail(err);
109
- }
110
- }
111
- });
112
- registerSchema({
113
- command: `${command}.tags.update`,
114
- description: "Change what a custom tag means (its description). Built-in tags cannot be changed. Applies immediately.",
115
- args: {
116
- slug: { type: "string", description: "Custom tag name, as `tags` lists it", required: true },
117
- description: { type: "string", description: "New description", required: true }
118
- }
119
- });
120
- const updateCommand = defineCommand({
121
- meta: {
122
- name: "update",
123
- description: `Change a custom tag's description. Built-in tags cannot be changed. Applies immediately.
124
-
125
- Example: baker ${command} tags update summer-sale --description "Assets for the 2026 summer sale"`
126
- },
127
- args: {
128
- slug: { type: "positional", description: "Custom tag name, as `tags` lists it", required: true },
129
- description: { type: "string", description: "New description", required: true }
130
- },
131
- run: async ({ args }) => {
132
- const parsed = mediaTagsUpdateRequestSchema.safeParse({
133
- slug: String(args.slug ?? ""),
134
- description: String(args.description ?? "")
135
- });
136
- if (!parsed.success) failInvalid(parsed.error.issues[0]);
137
- try {
138
- const data = await apiPost("/api/media-tags/update", parsed.data);
139
- writeJson({ ok: true, data, hints: [SHARED_POOL_HINT] });
140
- } catch (err) {
141
- fail(err);
142
- }
143
- }
144
- });
145
- registerSchema({
146
- command: `${command}.tags.delete`,
147
- description: "Delete a custom tag from the company's shared pool. Built-in tags cannot be deleted. Applies immediately. Confirm with the user first.",
148
- args: { slug: { type: "string", description: "Custom tag name, as `tags` lists it", required: true } }
149
- });
150
- const deleteCommand = defineCommand({
151
- meta: {
152
- name: "delete",
153
- description: `Delete a custom tag (shared by images, videos and testimonials). Built-in tags cannot be deleted. Applies immediately \u2014 confirm with the user first.
154
-
155
- Example: baker ${command} tags delete summer-sale`
156
- },
157
- args: { slug: { type: "positional", description: "Custom tag name, as `tags` lists it", required: true } },
158
- run: async ({ args }) => {
159
- const parsed = mediaTagsDeleteRequestSchema.safeParse({ slug: String(args.slug ?? "") });
160
- if (!parsed.success) failInvalid(parsed.error.issues[0]);
161
- try {
162
- const data = await apiPost("/api/media-tags/delete", parsed.data);
163
- writeJson({ ok: true, data, hints: [SHARED_POOL_HINT] });
164
- } catch (err) {
165
- fail(err);
166
- }
167
- }
168
- });
169
- return defineCommand({
170
- meta: {
171
- name: "tags",
172
- description: `The ${label} tag taxonomy: built-in defaults plus the company's custom tags (one pool shared by images, videos and testimonials). Subcommands: list (default), create, update, delete.
173
-
174
- Examples:
175
- baker ${command} tags # list available tags
176
- baker ${command} tags create "summer sale" --description "\u2026"
177
- baker ${command} tags update summer-sale --description "\u2026"
178
- baker ${command} tags delete summer-sale`
179
- },
180
- // Declared on the parent too: `default: "list"` dispatches the bare `tags --output json`
181
- // form, and citty reads an undeclared flag's value as a subcommand name.
182
- args: OUTPUT_ARG,
183
- subCommands: {
184
- list: listCommand,
185
- create: createCommand,
186
- update: updateCommand,
187
- delete: deleteCommand
188
- },
189
- // `default`, never `run`: citty falls through to the parent's `run` after a subcommand.
190
- default: "list"
191
- });
192
- }
193
-
194
- export {
195
- makeTagsCommand
196
- };
197
- //# sourceMappingURL=chunk-AO5UQQLJ.js.map
@@ -1,175 +0,0 @@
1
- import {
2
- handleConnectionError,
3
- needsConnectionFix,
4
- writeAdsJson
5
- } from "./chunk-VFIOJD5M.js";
6
- import {
7
- LINKEDIN_SEARCH_STATUSES,
8
- unsupportedLinkedinSearchStatuses
9
- } from "./chunk-6HJAHLLA.js";
10
- import {
11
- ApiError
12
- } from "./chunk-XBOK23HI.js";
13
- import {
14
- MissingChatIdError,
15
- getEnv
16
- } from "./chunk-NAWWC5I3.js";
17
-
18
- // src/commands/ads/linkedin/shared.ts
19
- var DAY_MS = 864e5;
20
- function handleLinkedinError(err) {
21
- if (err instanceof ApiError) {
22
- if (needsConnectionFix(err.code, err.message)) {
23
- handleConnectionError("linkedin_ads", err.message);
24
- }
25
- if (isNoAccountsSelectedError(err.code, err.message)) {
26
- handleConnectionError("linkedin_ads", err.message);
27
- }
28
- const explanation = explainLinkedinError(err);
29
- const envelope = {
30
- ok: false,
31
- error: {
32
- code: err.code,
33
- message: err.message,
34
- fix: {
35
- action: explanation.action,
36
- explanation: explanation.message,
37
- correctedCommand: explanation.correctedCommand
38
- },
39
- retryable: err.code === "RATE_LIMITED" || err.code === "UNAVAILABLE" || err.code === "INTERNAL_ERROR"
40
- }
41
- };
42
- writeAdsJson(envelope);
43
- process.exit(1);
44
- }
45
- writeAdsJson(unexpectedErrorEnvelope(err));
46
- process.exit(1);
47
- }
48
- function unexpectedErrorEnvelope(err) {
49
- if (err instanceof MissingChatIdError) {
50
- return {
51
- ok: false,
52
- error: {
53
- code: err.code,
54
- message: err.message,
55
- fix: {
56
- action: "reject",
57
- explanation: "LinkedIn changes are staged in a chat and this run has none. Don't retry: carry on with the rest of the job and tell the user this change couldn't be staged from here."
58
- },
59
- retryable: false
60
- }
61
- };
62
- }
63
- const message = err instanceof Error ? err.message : "Unexpected error";
64
- return { ok: false, error: { code: "NETWORK_ERROR", message } };
65
- }
66
- function isNoAccountsSelectedError(code, message) {
67
- return code === "VALIDATION_ERROR" && /no linkedin ad accounts selected/i.test(message);
68
- }
69
- function explainLinkedinError(err) {
70
- const lower = err.message.toLowerCase();
71
- if (err.code === "VALIDATION_ERROR" && lower.includes("granularity") && lower.includes("daily")) {
72
- return {
73
- action: "retry_with_flag",
74
- message: "LinkedIn rejects DAILY granularity when pivoting on demographic dims (job-title, company, etc.). Re-run with --granularity ALL or MONTHLY.",
75
- correctedCommand: void 0
76
- };
77
- }
78
- if (err.code === "RATE_LIMITED") {
79
- return {
80
- action: "wait_and_retry",
81
- message: "Hit a LinkedIn throttle. The CLI already backs off automatically \u2014 if you see this you've exhausted the retry budget. Wait ~60s and retry."
82
- };
83
- }
84
- if (err.code === "INTERNAL_ERROR" && lower.includes("deprecat")) {
85
- return {
86
- action: "reject",
87
- message: "LinkedIn-Version header is deprecated. The backend constant LINKEDIN_API_VERSION needs to be bumped \u2014 file an issue or update the constant."
88
- };
89
- }
90
- return { action: "reject", message: err.message };
91
- }
92
- var LI_ACCOUNT_ID_RE = /^(urn:li:sponsoredAccount:)?\d+$/;
93
- function resolveAccountIdArg(args) {
94
- const fromArgs = args["account-id"] ?? args["account-urn"];
95
- const id = fromArgs || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID;
96
- if (!id) {
97
- writeAdsJson({
98
- ok: false,
99
- error: {
100
- code: "MISSING_ACCOUNT_ID",
101
- message: "Pass --account-id (numeric) or --account-urn (urn:li:sponsoredAccount:N), or set BAKER_LINKEDIN_AD_ACCOUNT_ID. Run `baker ads linkedin accounts` to find IDs."
102
- }
103
- });
104
- process.exit(1);
105
- }
106
- if (!LI_ACCOUNT_ID_RE.test(id)) {
107
- writeAdsJson({
108
- ok: false,
109
- error: {
110
- code: "INVALID_ACCOUNT_ID",
111
- message: `Invalid LinkedIn account ID "${id}". Expected numeric or urn:li:sponsoredAccount:N.`
112
- }
113
- });
114
- process.exit(1);
115
- }
116
- return id.startsWith("urn:") ? id.split(":").pop() ?? id : id;
117
- }
118
- function todayIso() {
119
- return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
120
- }
121
- function daysAgoIso(days) {
122
- return new Date(Date.now() - days * DAY_MS).toISOString().slice(0, 10);
123
- }
124
- function csvOrJson(args) {
125
- return args.output ?? "json";
126
- }
127
- function statusesArgDescription(level) {
128
- return `CSV of statuses (${LINKEDIN_SEARCH_STATUSES[level].join(",")})`;
129
- }
130
- function statusFilterError(level, statuses) {
131
- const unsupported = unsupportedLinkedinSearchStatuses(level, statuses);
132
- if (unsupported.length === 0) {
133
- return null;
134
- }
135
- const accepted = LINKEDIN_SEARCH_STATUSES[level].join(",");
136
- return {
137
- ok: false,
138
- error: {
139
- code: "INVALID_STATUS",
140
- message: `LinkedIn does not accept status ${unsupported.join(", ")} for this listing.`,
141
- fix: {
142
- action: "retry_with_flag",
143
- explanation: `Re-run with --statuses from ${accepted}, or --all-statuses to drop the filter.`
144
- },
145
- retryable: false
146
- }
147
- };
148
- }
149
- function resolveStatusFilter(args, level) {
150
- if (args["all-statuses"]) {
151
- return void 0;
152
- }
153
- const explicit = args.statuses;
154
- if (!explicit) {
155
- return ["ACTIVE"];
156
- }
157
- const statuses = explicit.split(",").map((s) => s.trim().toUpperCase()).filter(Boolean);
158
- const error = statusFilterError(level, statuses);
159
- if (error) {
160
- writeAdsJson(error);
161
- process.exit(1);
162
- }
163
- return statuses;
164
- }
165
-
166
- export {
167
- handleLinkedinError,
168
- resolveAccountIdArg,
169
- todayIso,
170
- daysAgoIso,
171
- csvOrJson,
172
- statusesArgDescription,
173
- resolveStatusFilter
174
- };
175
- //# sourceMappingURL=chunk-CKU4WYTF.js.map