@koda-sl/baker-cli 0.384.0 → 0.385.0-dev.f7ef4c7e1

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 (964) hide show
  1. package/README.md +1102 -218
  2. package/canvas/tiktok-captions-composition/index.html +5 -6
  3. package/canvas/tiktok-captions-composition/meta.json +5 -0
  4. package/dist/account-4UEZAY5T.js +49 -0
  5. package/dist/account-4UEZAY5T.js.map +1 -0
  6. package/dist/account-G6QK2VXQ.js +79 -0
  7. package/dist/account-G6QK2VXQ.js.map +1 -0
  8. package/dist/account-OINZG6UP.js +80 -0
  9. package/dist/account-OINZG6UP.js.map +1 -0
  10. package/dist/account-reads-ZKKDYHK5.js +218 -0
  11. package/dist/account-reads-ZKKDYHK5.js.map +1 -0
  12. package/dist/account-writes-N4JDIDRB.js +66 -0
  13. package/dist/account-writes-N4JDIDRB.js.map +1 -0
  14. package/dist/accounts-7KRRRVLB.js +611 -0
  15. package/dist/accounts-7KRRRVLB.js.map +1 -0
  16. package/dist/accounts-AEBQFCNH.js +114 -0
  17. package/dist/accounts-AEBQFCNH.js.map +1 -0
  18. package/dist/accounts-CNTOHRQ2.js +77 -0
  19. package/dist/accounts-CNTOHRQ2.js.map +1 -0
  20. package/dist/accounts-HP4BLKK5.js +75 -0
  21. package/dist/accounts-HP4BLKK5.js.map +1 -0
  22. package/dist/accounts-Z4CLGQXJ.js +115 -0
  23. package/dist/accounts-Z4CLGQXJ.js.map +1 -0
  24. package/dist/actions-QO7VQ6UV.js +55 -0
  25. package/dist/actions-QO7VQ6UV.js.map +1 -0
  26. package/dist/active-entities-YB46ADQN.js +103 -0
  27. package/dist/active-entities-YB46ADQN.js.map +1 -0
  28. package/dist/activities-DUAIQJLN.js +74 -0
  29. package/dist/activities-DUAIQJLN.js.map +1 -0
  30. package/dist/ad-group-writes-HL3EZ3BT.js +170 -0
  31. package/dist/ad-group-writes-HL3EZ3BT.js.map +1 -0
  32. package/dist/ad-groups-FGS5JJGN.js +68 -0
  33. package/dist/ad-groups-FGS5JJGN.js.map +1 -0
  34. package/dist/ad-writes-LX4ACUHB.js +174 -0
  35. package/dist/ad-writes-LX4ACUHB.js.map +1 -0
  36. package/dist/add-5CUXNOUM.js +97 -0
  37. package/dist/add-5CUXNOUM.js.map +1 -0
  38. package/dist/add-5JBMJHNW.js +302 -0
  39. package/dist/add-5JBMJHNW.js.map +1 -0
  40. package/dist/add-E66HBIZV.js +105 -0
  41. package/dist/add-E66HBIZV.js.map +1 -0
  42. package/dist/add-O76R2SPE.js +104 -0
  43. package/dist/add-O76R2SPE.js.map +1 -0
  44. package/dist/add-accounts-YME5SCXD.js +91 -0
  45. package/dist/add-accounts-YME5SCXD.js.map +1 -0
  46. package/dist/ads-65R3WMDU.js +128 -0
  47. package/dist/ads-65R3WMDU.js.map +1 -0
  48. package/dist/ads-O63J7BDF.js +113 -0
  49. package/dist/ads-O63J7BDF.js.map +1 -0
  50. package/dist/ads-T5JWNFSA.js +40 -0
  51. package/dist/ads-T5JWNFSA.js.map +1 -0
  52. package/dist/ads-TFZ5PXKS.js +77 -0
  53. package/dist/ads-TFZ5PXKS.js.map +1 -0
  54. package/dist/adsets-Y62JOOTV.js +176 -0
  55. package/dist/adsets-Y62JOOTV.js.map +1 -0
  56. package/dist/advertisers-LJ2HKJ4W.js +125 -0
  57. package/dist/advertisers-LJ2HKJ4W.js.map +1 -0
  58. package/dist/advertisers-WJW5DK3Q.js +120 -0
  59. package/dist/advertisers-WJW5DK3Q.js.map +1 -0
  60. package/dist/analytics-HIOC3TUK.js +1976 -0
  61. package/dist/analytics-HIOC3TUK.js.map +1 -0
  62. package/dist/analytics-U2NLDV2V.js +433 -0
  63. package/dist/analytics-U2NLDV2V.js.map +1 -0
  64. package/dist/animate-E3SKQ6SI.js +480 -0
  65. package/dist/animate-E3SKQ6SI.js.map +1 -0
  66. package/dist/assign-V7EAR7VD.js +77 -0
  67. package/dist/assign-V7EAR7VD.js.map +1 -0
  68. package/dist/audience-size-GS7EDBDP.js +94 -0
  69. package/dist/audience-size-GS7EDBDP.js.map +1 -0
  70. package/dist/audiences-5A6BCWSA.js +268 -0
  71. package/dist/audiences-5A6BCWSA.js.map +1 -0
  72. package/dist/audiences-6QOCASVV.js +78 -0
  73. package/dist/audiences-6QOCASVV.js.map +1 -0
  74. package/dist/audiences-O67NGIP5.js +85 -0
  75. package/dist/audiences-O67NGIP5.js.map +1 -0
  76. package/dist/audit-HWK24VXI.js +88 -0
  77. package/dist/audit-HWK24VXI.js.map +1 -0
  78. package/dist/audit-WMZERUAA.js +151 -0
  79. package/dist/audit-WMZERUAA.js.map +1 -0
  80. package/dist/autocomplete-KQSTLQFS.js +111 -0
  81. package/dist/autocomplete-KQSTLQFS.js.map +1 -0
  82. package/dist/avatars-HAFQZD63.js +38 -0
  83. package/dist/avatars-HAFQZD63.js.map +1 -0
  84. package/dist/bid-pricing-5SORFAPE.js +99 -0
  85. package/dist/bid-pricing-5SORFAPE.js.map +1 -0
  86. package/dist/brand-EBG436YV.js +22 -0
  87. package/dist/brand-EBG436YV.js.map +1 -0
  88. package/dist/brief-AYXXPTHC.js +490 -0
  89. package/dist/brief-AYXXPTHC.js.map +1 -0
  90. package/dist/businesses-65EWTK5E.js +53 -0
  91. package/dist/businesses-65EWTK5E.js.map +1 -0
  92. package/dist/campaign-groups-U7723BBE.js +95 -0
  93. package/dist/campaign-groups-U7723BBE.js.map +1 -0
  94. package/dist/campaign-writes-CXS4KYB5.js +165 -0
  95. package/dist/campaign-writes-CXS4KYB5.js.map +1 -0
  96. package/dist/campaign-writes-M6JLF5AC.js +170 -0
  97. package/dist/campaign-writes-M6JLF5AC.js.map +1 -0
  98. package/dist/campaigns-6SM2ZSIH.js +76 -0
  99. package/dist/campaigns-6SM2ZSIH.js.map +1 -0
  100. package/dist/campaigns-7DWD2A5U.js +109 -0
  101. package/dist/campaigns-7DWD2A5U.js.map +1 -0
  102. package/dist/campaigns-F66OYA6N.js +107 -0
  103. package/dist/campaigns-F66OYA6N.js.map +1 -0
  104. package/dist/campaigns-TD7ZB5DG.js +110 -0
  105. package/dist/campaigns-TD7ZB5DG.js.map +1 -0
  106. package/dist/canvas-3NYM5Y7G.js +46 -0
  107. package/dist/canvas-3NYM5Y7G.js.map +1 -0
  108. package/dist/capabilities-JNFYSGRD.js +144 -0
  109. package/dist/capabilities-JNFYSGRD.js.map +1 -0
  110. package/dist/cards-7HRC4UQQ.js +85 -0
  111. package/dist/cards-7HRC4UQQ.js.map +1 -0
  112. package/dist/catalog-N6MDMIVL.js +64 -0
  113. package/dist/catalog-N6MDMIVL.js.map +1 -0
  114. package/dist/catalogs-PB46L7FH.js +128 -0
  115. package/dist/catalogs-PB46L7FH.js.map +1 -0
  116. package/dist/changes-SASUQK62.js +135 -0
  117. package/dist/changes-SASUQK62.js.map +1 -0
  118. package/dist/chatgpt-JKBSAG25.js +47 -0
  119. package/dist/chatgpt-JKBSAG25.js.map +1 -0
  120. package/dist/chats-TUZANLQH.js +262 -0
  121. package/dist/chats-TUZANLQH.js.map +1 -0
  122. package/dist/chunk-25E6SC3F.js +363 -0
  123. package/dist/chunk-25E6SC3F.js.map +1 -0
  124. package/dist/chunk-2GVXNKAE.js +42 -0
  125. package/dist/chunk-2GVXNKAE.js.map +1 -0
  126. package/dist/{chunk-VLUGGVJL.js → chunk-2UFRHW3T.js} +12 -4
  127. package/dist/chunk-2UFRHW3T.js.map +1 -0
  128. package/dist/chunk-2Y5V23PU.js +29 -0
  129. package/dist/chunk-2Y5V23PU.js.map +1 -0
  130. package/dist/chunk-35NYNRRB.js +111 -0
  131. package/dist/chunk-35NYNRRB.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-3M6RNCDD.js +26 -0
  135. package/dist/chunk-3M6RNCDD.js.map +1 -0
  136. package/dist/chunk-3VXQYDJN.js +1743 -0
  137. package/dist/chunk-3VXQYDJN.js.map +1 -0
  138. package/dist/chunk-42DF5DF3.js +304 -0
  139. package/dist/chunk-42DF5DF3.js.map +1 -0
  140. package/dist/chunk-44VXKO65.js +106 -0
  141. package/dist/chunk-44VXKO65.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-4X3UR372.js +225 -0
  145. package/dist/chunk-4X3UR372.js.map +1 -0
  146. package/dist/chunk-5FEBUCJU.js +25 -0
  147. package/dist/chunk-5FEBUCJU.js.map +1 -0
  148. package/dist/chunk-5HYSKH77.js +315 -0
  149. package/dist/chunk-5HYSKH77.js.map +1 -0
  150. package/dist/chunk-5LBGFQWF.js +310 -0
  151. package/dist/chunk-5LBGFQWF.js.map +1 -0
  152. package/dist/chunk-5MBPIONY.js +29 -0
  153. package/dist/chunk-5MBPIONY.js.map +1 -0
  154. package/dist/chunk-6YMHGIHP.js +346 -0
  155. package/dist/chunk-6YMHGIHP.js.map +1 -0
  156. package/dist/{chunk-VZEDAFAR.js → chunk-6YYSUISH.js} +47 -8
  157. package/dist/chunk-6YYSUISH.js.map +1 -0
  158. package/dist/chunk-7GNU3P7X.js +175 -0
  159. package/dist/chunk-7GNU3P7X.js.map +1 -0
  160. package/dist/chunk-7OHWEF3I.js +98 -0
  161. package/dist/chunk-7OHWEF3I.js.map +1 -0
  162. package/dist/chunk-7TR3QVWM.js +57 -0
  163. package/dist/chunk-7TR3QVWM.js.map +1 -0
  164. package/dist/chunk-AADVCEL4.js +817 -0
  165. package/dist/chunk-AADVCEL4.js.map +1 -0
  166. package/dist/chunk-AG62YO7C.js +96 -0
  167. package/dist/chunk-AG62YO7C.js.map +1 -0
  168. package/dist/chunk-AIRIT4GF.js +75 -0
  169. package/dist/chunk-AIRIT4GF.js.map +1 -0
  170. package/dist/chunk-AP3TP6VG.js +139 -0
  171. package/dist/chunk-AP3TP6VG.js.map +1 -0
  172. package/dist/chunk-APP475IQ.js +474 -0
  173. package/dist/chunk-APP475IQ.js.map +1 -0
  174. package/dist/chunk-AR7PU7BB.js +76 -0
  175. package/dist/chunk-AR7PU7BB.js.map +1 -0
  176. package/dist/chunk-B4S72KSS.js +172 -0
  177. package/dist/chunk-B4S72KSS.js.map +1 -0
  178. package/dist/chunk-BIPIL4QA.js +486 -0
  179. package/dist/chunk-BIPIL4QA.js.map +1 -0
  180. package/dist/chunk-BPUSL5Y2.js +58 -0
  181. package/dist/chunk-BPUSL5Y2.js.map +1 -0
  182. package/dist/chunk-BR32GHYD.js +65 -0
  183. package/dist/chunk-BR32GHYD.js.map +1 -0
  184. package/dist/chunk-CAMX6OHF.js +3182 -0
  185. package/dist/chunk-CAMX6OHF.js.map +1 -0
  186. package/dist/chunk-CE7RTOX6.js +494 -0
  187. package/dist/chunk-CE7RTOX6.js.map +1 -0
  188. package/dist/{chunk-MF7YA62W.js → chunk-CUL3VB4L.js} +10 -5
  189. package/dist/chunk-CUL3VB4L.js.map +1 -0
  190. package/dist/chunk-CVEY353K.js +66 -0
  191. package/dist/chunk-CVEY353K.js.map +1 -0
  192. package/dist/chunk-CWXADUKL.js +1599 -0
  193. package/dist/chunk-CWXADUKL.js.map +1 -0
  194. package/dist/chunk-D46NOXRY.js +6212 -0
  195. package/dist/chunk-D46NOXRY.js.map +1 -0
  196. package/dist/chunk-D5FY4FAK.js +24 -0
  197. package/dist/chunk-D5FY4FAK.js.map +1 -0
  198. package/dist/chunk-DGCUPJZD.js +39 -0
  199. package/dist/chunk-DGCUPJZD.js.map +1 -0
  200. package/dist/chunk-DNCLWSHO.js +41 -0
  201. package/dist/chunk-DNCLWSHO.js.map +1 -0
  202. package/dist/chunk-DUPURL26.js +97 -0
  203. package/dist/chunk-DUPURL26.js.map +1 -0
  204. package/dist/chunk-DXJYQ5P2.js +625 -0
  205. package/dist/chunk-DXJYQ5P2.js.map +1 -0
  206. package/dist/chunk-E2ZOSNF5.js +96 -0
  207. package/dist/chunk-E2ZOSNF5.js.map +1 -0
  208. package/dist/chunk-E3HYHT7C.js +274 -0
  209. package/dist/chunk-E3HYHT7C.js.map +1 -0
  210. package/dist/chunk-EDLZGTGN.js +216 -0
  211. package/dist/chunk-EDLZGTGN.js.map +1 -0
  212. package/dist/{chunk-XHC4LMK4.js → chunk-EIGXX6KI.js} +16 -8
  213. package/dist/chunk-EIGXX6KI.js.map +1 -0
  214. package/dist/chunk-EPDE7ZRU.js +174 -0
  215. package/dist/chunk-EPDE7ZRU.js.map +1 -0
  216. package/dist/chunk-ERSX3MKH.js +34 -0
  217. package/dist/chunk-ERSX3MKH.js.map +1 -0
  218. package/dist/chunk-F7HRLPR5.js +67 -0
  219. package/dist/chunk-F7HRLPR5.js.map +1 -0
  220. package/dist/chunk-FEG6MN4H.js +84 -0
  221. package/dist/chunk-FEG6MN4H.js.map +1 -0
  222. package/dist/chunk-FKOECEVC.js +126 -0
  223. package/dist/chunk-FKOECEVC.js.map +1 -0
  224. package/dist/chunk-FMGW2NZI.js +106 -0
  225. package/dist/chunk-FMGW2NZI.js.map +1 -0
  226. package/dist/chunk-FPZKKNDK.js +98 -0
  227. package/dist/chunk-FPZKKNDK.js.map +1 -0
  228. package/dist/chunk-G3ZDLPNZ.js +206 -0
  229. package/dist/chunk-G3ZDLPNZ.js.map +1 -0
  230. package/dist/chunk-GIWHHCD6.js +145 -0
  231. package/dist/chunk-GIWHHCD6.js.map +1 -0
  232. package/dist/chunk-GOJXKIFQ.js +1605 -0
  233. package/dist/chunk-GOJXKIFQ.js.map +1 -0
  234. package/dist/chunk-GRQ2AXDX.js +9 -0
  235. package/dist/chunk-GRQ2AXDX.js.map +1 -0
  236. package/dist/chunk-GXDLWBOY.js +73 -0
  237. package/dist/chunk-GXDLWBOY.js.map +1 -0
  238. package/dist/chunk-HAE4WWFQ.js +455 -0
  239. package/dist/chunk-HAE4WWFQ.js.map +1 -0
  240. package/dist/chunk-HEEAC2YG.js +541 -0
  241. package/dist/chunk-HEEAC2YG.js.map +1 -0
  242. package/dist/chunk-I2DNBEV6.js +4227 -0
  243. package/dist/chunk-I2DNBEV6.js.map +1 -0
  244. package/dist/chunk-I4FTS5EE.js +455 -0
  245. package/dist/chunk-I4FTS5EE.js.map +1 -0
  246. package/dist/chunk-IA4KJU7O.js +3151 -0
  247. package/dist/chunk-IA4KJU7O.js.map +1 -0
  248. package/dist/chunk-IELPT4K2.js +74 -0
  249. package/dist/chunk-IELPT4K2.js.map +1 -0
  250. package/dist/chunk-IJMWEO4P.js +57 -0
  251. package/dist/chunk-IJMWEO4P.js.map +1 -0
  252. package/dist/chunk-IVIJJXXT.js +62 -0
  253. package/dist/chunk-IVIJJXXT.js.map +1 -0
  254. package/dist/chunk-JAU6OAFK.js +455 -0
  255. package/dist/chunk-JAU6OAFK.js.map +1 -0
  256. package/dist/chunk-JD3W3ON7.js +188 -0
  257. package/dist/chunk-JD3W3ON7.js.map +1 -0
  258. package/dist/chunk-JLWBK3VC.js +5187 -0
  259. package/dist/chunk-JLWBK3VC.js.map +1 -0
  260. package/dist/chunk-JPK34QPS.js +134 -0
  261. package/dist/chunk-JPK34QPS.js.map +1 -0
  262. package/dist/chunk-JXJD6RC5.js +169 -0
  263. package/dist/chunk-JXJD6RC5.js.map +1 -0
  264. package/dist/chunk-JXMZEOHV.js +333 -0
  265. package/dist/chunk-JXMZEOHV.js.map +1 -0
  266. package/dist/chunk-K6TDB2KV.js +1442 -0
  267. package/dist/chunk-K6TDB2KV.js.map +1 -0
  268. package/dist/chunk-KIGGMKAE.js +66 -0
  269. package/dist/chunk-KIGGMKAE.js.map +1 -0
  270. package/dist/chunk-KKJ4KJCW.js +29 -0
  271. package/dist/chunk-KKJ4KJCW.js.map +1 -0
  272. package/dist/chunk-KONA5PSR.js +55 -0
  273. package/dist/chunk-KONA5PSR.js.map +1 -0
  274. package/dist/chunk-KVHRW7KO.js +60 -0
  275. package/dist/chunk-KVHRW7KO.js.map +1 -0
  276. package/dist/chunk-LA6PPSNA.js +65 -0
  277. package/dist/chunk-LA6PPSNA.js.map +1 -0
  278. package/dist/chunk-LKPJADL2.js +74 -0
  279. package/dist/chunk-LKPJADL2.js.map +1 -0
  280. package/dist/chunk-LM7N7IQR.js +297 -0
  281. package/dist/chunk-LM7N7IQR.js.map +1 -0
  282. package/dist/chunk-LWAEHLKV.js +74 -0
  283. package/dist/chunk-LWAEHLKV.js.map +1 -0
  284. package/dist/chunk-M6UNISGO.js +66 -0
  285. package/dist/chunk-M6UNISGO.js.map +1 -0
  286. package/dist/chunk-MFSIACRB.js +207 -0
  287. package/dist/chunk-MFSIACRB.js.map +1 -0
  288. package/dist/chunk-MIJAGBEP.js +23992 -0
  289. package/dist/chunk-MIJAGBEP.js.map +1 -0
  290. package/dist/chunk-MYTDK3AL.js +2102 -0
  291. package/dist/chunk-MYTDK3AL.js.map +1 -0
  292. package/dist/chunk-MYURCD23.js +6667 -0
  293. package/dist/chunk-MYURCD23.js.map +1 -0
  294. package/dist/chunk-MZQ5DX6S.js +125 -0
  295. package/dist/chunk-MZQ5DX6S.js.map +1 -0
  296. package/dist/chunk-NFSLRRIE.js +77 -0
  297. package/dist/chunk-NFSLRRIE.js.map +1 -0
  298. package/dist/chunk-NMDP7FZP.js +479 -0
  299. package/dist/chunk-NMDP7FZP.js.map +1 -0
  300. package/dist/chunk-NMGELUIA.js +183 -0
  301. package/dist/chunk-NMGELUIA.js.map +1 -0
  302. package/dist/chunk-NOK7MSVJ.js +533 -0
  303. package/dist/chunk-NOK7MSVJ.js.map +1 -0
  304. package/dist/chunk-O2EVJALZ.js +133 -0
  305. package/dist/chunk-O2EVJALZ.js.map +1 -0
  306. package/dist/chunk-OIL6PU5W.js +35 -0
  307. package/dist/chunk-OIL6PU5W.js.map +1 -0
  308. package/dist/chunk-P4NSJS54.js +20 -0
  309. package/dist/chunk-P4NSJS54.js.map +1 -0
  310. package/dist/chunk-P5T7OZKV.js +26 -0
  311. package/dist/chunk-P5T7OZKV.js.map +1 -0
  312. package/dist/chunk-PFBQERWX.js +10 -0
  313. package/dist/chunk-PFBQERWX.js.map +1 -0
  314. package/dist/chunk-PSWVSLJU.js +56 -0
  315. package/dist/chunk-PSWVSLJU.js.map +1 -0
  316. package/dist/chunk-PY2NJ6XZ.js +191 -0
  317. package/dist/chunk-PY2NJ6XZ.js.map +1 -0
  318. package/dist/chunk-PZ4OM2LK.js +45 -0
  319. package/dist/chunk-PZ4OM2LK.js.map +1 -0
  320. package/dist/chunk-Q2EKN7NI.js +1079 -0
  321. package/dist/chunk-Q2EKN7NI.js.map +1 -0
  322. package/dist/chunk-Q6ULQMWG.js +41 -0
  323. package/dist/chunk-Q6ULQMWG.js.map +1 -0
  324. package/dist/chunk-QMLGJ5OW.js +2891 -0
  325. package/dist/chunk-QMLGJ5OW.js.map +1 -0
  326. package/dist/chunk-R7QV5N2S.js +846 -0
  327. package/dist/chunk-R7QV5N2S.js.map +1 -0
  328. package/dist/chunk-RCS4JKUD.js +23 -0
  329. package/dist/chunk-RCS4JKUD.js.map +1 -0
  330. package/dist/chunk-RR3KT2E7.js +665 -0
  331. package/dist/chunk-RR3KT2E7.js.map +1 -0
  332. package/dist/chunk-SEPPFM5S.js +228 -0
  333. package/dist/chunk-SEPPFM5S.js.map +1 -0
  334. package/dist/chunk-SQ7DRYCC.js +150 -0
  335. package/dist/chunk-SQ7DRYCC.js.map +1 -0
  336. package/dist/chunk-SYULM665.js +610 -0
  337. package/dist/chunk-SYULM665.js.map +1 -0
  338. package/dist/chunk-TKT3OHZ6.js +170 -0
  339. package/dist/chunk-TKT3OHZ6.js.map +1 -0
  340. package/dist/chunk-TNOSX3PJ.js +136 -0
  341. package/dist/chunk-TNOSX3PJ.js.map +1 -0
  342. package/dist/chunk-TTVKI54A.js +160 -0
  343. package/dist/chunk-TTVKI54A.js.map +1 -0
  344. package/dist/chunk-U55UZRIB.js +592 -0
  345. package/dist/chunk-U55UZRIB.js.map +1 -0
  346. package/dist/chunk-UI6BKYQD.js +225 -0
  347. package/dist/chunk-UI6BKYQD.js.map +1 -0
  348. package/dist/chunk-UKE4IZSA.js +337 -0
  349. package/dist/chunk-UKE4IZSA.js.map +1 -0
  350. package/dist/chunk-UKLDW4UW.js +46 -0
  351. package/dist/chunk-UKLDW4UW.js.map +1 -0
  352. package/dist/chunk-V6XXXEXZ.js +76 -0
  353. package/dist/chunk-V6XXXEXZ.js.map +1 -0
  354. package/dist/chunk-VCZSZCXY.js +197 -0
  355. package/dist/chunk-VCZSZCXY.js.map +1 -0
  356. package/dist/chunk-VJQWUF66.js +92 -0
  357. package/dist/chunk-VJQWUF66.js.map +1 -0
  358. package/dist/chunk-VSU5R34H.js +76 -0
  359. package/dist/chunk-VSU5R34H.js.map +1 -0
  360. package/dist/chunk-W4SA4CMR.js +296 -0
  361. package/dist/chunk-W4SA4CMR.js.map +1 -0
  362. package/dist/chunk-WFUMNDCE.js +111 -0
  363. package/dist/chunk-WFUMNDCE.js.map +1 -0
  364. package/dist/chunk-WGCGKU3M.js +51 -0
  365. package/dist/chunk-WGCGKU3M.js.map +1 -0
  366. package/dist/chunk-WHWNXLTD.js +166 -0
  367. package/dist/chunk-WHWNXLTD.js.map +1 -0
  368. package/dist/chunk-WN42X2OE.js +509 -0
  369. package/dist/chunk-WN42X2OE.js.map +1 -0
  370. package/dist/chunk-WN4KX7GE.js +25 -0
  371. package/dist/chunk-WN4KX7GE.js.map +1 -0
  372. package/dist/chunk-XIY7P54H.js +84 -0
  373. package/dist/chunk-XIY7P54H.js.map +1 -0
  374. package/dist/chunk-XPLTWUMN.js +103 -0
  375. package/dist/chunk-XPLTWUMN.js.map +1 -0
  376. package/dist/chunk-Y6T5ZKBK.js +19 -0
  377. package/dist/chunk-Y6T5ZKBK.js.map +1 -0
  378. package/dist/chunk-YGGRQXDP.js +382 -0
  379. package/dist/chunk-YGGRQXDP.js.map +1 -0
  380. package/dist/chunk-YMBB4JBD.js +1830 -0
  381. package/dist/chunk-YMBB4JBD.js.map +1 -0
  382. package/dist/chunk-YNWM426O.js +159 -0
  383. package/dist/chunk-YNWM426O.js.map +1 -0
  384. package/dist/chunk-YQSBHWOI.js +41 -0
  385. package/dist/chunk-YTF3IVMF.js +149 -0
  386. package/dist/chunk-YTF3IVMF.js.map +1 -0
  387. package/dist/chunk-Z3ENMCFE.js +94 -0
  388. package/dist/chunk-Z3ENMCFE.js.map +1 -0
  389. package/dist/chunk-Z7MWSXLG.js +94 -0
  390. package/dist/chunk-Z7MWSXLG.js.map +1 -0
  391. package/dist/chunk-ZIXHS6AM.js +42 -0
  392. package/dist/chunk-ZIXHS6AM.js.map +1 -0
  393. package/dist/chunk-ZJ7TQUCU.js +4410 -0
  394. package/dist/chunk-ZJ7TQUCU.js.map +1 -0
  395. package/dist/chunk-ZNQRDLSS.js +52 -0
  396. package/dist/chunk-ZNQRDLSS.js.map +1 -0
  397. package/dist/chunk-ZPGGSXU3.js +275 -0
  398. package/dist/chunk-ZPGGSXU3.js.map +1 -0
  399. package/dist/claim-NXYQZEMC.js +197 -0
  400. package/dist/claim-NXYQZEMC.js.map +1 -0
  401. package/dist/cli.js +104 -69952
  402. package/dist/cli.js.map +1 -1
  403. package/dist/client-EURRWXPW.js +19 -0
  404. package/dist/code-FKQW7V7N.js +76 -0
  405. package/dist/code-FKQW7V7N.js.map +1 -0
  406. package/dist/companies-5ZH47E4H.js +195 -0
  407. package/dist/companies-5ZH47E4H.js.map +1 -0
  408. package/dist/complete-62OQPRHW.js +81 -0
  409. package/dist/complete-62OQPRHW.js.map +1 -0
  410. package/dist/config-OZOHIAOJ.js +88 -0
  411. package/dist/config-OZOHIAOJ.js.map +1 -0
  412. package/dist/connect-6DQFYKGN.js +42 -0
  413. package/dist/content-PCGSX2QU.js +85 -0
  414. package/dist/content-PCGSX2QU.js.map +1 -0
  415. package/dist/conversation-NS7JHTPK.js +93 -0
  416. package/dist/conversation-NS7JHTPK.js.map +1 -0
  417. package/dist/conversion-report-7QSWB2FY.js +125 -0
  418. package/dist/conversion-report-7QSWB2FY.js.map +1 -0
  419. package/dist/conversion-upload-command-XESIAQPU.js +438 -0
  420. package/dist/conversion-upload-command-XESIAQPU.js.map +1 -0
  421. package/dist/conversion-writes-BGOVLBS5.js +120 -0
  422. package/dist/conversion-writes-BGOVLBS5.js.map +1 -0
  423. package/dist/conversions-46MI57VC.js +135 -0
  424. package/dist/conversions-46MI57VC.js.map +1 -0
  425. package/dist/conversions-IYIWW4O7.js +76 -0
  426. package/dist/conversions-IYIWW4O7.js.map +1 -0
  427. package/dist/countries-5OBUVLLD.js +82 -0
  428. package/dist/countries-5OBUVLLD.js.map +1 -0
  429. package/dist/create-BEDPXUB7.js +236 -0
  430. package/dist/create-BEDPXUB7.js.map +1 -0
  431. package/dist/create-LLTMBBGV.js +207 -0
  432. package/dist/create-LLTMBBGV.js.map +1 -0
  433. package/dist/create-VNJ2VH3A.js +59 -0
  434. package/dist/create-VNJ2VH3A.js.map +1 -0
  435. package/dist/create-ZYKG2XOP.js +138 -0
  436. package/dist/create-ZYKG2XOP.js.map +1 -0
  437. package/dist/creatives-2LL66X4E.js +51 -0
  438. package/dist/creatives-2LL66X4E.js.map +1 -0
  439. package/dist/creatives-3MEMSUKJ.js +182 -0
  440. package/dist/creatives-3MEMSUKJ.js.map +1 -0
  441. package/dist/creatives-XI2DGQUZ.js +87 -0
  442. package/dist/creatives-XI2DGQUZ.js.map +1 -0
  443. package/dist/credentials-63PRTM3K.js +287 -0
  444. package/dist/credentials-63PRTM3K.js.map +1 -0
  445. package/dist/critique-IQI7CCTT.js +213 -0
  446. package/dist/critique-IQI7CCTT.js.map +1 -0
  447. package/dist/critique-UV7FPG45.js +1449 -0
  448. package/dist/critique-UV7FPG45.js.map +1 -0
  449. package/dist/crm-OERYUOBS.js +224 -0
  450. package/dist/crm-OERYUOBS.js.map +1 -0
  451. package/dist/crm-VNO3QTQG.js +318 -0
  452. package/dist/crm-VNO3QTQG.js.map +1 -0
  453. package/dist/crop-B52KIQ4O.js +113 -0
  454. package/dist/crop-B52KIQ4O.js.map +1 -0
  455. package/dist/currency-GGWF5DMU.js +88 -0
  456. package/dist/currency-GGWF5DMU.js.map +1 -0
  457. package/dist/custom-conversions-7WDBTC4X.js +125 -0
  458. package/dist/custom-conversions-7WDBTC4X.js.map +1 -0
  459. package/dist/customers-FOPXEGCB.js +56 -0
  460. package/dist/decide-PK7WNSQ2.js +199 -0
  461. package/dist/decide-PK7WNSQ2.js.map +1 -0
  462. package/dist/delete-56LKNEGA.js +71 -0
  463. package/dist/delete-56LKNEGA.js.map +1 -0
  464. package/dist/delete-EZ7HHOOD.js +69 -0
  465. package/dist/delete-EZ7HHOOD.js.map +1 -0
  466. package/dist/delete-JSYM7QKN.js +54 -0
  467. package/dist/delete-JSYM7QKN.js.map +1 -0
  468. package/dist/delete-NOUWBNZM.js +66 -0
  469. package/dist/delete-NOUWBNZM.js.map +1 -0
  470. package/dist/delete-T33AWV63.js +63 -0
  471. package/dist/delete-T33AWV63.js.map +1 -0
  472. package/dist/delete-YSYVFL6W.js +71 -0
  473. package/dist/delete-YSYVFL6W.js.map +1 -0
  474. package/dist/demographics-LQGFUS4F.js +138 -0
  475. package/dist/demographics-LQGFUS4F.js.map +1 -0
  476. package/dist/describe-AAVYIFE3.js +97 -0
  477. package/dist/describe-AAVYIFE3.js.map +1 -0
  478. package/dist/describe-UQFLWVFR.js +97 -0
  479. package/dist/describe-UQFLWVFR.js.map +1 -0
  480. package/dist/dimensions-QDXBG2XC.js +101 -0
  481. package/dist/dimensions-QDXBG2XC.js.map +1 -0
  482. package/dist/discard-V4LQ7ZGA.js +66 -0
  483. package/dist/discard-V4LQ7ZGA.js.map +1 -0
  484. package/dist/discover-6TEBPVNC.js +93 -0
  485. package/dist/discover-6TEBPVNC.js.map +1 -0
  486. package/dist/discover-SBZPB7T2.js +172 -0
  487. package/dist/discover-SBZPB7T2.js.map +1 -0
  488. package/dist/domain-65J2DEDB.js +98 -0
  489. package/dist/domain-65J2DEDB.js.map +1 -0
  490. package/dist/download-LV3GPOWV.js +299 -0
  491. package/dist/download-LV3GPOWV.js.map +1 -0
  492. package/dist/draft-DDFFTZ43.js +233 -0
  493. package/dist/draft-DDFFTZ43.js.map +1 -0
  494. package/dist/draft-FIKJXNIQ.js +281 -0
  495. package/dist/draft-FIKJXNIQ.js.map +1 -0
  496. package/dist/draft-GYGWTMBU.js +307 -0
  497. package/dist/draft-GYGWTMBU.js.map +1 -0
  498. package/dist/draft-KNXVZAZV.js +217 -0
  499. package/dist/draft-KNXVZAZV.js.map +1 -0
  500. package/dist/draft-N4LFPKTA.js +100 -0
  501. package/dist/draft-N4LFPKTA.js.map +1 -0
  502. package/dist/draft-NG2DPL2X.js +306 -0
  503. package/dist/draft-NG2DPL2X.js.map +1 -0
  504. package/dist/draft-QILZ7M7N.js +328 -0
  505. package/dist/draft-QILZ7M7N.js.map +1 -0
  506. package/dist/draft-XPO5RWST.js +103 -0
  507. package/dist/draft-XPO5RWST.js.map +1 -0
  508. package/dist/engine/index.d.ts +213 -127
  509. package/dist/engine/index.js +18 -4
  510. package/dist/{env-4P5HOGNA.js → env-TQ2XS2KY.js} +12 -2
  511. package/dist/env-TQ2XS2KY.js.map +1 -0
  512. package/dist/experiment-FQNKMORZ.js +1397 -0
  513. package/dist/experiment-FQNKMORZ.js.map +1 -0
  514. package/dist/export-4IZQZAPF.js +168 -0
  515. package/dist/export-4IZQZAPF.js.map +1 -0
  516. package/dist/extract-DZMGVQ7D.js +113 -0
  517. package/dist/extract-DZMGVQ7D.js.map +1 -0
  518. package/dist/facets-FAAOFHBF.js +114 -0
  519. package/dist/facets-FAAOFHBF.js.map +1 -0
  520. package/dist/favorites-DD2LNSTG.js +178 -0
  521. package/dist/favorites-DD2LNSTG.js.map +1 -0
  522. package/dist/feed-TUVFNX2U.js +177 -0
  523. package/dist/feed-TUVFNX2U.js.map +1 -0
  524. package/dist/feedback-NWOOZOFW.js +66 -0
  525. package/dist/feedback-NWOOZOFW.js.map +1 -0
  526. package/dist/feedback-record-CFPUKLMY.js +175 -0
  527. package/dist/feedback-record-CFPUKLMY.js.map +1 -0
  528. package/dist/fetch-LEY77E7V.js +176 -0
  529. package/dist/fetch-LEY77E7V.js.map +1 -0
  530. package/dist/fetch-O6UHNXWB.js +139 -0
  531. package/dist/fetch-O6UHNXWB.js.map +1 -0
  532. package/dist/find-4XKIBF4D.js +134 -0
  533. package/dist/find-4XKIBF4D.js.map +1 -0
  534. package/dist/fit-ODVVXV2Q.js +45 -0
  535. package/dist/fit-ODVVXV2Q.js.map +1 -0
  536. package/dist/flows-QKPC63AF.js +247 -0
  537. package/dist/flows-QKPC63AF.js.map +1 -0
  538. package/dist/follow-RCOXTZGY.js +94 -0
  539. package/dist/follow-RCOXTZGY.js.map +1 -0
  540. package/dist/follow-competitors-SQ5XBFTK.js +112 -0
  541. package/dist/follow-competitors-SQ5XBFTK.js.map +1 -0
  542. package/dist/following-VDU3BHC4.js +113 -0
  543. package/dist/following-VDU3BHC4.js.map +1 -0
  544. package/dist/fonts-WM2MJDVJ.js +34 -0
  545. package/dist/fonts-WM2MJDVJ.js.map +1 -0
  546. package/dist/forecast-2GJKBNBM.js +168 -0
  547. package/dist/forecast-2GJKBNBM.js.map +1 -0
  548. package/dist/forecast-7K3TAHDL.js +104 -0
  549. package/dist/forecast-7K3TAHDL.js.map +1 -0
  550. package/dist/funding-HTFVZLLG.js +85 -0
  551. package/dist/funding-HTFVZLLG.js.map +1 -0
  552. package/dist/funnel-CSPK5SPZ.js +394 -0
  553. package/dist/funnel-CSPK5SPZ.js.map +1 -0
  554. package/dist/ga4-2RC4EH7V.js +55 -0
  555. package/dist/ga4-2RC4EH7V.js.map +1 -0
  556. package/dist/generate-TPDOBCKQ.js +262 -0
  557. package/dist/generate-TPDOBCKQ.js.map +1 -0
  558. package/dist/get-4YZ4PI3B.js +56 -0
  559. package/dist/get-4YZ4PI3B.js.map +1 -0
  560. package/dist/get-FH2LIEYL.js +63 -0
  561. package/dist/get-FH2LIEYL.js.map +1 -0
  562. package/dist/get-GZLCDXXW.js +61 -0
  563. package/dist/get-GZLCDXXW.js.map +1 -0
  564. package/dist/get-HFU6ZJPX.js +78 -0
  565. package/dist/get-HFU6ZJPX.js.map +1 -0
  566. package/dist/get-TSPQYEKC.js +59 -0
  567. package/dist/get-TSPQYEKC.js.map +1 -0
  568. package/dist/get-TY3RXYNZ.js +63 -0
  569. package/dist/get-TY3RXYNZ.js.map +1 -0
  570. package/dist/get-VPW33XTN.js +92 -0
  571. package/dist/get-VPW33XTN.js.map +1 -0
  572. package/dist/gif-JFEYPFFI.js +94 -0
  573. package/dist/gif-JFEYPFFI.js.map +1 -0
  574. package/dist/google-R6RD4L6Z.js +136 -0
  575. package/dist/google-R6RD4L6Z.js.map +1 -0
  576. package/dist/google-VPQNRVIB.js +3190 -0
  577. package/dist/google-VPQNRVIB.js.map +1 -0
  578. package/dist/google-ads-WWM5KIRS.js +195 -0
  579. package/dist/google-ads-WWM5KIRS.js.map +1 -0
  580. package/dist/group-7AV6UL26.js +43 -0
  581. package/dist/group-7AV6UL26.js.map +1 -0
  582. package/dist/group-BVQZEZIC.js +43 -0
  583. package/dist/group-BVQZEZIC.js.map +1 -0
  584. package/dist/gsc-SQ42WAQE.js +30 -0
  585. package/dist/gsc-SQ42WAQE.js.map +1 -0
  586. package/dist/history-BNNHFURR.js +67 -0
  587. package/dist/history-BNNHFURR.js.map +1 -0
  588. package/dist/history-KBK5TP65.js +133 -0
  589. package/dist/history-KBK5TP65.js.map +1 -0
  590. package/dist/hubspot-GAAWWVLL.js +779 -0
  591. package/dist/hubspot-GAAWWVLL.js.map +1 -0
  592. package/dist/icon-OYTTSNSL.js +137 -0
  593. package/dist/icon-OYTTSNSL.js.map +1 -0
  594. package/dist/ideas-CELMD3BL.js +32 -0
  595. package/dist/ideas-CELMD3BL.js.map +1 -0
  596. package/dist/images-QHV4ECAP.js +90 -0
  597. package/dist/images-QHV4ECAP.js.map +1 -0
  598. package/dist/improve-W6GZNT2A.js +86 -0
  599. package/dist/improve-W6GZNT2A.js.map +1 -0
  600. package/dist/ingest-SH35YX6X.js +23 -0
  601. package/dist/ingest-SH35YX6X.js.map +1 -0
  602. package/dist/ingest-UWCGJZXV.js +107 -0
  603. package/dist/ingest-UWCGJZXV.js.map +1 -0
  604. package/dist/insights-IW7LGAWU.js +423 -0
  605. package/dist/insights-IW7LGAWU.js.map +1 -0
  606. package/dist/insights-QH54F56A.js +122 -0
  607. package/dist/insights-QH54F56A.js.map +1 -0
  608. package/dist/inspect-6Z6HEMBI.js +189 -0
  609. package/dist/inspect-6Z6HEMBI.js.map +1 -0
  610. package/dist/inspiration-RDQ3Y3N3.js +53 -0
  611. package/dist/inspiration-RDQ3Y3N3.js.map +1 -0
  612. package/dist/intent-5GSSCFZ2.js +95 -0
  613. package/dist/intent-5GSSCFZ2.js.map +1 -0
  614. package/dist/job-URVXJP75.js +202 -0
  615. package/dist/job-URVXJP75.js.map +1 -0
  616. package/dist/job-create-S4SECUVF.js +109 -0
  617. package/dist/job-create-S4SECUVF.js.map +1 -0
  618. package/dist/job-status-253SUCTJ.js +74 -0
  619. package/dist/job-status-253SUCTJ.js.map +1 -0
  620. package/dist/keep-GPSYDIGJ.js +78 -0
  621. package/dist/keep-GPSYDIGJ.js.map +1 -0
  622. package/dist/keyword-gap-NTFDX43B.js +130 -0
  623. package/dist/keyword-gap-NTFDX43B.js.map +1 -0
  624. package/dist/keyword-metrics-NKZRCF4L.js +197 -0
  625. package/dist/keyword-metrics-NKZRCF4L.js.map +1 -0
  626. package/dist/keywords-for-site-NQUPJNUR.js +128 -0
  627. package/dist/keywords-for-site-NQUPJNUR.js.map +1 -0
  628. package/dist/landing-AHNZSZHY.js +28 -0
  629. package/dist/landing-AHNZSZHY.js.map +1 -0
  630. package/dist/landings-NEF4PQL2.js +151 -0
  631. package/dist/landings-NEF4PQL2.js.map +1 -0
  632. package/dist/languages-3RDPPPTE.js +55 -0
  633. package/dist/languages-3RDPPPTE.js.map +1 -0
  634. package/dist/languages-CQX3YOIT.js +40 -0
  635. package/dist/languages-CQX3YOIT.js.map +1 -0
  636. package/dist/launches-GBHLJH5S.js +19 -0
  637. package/dist/launches-GBHLJH5S.js.map +1 -0
  638. package/dist/layerize-Q56C6LFG.js +190 -0
  639. package/dist/layerize-Q56C6LFG.js.map +1 -0
  640. package/dist/leads-5MUVPXA2.js +90 -0
  641. package/dist/leads-5MUVPXA2.js.map +1 -0
  642. package/dist/leads-JHUM6FYR.js +293 -0
  643. package/dist/leads-JHUM6FYR.js.map +1 -0
  644. package/dist/learn-EMV7RWTB.js +203 -0
  645. package/dist/learn-EMV7RWTB.js.map +1 -0
  646. package/dist/library-6VUFHTEK.js +109 -0
  647. package/dist/library-6VUFHTEK.js.map +1 -0
  648. package/dist/lighthouse-57U2GMPV.js +75 -0
  649. package/dist/lighthouse-57U2GMPV.js.map +1 -0
  650. package/dist/line-item-writes-GMIZYHLB.js +208 -0
  651. package/dist/line-item-writes-GMIZYHLB.js.map +1 -0
  652. package/dist/line-items-B5HAC47U.js +103 -0
  653. package/dist/line-items-B5HAC47U.js.map +1 -0
  654. package/dist/link-B6ZJFGFE.js +64 -0
  655. package/dist/link-B6ZJFGFE.js.map +1 -0
  656. package/dist/linkedin-FJ3OUYT2.js +1008 -0
  657. package/dist/linkedin-FJ3OUYT2.js.map +1 -0
  658. package/dist/list-2MBSU4ZX.js +63 -0
  659. package/dist/list-2MBSU4ZX.js.map +1 -0
  660. package/dist/list-EFUPHLG3.js +303 -0
  661. package/dist/list-EFUPHLG3.js.map +1 -0
  662. package/dist/list-G57ZO4PG.js +50 -0
  663. package/dist/list-G57ZO4PG.js.map +1 -0
  664. package/dist/list-JCSWZWDI.js +57 -0
  665. package/dist/list-JCSWZWDI.js.map +1 -0
  666. package/dist/list-QOSPRCH4.js +151 -0
  667. package/dist/list-QOSPRCH4.js.map +1 -0
  668. package/dist/list-RINCJOAC.js +76 -0
  669. package/dist/list-RINCJOAC.js.map +1 -0
  670. package/dist/list-SRNXHS6L.js +51 -0
  671. package/dist/list-SRNXHS6L.js.map +1 -0
  672. package/dist/list-YJSO4M5Q.js +65 -0
  673. package/dist/list-YJSO4M5Q.js.map +1 -0
  674. package/dist/locations-HW2Y5OJO.js +67 -0
  675. package/dist/locations-HW2Y5OJO.js.map +1 -0
  676. package/dist/locations-XOHI3VWI.js +40 -0
  677. package/dist/locations-XOHI3VWI.js.map +1 -0
  678. package/dist/log-SZDYUMM3.js +92 -0
  679. package/dist/log-SZDYUMM3.js.map +1 -0
  680. package/dist/logo-KXTGIYBI.js +18 -0
  681. package/dist/logo-KXTGIYBI.js.map +1 -0
  682. package/dist/lookup-X6O5UNJH.js +22 -0
  683. package/dist/lookup-X6O5UNJH.js.map +1 -0
  684. package/dist/make-SGCBJTRR.js +633 -0
  685. package/dist/make-SGCBJTRR.js.map +1 -0
  686. package/dist/map-ZK46VVL3.js +404 -0
  687. package/dist/map-ZK46VVL3.js.map +1 -0
  688. package/dist/mcp-NCM5TQUG.js +463 -0
  689. package/dist/mcp-NCM5TQUG.js.map +1 -0
  690. package/dist/media-MI4EE7L4.js +89 -0
  691. package/dist/media-MI4EE7L4.js.map +1 -0
  692. package/dist/media-QUTQOBA7.js +15 -0
  693. package/dist/media-QUTQOBA7.js.map +1 -0
  694. package/dist/media-sources-MS3RMQ6A.js +32 -0
  695. package/dist/media-sources-MS3RMQ6A.js.map +1 -0
  696. package/dist/members-IGHLTQKW.js +44 -0
  697. package/dist/members-IGHLTQKW.js.map +1 -0
  698. package/dist/meta-E3JOUOSS.js +69 -0
  699. package/dist/meta-E3JOUOSS.js.map +1 -0
  700. package/dist/metrics-HQ7XJAYQ.js +152 -0
  701. package/dist/metrics-HQ7XJAYQ.js.map +1 -0
  702. package/dist/models-PGX3FBHU.js +155 -0
  703. package/dist/models-PGX3FBHU.js.map +1 -0
  704. package/dist/normalize-FPJ6GSOY.js +806 -0
  705. package/dist/normalize-FPJ6GSOY.js.map +1 -0
  706. package/dist/normalize-LHD5LVFK.js +141 -0
  707. package/dist/normalize-LHD5LVFK.js.map +1 -0
  708. package/dist/options-CPHN3RMO.js +121 -0
  709. package/dist/options-CPHN3RMO.js.map +1 -0
  710. package/dist/output-GQFJ2T5B.js +24 -0
  711. package/dist/output-GQFJ2T5B.js.map +1 -0
  712. package/dist/page-VTTSBC6Y.js +105 -0
  713. package/dist/page-VTTSBC6Y.js.map +1 -0
  714. package/dist/pages-PMZVNVQM.js +66 -0
  715. package/dist/pages-PMZVNVQM.js.map +1 -0
  716. package/dist/performance-ECIJJEFV.js +24 -0
  717. package/dist/performance-ECIJJEFV.js.map +1 -0
  718. package/dist/pinterest-UDNGOWDM.js +96 -0
  719. package/dist/pinterest-UDNGOWDM.js.map +1 -0
  720. package/dist/pixels-OYZDGCH3.js +108 -0
  721. package/dist/pixels-OYZDGCH3.js.map +1 -0
  722. package/dist/pixels-XKGNTCFX.js +60 -0
  723. package/dist/pixels-XKGNTCFX.js.map +1 -0
  724. package/dist/plan-DZS3TVIJ.js +207 -0
  725. package/dist/plan-DZS3TVIJ.js.map +1 -0
  726. package/dist/preview-DR6MXOGI.js +169 -0
  727. package/dist/preview-DR6MXOGI.js.map +1 -0
  728. package/dist/profile-VOVZG44G.js +159 -0
  729. package/dist/profile-VOVZG44G.js.map +1 -0
  730. package/dist/promoted-tweet-writes-UJJI5SQL.js +180 -0
  731. package/dist/promoted-tweet-writes-UJJI5SQL.js.map +1 -0
  732. package/dist/promoted-tweets-O5RCETPX.js +119 -0
  733. package/dist/promoted-tweets-O5RCETPX.js.map +1 -0
  734. package/dist/properties-MKVF7MUK.js +101 -0
  735. package/dist/properties-MKVF7MUK.js.map +1 -0
  736. package/dist/publish-RRYU3NNX.js +322 -0
  737. package/dist/publish-RRYU3NNX.js.map +1 -0
  738. package/dist/query-CNWQ6STR.js +61 -0
  739. package/dist/query-CNWQ6STR.js.map +1 -0
  740. package/dist/query-DBSBZ73C.js +247 -0
  741. package/dist/query-DBSBZ73C.js.map +1 -0
  742. package/dist/query-QK4U4TEL.js +236 -0
  743. package/dist/query-QK4U4TEL.js.map +1 -0
  744. package/dist/questionnaire-OVJWNUVV.js +93 -0
  745. package/dist/questionnaire-OVJWNUVV.js.map +1 -0
  746. package/dist/read-L2QIVJTL.js +141 -0
  747. package/dist/read-L2QIVJTL.js.map +1 -0
  748. package/dist/reddit-K6CKJZRF.js +26 -0
  749. package/dist/reddit-K6CKJZRF.js.map +1 -0
  750. package/dist/refresh-IF4P57JJ.js +94 -0
  751. package/dist/refresh-IF4P57JJ.js.map +1 -0
  752. package/dist/release-H4EL3J6R.js +60 -0
  753. package/dist/release-H4EL3J6R.js.map +1 -0
  754. package/dist/relevant-pages-CRI2NLWG.js +99 -0
  755. package/dist/relevant-pages-CRI2NLWG.js.map +1 -0
  756. package/dist/remove-DKSHQRNS.js +50 -0
  757. package/dist/remove-DKSHQRNS.js.map +1 -0
  758. package/dist/remove-JKSCGKQG.js +48 -0
  759. package/dist/remove-JKSCGKQG.js.map +1 -0
  760. package/dist/reopen-B26V2GEJ.js +63 -0
  761. package/dist/reopen-B26V2GEJ.js.map +1 -0
  762. package/dist/rerun-6WKE4MPY.js +84 -0
  763. package/dist/rerun-6WKE4MPY.js.map +1 -0
  764. package/dist/research-O3IVF3MM.js +62 -0
  765. package/dist/research-O3IVF3MM.js.map +1 -0
  766. package/dist/research-SC7S6IPV.js +262 -0
  767. package/dist/research-SC7S6IPV.js.map +1 -0
  768. package/dist/reset-7HMOB2KE.js +54 -0
  769. package/dist/reset-7HMOB2KE.js.map +1 -0
  770. package/dist/reset-THPEXZDK.js +54 -0
  771. package/dist/reset-THPEXZDK.js.map +1 -0
  772. package/dist/resolve-HX5R52A3.js +121 -0
  773. package/dist/resolve-HX5R52A3.js.map +1 -0
  774. package/dist/retry-4ENRUJOJ.js +62 -0
  775. package/dist/retry-4ENRUJOJ.js.map +1 -0
  776. package/dist/retry-ELIMI7U5.js +60 -0
  777. package/dist/retry-ELIMI7U5.js.map +1 -0
  778. package/dist/retry-failed-2OYMCB55.js +45 -0
  779. package/dist/retry-failed-2OYMCB55.js.map +1 -0
  780. package/dist/run-CY4BAIQI.js +65 -0
  781. package/dist/run-CY4BAIQI.js.map +1 -0
  782. package/dist/run-GXPPPDGI.js +59 -0
  783. package/dist/run-GXPPPDGI.js.map +1 -0
  784. package/dist/scaffold-ad-X6VPBVTB.js +1548 -0
  785. package/dist/scaffold-ad-X6VPBVTB.js.map +1 -0
  786. package/dist/scaffold-static-ad-LKOOZSDP.js +971 -0
  787. package/dist/scaffold-static-ad-LKOOZSDP.js.map +1 -0
  788. package/dist/scaffold-video-NAOIFIM4.js +872 -0
  789. package/dist/scaffold-video-NAOIFIM4.js.map +1 -0
  790. package/dist/schedule-TLYT5UXM.js +66 -0
  791. package/dist/schedule-TLYT5UXM.js.map +1 -0
  792. package/dist/schedule-V654LLZ2.js +61 -0
  793. package/dist/schedule-V654LLZ2.js.map +1 -0
  794. package/dist/scheduled-agents-MJNUZYEK.js +49 -0
  795. package/dist/scheduled-agents-MJNUZYEK.js.map +1 -0
  796. package/dist/schema-DN4WKWUM.js +132 -0
  797. package/dist/schema-DN4WKWUM.js.map +1 -0
  798. package/dist/schema-MZTVCNP4.js +63 -0
  799. package/dist/schema-MZTVCNP4.js.map +1 -0
  800. package/dist/scrape-T3DA7ER7.js +2241 -0
  801. package/dist/scrape-T3DA7ER7.js.map +1 -0
  802. package/dist/screenshot-EIGC6SZB.js +102 -0
  803. package/dist/screenshot-EIGC6SZB.js.map +1 -0
  804. package/dist/search-2SVUDZIX.js +224 -0
  805. package/dist/search-2SVUDZIX.js.map +1 -0
  806. package/dist/search-34NFJ5F6.js +26 -0
  807. package/dist/search-34NFJ5F6.js.map +1 -0
  808. package/dist/search-BWE3OPOY.js +91 -0
  809. package/dist/search-BWE3OPOY.js.map +1 -0
  810. package/dist/search-EYYAOZND.js +92 -0
  811. package/dist/search-EYYAOZND.js.map +1 -0
  812. package/dist/search-EZZMYU4Y.js +174 -0
  813. package/dist/search-EZZMYU4Y.js.map +1 -0
  814. package/dist/search-copy-VKQ2OOBM.js +168 -0
  815. package/dist/search-copy-VKQ2OOBM.js.map +1 -0
  816. package/dist/seeds-HQYSVFIX.js +101 -0
  817. package/dist/seeds-HQYSVFIX.js.map +1 -0
  818. package/dist/select-3SIBANY6.js +94 -0
  819. package/dist/select-3SIBANY6.js.map +1 -0
  820. package/dist/sends-I7VQFE4S.js +309 -0
  821. package/dist/sends-I7VQFE4S.js.map +1 -0
  822. package/dist/sequences-JHSEJJGN.js +146 -0
  823. package/dist/sequences-JHSEJJGN.js.map +1 -0
  824. package/dist/set-prompt-RAG7RJOD.js +185 -0
  825. package/dist/set-prompt-RAG7RJOD.js.map +1 -0
  826. package/dist/setup-links-TNRBFS5Z.js +141 -0
  827. package/dist/setup-links-TNRBFS5Z.js.map +1 -0
  828. package/dist/{shared-J7DQZ2ED.js → shared-AT3FXPAG.js} +8 -6
  829. package/dist/shared-AT3FXPAG.js.map +1 -0
  830. package/dist/shopify-LUETQ5NT.js +3819 -0
  831. package/dist/shopify-LUETQ5NT.js.map +1 -0
  832. package/dist/site-SDL6LF6D.js +177 -0
  833. package/dist/site-SDL6LF6D.js.map +1 -0
  834. package/dist/sitemaps-FG37N5EB.js +87 -0
  835. package/dist/sitemaps-FG37N5EB.js.map +1 -0
  836. package/dist/sites-FIXK4Y3O.js +101 -0
  837. package/dist/sites-FIXK4Y3O.js.map +1 -0
  838. package/dist/skills-OKVCVQVD.js +47 -0
  839. package/dist/skills-OKVCVQVD.js.map +1 -0
  840. package/dist/sources-ISAUZFRN.js +30 -0
  841. package/dist/sources-ISAUZFRN.js.map +1 -0
  842. package/dist/sources-LQTJXAJG.js +421 -0
  843. package/dist/sources-LQTJXAJG.js.map +1 -0
  844. package/dist/stale-2L7NTLC6.js +63 -0
  845. package/dist/stale-2L7NTLC6.js.map +1 -0
  846. package/dist/stats-ZWZ7BAHV.js +34 -0
  847. package/dist/stats-ZWZ7BAHV.js.map +1 -0
  848. package/dist/status-4QBSIHO7.js +62 -0
  849. package/dist/status-4QBSIHO7.js.map +1 -0
  850. package/dist/sticker-FLRZM3BI.js +94 -0
  851. package/dist/sticker-FLRZM3BI.js.map +1 -0
  852. package/dist/stock-2CSMWRWV.js +179 -0
  853. package/dist/stock-2CSMWRWV.js.map +1 -0
  854. package/dist/studio-TTTR6N7D.js +49 -0
  855. package/dist/studio-TTTR6N7D.js.map +1 -0
  856. package/dist/sync-DH7FTPGG.js +54 -0
  857. package/dist/sync-DH7FTPGG.js.map +1 -0
  858. package/dist/sync-G5CS2RYV.js +54 -0
  859. package/dist/sync-G5CS2RYV.js.map +1 -0
  860. package/dist/sync-UADA6M33.js +265 -0
  861. package/dist/sync-UADA6M33.js.map +1 -0
  862. package/dist/sync-definition-ATMMOJ37.js +52 -0
  863. package/dist/sync-definition-ATMMOJ37.js.map +1 -0
  864. package/dist/tag-manager-NK3ZHSJB.js +43 -0
  865. package/dist/tag-manager-NK3ZHSJB.js.map +1 -0
  866. package/dist/tags-4RBZWDHS.js +20 -0
  867. package/dist/tags-4RBZWDHS.js.map +1 -0
  868. package/dist/tags-M7ATU2R7.js +26 -0
  869. package/dist/tags-M7ATU2R7.js.map +1 -0
  870. package/dist/tags-MXJKIBL4.js +20 -0
  871. package/dist/tags-MXJKIBL4.js.map +1 -0
  872. package/dist/tags-YG5EGPBW.js +20 -0
  873. package/dist/tags-YG5EGPBW.js.map +1 -0
  874. package/dist/tags-ZP4O3I2F.js +224 -0
  875. package/dist/tags-ZP4O3I2F.js.map +1 -0
  876. package/dist/targeting-constants-ZGBX3VWU.js +118 -0
  877. package/dist/targeting-constants-ZGBX3VWU.js.map +1 -0
  878. package/dist/targeting-criteria-BTB2RVI4.js +113 -0
  879. package/dist/targeting-criteria-BTB2RVI4.js.map +1 -0
  880. package/dist/targets-DEGJD2N6.js +102 -0
  881. package/dist/targets-DEGJD2N6.js.map +1 -0
  882. package/dist/templates-FZDWQSTV.js +178 -0
  883. package/dist/templates-FZDWQSTV.js.map +1 -0
  884. package/dist/testimonials-TI5EDABS.js +32 -0
  885. package/dist/testimonials-TI5EDABS.js.map +1 -0
  886. package/dist/themes-3RV3HNNE.js +94 -0
  887. package/dist/themes-3RV3HNNE.js.map +1 -0
  888. package/dist/top-companies-OKH7UNKX.js +108 -0
  889. package/dist/top-companies-OKH7UNKX.js.map +1 -0
  890. package/dist/translate-IUQBBVE6.js +598 -0
  891. package/dist/translate-IUQBBVE6.js.map +1 -0
  892. package/dist/triggers-2NWMXQ5P.js +141 -0
  893. package/dist/triggers-2NWMXQ5P.js.map +1 -0
  894. package/dist/tweets-X64YDEAA.js +123 -0
  895. package/dist/tweets-X64YDEAA.js.map +1 -0
  896. package/dist/unfollow-PIONCSBL.js +46 -0
  897. package/dist/unfollow-PIONCSBL.js.map +1 -0
  898. package/dist/unlink-UAPLQMK6.js +67 -0
  899. package/dist/unlink-UAPLQMK6.js.map +1 -0
  900. package/dist/unstage-BJJ5M7MK.js +95 -0
  901. package/dist/unstage-BJJ5M7MK.js.map +1 -0
  902. package/dist/unstage-X2BYGH2S.js +84 -0
  903. package/dist/unstage-X2BYGH2S.js.map +1 -0
  904. package/dist/update-7YK3VSOK.js +142 -0
  905. package/dist/update-7YK3VSOK.js.map +1 -0
  906. package/dist/update-BHG7BTK3.js +155 -0
  907. package/dist/update-BHG7BTK3.js.map +1 -0
  908. package/dist/update-CDJXKEVA.js +63 -0
  909. package/dist/update-CDJXKEVA.js.map +1 -0
  910. package/dist/update-RZXDAMAG.js +98 -0
  911. package/dist/update-RZXDAMAG.js.map +1 -0
  912. package/dist/upload-DSZEXNHH.js +126 -0
  913. package/dist/upload-DSZEXNHH.js.map +1 -0
  914. package/dist/upload-IWFYKD7A.js +150 -0
  915. package/dist/upload-IWFYKD7A.js.map +1 -0
  916. package/dist/upscale-EYCEYRWE.js +109 -0
  917. package/dist/upscale-EYCEYRWE.js.map +1 -0
  918. package/dist/url-options-RA3XISLN.js +130 -0
  919. package/dist/url-options-RA3XISLN.js.map +1 -0
  920. package/dist/url-params-OGZXF6MT.js +98 -0
  921. package/dist/url-params-OGZXF6MT.js.map +1 -0
  922. package/dist/use-E2TA2K6J.js +95 -0
  923. package/dist/use-E2TA2K6J.js.map +1 -0
  924. package/dist/validate-C6HWDI6K.js +88 -0
  925. package/dist/validate-C6HWDI6K.js.map +1 -0
  926. package/dist/variant-ETHB6XUM.js +338 -0
  927. package/dist/variant-ETHB6XUM.js.map +1 -0
  928. package/dist/videos-A2X5AARB.js +39 -0
  929. package/dist/videos-A2X5AARB.js.map +1 -0
  930. package/dist/view-BVEZRRV2.js +121 -0
  931. package/dist/view-BVEZRRV2.js.map +1 -0
  932. package/dist/viewer-check-W4ICSBHO.js +68 -0
  933. package/dist/viewer-check-W4ICSBHO.js.map +1 -0
  934. package/dist/web-GJSFDBBE.js +140 -0
  935. package/dist/web-GJSFDBBE.js.map +1 -0
  936. package/dist/winners-MJDKCGEZ.js +113 -0
  937. package/dist/winners-MJDKCGEZ.js.map +1 -0
  938. package/dist/winning-ads-NNU5MM75.js +84 -0
  939. package/dist/winning-ads-NNU5MM75.js.map +1 -0
  940. package/dist/write-commands-5I5KY6ZS.js +1015 -0
  941. package/dist/write-commands-5I5KY6ZS.js.map +1 -0
  942. package/dist/write-commands-DA6FIFAO.js +737 -0
  943. package/dist/write-commands-DA6FIFAO.js.map +1 -0
  944. package/dist/write-commands-KTPISQRE.js +206 -0
  945. package/dist/write-commands-KTPISQRE.js.map +1 -0
  946. package/dist/write-commands-QBGIWU27.js +713 -0
  947. package/dist/write-commands-QBGIWU27.js.map +1 -0
  948. package/dist/x-VCL5VRXC.js +47 -0
  949. package/dist/x-VCL5VRXC.js.map +1 -0
  950. package/package.json +9 -2
  951. package/dist/chunk-FGHMWBUD.js +0 -9989
  952. package/dist/chunk-FGHMWBUD.js.map +0 -1
  953. package/dist/chunk-HJEMOSPH.js +0 -1292
  954. package/dist/chunk-HJEMOSPH.js.map +0 -1
  955. package/dist/chunk-MF7YA62W.js.map +0 -1
  956. package/dist/chunk-VLUGGVJL.js.map +0 -1
  957. package/dist/chunk-VZEDAFAR.js.map +0 -1
  958. package/dist/chunk-XHC4LMK4.js.map +0 -1
  959. package/dist/client-GR6YL3YX.js +0 -17
  960. package/dist/output-NMQXZF3Z.js +0 -18
  961. /package/dist/{client-GR6YL3YX.js.map → chunk-YQSBHWOI.js.map} +0 -0
  962. /package/dist/{env-4P5HOGNA.js.map → client-EURRWXPW.js.map} +0 -0
  963. /package/dist/{output-NMQXZF3Z.js.map → connect-6DQFYKGN.js.map} +0 -0
  964. /package/dist/{shared-J7DQZ2ED.js.map → customers-FOPXEGCB.js.map} +0 -0
@@ -0,0 +1,66 @@
1
+ import {
2
+ csvOrJson,
3
+ handleMetaError
4
+ } from "./chunk-2UFRHW3T.js";
5
+ import {
6
+ writeAdsOutput,
7
+ writeJsonEnvelope
8
+ } from "./chunk-EIGXX6KI.js";
9
+ import {
10
+ NO_CACHE_ARG
11
+ } from "./chunk-ZNQRDLSS.js";
12
+ import {
13
+ apiGet
14
+ } from "./chunk-CUL3VB4L.js";
15
+ import "./chunk-6YYSUISH.js";
16
+ import "./chunk-I4FTS5EE.js";
17
+ import "./chunk-MYTDK3AL.js";
18
+ import "./chunk-YQSBHWOI.js";
19
+
20
+ // src/commands/ads/meta/pages.ts
21
+ import { defineCommand } from "citty";
22
+ function pageSelectionHints(data) {
23
+ if (data.length === 0) return [];
24
+ const accountHint = "Use a Page only with an ad account listed in its promotingAccountIds. hasPageAccessToken must be true to read instant forms; null means Meta could not check it. Form reads also require the company's lead-ads permissions.";
25
+ if (data.length > 1) {
26
+ return [
27
+ accountHint,
28
+ "MULTIPLE Pages can run ads from the selected Meta ad accounts \u2014 do NOT guess. Confirm with the user which Page an ad should run from before passing --page to `creatives create`; a wrong Page publishes the ad under the wrong brand identity and staging will not catch it."
29
+ ];
30
+ }
31
+ return [accountHint];
32
+ }
33
+ var pagesCommand = defineCommand({
34
+ meta: {
35
+ name: "pages",
36
+ description: `List the Facebook Pages that the selected Meta ad accounts can promote, showing which accounts can promote each Page. Every Meta ad publishes from a Page, so match its promotingAccountIds to the target account. hasPageAccessToken shows whether the connected person can also read that Page's instant forms. If more than one Page is listed, confirm the brand with the user.
37
+
38
+ Examples:
39
+ baker ads meta pages`
40
+ },
41
+ args: {
42
+ "no-cache": NO_CACHE_ARG,
43
+ output: { type: "string", description: "Output format", default: "json" }
44
+ },
45
+ run: async ({ args }) => {
46
+ try {
47
+ const params = {};
48
+ if (args["no-cache"]) params["skip-cache"] = "true";
49
+ const data = await apiGet("/api/ads/meta/pages", params);
50
+ const fmt = csvOrJson(args);
51
+ if (fmt !== "json") {
52
+ writeAdsOutput(data, fmt);
53
+ return;
54
+ }
55
+ const hints = pageSelectionHints(data);
56
+ writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });
57
+ } catch (err) {
58
+ handleMetaError(err);
59
+ }
60
+ }
61
+ });
62
+ export {
63
+ pageSelectionHints,
64
+ pagesCommand
65
+ };
66
+ //# sourceMappingURL=pages-PMZVNVQM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/pages.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { writeAdsOutput, writeJsonEnvelope } from \"../output.ts\";\nimport { csvOrJson, handleMetaError } from \"./shared.ts\";\n\n/** Page Meta lists as promotable by a selected ad account. */\nexport interface MetaPage {\n id: string;\n name?: string;\n category?: string;\n promotingAccountIds: string[];\n hasPageAccessToken: boolean | null;\n}\n\n/**\n * Guide the agent to the right Page and ad-account pairing.\n */\nexport function pageSelectionHints(data: MetaPage[]): string[] {\n if (data.length === 0) return [];\n const accountHint =\n \"Use a Page only with an ad account listed in its promotingAccountIds. hasPageAccessToken must be true to read instant forms; null means Meta could not check it. Form reads also require the company's lead-ads permissions.\";\n if (data.length > 1) {\n return [\n accountHint,\n \"MULTIPLE Pages can run ads from the selected Meta ad accounts — do NOT guess. Confirm with the user which Page an ad should run from before passing --page to `creatives create`; a wrong Page publishes the ad under the wrong brand identity and staging will not catch it.\",\n ];\n }\n return [accountHint];\n}\n\nexport const pagesCommand = defineCommand({\n meta: {\n name: \"pages\",\n description: `List the Facebook Pages that the selected Meta ad accounts can promote, showing which accounts can promote each Page. Every Meta ad publishes from a Page, so match its promotingAccountIds to the target account. hasPageAccessToken shows whether the connected person can also read that Page's instant forms. If more than one Page is listed, confirm the brand with the user.\n\nExamples:\n baker ads meta pages`,\n },\n args: {\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"Output format\", default: \"json\" },\n },\n run: async ({ args }) => {\n try {\n const params: Record<string, string> = {};\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const data = await apiGet<MetaPage[]>(\"/api/ads/meta/pages\", params);\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput(data as unknown as Array<Record<string, unknown>>, fmt);\n return;\n }\n const hints = pageSelectionHints(data);\n writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAkBvB,SAAS,mBAAmB,MAA4B;AAC7D,MAAI,KAAK,WAAW,EAAG,QAAO,CAAC;AAC/B,QAAM,cACJ;AACF,MAAI,KAAK,SAAS,GAAG;AACnB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,SAAO,CAAC,WAAW;AACrB;AAEO,IAAM,eAAe,cAAc;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,QAAQ,EAAE,MAAM,UAAU,aAAa,iBAAiB,SAAS,OAAO;AAAA,EAC1E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,SAAiC,CAAC;AACxC,UAAI,KAAK,UAAU,EAAG,QAAO,YAAY,IAAI;AAC7C,YAAM,OAAO,MAAM,OAAmB,uBAAuB,MAAM;AACnE,YAAM,MAAM,UAAU,IAAI;AAC1B,UAAI,QAAQ,QAAQ;AAClB,uBAAe,MAAmD,GAAG;AACrE;AAAA,MACF;AACA,YAAM,QAAQ,mBAAmB,IAAI;AACrC,wBAAkB,MAAM,SAAS,IAAI,EAAE,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACrF,SAAS,KAAK;AACZ,sBAAgB,GAAG;AAAA,IACrB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,24 @@
1
+ import {
2
+ definitionInsights,
3
+ parseDays,
4
+ performanceCommand,
5
+ withDefinitions
6
+ } from "./chunk-YNWM426O.js";
7
+ import "./chunk-NMGELUIA.js";
8
+ import "./chunk-D46NOXRY.js";
9
+ import "./chunk-GXDLWBOY.js";
10
+ import "./chunk-GIWHHCD6.js";
11
+ import "./chunk-UI6BKYQD.js";
12
+ import "./chunk-I2DNBEV6.js";
13
+ import "./chunk-CUL3VB4L.js";
14
+ import "./chunk-6YYSUISH.js";
15
+ import "./chunk-I4FTS5EE.js";
16
+ import "./chunk-MYTDK3AL.js";
17
+ import "./chunk-YQSBHWOI.js";
18
+ export {
19
+ definitionInsights,
20
+ parseDays,
21
+ performanceCommand,
22
+ withDefinitions
23
+ };
24
+ //# sourceMappingURL=performance-ECIJJEFV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,96 @@
1
+ import {
2
+ AUTO_INGEST_MAX,
3
+ parseAutoIngest
4
+ } from "./chunk-KKJ4KJCW.js";
5
+ import {
6
+ ApiError,
7
+ apiPost
8
+ } from "./chunk-CUL3VB4L.js";
9
+ import "./chunk-6YYSUISH.js";
10
+ import "./chunk-I4FTS5EE.js";
11
+ import {
12
+ registerSchema,
13
+ writeJson
14
+ } from "./chunk-MYTDK3AL.js";
15
+ import "./chunk-YQSBHWOI.js";
16
+
17
+ // src/commands/images/pinterest.ts
18
+ import { defineCommand } from "citty";
19
+ registerSchema({
20
+ command: "images.pinterest",
21
+ description: "Pinterest image search via ScrapeCreators. Reference-grade real-world photography, product styling, interiors, fashion, food, and aesthetic mood boards. Inspect before placing \u2014 Pinterest is unverified, trademark-bearing web content.",
22
+ args: {
23
+ query: { type: "string", description: "Search query", required: true },
24
+ limit: { type: "number", description: "Max results (1-20, default 5)", required: false, default: 5 },
25
+ "auto-ingest": {
26
+ type: "number",
27
+ description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.pinterest}, default 0) and return Baker-owned URLs on ingested hits`,
28
+ required: false,
29
+ default: 0
30
+ },
31
+ context: {
32
+ type: "string",
33
+ description: "Free-text hint applied to every auto-ingested hit (overrides the pin title)",
34
+ required: false
35
+ }
36
+ }
37
+ });
38
+ var pinterestCommand = defineCommand({
39
+ meta: {
40
+ name: "pinterest",
41
+ description: "Pinterest image search via ScrapeCreators ($0.00188/request). Best for photo-realistic reference imagery \u2014 lifestyle, interiors, fashion, food, product styling, and mood boards to brief AI generation against. \u26A0 Unverified, trademark-bearing web content \u2014 inspect and respect rights before placing on a customer page. Browse first; auto-ingest only the pins you commit to.\n\nExamples:\n baker images pinterest 'scandinavian living room'\n baker images pinterest 'minimalist skincare product photography' --limit 20\n baker images pinterest 'cozy coffee shop interior' --auto-ingest 2 --context 'Mood reference for hero photography'"
42
+ },
43
+ args: {
44
+ query: { type: "positional", description: "Search query", required: false },
45
+ limit: { type: "string", description: "Max results (1-20)", required: false },
46
+ "auto-ingest": {
47
+ type: "string",
48
+ description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.pinterest}) and return Baker-owned URLs on ingested hits`,
49
+ required: false
50
+ },
51
+ context: { type: "string", description: "Description context hint applied to auto-ingested hits", required: false }
52
+ },
53
+ run: async ({ args }) => {
54
+ try {
55
+ const query = args.query;
56
+ if (!query) {
57
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "Query is required" } });
58
+ process.exit(1);
59
+ }
60
+ const body = { query };
61
+ if (args.limit) body.limit = Number(args.limit);
62
+ if (args["auto-ingest"] !== void 0) {
63
+ const parsed = parseAutoIngest(args["auto-ingest"], AUTO_INGEST_MAX.pinterest);
64
+ if (!parsed.ok) {
65
+ writeJson({
66
+ ok: false,
67
+ error: {
68
+ code: "VALIDATION_ERROR",
69
+ message: parsed.message,
70
+ fix: {
71
+ action: "retry_with_changes",
72
+ explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.pinterest}.`
73
+ }
74
+ }
75
+ });
76
+ process.exit(1);
77
+ }
78
+ body.autoIngest = parsed.value;
79
+ }
80
+ if (args.context) body.descriptionContext = args.context;
81
+ const data = await apiPost("/api/images/pinterest", body);
82
+ writeJson({ ok: true, data });
83
+ } catch (err) {
84
+ if (err instanceof ApiError) {
85
+ writeJson({ ok: false, error: { code: err.code, message: err.message } });
86
+ process.exit(1);
87
+ }
88
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
89
+ process.exit(1);
90
+ }
91
+ }
92
+ });
93
+ export {
94
+ pinterestCommand
95
+ };
96
+ //# sourceMappingURL=pinterest-UDNGOWDM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/images/pinterest.ts"],"sourcesContent":["import type { ImagesPinterestRequest, ImagesPinterestResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { AUTO_INGEST_MAX, parseAutoIngest } from \"./autoIngest.ts\";\n\nregisterSchema({\n command: \"images.pinterest\",\n description:\n \"Pinterest image search via ScrapeCreators. Reference-grade real-world photography, product styling, interiors, fashion, food, and aesthetic mood boards. Inspect before placing — Pinterest is unverified, trademark-bearing web content.\",\n args: {\n query: { type: \"string\", description: \"Search query\", required: true },\n limit: { type: \"number\", description: \"Max results (1-20, default 5)\", required: false, default: 5 },\n \"auto-ingest\": {\n type: \"number\",\n description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.pinterest}, default 0) and return Baker-owned URLs on ingested hits`,\n required: false,\n default: 0,\n },\n context: {\n type: \"string\",\n description: \"Free-text hint applied to every auto-ingested hit (overrides the pin title)\",\n required: false,\n },\n },\n});\n\nexport const pinterestCommand = defineCommand({\n meta: {\n name: \"pinterest\",\n description:\n \"Pinterest image search via ScrapeCreators ($0.00188/request). Best for photo-realistic reference imagery — lifestyle, interiors, fashion, food, product styling, and mood boards to brief AI generation against. ⚠ Unverified, trademark-bearing web content — inspect and respect rights before placing on a customer page. Browse first; auto-ingest only the pins you commit to.\\n\\nExamples:\\n baker images pinterest 'scandinavian living room'\\n baker images pinterest 'minimalist skincare product photography' --limit 20\\n baker images pinterest 'cozy coffee shop interior' --auto-ingest 2 --context 'Mood reference for hero photography'\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query\", required: false },\n limit: { type: \"string\", description: \"Max results (1-20)\", required: false },\n \"auto-ingest\": {\n type: \"string\",\n description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.pinterest}) and return Baker-owned URLs on ingested hits`,\n required: false,\n },\n context: { type: \"string\", description: \"Description context hint applied to auto-ingested hits\", required: false },\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Query is required\" } });\n process.exit(1);\n }\n const body: ImagesPinterestRequest = { query };\n if (args.limit) body.limit = Number(args.limit);\n if (args[\"auto-ingest\"] !== undefined) {\n const parsed = parseAutoIngest(args[\"auto-ingest\"], AUTO_INGEST_MAX.pinterest);\n if (!parsed.ok) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: parsed.message,\n fix: {\n action: \"retry_with_changes\",\n explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.pinterest}.`,\n },\n },\n });\n process.exit(1);\n }\n body.autoIngest = parsed.value;\n }\n if (args.context) body.descriptionContext = args.context as string;\n\n const data = await apiPost<ImagesPinterestResponse>(\"/api/images/pinterest\", body);\n writeJson({ ok: true, data });\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, 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 },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,OAAO,EAAE,MAAM,UAAU,aAAa,gBAAgB,UAAU,KAAK;AAAA,IACrE,OAAO,EAAE,MAAM,UAAU,aAAa,iCAAiC,UAAU,OAAO,SAAS,EAAE;AAAA,IACnG,eAAe;AAAA,MACb,MAAM;AAAA,MACN,aAAa,wBAAwB,gBAAgB,SAAS;AAAA,MAC9D,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mBAAmB,cAAc;AAAA,EAC5C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,OAAO,EAAE,MAAM,cAAc,aAAa,gBAAgB,UAAU,MAAM;AAAA,IAC1E,OAAO,EAAE,MAAM,UAAU,aAAa,sBAAsB,UAAU,MAAM;AAAA,IAC5E,eAAe;AAAA,MACb,MAAM;AAAA,MACN,aAAa,wBAAwB,gBAAgB,SAAS;AAAA,MAC9D,UAAU;AAAA,IACZ;AAAA,IACA,SAAS,EAAE,MAAM,UAAU,aAAa,0DAA0D,UAAU,MAAM;AAAA,EACpH;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,QAAQ,KAAK;AACnB,UAAI,CAAC,OAAO;AACV,kBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,oBAAoB,EAAE,CAAC;AAC1F,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,YAAM,OAA+B,EAAE,MAAM;AAC7C,UAAI,KAAK,MAAO,MAAK,QAAQ,OAAO,KAAK,KAAK;AAC9C,UAAI,KAAK,aAAa,MAAM,QAAW;AACrC,cAAM,SAAS,gBAAgB,KAAK,aAAa,GAAG,gBAAgB,SAAS;AAC7E,YAAI,CAAC,OAAO,IAAI;AACd,oBAAU;AAAA,YACR,IAAI;AAAA,YACJ,OAAO;AAAA,cACL,MAAM;AAAA,cACN,SAAS,OAAO;AAAA,cAChB,KAAK;AAAA,gBACH,QAAQ;AAAA,gBACR,aAAa,kCAAkC,gBAAgB,SAAS;AAAA,cAC1E;AAAA,YACF;AAAA,UACF,CAAC;AACD,kBAAQ,KAAK,CAAC;AAAA,QAChB;AACA,aAAK,aAAa,OAAO;AAAA,MAC3B;AACA,UAAI,KAAK,QAAS,MAAK,qBAAqB,KAAK;AAEjD,YAAM,OAAO,MAAM,QAAiC,yBAAyB,IAAI;AACjF,gBAAU,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IAC9B,SAAS,KAAK;AACZ,UAAI,eAAe,UAAU;AAC3B,kBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;AACxE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,gBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACvF,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,108 @@
1
+ import {
2
+ csvOrJson,
3
+ daysAgoIso,
4
+ handleMetaError,
5
+ resolveAccountIdArg,
6
+ todayIso
7
+ } from "./chunk-2UFRHW3T.js";
8
+ import {
9
+ writeAdsJson,
10
+ writeAdsOutput
11
+ } from "./chunk-EIGXX6KI.js";
12
+ import {
13
+ NO_CACHE_ARG
14
+ } from "./chunk-ZNQRDLSS.js";
15
+ import {
16
+ apiGet
17
+ } from "./chunk-CUL3VB4L.js";
18
+ import "./chunk-6YYSUISH.js";
19
+ import "./chunk-I4FTS5EE.js";
20
+ import "./chunk-MYTDK3AL.js";
21
+ import "./chunk-YQSBHWOI.js";
22
+
23
+ // src/commands/ads/meta/pixels.ts
24
+ import { defineCommand } from "citty";
25
+ var pixelsCommand = defineCommand({
26
+ meta: {
27
+ name: "pixels",
28
+ description: `List Meta Pixels for an ad account, or fetch firing stats for one pixel.
29
+
30
+ Examples:
31
+ baker ads meta pixels --account-id act_123
32
+ baker ads meta pixels --account-id act_123 --pixel-id 9876 --stats --days 7`
33
+ },
34
+ args: {
35
+ "account-id": { type: "string", description: "Meta ad account ID" },
36
+ "pixel-id": { type: "string", description: "Pixel ID for --stats" },
37
+ stats: { type: "boolean", description: "Fetch firing stats for the pixel" },
38
+ aggregation: {
39
+ type: "string",
40
+ description: "stats aggregation: event|browser_type|host|pixel_fire",
41
+ default: "event"
42
+ },
43
+ days: { type: "string", description: "Lookback days for --stats (default 7)" },
44
+ "no-cache": NO_CACHE_ARG,
45
+ output: { type: "string", description: "Output format", default: "json" }
46
+ },
47
+ run: async ({ args }) => {
48
+ try {
49
+ if (args.stats) {
50
+ await runStats(args);
51
+ return;
52
+ }
53
+ await runList(args);
54
+ } catch (err) {
55
+ handleMetaError(err);
56
+ }
57
+ }
58
+ });
59
+ async function runStats(args) {
60
+ const pixelId = args["pixel-id"];
61
+ if (!pixelId) {
62
+ handleMetaError(new Error("--pixel-id is required when --stats is set"));
63
+ }
64
+ const days = args.days ? Number(args.days) : 7;
65
+ if (!Number.isInteger(days) || days <= 0 || days > 90) {
66
+ handleMetaError(new Error("--days must be a positive integer \u2264 90"));
67
+ }
68
+ const params = {
69
+ "pixel-id": pixelId,
70
+ aggregation: args.aggregation ?? "event",
71
+ "start-time": daysAgoIso(days),
72
+ "end-time": todayIso()
73
+ };
74
+ if (args["no-cache"]) params["skip-cache"] = "true";
75
+ const data = await apiGet("/api/ads/meta/pixel-stats", params);
76
+ emit(data, args);
77
+ }
78
+ async function runList(args) {
79
+ const accountId = resolveAccountIdArg(args);
80
+ const params = { "account-id": accountId };
81
+ if (args["no-cache"]) params["skip-cache"] = "true";
82
+ const { pixels, restrictedFields } = await apiGet("/api/ads/meta/pixels", params);
83
+ emit(pixels, args, pixelWarnings(restrictedFields));
84
+ }
85
+ function pixelWarnings(restrictedFields) {
86
+ if (restrictedFields.length === 0) {
87
+ return [];
88
+ }
89
+ return [
90
+ {
91
+ code: "PIXEL_FIELDS_RESTRICTED",
92
+ message: `Meta withheld ${restrictedFields.join(", ")} for these pixels \u2014 the connected user holds no role in the Business that owns them. IDs, names, creation and last-fired times are complete; install code and setup details are not. To get them, the client assigns the pixel to the connected user in Meta Business settings \u2192 Data sources \u2192 Datasets.`
93
+ }
94
+ ];
95
+ }
96
+ function emit(data, args, warnings = []) {
97
+ const fmt = csvOrJson(args);
98
+ if (fmt !== "json") {
99
+ writeAdsOutput(data, fmt);
100
+ return;
101
+ }
102
+ writeAdsJson({ ok: true, data, ...warnings.length > 0 ? { warnings } : {} });
103
+ }
104
+ export {
105
+ pixelWarnings,
106
+ pixelsCommand
107
+ };
108
+ //# sourceMappingURL=pixels-OYZDGCH3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/pixels.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { writeAdsJson, writeAdsOutput } from \"../output.ts\";\nimport type { AdsWarning } from \"../types.ts\";\nimport { csvOrJson, daysAgoIso, handleMetaError, resolveAccountIdArg, todayIso } from \"./shared.ts\";\n\nexport const pixelsCommand = defineCommand({\n meta: {\n name: \"pixels\",\n description: `List Meta Pixels for an ad account, or fetch firing stats for one pixel.\n\nExamples:\n baker ads meta pixels --account-id act_123\n baker ads meta pixels --account-id act_123 --pixel-id 9876 --stats --days 7`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n \"pixel-id\": { type: \"string\", description: \"Pixel ID for --stats\" },\n stats: { type: \"boolean\", description: \"Fetch firing stats for the pixel\" },\n aggregation: {\n type: \"string\",\n description: \"stats aggregation: event|browser_type|host|pixel_fire\",\n default: \"event\",\n },\n days: { type: \"string\", description: \"Lookback days for --stats (default 7)\" },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"Output format\", default: \"json\" },\n },\n run: async ({ args }) => {\n try {\n if (args.stats) {\n await runStats(args);\n return;\n }\n await runList(args);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nasync function runStats(args: Record<string, unknown>): Promise<void> {\n const pixelId = args[\"pixel-id\"] as string | undefined;\n if (!pixelId) {\n handleMetaError(new Error(\"--pixel-id is required when --stats is set\"));\n }\n const days = args.days ? Number(args.days) : 7;\n if (!Number.isInteger(days) || days <= 0 || days > 90) {\n handleMetaError(new Error(\"--days must be a positive integer ≤ 90\"));\n }\n const params: Record<string, string> = {\n \"pixel-id\": pixelId,\n aggregation: (args.aggregation as string) ?? \"event\",\n \"start-time\": daysAgoIso(days),\n \"end-time\": todayIso(),\n };\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const data = await apiGet<Array<Record<string, unknown>>>(\"/api/ads/meta/pixel-stats\", params);\n emit(data, args);\n}\n\nasync function runList(args: Record<string, unknown>): Promise<void> {\n const accountId = resolveAccountIdArg(args);\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const { pixels, restrictedFields } = await apiGet<{\n pixels: Array<Record<string, unknown>>;\n restrictedFields: string[];\n }>(\"/api/ads/meta/pixels\", params);\n emit(pixels, args, pixelWarnings(restrictedFields));\n}\n\n/**\n * A listing Meta trimmed is still a listing — IDs, names and firing times are\n * complete. Say which setup fields are missing and how to get them, so the gap\n * reads as a client-side access grant rather than as a pixel that isn't there.\n */\nexport function pixelWarnings(restrictedFields: string[]): AdsWarning[] {\n if (restrictedFields.length === 0) {\n return [];\n }\n return [\n {\n code: \"PIXEL_FIELDS_RESTRICTED\",\n message:\n `Meta withheld ${restrictedFields.join(\", \")} for these pixels — the connected user holds no role in the Business that owns them. ` +\n \"IDs, names, creation and last-fired times are complete; install code and setup details are not. \" +\n \"To get them, the client assigns the pixel to the connected user in Meta Business settings → Data sources → Datasets.\",\n },\n ];\n}\n\nfunction emit(data: Array<Record<string, unknown>>, args: Record<string, unknown>, warnings: AdsWarning[] = []): void {\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput(data, fmt);\n return;\n }\n writeAdsJson({ ok: true, data, ...(warnings.length > 0 ? { warnings } : {}) });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAOvB,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,qBAAqB;AAAA,IAClE,YAAY,EAAE,MAAM,UAAU,aAAa,uBAAuB;AAAA,IAClE,OAAO,EAAE,MAAM,WAAW,aAAa,mCAAmC;AAAA,IAC1E,aAAa;AAAA,MACX,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,MAAM,EAAE,MAAM,UAAU,aAAa,wCAAwC;AAAA,IAC7E,YAAY;AAAA,IACZ,QAAQ,EAAE,MAAM,UAAU,aAAa,iBAAiB,SAAS,OAAO;AAAA,EAC1E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,UAAI,KAAK,OAAO;AACd,cAAM,SAAS,IAAI;AACnB;AAAA,MACF;AACA,YAAM,QAAQ,IAAI;AAAA,IACpB,SAAS,KAAK;AACZ,sBAAgB,GAAG;AAAA,IACrB;AAAA,EACF;AACF,CAAC;AAED,eAAe,SAAS,MAA8C;AACpE,QAAM,UAAU,KAAK,UAAU;AAC/B,MAAI,CAAC,SAAS;AACZ,oBAAgB,IAAI,MAAM,4CAA4C,CAAC;AAAA,EACzE;AACA,QAAM,OAAO,KAAK,OAAO,OAAO,KAAK,IAAI,IAAI;AAC7C,MAAI,CAAC,OAAO,UAAU,IAAI,KAAK,QAAQ,KAAK,OAAO,IAAI;AACrD,oBAAgB,IAAI,MAAM,6CAAwC,CAAC;AAAA,EACrE;AACA,QAAM,SAAiC;AAAA,IACrC,YAAY;AAAA,IACZ,aAAc,KAAK,eAA0B;AAAA,IAC7C,cAAc,WAAW,IAAI;AAAA,IAC7B,YAAY,SAAS;AAAA,EACvB;AACA,MAAI,KAAK,UAAU,EAAG,QAAO,YAAY,IAAI;AAC7C,QAAM,OAAO,MAAM,OAAuC,6BAA6B,MAAM;AAC7F,OAAK,MAAM,IAAI;AACjB;AAEA,eAAe,QAAQ,MAA8C;AACnE,QAAM,YAAY,oBAAoB,IAAI;AAC1C,QAAM,SAAiC,EAAE,cAAc,UAAU;AACjE,MAAI,KAAK,UAAU,EAAG,QAAO,YAAY,IAAI;AAC7C,QAAM,EAAE,QAAQ,iBAAiB,IAAI,MAAM,OAGxC,wBAAwB,MAAM;AACjC,OAAK,QAAQ,MAAM,cAAc,gBAAgB,CAAC;AACpD;AAOO,SAAS,cAAc,kBAA0C;AACtE,MAAI,iBAAiB,WAAW,GAAG;AACjC,WAAO,CAAC;AAAA,EACV;AACA,SAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,SACE,iBAAiB,iBAAiB,KAAK,IAAI,CAAC;AAAA,IAGhD;AAAA,EACF;AACF;AAEA,SAAS,KAAK,MAAsC,MAA+B,WAAyB,CAAC,GAAS;AACpH,QAAM,MAAM,UAAU,IAAI;AAC1B,MAAI,QAAQ,QAAQ;AAClB,mBAAe,MAAM,GAAG;AACxB;AAAA,EACF;AACA,eAAa,EAAE,IAAI,MAAM,MAAM,GAAI,SAAS,SAAS,IAAI,EAAE,SAAS,IAAI,CAAC,EAAG,CAAC;AAC/E;","names":[]}
@@ -0,0 +1,60 @@
1
+ import {
2
+ schemaArgs,
3
+ stageChatgptOp
4
+ } from "./chunk-E3HYHT7C.js";
5
+ import {
6
+ CHATGPT_ADS_REFERENCE
7
+ } from "./chunk-MIJAGBEP.js";
8
+ import "./chunk-EIGXX6KI.js";
9
+ import "./chunk-CUL3VB4L.js";
10
+ import "./chunk-6YYSUISH.js";
11
+ import "./chunk-I4FTS5EE.js";
12
+ import {
13
+ registerSchema
14
+ } from "./chunk-MYTDK3AL.js";
15
+ import "./chunk-YQSBHWOI.js";
16
+
17
+ // src/commands/ads/chatgpt/pixels.ts
18
+ import { defineCommand } from "citty";
19
+ var CREATE_ARGS = {
20
+ name: { type: "string", description: "What the pixel is called in Ads Manager, e.g. withbaker.com", required: true }
21
+ };
22
+ function pixelCreateOp(args) {
23
+ return { kind: "pixel.create", payload: { name: typeof args.name === "string" ? args.name.trim() : args.name } };
24
+ }
25
+ registerSchema({
26
+ command: "ads.chatgpt.pixels.create",
27
+ description: "Stage a new website pixel for the account, applied when the chat is published. Read `conversions` first: an account usually needs one pixel, installed on every page, and a second splits the site's events.",
28
+ args: schemaArgs(CREATE_ARGS)
29
+ });
30
+ var pixelsCreateCommand = defineCommand({
31
+ meta: {
32
+ name: "create",
33
+ description: `Stage a new website pixel (applies when the chat is published).
34
+
35
+ Example:
36
+ baker ads chatgpt pixels create --name "withbaker.com"`
37
+ },
38
+ args: CREATE_ARGS,
39
+ run: async ({ args }) => {
40
+ await stageChatgptOp(pixelCreateOp(args), CHATGPT_ADS_REFERENCE.conversions, (staged) => [
41
+ `Define what it counts with \`baker ads chatgpt conversions create --pixel ${staged.ref} --name \u2026 --event \u2026\`.`,
42
+ "After the publish, read its Pixel ID with `baker ads chatgpt conversions` and install it on the site's pages as a tracking tag."
43
+ ]);
44
+ }
45
+ });
46
+ var pixelsCommand = defineCommand({
47
+ meta: {
48
+ name: "pixels",
49
+ description: `Website pixels \u2014 what a site installs so ChatGPT Ads can count its conversions. Read them with \`baker ads chatgpt conversions\`.
50
+
51
+ Example:
52
+ baker ads chatgpt pixels create --name "withbaker.com"`
53
+ },
54
+ subCommands: { create: pixelsCreateCommand }
55
+ });
56
+ export {
57
+ pixelCreateOp,
58
+ pixelsCommand
59
+ };
60
+ //# sourceMappingURL=pixels-XKGNTCFX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/chatgpt/pixels.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { CHATGPT_ADS_REFERENCE } from \"./shared.ts\";\nimport { schemaArgs, stageChatgptOp } from \"./write-shared.ts\";\n\n/**\n * A new website pixel, staged like every write. Its Pixel ID — what the site\n * installs — exists only after the chat publishes; a conversion staged beside it\n * counts from it by its ref.\n */\n\nconst CREATE_ARGS = {\n name: { type: \"string\", description: \"What the pixel is called in Ads Manager, e.g. withbaker.com\", required: true },\n} as const;\n\nexport function pixelCreateOp(args: Record<string, unknown>): Record<string, unknown> {\n return { kind: \"pixel.create\", payload: { name: typeof args.name === \"string\" ? args.name.trim() : args.name } };\n}\n\nregisterSchema({\n command: \"ads.chatgpt.pixels.create\",\n description:\n \"Stage a new website pixel for the account, applied when the chat is published. Read `conversions` first: an account usually needs one pixel, installed on every page, and a second splits the site's events.\",\n args: schemaArgs(CREATE_ARGS),\n});\n\nconst pixelsCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a new website pixel (applies when the chat is published).\n\nExample:\n baker ads chatgpt pixels create --name \"withbaker.com\"`,\n },\n args: CREATE_ARGS,\n run: async ({ args }) => {\n await stageChatgptOp(pixelCreateOp(args), CHATGPT_ADS_REFERENCE.conversions, (staged) => [\n `Define what it counts with \\`baker ads chatgpt conversions create --pixel ${staged.ref} --name … --event …\\`.`,\n \"After the publish, read its Pixel ID with `baker ads chatgpt conversions` and install it on the site's pages as a tracking tag.\",\n ]);\n },\n});\n\nexport const pixelsCommand = defineCommand({\n meta: {\n name: \"pixels\",\n description: `Website pixels — what a site installs so ChatGPT Ads can count its conversions. Read them with \\`baker ads chatgpt conversions\\`.\n\nExample:\n baker ads chatgpt pixels create --name \"withbaker.com\"`,\n },\n subCommands: { create: pixelsCreateCommand },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAW9B,IAAM,cAAc;AAAA,EAClB,MAAM,EAAE,MAAM,UAAU,aAAa,+DAA+D,UAAU,KAAK;AACrH;AAEO,SAAS,cAAc,MAAwD;AACpF,SAAO,EAAE,MAAM,gBAAgB,SAAS,EAAE,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE;AACjH;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,WAAW,WAAW;AAC9B,CAAC;AAED,IAAM,sBAAsB,cAAc;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,eAAe,cAAc,IAAI,GAAG,sBAAsB,aAAa,CAAC,WAAW;AAAA,MACvF,6EAA6E,OAAO,GAAG;AAAA,MACvF;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;AAEM,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,aAAa,EAAE,QAAQ,oBAAoB;AAC7C,CAAC;","names":[]}
@@ -0,0 +1,207 @@
1
+ import {
2
+ TAG_MANAGER_TIMEOUT_MS
3
+ } from "./chunk-YTF3IVMF.js";
4
+ import {
5
+ funnelStepSchema
6
+ } from "./chunk-HAE4WWFQ.js";
7
+ import {
8
+ trackingPlanErrorEnvelope
9
+ } from "./chunk-PZ4OM2LK.js";
10
+ import {
11
+ ANALYTICS_EVENT_DOORS,
12
+ parseEventKey
13
+ } from "./chunk-QMLGJ5OW.js";
14
+ import "./chunk-EDLZGTGN.js";
15
+ import "./chunk-D5FY4FAK.js";
16
+ import {
17
+ writeJsonEnvelope
18
+ } from "./chunk-EIGXX6KI.js";
19
+ import {
20
+ apiPost
21
+ } from "./chunk-CUL3VB4L.js";
22
+ import "./chunk-6YYSUISH.js";
23
+ import {
24
+ getEnv
25
+ } from "./chunk-I4FTS5EE.js";
26
+ import {
27
+ registerSchema
28
+ } from "./chunk-MYTDK3AL.js";
29
+ import "./chunk-YQSBHWOI.js";
30
+
31
+ // src/commands/analytics/plan.ts
32
+ import { readFileSync } from "fs";
33
+
34
+ // ../api/src/analytics/trackingPlanWire.ts
35
+ import { z as z2 } from "zod";
36
+
37
+ // ../api/src/analytics/trackingPlan.ts
38
+ import { z } from "zod";
39
+ var text = z.string().trim().min(1).max(2e3);
40
+ var key = z.string().trim().min(1).max(100);
41
+ var webUrl = z.url().refine(
42
+ (value) => URL.canParse(value) && ["https:", "http:"].includes(new URL(value).protocol),
43
+ "Use a website address"
44
+ );
45
+ var trackingEventSchema = z.object({
46
+ eventKey: key.refine((value) => parseEventKey(value) !== null, "Use an existing Baker event key"),
47
+ name: text,
48
+ purpose: z.enum(["conversion", "progress", "diagnostic", "uncounted"]),
49
+ door: z.enum(ANALYTICS_EVENT_DOORS),
50
+ sourceEvent: key.optional(),
51
+ emitterEvidence: text.optional(),
52
+ status: z.enum(["prepared", "waiting", "published", "verified"]),
53
+ requirement: text.optional(),
54
+ owner: text.optional(),
55
+ verificationEvidence: text.optional()
56
+ }).superRefine((event, ctx) => {
57
+ if (event.status === "waiting") {
58
+ if (!event.requirement || !event.owner)
59
+ ctx.addIssue({ code: "custom", message: "A waiting event needs its requirement and owner" });
60
+ } else if (!event.emitterEvidence) {
61
+ ctx.addIssue({ code: "custom", message: "A prepared event needs evidence that the source emits it" });
62
+ }
63
+ if (["published", "verified"].includes(event.status) && !event.verificationEvidence) {
64
+ ctx.addIssue({
65
+ code: "custom",
66
+ message: "Published or verified tracking needs evidence; a staged tag is only prepared"
67
+ });
68
+ }
69
+ });
70
+ var trackingJourneySchema = z.object({
71
+ key,
72
+ name: text,
73
+ entryUrls: z.array(webUrl).max(50),
74
+ destinationUrl: webUrl,
75
+ strategy: z.enum(["native", "embed", "api", "link"]),
76
+ status: z.enum(["supported", "waiting"]),
77
+ requiredFields: z.array(key).max(100),
78
+ attribution: text,
79
+ acceptanceEvidence: text.optional(),
80
+ continuationEvidence: text.optional(),
81
+ requirement: text.optional(),
82
+ owner: text.optional()
83
+ }).superRefine((journey, ctx) => {
84
+ if (journey.strategy === "link" && journey.requiredFields.length > 0)
85
+ ctx.addIssue({
86
+ code: "custom",
87
+ message: "A link handoff must not capture details that the destination asks for again"
88
+ });
89
+ if (journey.status === "waiting" && (!journey.requirement || !journey.owner))
90
+ ctx.addIssue({ code: "custom", message: "A waiting journey needs its requirement and owner" });
91
+ if (journey.status === "supported" && journey.strategy === "api" && (!journey.acceptanceEvidence || !journey.continuationEvidence))
92
+ ctx.addIssue({
93
+ code: "custom",
94
+ message: "An API replacement needs accepted-submission and continuation evidence"
95
+ });
96
+ });
97
+ var trackingPlanSchema = z.object({
98
+ journeys: z.array(trackingJourneySchema).max(30),
99
+ events: z.array(trackingEventSchema).max(100)
100
+ }).superRefine((plan, ctx) => {
101
+ for (const entries of [plan.journeys.map((journey) => journey.key), plan.events.map((event) => event.eventKey)]) {
102
+ if (new Set(entries).size !== entries.length)
103
+ ctx.addIssue({ code: "custom", message: "Each journey and event must appear once" });
104
+ }
105
+ });
106
+
107
+ // ../api/src/analytics/trackingPlanWire.ts
108
+ var key2 = z2.string().trim().min(1).max(100);
109
+ var variableName = z2.string().trim().min(1).max(200).refine((value) => !/[{}<>"'\\\r\n]/.test(value), "Use a plain container variable name");
110
+ var trackingInstallationSchema = z2.object({
111
+ containerId: key2,
112
+ baseTagName: key2,
113
+ folderId: key2.optional(),
114
+ consent: z2.enum(["auto", "strict"]).default("auto"),
115
+ measure: z2.enum(["campaigns", "outcomes", "all"]).default("campaigns"),
116
+ events: z2.array(
117
+ z2.object({
118
+ eventKey: key2.refine((value) => parseEventKey(value) !== null, "Use an existing Baker event key"),
119
+ tagName: key2,
120
+ triggerId: key2,
121
+ properties: z2.record(key2, variableName).default({}),
122
+ eventIdVariable: variableName.optional()
123
+ })
124
+ ).max(50)
125
+ });
126
+ var trackingPlanRequestSchema = z2.object({
127
+ chatId: z2.string().optional(),
128
+ plan: trackingPlanSchema.optional(),
129
+ wireConversions: z2.boolean().default(false),
130
+ steps: z2.array(funnelStepSchema).max(30).optional(),
131
+ installation: trackingInstallationSchema.optional()
132
+ }).superRefine((request, ctx) => {
133
+ if (!request.plan && (request.installation || request.wireConversions || request.steps))
134
+ ctx.addIssue({ code: "custom", message: "Preparation needs the agreed tracking plan" });
135
+ });
136
+ var trackingPlanResponseSchema = z2.object({
137
+ ok: z2.literal(true),
138
+ data: z2.object({ plan: trackingPlanSchema.nullable(), staged: z2.boolean() }),
139
+ hints: z2.array(z2.string()).optional()
140
+ });
141
+
142
+ // src/commands/analytics/plan.ts
143
+ import { defineCommand } from "citty";
144
+ var description = "Start here before building a replacement Form: read the agreed journeys, event names, purposes and readiness. --json @plan.json stages the complete plan, with optional wireConversions, funnel steps and a managed Tag Manager installation. Each event records its actual emitter or the missing change and owner. Prepared is not verified. See analytics.md for the contract. Repeating installation preparation replaces its own staged tags; applies only at Publish. --full includes evidence; the default keeps the decision inventory compact.";
145
+ var args = {
146
+ json: {
147
+ type: "string",
148
+ description: "Preparation request as JSON or @path; omit to read the effective plan",
149
+ required: false
150
+ },
151
+ full: { type: "boolean", description: "Include all journey and verification evidence", required: false }
152
+ };
153
+ registerSchema({ command: "analytics.plan", description, args });
154
+ var planCommand = defineCommand({
155
+ meta: { name: "plan", description },
156
+ args,
157
+ run: async ({ args: args2 }) => {
158
+ try {
159
+ const input = args2.json ? JSON.parse(args2.json.startsWith("@") ? readFileSync(args2.json.slice(1), "utf8") : args2.json) : {};
160
+ const parsed = trackingPlanRequestSchema.parse(input);
161
+ const body = { ...parsed, chatId: getEnv().BAKER_CHAT_ID };
162
+ const response = trackingPlanResponseSchema.parse(
163
+ // Preparing stages the Tag Manager install, which queues behind other companies' requests.
164
+ await apiPost("/api/analytics/plan", body, { timeoutMs: TAG_MANAGER_TIMEOUT_MS })
165
+ );
166
+ const plan = response.data.plan;
167
+ writeJsonEnvelope({
168
+ ...response,
169
+ data: {
170
+ ...response.data,
171
+ plan: args2.full || !plan ? plan : {
172
+ journeys: plan.journeys.map(
173
+ ({ key: key3, name, strategy, status, destinationUrl, requirement, owner }) => ({
174
+ key: key3,
175
+ name,
176
+ strategy,
177
+ status,
178
+ destinationUrl,
179
+ requirement,
180
+ owner
181
+ })
182
+ ),
183
+ events: plan.events.map(
184
+ ({ eventKey, name, purpose, door, sourceEvent, status, requirement, owner }) => ({
185
+ eventKey,
186
+ name,
187
+ purpose,
188
+ door,
189
+ sourceEvent,
190
+ status,
191
+ requirement,
192
+ owner
193
+ })
194
+ )
195
+ }
196
+ }
197
+ });
198
+ } catch (error) {
199
+ writeJsonEnvelope({ ok: false, error: trackingPlanErrorEnvelope(error) });
200
+ process.exitCode = 1;
201
+ }
202
+ }
203
+ });
204
+ export {
205
+ planCommand
206
+ };
207
+ //# sourceMappingURL=plan-DZS3TVIJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/analytics/plan.ts","../../api/src/analytics/trackingPlanWire.ts","../../api/src/analytics/trackingPlan.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { trackingPlanRequestSchema, trackingPlanResponseSchema } from \"@baker/api/analytics/trackingPlanWire\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { getEnv } from \"../../env.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../ads/output.ts\";\nimport { TAG_MANAGER_TIMEOUT_MS } from \"../tag-manager/shared.ts\";\nimport { trackingPlanErrorEnvelope } from \"./errorEnvelope.ts\";\n\nconst description =\n \"Start here before building a replacement Form: read the agreed journeys, event names, purposes and readiness. --json @plan.json stages the complete plan, with optional wireConversions, funnel steps and a managed Tag Manager installation. Each event records its actual emitter or the missing change and owner. Prepared is not verified. See analytics.md for the contract. Repeating installation preparation replaces its own staged tags; applies only at Publish. --full includes evidence; the default keeps the decision inventory compact.\";\nconst args = {\n json: {\n type: \"string\" as const,\n description: \"Preparation request as JSON or @path; omit to read the effective plan\",\n required: false,\n },\n full: { type: \"boolean\" as const, description: \"Include all journey and verification evidence\", required: false },\n};\nregisterSchema({ command: \"analytics.plan\", description, args });\n\nexport const planCommand = defineCommand({\n meta: { name: \"plan\", description },\n args,\n run: async ({ args }) => {\n try {\n const input: unknown = args.json\n ? JSON.parse(args.json.startsWith(\"@\") ? readFileSync(args.json.slice(1), \"utf8\") : args.json)\n : {};\n const parsed = trackingPlanRequestSchema.parse(input);\n const body = { ...parsed, chatId: getEnv().BAKER_CHAT_ID };\n const response = trackingPlanResponseSchema.parse(\n // Preparing stages the Tag Manager install, which queues behind other companies' requests.\n await apiPost(\"/api/analytics/plan\", body, { timeoutMs: TAG_MANAGER_TIMEOUT_MS }),\n );\n const plan = response.data.plan;\n writeJsonEnvelope({\n ...response,\n data: {\n ...response.data,\n plan:\n args.full || !plan\n ? plan\n : {\n journeys: plan.journeys.map(\n ({ key, name, strategy, status, destinationUrl, requirement, owner }) => ({\n key,\n name,\n strategy,\n status,\n destinationUrl,\n requirement,\n owner,\n }),\n ),\n events: plan.events.map(\n ({ eventKey, name, purpose, door, sourceEvent, status, requirement, owner }) => ({\n eventKey,\n name,\n purpose,\n door,\n sourceEvent,\n status,\n requirement,\n owner,\n }),\n ),\n },\n },\n });\n } catch (error) {\n writeJsonEnvelope({ ok: false, error: trackingPlanErrorEnvelope(error) });\n process.exitCode = 1;\n }\n },\n});\n","import { z } from \"zod\";\nimport { funnelStepSchema } from \"../funnel/wire\";\nimport { parseEventKey } from \"./eventKey\";\nimport { trackingPlanSchema } from \"./trackingPlan\";\n\nconst key = z.string().trim().min(1).max(100);\nconst variableName = z\n .string()\n .trim()\n .min(1)\n .max(200)\n .refine((value) => !/[{}<>\"'\\\\\\r\\n]/.test(value), \"Use a plain container variable name\");\nexport const trackingInstallationSchema = z.object({\n containerId: key,\n baseTagName: key,\n folderId: key.optional(),\n consent: z.enum([\"auto\", \"strict\"]).default(\"auto\"),\n measure: z.enum([\"campaigns\", \"outcomes\", \"all\"]).default(\"campaigns\"),\n events: z\n .array(\n z.object({\n eventKey: key.refine((value) => parseEventKey(value) !== null, \"Use an existing Baker event key\"),\n tagName: key,\n triggerId: key,\n properties: z.record(key, variableName).default({}),\n eventIdVariable: variableName.optional(),\n }),\n )\n .max(50),\n});\nexport type TrackingInstallation = z.infer<typeof trackingInstallationSchema>;\nexport const trackingPlanRequestSchema = z\n .object({\n chatId: z.string().optional(),\n plan: trackingPlanSchema.optional(),\n wireConversions: z.boolean().default(false),\n steps: z.array(funnelStepSchema).max(30).optional(),\n installation: trackingInstallationSchema.optional(),\n })\n .superRefine((request, ctx) => {\n if (!request.plan && (request.installation || request.wireConversions || request.steps))\n ctx.addIssue({ code: \"custom\", message: \"Preparation needs the agreed tracking plan\" });\n });\nexport const trackingPlanResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({ plan: trackingPlanSchema.nullable(), staged: z.boolean() }),\n hints: z.array(z.string()).optional(),\n});\nexport type TrackingPlanResponse = z.infer<typeof trackingPlanResponseSchema>;\n","import { z } from \"zod\";\nimport { parseEventKey } from \"./eventKey\";\nimport { describeSendEvent } from \"./sends\";\nimport { ANALYTICS_EVENT_DOORS } from \"./wire\";\n\nconst text = z.string().trim().min(1).max(2000);\nconst key = z.string().trim().min(1).max(100);\nconst webUrl = z\n .url()\n .refine(\n (value) => URL.canParse(value) && [\"https:\", \"http:\"].includes(new URL(value).protocol),\n \"Use a website address\",\n );\n\nconst trackingEventSchema = z\n .object({\n eventKey: key.refine((value) => parseEventKey(value) !== null, \"Use an existing Baker event key\"),\n name: text,\n purpose: z.enum([\"conversion\", \"progress\", \"diagnostic\", \"uncounted\"]),\n door: z.enum(ANALYTICS_EVENT_DOORS),\n sourceEvent: key.optional(),\n emitterEvidence: text.optional(),\n status: z.enum([\"prepared\", \"waiting\", \"published\", \"verified\"]),\n requirement: text.optional(),\n owner: text.optional(),\n verificationEvidence: text.optional(),\n })\n .superRefine((event, ctx) => {\n if (event.status === \"waiting\") {\n if (!event.requirement || !event.owner)\n ctx.addIssue({ code: \"custom\", message: \"A waiting event needs its requirement and owner\" });\n } else if (!event.emitterEvidence) {\n ctx.addIssue({ code: \"custom\", message: \"A prepared event needs evidence that the source emits it\" });\n }\n if ([\"published\", \"verified\"].includes(event.status) && !event.verificationEvidence) {\n ctx.addIssue({\n code: \"custom\",\n message: \"Published or verified tracking needs evidence; a staged tag is only prepared\",\n });\n }\n });\nexport type TrackingEvent = z.infer<typeof trackingEventSchema>;\n\nconst trackingJourneySchema = z\n .object({\n key,\n name: text,\n entryUrls: z.array(webUrl).max(50),\n destinationUrl: webUrl,\n strategy: z.enum([\"native\", \"embed\", \"api\", \"link\"]),\n status: z.enum([\"supported\", \"waiting\"]),\n requiredFields: z.array(key).max(100),\n attribution: text,\n acceptanceEvidence: text.optional(),\n continuationEvidence: text.optional(),\n requirement: text.optional(),\n owner: text.optional(),\n })\n .superRefine((journey, ctx) => {\n if (journey.strategy === \"link\" && journey.requiredFields.length > 0)\n ctx.addIssue({\n code: \"custom\",\n message: \"A link handoff must not capture details that the destination asks for again\",\n });\n if (journey.status === \"waiting\" && (!journey.requirement || !journey.owner))\n ctx.addIssue({ code: \"custom\", message: \"A waiting journey needs its requirement and owner\" });\n if (\n journey.status === \"supported\" &&\n journey.strategy === \"api\" &&\n (!journey.acceptanceEvidence || !journey.continuationEvidence)\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"An API replacement needs accepted-submission and continuation evidence\",\n });\n });\n\nexport const trackingPlanSchema = z\n .object({\n journeys: z.array(trackingJourneySchema).max(30),\n events: z.array(trackingEventSchema).max(100),\n })\n .superRefine((plan, ctx) => {\n for (const entries of [plan.journeys.map((journey) => journey.key), plan.events.map((event) => event.eventKey)]) {\n if (new Set(entries).size !== entries.length)\n ctx.addIssue({ code: \"custom\", message: \"Each journey and event must appear once\" });\n }\n });\nexport type TrackingPlan = z.infer<typeof trackingPlanSchema>;\n\nexport const TRACKING_STATUS_LABEL = {\n prepared: \"Prepared\",\n waiting: \"Waiting for a change\",\n published: \"Published\",\n verified: \"Verified\",\n} as const;\n\nexport const TRACKING_PURPOSE_LABEL = {\n conversion: \"Conversion\",\n progress: \"Progress\",\n diagnostic: \"Diagnostic\",\n uncounted: \"Not counted\",\n} as const;\n\nexport const TRACKING_DOOR_LABEL = {\n pages: \"Baker pages\",\n website: \"Website pixel\",\n server: \"Your server\",\n integrations: \"Integration\",\n} as const;\n\n/** Review the journey, event mapping, requirements and supporting evidence. */\nexport function describeTrackingPlan(plan: TrackingPlan | null | undefined): string {\n if (!plan) return \"No tracking plan\";\n return (\n [\n ...plan.journeys.map((journey) =>\n [\n journey.name,\n (\n {\n native: \"Existing platform form\",\n embed: \"Embedded Form\",\n api: \"Connected submission\",\n link: \"Link to existing Form\",\n } as const\n )[journey.strategy],\n journey.status === \"supported\" ? \"Supported\" : \"Waiting for a change\",\n journey.entryUrls.join(\", \"),\n `to ${journey.destinationUrl}`,\n `Fields: ${journey.requiredFields.join(\", \") || \"none\"}`,\n journey.attribution,\n journey.acceptanceEvidence,\n journey.continuationEvidence,\n journey.requirement,\n journey.owner,\n ]\n .filter(Boolean)\n .join(\" · \"),\n ),\n ...plan.events.map((event) =>\n [\n event.name,\n `${event.sourceEvent ? `App event: ${event.sourceEvent} → ` : \"\"}Report event: ${describeSendEvent(event.eventKey)}`,\n TRACKING_PURPOSE_LABEL[event.purpose],\n TRACKING_DOOR_LABEL[event.door],\n TRACKING_STATUS_LABEL[event.status],\n event.emitterEvidence,\n event.requirement,\n event.owner,\n event.verificationEvidence,\n ]\n .filter(Boolean)\n .join(\" · \"),\n ),\n ].join(\"\\n\") || \"No journeys or events\"\n );\n}\n"],"mappings":"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","names":["z","key","z","args","key"]}