@koda-sl/baker-cli 0.449.0 → 0.450.0-dev.b454c3dd2

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 (878) hide show
  1. package/README.md +11 -2
  2. package/dist/account-4H7QVBRK.js +80 -0
  3. package/dist/account-XQXC7BR6.js +80 -0
  4. package/dist/account-XQXC7BR6.js.map +1 -0
  5. package/dist/account-writes-AK42HGRM.js +66 -0
  6. package/dist/accounts-722UY53A.js +78 -0
  7. package/dist/accounts-722UY53A.js.map +1 -0
  8. package/dist/accounts-E67BMK7T.js +612 -0
  9. package/dist/accounts-E67BMK7T.js.map +1 -0
  10. package/dist/actions-6TQMSVWD.js +55 -0
  11. package/dist/ad-group-writes-QQS4223F.js +170 -0
  12. package/dist/ad-groups-WGPDPUI2.js +68 -0
  13. package/dist/ad-writes-XE2IE4DS.js +174 -0
  14. package/dist/add-2BEGRHUX.js +303 -0
  15. package/dist/add-2BEGRHUX.js.map +1 -0
  16. package/dist/add-LEMKEOPO.js +105 -0
  17. package/dist/add-LEMKEOPO.js.map +1 -0
  18. package/dist/ads-AGYCVD62.js +40 -0
  19. package/dist/ads-BCOSQALY.js +77 -0
  20. package/dist/advertisers-2VQKAYKG.js +121 -0
  21. package/dist/advertisers-2VQKAYKG.js.map +1 -0
  22. package/dist/analytics-IFELDWLL.js +1962 -0
  23. package/dist/analytics-IFELDWLL.js.map +1 -0
  24. package/dist/analytics-OH5QEH7F.js +434 -0
  25. package/dist/analytics-OH5QEH7F.js.map +1 -0
  26. package/dist/animate-AIZ3GS4J.js +480 -0
  27. package/dist/assign-PTUJUCEL.js +78 -0
  28. package/dist/assign-PTUJUCEL.js.map +1 -0
  29. package/dist/audience-size-LRI6GJRT.js +95 -0
  30. package/dist/audience-size-LRI6GJRT.js.map +1 -0
  31. package/dist/audiences-TGD5US2M.js +268 -0
  32. package/dist/audit-HWP7OPB7.js +152 -0
  33. package/dist/audit-HWP7OPB7.js.map +1 -0
  34. package/dist/autocomplete-J6DHU6MR.js +112 -0
  35. package/dist/autocomplete-J6DHU6MR.js.map +1 -0
  36. package/dist/avatars-467OSBD6.js +38 -0
  37. package/dist/bid-pricing-EO5WLHGV.js +100 -0
  38. package/dist/bid-pricing-EO5WLHGV.js.map +1 -0
  39. package/dist/brand-YRTEPGBK.js +22 -0
  40. package/dist/brief-OSFJ2V7F.js +478 -0
  41. package/dist/brief-OSFJ2V7F.js.map +1 -0
  42. package/dist/campaign-groups-PQ6KSQJR.js +96 -0
  43. package/dist/campaign-groups-PQ6KSQJR.js.map +1 -0
  44. package/dist/campaign-writes-5OVLUD5E.js +166 -0
  45. package/dist/campaign-writes-5OVLUD5E.js.map +1 -0
  46. package/dist/campaign-writes-SXLZFYF6.js +170 -0
  47. package/dist/campaigns-6T3NSUT2.js +110 -0
  48. package/dist/campaigns-6T3NSUT2.js.map +1 -0
  49. package/dist/campaigns-OYMXDGWX.js +107 -0
  50. package/dist/campaigns-YS3OGQXO.js +76 -0
  51. package/dist/canvas-YQFG52IG.js +46 -0
  52. package/dist/capabilities-PXBKUN2G.js +145 -0
  53. package/dist/capabilities-PXBKUN2G.js.map +1 -0
  54. package/dist/catalog-XLXIM7IW.js +65 -0
  55. package/dist/catalogs-BRXEDE56.js +128 -0
  56. package/dist/chatgpt-7W75X3ER.js +47 -0
  57. package/dist/chats-UK47UE7C.js +263 -0
  58. package/dist/chats-UK47UE7C.js.map +1 -0
  59. package/dist/chunk-24EB7EDR.js +433 -0
  60. package/dist/chunk-2AOE2MZQ.js +159 -0
  61. package/dist/chunk-2VPBIT65.js +509 -0
  62. package/dist/chunk-4PDHHHUJ.js +537 -0
  63. package/dist/chunk-4PDHHHUJ.js.map +1 -0
  64. package/dist/chunk-54C6YDGJ.js +622 -0
  65. package/dist/chunk-5WCSKQ7Z.js +188 -0
  66. package/dist/chunk-5ZNTADVR.js +197 -0
  67. package/dist/chunk-6F7DVPOS.js +310 -0
  68. package/dist/chunk-6NY2GPR4.js +304 -0
  69. package/dist/chunk-6Y7ZBENQ.js +207 -0
  70. package/dist/chunk-7CTMH5AK.js +111 -0
  71. package/dist/chunk-7EPXVICM.js +6184 -0
  72. package/dist/chunk-7EPXVICM.js.map +1 -0
  73. package/dist/chunk-7J6EHOH6.js +274 -0
  74. package/dist/chunk-ASI4P6X2.js +6667 -0
  75. package/dist/chunk-C46GUI2S.js +19 -0
  76. package/dist/chunk-CAMX6OHF.js +3182 -0
  77. package/dist/chunk-CAMX6OHF.js.map +1 -0
  78. package/dist/chunk-CWYAELVG.js +60 -0
  79. package/dist/chunk-DCRPXOJJ.js +363 -0
  80. package/dist/chunk-EAP4O4FE.js +440 -0
  81. package/dist/chunk-FPOGPFAG.js +4383 -0
  82. package/dist/chunk-FTWJFDIN.js +23992 -0
  83. package/dist/chunk-FTWJFDIN.js.map +1 -0
  84. package/dist/chunk-FUHN4MFY.js +103 -0
  85. package/dist/chunk-FYGR3I2A.js +297 -0
  86. package/dist/chunk-H3427GPU.js +206 -0
  87. package/dist/chunk-HDLYPC6K.js +172 -0
  88. package/dist/chunk-HDLYPC6K.js.map +1 -0
  89. package/dist/chunk-HR6IWNKE.js +2942 -0
  90. package/dist/chunk-HR6IWNKE.js.map +1 -0
  91. package/dist/chunk-HROZYQ5H.js +275 -0
  92. package/dist/chunk-HROZYQ5H.js.map +1 -0
  93. package/dist/chunk-HZUDRKGR.js +98 -0
  94. package/dist/chunk-I3ZR655O.js +382 -0
  95. package/dist/chunk-KMKEYI37.js +96 -0
  96. package/dist/chunk-KS2QY6MK.js +139 -0
  97. package/dist/chunk-LYQJ4PZW.js +5189 -0
  98. package/dist/chunk-MACCF4JZ.js +3147 -0
  99. package/dist/chunk-N4LAYIIN.js +175 -0
  100. package/dist/chunk-NA63BH7V.js +346 -0
  101. package/dist/chunk-NCWCZY5P.js +1441 -0
  102. package/dist/chunk-NDEE6G2J.js +494 -0
  103. package/dist/chunk-NJXNU2G6.js +819 -0
  104. package/dist/chunk-NYIGXDUG.js +178 -0
  105. package/dist/chunk-NYIGXDUG.js.map +1 -0
  106. package/dist/chunk-P5T7OZKV.js +26 -0
  107. package/dist/chunk-PZXCWSKV.js +1830 -0
  108. package/dist/chunk-QE7W555R.js +541 -0
  109. package/dist/chunk-QE7W555R.js.map +1 -0
  110. package/dist/chunk-R25YLW6H.js +20 -0
  111. package/dist/chunk-RL5CP7N6.js +57 -0
  112. package/dist/chunk-RX2DKU3W.js +592 -0
  113. package/dist/chunk-SJYEY5MV.js +172 -0
  114. package/dist/chunk-SJYEY5MV.js.map +1 -0
  115. package/dist/chunk-ULG4QRTV.js +92 -0
  116. package/dist/chunk-VL43TNIP.js +455 -0
  117. package/dist/chunk-VLMBTPXU.js +51 -0
  118. package/dist/chunk-VNUNE5AB.js +160 -0
  119. package/dist/chunk-VYQ3QJ3C.js +169 -0
  120. package/dist/chunk-WGUQHAJY.js +23 -0
  121. package/dist/chunk-WKQG6TER.js +1079 -0
  122. package/dist/chunk-XFGAUP5B.js +76 -0
  123. package/dist/chunk-ZDMTXQ2Q.js +337 -0
  124. package/dist/claim-W6G6VEG5.js +198 -0
  125. package/dist/claim-W6G6VEG5.js.map +1 -0
  126. package/dist/cli.js +30 -30
  127. package/dist/companies-TS6KBATJ.js +196 -0
  128. package/dist/companies-TS6KBATJ.js.map +1 -0
  129. package/dist/complete-LYR2HMQU.js +82 -0
  130. package/dist/complete-LYR2HMQU.js.map +1 -0
  131. package/dist/connect-FCXNVTXG.js +43 -0
  132. package/dist/conversation-6ZJGPCXM.js +94 -0
  133. package/dist/conversation-6ZJGPCXM.js.map +1 -0
  134. package/dist/conversion-report-XQBJ6LG4.js +125 -0
  135. package/dist/conversion-writes-UBCVXP2E.js +120 -0
  136. package/dist/conversions-D236RTUK.js +76 -0
  137. package/dist/conversions-UHB55MMQ.js +136 -0
  138. package/dist/conversions-UHB55MMQ.js.map +1 -0
  139. package/dist/create-EX6OWLNM.js +208 -0
  140. package/dist/create-EX6OWLNM.js.map +1 -0
  141. package/dist/create-JCA7JPLP.js +131 -0
  142. package/dist/create-JCA7JPLP.js.map +1 -0
  143. package/dist/create-JFSK4BOP.js +60 -0
  144. package/dist/create-JFSK4BOP.js.map +1 -0
  145. package/dist/create-WU22YYU2.js +236 -0
  146. package/dist/create-WU22YYU2.js.map +1 -0
  147. package/dist/creatives-FXUQ5WSD.js +51 -0
  148. package/dist/creatives-KGXUOYPE.js +183 -0
  149. package/dist/creatives-KGXUOYPE.js.map +1 -0
  150. package/dist/credentials-MJC7PGKR.js +1056 -0
  151. package/dist/credentials-MJC7PGKR.js.map +1 -0
  152. package/dist/critique-GS5VV5ZC.js +214 -0
  153. package/dist/critique-GS5VV5ZC.js.map +1 -0
  154. package/dist/critique-TPHR27KH.js +1450 -0
  155. package/dist/critique-TPHR27KH.js.map +1 -0
  156. package/dist/crm-AVCM5D4G.js +319 -0
  157. package/dist/crm-AVCM5D4G.js.map +1 -0
  158. package/dist/crm-VK44O3ED.js +225 -0
  159. package/dist/crm-VK44O3ED.js.map +1 -0
  160. package/dist/customers-XH2DMTFH.js +57 -0
  161. package/dist/delete-E3R3TKIL.js +67 -0
  162. package/dist/delete-E3R3TKIL.js.map +1 -0
  163. package/dist/delete-KRH2YMSZ.js +55 -0
  164. package/dist/delete-KRH2YMSZ.js.map +1 -0
  165. package/dist/delete-WI5E3DR3.js +64 -0
  166. package/dist/delete-WI5E3DR3.js.map +1 -0
  167. package/dist/demographics-XV5PBA77.js +139 -0
  168. package/dist/demographics-XV5PBA77.js.map +1 -0
  169. package/dist/discard-HTQUUHJR.js +67 -0
  170. package/dist/discard-HTQUUHJR.js.map +1 -0
  171. package/dist/domain-RECGZXJB.js +99 -0
  172. package/dist/domain-RECGZXJB.js.map +1 -0
  173. package/dist/draft-2IBSJEKC.js +218 -0
  174. package/dist/draft-2IBSJEKC.js.map +1 -0
  175. package/dist/draft-MNFJ4G3C.js +281 -0
  176. package/dist/draft-PVTX6QT6.js +329 -0
  177. package/dist/draft-PVTX6QT6.js.map +1 -0
  178. package/dist/draft-Q546QPPU.js +307 -0
  179. package/dist/draft-Q546QPPU.js.map +1 -0
  180. package/dist/engine/index.js +6 -6
  181. package/dist/facets-7EVPJMKS.js +115 -0
  182. package/dist/facets-7EVPJMKS.js.map +1 -0
  183. package/dist/feedback-EIZKS4JU.js +66 -0
  184. package/dist/feedback-record-TKO54BOE.js +176 -0
  185. package/dist/feedback-record-TKO54BOE.js.map +1 -0
  186. package/dist/fetch-4BY6HYUM.js +177 -0
  187. package/dist/fetch-4BY6HYUM.js.map +1 -0
  188. package/dist/find-FRRHAPWX.js +134 -0
  189. package/dist/fit-UOFYFJ4Q.js +45 -0
  190. package/dist/flows-KTFAML22.js +248 -0
  191. package/dist/flows-KTFAML22.js.map +1 -0
  192. package/dist/fonts-MXR3ZKDX.js +35 -0
  193. package/dist/forecast-3QTJYVND.js +105 -0
  194. package/dist/forecast-3QTJYVND.js.map +1 -0
  195. package/dist/funnel-I6XIAEHG.js +393 -0
  196. package/dist/funnel-I6XIAEHG.js.map +1 -0
  197. package/dist/ga4-DV2AXCSL.js +55 -0
  198. package/dist/generate-3XYYITU6.js +262 -0
  199. package/dist/get-5PKNKJ5S.js +57 -0
  200. package/dist/get-5PKNKJ5S.js.map +1 -0
  201. package/dist/get-72YPHJGV.js +79 -0
  202. package/dist/get-72YPHJGV.js.map +1 -0
  203. package/dist/google-6OGZX47I.js +1872 -0
  204. package/dist/google-QYYYSSXI.js +136 -0
  205. package/dist/google-ads-QGMQKZQD.js +196 -0
  206. package/dist/google-ads-QGMQKZQD.js.map +1 -0
  207. package/dist/gsc-TAKOF7J5.js +30 -0
  208. package/dist/history-6AVQX2OQ.js +134 -0
  209. package/dist/history-6AVQX2OQ.js.map +1 -0
  210. package/dist/history-Q3QCT64S.js +67 -0
  211. package/dist/hubspot-SVEMFK5S.js +780 -0
  212. package/dist/hubspot-SVEMFK5S.js.map +1 -0
  213. package/dist/icon-L4RSS6PZ.js +137 -0
  214. package/dist/ideas-NFOW3HKJ.js +33 -0
  215. package/dist/images-2EFFUNNV.js +90 -0
  216. package/dist/ingest-2EIKN4QC.js +24 -0
  217. package/dist/ingest-2SO62RRI.js +108 -0
  218. package/dist/ingest-2SO62RRI.js.map +1 -0
  219. package/dist/insights-LNAXV2CG.js +122 -0
  220. package/dist/inspect-4OOS4APT.js +190 -0
  221. package/dist/inspect-4OOS4APT.js.map +1 -0
  222. package/dist/inspiration-S3DU4CMQ.js +53 -0
  223. package/dist/keyword-metrics-SF4CSNZ2.js +198 -0
  224. package/dist/keyword-metrics-SF4CSNZ2.js.map +1 -0
  225. package/dist/keywords-for-site-WDAOPNKC.js +129 -0
  226. package/dist/keywords-for-site-WDAOPNKC.js.map +1 -0
  227. package/dist/landing-2ZB46LXH.js +28 -0
  228. package/dist/leads-A4W5KTWB.js +91 -0
  229. package/dist/leads-A4W5KTWB.js.map +1 -0
  230. package/dist/learn-IPULBCOD.js +204 -0
  231. package/dist/learn-IPULBCOD.js.map +1 -0
  232. package/dist/line-item-writes-EMYSOJKM.js +209 -0
  233. package/dist/line-item-writes-EMYSOJKM.js.map +1 -0
  234. package/dist/line-items-5NECXUZT.js +103 -0
  235. package/dist/link-CI45HWFN.js +65 -0
  236. package/dist/link-CI45HWFN.js.map +1 -0
  237. package/dist/linkedin-B7SYR75X.js +1009 -0
  238. package/dist/linkedin-B7SYR75X.js.map +1 -0
  239. package/dist/list-2BARXOT5.js +152 -0
  240. package/dist/list-2BARXOT5.js.map +1 -0
  241. package/dist/list-BIEVLEHS.js +304 -0
  242. package/dist/list-BIEVLEHS.js.map +1 -0
  243. package/dist/list-ZBT3EBVZ.js +64 -0
  244. package/dist/list-ZBT3EBVZ.js.map +1 -0
  245. package/dist/locations-2NKBJKBT.js +67 -0
  246. package/dist/log-C23OOAJZ.js +93 -0
  247. package/dist/log-C23OOAJZ.js.map +1 -0
  248. package/dist/logo-Q5D7PZY6.js +18 -0
  249. package/dist/lookup-ETWY47F7.js +23 -0
  250. package/dist/make-TPKKJXGL.js +594 -0
  251. package/dist/make-TPKKJXGL.js.map +1 -0
  252. package/dist/map-SYZMPHLL.js +405 -0
  253. package/dist/map-SYZMPHLL.js.map +1 -0
  254. package/dist/mcp-6FQBVJ6F.js +477 -0
  255. package/dist/mcp-6FQBVJ6F.js.map +1 -0
  256. package/dist/media-sources-ZXHEEP6T.js +32 -0
  257. package/dist/members-UDY4OOJW.js +45 -0
  258. package/dist/members-UDY4OOJW.js.map +1 -0
  259. package/dist/models-3Z6MDHQW.js +155 -0
  260. package/dist/normalize-DAKHYS3V.js +142 -0
  261. package/dist/normalize-DAKHYS3V.js.map +1 -0
  262. package/dist/options-QL3ULED5.js +122 -0
  263. package/dist/options-QL3ULED5.js.map +1 -0
  264. package/dist/performance-UF5VTY2U.js +25 -0
  265. package/dist/pixels-TZPF746S.js +60 -0
  266. package/dist/plan-FT632COT.js +51 -0
  267. package/dist/plan-FT632COT.js.map +1 -0
  268. package/dist/promoted-tweet-writes-7HGESJ46.js +181 -0
  269. package/dist/promoted-tweet-writes-7HGESJ46.js.map +1 -0
  270. package/dist/promoted-tweets-LZKS5JIF.js +119 -0
  271. package/dist/publish-NPD3SMZL.js +323 -0
  272. package/dist/publish-NPD3SMZL.js.map +1 -0
  273. package/dist/questionnaire-JNGYJTAY.js +37 -0
  274. package/dist/questionnaire-JNGYJTAY.js.map +1 -0
  275. package/dist/reddit-NU2N3LZD.js +27 -0
  276. package/dist/refresh-EBVJ2C6L.js +95 -0
  277. package/dist/refresh-EBVJ2C6L.js.map +1 -0
  278. package/dist/release-V43YB2PY.js +61 -0
  279. package/dist/release-V43YB2PY.js.map +1 -0
  280. package/dist/remove-QPSWLFI4.js +51 -0
  281. package/dist/remove-QPSWLFI4.js.map +1 -0
  282. package/dist/reopen-GQ66NMWF.js +64 -0
  283. package/dist/reopen-GQ66NMWF.js.map +1 -0
  284. package/dist/rerun-PZK275DY.js +86 -0
  285. package/dist/rerun-PZK275DY.js.map +1 -0
  286. package/dist/research-FMM6AWZC.js +62 -0
  287. package/dist/research-GEOCUBXB.js +263 -0
  288. package/dist/research-GEOCUBXB.js.map +1 -0
  289. package/dist/reset-REXJ6AUK.js +55 -0
  290. package/dist/reset-REXJ6AUK.js.map +1 -0
  291. package/dist/reset-Y72IVESB.js +55 -0
  292. package/dist/reset-Y72IVESB.js.map +1 -0
  293. package/dist/resolve-OGX7C4TV.js +122 -0
  294. package/dist/resolve-OGX7C4TV.js.map +1 -0
  295. package/dist/retry-CD6JAQ3F.js +61 -0
  296. package/dist/retry-CD6JAQ3F.js.map +1 -0
  297. package/dist/retry-TCUBBFR5.js +63 -0
  298. package/dist/retry-TCUBBFR5.js.map +1 -0
  299. package/dist/run-A5ZDXTOI.js +66 -0
  300. package/dist/run-A5ZDXTOI.js.map +1 -0
  301. package/dist/run-EUO34T2J.js +61 -0
  302. package/dist/scaffold-ad-SW2HEWM3.js +1550 -0
  303. package/dist/scaffold-ad-SW2HEWM3.js.map +1 -0
  304. package/dist/scaffold-static-ad-ECTJL54Y.js +967 -0
  305. package/dist/scaffold-static-ad-ECTJL54Y.js.map +1 -0
  306. package/dist/scaffold-video-EI7U7RBK.js +874 -0
  307. package/dist/scaffold-video-EI7U7RBK.js.map +1 -0
  308. package/dist/schedule-S5YZJZ5U.js +62 -0
  309. package/dist/schedule-S5YZJZ5U.js.map +1 -0
  310. package/dist/scheduled-agents-N4LJRM4C.js +49 -0
  311. package/dist/schema-R7JWWOF4.js +133 -0
  312. package/dist/schema-R7JWWOF4.js.map +1 -0
  313. package/dist/search-KHMQH3AT.js +175 -0
  314. package/dist/search-KHMQH3AT.js.map +1 -0
  315. package/dist/select-O2FN2JEQ.js +95 -0
  316. package/dist/select-O2FN2JEQ.js.map +1 -0
  317. package/dist/sends-BQZM5PLS.js +310 -0
  318. package/dist/sends-BQZM5PLS.js.map +1 -0
  319. package/dist/set-prompt-2HASHGWC.js +187 -0
  320. package/dist/set-prompt-2HASHGWC.js.map +1 -0
  321. package/dist/setup-links-GYSE56GX.js +142 -0
  322. package/dist/setup-links-GYSE56GX.js.map +1 -0
  323. package/dist/site-4SKM7RKG.js +178 -0
  324. package/dist/site-4SKM7RKG.js.map +1 -0
  325. package/dist/sources-FQ2UZTHL.js +30 -0
  326. package/dist/sources-R2NKNC6J.js +422 -0
  327. package/dist/sources-R2NKNC6J.js.map +1 -0
  328. package/dist/stale-W756ACKC.js +64 -0
  329. package/dist/stale-W756ACKC.js.map +1 -0
  330. package/dist/status-SE2VZJJB.js +63 -0
  331. package/dist/status-SE2VZJJB.js.map +1 -0
  332. package/dist/stock-KXJ26BY4.js +179 -0
  333. package/dist/studio-SYKOSNDB.js +49 -0
  334. package/dist/sync-LJGSODK3.js +55 -0
  335. package/dist/sync-LJGSODK3.js.map +1 -0
  336. package/dist/sync-definition-QR2N233R.js +54 -0
  337. package/dist/tags-4BAVFH4S.js +225 -0
  338. package/dist/tags-4BAVFH4S.js.map +1 -0
  339. package/dist/tags-5SBMRC2A.js +21 -0
  340. package/dist/tags-5SBMRC2A.js.map +1 -0
  341. package/dist/tags-PYWFSBTR.js +26 -0
  342. package/dist/tags-QQU3OKMZ.js +21 -0
  343. package/dist/tags-QQU3OKMZ.js.map +1 -0
  344. package/dist/tags-YYLNF3PK.js +21 -0
  345. package/dist/tags-YYLNF3PK.js.map +1 -0
  346. package/dist/targeting-criteria-RJFLFICN.js +113 -0
  347. package/dist/targets-S2MT2PNB.js +103 -0
  348. package/dist/targets-S2MT2PNB.js.map +1 -0
  349. package/dist/templates-ZE5TOGRT.js +179 -0
  350. package/dist/templates-ZE5TOGRT.js.map +1 -0
  351. package/dist/testimonials-DII5DYLR.js +32 -0
  352. package/dist/top-companies-PGIAEHDF.js +109 -0
  353. package/dist/top-companies-PGIAEHDF.js.map +1 -0
  354. package/dist/translate-GXTS633J.js +599 -0
  355. package/dist/translate-GXTS633J.js.map +1 -0
  356. package/dist/triggers-2PTONXRU.js +142 -0
  357. package/dist/triggers-2PTONXRU.js.map +1 -0
  358. package/dist/unlink-XRMYJ6DB.js +68 -0
  359. package/dist/unlink-XRMYJ6DB.js.map +1 -0
  360. package/dist/unstage-FY7A3YFF.js +85 -0
  361. package/dist/unstage-FY7A3YFF.js.map +1 -0
  362. package/dist/unstage-RM2RLXKD.js +96 -0
  363. package/dist/unstage-RM2RLXKD.js.map +1 -0
  364. package/dist/update-E5SRBXQR.js +143 -0
  365. package/dist/update-E5SRBXQR.js.map +1 -0
  366. package/dist/update-PJ67D2OG.js +156 -0
  367. package/dist/update-PJ67D2OG.js.map +1 -0
  368. package/dist/update-S4562V3O.js +64 -0
  369. package/dist/update-S4562V3O.js.map +1 -0
  370. package/dist/update-V6YVEUI2.js +99 -0
  371. package/dist/update-V6YVEUI2.js.map +1 -0
  372. package/dist/upload-R6CQVLKF.js +127 -0
  373. package/dist/upload-R6CQVLKF.js.map +1 -0
  374. package/dist/url-options-JOKU46F2.js +128 -0
  375. package/dist/url-options-JOKU46F2.js.map +1 -0
  376. package/dist/url-params-7U2XMOWF.js +99 -0
  377. package/dist/url-params-7U2XMOWF.js.map +1 -0
  378. package/dist/validate-7YPOUKPB.js +90 -0
  379. package/dist/validate-7YPOUKPB.js.map +1 -0
  380. package/dist/videos-LICG6ACJ.js +39 -0
  381. package/dist/viewer-check-L4B4LIAX.js +69 -0
  382. package/dist/web-BA2PGTWU.js +141 -0
  383. package/dist/web-BA2PGTWU.js.map +1 -0
  384. package/dist/winning-ads-C6S2C5VP.js +62 -0
  385. package/dist/write-commands-7SJ3BOW5.js +1016 -0
  386. package/dist/write-commands-7SJ3BOW5.js.map +1 -0
  387. package/dist/x-CZHRC6U7.js +47 -0
  388. package/package.json +1 -1
  389. package/dist/account-AL2ZDSR7.js +0 -79
  390. package/dist/account-AL2ZDSR7.js.map +0 -1
  391. package/dist/account-F6MHQ64I.js +0 -80
  392. package/dist/account-writes-ISE4U2FQ.js +0 -66
  393. package/dist/accounts-HAFCLSR5.js +0 -77
  394. package/dist/accounts-HAFCLSR5.js.map +0 -1
  395. package/dist/accounts-O5MFO3QQ.js +0 -611
  396. package/dist/accounts-O5MFO3QQ.js.map +0 -1
  397. package/dist/actions-P35MEMGN.js +0 -55
  398. package/dist/ad-group-writes-UU5NNKSO.js +0 -170
  399. package/dist/ad-groups-CGFXZNIA.js +0 -68
  400. package/dist/ad-writes-NALDYWOR.js +0 -174
  401. package/dist/add-5GAN6CVO.js +0 -280
  402. package/dist/add-5GAN6CVO.js.map +0 -1
  403. package/dist/add-6DTC6X5G.js +0 -104
  404. package/dist/add-6DTC6X5G.js.map +0 -1
  405. package/dist/ads-C47NA2HH.js +0 -40
  406. package/dist/ads-PV7GZXPR.js +0 -77
  407. package/dist/advertisers-AE75CGVE.js +0 -120
  408. package/dist/advertisers-AE75CGVE.js.map +0 -1
  409. package/dist/analytics-FKCXIMPO.js +0 -1958
  410. package/dist/analytics-FKCXIMPO.js.map +0 -1
  411. package/dist/analytics-FPWQQGRM.js +0 -433
  412. package/dist/analytics-FPWQQGRM.js.map +0 -1
  413. package/dist/animate-FWWHSYPL.js +0 -480
  414. package/dist/assign-ABN2AQ4J.js +0 -77
  415. package/dist/assign-ABN2AQ4J.js.map +0 -1
  416. package/dist/audience-size-GNBJY35X.js +0 -94
  417. package/dist/audience-size-GNBJY35X.js.map +0 -1
  418. package/dist/audiences-VEKGLWBG.js +0 -268
  419. package/dist/audit-3VS63TBW.js +0 -151
  420. package/dist/audit-3VS63TBW.js.map +0 -1
  421. package/dist/autocomplete-VS3XG3B7.js +0 -111
  422. package/dist/autocomplete-VS3XG3B7.js.map +0 -1
  423. package/dist/avatars-EKCKHCC3.js +0 -38
  424. package/dist/bid-pricing-Q72B65AY.js +0 -99
  425. package/dist/bid-pricing-Q72B65AY.js.map +0 -1
  426. package/dist/brand-C6PFGGQN.js +0 -22
  427. package/dist/brief-UO52ZHFI.js +0 -477
  428. package/dist/brief-UO52ZHFI.js.map +0 -1
  429. package/dist/campaign-groups-KFFYQPU3.js +0 -95
  430. package/dist/campaign-groups-KFFYQPU3.js.map +0 -1
  431. package/dist/campaign-writes-FHOS5XZY.js +0 -165
  432. package/dist/campaign-writes-FHOS5XZY.js.map +0 -1
  433. package/dist/campaign-writes-SX52CJYW.js +0 -170
  434. package/dist/campaigns-2NHWBF5C.js +0 -109
  435. package/dist/campaigns-2NHWBF5C.js.map +0 -1
  436. package/dist/campaigns-KZYZTXDS.js +0 -107
  437. package/dist/campaigns-X3DPCCSN.js +0 -76
  438. package/dist/canvas-DPCBGW7K.js +0 -46
  439. package/dist/capabilities-DJFTRJKS.js +0 -144
  440. package/dist/capabilities-DJFTRJKS.js.map +0 -1
  441. package/dist/catalog-ME44ZRZF.js +0 -65
  442. package/dist/catalogs-G3YEVG6S.js +0 -128
  443. package/dist/chatgpt-QNUN63YS.js +0 -47
  444. package/dist/chats-D2CSDX5Q.js +0 -262
  445. package/dist/chats-D2CSDX5Q.js.map +0 -1
  446. package/dist/chunk-2QHODRR6.js +0 -19
  447. package/dist/chunk-35XWJEWH.js +0 -274
  448. package/dist/chunk-3G3ZDLMI.js +0 -197
  449. package/dist/chunk-3HJLHTWP.js +0 -163
  450. package/dist/chunk-3HJLHTWP.js.map +0 -1
  451. package/dist/chunk-3IBYKLXR.js +0 -337
  452. package/dist/chunk-4AUMTNVB.js +0 -346
  453. package/dist/chunk-4BQXAE7Z.js +0 -494
  454. package/dist/chunk-54UVGFX3.js +0 -440
  455. package/dist/chunk-5Y5UAJWD.js +0 -111
  456. package/dist/chunk-5ZDLTE5T.js +0 -159
  457. package/dist/chunk-647RO73Q.js +0 -92
  458. package/dist/chunk-7YCRFMXF.js +0 -433
  459. package/dist/chunk-7ZHMGXE2.js +0 -819
  460. package/dist/chunk-A4LOJ2VD.js +0 -23
  461. package/dist/chunk-AEOSAVVL.js +0 -310
  462. package/dist/chunk-CHSNHVYF.js +0 -3182
  463. package/dist/chunk-CHSNHVYF.js.map +0 -1
  464. package/dist/chunk-CSYSX4D2.js +0 -175
  465. package/dist/chunk-DWHIOO7E.js +0 -390
  466. package/dist/chunk-DWHIOO7E.js.map +0 -1
  467. package/dist/chunk-EDLZGTGN.js +0 -216
  468. package/dist/chunk-EDLZGTGN.js.map +0 -1
  469. package/dist/chunk-FD27ZDVP.js +0 -304
  470. package/dist/chunk-GBMP4F45.js +0 -3147
  471. package/dist/chunk-GLCPTMPG.js +0 -5189
  472. package/dist/chunk-HBTF25YG.js +0 -592
  473. package/dist/chunk-HQSCJYZO.js +0 -26
  474. package/dist/chunk-IBURXTL4.js +0 -509
  475. package/dist/chunk-IR6D7K4H.js +0 -382
  476. package/dist/chunk-J5IY3GVE.js +0 -96
  477. package/dist/chunk-JQJDXPCO.js +0 -103
  478. package/dist/chunk-K66OLA6Y.js +0 -4383
  479. package/dist/chunk-K7FZXIOZ.js +0 -60
  480. package/dist/chunk-KFE3S63W.js +0 -1441
  481. package/dist/chunk-KHRXPQID.js +0 -169
  482. package/dist/chunk-KLBTXETO.js +0 -23992
  483. package/dist/chunk-KLBTXETO.js.map +0 -1
  484. package/dist/chunk-KQTYTCKQ.js +0 -98
  485. package/dist/chunk-LYBXCXJB.js +0 -160
  486. package/dist/chunk-LZ73CZGP.js +0 -188
  487. package/dist/chunk-MELOSESI.js +0 -20
  488. package/dist/chunk-MXYBTMKB.js +0 -363
  489. package/dist/chunk-NPY4QUMQ.js +0 -622
  490. package/dist/chunk-OZRUJVIQ.js +0 -206
  491. package/dist/chunk-QRP3PXWN.js +0 -455
  492. package/dist/chunk-RPUSTYHL.js +0 -170
  493. package/dist/chunk-RPUSTYHL.js.map +0 -1
  494. package/dist/chunk-S77PZVYM.js +0 -297
  495. package/dist/chunk-SHL7LOC3.js +0 -51
  496. package/dist/chunk-SSJK7FEV.js +0 -2886
  497. package/dist/chunk-SSJK7FEV.js.map +0 -1
  498. package/dist/chunk-TT5R35PJ.js +0 -207
  499. package/dist/chunk-ULJ5RFOV.js +0 -76
  500. package/dist/chunk-VB6WJJR3.js +0 -1830
  501. package/dist/chunk-W3ZHJJVT.js +0 -139
  502. package/dist/chunk-XF4JUKVF.js +0 -6151
  503. package/dist/chunk-XF4JUKVF.js.map +0 -1
  504. package/dist/chunk-Y6O7EWYY.js +0 -57
  505. package/dist/chunk-YRQYA2LR.js +0 -217
  506. package/dist/chunk-YRQYA2LR.js.map +0 -1
  507. package/dist/chunk-Z2EOC6PL.js +0 -6667
  508. package/dist/chunk-ZEYEWPK6.js +0 -1079
  509. package/dist/claim-FZ5OQLMU.js +0 -197
  510. package/dist/claim-FZ5OQLMU.js.map +0 -1
  511. package/dist/companies-DNI634RC.js +0 -195
  512. package/dist/companies-DNI634RC.js.map +0 -1
  513. package/dist/complete-2FZMGJV5.js +0 -81
  514. package/dist/complete-2FZMGJV5.js.map +0 -1
  515. package/dist/connect-QCOGEPP4.js +0 -36
  516. package/dist/conversation-6IOGV7B7.js +0 -93
  517. package/dist/conversation-6IOGV7B7.js.map +0 -1
  518. package/dist/conversion-report-N4HANYOB.js +0 -125
  519. package/dist/conversion-writes-LW4HQKK5.js +0 -120
  520. package/dist/conversions-4SRZPBBX.js +0 -135
  521. package/dist/conversions-4SRZPBBX.js.map +0 -1
  522. package/dist/conversions-TS723AZV.js +0 -76
  523. package/dist/create-BJNMO6HT.js +0 -207
  524. package/dist/create-BJNMO6HT.js.map +0 -1
  525. package/dist/create-FX4OJ2XF.js +0 -59
  526. package/dist/create-FX4OJ2XF.js.map +0 -1
  527. package/dist/create-RM7HV77Y.js +0 -130
  528. package/dist/create-RM7HV77Y.js.map +0 -1
  529. package/dist/create-VXM34ZWH.js +0 -235
  530. package/dist/create-VXM34ZWH.js.map +0 -1
  531. package/dist/creatives-JSWBFQ5R.js +0 -182
  532. package/dist/creatives-JSWBFQ5R.js.map +0 -1
  533. package/dist/creatives-SJTJU6VT.js +0 -51
  534. package/dist/credentials-VOZTILFO.js +0 -1055
  535. package/dist/credentials-VOZTILFO.js.map +0 -1
  536. package/dist/critique-65W63MFZ.js +0 -213
  537. package/dist/critique-65W63MFZ.js.map +0 -1
  538. package/dist/critique-ZS4ON3SU.js +0 -1449
  539. package/dist/critique-ZS4ON3SU.js.map +0 -1
  540. package/dist/crm-52ROSWH5.js +0 -224
  541. package/dist/crm-52ROSWH5.js.map +0 -1
  542. package/dist/crm-R5IXIFIV.js +0 -318
  543. package/dist/crm-R5IXIFIV.js.map +0 -1
  544. package/dist/customers-4AWBFDUF.js +0 -56
  545. package/dist/delete-AIGE4Y4H.js +0 -63
  546. package/dist/delete-AIGE4Y4H.js.map +0 -1
  547. package/dist/delete-HGHXY24R.js +0 -54
  548. package/dist/delete-HGHXY24R.js.map +0 -1
  549. package/dist/delete-M2GDLPYN.js +0 -66
  550. package/dist/delete-M2GDLPYN.js.map +0 -1
  551. package/dist/demographics-NTWB2IMG.js +0 -138
  552. package/dist/demographics-NTWB2IMG.js.map +0 -1
  553. package/dist/discard-2WWQG6OU.js +0 -66
  554. package/dist/discard-2WWQG6OU.js.map +0 -1
  555. package/dist/domain-Y2LT6JLT.js +0 -98
  556. package/dist/domain-Y2LT6JLT.js.map +0 -1
  557. package/dist/draft-EJXNNJ3Y.js +0 -306
  558. package/dist/draft-EJXNNJ3Y.js.map +0 -1
  559. package/dist/draft-FJ7WHIXW.js +0 -328
  560. package/dist/draft-FJ7WHIXW.js.map +0 -1
  561. package/dist/draft-SLHAKJ2A.js +0 -217
  562. package/dist/draft-SLHAKJ2A.js.map +0 -1
  563. package/dist/draft-THPZFASM.js +0 -281
  564. package/dist/facets-U7AQC4H6.js +0 -114
  565. package/dist/facets-U7AQC4H6.js.map +0 -1
  566. package/dist/feedback-XNJQ63DS.js +0 -66
  567. package/dist/feedback-record-FDLMWMDG.js +0 -175
  568. package/dist/feedback-record-FDLMWMDG.js.map +0 -1
  569. package/dist/fetch-W7NULDEO.js +0 -176
  570. package/dist/fetch-W7NULDEO.js.map +0 -1
  571. package/dist/find-OTDIX6V4.js +0 -134
  572. package/dist/fit-7237F5EB.js +0 -45
  573. package/dist/flows-KABCBS3S.js +0 -244
  574. package/dist/flows-KABCBS3S.js.map +0 -1
  575. package/dist/fonts-EMMX3KII.js +0 -34
  576. package/dist/forecast-GNODEIIC.js +0 -104
  577. package/dist/forecast-GNODEIIC.js.map +0 -1
  578. package/dist/funnel-AAX27NH4.js +0 -837
  579. package/dist/funnel-AAX27NH4.js.map +0 -1
  580. package/dist/ga4-UDQ2HA2J.js +0 -55
  581. package/dist/generate-MMBYB44G.js +0 -262
  582. package/dist/get-QEYJRLV3.js +0 -54
  583. package/dist/get-QEYJRLV3.js.map +0 -1
  584. package/dist/get-RTVUZM6E.js +0 -78
  585. package/dist/get-RTVUZM6E.js.map +0 -1
  586. package/dist/google-KTO3PLEU.js +0 -136
  587. package/dist/google-M7KEXVK5.js +0 -1872
  588. package/dist/google-ads-OK6IG3UV.js +0 -195
  589. package/dist/google-ads-OK6IG3UV.js.map +0 -1
  590. package/dist/gsc-P3QYGDV2.js +0 -30
  591. package/dist/history-DBIEYQHY.js +0 -67
  592. package/dist/history-PQUJKK26.js +0 -133
  593. package/dist/history-PQUJKK26.js.map +0 -1
  594. package/dist/hubspot-Y77VLY6Y.js +0 -779
  595. package/dist/hubspot-Y77VLY6Y.js.map +0 -1
  596. package/dist/icon-I43F77FV.js +0 -137
  597. package/dist/ideas-MIDU7YOA.js +0 -32
  598. package/dist/images-S254MS6O.js +0 -90
  599. package/dist/ingest-J4I3HKM3.js +0 -107
  600. package/dist/ingest-J4I3HKM3.js.map +0 -1
  601. package/dist/ingest-YV2NLDBE.js +0 -23
  602. package/dist/insights-ZIU6FJMS.js +0 -122
  603. package/dist/inspect-Q5NHBBHX.js +0 -189
  604. package/dist/inspect-Q5NHBBHX.js.map +0 -1
  605. package/dist/inspiration-P265QJ2H.js +0 -53
  606. package/dist/keyword-metrics-PDY4ZXSP.js +0 -197
  607. package/dist/keyword-metrics-PDY4ZXSP.js.map +0 -1
  608. package/dist/keywords-for-site-GALSCV77.js +0 -128
  609. package/dist/keywords-for-site-GALSCV77.js.map +0 -1
  610. package/dist/landing-CJYGWCK4.js +0 -28
  611. package/dist/leads-PHKG6CP3.js +0 -90
  612. package/dist/leads-PHKG6CP3.js.map +0 -1
  613. package/dist/learn-3VO6DXUX.js +0 -203
  614. package/dist/learn-3VO6DXUX.js.map +0 -1
  615. package/dist/line-item-writes-E6MZPIZZ.js +0 -208
  616. package/dist/line-item-writes-E6MZPIZZ.js.map +0 -1
  617. package/dist/line-items-7ZGIKEF2.js +0 -103
  618. package/dist/link-QYAW6A2W.js +0 -64
  619. package/dist/link-QYAW6A2W.js.map +0 -1
  620. package/dist/linkedin-FFSDSGGS.js +0 -1008
  621. package/dist/linkedin-FFSDSGGS.js.map +0 -1
  622. package/dist/list-5IC6KIKO.js +0 -63
  623. package/dist/list-5IC6KIKO.js.map +0 -1
  624. package/dist/list-NVQC5SNY.js +0 -151
  625. package/dist/list-NVQC5SNY.js.map +0 -1
  626. package/dist/list-SAV3LQHY.js +0 -303
  627. package/dist/list-SAV3LQHY.js.map +0 -1
  628. package/dist/locations-74TPQWAT.js +0 -67
  629. package/dist/log-XZPVOALD.js +0 -92
  630. package/dist/log-XZPVOALD.js.map +0 -1
  631. package/dist/logo-2IP663QO.js +0 -18
  632. package/dist/lookup-XK45W2SH.js +0 -22
  633. package/dist/make-LCNP76OF.js +0 -593
  634. package/dist/make-LCNP76OF.js.map +0 -1
  635. package/dist/map-4J5WIWIG.js +0 -404
  636. package/dist/map-4J5WIWIG.js.map +0 -1
  637. package/dist/mcp-XXD7ZQCP.js +0 -476
  638. package/dist/mcp-XXD7ZQCP.js.map +0 -1
  639. package/dist/media-sources-O6ZRUA3N.js +0 -32
  640. package/dist/members-D5ZYLS4Y.js +0 -44
  641. package/dist/members-D5ZYLS4Y.js.map +0 -1
  642. package/dist/models-7U3GRYHF.js +0 -155
  643. package/dist/normalize-PCNC6E2N.js +0 -138
  644. package/dist/normalize-PCNC6E2N.js.map +0 -1
  645. package/dist/options-MQ65VEVD.js +0 -121
  646. package/dist/options-MQ65VEVD.js.map +0 -1
  647. package/dist/performance-6QW2KEEQ.js +0 -24
  648. package/dist/pixels-45A55MOP.js +0 -60
  649. package/dist/promoted-tweet-writes-JPLHY3GM.js +0 -180
  650. package/dist/promoted-tweet-writes-JPLHY3GM.js.map +0 -1
  651. package/dist/promoted-tweets-SURKMHFI.js +0 -119
  652. package/dist/publish-HCQ6MXLB.js +0 -322
  653. package/dist/publish-HCQ6MXLB.js.map +0 -1
  654. package/dist/reddit-GIP3ADMS.js +0 -26
  655. package/dist/refresh-UXQSLCR3.js +0 -94
  656. package/dist/refresh-UXQSLCR3.js.map +0 -1
  657. package/dist/release-5KVLXNP6.js +0 -60
  658. package/dist/release-5KVLXNP6.js.map +0 -1
  659. package/dist/remove-6FIVKCJI.js +0 -50
  660. package/dist/remove-6FIVKCJI.js.map +0 -1
  661. package/dist/reopen-YM5LNOLB.js +0 -63
  662. package/dist/reopen-YM5LNOLB.js.map +0 -1
  663. package/dist/rerun-CET74VPF.js +0 -85
  664. package/dist/rerun-CET74VPF.js.map +0 -1
  665. package/dist/research-EY7C7JJY.js +0 -62
  666. package/dist/research-YOGE7GT2.js +0 -262
  667. package/dist/research-YOGE7GT2.js.map +0 -1
  668. package/dist/reset-C4UHQ3EU.js +0 -54
  669. package/dist/reset-C4UHQ3EU.js.map +0 -1
  670. package/dist/reset-OLVB6AE6.js +0 -54
  671. package/dist/reset-OLVB6AE6.js.map +0 -1
  672. package/dist/resolve-XYH2GDAE.js +0 -121
  673. package/dist/resolve-XYH2GDAE.js.map +0 -1
  674. package/dist/retry-726GKI6V.js +0 -62
  675. package/dist/retry-726GKI6V.js.map +0 -1
  676. package/dist/retry-7EELDEQP.js +0 -60
  677. package/dist/retry-7EELDEQP.js.map +0 -1
  678. package/dist/run-P4KR2MXC.js +0 -65
  679. package/dist/run-P4KR2MXC.js.map +0 -1
  680. package/dist/run-XQ7EM3JT.js +0 -60
  681. package/dist/scaffold-ad-U2KSHKBC.js +0 -1549
  682. package/dist/scaffold-ad-U2KSHKBC.js.map +0 -1
  683. package/dist/scaffold-static-ad-63LQKUSO.js +0 -966
  684. package/dist/scaffold-static-ad-63LQKUSO.js.map +0 -1
  685. package/dist/scaffold-video-MUS6LHJQ.js +0 -873
  686. package/dist/scaffold-video-MUS6LHJQ.js.map +0 -1
  687. package/dist/schedule-RDK4GEPI.js +0 -61
  688. package/dist/schedule-RDK4GEPI.js.map +0 -1
  689. package/dist/scheduled-agents-6U44QE76.js +0 -49
  690. package/dist/schema-CHJDC7GQ.js +0 -129
  691. package/dist/schema-CHJDC7GQ.js.map +0 -1
  692. package/dist/search-PMJRU3C4.js +0 -174
  693. package/dist/search-PMJRU3C4.js.map +0 -1
  694. package/dist/select-4Z7BW5RH.js +0 -94
  695. package/dist/select-4Z7BW5RH.js.map +0 -1
  696. package/dist/sends-WGJVQUMF.js +0 -309
  697. package/dist/sends-WGJVQUMF.js.map +0 -1
  698. package/dist/set-prompt-OB2V3XJP.js +0 -186
  699. package/dist/set-prompt-OB2V3XJP.js.map +0 -1
  700. package/dist/setup-links-REPREN3C.js +0 -141
  701. package/dist/setup-links-REPREN3C.js.map +0 -1
  702. package/dist/site-WFSWIA3S.js +0 -177
  703. package/dist/site-WFSWIA3S.js.map +0 -1
  704. package/dist/sources-AMI2AWKZ.js +0 -421
  705. package/dist/sources-AMI2AWKZ.js.map +0 -1
  706. package/dist/sources-YBQ6KPFM.js +0 -30
  707. package/dist/stale-DAYXOY3Z.js +0 -63
  708. package/dist/stale-DAYXOY3Z.js.map +0 -1
  709. package/dist/status-7F2KHFGA.js +0 -62
  710. package/dist/status-7F2KHFGA.js.map +0 -1
  711. package/dist/stock-2YCDN3N6.js +0 -179
  712. package/dist/studio-C5K3YX3P.js +0 -49
  713. package/dist/sync-GWTLKZTU.js +0 -54
  714. package/dist/sync-GWTLKZTU.js.map +0 -1
  715. package/dist/sync-definition-ILS2B2BJ.js +0 -53
  716. package/dist/tags-3WPW6PTV.js +0 -26
  717. package/dist/tags-6342FQEB.js +0 -20
  718. package/dist/tags-6342FQEB.js.map +0 -1
  719. package/dist/tags-ABHSX6M5.js +0 -20
  720. package/dist/tags-ABHSX6M5.js.map +0 -1
  721. package/dist/tags-FJIBBBRG.js +0 -20
  722. package/dist/tags-FJIBBBRG.js.map +0 -1
  723. package/dist/tags-KFYLZLB3.js +0 -224
  724. package/dist/tags-KFYLZLB3.js.map +0 -1
  725. package/dist/targeting-criteria-NR47AF5C.js +0 -113
  726. package/dist/targets-L56KOVQE.js +0 -102
  727. package/dist/targets-L56KOVQE.js.map +0 -1
  728. package/dist/templates-B6XGDYUF.js +0 -178
  729. package/dist/templates-B6XGDYUF.js.map +0 -1
  730. package/dist/testimonials-CVC4YIXO.js +0 -32
  731. package/dist/top-companies-45X3DT7Z.js +0 -108
  732. package/dist/top-companies-45X3DT7Z.js.map +0 -1
  733. package/dist/translate-TA5KQIU7.js +0 -598
  734. package/dist/translate-TA5KQIU7.js.map +0 -1
  735. package/dist/triggers-22EMIVFD.js +0 -141
  736. package/dist/triggers-22EMIVFD.js.map +0 -1
  737. package/dist/unlink-65KUN6ID.js +0 -67
  738. package/dist/unlink-65KUN6ID.js.map +0 -1
  739. package/dist/unstage-2E3I5SWF.js +0 -84
  740. package/dist/unstage-2E3I5SWF.js.map +0 -1
  741. package/dist/unstage-4ZEULXEQ.js +0 -95
  742. package/dist/unstage-4ZEULXEQ.js.map +0 -1
  743. package/dist/update-2S7CSEAW.js +0 -63
  744. package/dist/update-2S7CSEAW.js.map +0 -1
  745. package/dist/update-7NCOTAQZ.js +0 -98
  746. package/dist/update-7NCOTAQZ.js.map +0 -1
  747. package/dist/update-D6DJC6T7.js +0 -155
  748. package/dist/update-D6DJC6T7.js.map +0 -1
  749. package/dist/update-KREBPGBH.js +0 -142
  750. package/dist/update-KREBPGBH.js.map +0 -1
  751. package/dist/upload-O6NHRPS7.js +0 -126
  752. package/dist/upload-O6NHRPS7.js.map +0 -1
  753. package/dist/url-options-GGXAL3J4.js +0 -127
  754. package/dist/url-options-GGXAL3J4.js.map +0 -1
  755. package/dist/url-params-3EFGVTZZ.js +0 -98
  756. package/dist/url-params-3EFGVTZZ.js.map +0 -1
  757. package/dist/validate-LDBAAXQO.js +0 -89
  758. package/dist/validate-LDBAAXQO.js.map +0 -1
  759. package/dist/videos-YSXYGTBM.js +0 -39
  760. package/dist/viewer-check-45T2HLAH.js +0 -69
  761. package/dist/web-IGIGVEKS.js +0 -140
  762. package/dist/web-IGIGVEKS.js.map +0 -1
  763. package/dist/winning-ads-ASH5DSV3.js +0 -62
  764. package/dist/write-commands-5C7FUOVN.js +0 -1015
  765. package/dist/write-commands-5C7FUOVN.js.map +0 -1
  766. package/dist/x-BFSKFCZD.js +0 -47
  767. /package/dist/{account-F6MHQ64I.js.map → account-4H7QVBRK.js.map} +0 -0
  768. /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-AK42HGRM.js.map} +0 -0
  769. /package/dist/{actions-P35MEMGN.js.map → actions-6TQMSVWD.js.map} +0 -0
  770. /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-QQS4223F.js.map} +0 -0
  771. /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-WGPDPUI2.js.map} +0 -0
  772. /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-XE2IE4DS.js.map} +0 -0
  773. /package/dist/{ads-C47NA2HH.js.map → ads-AGYCVD62.js.map} +0 -0
  774. /package/dist/{ads-PV7GZXPR.js.map → ads-BCOSQALY.js.map} +0 -0
  775. /package/dist/{animate-FWWHSYPL.js.map → animate-AIZ3GS4J.js.map} +0 -0
  776. /package/dist/{audiences-VEKGLWBG.js.map → audiences-TGD5US2M.js.map} +0 -0
  777. /package/dist/{avatars-EKCKHCC3.js.map → avatars-467OSBD6.js.map} +0 -0
  778. /package/dist/{brand-C6PFGGQN.js.map → brand-YRTEPGBK.js.map} +0 -0
  779. /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-SXLZFYF6.js.map} +0 -0
  780. /package/dist/{campaigns-KZYZTXDS.js.map → campaigns-OYMXDGWX.js.map} +0 -0
  781. /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-YS3OGQXO.js.map} +0 -0
  782. /package/dist/{canvas-DPCBGW7K.js.map → canvas-YQFG52IG.js.map} +0 -0
  783. /package/dist/{catalog-ME44ZRZF.js.map → catalog-XLXIM7IW.js.map} +0 -0
  784. /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-BRXEDE56.js.map} +0 -0
  785. /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-7W75X3ER.js.map} +0 -0
  786. /package/dist/{chunk-7YCRFMXF.js.map → chunk-24EB7EDR.js.map} +0 -0
  787. /package/dist/{chunk-5ZDLTE5T.js.map → chunk-2AOE2MZQ.js.map} +0 -0
  788. /package/dist/{chunk-IBURXTL4.js.map → chunk-2VPBIT65.js.map} +0 -0
  789. /package/dist/{chunk-NPY4QUMQ.js.map → chunk-54C6YDGJ.js.map} +0 -0
  790. /package/dist/{chunk-LZ73CZGP.js.map → chunk-5WCSKQ7Z.js.map} +0 -0
  791. /package/dist/{chunk-3G3ZDLMI.js.map → chunk-5ZNTADVR.js.map} +0 -0
  792. /package/dist/{chunk-AEOSAVVL.js.map → chunk-6F7DVPOS.js.map} +0 -0
  793. /package/dist/{chunk-FD27ZDVP.js.map → chunk-6NY2GPR4.js.map} +0 -0
  794. /package/dist/{chunk-TT5R35PJ.js.map → chunk-6Y7ZBENQ.js.map} +0 -0
  795. /package/dist/{chunk-5Y5UAJWD.js.map → chunk-7CTMH5AK.js.map} +0 -0
  796. /package/dist/{chunk-35XWJEWH.js.map → chunk-7J6EHOH6.js.map} +0 -0
  797. /package/dist/{chunk-Z2EOC6PL.js.map → chunk-ASI4P6X2.js.map} +0 -0
  798. /package/dist/{chunk-2QHODRR6.js.map → chunk-C46GUI2S.js.map} +0 -0
  799. /package/dist/{chunk-K7FZXIOZ.js.map → chunk-CWYAELVG.js.map} +0 -0
  800. /package/dist/{chunk-MXYBTMKB.js.map → chunk-DCRPXOJJ.js.map} +0 -0
  801. /package/dist/{chunk-54UVGFX3.js.map → chunk-EAP4O4FE.js.map} +0 -0
  802. /package/dist/{chunk-K66OLA6Y.js.map → chunk-FPOGPFAG.js.map} +0 -0
  803. /package/dist/{chunk-JQJDXPCO.js.map → chunk-FUHN4MFY.js.map} +0 -0
  804. /package/dist/{chunk-S77PZVYM.js.map → chunk-FYGR3I2A.js.map} +0 -0
  805. /package/dist/{chunk-OZRUJVIQ.js.map → chunk-H3427GPU.js.map} +0 -0
  806. /package/dist/{chunk-KQTYTCKQ.js.map → chunk-HZUDRKGR.js.map} +0 -0
  807. /package/dist/{chunk-IR6D7K4H.js.map → chunk-I3ZR655O.js.map} +0 -0
  808. /package/dist/{chunk-J5IY3GVE.js.map → chunk-KMKEYI37.js.map} +0 -0
  809. /package/dist/{chunk-W3ZHJJVT.js.map → chunk-KS2QY6MK.js.map} +0 -0
  810. /package/dist/{chunk-GLCPTMPG.js.map → chunk-LYQJ4PZW.js.map} +0 -0
  811. /package/dist/{chunk-GBMP4F45.js.map → chunk-MACCF4JZ.js.map} +0 -0
  812. /package/dist/{chunk-CSYSX4D2.js.map → chunk-N4LAYIIN.js.map} +0 -0
  813. /package/dist/{chunk-4AUMTNVB.js.map → chunk-NA63BH7V.js.map} +0 -0
  814. /package/dist/{chunk-KFE3S63W.js.map → chunk-NCWCZY5P.js.map} +0 -0
  815. /package/dist/{chunk-4BQXAE7Z.js.map → chunk-NDEE6G2J.js.map} +0 -0
  816. /package/dist/{chunk-7ZHMGXE2.js.map → chunk-NJXNU2G6.js.map} +0 -0
  817. /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
  818. /package/dist/{chunk-VB6WJJR3.js.map → chunk-PZXCWSKV.js.map} +0 -0
  819. /package/dist/{chunk-MELOSESI.js.map → chunk-R25YLW6H.js.map} +0 -0
  820. /package/dist/{chunk-Y6O7EWYY.js.map → chunk-RL5CP7N6.js.map} +0 -0
  821. /package/dist/{chunk-HBTF25YG.js.map → chunk-RX2DKU3W.js.map} +0 -0
  822. /package/dist/{chunk-647RO73Q.js.map → chunk-ULG4QRTV.js.map} +0 -0
  823. /package/dist/{chunk-QRP3PXWN.js.map → chunk-VL43TNIP.js.map} +0 -0
  824. /package/dist/{chunk-SHL7LOC3.js.map → chunk-VLMBTPXU.js.map} +0 -0
  825. /package/dist/{chunk-LYBXCXJB.js.map → chunk-VNUNE5AB.js.map} +0 -0
  826. /package/dist/{chunk-KHRXPQID.js.map → chunk-VYQ3QJ3C.js.map} +0 -0
  827. /package/dist/{chunk-A4LOJ2VD.js.map → chunk-WGUQHAJY.js.map} +0 -0
  828. /package/dist/{chunk-ZEYEWPK6.js.map → chunk-WKQG6TER.js.map} +0 -0
  829. /package/dist/{chunk-ULJ5RFOV.js.map → chunk-XFGAUP5B.js.map} +0 -0
  830. /package/dist/{chunk-3IBYKLXR.js.map → chunk-ZDMTXQ2Q.js.map} +0 -0
  831. /package/dist/{connect-QCOGEPP4.js.map → connect-FCXNVTXG.js.map} +0 -0
  832. /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-XQBJ6LG4.js.map} +0 -0
  833. /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-UBCVXP2E.js.map} +0 -0
  834. /package/dist/{conversions-TS723AZV.js.map → conversions-D236RTUK.js.map} +0 -0
  835. /package/dist/{creatives-SJTJU6VT.js.map → creatives-FXUQ5WSD.js.map} +0 -0
  836. /package/dist/{customers-4AWBFDUF.js.map → customers-XH2DMTFH.js.map} +0 -0
  837. /package/dist/{draft-THPZFASM.js.map → draft-MNFJ4G3C.js.map} +0 -0
  838. /package/dist/{feedback-XNJQ63DS.js.map → feedback-EIZKS4JU.js.map} +0 -0
  839. /package/dist/{find-OTDIX6V4.js.map → find-FRRHAPWX.js.map} +0 -0
  840. /package/dist/{fit-7237F5EB.js.map → fit-UOFYFJ4Q.js.map} +0 -0
  841. /package/dist/{fonts-EMMX3KII.js.map → fonts-MXR3ZKDX.js.map} +0 -0
  842. /package/dist/{ga4-UDQ2HA2J.js.map → ga4-DV2AXCSL.js.map} +0 -0
  843. /package/dist/{generate-MMBYB44G.js.map → generate-3XYYITU6.js.map} +0 -0
  844. /package/dist/{google-M7KEXVK5.js.map → google-6OGZX47I.js.map} +0 -0
  845. /package/dist/{google-KTO3PLEU.js.map → google-QYYYSSXI.js.map} +0 -0
  846. /package/dist/{gsc-P3QYGDV2.js.map → gsc-TAKOF7J5.js.map} +0 -0
  847. /package/dist/{history-DBIEYQHY.js.map → history-Q3QCT64S.js.map} +0 -0
  848. /package/dist/{icon-I43F77FV.js.map → icon-L4RSS6PZ.js.map} +0 -0
  849. /package/dist/{ideas-MIDU7YOA.js.map → ideas-NFOW3HKJ.js.map} +0 -0
  850. /package/dist/{images-S254MS6O.js.map → images-2EFFUNNV.js.map} +0 -0
  851. /package/dist/{ingest-YV2NLDBE.js.map → ingest-2EIKN4QC.js.map} +0 -0
  852. /package/dist/{insights-ZIU6FJMS.js.map → insights-LNAXV2CG.js.map} +0 -0
  853. /package/dist/{inspiration-P265QJ2H.js.map → inspiration-S3DU4CMQ.js.map} +0 -0
  854. /package/dist/{landing-CJYGWCK4.js.map → landing-2ZB46LXH.js.map} +0 -0
  855. /package/dist/{line-items-7ZGIKEF2.js.map → line-items-5NECXUZT.js.map} +0 -0
  856. /package/dist/{locations-74TPQWAT.js.map → locations-2NKBJKBT.js.map} +0 -0
  857. /package/dist/{logo-2IP663QO.js.map → logo-Q5D7PZY6.js.map} +0 -0
  858. /package/dist/{lookup-XK45W2SH.js.map → lookup-ETWY47F7.js.map} +0 -0
  859. /package/dist/{media-sources-O6ZRUA3N.js.map → media-sources-ZXHEEP6T.js.map} +0 -0
  860. /package/dist/{models-7U3GRYHF.js.map → models-3Z6MDHQW.js.map} +0 -0
  861. /package/dist/{performance-6QW2KEEQ.js.map → performance-UF5VTY2U.js.map} +0 -0
  862. /package/dist/{pixels-45A55MOP.js.map → pixels-TZPF746S.js.map} +0 -0
  863. /package/dist/{promoted-tweets-SURKMHFI.js.map → promoted-tweets-LZKS5JIF.js.map} +0 -0
  864. /package/dist/{reddit-GIP3ADMS.js.map → reddit-NU2N3LZD.js.map} +0 -0
  865. /package/dist/{research-EY7C7JJY.js.map → research-FMM6AWZC.js.map} +0 -0
  866. /package/dist/{run-XQ7EM3JT.js.map → run-EUO34T2J.js.map} +0 -0
  867. /package/dist/{scheduled-agents-6U44QE76.js.map → scheduled-agents-N4LJRM4C.js.map} +0 -0
  868. /package/dist/{sources-YBQ6KPFM.js.map → sources-FQ2UZTHL.js.map} +0 -0
  869. /package/dist/{stock-2YCDN3N6.js.map → stock-KXJ26BY4.js.map} +0 -0
  870. /package/dist/{studio-C5K3YX3P.js.map → studio-SYKOSNDB.js.map} +0 -0
  871. /package/dist/{sync-definition-ILS2B2BJ.js.map → sync-definition-QR2N233R.js.map} +0 -0
  872. /package/dist/{tags-3WPW6PTV.js.map → tags-PYWFSBTR.js.map} +0 -0
  873. /package/dist/{targeting-criteria-NR47AF5C.js.map → targeting-criteria-RJFLFICN.js.map} +0 -0
  874. /package/dist/{testimonials-CVC4YIXO.js.map → testimonials-DII5DYLR.js.map} +0 -0
  875. /package/dist/{videos-YSXYGTBM.js.map → videos-LICG6ACJ.js.map} +0 -0
  876. /package/dist/{viewer-check-45T2HLAH.js.map → viewer-check-L4B4LIAX.js.map} +0 -0
  877. /package/dist/{winning-ads-ASH5DSV3.js.map → winning-ads-C6S2C5VP.js.map} +0 -0
  878. /package/dist/{x-BFSKFCZD.js.map → x-CZHRC6U7.js.map} +0 -0
@@ -0,0 +1,155 @@
1
+ import {
2
+ DEFAULT_IMAGE_GENERATE_MODEL,
3
+ DEFAULT_VIDEO_GENERATE_MODEL,
4
+ IMAGE_GENERATE_MODELS,
5
+ MODEL_REGISTRY,
6
+ VIDEO_GENERATE_MODELS,
7
+ maxInputReferences,
8
+ maxInputSlot,
9
+ promptMaxLength,
10
+ supportsReferenceToVideo
11
+ } from "./chunk-CAMX6OHF.js";
12
+ import {
13
+ registerSchema,
14
+ writeJson
15
+ } from "./chunk-NU7JSWVA.js";
16
+ import "./chunk-YQSBHWOI.js";
17
+
18
+ // src/commands/studio/models.ts
19
+ import { defineCommand } from "citty";
20
+ var DESCRIPTION = "What each Studio model actually accepts: its shapes, resolutions, clip lengths, prompt character cap, how many reference images it takes, and which knobs it has. Read this before a batch you care about \u2014 the models disagree far more than they look like they do, and a setting the chosen model does not have is REFUSED, not ignored.";
21
+ registerSchema({
22
+ command: "studio.models",
23
+ description: DESCRIPTION,
24
+ args: {
25
+ kind: {
26
+ type: "string",
27
+ description: "image (default) or video",
28
+ required: false,
29
+ enum: ["image", "video"]
30
+ },
31
+ model: { type: "string", description: "Just this one model, with every knob it takes", required: false }
32
+ }
33
+ });
34
+ function describeKnob(schema) {
35
+ if (schema.kind === "string") {
36
+ return {
37
+ type: "string",
38
+ ...schema.enum ? { values: [...schema.enum] } : {},
39
+ ...schema.maxLength !== void 0 ? { maxChars: schema.maxLength } : {}
40
+ };
41
+ }
42
+ if (schema.kind === "number") {
43
+ return {
44
+ type: schema.integer ? "integer" : "number",
45
+ ...schema.enum ? { values: [...schema.enum] } : {},
46
+ ...schema.min !== void 0 ? { min: schema.min } : {},
47
+ ...schema.max !== void 0 ? { max: schema.max } : {}
48
+ };
49
+ }
50
+ return { type: schema.kind };
51
+ }
52
+ function knobsFor(node, model) {
53
+ const params = MODEL_REGISTRY[node][model]?.params ?? {};
54
+ const knobs = {};
55
+ for (const [name, schema] of Object.entries(params)) {
56
+ if (name === "prompt") continue;
57
+ knobs[name] = describeKnob(schema);
58
+ }
59
+ return knobs;
60
+ }
61
+ function enumOf(node, model, param) {
62
+ const schema = MODEL_REGISTRY[node][model]?.params[param];
63
+ if (schema?.kind === "string") return schema.enum ? [...schema.enum] : void 0;
64
+ if (schema?.kind === "number") return schema.enum ? [...schema.enum] : void 0;
65
+ return void 0;
66
+ }
67
+ function imageCard(model) {
68
+ return {
69
+ id: model,
70
+ label: MODEL_REGISTRY.image_generate[model]?.label,
71
+ default: model === DEFAULT_IMAGE_GENERATE_MODEL,
72
+ shapes: enumOf("image_generate", model, "aspect_ratio"),
73
+ resolutions: enumOf("image_generate", model, "image_size") ?? "fixed by the model",
74
+ promptMaxChars: promptMaxLength("image_generate", model) ?? "no published limit",
75
+ maxReferenceImages: maxInputReferences("image_generate", model) ?? "no published limit",
76
+ knobs: knobsFor("image_generate", model)
77
+ };
78
+ }
79
+ function videoCard(model) {
80
+ const sourceClips = maxInputSlot("video_generate", model, "video");
81
+ return {
82
+ id: model,
83
+ label: MODEL_REGISTRY.video_generate[model]?.label,
84
+ default: model === DEFAULT_VIDEO_GENERATE_MODEL,
85
+ shapes: enumOf("video_generate", model, "aspect_ratio"),
86
+ resolutions: enumOf("video_generate", model, "resolution") ?? "fixed by the model",
87
+ seconds: enumOf("video_generate", model, "duration"),
88
+ promptMaxChars: promptMaxLength("video_generate", model) ?? "no published limit",
89
+ // Only meaningful in reference mode; a first-frame clip always takes exactly
90
+ // one image, whatever the model's reference slot allows.
91
+ referenceMode: supportsReferenceToVideo(model) ? `up to ${maxInputReferences("video_generate", model) ?? "several"} reference images` : "first frame only \u2014 this model cannot take reference images",
92
+ // Stated on EVERY card, not just the one model that has it: "can this build
93
+ // on a clip I already made" is the question that decides whether extend and
94
+ // edit are possible at all, and a field that appears only when the answer is
95
+ // yes reads as "unknown" everywhere else.
96
+ buildsOnClips: sourceClips ? `up to ${sourceClips} source clips \u2014 extend, edit, or carry their motion (pass with --from-clip)` : "no \u2014 this model cannot build on an existing clip",
97
+ knobs: knobsFor("video_generate", model)
98
+ };
99
+ }
100
+ function buildModelCards(kind, model) {
101
+ const ids = kind === "image" ? IMAGE_GENERATE_MODELS : VIDEO_GENERATE_MODELS;
102
+ const build = kind === "image" ? imageCard : videoCard;
103
+ const selected = model ? ids.filter((id) => id === model) : ids;
104
+ return selected.map((id) => build(id));
105
+ }
106
+ var modelsCommand = defineCommand({
107
+ meta: {
108
+ name: "models",
109
+ description: `${DESCRIPTION}
110
+
111
+ Everything here is read from the same table the backend validates against, so it cannot drift from what a request will actually be allowed to do.
112
+
113
+ Two rules that explain most refusals:
114
+ - A knob the chosen model does not have is REFUSED, not dropped \u2014 asking gpt-image-2 for a resolution fails rather than quietly rendering at its own size, because a setting that silently did nothing is worse than one that told you.
115
+ - A SHAPE is the exception: an unsupported one snaps to the nearest that model renders (4:5 on gpt-image-2 becomes 3:4), so you can ask for the ad format you want.
116
+
117
+ Examples:
118
+ baker studio models
119
+ baker studio models --kind video
120
+ baker studio models --model recraft/recraft-v4.1-pro-vector`
121
+ },
122
+ args: {
123
+ kind: { type: "string", description: "image (default) | video", required: false },
124
+ model: { type: "string", description: "Just this one model", required: false }
125
+ },
126
+ run: ({ args }) => {
127
+ const kind = args.kind === "video" ? "video" : "image";
128
+ const model = args.model;
129
+ const cards = buildModelCards(kind, model);
130
+ if (model && cards.length === 0) {
131
+ writeJson({
132
+ ok: false,
133
+ error: {
134
+ code: "NOT_FOUND",
135
+ message: `"${model}" is not a Studio ${kind} model.`,
136
+ fix: `Run \`baker studio models --kind ${kind}\` for the roster.`
137
+ }
138
+ });
139
+ process.exit(1);
140
+ }
141
+ writeJson({
142
+ ok: true,
143
+ data: cards,
144
+ meta: { count: cards.length },
145
+ hints: [
146
+ kind === "image" ? "Shapes snap to the nearest the model renders; every other setting is refused if the model does not have it." : "A clip starting from one exact frame uses ONE image. Only Seedance and Gemini Omni take several as references, and only Seedance 2.5 goes past 15s or builds on an existing clip."
147
+ ]
148
+ });
149
+ }
150
+ });
151
+ export {
152
+ buildModelCards,
153
+ modelsCommand
154
+ };
155
+ //# sourceMappingURL=models-3Z6MDHQW.js.map
@@ -0,0 +1,142 @@
1
+ import {
2
+ flowDataPath,
3
+ listFlowSlugs,
4
+ readFlowTree,
5
+ walkNodes,
6
+ writeFlowTree
7
+ } from "./chunk-HROZYQ5H.js";
8
+ import {
9
+ looksLikeUnresolvedVariable,
10
+ parseEmailRecipients
11
+ } from "./chunk-7EPXVICM.js";
12
+ import "./chunk-GXDLWBOY.js";
13
+ import "./chunk-TEINLN64.js";
14
+ import "./chunk-ZJWUBJYQ.js";
15
+ import "./chunk-HR6IWNKE.js";
16
+ import "./chunk-NE4F3FHN.js";
17
+ import "./chunk-XBOK23HI.js";
18
+ import "./chunk-IFWP3ZDO.js";
19
+ import "./chunk-NAWWC5I3.js";
20
+ import {
21
+ registerSchema,
22
+ writeJson
23
+ } from "./chunk-NU7JSWVA.js";
24
+ import "./chunk-YQSBHWOI.js";
25
+
26
+ // src/commands/flows/normalize.ts
27
+ import { defineCommand } from "citty";
28
+ var OPTIONAL_STRINGS = ["oauthProviderId"];
29
+ var ARRAY_FIELDS = [
30
+ "fieldMapping",
31
+ "columnMapping",
32
+ "payloadKeys",
33
+ "eventParams",
34
+ "eventProperties",
35
+ "dataLayerParams",
36
+ "goalParams",
37
+ "fields",
38
+ "tagIds"
39
+ ];
40
+ var ARRAY_OWNERS = ["", "body"];
41
+ function dropUnsetOptionals(sideEffect, path) {
42
+ return OPTIONAL_STRINGS.flatMap((key) => {
43
+ if (!(key in sideEffect) || sideEffect[key] !== null && sideEffect[key] !== "") return [];
44
+ delete sideEffect[key];
45
+ return [{ path, change: `dropped \`${key}\` (an optional string is absent, never null)` }];
46
+ });
47
+ }
48
+ function fillNulledArrays(target, prefix, path) {
49
+ return ARRAY_FIELDS.flatMap((key) => {
50
+ if (!(key in target) || target[key] !== null) return [];
51
+ target[key] = [];
52
+ return [{ path, change: `\`${prefix}${key}: null\` \u2192 \`[]\`` }];
53
+ });
54
+ }
55
+ function tidyEmailRecipients(sideEffect, path) {
56
+ if (sideEffect.type !== "email") return [];
57
+ const config = sideEffect.encryptedConfig;
58
+ if (!config || typeof config !== "object" || Array.isArray(config)) return [];
59
+ const raw = config.email;
60
+ if (typeof raw !== "string" || looksLikeUnresolvedVariable(raw)) return [];
61
+ const { to, invalid } = parseEmailRecipients(raw);
62
+ if (invalid.length > 0 || to.length === 0) return [];
63
+ const tidied = to.join(", ");
64
+ if (tidied === raw) return [];
65
+ config.email = tidied;
66
+ return [{ path, change: "tidied the recipient list's spacing and separators" }];
67
+ }
68
+ function sideEffectsOf(node) {
69
+ if (!Array.isArray(node.sideEffects)) return [];
70
+ return node.sideEffects.filter(
71
+ (sideEffect) => Boolean(sideEffect) && typeof sideEffect === "object"
72
+ );
73
+ }
74
+ function normalizeSideEffect(sideEffect, where) {
75
+ const path = `${where} \u2192 ${String(sideEffect.id ?? "side effect")}`;
76
+ const arrays = ARRAY_OWNERS.flatMap((owner) => {
77
+ const target = owner ? sideEffect[owner] : sideEffect;
78
+ if (!target || typeof target !== "object") return [];
79
+ return fillNulledArrays(target, owner ? `${owner}.` : "", path);
80
+ });
81
+ return [...dropUnsetOptionals(sideEffect, path), ...arrays, ...tidyEmailRecipients(sideEffect, path)];
82
+ }
83
+ function normalizeFlowTree(tree) {
84
+ const changes = [];
85
+ for (const node of walkNodes(tree)) {
86
+ const where = typeof node.name === "string" && node.name ? String(node.name) : String(node.id ?? "node");
87
+ if (!("condition" in node)) {
88
+ node.condition = null;
89
+ changes.push({ path: where, change: "added the missing `condition: null`" });
90
+ }
91
+ for (const sideEffect of sideEffectsOf(node)) {
92
+ changes.push(...normalizeSideEffect(sideEffect, where));
93
+ }
94
+ }
95
+ return changes;
96
+ }
97
+ registerSchema({
98
+ command: "flows.normalize",
99
+ description: "Fix the shapes a form file is allowed to get slightly wrong: a nulled optional string, a nulled array, a missing condition. Runs automatically before a commit; you rarely need to call it.",
100
+ args: {
101
+ slug: { type: "positional", description: "Form slug. Omit to check every form.", required: false },
102
+ write: {
103
+ type: "boolean",
104
+ description: "Apply the fixes. Without it, reports and changes nothing",
105
+ required: false
106
+ }
107
+ }
108
+ });
109
+ var normalizeCommand = defineCommand({
110
+ meta: {
111
+ name: "normalize",
112
+ description: "Repair the shapes a form file is allowed to get slightly wrong. Example: baker flows normalize contact --write"
113
+ },
114
+ args: {
115
+ // `required: false` matters: citty makes a positional required by default,
116
+ // so without it the documented bare `baker flows normalize` printed a wall
117
+ // of usage text and exited 1 instead of checking every form.
118
+ slug: { type: "positional", description: "Form slug (omit for every form)", required: false },
119
+ write: { type: "boolean", description: "Apply the fixes" }
120
+ },
121
+ run: ({ args }) => {
122
+ const slugs = args.slug ? [String(args.slug)] : listFlowSlugs();
123
+ const forms = slugs.flatMap((slug) => {
124
+ const tree = readFlowTree(slug);
125
+ const changes = normalizeFlowTree(tree);
126
+ if (changes.length === 0) return [];
127
+ if (args.write === true) writeFlowTree(slug, tree);
128
+ return [{ slug, path: flowDataPath(slug), changes }];
129
+ });
130
+ const total = forms.reduce((sum, form) => sum + form.changes.length, 0);
131
+ writeJson({
132
+ ok: true,
133
+ data: { forms, changed: total, written: args.write === true },
134
+ hints: total === 0 ? ["Nothing to fix."] : args.write === true ? [`Fixed ${total} field(s).`] : [`${total} field(s) can be fixed. Re-run with --write.`]
135
+ });
136
+ }
137
+ });
138
+ export {
139
+ normalizeCommand,
140
+ normalizeFlowTree
141
+ };
142
+ //# sourceMappingURL=normalize-DAKHYS3V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/flows/normalize.ts"],"sourcesContent":["/**\n * Make a form file valid without making the agent memorise a rule.\n *\n * `oauthProviderId` is typed `oauthProviderId?: string`. Writing `null` there is\n * the natural thing to do — every sibling confidential field is authored as\n * `null` — and it is a type error at the next build. Three separate passages in\n * the flow-builder skill existed only to teach that one exception, and the agent\n * paid for them on every turn that touched a form.\n *\n * So the system absorbs it instead: an unset optional is dropped, a nulled array\n * becomes an empty one, a missing `condition` becomes the explicit `null` the\n * schema wants. This runs as a pre-commit fixer, so writing `null` is simply not\n * a mistake any more, and the prose that taught the rule is gone.\n *\n * Pure — `normalizeFlowTree` mutates a decoded tree and reports what it changed,\n * so the command and the tests share one implementation.\n */\n\nimport { looksLikeUnresolvedVariable, parseEmailRecipients } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { flowDataPath, listFlowSlugs, readFlowTree, walkNodes, writeFlowTree } from \"./shared.ts\";\n\ntype AnyRecord = Record<string, unknown>;\n\n/** Optional string fields where \"unset\" must be an absent key, never `null` or `\"\"`. */\nconst OPTIONAL_STRINGS = [\"oauthProviderId\"] as const;\n/**\n * Fields typed as arrays, where `null` means \"none yet\".\n *\n * Every `PayloadKey[]` slot the engine defines is here, not just the common\n * ones: this list is what makes \"a nulled array is not a mistake\" true, so a\n * slot missing from it is a rule the agent is told it no longer has to\n * remember, and then fails a build for forgetting. `flows-normalize-coverage`\n * in `normalize.test.ts` pins it against `MAPPING_SLOTS`.\n */\nconst ARRAY_FIELDS = [\n \"fieldMapping\",\n \"columnMapping\",\n \"payloadKeys\",\n \"eventParams\",\n \"eventProperties\",\n \"dataLayerParams\",\n \"goalParams\",\n \"fields\",\n \"tagIds\",\n] as const;\n\nexport type Normalization = { path: string; change: string };\n\n/**\n * Objects that can carry a mappable array, relative to the side effect.\n *\n * An email's keys live at `body.fields`, one level down, and `null` there is the\n * same type error as `payloadKeys: null` is at the top. Repairing only the top\n * level would leave the one nested slot as a rule the agent still has to know.\n */\nconst ARRAY_OWNERS = [\"\", \"body\"] as const;\n\n/** Drop an optional string that was authored as `null` or `\"\"`. */\nfunction dropUnsetOptionals(sideEffect: AnyRecord, path: string): Normalization[] {\n return OPTIONAL_STRINGS.flatMap((key) => {\n if (!(key in sideEffect) || (sideEffect[key] !== null && sideEffect[key] !== \"\")) return [];\n delete sideEffect[key];\n return [{ path, change: `dropped \\`${key}\\` (an optional string is absent, never null)` }];\n });\n}\n\n/** Turn every nulled array on one object into an empty one. */\nfunction fillNulledArrays(target: AnyRecord, prefix: string, path: string): Normalization[] {\n return ARRAY_FIELDS.flatMap((key) => {\n if (!(key in target) || target[key] !== null) return [];\n target[key] = [];\n return [{ path, change: `\\`${prefix}${key}: null\\` → \\`[]\\`` }];\n });\n}\n\n/**\n * Tidy an email destination's recipient list, or null when there is nothing to\n * tidy — and, just as importantly, when tidying would hide something.\n *\n * The field is one string holding a list, so it collects the marks of having\n * been typed: a leading space, a trailing comma, a semicolon where a comma was\n * meant, the same address twice. None changes who receives the mail —\n * `parseEmailRecipients` reads all of them the same way at send time — so this\n * is a shape repair rather than a judgement call, which is what keeps it here.\n *\n * It refuses where a rewrite would be one. A `{{…}}` that was never substituted\n * and a fragment that is not an address both belong to\n * `validate-flow-email-recipients`, which quotes them back verbatim; a tidied\n * copy would put words in the author's mouth on the screen where they are\n * trying to recognise their own mistake.\n */\nfunction tidyEmailRecipients(sideEffect: AnyRecord, path: string): Normalization[] {\n if (sideEffect.type !== \"email\") return [];\n const config = sideEffect.encryptedConfig;\n // A string is the dashboard-configured half, encrypted; an object is the\n // agent-authored half, which is the only one anybody can read.\n if (!config || typeof config !== \"object\" || Array.isArray(config)) return [];\n const raw = (config as AnyRecord).email;\n if (typeof raw !== \"string\" || looksLikeUnresolvedVariable(raw)) return [];\n const { to, invalid } = parseEmailRecipients(raw);\n if (invalid.length > 0 || to.length === 0) return [];\n const tidied = to.join(\", \");\n if (tidied === raw) return [];\n (config as AnyRecord).email = tidied;\n return [{ path, change: \"tidied the recipient list's spacing and separators\" }];\n}\n\n/** Side effects of one node, skipping anything that is not an object to patch. */\nfunction sideEffectsOf(node: AnyRecord): AnyRecord[] {\n if (!Array.isArray(node.sideEffects)) return [];\n return (node.sideEffects as unknown[]).filter(\n (sideEffect): sideEffect is AnyRecord => Boolean(sideEffect) && typeof sideEffect === \"object\",\n );\n}\n\n/** Repairs to one side effect, reported against the step that owns it. */\nfunction normalizeSideEffect(sideEffect: AnyRecord, where: string): Normalization[] {\n const path = `${where} → ${String(sideEffect.id ?? \"side effect\")}`;\n const arrays = ARRAY_OWNERS.flatMap((owner) => {\n const target = owner ? (sideEffect[owner] as AnyRecord | undefined) : sideEffect;\n if (!target || typeof target !== \"object\") return [];\n return fillNulledArrays(target, owner ? `${owner}.` : \"\", path);\n });\n return [...dropUnsetOptionals(sideEffect, path), ...arrays, ...tidyEmailRecipients(sideEffect, path)];\n}\n\n/** Fix a decoded tree in place. Returns one line per change, empty when already clean. */\nexport function normalizeFlowTree(tree: AnyRecord): Normalization[] {\n const changes: Normalization[] = [];\n\n for (const node of walkNodes(tree)) {\n const where = typeof node.name === \"string\" && node.name ? String(node.name) : String(node.id ?? \"node\");\n\n // The root node has no condition by definition; every other node needs the\n // key present so a reader can tell \"always runs\" from \"nobody set this\".\n if (!(\"condition\" in node)) {\n node.condition = null;\n changes.push({ path: where, change: \"added the missing `condition: null`\" });\n }\n\n // Filtered, not `?? []`: a hand-authored `sideEffects` can hold a null or a\n // string, and reading `.id` off one throws inside the command that exists to\n // repair a form file that is already slightly wrong.\n for (const sideEffect of sideEffectsOf(node)) {\n changes.push(...normalizeSideEffect(sideEffect, where));\n }\n }\n\n return changes;\n}\n\nregisterSchema({\n command: \"flows.normalize\",\n description:\n \"Fix the shapes a form file is allowed to get slightly wrong: a nulled optional string, a nulled array, a missing condition. Runs automatically before a commit; you rarely need to call it.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug. Omit to check every form.\", required: false },\n write: {\n type: \"boolean\",\n description: \"Apply the fixes. Without it, reports and changes nothing\",\n required: false,\n },\n },\n});\n\nexport const normalizeCommand = defineCommand({\n meta: {\n name: \"normalize\",\n description:\n \"Repair the shapes a form file is allowed to get slightly wrong. Example: baker flows normalize contact --write\",\n },\n args: {\n // `required: false` matters: citty makes a positional required by default,\n // so without it the documented bare `baker flows normalize` printed a wall\n // of usage text and exited 1 instead of checking every form.\n slug: { type: \"positional\", description: \"Form slug (omit for every form)\", required: false },\n write: { type: \"boolean\", description: \"Apply the fixes\" },\n },\n run: ({ args }) => {\n const slugs = args.slug ? [String(args.slug)] : listFlowSlugs();\n const forms = slugs.flatMap((slug) => {\n const tree = readFlowTree(slug);\n const changes = normalizeFlowTree(tree);\n if (changes.length === 0) return [];\n if (args.write === true) writeFlowTree(slug, tree);\n return [{ slug, path: flowDataPath(slug), changes }];\n });\n\n const total = forms.reduce((sum, form) => sum + form.changes.length, 0);\n writeJson({\n ok: true,\n data: { forms, changed: total, written: args.write === true },\n hints:\n total === 0\n ? [\"Nothing to fix.\"]\n : args.write === true\n ? [`Fixed ${total} field(s).`]\n : [`${total} field(s) can be fixed. Re-run with --write.`],\n });\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,SAAS,qBAAqB;AAQ9B,IAAM,mBAAmB,CAAC,iBAAiB;AAU3C,IAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAWA,IAAM,eAAe,CAAC,IAAI,MAAM;AAGhC,SAAS,mBAAmB,YAAuB,MAA+B;AAChF,SAAO,iBAAiB,QAAQ,CAAC,QAAQ;AACvC,QAAI,EAAE,OAAO,eAAgB,WAAW,GAAG,MAAM,QAAQ,WAAW,GAAG,MAAM,GAAK,QAAO,CAAC;AAC1F,WAAO,WAAW,GAAG;AACrB,WAAO,CAAC,EAAE,MAAM,QAAQ,aAAa,GAAG,gDAAgD,CAAC;AAAA,EAC3F,CAAC;AACH;AAGA,SAAS,iBAAiB,QAAmB,QAAgB,MAA+B;AAC1F,SAAO,aAAa,QAAQ,CAAC,QAAQ;AACnC,QAAI,EAAE,OAAO,WAAW,OAAO,GAAG,MAAM,KAAM,QAAO,CAAC;AACtD,WAAO,GAAG,IAAI,CAAC;AACf,WAAO,CAAC,EAAE,MAAM,QAAQ,KAAK,MAAM,GAAG,GAAG,yBAAoB,CAAC;AAAA,EAChE,CAAC;AACH;AAkBA,SAAS,oBAAoB,YAAuB,MAA+B;AACjF,MAAI,WAAW,SAAS,QAAS,QAAO,CAAC;AACzC,QAAM,SAAS,WAAW;AAG1B,MAAI,CAAC,UAAU,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,EAAG,QAAO,CAAC;AAC5E,QAAM,MAAO,OAAqB;AAClC,MAAI,OAAO,QAAQ,YAAY,4BAA4B,GAAG,EAAG,QAAO,CAAC;AACzE,QAAM,EAAE,IAAI,QAAQ,IAAI,qBAAqB,GAAG;AAChD,MAAI,QAAQ,SAAS,KAAK,GAAG,WAAW,EAAG,QAAO,CAAC;AACnD,QAAM,SAAS,GAAG,KAAK,IAAI;AAC3B,MAAI,WAAW,IAAK,QAAO,CAAC;AAC5B,EAAC,OAAqB,QAAQ;AAC9B,SAAO,CAAC,EAAE,MAAM,QAAQ,qDAAqD,CAAC;AAChF;AAGA,SAAS,cAAc,MAA8B;AACnD,MAAI,CAAC,MAAM,QAAQ,KAAK,WAAW,EAAG,QAAO,CAAC;AAC9C,SAAQ,KAAK,YAA0B;AAAA,IACrC,CAAC,eAAwC,QAAQ,UAAU,KAAK,OAAO,eAAe;AAAA,EACxF;AACF;AAGA,SAAS,oBAAoB,YAAuB,OAAgC;AAClF,QAAM,OAAO,GAAG,KAAK,WAAM,OAAO,WAAW,MAAM,aAAa,CAAC;AACjE,QAAM,SAAS,aAAa,QAAQ,CAAC,UAAU;AAC7C,UAAM,SAAS,QAAS,WAAW,KAAK,IAA8B;AACtE,QAAI,CAAC,UAAU,OAAO,WAAW,SAAU,QAAO,CAAC;AACnD,WAAO,iBAAiB,QAAQ,QAAQ,GAAG,KAAK,MAAM,IAAI,IAAI;AAAA,EAChE,CAAC;AACD,SAAO,CAAC,GAAG,mBAAmB,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,oBAAoB,YAAY,IAAI,CAAC;AACtG;AAGO,SAAS,kBAAkB,MAAkC;AAClE,QAAM,UAA2B,CAAC;AAElC,aAAW,QAAQ,UAAU,IAAI,GAAG;AAClC,UAAM,QAAQ,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,MAAM;AAIvG,QAAI,EAAE,eAAe,OAAO;AAC1B,WAAK,YAAY;AACjB,cAAQ,KAAK,EAAE,MAAM,OAAO,QAAQ,sCAAsC,CAAC;AAAA,IAC7E;AAKA,eAAW,cAAc,cAAc,IAAI,GAAG;AAC5C,cAAQ,KAAK,GAAG,oBAAoB,YAAY,KAAK,CAAC;AAAA,IACxD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,cAAc,aAAa,wCAAwC,UAAU,MAAM;AAAA,IACjG,OAAO;AAAA,MACL,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;AAAA;AAAA;AAAA,IAIJ,MAAM,EAAE,MAAM,cAAc,aAAa,mCAAmC,UAAU,MAAM;AAAA,IAC5F,OAAO,EAAE,MAAM,WAAW,aAAa,kBAAkB;AAAA,EAC3D;AAAA,EACA,KAAK,CAAC,EAAE,KAAK,MAAM;AACjB,UAAM,QAAQ,KAAK,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;AAC9D,UAAM,QAAQ,MAAM,QAAQ,CAAC,SAAS;AACpC,YAAM,OAAO,aAAa,IAAI;AAC9B,YAAM,UAAU,kBAAkB,IAAI;AACtC,UAAI,QAAQ,WAAW,EAAG,QAAO,CAAC;AAClC,UAAI,KAAK,UAAU,KAAM,eAAc,MAAM,IAAI;AACjD,aAAO,CAAC,EAAE,MAAM,MAAM,aAAa,IAAI,GAAG,QAAQ,CAAC;AAAA,IACrD,CAAC;AAED,UAAM,QAAQ,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,KAAK,QAAQ,QAAQ,CAAC;AACtE,cAAU;AAAA,MACR,IAAI;AAAA,MACJ,MAAM,EAAE,OAAO,SAAS,OAAO,SAAS,KAAK,UAAU,KAAK;AAAA,MAC5D,OACE,UAAU,IACN,CAAC,iBAAiB,IAClB,KAAK,UAAU,OACb,CAAC,SAAS,KAAK,YAAY,IAC3B,CAAC,GAAG,KAAK,8CAA8C;AAAA,IACjE,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
@@ -0,0 +1,122 @@
1
+ import {
2
+ destinationRefusal
3
+ } from "./chunk-QE7W555R.js";
4
+ import "./chunk-VLMBTPXU.js";
5
+ import "./chunk-HROZYQ5H.js";
6
+ import {
7
+ failApi
8
+ } from "./chunk-SJYEY5MV.js";
9
+ import {
10
+ FLOW_AGENT_DESTINATION_KINDS
11
+ } from "./chunk-7EPXVICM.js";
12
+ import "./chunk-GXDLWBOY.js";
13
+ import "./chunk-TEINLN64.js";
14
+ import "./chunk-ZJWUBJYQ.js";
15
+ import "./chunk-HR6IWNKE.js";
16
+ import "./chunk-NE4F3FHN.js";
17
+ import {
18
+ ApiError,
19
+ apiPost
20
+ } from "./chunk-XBOK23HI.js";
21
+ import "./chunk-IFWP3ZDO.js";
22
+ import "./chunk-NAWWC5I3.js";
23
+ import {
24
+ registerSchema,
25
+ writeJson
26
+ } from "./chunk-NU7JSWVA.js";
27
+ import "./chunk-YQSBHWOI.js";
28
+
29
+ // src/commands/flows/options.ts
30
+ import { defineCommand } from "citty";
31
+ var HUBSPOT_KINDS = {
32
+ hubspot: "baker hubspot forms list",
33
+ hubspotForm: "baker hubspot forms list",
34
+ hubspotMeeting: "baker hubspot meetings list"
35
+ };
36
+ function optionsHints(data) {
37
+ const { kind, options } = data;
38
+ if (kind === "pipedrive" || kind === "goHighlevelContact") {
39
+ return [
40
+ `Nothing to choose: the connected account is the destination. Wire it: baker flows connect <slug> --side-effect <id> (or --all --type ${kind}).`
41
+ ];
42
+ }
43
+ if (kind === "googleSpreadsheet") {
44
+ return [
45
+ "These are the only spreadsheets Baker can reach: ones someone chose for a Form before, and ones Baker created. Pick one: baker flows connect <slug> --side-effect <id> --resource <id> [--tab <name>].",
46
+ 'None fits? Create one yourself: baker flows connect <slug> --side-effect <id> --new-sheet "<Form name> leads" --columns "Name,Email,\u2026". Only when the user wants their own existing sheet: request_flow_input.'
47
+ ];
48
+ }
49
+ const empty = options.length === 0 ? ["The account has none. Tell the user what to create there, or skip this step \u2014 do not invent one."] : [];
50
+ return [
51
+ ...empty,
52
+ `Fill the step: baker flows connect <slug> --node <stepId> --resource <id> (or --all --type ${kind}). One clear match \u2192 use it; several plausible \u2192 ask the user which.`
53
+ ];
54
+ }
55
+ registerSchema({
56
+ command: "flows.options",
57
+ description: "What a Form step or destination can be filled with, read from the connected account: Calendly events, SavvyCal links, GoHighLevel calendars and forms, the Google spreadsheets Baker can reach. Pipedrive and GoHighLevel contact have nothing to choose \u2014 the account is the destination. Next: `baker flows connect <slug> --node|--side-effect <id> --resource <id>`. HubSpot has its own: `baker hubspot forms list` / `meetings list`.",
58
+ args: {
59
+ kind: {
60
+ type: "positional",
61
+ description: `One of: ${FLOW_AGENT_DESTINATION_KINDS.join(", ")}`,
62
+ required: true
63
+ },
64
+ account: {
65
+ type: "string",
66
+ description: "Connection id, when more than one account of the platform is connected",
67
+ required: false
68
+ }
69
+ }
70
+ });
71
+ var optionsCommand = defineCommand({
72
+ meta: {
73
+ name: "options",
74
+ description: "What a step or destination can be filled with, from the connected account. Start here: baker flows options calendly"
75
+ },
76
+ args: {
77
+ kind: { type: "positional", description: FLOW_AGENT_DESTINATION_KINDS.join(" | "), required: true },
78
+ account: { type: "string", description: "Connection id when several are connected" }
79
+ },
80
+ run: async ({ args }) => {
81
+ const kind = String(args.kind);
82
+ const hubspot = HUBSPOT_KINDS[kind];
83
+ if (hubspot) {
84
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: `HubSpot has its own list: ${hubspot}.` } });
85
+ process.exit(1);
86
+ }
87
+ if (!FLOW_AGENT_DESTINATION_KINDS.includes(kind)) {
88
+ writeJson({
89
+ ok: false,
90
+ error: {
91
+ code: "VALIDATION_ERROR",
92
+ message: `"${kind}" is not filled from a platform account.`,
93
+ fix: `Kinds: ${FLOW_AGENT_DESTINATION_KINDS.join(", ")}. Typed credentials (webhooks, Zapier, Crmble) go through request_flow_input.`
94
+ }
95
+ });
96
+ process.exit(1);
97
+ }
98
+ try {
99
+ const { data } = await apiPost("/api/flows/destinations/options", {
100
+ kind,
101
+ ...args.account ? { account: String(args.account) } : {}
102
+ });
103
+ writeJson({
104
+ ok: true,
105
+ data: { ...data, accounts: data.accounts.length > 1 ? data.accounts : void 0 },
106
+ hints: optionsHints(data)
107
+ });
108
+ } catch (err) {
109
+ const refusal = err instanceof ApiError ? destinationRefusal(kind, err) : null;
110
+ if (err instanceof ApiError && refusal !== null) {
111
+ writeJson({ ok: false, error: { code: refusal.code, message: err.message, fix: refusal.fix } });
112
+ process.exit(1);
113
+ }
114
+ failApi(err);
115
+ }
116
+ }
117
+ });
118
+ export {
119
+ optionsCommand,
120
+ optionsHints
121
+ };
122
+ //# sourceMappingURL=options-QL3ULED5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/flows/options.ts"],"sourcesContent":["/**\n * `options`: what a Form's step or destination could be filled with, read\n * through the company's connected account — the same list the card shows the\n * user, so the agent can choose instead of asking.\n */\n\nimport { FLOW_AGENT_DESTINATION_KINDS, type FlowAgentDestinationKind, type FlowsOptionsResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi } from \"../actions/shared.ts\";\nimport { destinationRefusal } from \"./connect.ts\";\n\nconst HUBSPOT_KINDS: Record<string, string> = {\n hubspot: \"baker hubspot forms list\",\n hubspotForm: \"baker hubspot forms list\",\n hubspotMeeting: \"baker hubspot meetings list\",\n};\n\n/** The next call for each kind, spelled out — the target flag differs between a step and a destination. */\nexport function optionsHints(data: FlowsOptionsResponse[\"data\"]): string[] {\n const { kind, options } = data;\n if (kind === \"pipedrive\" || kind === \"goHighlevelContact\") {\n return [\n `Nothing to choose: the connected account is the destination. Wire it: baker flows connect <slug> --side-effect <id> (or --all --type ${kind}).`,\n ];\n }\n if (kind === \"googleSpreadsheet\") {\n return [\n \"These are the only spreadsheets Baker can reach: ones someone chose for a Form before, and ones Baker created. Pick one: baker flows connect <slug> --side-effect <id> --resource <id> [--tab <name>].\",\n 'None fits? Create one yourself: baker flows connect <slug> --side-effect <id> --new-sheet \"<Form name> leads\" --columns \"Name,Email,…\". Only when the user wants their own existing sheet: request_flow_input.',\n ];\n }\n const empty =\n options.length === 0\n ? [\"The account has none. Tell the user what to create there, or skip this step — do not invent one.\"]\n : [];\n return [\n ...empty,\n `Fill the step: baker flows connect <slug> --node <stepId> --resource <id> (or --all --type ${kind}). One clear match → use it; several plausible → ask the user which.`,\n ];\n}\n\nregisterSchema({\n command: \"flows.options\",\n description:\n \"What a Form step or destination can be filled with, read from the connected account: Calendly events, SavvyCal links, GoHighLevel calendars and forms, the Google spreadsheets Baker can reach. Pipedrive and GoHighLevel contact have nothing to choose — the account is the destination. Next: `baker flows connect <slug> --node|--side-effect <id> --resource <id>`. HubSpot has its own: `baker hubspot forms list` / `meetings list`.\",\n args: {\n kind: {\n type: \"positional\",\n description: `One of: ${FLOW_AGENT_DESTINATION_KINDS.join(\", \")}`,\n required: true,\n },\n account: {\n type: \"string\",\n description: \"Connection id, when more than one account of the platform is connected\",\n required: false,\n },\n },\n});\n\nexport const optionsCommand = defineCommand({\n meta: {\n name: \"options\",\n description:\n \"What a step or destination can be filled with, from the connected account. Start here: baker flows options calendly\",\n },\n args: {\n kind: { type: \"positional\", description: FLOW_AGENT_DESTINATION_KINDS.join(\" | \"), required: true },\n account: { type: \"string\", description: \"Connection id when several are connected\" },\n },\n run: async ({ args }) => {\n const kind = String(args.kind);\n const hubspot = HUBSPOT_KINDS[kind];\n if (hubspot) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: `HubSpot has its own list: ${hubspot}.` } });\n process.exit(1);\n }\n if (!(FLOW_AGENT_DESTINATION_KINDS as readonly string[]).includes(kind)) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `\"${kind}\" is not filled from a platform account.`,\n fix: `Kinds: ${FLOW_AGENT_DESTINATION_KINDS.join(\", \")}. Typed credentials (webhooks, Zapier, Crmble) go through request_flow_input.`,\n },\n });\n process.exit(1);\n }\n try {\n const { data } = await apiPost<FlowsOptionsResponse>(\"/api/flows/destinations/options\", {\n kind,\n ...(args.account ? { account: String(args.account) } : {}),\n });\n writeJson({\n ok: true,\n data: { ...data, accounts: data.accounts.length > 1 ? data.accounts : undefined },\n hints: optionsHints(data),\n });\n } catch (err) {\n const refusal = err instanceof ApiError ? destinationRefusal(kind as FlowAgentDestinationKind, err) : null;\n if (err instanceof ApiError && refusal !== null) {\n writeJson({ ok: false, error: { code: refusal.code, message: err.message, fix: refusal.fix } });\n process.exit(1);\n }\n failApi(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAAS,qBAAqB;AAO9B,IAAM,gBAAwC;AAAA,EAC5C,SAAS;AAAA,EACT,aAAa;AAAA,EACb,gBAAgB;AAClB;AAGO,SAAS,aAAa,MAA8C;AACzE,QAAM,EAAE,MAAM,QAAQ,IAAI;AAC1B,MAAI,SAAS,eAAe,SAAS,sBAAsB;AACzD,WAAO;AAAA,MACL,wIAAwI,IAAI;AAAA,IAC9I;AAAA,EACF;AACA,MAAI,SAAS,qBAAqB;AAChC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,QACJ,QAAQ,WAAW,IACf,CAAC,uGAAkG,IACnG,CAAC;AACP,SAAO;AAAA,IACL,GAAG;AAAA,IACH,8FAA8F,IAAI;AAAA,EACpG;AACF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa,WAAW,6BAA6B,KAAK,IAAI,CAAC;AAAA,MAC/D,UAAU;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,cAAc,aAAa,6BAA6B,KAAK,KAAK,GAAG,UAAU,KAAK;AAAA,IAClG,SAAS,EAAE,MAAM,UAAU,aAAa,2CAA2C;AAAA,EACrF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,UAAM,UAAU,cAAc,IAAI;AAClC,QAAI,SAAS;AACX,gBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,6BAA6B,OAAO,IAAI,EAAE,CAAC;AAC9G,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,QAAI,CAAE,6BAAmD,SAAS,IAAI,GAAG;AACvE,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,MAAM;AAAA,UACN,SAAS,IAAI,IAAI;AAAA,UACjB,KAAK,UAAU,6BAA6B,KAAK,IAAI,CAAC;AAAA,QACxD;AAAA,MACF,CAAC;AACD,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,QAAI;AACF,YAAM,EAAE,KAAK,IAAI,MAAM,QAA8B,mCAAmC;AAAA,QACtF;AAAA,QACA,GAAI,KAAK,UAAU,EAAE,SAAS,OAAO,KAAK,OAAO,EAAE,IAAI,CAAC;AAAA,MAC1D,CAAC;AACD,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,MAAM,EAAE,GAAG,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI,KAAK,WAAW,OAAU;AAAA,QAChF,OAAO,aAAa,IAAI;AAAA,MAC1B,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,YAAM,UAAU,eAAe,WAAW,mBAAmB,MAAkC,GAAG,IAAI;AACtG,UAAI,eAAe,YAAY,YAAY,MAAM;AAC/C,kBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,QAAQ,MAAM,SAAS,IAAI,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC;AAC9F,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,25 @@
1
+ import {
2
+ definitionInsights,
3
+ parseDays,
4
+ performanceCommand,
5
+ withDefinitions
6
+ } from "./chunk-2AOE2MZQ.js";
7
+ import "./chunk-SJYEY5MV.js";
8
+ import "./chunk-7EPXVICM.js";
9
+ import "./chunk-GXDLWBOY.js";
10
+ import "./chunk-TEINLN64.js";
11
+ import "./chunk-ZJWUBJYQ.js";
12
+ import "./chunk-HR6IWNKE.js";
13
+ import "./chunk-NE4F3FHN.js";
14
+ import "./chunk-XBOK23HI.js";
15
+ import "./chunk-IFWP3ZDO.js";
16
+ import "./chunk-NAWWC5I3.js";
17
+ import "./chunk-NU7JSWVA.js";
18
+ import "./chunk-YQSBHWOI.js";
19
+ export {
20
+ definitionInsights,
21
+ parseDays,
22
+ performanceCommand,
23
+ withDefinitions
24
+ };
25
+ //# sourceMappingURL=performance-UF5VTY2U.js.map
@@ -0,0 +1,60 @@
1
+ import {
2
+ schemaArgs,
3
+ stageChatgptOp
4
+ } from "./chunk-7J6EHOH6.js";
5
+ import {
6
+ CHATGPT_ADS_REFERENCE
7
+ } from "./chunk-FTWJFDIN.js";
8
+ import "./chunk-VFIOJD5M.js";
9
+ import "./chunk-XBOK23HI.js";
10
+ import "./chunk-IFWP3ZDO.js";
11
+ import "./chunk-NAWWC5I3.js";
12
+ import {
13
+ registerSchema
14
+ } from "./chunk-NU7JSWVA.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-TZPF746S.js.map
@@ -0,0 +1,51 @@
1
+ import "./chunk-4PDHHHUJ.js";
2
+ import "./chunk-NYIGXDUG.js";
3
+ import {
4
+ writeJsonEnvelope
5
+ } from "./chunk-VFIOJD5M.js";
6
+ import {
7
+ trackingPlanRequestSchema,
8
+ trackingPlanResponseSchema
9
+ } from "./chunk-HR6IWNKE.js";
10
+ import {
11
+ apiPost
12
+ } from "./chunk-XBOK23HI.js";
13
+ import "./chunk-IFWP3ZDO.js";
14
+ import {
15
+ getEnv
16
+ } from "./chunk-NAWWC5I3.js";
17
+ import {
18
+ registerSchema
19
+ } from "./chunk-NU7JSWVA.js";
20
+ import "./chunk-YQSBHWOI.js";
21
+
22
+ // src/commands/analytics/plan.ts
23
+ import { readFileSync } from "fs";
24
+ import { defineCommand } from "citty";
25
+ 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.";
26
+ var args = { json: { type: "string", description: "Preparation request as JSON or @path; omit to read the effective plan", required: false }, full: { type: "boolean", description: "Include all journey and verification evidence", required: false } };
27
+ registerSchema({ command: "analytics.plan", description, args });
28
+ var planCommand = defineCommand({
29
+ meta: { name: "plan", description },
30
+ args,
31
+ run: async ({ args: args2 }) => {
32
+ try {
33
+ const input = args2.json ? JSON.parse(args2.json.startsWith("@") ? readFileSync(args2.json.slice(1), "utf8") : args2.json) : {};
34
+ const parsed = trackingPlanRequestSchema.parse(input);
35
+ const body = { ...parsed, chatId: getEnv().BAKER_CHAT_ID };
36
+ const response = trackingPlanResponseSchema.parse(await apiPost("/api/analytics/plan", body));
37
+ const plan = response.data.plan;
38
+ writeJsonEnvelope({ ...response, data: { ...response.data, plan: args2.full || !plan ? plan : {
39
+ journeys: plan.journeys.map(({ key, name, strategy, status, destinationUrl, requirement, owner }) => ({ key, name, strategy, status, destinationUrl, requirement, owner })),
40
+ events: plan.events.map(({ eventKey, name, purpose, door, sourceEvent, status, requirement, owner }) => ({ eventKey, name, purpose, door, sourceEvent, status, requirement, owner }))
41
+ } } });
42
+ } catch (error) {
43
+ writeJsonEnvelope({ ok: false, error: { code: "TRACKING_PLAN_FAILED", message: error instanceof Error ? error.message : "Could not prepare tracking", fix: "Read baker analytics plan --full and baker tag-manager draft list to see what is prepared. Correct the request and repeat; do not publish until every requested installation is staged." } });
44
+ process.exitCode = 1;
45
+ }
46
+ }
47
+ });
48
+ export {
49
+ planCommand
50
+ };
51
+ //# sourceMappingURL=plan-FT632COT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/analytics/plan.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { trackingPlanRequestSchema, trackingPlanResponseSchema } from \"@baker/api/analytics\";\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\";\n\nconst 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.\";\nconst args = { json: { type: \"string\" as const, description: \"Preparation request as JSON or @path; omit to read the effective plan\", required: false }, full: { type: \"boolean\" as const, description: \"Include all journey and verification evidence\", required: false } };\nregisterSchema({ command: \"analytics.plan\", description, args });\n\nexport const planCommand = defineCommand({\n meta: { name: \"plan\", description }, args,\n run: async ({ args }) => {\n try {\n const input: unknown = args.json ? JSON.parse(args.json.startsWith(\"@\") ? readFileSync(args.json.slice(1), \"utf8\") : args.json) : {};\n const parsed = trackingPlanRequestSchema.parse(input);\n const body = { ...parsed, chatId: getEnv().BAKER_CHAT_ID };\n const response = trackingPlanResponseSchema.parse(await apiPost(\"/api/analytics/plan\", body));\n const plan = response.data.plan;\n writeJsonEnvelope({ ...response, data: { ...response.data, plan: args.full || !plan ? plan : {\n journeys: plan.journeys.map(({ key, name, strategy, status, destinationUrl, requirement, owner }) => ({ key, name, strategy, status, destinationUrl, requirement, owner })),\n events: plan.events.map(({ eventKey, name, purpose, door, sourceEvent, status, requirement, owner }) => ({ eventKey, name, purpose, door, sourceEvent, status, requirement, owner })),\n } } });\n } catch (error) {\n writeJsonEnvelope({ ok: false, error: { code: \"TRACKING_PLAN_FAILED\", message: error instanceof Error ? error.message : \"Could not prepare tracking\", fix: \"Read baker analytics plan --full and baker tag-manager draft list to see what is prepared. Correct the request and repeat; do not publish until every requested installation is staged.\" } });\n process.exitCode = 1;\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,oBAAoB;AAE7B,SAAS,qBAAqB;AAM9B,IAAM,cAAc;AACpB,IAAM,OAAO,EAAE,MAAM,EAAE,MAAM,UAAmB,aAAa,yEAAyE,UAAU,MAAM,GAAG,MAAM,EAAE,MAAM,WAAoB,aAAa,iDAAiD,UAAU,MAAM,EAAE;AAC3Q,eAAe,EAAE,SAAS,kBAAkB,aAAa,KAAK,CAAC;AAExD,IAAM,cAAc,cAAc;AAAA,EACvC,MAAM,EAAE,MAAM,QAAQ,YAAY;AAAA,EAAG;AAAA,EACrC,KAAK,OAAO,EAAE,MAAAA,MAAK,MAAM;AACvB,QAAI;AACF,YAAM,QAAiBA,MAAK,OAAO,KAAK,MAAMA,MAAK,KAAK,WAAW,GAAG,IAAI,aAAaA,MAAK,KAAK,MAAM,CAAC,GAAG,MAAM,IAAIA,MAAK,IAAI,IAAI,CAAC;AACnI,YAAM,SAAS,0BAA0B,MAAM,KAAK;AACpD,YAAM,OAAO,EAAE,GAAG,QAAQ,QAAQ,OAAO,EAAE,cAAc;AACzD,YAAM,WAAW,2BAA2B,MAAM,MAAM,QAAQ,uBAAuB,IAAI,CAAC;AAC5F,YAAM,OAAO,SAAS,KAAK;AAC3B,wBAAkB,EAAE,GAAG,UAAU,MAAM,EAAE,GAAG,SAAS,MAAM,MAAMA,MAAK,QAAQ,CAAC,OAAO,OAAO;AAAA,QAC3F,UAAU,KAAK,SAAS,IAAI,CAAC,EAAE,KAAK,MAAM,UAAU,QAAQ,gBAAgB,aAAa,MAAM,OAAO,EAAE,KAAK,MAAM,UAAU,QAAQ,gBAAgB,aAAa,MAAM,EAAE;AAAA,QAC1K,QAAQ,KAAK,OAAO,IAAI,CAAC,EAAE,UAAU,MAAM,SAAS,MAAM,aAAa,QAAQ,aAAa,MAAM,OAAO,EAAE,UAAU,MAAM,SAAS,MAAM,aAAa,QAAQ,aAAa,MAAM,EAAE;AAAA,MACtL,EAAE,EAAE,CAAC;AAAA,IACP,SAAS,OAAO;AACd,wBAAkB,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,wBAAwB,SAAS,iBAAiB,QAAQ,MAAM,UAAU,8BAA8B,KAAK,0LAA0L,EAAE,CAAC;AACxV,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF;AACF,CAAC;","names":["args"]}