@koda-sl/baker-cli 0.386.0-dev.4e118c09a → 0.386.0-dev.d6e55699d

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 (967) hide show
  1. package/README.md +1057 -215
  2. package/canvas/tiktok-captions-composition/index.html +5 -6
  3. package/canvas/tiktok-captions-composition/meta.json +5 -0
  4. package/dist/account-5TGX45FO.js +79 -0
  5. package/dist/account-5TGX45FO.js.map +1 -0
  6. package/dist/account-CLOKMTTC.js +49 -0
  7. package/dist/account-CLOKMTTC.js.map +1 -0
  8. package/dist/account-XFK6VX2R.js +80 -0
  9. package/dist/account-XFK6VX2R.js.map +1 -0
  10. package/dist/account-reads-ZK5RMLB2.js +218 -0
  11. package/dist/account-reads-ZK5RMLB2.js.map +1 -0
  12. package/dist/account-writes-Y7EQXDXF.js +66 -0
  13. package/dist/account-writes-Y7EQXDXF.js.map +1 -0
  14. package/dist/accounts-7YD457YN.js +114 -0
  15. package/dist/accounts-7YD457YN.js.map +1 -0
  16. package/dist/accounts-BJ3X5JQT.js +115 -0
  17. package/dist/accounts-BJ3X5JQT.js.map +1 -0
  18. package/dist/accounts-HGAFFOA7.js +77 -0
  19. package/dist/accounts-HGAFFOA7.js.map +1 -0
  20. package/dist/accounts-OWMXUT6D.js +611 -0
  21. package/dist/accounts-OWMXUT6D.js.map +1 -0
  22. package/dist/accounts-RYBDLQ6H.js +75 -0
  23. package/dist/accounts-RYBDLQ6H.js.map +1 -0
  24. package/dist/actions-NSQYW7YS.js +55 -0
  25. package/dist/actions-NSQYW7YS.js.map +1 -0
  26. package/dist/active-entities-R6GZIO6Z.js +103 -0
  27. package/dist/active-entities-R6GZIO6Z.js.map +1 -0
  28. package/dist/activities-ESBF3GFS.js +74 -0
  29. package/dist/activities-ESBF3GFS.js.map +1 -0
  30. package/dist/ad-group-writes-I225OYDZ.js +170 -0
  31. package/dist/ad-group-writes-I225OYDZ.js.map +1 -0
  32. package/dist/ad-groups-O35MWNF6.js +68 -0
  33. package/dist/ad-groups-O35MWNF6.js.map +1 -0
  34. package/dist/ad-writes-SS5YZO5W.js +174 -0
  35. package/dist/ad-writes-SS5YZO5W.js.map +1 -0
  36. package/dist/add-HWIE5PGR.js +302 -0
  37. package/dist/add-HWIE5PGR.js.map +1 -0
  38. package/dist/add-IIW3NHZH.js +104 -0
  39. package/dist/add-IIW3NHZH.js.map +1 -0
  40. package/dist/add-QZHAWUBA.js +97 -0
  41. package/dist/add-QZHAWUBA.js.map +1 -0
  42. package/dist/add-TGQIVVXH.js +105 -0
  43. package/dist/add-TGQIVVXH.js.map +1 -0
  44. package/dist/add-accounts-6QYPOPR2.js +91 -0
  45. package/dist/add-accounts-6QYPOPR2.js.map +1 -0
  46. package/dist/ads-AUSRB4GU.js +128 -0
  47. package/dist/ads-AUSRB4GU.js.map +1 -0
  48. package/dist/ads-COYOTEKE.js +77 -0
  49. package/dist/ads-COYOTEKE.js.map +1 -0
  50. package/dist/ads-D6KKCQ3Q.js +40 -0
  51. package/dist/ads-D6KKCQ3Q.js.map +1 -0
  52. package/dist/ads-QKIHHXP5.js +113 -0
  53. package/dist/ads-QKIHHXP5.js.map +1 -0
  54. package/dist/adsets-7WMWU45E.js +176 -0
  55. package/dist/adsets-7WMWU45E.js.map +1 -0
  56. package/dist/advertisers-6NZ2M57X.js +120 -0
  57. package/dist/advertisers-6NZ2M57X.js.map +1 -0
  58. package/dist/advertisers-BCGKUMEH.js +125 -0
  59. package/dist/advertisers-BCGKUMEH.js.map +1 -0
  60. package/dist/analytics-QJC2BTZY.js +433 -0
  61. package/dist/analytics-QJC2BTZY.js.map +1 -0
  62. package/dist/analytics-SN6K7J7M.js +1980 -0
  63. package/dist/analytics-SN6K7J7M.js.map +1 -0
  64. package/dist/animate-JXIT77Y5.js +480 -0
  65. package/dist/animate-JXIT77Y5.js.map +1 -0
  66. package/dist/assign-XFDA42KL.js +77 -0
  67. package/dist/assign-XFDA42KL.js.map +1 -0
  68. package/dist/audience-size-DJPFYHPJ.js +94 -0
  69. package/dist/audience-size-DJPFYHPJ.js.map +1 -0
  70. package/dist/audiences-DC3IOG34.js +85 -0
  71. package/dist/audiences-DC3IOG34.js.map +1 -0
  72. package/dist/audiences-NEW3LLQR.js +268 -0
  73. package/dist/audiences-NEW3LLQR.js.map +1 -0
  74. package/dist/audiences-VXTIBZP6.js +78 -0
  75. package/dist/audiences-VXTIBZP6.js.map +1 -0
  76. package/dist/audit-M5B7TZGT.js +151 -0
  77. package/dist/audit-M5B7TZGT.js.map +1 -0
  78. package/dist/audit-UIPMTI5C.js +88 -0
  79. package/dist/audit-UIPMTI5C.js.map +1 -0
  80. package/dist/autocomplete-NWHEASQY.js +111 -0
  81. package/dist/autocomplete-NWHEASQY.js.map +1 -0
  82. package/dist/avatars-RNMUVMFM.js +38 -0
  83. package/dist/avatars-RNMUVMFM.js.map +1 -0
  84. package/dist/bid-pricing-EAY3HAHY.js +99 -0
  85. package/dist/bid-pricing-EAY3HAHY.js.map +1 -0
  86. package/dist/brand-XBHWYPMT.js +22 -0
  87. package/dist/brand-XBHWYPMT.js.map +1 -0
  88. package/dist/brief-XBAAPKRR.js +492 -0
  89. package/dist/brief-XBAAPKRR.js.map +1 -0
  90. package/dist/businesses-J7OP7MSK.js +53 -0
  91. package/dist/businesses-J7OP7MSK.js.map +1 -0
  92. package/dist/campaign-groups-7KA2RA5V.js +95 -0
  93. package/dist/campaign-groups-7KA2RA5V.js.map +1 -0
  94. package/dist/campaign-writes-5XA727KI.js +170 -0
  95. package/dist/campaign-writes-5XA727KI.js.map +1 -0
  96. package/dist/campaign-writes-D2UID2I6.js +165 -0
  97. package/dist/campaign-writes-D2UID2I6.js.map +1 -0
  98. package/dist/campaigns-JPYNVFQI.js +76 -0
  99. package/dist/campaigns-JPYNVFQI.js.map +1 -0
  100. package/dist/campaigns-NJ3KOPJS.js +107 -0
  101. package/dist/campaigns-NJ3KOPJS.js.map +1 -0
  102. package/dist/campaigns-QUTTH2TB.js +110 -0
  103. package/dist/campaigns-QUTTH2TB.js.map +1 -0
  104. package/dist/campaigns-SOO5RHYG.js +109 -0
  105. package/dist/campaigns-SOO5RHYG.js.map +1 -0
  106. package/dist/canvas-3VZ46BCF.js +46 -0
  107. package/dist/canvas-3VZ46BCF.js.map +1 -0
  108. package/dist/capabilities-KAYDPH7E.js +144 -0
  109. package/dist/capabilities-KAYDPH7E.js.map +1 -0
  110. package/dist/cards-7H32TNMO.js +85 -0
  111. package/dist/cards-7H32TNMO.js.map +1 -0
  112. package/dist/catalog-OTICZPJA.js +64 -0
  113. package/dist/catalog-OTICZPJA.js.map +1 -0
  114. package/dist/catalogs-ABCQLCDU.js +128 -0
  115. package/dist/catalogs-ABCQLCDU.js.map +1 -0
  116. package/dist/changes-22EO52IY.js +135 -0
  117. package/dist/changes-22EO52IY.js.map +1 -0
  118. package/dist/chatgpt-B3NHRJUE.js +47 -0
  119. package/dist/chatgpt-B3NHRJUE.js.map +1 -0
  120. package/dist/chats-QG3IRHOD.js +262 -0
  121. package/dist/chats-QG3IRHOD.js.map +1 -0
  122. package/dist/chunk-2CV7LX23.js +474 -0
  123. package/dist/chunk-2CV7LX23.js.map +1 -0
  124. package/dist/chunk-2SQJL7ZN.js +56 -0
  125. package/dist/chunk-2SQJL7ZN.js.map +1 -0
  126. package/dist/chunk-2Y5V23PU.js +29 -0
  127. package/dist/chunk-2Y5V23PU.js.map +1 -0
  128. package/dist/chunk-32CPGJPL.js +149 -0
  129. package/dist/chunk-32CPGJPL.js.map +1 -0
  130. package/dist/chunk-32PSERWG.js +363 -0
  131. package/dist/chunk-32PSERWG.js.map +1 -0
  132. package/dist/chunk-3ACMDRSE.js +39 -0
  133. package/dist/chunk-3ACMDRSE.js.map +1 -0
  134. package/dist/chunk-3UDSYYND.js +42 -0
  135. package/dist/chunk-3UDSYYND.js.map +1 -0
  136. package/dist/chunk-3V5E5SVE.js +382 -0
  137. package/dist/chunk-3V5E5SVE.js.map +1 -0
  138. package/dist/chunk-455BTAHM.js +57 -0
  139. package/dist/chunk-455BTAHM.js.map +1 -0
  140. package/dist/chunk-4MH6LONO.js +274 -0
  141. package/dist/chunk-4MH6LONO.js.map +1 -0
  142. package/dist/chunk-4NZ47VXO.js +137 -0
  143. package/dist/chunk-4NZ47VXO.js.map +1 -0
  144. package/dist/chunk-4OBO75XU.js +275 -0
  145. package/dist/chunk-4OBO75XU.js.map +1 -0
  146. package/dist/chunk-5HYSKH77.js +315 -0
  147. package/dist/chunk-5HYSKH77.js.map +1 -0
  148. package/dist/chunk-5MBPIONY.js +29 -0
  149. package/dist/chunk-5MBPIONY.js.map +1 -0
  150. package/dist/chunk-5OVOLYY3.js +74 -0
  151. package/dist/chunk-5OVOLYY3.js.map +1 -0
  152. package/dist/chunk-66USKCVY.js +4410 -0
  153. package/dist/chunk-66USKCVY.js.map +1 -0
  154. package/dist/chunk-6I7SYEYN.js +166 -0
  155. package/dist/chunk-6I7SYEYN.js.map +1 -0
  156. package/dist/chunk-6O7ISBC7.js +65 -0
  157. package/dist/chunk-6O7ISBC7.js.map +1 -0
  158. package/dist/chunk-752S7JF6.js +35 -0
  159. package/dist/chunk-752S7JF6.js.map +1 -0
  160. package/dist/chunk-AFJGYJ7Z.js +45 -0
  161. package/dist/chunk-AFJGYJ7Z.js.map +1 -0
  162. package/dist/chunk-AR7PU7BB.js +76 -0
  163. package/dist/chunk-AR7PU7BB.js.map +1 -0
  164. package/dist/chunk-ASL7JFBD.js +96 -0
  165. package/dist/chunk-ASL7JFBD.js.map +1 -0
  166. package/dist/chunk-AUCITRRT.js +310 -0
  167. package/dist/chunk-AUCITRRT.js.map +1 -0
  168. package/dist/chunk-AUSKKFVH.js +84 -0
  169. package/dist/chunk-AUSKKFVH.js.map +1 -0
  170. package/dist/chunk-BEGARAVC.js +174 -0
  171. package/dist/chunk-BEGARAVC.js.map +1 -0
  172. package/dist/{chunk-WWCLT3RG.js → chunk-BVM5IRZW.js} +16 -8
  173. package/dist/chunk-BVM5IRZW.js.map +1 -0
  174. package/dist/chunk-CAMX6OHF.js +3182 -0
  175. package/dist/chunk-CAMX6OHF.js.map +1 -0
  176. package/dist/chunk-CKI3RLMU.js +159 -0
  177. package/dist/chunk-CKI3RLMU.js.map +1 -0
  178. package/dist/chunk-CZENWCBS.js +333 -0
  179. package/dist/chunk-CZENWCBS.js.map +1 -0
  180. package/dist/chunk-D5FY4FAK.js +24 -0
  181. package/dist/chunk-D5FY4FAK.js.map +1 -0
  182. package/dist/chunk-DGCUPJZD.js +39 -0
  183. package/dist/chunk-DGCUPJZD.js.map +1 -0
  184. package/dist/chunk-DIICZGIS.js +509 -0
  185. package/dist/chunk-DIICZGIS.js.map +1 -0
  186. package/dist/chunk-DNCLWSHO.js +41 -0
  187. package/dist/chunk-DNCLWSHO.js.map +1 -0
  188. package/dist/chunk-DX4GIDO7.js +296 -0
  189. package/dist/chunk-DX4GIDO7.js.map +1 -0
  190. package/dist/chunk-DYZJBWT2.js +1079 -0
  191. package/dist/chunk-DYZJBWT2.js.map +1 -0
  192. package/dist/chunk-EDLZGTGN.js +216 -0
  193. package/dist/chunk-EDLZGTGN.js.map +1 -0
  194. package/dist/chunk-EDNX3AOS.js +76 -0
  195. package/dist/chunk-EDNX3AOS.js.map +1 -0
  196. package/dist/chunk-EF5DP6EB.js +52 -0
  197. package/dist/chunk-EF5DP6EB.js.map +1 -0
  198. package/dist/chunk-EQEZAYPL.js +541 -0
  199. package/dist/chunk-EQEZAYPL.js.map +1 -0
  200. package/dist/chunk-ERSX3MKH.js +34 -0
  201. package/dist/chunk-ERSX3MKH.js.map +1 -0
  202. package/dist/chunk-FKOECEVC.js +126 -0
  203. package/dist/chunk-FKOECEVC.js.map +1 -0
  204. package/dist/chunk-FYWWTMXP.js +2902 -0
  205. package/dist/chunk-FYWWTMXP.js.map +1 -0
  206. package/dist/chunk-G7AFVTUS.js +106 -0
  207. package/dist/chunk-G7AFVTUS.js.map +1 -0
  208. package/dist/chunk-GIW7ABMM.js +74 -0
  209. package/dist/chunk-GIW7ABMM.js.map +1 -0
  210. package/dist/chunk-GIWHHCD6.js +145 -0
  211. package/dist/chunk-GIWHHCD6.js.map +1 -0
  212. package/dist/chunk-GOJXKIFQ.js +1605 -0
  213. package/dist/chunk-GOJXKIFQ.js.map +1 -0
  214. package/dist/chunk-GPXIUYIA.js +592 -0
  215. package/dist/chunk-GPXIUYIA.js.map +1 -0
  216. package/dist/chunk-GRQ2AXDX.js +9 -0
  217. package/dist/chunk-GRQ2AXDX.js.map +1 -0
  218. package/dist/chunk-GXDLWBOY.js +73 -0
  219. package/dist/chunk-GXDLWBOY.js.map +1 -0
  220. package/dist/chunk-H7MLHG2I.js +94 -0
  221. package/dist/chunk-H7MLHG2I.js.map +1 -0
  222. package/dist/chunk-HAE4WWFQ.js +455 -0
  223. package/dist/chunk-HAE4WWFQ.js.map +1 -0
  224. package/dist/chunk-HB3LNR4Y.js +197 -0
  225. package/dist/chunk-HB3LNR4Y.js.map +1 -0
  226. package/dist/chunk-HDHWIEJJ.js +136 -0
  227. package/dist/chunk-HDHWIEJJ.js.map +1 -0
  228. package/dist/chunk-HJTIBTF7.js +98 -0
  229. package/dist/chunk-HJTIBTF7.js.map +1 -0
  230. package/dist/{chunk-VZEDAFAR.js → chunk-HLXWKMTK.js} +47 -8
  231. package/dist/chunk-HLXWKMTK.js.map +1 -0
  232. package/dist/{chunk-MF7YA62W.js → chunk-HREWXNTO.js} +10 -5
  233. package/dist/chunk-HREWXNTO.js.map +1 -0
  234. package/dist/chunk-HVJUMQYY.js +494 -0
  235. package/dist/chunk-HVJUMQYY.js.map +1 -0
  236. package/dist/chunk-I3DIZWN5.js +97 -0
  237. package/dist/chunk-I3DIZWN5.js.map +1 -0
  238. package/dist/chunk-IJMWEO4P.js +57 -0
  239. package/dist/chunk-IJMWEO4P.js.map +1 -0
  240. package/dist/chunk-IMORFIUT.js +207 -0
  241. package/dist/chunk-IMORFIUT.js.map +1 -0
  242. package/dist/chunk-IOCSDFF2.js +23992 -0
  243. package/dist/chunk-IOCSDFF2.js.map +1 -0
  244. package/dist/chunk-IRTYTT5D.js +665 -0
  245. package/dist/chunk-IRTYTT5D.js.map +1 -0
  246. package/dist/chunk-IVIJJXXT.js +62 -0
  247. package/dist/chunk-IVIJJXXT.js.map +1 -0
  248. package/dist/chunk-J57GWTPK.js +106 -0
  249. package/dist/chunk-J57GWTPK.js.map +1 -0
  250. package/dist/chunk-JAYT43KX.js +4227 -0
  251. package/dist/chunk-JAYT43KX.js.map +1 -0
  252. package/dist/chunk-JPK34QPS.js +134 -0
  253. package/dist/chunk-JPK34QPS.js.map +1 -0
  254. package/dist/chunk-JRCFCIE3.js +188 -0
  255. package/dist/chunk-JRCFCIE3.js.map +1 -0
  256. package/dist/chunk-JRGPCPT2.js +479 -0
  257. package/dist/chunk-JRGPCPT2.js.map +1 -0
  258. package/dist/chunk-JUAIGJ2A.js +76 -0
  259. package/dist/chunk-JUAIGJ2A.js.map +1 -0
  260. package/dist/chunk-K2RYUZ5Y.js +51 -0
  261. package/dist/chunk-K2RYUZ5Y.js.map +1 -0
  262. package/dist/chunk-K5OQES4V.js +58 -0
  263. package/dist/chunk-K5OQES4V.js.map +1 -0
  264. package/dist/chunk-KAHMADFH.js +455 -0
  265. package/dist/chunk-KAHMADFH.js.map +1 -0
  266. package/dist/chunk-KIGGMKAE.js +66 -0
  267. package/dist/chunk-KIGGMKAE.js.map +1 -0
  268. package/dist/chunk-KKJ4KJCW.js +29 -0
  269. package/dist/chunk-KKJ4KJCW.js.map +1 -0
  270. package/dist/chunk-KLK6KQLQ.js +55 -0
  271. package/dist/chunk-KLK6KQLQ.js.map +1 -0
  272. package/dist/chunk-KRIK2JR4.js +6212 -0
  273. package/dist/chunk-KRIK2JR4.js.map +1 -0
  274. package/dist/chunk-KZUHRZ2C.js +5187 -0
  275. package/dist/chunk-KZUHRZ2C.js.map +1 -0
  276. package/dist/chunk-L5WIRYNB.js +19 -0
  277. package/dist/chunk-L5WIRYNB.js.map +1 -0
  278. package/dist/chunk-LA6PPSNA.js +65 -0
  279. package/dist/chunk-LA6PPSNA.js.map +1 -0
  280. package/dist/chunk-LEIQAHWF.js +25 -0
  281. package/dist/chunk-LEIQAHWF.js.map +1 -0
  282. package/dist/chunk-LWBWCIWL.js +297 -0
  283. package/dist/chunk-LWBWCIWL.js.map +1 -0
  284. package/dist/chunk-M4PPFVYL.js +346 -0
  285. package/dist/chunk-M4PPFVYL.js.map +1 -0
  286. package/dist/chunk-M6UNISGO.js +66 -0
  287. package/dist/chunk-M6UNISGO.js.map +1 -0
  288. package/dist/chunk-MGKHFGLV.js +75 -0
  289. package/dist/chunk-MGKHFGLV.js.map +1 -0
  290. package/dist/chunk-MUVSWFLL.js +111 -0
  291. package/dist/chunk-MUVSWFLL.js.map +1 -0
  292. package/dist/chunk-NFSLRRIE.js +77 -0
  293. package/dist/chunk-NFSLRRIE.js.map +1 -0
  294. package/dist/chunk-NHU33T2S.js +60 -0
  295. package/dist/chunk-NHU33T2S.js.map +1 -0
  296. package/dist/chunk-O6QKCJE4.js +455 -0
  297. package/dist/chunk-O6QKCJE4.js.map +1 -0
  298. package/dist/chunk-OBNWER4H.js +1599 -0
  299. package/dist/chunk-OBNWER4H.js.map +1 -0
  300. package/dist/chunk-OFFAMC5H.js +225 -0
  301. package/dist/chunk-OFFAMC5H.js.map +1 -0
  302. package/dist/chunk-P4NSJS54.js +20 -0
  303. package/dist/chunk-P4NSJS54.js.map +1 -0
  304. package/dist/chunk-P5T7OZKV.js +26 -0
  305. package/dist/chunk-P5T7OZKV.js.map +1 -0
  306. package/dist/chunk-PAHLJMC3.js +175 -0
  307. package/dist/chunk-PAHLJMC3.js.map +1 -0
  308. package/dist/chunk-PBVLPFJ6.js +169 -0
  309. package/dist/chunk-PBVLPFJ6.js.map +1 -0
  310. package/dist/chunk-PFBQERWX.js +10 -0
  311. package/dist/chunk-PFBQERWX.js.map +1 -0
  312. package/dist/chunk-Q6ULQMWG.js +41 -0
  313. package/dist/chunk-Q6ULQMWG.js.map +1 -0
  314. package/dist/chunk-QKE7GXZ7.js +6683 -0
  315. package/dist/chunk-QKE7GXZ7.js.map +1 -0
  316. package/dist/chunk-QL573PLH.js +150 -0
  317. package/dist/chunk-QL573PLH.js.map +1 -0
  318. package/dist/chunk-QO23YHLK.js +84 -0
  319. package/dist/chunk-QO23YHLK.js.map +1 -0
  320. package/dist/chunk-R5OQM7FF.js +179 -0
  321. package/dist/chunk-R5OQM7FF.js.map +1 -0
  322. package/dist/chunk-RDLB54KF.js +629 -0
  323. package/dist/chunk-RDLB54KF.js.map +1 -0
  324. package/dist/chunk-RGIXQEGJ.js +502 -0
  325. package/dist/chunk-RGIXQEGJ.js.map +1 -0
  326. package/dist/chunk-RRIAHUWP.js +304 -0
  327. package/dist/chunk-RRIAHUWP.js.map +1 -0
  328. package/dist/chunk-S4LZ7KTG.js +160 -0
  329. package/dist/chunk-S4LZ7KTG.js.map +1 -0
  330. package/dist/chunk-SHTESUB6.js +1442 -0
  331. package/dist/chunk-SHTESUB6.js.map +1 -0
  332. package/dist/chunk-SLB46MSS.js +64 -0
  333. package/dist/chunk-SLB46MSS.js.map +1 -0
  334. package/dist/chunk-T7M4WFNV.js +172 -0
  335. package/dist/chunk-T7M4WFNV.js.map +1 -0
  336. package/dist/{chunk-JTZXQRXI.js → chunk-TPXI2GCW.js} +4 -4
  337. package/dist/chunk-TWNFQUBS.js +23 -0
  338. package/dist/chunk-TWNFQUBS.js.map +1 -0
  339. package/dist/chunk-U6VRBDNQ.js +1830 -0
  340. package/dist/chunk-U6VRBDNQ.js.map +1 -0
  341. package/dist/chunk-U7BBXM67.js +1743 -0
  342. package/dist/chunk-U7BBXM67.js.map +1 -0
  343. package/dist/chunk-UI6BKYQD.js +225 -0
  344. package/dist/chunk-UI6BKYQD.js.map +1 -0
  345. package/dist/chunk-USL5ARRE.js +26 -0
  346. package/dist/chunk-USL5ARRE.js.map +1 -0
  347. package/dist/chunk-UYC45JNS.js +139 -0
  348. package/dist/chunk-UYC45JNS.js.map +1 -0
  349. package/dist/chunk-V5GSRREZ.js +846 -0
  350. package/dist/chunk-V5GSRREZ.js.map +1 -0
  351. package/dist/chunk-V5HDRJQW.js +337 -0
  352. package/dist/chunk-V5HDRJQW.js.map +1 -0
  353. package/dist/chunk-VS4C7VAR.js +533 -0
  354. package/dist/chunk-VS4C7VAR.js.map +1 -0
  355. package/dist/chunk-W4W4ZRBP.js +191 -0
  356. package/dist/chunk-W4W4ZRBP.js.map +1 -0
  357. package/dist/chunk-WIRBRCTJ.js +228 -0
  358. package/dist/chunk-WIRBRCTJ.js.map +1 -0
  359. package/dist/chunk-WN4KX7GE.js +25 -0
  360. package/dist/chunk-WN4KX7GE.js.map +1 -0
  361. package/dist/chunk-WNFTXSGR.js +111 -0
  362. package/dist/chunk-WNFTXSGR.js.map +1 -0
  363. package/dist/chunk-WOTDHRNF.js +2109 -0
  364. package/dist/chunk-WOTDHRNF.js.map +1 -0
  365. package/dist/chunk-WPKOEFOE.js +103 -0
  366. package/dist/chunk-WPKOEFOE.js.map +1 -0
  367. package/dist/chunk-XE3WS3QE.js +183 -0
  368. package/dist/chunk-XE3WS3QE.js.map +1 -0
  369. package/dist/chunk-XGWKTYXQ.js +67 -0
  370. package/dist/chunk-XGWKTYXQ.js.map +1 -0
  371. package/dist/chunk-XIGIJJSF.js +66 -0
  372. package/dist/chunk-XIGIJJSF.js.map +1 -0
  373. package/dist/chunk-XNUXB63I.js +817 -0
  374. package/dist/chunk-XNUXB63I.js.map +1 -0
  375. package/dist/chunk-XQ3CCNJD.js +610 -0
  376. package/dist/chunk-XQ3CCNJD.js.map +1 -0
  377. package/dist/chunk-Y362QH54.js +98 -0
  378. package/dist/chunk-Y362QH54.js.map +1 -0
  379. package/dist/chunk-Y4HZNSBN.js +3151 -0
  380. package/dist/chunk-Y4HZNSBN.js.map +1 -0
  381. package/dist/chunk-Y4T6ATDQ.js +74 -0
  382. package/dist/chunk-Y4T6ATDQ.js.map +1 -0
  383. package/dist/chunk-YIMGUMXX.js +206 -0
  384. package/dist/chunk-YIMGUMXX.js.map +1 -0
  385. package/dist/chunk-YQSBHWOI.js +41 -0
  386. package/dist/chunk-YU26SDNT.js +46 -0
  387. package/dist/chunk-YU26SDNT.js.map +1 -0
  388. package/dist/chunk-YULENNA7.js +501 -0
  389. package/dist/chunk-YULENNA7.js.map +1 -0
  390. package/dist/chunk-YYSZYSAG.js +150 -0
  391. package/dist/chunk-YYSZYSAG.js.map +1 -0
  392. package/dist/chunk-Z3ENMCFE.js +94 -0
  393. package/dist/chunk-Z3ENMCFE.js.map +1 -0
  394. package/dist/chunk-ZCFSHQBF.js +92 -0
  395. package/dist/chunk-ZCFSHQBF.js.map +1 -0
  396. package/dist/chunk-ZH7ZM3ZM.js +125 -0
  397. package/dist/chunk-ZH7ZM3ZM.js.map +1 -0
  398. package/dist/chunk-ZIXHS6AM.js +42 -0
  399. package/dist/chunk-ZIXHS6AM.js.map +1 -0
  400. package/dist/chunk-ZLLJKSNS.js +96 -0
  401. package/dist/chunk-ZLLJKSNS.js.map +1 -0
  402. package/dist/claim-4AFNDV3A.js +197 -0
  403. package/dist/claim-4AFNDV3A.js.map +1 -0
  404. package/dist/cli.js +104 -71708
  405. package/dist/cli.js.map +1 -1
  406. package/dist/client-26SAJ46D.js +19 -0
  407. package/dist/code-MOWYJMDH.js +76 -0
  408. package/dist/code-MOWYJMDH.js.map +1 -0
  409. package/dist/companies-PZRRZZNV.js +195 -0
  410. package/dist/companies-PZRRZZNV.js.map +1 -0
  411. package/dist/complete-IBW5DNVZ.js +81 -0
  412. package/dist/complete-IBW5DNVZ.js.map +1 -0
  413. package/dist/config-X6GKOVQ6.js +88 -0
  414. package/dist/config-X6GKOVQ6.js.map +1 -0
  415. package/dist/connect-WYUYS5V4.js +42 -0
  416. package/dist/content-UYZC4AKN.js +85 -0
  417. package/dist/content-UYZC4AKN.js.map +1 -0
  418. package/dist/conversation-6AG3UBYY.js +93 -0
  419. package/dist/conversation-6AG3UBYY.js.map +1 -0
  420. package/dist/conversion-report-R4GJWWTK.js +125 -0
  421. package/dist/conversion-report-R4GJWWTK.js.map +1 -0
  422. package/dist/conversion-upload-command-YML2UNJB.js +438 -0
  423. package/dist/conversion-upload-command-YML2UNJB.js.map +1 -0
  424. package/dist/conversion-writes-WHFFUWWL.js +120 -0
  425. package/dist/conversion-writes-WHFFUWWL.js.map +1 -0
  426. package/dist/conversions-NOBBFNIU.js +135 -0
  427. package/dist/conversions-NOBBFNIU.js.map +1 -0
  428. package/dist/conversions-OXJAX5GB.js +76 -0
  429. package/dist/conversions-OXJAX5GB.js.map +1 -0
  430. package/dist/countries-PBXNB3BR.js +82 -0
  431. package/dist/countries-PBXNB3BR.js.map +1 -0
  432. package/dist/create-JK42P564.js +59 -0
  433. package/dist/create-JK42P564.js.map +1 -0
  434. package/dist/create-LAWUVPCY.js +207 -0
  435. package/dist/create-LAWUVPCY.js.map +1 -0
  436. package/dist/create-MUPQ5CTH.js +138 -0
  437. package/dist/create-MUPQ5CTH.js.map +1 -0
  438. package/dist/create-NQJNCFRO.js +236 -0
  439. package/dist/create-NQJNCFRO.js.map +1 -0
  440. package/dist/creatives-KCWFZIM5.js +182 -0
  441. package/dist/creatives-KCWFZIM5.js.map +1 -0
  442. package/dist/creatives-NNDWCSKJ.js +51 -0
  443. package/dist/creatives-NNDWCSKJ.js.map +1 -0
  444. package/dist/creatives-RHNHTS2R.js +87 -0
  445. package/dist/creatives-RHNHTS2R.js.map +1 -0
  446. package/dist/credentials-CEKGXR2C.js +287 -0
  447. package/dist/credentials-CEKGXR2C.js.map +1 -0
  448. package/dist/critique-HDDYER52.js +1449 -0
  449. package/dist/critique-HDDYER52.js.map +1 -0
  450. package/dist/critique-QIN2FO4F.js +216 -0
  451. package/dist/critique-QIN2FO4F.js.map +1 -0
  452. package/dist/crm-KBPWZC6J.js +318 -0
  453. package/dist/crm-KBPWZC6J.js.map +1 -0
  454. package/dist/crm-QBWD7CWB.js +224 -0
  455. package/dist/crm-QBWD7CWB.js.map +1 -0
  456. package/dist/crop-U3AD4DDR.js +113 -0
  457. package/dist/crop-U3AD4DDR.js.map +1 -0
  458. package/dist/currency-XTFGZFGB.js +88 -0
  459. package/dist/currency-XTFGZFGB.js.map +1 -0
  460. package/dist/custom-conversions-W3K33V33.js +125 -0
  461. package/dist/custom-conversions-W3K33V33.js.map +1 -0
  462. package/dist/customers-HYE7N2H5.js +56 -0
  463. package/dist/decide-YTHCBKM6.js +199 -0
  464. package/dist/decide-YTHCBKM6.js.map +1 -0
  465. package/dist/delete-64REPCY2.js +54 -0
  466. package/dist/delete-64REPCY2.js.map +1 -0
  467. package/dist/delete-AY3KL3N3.js +63 -0
  468. package/dist/delete-AY3KL3N3.js.map +1 -0
  469. package/dist/delete-DZUDLYPC.js +69 -0
  470. package/dist/delete-DZUDLYPC.js.map +1 -0
  471. package/dist/delete-NZGZP4YP.js +71 -0
  472. package/dist/delete-NZGZP4YP.js.map +1 -0
  473. package/dist/delete-VO2LZXE4.js +66 -0
  474. package/dist/delete-VO2LZXE4.js.map +1 -0
  475. package/dist/delete-VQMU56OH.js +71 -0
  476. package/dist/delete-VQMU56OH.js.map +1 -0
  477. package/dist/demographics-KOFLMGVW.js +138 -0
  478. package/dist/demographics-KOFLMGVW.js.map +1 -0
  479. package/dist/describe-JNTCQZNL.js +97 -0
  480. package/dist/describe-JNTCQZNL.js.map +1 -0
  481. package/dist/describe-MT4334NG.js +97 -0
  482. package/dist/describe-MT4334NG.js.map +1 -0
  483. package/dist/dimensions-FEZUJRAG.js +101 -0
  484. package/dist/dimensions-FEZUJRAG.js.map +1 -0
  485. package/dist/discard-H4RPXZHX.js +66 -0
  486. package/dist/discard-H4RPXZHX.js.map +1 -0
  487. package/dist/discover-4GD7QSF5.js +93 -0
  488. package/dist/discover-4GD7QSF5.js.map +1 -0
  489. package/dist/discover-L7OVXW4V.js +172 -0
  490. package/dist/discover-L7OVXW4V.js.map +1 -0
  491. package/dist/domain-HURQ23KR.js +98 -0
  492. package/dist/domain-HURQ23KR.js.map +1 -0
  493. package/dist/download-L27HWEOE.js +299 -0
  494. package/dist/download-L27HWEOE.js.map +1 -0
  495. package/dist/draft-25G2P2TE.js +281 -0
  496. package/dist/draft-25G2P2TE.js.map +1 -0
  497. package/dist/draft-5VH2PW3R.js +307 -0
  498. package/dist/draft-5VH2PW3R.js.map +1 -0
  499. package/dist/draft-D6UTKSAA.js +217 -0
  500. package/dist/draft-D6UTKSAA.js.map +1 -0
  501. package/dist/draft-KLULNBWP.js +233 -0
  502. package/dist/draft-KLULNBWP.js.map +1 -0
  503. package/dist/draft-MI7RWY2K.js +100 -0
  504. package/dist/draft-MI7RWY2K.js.map +1 -0
  505. package/dist/draft-P4IVYTY3.js +103 -0
  506. package/dist/draft-P4IVYTY3.js.map +1 -0
  507. package/dist/draft-UQYWDZS7.js +306 -0
  508. package/dist/draft-UQYWDZS7.js.map +1 -0
  509. package/dist/draft-YFAJHCKM.js +328 -0
  510. package/dist/draft-YFAJHCKM.js.map +1 -0
  511. package/dist/engine/index.d.ts +213 -127
  512. package/dist/engine/index.js +18 -4
  513. package/dist/{env-4P5HOGNA.js → env-FBTHZKGN.js} +12 -2
  514. package/dist/env-FBTHZKGN.js.map +1 -0
  515. package/dist/experiment-HDYTJPUY.js +1397 -0
  516. package/dist/experiment-HDYTJPUY.js.map +1 -0
  517. package/dist/export-TS5GYEMA.js +168 -0
  518. package/dist/export-TS5GYEMA.js.map +1 -0
  519. package/dist/extract-QVQFUOIK.js +113 -0
  520. package/dist/extract-QVQFUOIK.js.map +1 -0
  521. package/dist/facets-WYQUZMFJ.js +114 -0
  522. package/dist/facets-WYQUZMFJ.js.map +1 -0
  523. package/dist/favorites-7QP7BY5K.js +178 -0
  524. package/dist/favorites-7QP7BY5K.js.map +1 -0
  525. package/dist/feed-EETRO2FG.js +177 -0
  526. package/dist/feed-EETRO2FG.js.map +1 -0
  527. package/dist/feedback-SIMPRE37.js +66 -0
  528. package/dist/feedback-SIMPRE37.js.map +1 -0
  529. package/dist/feedback-record-L4MPIVML.js +177 -0
  530. package/dist/feedback-record-L4MPIVML.js.map +1 -0
  531. package/dist/fetch-DTBM3DE2.js +176 -0
  532. package/dist/fetch-DTBM3DE2.js.map +1 -0
  533. package/dist/fetch-Z7O3ZL4D.js +139 -0
  534. package/dist/fetch-Z7O3ZL4D.js.map +1 -0
  535. package/dist/find-KAQ6JDMO.js +134 -0
  536. package/dist/find-KAQ6JDMO.js.map +1 -0
  537. package/dist/fit-MY5GVZZZ.js +45 -0
  538. package/dist/fit-MY5GVZZZ.js.map +1 -0
  539. package/dist/flows-IUDXVDOS.js +247 -0
  540. package/dist/flows-IUDXVDOS.js.map +1 -0
  541. package/dist/follow-IX4XVK5Y.js +94 -0
  542. package/dist/follow-IX4XVK5Y.js.map +1 -0
  543. package/dist/follow-competitors-UZBUOYTH.js +112 -0
  544. package/dist/follow-competitors-UZBUOYTH.js.map +1 -0
  545. package/dist/following-VGOIUCIZ.js +113 -0
  546. package/dist/following-VGOIUCIZ.js.map +1 -0
  547. package/dist/fonts-EUDHI6CA.js +34 -0
  548. package/dist/fonts-EUDHI6CA.js.map +1 -0
  549. package/dist/forecast-BRSEH2H3.js +104 -0
  550. package/dist/forecast-BRSEH2H3.js.map +1 -0
  551. package/dist/forecast-QV4U7TOY.js +168 -0
  552. package/dist/forecast-QV4U7TOY.js.map +1 -0
  553. package/dist/funding-H5YO37OW.js +85 -0
  554. package/dist/funding-H5YO37OW.js.map +1 -0
  555. package/dist/funnel-JLF77MLF.js +394 -0
  556. package/dist/funnel-JLF77MLF.js.map +1 -0
  557. package/dist/ga4-YHJ2XMLC.js +55 -0
  558. package/dist/ga4-YHJ2XMLC.js.map +1 -0
  559. package/dist/generate-M2ZX5DMI.js +262 -0
  560. package/dist/generate-M2ZX5DMI.js.map +1 -0
  561. package/dist/get-4EYKCZ6F.js +59 -0
  562. package/dist/get-4EYKCZ6F.js.map +1 -0
  563. package/dist/get-637GALM2.js +63 -0
  564. package/dist/get-637GALM2.js.map +1 -0
  565. package/dist/get-AYX5HS64.js +56 -0
  566. package/dist/get-AYX5HS64.js.map +1 -0
  567. package/dist/get-AZARFR6O.js +61 -0
  568. package/dist/get-AZARFR6O.js.map +1 -0
  569. package/dist/get-EG2U7MIL.js +78 -0
  570. package/dist/get-EG2U7MIL.js.map +1 -0
  571. package/dist/get-N4BPOQCB.js +63 -0
  572. package/dist/get-N4BPOQCB.js.map +1 -0
  573. package/dist/get-RPZHLQ56.js +92 -0
  574. package/dist/get-RPZHLQ56.js.map +1 -0
  575. package/dist/gif-6PRTB2VR.js +94 -0
  576. package/dist/gif-6PRTB2VR.js.map +1 -0
  577. package/dist/google-52JRH7X3.js +136 -0
  578. package/dist/google-52JRH7X3.js.map +1 -0
  579. package/dist/google-ITTPCJ7N.js +3190 -0
  580. package/dist/google-ITTPCJ7N.js.map +1 -0
  581. package/dist/google-ads-U3JFFQLU.js +195 -0
  582. package/dist/google-ads-U3JFFQLU.js.map +1 -0
  583. package/dist/group-AAZ5QKC3.js +43 -0
  584. package/dist/group-AAZ5QKC3.js.map +1 -0
  585. package/dist/group-GSYCZORC.js +43 -0
  586. package/dist/group-GSYCZORC.js.map +1 -0
  587. package/dist/gsc-TS5T7ML2.js +30 -0
  588. package/dist/gsc-TS5T7ML2.js.map +1 -0
  589. package/dist/history-EW6LFFCX.js +67 -0
  590. package/dist/history-EW6LFFCX.js.map +1 -0
  591. package/dist/history-YTNCWSV3.js +133 -0
  592. package/dist/history-YTNCWSV3.js.map +1 -0
  593. package/dist/hubspot-LXWQNKKB.js +779 -0
  594. package/dist/hubspot-LXWQNKKB.js.map +1 -0
  595. package/dist/icon-K75KI6BV.js +137 -0
  596. package/dist/icon-K75KI6BV.js.map +1 -0
  597. package/dist/ideas-JJIHQFV4.js +35 -0
  598. package/dist/ideas-JJIHQFV4.js.map +1 -0
  599. package/dist/images-MWETBYKB.js +90 -0
  600. package/dist/images-MWETBYKB.js.map +1 -0
  601. package/dist/improve-L3BW4EQG.js +86 -0
  602. package/dist/improve-L3BW4EQG.js.map +1 -0
  603. package/dist/ingest-THFAV4NO.js +107 -0
  604. package/dist/ingest-THFAV4NO.js.map +1 -0
  605. package/dist/ingest-U6B7GR4A.js +23 -0
  606. package/dist/ingest-U6B7GR4A.js.map +1 -0
  607. package/dist/insights-FA6T6PT6.js +423 -0
  608. package/dist/insights-FA6T6PT6.js.map +1 -0
  609. package/dist/insights-PELVD4RY.js +122 -0
  610. package/dist/insights-PELVD4RY.js.map +1 -0
  611. package/dist/inspect-N2WVVWGP.js +189 -0
  612. package/dist/inspect-N2WVVWGP.js.map +1 -0
  613. package/dist/inspiration-Y2J2PUPC.js +53 -0
  614. package/dist/inspiration-Y2J2PUPC.js.map +1 -0
  615. package/dist/intent-YNAAVNHK.js +95 -0
  616. package/dist/intent-YNAAVNHK.js.map +1 -0
  617. package/dist/job-E2U4FS5P.js +202 -0
  618. package/dist/job-E2U4FS5P.js.map +1 -0
  619. package/dist/job-create-DFYCHVQ7.js +109 -0
  620. package/dist/job-create-DFYCHVQ7.js.map +1 -0
  621. package/dist/job-status-FFPMTSHB.js +74 -0
  622. package/dist/job-status-FFPMTSHB.js.map +1 -0
  623. package/dist/keep-GYZS2UTL.js +78 -0
  624. package/dist/keep-GYZS2UTL.js.map +1 -0
  625. package/dist/keyword-gap-4JKLWIBJ.js +130 -0
  626. package/dist/keyword-gap-4JKLWIBJ.js.map +1 -0
  627. package/dist/keyword-metrics-KU3OHTQK.js +197 -0
  628. package/dist/keyword-metrics-KU3OHTQK.js.map +1 -0
  629. package/dist/keywords-for-site-M4MFWMVK.js +128 -0
  630. package/dist/keywords-for-site-M4MFWMVK.js.map +1 -0
  631. package/dist/landing-7UVZ7IPP.js +28 -0
  632. package/dist/landing-7UVZ7IPP.js.map +1 -0
  633. package/dist/landings-F7LOAEJE.js +151 -0
  634. package/dist/landings-F7LOAEJE.js.map +1 -0
  635. package/dist/languages-PKYCZNUB.js +40 -0
  636. package/dist/languages-PKYCZNUB.js.map +1 -0
  637. package/dist/languages-XEJKTIFP.js +55 -0
  638. package/dist/languages-XEJKTIFP.js.map +1 -0
  639. package/dist/launches-TCFAYUA5.js +19 -0
  640. package/dist/launches-TCFAYUA5.js.map +1 -0
  641. package/dist/layerize-ZSKFIPZA.js +190 -0
  642. package/dist/layerize-ZSKFIPZA.js.map +1 -0
  643. package/dist/leads-CSRESOB2.js +293 -0
  644. package/dist/leads-CSRESOB2.js.map +1 -0
  645. package/dist/leads-MQPEA7DG.js +90 -0
  646. package/dist/leads-MQPEA7DG.js.map +1 -0
  647. package/dist/learn-K5YBUMBT.js +203 -0
  648. package/dist/learn-K5YBUMBT.js.map +1 -0
  649. package/dist/library-IP2UKNRU.js +109 -0
  650. package/dist/library-IP2UKNRU.js.map +1 -0
  651. package/dist/lighthouse-57XBJRCO.js +75 -0
  652. package/dist/lighthouse-57XBJRCO.js.map +1 -0
  653. package/dist/line-item-writes-73NR2J5L.js +208 -0
  654. package/dist/line-item-writes-73NR2J5L.js.map +1 -0
  655. package/dist/line-items-2YBGXOAQ.js +103 -0
  656. package/dist/line-items-2YBGXOAQ.js.map +1 -0
  657. package/dist/link-GVAWECJO.js +64 -0
  658. package/dist/link-GVAWECJO.js.map +1 -0
  659. package/dist/linkedin-PZDT22AT.js +1008 -0
  660. package/dist/linkedin-PZDT22AT.js.map +1 -0
  661. package/dist/list-6IKPWQGG.js +57 -0
  662. package/dist/list-6IKPWQGG.js.map +1 -0
  663. package/dist/list-CAUH3BMG.js +65 -0
  664. package/dist/list-CAUH3BMG.js.map +1 -0
  665. package/dist/list-FNDRV25Y.js +151 -0
  666. package/dist/list-FNDRV25Y.js.map +1 -0
  667. package/dist/list-GTOSN7DP.js +50 -0
  668. package/dist/list-GTOSN7DP.js.map +1 -0
  669. package/dist/list-HLJP4NVE.js +51 -0
  670. package/dist/list-HLJP4NVE.js.map +1 -0
  671. package/dist/list-LCUPF7EF.js +76 -0
  672. package/dist/list-LCUPF7EF.js.map +1 -0
  673. package/dist/list-REZGFWC5.js +63 -0
  674. package/dist/list-REZGFWC5.js.map +1 -0
  675. package/dist/list-S6MNXDTV.js +303 -0
  676. package/dist/list-S6MNXDTV.js.map +1 -0
  677. package/dist/locations-2BYWKIYA.js +67 -0
  678. package/dist/locations-2BYWKIYA.js.map +1 -0
  679. package/dist/locations-GJHHMV6Z.js +40 -0
  680. package/dist/locations-GJHHMV6Z.js.map +1 -0
  681. package/dist/log-HGDNLDUX.js +92 -0
  682. package/dist/log-HGDNLDUX.js.map +1 -0
  683. package/dist/logo-AJK2TDQU.js +18 -0
  684. package/dist/logo-AJK2TDQU.js.map +1 -0
  685. package/dist/lookup-H5GEM77H.js +22 -0
  686. package/dist/lookup-H5GEM77H.js.map +1 -0
  687. package/dist/make-BT26YJXZ.js +640 -0
  688. package/dist/make-BT26YJXZ.js.map +1 -0
  689. package/dist/map-J5EX4HOX.js +404 -0
  690. package/dist/map-J5EX4HOX.js.map +1 -0
  691. package/dist/mcp-MHDW6AFL.js +463 -0
  692. package/dist/mcp-MHDW6AFL.js.map +1 -0
  693. package/dist/media-RAGEJTZX.js +89 -0
  694. package/dist/media-RAGEJTZX.js.map +1 -0
  695. package/dist/media-RNB7JFJP.js +15 -0
  696. package/dist/media-RNB7JFJP.js.map +1 -0
  697. package/dist/media-sources-4NN3DWSG.js +32 -0
  698. package/dist/media-sources-4NN3DWSG.js.map +1 -0
  699. package/dist/members-AIWMXAQD.js +44 -0
  700. package/dist/members-AIWMXAQD.js.map +1 -0
  701. package/dist/meta-WAPZMZI7.js +69 -0
  702. package/dist/meta-WAPZMZI7.js.map +1 -0
  703. package/dist/metrics-6EHC4ESN.js +152 -0
  704. package/dist/metrics-6EHC4ESN.js.map +1 -0
  705. package/dist/models-5J4WFUD3.js +155 -0
  706. package/dist/models-5J4WFUD3.js.map +1 -0
  707. package/dist/normalize-DSFVTRXN.js +806 -0
  708. package/dist/normalize-DSFVTRXN.js.map +1 -0
  709. package/dist/normalize-ZAWN4XCS.js +141 -0
  710. package/dist/normalize-ZAWN4XCS.js.map +1 -0
  711. package/dist/options-3CZNT5KP.js +121 -0
  712. package/dist/options-3CZNT5KP.js.map +1 -0
  713. package/dist/output-DTCLVPUF.js +24 -0
  714. package/dist/output-DTCLVPUF.js.map +1 -0
  715. package/dist/page-N2ZO3O7F.js +105 -0
  716. package/dist/page-N2ZO3O7F.js.map +1 -0
  717. package/dist/pages-FQ4CBAJ2.js +66 -0
  718. package/dist/pages-FQ4CBAJ2.js.map +1 -0
  719. package/dist/performance-GOMJMHPE.js +24 -0
  720. package/dist/performance-GOMJMHPE.js.map +1 -0
  721. package/dist/pinterest-NV5XTNJE.js +96 -0
  722. package/dist/pinterest-NV5XTNJE.js.map +1 -0
  723. package/dist/pixels-CTJ43FZ4.js +108 -0
  724. package/dist/pixels-CTJ43FZ4.js.map +1 -0
  725. package/dist/pixels-HKINGZCH.js +60 -0
  726. package/dist/pixels-HKINGZCH.js.map +1 -0
  727. package/dist/plan-ZYTWLGWK.js +207 -0
  728. package/dist/plan-ZYTWLGWK.js.map +1 -0
  729. package/dist/preview-UKYLPAW2.js +169 -0
  730. package/dist/preview-UKYLPAW2.js.map +1 -0
  731. package/dist/profile-Q3PHR6FU.js +159 -0
  732. package/dist/profile-Q3PHR6FU.js.map +1 -0
  733. package/dist/promoted-tweet-writes-IYOAZTA5.js +180 -0
  734. package/dist/promoted-tweet-writes-IYOAZTA5.js.map +1 -0
  735. package/dist/promoted-tweets-G3XFD5YM.js +119 -0
  736. package/dist/promoted-tweets-G3XFD5YM.js.map +1 -0
  737. package/dist/properties-WLL6M2P6.js +101 -0
  738. package/dist/properties-WLL6M2P6.js.map +1 -0
  739. package/dist/publish-ZG4J2GTH.js +322 -0
  740. package/dist/publish-ZG4J2GTH.js.map +1 -0
  741. package/dist/query-7AGG77WH.js +61 -0
  742. package/dist/query-7AGG77WH.js.map +1 -0
  743. package/dist/query-IYZN5KHO.js +236 -0
  744. package/dist/query-IYZN5KHO.js.map +1 -0
  745. package/dist/query-UN2P6DBA.js +247 -0
  746. package/dist/query-UN2P6DBA.js.map +1 -0
  747. package/dist/questionnaire-Z2ZIKNBV.js +93 -0
  748. package/dist/questionnaire-Z2ZIKNBV.js.map +1 -0
  749. package/dist/read-GM7PQYJA.js +141 -0
  750. package/dist/read-GM7PQYJA.js.map +1 -0
  751. package/dist/reddit-FTO4SFQE.js +26 -0
  752. package/dist/reddit-FTO4SFQE.js.map +1 -0
  753. package/dist/refresh-OUENQ2FS.js +94 -0
  754. package/dist/refresh-OUENQ2FS.js.map +1 -0
  755. package/dist/release-5OG7AAFY.js +60 -0
  756. package/dist/release-5OG7AAFY.js.map +1 -0
  757. package/dist/relevant-pages-KUVDZPRU.js +99 -0
  758. package/dist/relevant-pages-KUVDZPRU.js.map +1 -0
  759. package/dist/remove-33HI27KM.js +50 -0
  760. package/dist/remove-33HI27KM.js.map +1 -0
  761. package/dist/remove-GOYW2G4R.js +48 -0
  762. package/dist/remove-GOYW2G4R.js.map +1 -0
  763. package/dist/reopen-KFFYE53A.js +63 -0
  764. package/dist/reopen-KFFYE53A.js.map +1 -0
  765. package/dist/rerun-P6XACA5Z.js +86 -0
  766. package/dist/rerun-P6XACA5Z.js.map +1 -0
  767. package/dist/research-BEO3JMZI.js +262 -0
  768. package/dist/research-BEO3JMZI.js.map +1 -0
  769. package/dist/research-QOC53DLS.js +62 -0
  770. package/dist/research-QOC53DLS.js.map +1 -0
  771. package/dist/reset-E3OWE2WF.js +54 -0
  772. package/dist/reset-E3OWE2WF.js.map +1 -0
  773. package/dist/reset-I7M3HYMB.js +54 -0
  774. package/dist/reset-I7M3HYMB.js.map +1 -0
  775. package/dist/resolve-GP7BHM6L.js +121 -0
  776. package/dist/resolve-GP7BHM6L.js.map +1 -0
  777. package/dist/retry-33ZJCNQI.js +62 -0
  778. package/dist/retry-33ZJCNQI.js.map +1 -0
  779. package/dist/retry-X5PU7QO3.js +60 -0
  780. package/dist/retry-X5PU7QO3.js.map +1 -0
  781. package/dist/retry-failed-BEFWRV4Z.js +45 -0
  782. package/dist/retry-failed-BEFWRV4Z.js.map +1 -0
  783. package/dist/run-REK3TEGY.js +65 -0
  784. package/dist/run-REK3TEGY.js.map +1 -0
  785. package/dist/run-TH2662IC.js +61 -0
  786. package/dist/run-TH2662IC.js.map +1 -0
  787. package/dist/scaffold-ad-3WDRKUFT.js +1550 -0
  788. package/dist/scaffold-ad-3WDRKUFT.js.map +1 -0
  789. package/dist/scaffold-static-ad-X5NT52NF.js +973 -0
  790. package/dist/scaffold-static-ad-X5NT52NF.js.map +1 -0
  791. package/dist/scaffold-video-WZPVACLE.js +874 -0
  792. package/dist/scaffold-video-WZPVACLE.js.map +1 -0
  793. package/dist/schedule-KQ7UIR3N.js +66 -0
  794. package/dist/schedule-KQ7UIR3N.js.map +1 -0
  795. package/dist/schedule-V4UHGY3V.js +61 -0
  796. package/dist/schedule-V4UHGY3V.js.map +1 -0
  797. package/dist/scheduled-agents-KLQ5H2PA.js +49 -0
  798. package/dist/scheduled-agents-KLQ5H2PA.js.map +1 -0
  799. package/dist/schema-G3T4PZDI.js +132 -0
  800. package/dist/schema-G3T4PZDI.js.map +1 -0
  801. package/dist/schema-QXTDLZVC.js +63 -0
  802. package/dist/schema-QXTDLZVC.js.map +1 -0
  803. package/dist/scrape-7YKJWFZE.js +2241 -0
  804. package/dist/scrape-7YKJWFZE.js.map +1 -0
  805. package/dist/screenshot-ZHBSG3SI.js +102 -0
  806. package/dist/screenshot-ZHBSG3SI.js.map +1 -0
  807. package/dist/search-332KFYZ6.js +224 -0
  808. package/dist/search-332KFYZ6.js.map +1 -0
  809. package/dist/search-4PBMXXUY.js +91 -0
  810. package/dist/search-4PBMXXUY.js.map +1 -0
  811. package/dist/search-6XKEGABN.js +174 -0
  812. package/dist/search-6XKEGABN.js.map +1 -0
  813. package/dist/search-AVNUU6TJ.js +26 -0
  814. package/dist/search-AVNUU6TJ.js.map +1 -0
  815. package/dist/search-F5INRFFK.js +92 -0
  816. package/dist/search-F5INRFFK.js.map +1 -0
  817. package/dist/search-copy-DZVBYG2B.js +168 -0
  818. package/dist/search-copy-DZVBYG2B.js.map +1 -0
  819. package/dist/seeds-5JTQN5WI.js +101 -0
  820. package/dist/seeds-5JTQN5WI.js.map +1 -0
  821. package/dist/select-N2V55BEX.js +96 -0
  822. package/dist/select-N2V55BEX.js.map +1 -0
  823. package/dist/sends-3L6QBS46.js +309 -0
  824. package/dist/sends-3L6QBS46.js.map +1 -0
  825. package/dist/sequences-YKFV7BDH.js +146 -0
  826. package/dist/sequences-YKFV7BDH.js.map +1 -0
  827. package/dist/set-prompt-7HVHERRU.js +188 -0
  828. package/dist/set-prompt-7HVHERRU.js.map +1 -0
  829. package/dist/setup-links-4VVNQVPU.js +141 -0
  830. package/dist/setup-links-4VVNQVPU.js.map +1 -0
  831. package/dist/{shared-AVM74EX7.js → shared-QAMP7FZV.js} +8 -6
  832. package/dist/shared-QAMP7FZV.js.map +1 -0
  833. package/dist/shopify-FSHM5M4I.js +3346 -0
  834. package/dist/shopify-FSHM5M4I.js.map +1 -0
  835. package/dist/site-Q2HTRLIW.js +177 -0
  836. package/dist/site-Q2HTRLIW.js.map +1 -0
  837. package/dist/sitemaps-XPGLW24S.js +87 -0
  838. package/dist/sitemaps-XPGLW24S.js.map +1 -0
  839. package/dist/sites-WMBY2HJV.js +101 -0
  840. package/dist/sites-WMBY2HJV.js.map +1 -0
  841. package/dist/skills-3HEILQCU.js +47 -0
  842. package/dist/skills-3HEILQCU.js.map +1 -0
  843. package/dist/sources-2KN4RJNJ.js +30 -0
  844. package/dist/sources-2KN4RJNJ.js.map +1 -0
  845. package/dist/sources-4I2YMS2K.js +421 -0
  846. package/dist/sources-4I2YMS2K.js.map +1 -0
  847. package/dist/stale-IN7WSBLC.js +66 -0
  848. package/dist/stale-IN7WSBLC.js.map +1 -0
  849. package/dist/stats-GNILHSKK.js +34 -0
  850. package/dist/stats-GNILHSKK.js.map +1 -0
  851. package/dist/status-6SLKZWNR.js +62 -0
  852. package/dist/status-6SLKZWNR.js.map +1 -0
  853. package/dist/sticker-KCV3VZHY.js +94 -0
  854. package/dist/sticker-KCV3VZHY.js.map +1 -0
  855. package/dist/stock-VTORKR4C.js +179 -0
  856. package/dist/stock-VTORKR4C.js.map +1 -0
  857. package/dist/studio-QCRA6BY5.js +49 -0
  858. package/dist/studio-QCRA6BY5.js.map +1 -0
  859. package/dist/sync-455DB46Y.js +54 -0
  860. package/dist/sync-455DB46Y.js.map +1 -0
  861. package/dist/sync-A4KKQ3B6.js +265 -0
  862. package/dist/sync-A4KKQ3B6.js.map +1 -0
  863. package/dist/sync-LFZV5NBN.js +54 -0
  864. package/dist/sync-LFZV5NBN.js.map +1 -0
  865. package/dist/sync-definition-IJISZ5VQ.js +55 -0
  866. package/dist/sync-definition-IJISZ5VQ.js.map +1 -0
  867. package/dist/tag-manager-E7QTXBWQ.js +43 -0
  868. package/dist/tag-manager-E7QTXBWQ.js.map +1 -0
  869. package/dist/tags-6OAZOQYO.js +26 -0
  870. package/dist/tags-6OAZOQYO.js.map +1 -0
  871. package/dist/tags-6YRMDX3R.js +20 -0
  872. package/dist/tags-6YRMDX3R.js.map +1 -0
  873. package/dist/tags-EWXZSZYE.js +20 -0
  874. package/dist/tags-EWXZSZYE.js.map +1 -0
  875. package/dist/tags-SZCNPE2D.js +224 -0
  876. package/dist/tags-SZCNPE2D.js.map +1 -0
  877. package/dist/tags-TCFFP534.js +20 -0
  878. package/dist/tags-TCFFP534.js.map +1 -0
  879. package/dist/targeting-constants-D64YO3E7.js +118 -0
  880. package/dist/targeting-constants-D64YO3E7.js.map +1 -0
  881. package/dist/targeting-criteria-ESOC7KNX.js +113 -0
  882. package/dist/targeting-criteria-ESOC7KNX.js.map +1 -0
  883. package/dist/targets-IPBEB5KU.js +102 -0
  884. package/dist/targets-IPBEB5KU.js.map +1 -0
  885. package/dist/templates-IJ7FR3LA.js +178 -0
  886. package/dist/templates-IJ7FR3LA.js.map +1 -0
  887. package/dist/testimonials-IXS7CP6P.js +32 -0
  888. package/dist/testimonials-IXS7CP6P.js.map +1 -0
  889. package/dist/themes-MXNKJWMW.js +94 -0
  890. package/dist/themes-MXNKJWMW.js.map +1 -0
  891. package/dist/top-companies-NO6L2V6M.js +108 -0
  892. package/dist/top-companies-NO6L2V6M.js.map +1 -0
  893. package/dist/translate-QCE5ZB7M.js +600 -0
  894. package/dist/translate-QCE5ZB7M.js.map +1 -0
  895. package/dist/triggers-KXUDMDSA.js +141 -0
  896. package/dist/triggers-KXUDMDSA.js.map +1 -0
  897. package/dist/tweets-ZUKQAAUQ.js +123 -0
  898. package/dist/tweets-ZUKQAAUQ.js.map +1 -0
  899. package/dist/unfollow-A4JVCJBF.js +46 -0
  900. package/dist/unfollow-A4JVCJBF.js.map +1 -0
  901. package/dist/unlink-E3N36NYQ.js +67 -0
  902. package/dist/unlink-E3N36NYQ.js.map +1 -0
  903. package/dist/unstage-TRMHSHED.js +84 -0
  904. package/dist/unstage-TRMHSHED.js.map +1 -0
  905. package/dist/unstage-ZRLLCSQF.js +95 -0
  906. package/dist/unstage-ZRLLCSQF.js.map +1 -0
  907. package/dist/update-EWGWAXAQ.js +142 -0
  908. package/dist/update-EWGWAXAQ.js.map +1 -0
  909. package/dist/update-OKOQE7U2.js +155 -0
  910. package/dist/update-OKOQE7U2.js.map +1 -0
  911. package/dist/update-VSFHID2D.js +63 -0
  912. package/dist/update-VSFHID2D.js.map +1 -0
  913. package/dist/update-XGCGQDJ4.js +98 -0
  914. package/dist/update-XGCGQDJ4.js.map +1 -0
  915. package/dist/upload-BOYMDDEQ.js +126 -0
  916. package/dist/upload-BOYMDDEQ.js.map +1 -0
  917. package/dist/upload-XEHWYMJG.js +150 -0
  918. package/dist/upload-XEHWYMJG.js.map +1 -0
  919. package/dist/upscale-I5P2OHTN.js +109 -0
  920. package/dist/upscale-I5P2OHTN.js.map +1 -0
  921. package/dist/url-options-PCZEQE66.js +130 -0
  922. package/dist/url-options-PCZEQE66.js.map +1 -0
  923. package/dist/url-params-DV37GEQF.js +98 -0
  924. package/dist/url-params-DV37GEQF.js.map +1 -0
  925. package/dist/use-U4HG2NF3.js +95 -0
  926. package/dist/use-U4HG2NF3.js.map +1 -0
  927. package/dist/validate-5AV4FJZ5.js +91 -0
  928. package/dist/validate-5AV4FJZ5.js.map +1 -0
  929. package/dist/variant-FOVE6URJ.js +338 -0
  930. package/dist/variant-FOVE6URJ.js.map +1 -0
  931. package/dist/videos-IJ67PPJV.js +39 -0
  932. package/dist/videos-IJ67PPJV.js.map +1 -0
  933. package/dist/view-HRI3FHCH.js +121 -0
  934. package/dist/view-HRI3FHCH.js.map +1 -0
  935. package/dist/viewer-check-JYUE24M6.js +68 -0
  936. package/dist/viewer-check-JYUE24M6.js.map +1 -0
  937. package/dist/web-LJ36FRWD.js +140 -0
  938. package/dist/web-LJ36FRWD.js.map +1 -0
  939. package/dist/winners-SMMDN6LW.js +113 -0
  940. package/dist/winners-SMMDN6LW.js.map +1 -0
  941. package/dist/winning-ads-JIG2MQHJ.js +84 -0
  942. package/dist/winning-ads-JIG2MQHJ.js.map +1 -0
  943. package/dist/write-commands-7Z34WG2J.js +206 -0
  944. package/dist/write-commands-7Z34WG2J.js.map +1 -0
  945. package/dist/write-commands-BLT2SEC4.js +713 -0
  946. package/dist/write-commands-BLT2SEC4.js.map +1 -0
  947. package/dist/write-commands-GOZU6ENR.js +1015 -0
  948. package/dist/write-commands-GOZU6ENR.js.map +1 -0
  949. package/dist/write-commands-KA3QXVSF.js +737 -0
  950. package/dist/write-commands-KA3QXVSF.js.map +1 -0
  951. package/dist/x-6HBVXIKH.js +47 -0
  952. package/dist/x-6HBVXIKH.js.map +1 -0
  953. package/package.json +9 -2
  954. package/dist/chunk-HJEMOSPH.js +0 -1292
  955. package/dist/chunk-HJEMOSPH.js.map +0 -1
  956. package/dist/chunk-JHKW6IDX.js +0 -9989
  957. package/dist/chunk-JHKW6IDX.js.map +0 -1
  958. package/dist/chunk-MF7YA62W.js.map +0 -1
  959. package/dist/chunk-VZEDAFAR.js.map +0 -1
  960. package/dist/chunk-WWCLT3RG.js.map +0 -1
  961. package/dist/client-GR6YL3YX.js +0 -17
  962. package/dist/output-VQSTVRH7.js +0 -18
  963. /package/dist/{chunk-JTZXQRXI.js.map → chunk-TPXI2GCW.js.map} +0 -0
  964. /package/dist/{client-GR6YL3YX.js.map → chunk-YQSBHWOI.js.map} +0 -0
  965. /package/dist/{env-4P5HOGNA.js.map → client-26SAJ46D.js.map} +0 -0
  966. /package/dist/{output-VQSTVRH7.js.map → connect-WYUYS5V4.js.map} +0 -0
  967. /package/dist/{shared-AVM74EX7.js.map → customers-HYE7N2H5.js.map} +0 -0
@@ -0,0 +1,183 @@
1
+ import {
2
+ ACTION_TEMP_ID_PREFIX
3
+ } from "./chunk-KRIK2JR4.js";
4
+ import {
5
+ ApiError
6
+ } from "./chunk-HREWXNTO.js";
7
+ import {
8
+ writeJson
9
+ } from "./chunk-WOTDHRNF.js";
10
+
11
+ // src/commands/actions/tagError.ts
12
+ var UNKNOWN_TAG_RE = /Unknown action tag\(s\): ([^.]+)\. Valid tags: ([^.]+)\./;
13
+ function splitSlugs(list) {
14
+ return list.split(",").map((slug) => slug.trim()).filter((slug) => slug.length > 0);
15
+ }
16
+ function actionTagFix(message) {
17
+ const match = UNKNOWN_TAG_RE.exec(message);
18
+ if (!match) {
19
+ return null;
20
+ }
21
+ const [, unknownList, validList] = match;
22
+ const unknownTags = splitSlugs(unknownList ?? "");
23
+ const validTags = splitSlugs(validList ?? "");
24
+ const first = unknownTags[0];
25
+ if (first === void 0 || validTags.length === 0) {
26
+ return null;
27
+ }
28
+ return {
29
+ action: "retry_with_a_valid_tag",
30
+ explanation: `The tag(s) ${unknownTags.join(", ")} are not in this company's taxonomy. \`validTags\` below is the complete accepted set \u2014 pick from it and re-run the same command. Only mint a new tag when none of them names this work; a near-duplicate of an existing tag splits the backlog's filter instead of extending it.`,
31
+ unknownTags,
32
+ validTags,
33
+ mintCommand: `baker actions tags create --slug ${first} --description "<what ${first} groups>"`,
34
+ listCommand: "baker actions tags list"
35
+ };
36
+ }
37
+
38
+ // src/commands/actions/shared.ts
39
+ function writeOk(data) {
40
+ writeJson({ ok: true, data: data ?? null });
41
+ }
42
+ function failValidation(message) {
43
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message } });
44
+ process.exit(1);
45
+ }
46
+ function failApi(err) {
47
+ if (err instanceof ApiError) {
48
+ const fix = actionTagFix(err.message);
49
+ writeJson({ ok: false, error: { code: err.code, message: err.message, ...fix ? { fix } : {} } });
50
+ process.exit(1);
51
+ }
52
+ if (err instanceof Error) {
53
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: err.message } });
54
+ process.exit(1);
55
+ }
56
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
57
+ process.exit(1);
58
+ }
59
+ function generateTempId() {
60
+ return `${ACTION_TEMP_ID_PREFIX}${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
61
+ }
62
+ function isTempId(id) {
63
+ return id.startsWith(ACTION_TEMP_ID_PREFIX);
64
+ }
65
+ function parseTagList(value) {
66
+ if (typeof value !== "string") {
67
+ return void 0;
68
+ }
69
+ const tags = value.split(",").map((t) => t.trim()).filter((t) => t.length > 0);
70
+ return [...new Set(tags)];
71
+ }
72
+ var ACTION_PRIORITIES = ["urgent", "high", "medium", "low"];
73
+ function parsePriority(value, { allowClear }) {
74
+ if (value === void 0) {
75
+ return void 0;
76
+ }
77
+ if (typeof value !== "string") {
78
+ failValidation(
79
+ `--priority must be one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
80
+ );
81
+ }
82
+ const trimmed = value.trim().toLowerCase();
83
+ if (trimmed === "") {
84
+ if (allowClear) {
85
+ return null;
86
+ }
87
+ return void 0;
88
+ }
89
+ if (allowClear && (trimmed === "none" || trimmed === "clear")) {
90
+ return null;
91
+ }
92
+ if (ACTION_PRIORITIES.includes(trimmed)) {
93
+ return trimmed;
94
+ }
95
+ failValidation(
96
+ `Unknown --priority "${value}". Expected one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
97
+ );
98
+ }
99
+ var FAN_OUT_NUDGE_THRESHOLD = 2;
100
+ var FAN_OUT_THRESHOLD = 3;
101
+ function buildCreateHints({
102
+ advisory,
103
+ name,
104
+ description,
105
+ tempId,
106
+ tags,
107
+ prioritySet,
108
+ draftCreateCount
109
+ }) {
110
+ const hints = [];
111
+ const expanded = shellExpandedIn(`${name}
112
+ ${description}`);
113
+ if (expanded) {
114
+ hints.push(
115
+ `The text says \u201C${expanded}\u201D: the shell replaced a $ amount (like $0) inside double quotes before Baker saw it. Fix it now: baker actions update ${tempId} --description '<the text, with the amounts as you read them>' (and --name '\u2026' if the name has it) \u2014 single quotes keep $ as written.`
116
+ );
117
+ }
118
+ if (advisory) {
119
+ hints.push(
120
+ `${advisory.hint} If nothing actually blocks it: baker actions draft remove ${tempId}, then do the work.`
121
+ );
122
+ }
123
+ if (draftCreateCount >= FAN_OUT_THRESHOLD) {
124
+ hints.push(
125
+ `${draftCreateCount} Tasks are staged in this chat. Re-read them with \`baker actions draft\`: can any be done now with a surface you already have, and do any two touch the same system (same container, same campaign, same page)? Those belong in ONE Task \u2014 fold them together with \`baker actions update\` and drop the extras with \`baker actions draft remove <tempId>\`.`
126
+ );
127
+ } else if (draftCreateCount === FAN_OUT_NUDGE_THRESHOLD) {
128
+ hints.push(
129
+ `Second Task staged in this chat. If these two land on the same system (same container, same campaign, same page) they are ONE Task \u2014 fold them with \`baker actions update\` and drop the extra with \`baker actions draft remove ${tempId}\`.`
130
+ );
131
+ }
132
+ hints.push(`Link dependencies: baker actions link --blocker <id> --blocked ${tempId}`);
133
+ if (!description) {
134
+ hints.push("Add description: baker actions update <tempId> --description '...' (what/why/where/done-when)");
135
+ }
136
+ if (!tags || tags.length === 0) {
137
+ hints.push(
138
+ "MISSING --tags. This action is invisible to the backlog's tag filter. Re-run with --tags <slug,...> (`baker actions tags list` for the taxonomy, `baker actions tags create --slug <slug>` to mint) \u2014 or `baker actions update <tempId> --tags <slug,...>`."
139
+ );
140
+ }
141
+ if (!prioritySet) {
142
+ hints.push(
143
+ `MISSING --priority. Without it this action ranks as 'normal' (medium) in the do-first ordering, so urgent/high client work won't surface first. Re-run with --priority ${ACTION_PRIORITIES.join("|")} \u2014 or \`baker actions update <tempId> --priority <level>\`.`
144
+ );
145
+ }
146
+ return hints;
147
+ }
148
+ function shellExpandedIn(text) {
149
+ return /(?:^|[\s(])((?:\/usr)?\/bin\/(?:ba|z|da|k)?sh|-?(?:ba|z|da|k)sh)\b/.exec(text)?.[1] ?? null;
150
+ }
151
+ var ACTIONS_LIST_DEFAULT_LIMIT = 500;
152
+ function buildListHints({ returned, limit }) {
153
+ if (returned < limit) {
154
+ return [];
155
+ }
156
+ return [
157
+ `This list is capped at ${limit} Tasks and came back full, so older Tasks exist that are NOT shown. Do not treat it as the whole backlog \u2014 re-run with --limit ${limit * 2} (or narrow with --status / --search).`
158
+ ];
159
+ }
160
+ function buildGetHints(detail) {
161
+ if (detail?.action.status !== "pending" || detail.activeChat !== null) {
162
+ return [];
163
+ }
164
+ return [
165
+ `If you are working on this Task in this chat, claim it first so the Tasks page shows it in progress: baker actions claim ${detail.action._id}`
166
+ ];
167
+ }
168
+
169
+ export {
170
+ writeOk,
171
+ failValidation,
172
+ failApi,
173
+ generateTempId,
174
+ isTempId,
175
+ parseTagList,
176
+ ACTION_PRIORITIES,
177
+ parsePriority,
178
+ buildCreateHints,
179
+ ACTIONS_LIST_DEFAULT_LIMIT,
180
+ buildListHints,
181
+ buildGetHints
182
+ };
183
+ //# sourceMappingURL=chunk-XE3WS3QE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/actions/tagError.ts","../src/commands/actions/shared.ts"],"sourcesContent":["/**\n * Structured remediation for the one `actions` failure an agent cannot fix from\n * the message alone: an unknown `--tags` slug.\n *\n * The backend already inlines the valid taxonomy in the rejection text\n * (`unknownActionTagMessage`, packages/backend/convex/actionItems/tags/utils.ts),\n * but only `{ code, message }` crosses the HTTP boundary into `ApiError`. Parsing\n * the two lists back out here is what lets `error.fix` carry them as data, so the\n * agent retries in the same call instead of running `tags list` and trying again\n * — the \"list-then-retry dance\" this file exists to end.\n *\n * Fails closed: anything that doesn't match exactly returns `null` and the caller\n * emits the plain message it would have emitted anyway.\n */\n\nconst UNKNOWN_TAG_RE = /Unknown action tag\\(s\\): ([^.]+)\\. Valid tags: ([^.]+)\\./;\n\n// A type alias, not an interface: the envelope's `fix` slot is\n// `{ action, explanation } & Record<string, unknown>`, and only an alias is\n// structurally assignable to that index signature.\nexport type ActionTagFix = {\n action: \"retry_with_a_valid_tag\";\n explanation: string;\n unknownTags: string[];\n validTags: string[];\n mintCommand: string;\n listCommand: string;\n};\n\nfunction splitSlugs(list: string): string[] {\n return list\n .split(\",\")\n .map((slug) => slug.trim())\n .filter((slug) => slug.length > 0);\n}\n\nexport function actionTagFix(message: string): ActionTagFix | null {\n const match = UNKNOWN_TAG_RE.exec(message);\n if (!match) {\n return null;\n }\n const [, unknownList, validList] = match;\n const unknownTags = splitSlugs(unknownList ?? \"\");\n const validTags = splitSlugs(validList ?? \"\");\n const first = unknownTags[0];\n if (first === undefined || validTags.length === 0) {\n return null;\n }\n return {\n action: \"retry_with_a_valid_tag\",\n explanation:\n `The tag(s) ${unknownTags.join(\", \")} are not in this company's taxonomy. ` +\n `\\`validTags\\` below is the complete accepted set — pick from it and re-run the same command. ` +\n `Only mint a new tag when none of them names this work; a near-duplicate of an existing tag ` +\n `splits the backlog's filter instead of extending it.`,\n unknownTags,\n validTags,\n mintCommand: `baker actions tags create --slug ${first} --description \"<what ${first} groups>\"`,\n listCommand: \"baker actions tags list\",\n };\n}\n","import { ACTION_TEMP_ID_PREFIX } from \"@baker/api\";\nimport { ApiError } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport type { AdvisoryHint } from \"./advisory.ts\";\nimport { actionTagFix } from \"./tagError.ts\";\n\nexport function writeOk<T = null>(data?: T): void {\n writeJson({ ok: true, data: (data ?? null) as T });\n}\n\nexport function failValidation(message: string): never {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\n// Every actions command routes its API failures through here, so attaching the\n// tag `fix` at this one point covers `create`, `update`, and any later write\n// path that hits the same strict tag gate. Non-tag errors are untouched.\nexport function failApi(err: unknown): never {\n if (err instanceof ApiError) {\n const fix = actionTagFix(err.message);\n writeJson({ ok: false, error: { code: err.code, message: err.message, ...(fix ? { fix } : {}) } });\n process.exit(1);\n }\n if (err instanceof Error) {\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\nexport function generateTempId(): string {\n return `${ACTION_TEMP_ID_PREFIX}${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;\n}\n\nexport function isTempId(id: string): boolean {\n return id.startsWith(ACTION_TEMP_ID_PREFIX);\n}\n\n// Parse a `--tags a,b,c` CSV flag into a deduped slug list. Returns undefined\n// when the flag was omitted so callers can distinguish \"not provided\" from\n// \"explicitly cleared\" (empty list).\nexport function parseTagList(value: unknown): string[] | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const tags = value\n .split(\",\")\n .map((t) => t.trim())\n .filter((t) => t.length > 0);\n return [...new Set(tags)];\n}\n\n// User priority for an action. Drives the dependency-aware \"Do first\" ordering\n// in `baker actions list`. Unset == \"normal\" (ranks as medium).\nexport const ACTION_PRIORITIES = [\"urgent\", \"high\", \"medium\", \"low\"] as const;\ntype ActionPriority = (typeof ACTION_PRIORITIES)[number];\n\n// Parse a `--priority` flag. Returns:\n// - undefined → flag omitted (leave unchanged on update; unset on create)\n// - null → explicit clear (only meaningful on update; \"\" or \"none\")\n// - one of ACTION_PRIORITIES on a valid value\n// Fails validation on any other string so the agent gets an immediate error.\nexport function parsePriority(\n value: unknown,\n { allowClear }: { allowClear: boolean },\n): ActionPriority | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n failValidation(\n `--priority must be one of: ${ACTION_PRIORITIES.join(\", \")}${allowClear ? \", or 'none' to clear\" : \"\"}.`,\n );\n }\n const trimmed = value.trim().toLowerCase();\n if (trimmed === \"\") {\n if (allowClear) {\n return null;\n }\n return undefined;\n }\n if (allowClear && (trimmed === \"none\" || trimmed === \"clear\")) {\n return null;\n }\n if ((ACTION_PRIORITIES as readonly string[]).includes(trimmed)) {\n return trimmed as ActionPriority;\n }\n failValidation(\n `Unknown --priority \"${value}\". Expected one of: ${ACTION_PRIORITIES.join(\", \")}${allowClear ? \", or 'none' to clear\" : \"\"}.`,\n );\n}\n\n// Two tiers, because the two counts want different amounts of words.\n//\n// The mean chat that files anything files ~2, and two Tasks is already above\n// the bar (\"a Task is the exception\"), so a 2→1 merge is the cheapest win\n// available — but firing the full paragraph on the modal chat is how you train\n// the model to skim `hints[]` and miss the do-it-now redirect above it. So 2\n// gets one sentence.\n//\n// Three is where \"capturing follow-ups\" stops looking like a backlog and\n// starts looking like a to-do list handed back to the user. That gets the\n// paragraph, from there on, every time — a legitimate 3-Task chat (an approved\n// plan) still benefits from being asked whether any two merge.\nexport const FAN_OUT_NUDGE_THRESHOLD = 2;\nexport const FAN_OUT_THRESHOLD = 3;\n\n// Every hint `create` returns, in reading order. The two that argue against\n// the action existing come first — by the time the agent reaches \"add tags\" it\n// has already accepted the action as a given.\nexport function buildCreateHints({\n advisory,\n name,\n description,\n tempId,\n tags,\n prioritySet,\n draftCreateCount,\n}: {\n /** What the Task reads as (`advisory.ts`), decided before: recurring work, or work a surface does now. */\n advisory: AdvisoryHint | null;\n name: string;\n description: string;\n tempId: string;\n tags: string[] | undefined;\n prioritySet: boolean;\n draftCreateCount: number;\n}): string[] {\n const hints: string[] = [];\n const expanded = shellExpandedIn(`${name}\\n${description}`);\n if (expanded) {\n hints.push(\n `The text says “${expanded}”: the shell replaced a $ amount (like $0) inside double quotes before Baker saw it. Fix it now: baker actions update ${tempId} --description '<the text, with the amounts as you read them>' (and --name '…' if the name has it) — single quotes keep $ as written.`,\n );\n }\n if (advisory) {\n hints.push(\n `${advisory.hint} If nothing actually blocks it: baker actions draft remove ${tempId}, then do the work.`,\n );\n }\n // The advisory reading is a judgment; this count is a fact. It keeps firing on\n // every further create — a chat that fanned out into a to-do list is the\n // failure the whole hint set exists to catch.\n if (draftCreateCount >= FAN_OUT_THRESHOLD) {\n hints.push(\n `${draftCreateCount} Tasks are staged in this chat. Re-read them with \\`baker actions draft\\`: can any be done now with a surface you already have, and do any two touch the same system (same container, same campaign, same page)? Those belong in ONE Task — fold them together with \\`baker actions update\\` and drop the extras with \\`baker actions draft remove <tempId>\\`.`,\n );\n } else if (draftCreateCount === FAN_OUT_NUDGE_THRESHOLD) {\n hints.push(\n `Second Task staged in this chat. If these two land on the same system (same container, same campaign, same page) they are ONE Task — fold them with \\`baker actions update\\` and drop the extra with \\`baker actions draft remove ${tempId}\\`.`,\n );\n }\n hints.push(`Link dependencies: baker actions link --blocker <id> --blocked ${tempId}`);\n if (!description) {\n hints.push(\"Add description: baker actions update <tempId> --description '...' (what/why/where/done-when)\");\n }\n if (!tags || tags.length === 0) {\n hints.push(\n \"MISSING --tags. This action is invisible to the backlog's tag filter. Re-run with --tags <slug,...> (`baker actions tags list` for the taxonomy, `baker actions tags create --slug <slug>` to mint) — or `baker actions update <tempId> --tags <slug,...>`.\",\n );\n }\n if (!prioritySet) {\n hints.push(\n `MISSING --priority. Without it this action ranks as 'normal' (medium) in the do-first ordering, so urgent/high client work won't surface first. Re-run with --priority ${ACTION_PRIORITIES.join(\"|\")} — or \\`baker actions update <tempId> --priority <level>\\`.`,\n );\n }\n return hints;\n}\n\n/**\n * A shell's name where a `$0` stood — its path, or plain `bash` under\n * `bash -c`, `-bash` in a login shell: double-quoted text loses its money\n * amounts to the shell before the CLI ever sees them.\n */\nfunction shellExpandedIn(text: string): string | null {\n return /(?:^|[\\s(])((?:\\/usr)?\\/bin\\/(?:ba|z|da|k)?sh|-?(?:ba|z|da|k)sh)\\b/.exec(text)?.[1] ?? null;\n}\n/**\n * How far back a flat `baker actions list` reads when the caller does not say.\n *\n * Sent explicitly rather than left to the server default so this side knows the\n * window it asked for, and can therefore tell when a read came back exactly full\n * — the only evidence available that older Tasks exist. Without that the agent\n * reads a truncated backlog as a complete one and reports finished work that was\n * never seen.\n */\nexport const ACTIONS_LIST_DEFAULT_LIMIT = 500;\n\nexport function buildListHints({ returned, limit }: { returned: number; limit: number }): string[] {\n if (returned < limit) {\n return [];\n }\n return [\n `This list is capped at ${limit} Tasks and came back full, so older Tasks exist that are NOT shown. Do not treat it as the whole backlog — re-run with --limit ${limit * 2} (or narrow with --status / --search).`,\n ];\n}\n\n/**\n * A pending Task nobody is working on is one the agent was most likely asked to\n * solve: without a claim the dashboard shows no work in progress on it.\n */\nexport function buildGetHints(\n detail: { action: { _id: string; status: string }; activeChat: unknown } | null,\n): string[] {\n if (detail?.action.status !== \"pending\" || detail.activeChat !== null) {\n return [];\n }\n return [\n `If you are working on this Task in this chat, claim it first so the Tasks page shows it in progress: baker actions claim ${detail.action._id}`,\n ];\n}\n"],"mappings":";;;;;;;;;;;AAeA,IAAM,iBAAiB;AAcvB,SAAS,WAAW,MAAwB;AAC1C,SAAO,KACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AACrC;AAEO,SAAS,aAAa,SAAsC;AACjE,QAAM,QAAQ,eAAe,KAAK,OAAO;AACzC,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,CAAC,EAAE,aAAa,SAAS,IAAI;AACnC,QAAM,cAAc,WAAW,eAAe,EAAE;AAChD,QAAM,YAAY,WAAW,aAAa,EAAE;AAC5C,QAAM,QAAQ,YAAY,CAAC;AAC3B,MAAI,UAAU,UAAa,UAAU,WAAW,GAAG;AACjD,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,aACE,cAAc,YAAY,KAAK,IAAI,CAAC;AAAA,IAItC;AAAA,IACA;AAAA,IACA,aAAa,oCAAoC,KAAK,yBAAyB,KAAK;AAAA,IACpF,aAAa;AAAA,EACf;AACF;;;ACtDO,SAAS,QAAkB,MAAgB;AAChD,YAAU,EAAE,IAAI,MAAM,MAAO,QAAQ,KAAW,CAAC;AACnD;AAEO,SAAS,eAAe,SAAwB;AACrD,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,QAAQ,EAAE,CAAC;AACrE,UAAQ,KAAK,CAAC;AAChB;AAKO,SAAS,QAAQ,KAAqB;AAC3C,MAAI,eAAe,UAAU;AAC3B,UAAM,MAAM,aAAa,IAAI,OAAO;AACpC,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,SAAS,GAAI,MAAM,EAAE,IAAI,IAAI,CAAC,EAAG,EAAE,CAAC;AACjG,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,MAAI,eAAe,OAAO;AACxB,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,IAAI,QAAQ,EAAE,CAAC;AAChF,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACvF,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,iBAAyB;AACvC,SAAO,GAAG,qBAAqB,GAAG,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC;AACtG;AAEO,SAAS,SAAS,IAAqB;AAC5C,SAAO,GAAG,WAAW,qBAAqB;AAC5C;AAKO,SAAS,aAAa,OAAsC;AACjE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AACA,QAAM,OAAO,MACV,MAAM,GAAG,EACT,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EACnB,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;AAC7B,SAAO,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC;AAC1B;AAIO,IAAM,oBAAoB,CAAC,UAAU,QAAQ,UAAU,KAAK;AAQ5D,SAAS,cACd,OACA,EAAE,WAAW,GACsB;AACnC,MAAI,UAAU,QAAW;AACvB,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B;AAAA,MACE,8BAA8B,kBAAkB,KAAK,IAAI,CAAC,GAAG,aAAa,yBAAyB,EAAE;AAAA,IACvG;AAAA,EACF;AACA,QAAM,UAAU,MAAM,KAAK,EAAE,YAAY;AACzC,MAAI,YAAY,IAAI;AAClB,QAAI,YAAY;AACd,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AACA,MAAI,eAAe,YAAY,UAAU,YAAY,UAAU;AAC7D,WAAO;AAAA,EACT;AACA,MAAK,kBAAwC,SAAS,OAAO,GAAG;AAC9D,WAAO;AAAA,EACT;AACA;AAAA,IACE,uBAAuB,KAAK,uBAAuB,kBAAkB,KAAK,IAAI,CAAC,GAAG,aAAa,yBAAyB,EAAE;AAAA,EAC5H;AACF;AAcO,IAAM,0BAA0B;AAChC,IAAM,oBAAoB;AAK1B,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GASa;AACX,QAAM,QAAkB,CAAC;AACzB,QAAM,WAAW,gBAAgB,GAAG,IAAI;AAAA,EAAK,WAAW,EAAE;AAC1D,MAAI,UAAU;AACZ,UAAM;AAAA,MACJ,uBAAkB,QAAQ,8HAAyH,MAAM;AAAA,IAC3J;AAAA,EACF;AACA,MAAI,UAAU;AACZ,UAAM;AAAA,MACJ,GAAG,SAAS,IAAI,8DAA8D,MAAM;AAAA,IACtF;AAAA,EACF;AAIA,MAAI,oBAAoB,mBAAmB;AACzC,UAAM;AAAA,MACJ,GAAG,gBAAgB;AAAA,IACrB;AAAA,EACF,WAAW,qBAAqB,yBAAyB;AACvD,UAAM;AAAA,MACJ,0OAAqO,MAAM;AAAA,IAC7O;AAAA,EACF;AACA,QAAM,KAAK,kEAAkE,MAAM,EAAE;AACrF,MAAI,CAAC,aAAa;AAChB,UAAM,KAAK,+FAA+F;AAAA,EAC5G;AACA,MAAI,CAAC,QAAQ,KAAK,WAAW,GAAG;AAC9B,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,aAAa;AAChB,UAAM;AAAA,MACJ,0KAA0K,kBAAkB,KAAK,GAAG,CAAC;AAAA,IACvM;AAAA,EACF;AACA,SAAO;AACT;AAOA,SAAS,gBAAgB,MAA6B;AACpD,SAAO,qEAAqE,KAAK,IAAI,IAAI,CAAC,KAAK;AACjG;AAUO,IAAM,6BAA6B;AAEnC,SAAS,eAAe,EAAE,UAAU,MAAM,GAAkD;AACjG,MAAI,WAAW,OAAO;AACpB,WAAO,CAAC;AAAA,EACV;AACA,SAAO;AAAA,IACL,0BAA0B,KAAK,uIAAkI,QAAQ,CAAC;AAAA,EAC5K;AACF;AAMO,SAAS,cACd,QACU;AACV,MAAI,QAAQ,OAAO,WAAW,aAAa,OAAO,eAAe,MAAM;AACrE,WAAO,CAAC;AAAA,EACV;AACA,SAAO;AAAA,IACL,4HAA4H,OAAO,OAAO,GAAG;AAAA,EAC/I;AACF;","names":[]}
@@ -0,0 +1,67 @@
1
+ import {
2
+ parseXApiError
3
+ } from "./chunk-M6UNISGO.js";
4
+ import {
5
+ cacheGet,
6
+ cacheSet,
7
+ writeAdsJson,
8
+ writeAdsOutput
9
+ } from "./chunk-BVM5IRZW.js";
10
+ import {
11
+ ApiError,
12
+ apiGet
13
+ } from "./chunk-HREWXNTO.js";
14
+
15
+ // src/commands/ads/x/run-list.ts
16
+ function buildCleanParams(opts) {
17
+ const out = {};
18
+ for (const [k, v] of Object.entries(opts.params)) {
19
+ if (v !== void 0 && v !== "") {
20
+ out[k] = v;
21
+ }
22
+ }
23
+ if (!opts.useCache) {
24
+ out["skip-cache"] = "true";
25
+ }
26
+ return out;
27
+ }
28
+ function emitFromCache(opts) {
29
+ if (!opts.useCache || opts.cacheTtlMs === void 0) return false;
30
+ const cached = cacheGet(opts.cacheCategory, opts.cacheKey);
31
+ if (!cached) return false;
32
+ writeAdsJson({ ok: true, data: cached.data, cached: true });
33
+ return true;
34
+ }
35
+ function emitData(opts, data) {
36
+ if (opts.format !== "json") {
37
+ writeAdsOutput(data, opts.format);
38
+ return;
39
+ }
40
+ writeAdsJson({ ok: true, data });
41
+ }
42
+ function emitError(opts, err) {
43
+ if (err instanceof ApiError) {
44
+ writeAdsJson(parseXApiError(err.message, opts.accountId ?? "\u2014"));
45
+ process.exit(1);
46
+ }
47
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
48
+ process.exit(1);
49
+ }
50
+ async function runListCommand(opts) {
51
+ if (emitFromCache(opts)) return;
52
+ const params = buildCleanParams(opts);
53
+ try {
54
+ const data = await apiGet(opts.path, params);
55
+ if (opts.useCache && opts.cacheTtlMs !== void 0) {
56
+ cacheSet(opts.cacheCategory, opts.cacheKey, data, opts.cacheTtlMs);
57
+ }
58
+ emitData(opts, data);
59
+ } catch (err) {
60
+ emitError(opts, err);
61
+ }
62
+ }
63
+
64
+ export {
65
+ runListCommand
66
+ };
67
+ //# sourceMappingURL=chunk-XGWKTYXQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/x/run-list.ts"],"sourcesContent":["import { ApiError, apiGet } from \"../../../client.ts\";\nimport { cacheGet, cacheSet } from \"../cache.ts\";\nimport { writeAdsJson, writeAdsOutput } from \"../output.ts\";\nimport { parseXApiError } from \"./error-parser.ts\";\n\ninterface ListParams {\n path: string;\n cacheCategory: string;\n cacheKey: string;\n cacheTtlMs?: number;\n params: Record<string, string | undefined>;\n format: string;\n accountId?: string;\n useCache: boolean;\n}\n\nfunction buildCleanParams(opts: ListParams): Record<string, string> {\n const out: Record<string, string> = {};\n for (const [k, v] of Object.entries(opts.params)) {\n if (v !== undefined && v !== \"\") {\n out[k] = v;\n }\n }\n if (!opts.useCache) {\n out[\"skip-cache\"] = \"true\";\n }\n return out;\n}\n\nfunction emitFromCache(opts: ListParams): boolean {\n if (!opts.useCache || opts.cacheTtlMs === undefined) return false;\n const cached = cacheGet<unknown[]>(opts.cacheCategory, opts.cacheKey);\n if (!cached) return false;\n writeAdsJson({ ok: true, data: cached.data, cached: true });\n return true;\n}\n\nfunction emitData(opts: ListParams, data: unknown[]): void {\n if (opts.format !== \"json\") {\n writeAdsOutput(data as Array<Record<string, unknown>>, opts.format);\n return;\n }\n writeAdsJson({ ok: true, data });\n}\n\nfunction emitError(opts: ListParams, err: unknown): never {\n if (err instanceof ApiError) {\n writeAdsJson(parseXApiError(err.message, opts.accountId ?? \"—\"));\n process.exit(1);\n }\n writeAdsJson({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\n/**\n * Shared GET-list flow: cache check → request → cache set → format-aware output.\n * Centralizing this keeps each CLI command file under Biome's complexity budget.\n */\nexport async function runListCommand(opts: ListParams): Promise<void> {\n if (emitFromCache(opts)) return;\n const params = buildCleanParams(opts);\n try {\n const data = await apiGet<unknown[]>(opts.path, params);\n if (opts.useCache && opts.cacheTtlMs !== undefined) {\n cacheSet(opts.cacheCategory, opts.cacheKey, data, opts.cacheTtlMs);\n }\n emitData(opts, data);\n } catch (err) {\n emitError(opts, err);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,SAAS,iBAAiB,MAA0C;AAClE,QAAM,MAA8B,CAAC;AACrC,aAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,KAAK,MAAM,GAAG;AAChD,QAAI,MAAM,UAAa,MAAM,IAAI;AAC/B,UAAI,CAAC,IAAI;AAAA,IACX;AAAA,EACF;AACA,MAAI,CAAC,KAAK,UAAU;AAClB,QAAI,YAAY,IAAI;AAAA,EACtB;AACA,SAAO;AACT;AAEA,SAAS,cAAc,MAA2B;AAChD,MAAI,CAAC,KAAK,YAAY,KAAK,eAAe,OAAW,QAAO;AAC5D,QAAM,SAAS,SAAoB,KAAK,eAAe,KAAK,QAAQ;AACpE,MAAI,CAAC,OAAQ,QAAO;AACpB,eAAa,EAAE,IAAI,MAAM,MAAM,OAAO,MAAM,QAAQ,KAAK,CAAC;AAC1D,SAAO;AACT;AAEA,SAAS,SAAS,MAAkB,MAAuB;AACzD,MAAI,KAAK,WAAW,QAAQ;AAC1B,mBAAe,MAAwC,KAAK,MAAM;AAClE;AAAA,EACF;AACA,eAAa,EAAE,IAAI,MAAM,KAAK,CAAC;AACjC;AAEA,SAAS,UAAU,MAAkB,KAAqB;AACxD,MAAI,eAAe,UAAU;AAC3B,iBAAa,eAAe,IAAI,SAAS,KAAK,aAAa,QAAG,CAAC;AAC/D,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,eAAa,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,iBAAiB,SAAS,mBAAmB,EAAE,CAAC;AACzF,UAAQ,KAAK,CAAC;AAChB;AAMA,eAAsB,eAAe,MAAiC;AACpE,MAAI,cAAc,IAAI,EAAG;AACzB,QAAM,SAAS,iBAAiB,IAAI;AACpC,MAAI;AACF,UAAM,OAAO,MAAM,OAAkB,KAAK,MAAM,MAAM;AACtD,QAAI,KAAK,YAAY,KAAK,eAAe,QAAW;AAClD,eAAS,KAAK,eAAe,KAAK,UAAU,MAAM,KAAK,UAAU;AAAA,IACnE;AACA,aAAS,MAAM,IAAI;AAAA,EACrB,SAAS,KAAK;AACZ,cAAU,MAAM,GAAG;AAAA,EACrB;AACF;","names":[]}
@@ -0,0 +1,66 @@
1
+ import {
2
+ canvasOutputsRoot
3
+ } from "./chunk-HDHWIEJJ.js";
4
+ import {
5
+ optionalChatId
6
+ } from "./chunk-O6QKCJE4.js";
7
+
8
+ // src/commands/canvas/creative-limit.ts
9
+ import { existsSync } from "fs";
10
+ import { mkdir, readdir, writeFile } from "fs/promises";
11
+ import path from "path";
12
+ var NEW_CREATIVES_PER_CHAT = 10;
13
+ function claimNewCreative(made, slug) {
14
+ if (made.includes(slug)) return { allowed: true, count: made.length };
15
+ if (made.length >= NEW_CREATIVES_PER_CHAT) return { allowed: false, count: made.length };
16
+ return { allowed: true, count: made.length + 1 };
17
+ }
18
+ function chatDir(canvasRoot, chatId) {
19
+ return path.join(canvasRoot, ".creative-limit", (chatId ?? "no-chat").replace(/[^A-Za-z0-9_-]/g, "_"));
20
+ }
21
+ async function madeInChat(dir) {
22
+ return readdir(dir).catch(() => []);
23
+ }
24
+ async function claimNewCreativeInWorkspace(canvasRoot, slug, chatId, definitionPath, exists = existsSync) {
25
+ const dir = chatDir(canvasRoot, chatId);
26
+ const made = await madeInChat(dir);
27
+ if (!made.includes(slug) && exists(definitionPath)) return { allowed: true, count: made.length };
28
+ const claim = claimNewCreative(made, slug);
29
+ if (claim.allowed && !made.includes(slug)) {
30
+ try {
31
+ await mkdir(dir, { recursive: true });
32
+ await writeFile(path.join(dir, slug), "", { flag: "wx" });
33
+ } catch {
34
+ }
35
+ }
36
+ return claim;
37
+ }
38
+ function creativeLimitRefusal(slug) {
39
+ return {
40
+ ok: false,
41
+ error: {
42
+ code: "CREATIVE_LIMIT",
43
+ message: `${slug} would be new creative number ${NEW_CREATIVES_PER_CHAT + 1} in this chat. A chat makes at most ${NEW_CREATIVES_PER_CHAT} new creatives.`,
44
+ fix: `Build nothing more. Finish and show the ${NEW_CREATIVES_PER_CHAT} you have, and tell the person in one line that a chat makes up to ${NEW_CREATIVES_PER_CHAT} new creatives, so the rest go in a new chat. Editing or resizing the ones already made still works here. Working as a subagent: return now and say the limit was reached.`
45
+ }
46
+ };
47
+ }
48
+ async function enforceNewCreativeLimit(slug, canvasPath) {
49
+ const claim = await claimNewCreativeInWorkspace(
50
+ canvasOutputsRoot(canvasPath),
51
+ slug,
52
+ optionalChatId() ?? null,
53
+ path.join(path.dirname(path.resolve(canvasPath)), "_definition.md")
54
+ );
55
+ if (claim.allowed) return;
56
+ process.stderr.write(`${JSON.stringify(creativeLimitRefusal(slug), null, 2)}
57
+ `);
58
+ process.exit(2);
59
+ }
60
+
61
+ export {
62
+ claimNewCreativeInWorkspace,
63
+ creativeLimitRefusal,
64
+ enforceNewCreativeLimit
65
+ };
66
+ //# sourceMappingURL=chunk-XIGIJJSF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/canvas/creative-limit.ts"],"sourcesContent":["import { existsSync } from \"node:fs\";\nimport { mkdir, readdir, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { optionalChatId } from \"../../env.ts\";\nimport { canvasOutputsRoot } from \"./normalize-paths.ts\";\n\n// How many new creatives one chat may scaffold.\n//\n// A spend brake, not a marketing rule: the batches people actually ask for stay well under\n// it (production, Sept 2026: the largest was 10, and it took 137 minutes at ~200 credits a\n// creative). Past it, the ask is far more likely a slip (\"100\" for \"10\", a looping agent)\n// than a plan, and each one bills the platform. Scaffolding is where a creative is born, so\n// the brake sits there, before any billed pass. Editing, resizing or re-scaffolding a\n// creative that already existed is not new work and never counts.\n//\n// One marker file per creative under `canvas/.creative-limit/<chat>/`, created with `wx`,\n// like the render budget's file per slug: producers scaffold in parallel, and a shared\n// read-change-write file loses claims (or reads back empty mid-write and restarts at zero).\n// Counting then creating can overshoot by the claims in flight at once (one wave), never\n// reset. Keyed by chat so a workspace reused by another chat starts over.\n\nexport const NEW_CREATIVES_PER_CHAT = 10;\n\n/** Whether `slug` may be born in a chat that has already made `made`. Pure. */\nexport function claimNewCreative(made: readonly string[], slug: string): { allowed: boolean; count: number } {\n if (made.includes(slug)) return { allowed: true, count: made.length };\n if (made.length >= NEW_CREATIVES_PER_CHAT) return { allowed: false, count: made.length };\n return { allowed: true, count: made.length + 1 };\n}\n\nfunction chatDir(canvasRoot: string, chatId: string | null): string {\n return path.join(canvasRoot, \".creative-limit\", (chatId ?? \"no-chat\").replace(/[^A-Za-z0-9_-]/g, \"_\"));\n}\n\nasync function madeInChat(dir: string): Promise<string[]> {\n return readdir(dir).catch(() => []);\n}\n\n/**\n * Count `slug` as a creative born in this chat, or refuse it. A creative whose folder already\n * held a `_definition.md` existed before and is let through uncounted. An unwritable marker\n * never blocks: the limit is a brake on slips, not a lock.\n */\nexport async function claimNewCreativeInWorkspace(\n canvasRoot: string,\n slug: string,\n chatId: string | null,\n definitionPath: string,\n exists: (p: string) => boolean = existsSync,\n): Promise<{ allowed: boolean; count: number }> {\n const dir = chatDir(canvasRoot, chatId);\n const made = await madeInChat(dir);\n if (!made.includes(slug) && exists(definitionPath)) return { allowed: true, count: made.length };\n const claim = claimNewCreative(made, slug);\n if (claim.allowed && !made.includes(slug)) {\n try {\n await mkdir(dir, { recursive: true });\n await writeFile(path.join(dir, slug), \"\", { flag: \"wx\" });\n } catch {\n // Already claimed by a parallel scaffold of the same slug, or unwritable: best-effort.\n }\n }\n return claim;\n}\n\n/** What a scaffold answers past the limit: what to tell the person, not \"try again\". */\nexport function creativeLimitRefusal(slug: string): { ok: false; error: { code: string; message: string; fix: string } } {\n return {\n ok: false,\n error: {\n code: \"CREATIVE_LIMIT\",\n message: `${slug} would be new creative number ${NEW_CREATIVES_PER_CHAT + 1} in this chat. A chat makes at most ${NEW_CREATIVES_PER_CHAT} new creatives.`,\n fix: `Build nothing more. Finish and show the ${NEW_CREATIVES_PER_CHAT} you have, and tell the person in one line that a chat makes up to ${NEW_CREATIVES_PER_CHAT} new creatives, so the rest go in a new chat. Editing or resizing the ones already made still works here. Working as a subagent: return now and say the limit was reached.`,\n },\n };\n}\n\n/**\n * The scaffold commands' gate: refuse `slug` before any billed pass when it would be one new\n * creative too many for this chat. Exits the process with the refusal; returns when allowed.\n */\nexport async function enforceNewCreativeLimit(slug: string, canvasPath: string): Promise<void> {\n const claim = await claimNewCreativeInWorkspace(\n canvasOutputsRoot(canvasPath),\n slug,\n optionalChatId() ?? null,\n path.join(path.dirname(path.resolve(canvasPath)), \"_definition.md\"),\n );\n if (claim.allowed) return;\n process.stderr.write(`${JSON.stringify(creativeLimitRefusal(slug), null, 2)}\\n`);\n process.exit(2);\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,OAAO,SAAS,iBAAiB;AAC1C,OAAO,UAAU;AAmBV,IAAM,yBAAyB;AAG/B,SAAS,iBAAiB,MAAyB,MAAmD;AAC3G,MAAI,KAAK,SAAS,IAAI,EAAG,QAAO,EAAE,SAAS,MAAM,OAAO,KAAK,OAAO;AACpE,MAAI,KAAK,UAAU,uBAAwB,QAAO,EAAE,SAAS,OAAO,OAAO,KAAK,OAAO;AACvF,SAAO,EAAE,SAAS,MAAM,OAAO,KAAK,SAAS,EAAE;AACjD;AAEA,SAAS,QAAQ,YAAoB,QAA+B;AAClE,SAAO,KAAK,KAAK,YAAY,oBAAoB,UAAU,WAAW,QAAQ,mBAAmB,GAAG,CAAC;AACvG;AAEA,eAAe,WAAW,KAAgC;AACxD,SAAO,QAAQ,GAAG,EAAE,MAAM,MAAM,CAAC,CAAC;AACpC;AAOA,eAAsB,4BACpB,YACA,MACA,QACA,gBACA,SAAiC,YACa;AAC9C,QAAM,MAAM,QAAQ,YAAY,MAAM;AACtC,QAAM,OAAO,MAAM,WAAW,GAAG;AACjC,MAAI,CAAC,KAAK,SAAS,IAAI,KAAK,OAAO,cAAc,EAAG,QAAO,EAAE,SAAS,MAAM,OAAO,KAAK,OAAO;AAC/F,QAAM,QAAQ,iBAAiB,MAAM,IAAI;AACzC,MAAI,MAAM,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG;AACzC,QAAI;AACF,YAAM,MAAM,KAAK,EAAE,WAAW,KAAK,CAAC;AACpC,YAAM,UAAU,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,EAAE,MAAM,KAAK,CAAC;AAAA,IAC1D,QAAQ;AAAA,IAER;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,qBAAqB,MAAoF;AACvH,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,GAAG,IAAI,iCAAiC,yBAAyB,CAAC,uCAAuC,sBAAsB;AAAA,MACxI,KAAK,2CAA2C,sBAAsB,sEAAsE,sBAAsB;AAAA,IACpK;AAAA,EACF;AACF;AAMA,eAAsB,wBAAwB,MAAc,YAAmC;AAC7F,QAAM,QAAQ,MAAM;AAAA,IAClB,kBAAkB,UAAU;AAAA,IAC5B;AAAA,IACA,eAAe,KAAK;AAAA,IACpB,KAAK,KAAK,KAAK,QAAQ,KAAK,QAAQ,UAAU,CAAC,GAAG,gBAAgB;AAAA,EACpE;AACA,MAAI,MAAM,QAAS;AACnB,UAAQ,OAAO,MAAM,GAAG,KAAK,UAAU,qBAAqB,IAAI,GAAG,MAAM,CAAC,CAAC;AAAA,CAAI;AAC/E,UAAQ,KAAK,CAAC;AAChB;","names":[]}