@koda-sl/baker-cli 0.496.0 → 0.497.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (841) hide show
  1. package/README.md +25 -4
  2. package/dist/account-ZKJFX2GK.js +80 -0
  3. package/dist/account-ZKJFX2GK.js.map +1 -0
  4. package/dist/account-users-SZCYHVBM.js +62 -0
  5. package/dist/account-users-SZCYHVBM.js.map +1 -0
  6. package/dist/accounts-5DFYKYSM.js +78 -0
  7. package/dist/accounts-5DFYKYSM.js.map +1 -0
  8. package/dist/accounts-OGAIQNE6.js +612 -0
  9. package/dist/accounts-OGAIQNE6.js.map +1 -0
  10. package/dist/actions-FMNJSOBA.js +55 -0
  11. package/dist/activecampaign-LYYYH6XD.js +936 -0
  12. package/dist/activecampaign-LYYYH6XD.js.map +1 -0
  13. package/dist/add-AOQLZRPC.js +80 -0
  14. package/dist/add-AOQLZRPC.js.map +1 -0
  15. package/dist/add-HWXEPSZF.js +105 -0
  16. package/dist/add-HWXEPSZF.js.map +1 -0
  17. package/dist/add-VDZPGZF5.js +148 -0
  18. package/dist/add-VDZPGZF5.js.map +1 -0
  19. package/dist/add-YYP3O536.js +303 -0
  20. package/dist/add-YYP3O536.js.map +1 -0
  21. package/dist/ads-OLXSDPD6.js +40 -0
  22. package/dist/advertisers-STYAIX72.js +121 -0
  23. package/dist/advertisers-STYAIX72.js.map +1 -0
  24. package/dist/analytics-6WBK4VFO.js +1977 -0
  25. package/dist/analytics-6WBK4VFO.js.map +1 -0
  26. package/dist/analytics-DHB325DM.js +434 -0
  27. package/dist/analytics-DHB325DM.js.map +1 -0
  28. package/dist/assign-BFXHYTMF.js +78 -0
  29. package/dist/assign-BFXHYTMF.js.map +1 -0
  30. package/dist/audience-size-XWHZV2GH.js +74 -0
  31. package/dist/audience-size-XWHZV2GH.js.map +1 -0
  32. package/dist/audit-IYGRU7LD.js +152 -0
  33. package/dist/audit-IYGRU7LD.js.map +1 -0
  34. package/dist/autocomplete-SDDSJTAF.js +112 -0
  35. package/dist/autocomplete-SDDSJTAF.js.map +1 -0
  36. package/dist/avatars-I4H3NMEJ.js +38 -0
  37. package/dist/bid-pricing-OVYBDRMV.js +101 -0
  38. package/dist/bid-pricing-OVYBDRMV.js.map +1 -0
  39. package/dist/brand-3V7ECY7D.js +22 -0
  40. package/dist/brief-U2W7KMFC.js +539 -0
  41. package/dist/brief-U2W7KMFC.js.map +1 -0
  42. package/dist/campaign-groups-FJHBVUA3.js +97 -0
  43. package/dist/campaign-groups-FJHBVUA3.js.map +1 -0
  44. package/dist/campaign-writes-XKYYMZML.js +166 -0
  45. package/dist/campaign-writes-XKYYMZML.js.map +1 -0
  46. package/dist/campaigns-E5UW4I3X.js +111 -0
  47. package/dist/campaigns-E5UW4I3X.js.map +1 -0
  48. package/dist/campaigns-MCB76NPQ.js +107 -0
  49. package/dist/canvas-JCNKMGCG.js +46 -0
  50. package/dist/capabilities-CLTZCXCZ.js +145 -0
  51. package/dist/capabilities-CLTZCXCZ.js.map +1 -0
  52. package/dist/chatgpt-XFZ42NXC.js +47 -0
  53. package/dist/chats-DTJSBDWO.js +277 -0
  54. package/dist/chats-DTJSBDWO.js.map +1 -0
  55. package/dist/check-CZTS64AW.js +105 -0
  56. package/dist/check-CZTS64AW.js.map +1 -0
  57. package/dist/chunk-2YTBPRRG.js +207 -0
  58. package/dist/chunk-3SNCMEJB.js +97 -0
  59. package/dist/chunk-7QGFO35A.js +23 -0
  60. package/dist/chunk-AV7ALENU.js +191 -0
  61. package/dist/chunk-BRLFQ4VX.js +604 -0
  62. package/dist/chunk-CAZGM2NX.js +92 -0
  63. package/dist/chunk-CAZGM2NX.js.map +1 -0
  64. package/dist/chunk-DJE7UXYT.js +831 -0
  65. package/dist/chunk-EFWXYUSK.js +139 -0
  66. package/dist/chunk-EONSZAZB.js +3868 -0
  67. package/dist/chunk-FALJQCWL.js +661 -0
  68. package/dist/chunk-FALJQCWL.js.map +1 -0
  69. package/dist/chunk-FG3MV2XM.js +89 -0
  70. package/dist/chunk-FKG476GH.js +392 -0
  71. package/dist/chunk-FUGQSIYG.js +297 -0
  72. package/dist/chunk-GZ4A2VYW.js +39 -0
  73. package/dist/chunk-GZ4A2VYW.js.map +1 -0
  74. package/dist/chunk-HPLHAHG5.js +275 -0
  75. package/dist/chunk-I24YT2KG.js +122 -0
  76. package/dist/chunk-IFDZZOUC.js +903 -0
  77. package/dist/chunk-JVVUI55M.js +455 -0
  78. package/dist/chunk-KKSHEPBY.js +363 -0
  79. package/dist/chunk-KQ7RCLGC.js +547 -0
  80. package/dist/chunk-L7WMS5PW.js +172 -0
  81. package/dist/chunk-LBRO4MTL.js +19 -0
  82. package/dist/chunk-LNRPOULW.js +224 -0
  83. package/dist/chunk-LX6WC2XZ.js +942 -0
  84. package/dist/chunk-MMGTJBM6.js +142 -0
  85. package/dist/chunk-NZS3KEQ2.js +97 -0
  86. package/dist/chunk-NZS3KEQ2.js.map +1 -0
  87. package/dist/chunk-O37VU7FG.js +6799 -0
  88. package/dist/chunk-O37VU7FG.js.map +1 -0
  89. package/dist/chunk-OEZYSL3U.js +51 -0
  90. package/dist/chunk-OOVHBMQB.js +103 -0
  91. package/dist/chunk-PTH7VWKK.js +159 -0
  92. package/dist/chunk-PYD6IGW6.js +401 -0
  93. package/dist/chunk-PYD6IGW6.js.map +1 -0
  94. package/dist/chunk-QE2E4EYJ.js +349 -0
  95. package/dist/chunk-QE2E4EYJ.js.map +1 -0
  96. package/dist/chunk-QZF4BVKL.js +66 -0
  97. package/dist/chunk-RITUSBYO.js +61 -0
  98. package/dist/chunk-SSTL3A7Z.js +206 -0
  99. package/dist/chunk-SZNGQ2GF.js +64 -0
  100. package/dist/chunk-SZNGQ2GF.js.map +1 -0
  101. package/dist/chunk-TD4SO6TR.js +169 -0
  102. package/dist/chunk-UZ4RTOFG.js +91 -0
  103. package/dist/chunk-VAX7PFQV.js +592 -0
  104. package/dist/chunk-VDRSZK4P.js +494 -0
  105. package/dist/chunk-VNU2EYD4.js +344 -0
  106. package/dist/chunk-WT4WDIXA.js +156 -0
  107. package/dist/chunk-XEX23CIB.js +160 -0
  108. package/dist/chunk-XXDF25BW.js +8939 -0
  109. package/dist/chunk-YJ3LSFMX.js +249 -0
  110. package/dist/chunk-YVK5RT3B.js +197 -0
  111. package/dist/chunk-YWWRLZUR.js +433 -0
  112. package/dist/chunk-Z4S5BCVZ.js +57 -0
  113. package/dist/chunk-ZYGK7GAK.js +1079 -0
  114. package/dist/claim-TSFPWTQY.js +198 -0
  115. package/dist/claim-TSFPWTQY.js.map +1 -0
  116. package/dist/cli.js +38 -37
  117. package/dist/cli.js.map +1 -1
  118. package/dist/companies-P7FZNJQV.js +196 -0
  119. package/dist/companies-P7FZNJQV.js.map +1 -0
  120. package/dist/complete-SYDIHMD5.js +82 -0
  121. package/dist/complete-SYDIHMD5.js.map +1 -0
  122. package/dist/connect-COS6G45S.js +43 -0
  123. package/dist/conversation-UJOWMJRH.js +94 -0
  124. package/dist/conversation-UJOWMJRH.js.map +1 -0
  125. package/dist/conversions-ONOIEILU.js +138 -0
  126. package/dist/conversions-ONOIEILU.js.map +1 -0
  127. package/dist/create-DPQRYQXK.js +208 -0
  128. package/dist/create-DPQRYQXK.js.map +1 -0
  129. package/dist/create-JD76Z4A4.js +60 -0
  130. package/dist/create-JD76Z4A4.js.map +1 -0
  131. package/dist/create-NOT3HGP2.js +133 -0
  132. package/dist/create-NOT3HGP2.js.map +1 -0
  133. package/dist/create-ZYEB7SHF.js +236 -0
  134. package/dist/create-ZYEB7SHF.js.map +1 -0
  135. package/dist/creatives-LRSELC7Y.js +221 -0
  136. package/dist/creatives-LRSELC7Y.js.map +1 -0
  137. package/dist/creatives-SEQHJD2M.js +58 -0
  138. package/dist/credentials-LHPTUVVA.js +288 -0
  139. package/dist/credentials-LHPTUVVA.js.map +1 -0
  140. package/dist/critique-Q7GSZ5RP.js +1459 -0
  141. package/dist/critique-Q7GSZ5RP.js.map +1 -0
  142. package/dist/critique-RR2XOQCE.js +228 -0
  143. package/dist/critique-RR2XOQCE.js.map +1 -0
  144. package/dist/crm-J7EU32PL.js +319 -0
  145. package/dist/crm-J7EU32PL.js.map +1 -0
  146. package/dist/crm-MC444ZVU.js +225 -0
  147. package/dist/crm-MC444ZVU.js.map +1 -0
  148. package/dist/customers-LMSX33FO.js +57 -0
  149. package/dist/delete-BQBVATMF.js +55 -0
  150. package/dist/delete-BQBVATMF.js.map +1 -0
  151. package/dist/delete-K7A3AUPH.js +65 -0
  152. package/dist/delete-K7A3AUPH.js.map +1 -0
  153. package/dist/delete-VV2ICIHF.js +67 -0
  154. package/dist/delete-VV2ICIHF.js.map +1 -0
  155. package/dist/demographics-7GWUXXS6.js +139 -0
  156. package/dist/demographics-7GWUXXS6.js.map +1 -0
  157. package/dist/discard-3CLZ4DPD.js +67 -0
  158. package/dist/discard-3CLZ4DPD.js.map +1 -0
  159. package/dist/domain-ZS74BSE6.js +99 -0
  160. package/dist/domain-ZS74BSE6.js.map +1 -0
  161. package/dist/draft-J3B33RAZ.js +308 -0
  162. package/dist/draft-J3B33RAZ.js.map +1 -0
  163. package/dist/draft-MZLWVX3D.js +218 -0
  164. package/dist/draft-MZLWVX3D.js.map +1 -0
  165. package/dist/draft-R56PIXCV.js +333 -0
  166. package/dist/draft-R56PIXCV.js.map +1 -0
  167. package/dist/experiment-7RJ5X2LL.js +1397 -0
  168. package/dist/experiments-NOSJJMYI.js +234 -0
  169. package/dist/experiments-NOSJJMYI.js.map +1 -0
  170. package/dist/facets-E6SHYUAI.js +115 -0
  171. package/dist/facets-E6SHYUAI.js.map +1 -0
  172. package/dist/feedback-HXCQBV7S.js +107 -0
  173. package/dist/feedback-HXCQBV7S.js.map +1 -0
  174. package/dist/feedback-record-GXPYXNT6.js +261 -0
  175. package/dist/feedback-record-GXPYXNT6.js.map +1 -0
  176. package/dist/fetch-HMUGSRE4.js +177 -0
  177. package/dist/fetch-HMUGSRE4.js.map +1 -0
  178. package/dist/find-2EPXK5RF.js +134 -0
  179. package/dist/fit-W7UNFZT5.js +63 -0
  180. package/dist/flows-SO5J3M3X.js +248 -0
  181. package/dist/flows-SO5J3M3X.js.map +1 -0
  182. package/dist/fonts-N42UYWTX.js +37 -0
  183. package/dist/forecast-24LGJVLC.js +119 -0
  184. package/dist/forecast-24LGJVLC.js.map +1 -0
  185. package/dist/funnel-NYT36B3C.js +395 -0
  186. package/dist/funnel-NYT36B3C.js.map +1 -0
  187. package/dist/ga4-6EIQC2TG.js +55 -0
  188. package/dist/get-KAGO4EC5.js +80 -0
  189. package/dist/get-KAGO4EC5.js.map +1 -0
  190. package/dist/get-PZX27LQY.js +38 -0
  191. package/dist/get-PZX27LQY.js.map +1 -0
  192. package/dist/get-R5JAFHTH.js +57 -0
  193. package/dist/get-R5JAFHTH.js.map +1 -0
  194. package/dist/google-O5OI6QFU.js +136 -0
  195. package/dist/google-ads-6X4BHGUR.js +196 -0
  196. package/dist/google-ads-6X4BHGUR.js.map +1 -0
  197. package/dist/gsc-BM3T2GDL.js +30 -0
  198. package/dist/history-LGOWYLBE.js +134 -0
  199. package/dist/history-LGOWYLBE.js.map +1 -0
  200. package/dist/hubspot-LJB3ETUT.js +780 -0
  201. package/dist/hubspot-LJB3ETUT.js.map +1 -0
  202. package/dist/icon-B7DG53S5.js +137 -0
  203. package/dist/ideas-DYN2DMFN.js +41 -0
  204. package/dist/images-EQCUXEHF.js +92 -0
  205. package/dist/ingest-B46AY3QU.js +24 -0
  206. package/dist/ingest-T7ZS2R4U.js +108 -0
  207. package/dist/ingest-T7ZS2R4U.js.map +1 -0
  208. package/dist/inspect-BSNGAT2S.js +190 -0
  209. package/dist/inspect-BSNGAT2S.js.map +1 -0
  210. package/dist/inspiration-TCCKM4R7.js +53 -0
  211. package/dist/keyword-metrics-KNTIN4ZK.js +198 -0
  212. package/dist/keyword-metrics-KNTIN4ZK.js.map +1 -0
  213. package/dist/keywords-for-site-S4MXGXWR.js +129 -0
  214. package/dist/keywords-for-site-S4MXGXWR.js.map +1 -0
  215. package/dist/landing-WVPA7NBR.js +28 -0
  216. package/dist/leads-EINV5FK3.js +113 -0
  217. package/dist/leads-EINV5FK3.js.map +1 -0
  218. package/dist/learn-7Z2VR6MS.js +205 -0
  219. package/dist/learn-7Z2VR6MS.js.map +1 -0
  220. package/dist/line-item-writes-Z3TIB5KZ.js +209 -0
  221. package/dist/line-item-writes-Z3TIB5KZ.js.map +1 -0
  222. package/dist/line-items-OEWYOPFP.js +103 -0
  223. package/dist/link-KYHUIPJE.js +65 -0
  224. package/dist/link-KYHUIPJE.js.map +1 -0
  225. package/dist/linkedin-JVB4HXJC.js +1314 -0
  226. package/dist/linkedin-JVB4HXJC.js.map +1 -0
  227. package/dist/list-EORTO73V.js +93 -0
  228. package/dist/list-EORTO73V.js.map +1 -0
  229. package/dist/list-QQVLURKH.js +152 -0
  230. package/dist/list-QQVLURKH.js.map +1 -0
  231. package/dist/list-QWGKRUSM.js +65 -0
  232. package/dist/list-QWGKRUSM.js.map +1 -0
  233. package/dist/list-WRBWQASJ.js +50 -0
  234. package/dist/list-Z6NMNK3T.js +304 -0
  235. package/dist/list-Z6NMNK3T.js.map +1 -0
  236. package/dist/log-RUMKYPYK.js +93 -0
  237. package/dist/log-RUMKYPYK.js.map +1 -0
  238. package/dist/logo-QTSBKP2J.js +18 -0
  239. package/dist/make-IJGCQA7C.js +1354 -0
  240. package/dist/make-IJGCQA7C.js.map +1 -0
  241. package/dist/map-QZHIJFQT.js +434 -0
  242. package/dist/map-QZHIJFQT.js.map +1 -0
  243. package/dist/mcp-ZH2XDV5P.js +715 -0
  244. package/dist/mcp-ZH2XDV5P.js.map +1 -0
  245. package/dist/media-sources-SQ2RPDBO.js +35 -0
  246. package/dist/media-sources-SQ2RPDBO.js.map +1 -0
  247. package/dist/members-4YX7JEZM.js +45 -0
  248. package/dist/members-4YX7JEZM.js.map +1 -0
  249. package/dist/normalize-ABIWLRIT.js +142 -0
  250. package/dist/normalize-ABIWLRIT.js.map +1 -0
  251. package/dist/options-SVCQVTNE.js +123 -0
  252. package/dist/options-SVCQVTNE.js.map +1 -0
  253. package/dist/organization-FNKDC742.js +947 -0
  254. package/dist/organization-FNKDC742.js.map +1 -0
  255. package/dist/performance-HTU5FR2K.js +25 -0
  256. package/dist/posts-3DAPTBH2.js +34 -0
  257. package/dist/posts-3DAPTBH2.js.map +1 -0
  258. package/dist/promoted-tweet-writes-DD3CJNWW.js +181 -0
  259. package/dist/promoted-tweet-writes-DD3CJNWW.js.map +1 -0
  260. package/dist/promoted-tweets-TTWN5OMW.js +119 -0
  261. package/dist/publish-Z62KGDJ2.js +342 -0
  262. package/dist/publish-Z62KGDJ2.js.map +1 -0
  263. package/dist/reddit-6C3PT5CT.js +27 -0
  264. package/dist/refresh-HCQXVFVR.js +95 -0
  265. package/dist/refresh-HCQXVFVR.js.map +1 -0
  266. package/dist/refresh-ZCGH64OZ.js +42 -0
  267. package/dist/refresh-ZCGH64OZ.js.map +1 -0
  268. package/dist/release-FIHW2HCH.js +61 -0
  269. package/dist/release-FIHW2HCH.js.map +1 -0
  270. package/dist/remove-CBR7NVMI.js +51 -0
  271. package/dist/remove-CBR7NVMI.js.map +1 -0
  272. package/dist/remove-PUZP5GWN.js +49 -0
  273. package/dist/remove-PUZP5GWN.js.map +1 -0
  274. package/dist/reopen-EJGLRQWR.js +64 -0
  275. package/dist/reopen-EJGLRQWR.js.map +1 -0
  276. package/dist/rerun-TVBZXASH.js +91 -0
  277. package/dist/rerun-TVBZXASH.js.map +1 -0
  278. package/dist/research-L25D4WHQ.js +263 -0
  279. package/dist/research-L25D4WHQ.js.map +1 -0
  280. package/dist/research-YCMMQVK6.js +62 -0
  281. package/dist/reset-HKKCWKZ7.js +55 -0
  282. package/dist/reset-HKKCWKZ7.js.map +1 -0
  283. package/dist/reset-SRL6I6GP.js +55 -0
  284. package/dist/reset-SRL6I6GP.js.map +1 -0
  285. package/dist/resolve-POMTTAFR.js +122 -0
  286. package/dist/resolve-POMTTAFR.js.map +1 -0
  287. package/dist/retry-MEPTOAV2.js +61 -0
  288. package/dist/retry-MEPTOAV2.js.map +1 -0
  289. package/dist/retry-RNGM3KKA.js +63 -0
  290. package/dist/retry-RNGM3KKA.js.map +1 -0
  291. package/dist/revenue-X4KPTSAM.js +89 -0
  292. package/dist/revenue-X4KPTSAM.js.map +1 -0
  293. package/dist/rules-VK7YA23Q.js +97 -0
  294. package/dist/rules-VK7YA23Q.js.map +1 -0
  295. package/dist/rules-add-VG7AT6EG.js +463 -0
  296. package/dist/rules-add-VG7AT6EG.js.map +1 -0
  297. package/dist/run-DIDQSZU7.js +67 -0
  298. package/dist/run-DIDQSZU7.js.map +1 -0
  299. package/dist/run-SR7DJ7M5.js +66 -0
  300. package/dist/scaffold-ad-46GTFUMP.js +1512 -0
  301. package/dist/scaffold-ad-46GTFUMP.js.map +1 -0
  302. package/dist/scaffold-static-ad-U63V4UHR.js +1006 -0
  303. package/dist/scaffold-static-ad-U63V4UHR.js.map +1 -0
  304. package/dist/scaffold-video-4DNTURH6.js +884 -0
  305. package/dist/scaffold-video-4DNTURH6.js.map +1 -0
  306. package/dist/schedule-JO66N7XO.js +62 -0
  307. package/dist/schedule-JO66N7XO.js.map +1 -0
  308. package/dist/schedule-JZBIX6LH.js +67 -0
  309. package/dist/schedule-JZBIX6LH.js.map +1 -0
  310. package/dist/scheduled-agents-N63EZNY6.js +50 -0
  311. package/dist/schema-B2XANMEY.js +133 -0
  312. package/dist/schema-B2XANMEY.js.map +1 -0
  313. package/dist/schema-C6SGBNA6.js +69 -0
  314. package/dist/search-7GHS3OUZ.js +51 -0
  315. package/dist/search-7GHS3OUZ.js.map +1 -0
  316. package/dist/search-W5HZUJA2.js +175 -0
  317. package/dist/search-W5HZUJA2.js.map +1 -0
  318. package/dist/select-LMGLNFWB.js +102 -0
  319. package/dist/select-LMGLNFWB.js.map +1 -0
  320. package/dist/set-prompt-M5E3UZDM.js +194 -0
  321. package/dist/set-prompt-M5E3UZDM.js.map +1 -0
  322. package/dist/setup-links-ERBQSKAB.js +142 -0
  323. package/dist/setup-links-ERBQSKAB.js.map +1 -0
  324. package/dist/site-PNVFJRYK.js +178 -0
  325. package/dist/site-PNVFJRYK.js.map +1 -0
  326. package/dist/sources-DMZJPLKC.js +455 -0
  327. package/dist/sources-DMZJPLKC.js.map +1 -0
  328. package/dist/sources-HN3GCEDX.js +30 -0
  329. package/dist/stale-VWN25WTL.js +72 -0
  330. package/dist/stale-VWN25WTL.js.map +1 -0
  331. package/dist/stats-CVF6AC7R.js +34 -0
  332. package/dist/status-SF7DTPCJ.js +63 -0
  333. package/dist/status-SF7DTPCJ.js.map +1 -0
  334. package/dist/stock-4LPQ6SM7.js +179 -0
  335. package/dist/studio-NZ6WQ7OE.js +49 -0
  336. package/dist/suggest-WMMEQCUH.js +66 -0
  337. package/dist/suggest-WMMEQCUH.js.map +1 -0
  338. package/dist/sync-F7VNZLWY.js +55 -0
  339. package/dist/sync-F7VNZLWY.js.map +1 -0
  340. package/dist/sync-HVNDPBOD.js +55 -0
  341. package/dist/sync-HVNDPBOD.js.map +1 -0
  342. package/dist/sync-definition-CKEUYKWN.js +65 -0
  343. package/dist/tag-KTQ2FV5C.js +57 -0
  344. package/dist/tag-KTQ2FV5C.js.map +1 -0
  345. package/dist/tag-manager-FLXXLNKP.js +43 -0
  346. package/dist/tags-EUOOSAKN.js +26 -0
  347. package/dist/tags-KOMAP2G5.js +21 -0
  348. package/dist/tags-KOMAP2G5.js.map +1 -0
  349. package/dist/tags-TKXJGTR3.js +21 -0
  350. package/dist/tags-TKXJGTR3.js.map +1 -0
  351. package/dist/tags-VWIPDCUA.js +225 -0
  352. package/dist/tags-VWIPDCUA.js.map +1 -0
  353. package/dist/tags-XAB4HWGW.js +21 -0
  354. package/dist/tags-XAB4HWGW.js.map +1 -0
  355. package/dist/targeting-criteria-HE7K52WN.js +113 -0
  356. package/dist/targets-NA4XPDBF.js +104 -0
  357. package/dist/targets-NA4XPDBF.js.map +1 -0
  358. package/dist/testimonials-3Q5XM7JD.js +32 -0
  359. package/dist/top-companies-TKO4QGPJ.js +109 -0
  360. package/dist/top-companies-TKO4QGPJ.js.map +1 -0
  361. package/dist/translate-YVIZ5T44.js +605 -0
  362. package/dist/translate-YVIZ5T44.js.map +1 -0
  363. package/dist/triggers-QX7VW7UO.js +143 -0
  364. package/dist/triggers-QX7VW7UO.js.map +1 -0
  365. package/dist/unlink-64SRPUNG.js +68 -0
  366. package/dist/unlink-64SRPUNG.js.map +1 -0
  367. package/dist/unstage-5X2MOUMF.js +86 -0
  368. package/dist/unstage-5X2MOUMF.js.map +1 -0
  369. package/dist/update-22ZBHURE.js +81 -0
  370. package/dist/update-22ZBHURE.js.map +1 -0
  371. package/dist/update-2LTPSGWT.js +99 -0
  372. package/dist/update-2LTPSGWT.js.map +1 -0
  373. package/dist/update-DOKS7ATM.js +189 -0
  374. package/dist/update-DOKS7ATM.js.map +1 -0
  375. package/dist/update-FB6X463M.js +64 -0
  376. package/dist/update-FB6X463M.js.map +1 -0
  377. package/dist/update-QIZ7XFAM.js +153 -0
  378. package/dist/update-QIZ7XFAM.js.map +1 -0
  379. package/dist/upload-XJ7TUVIK.js +127 -0
  380. package/dist/upload-XJ7TUVIK.js.map +1 -0
  381. package/dist/url-params-KLQOLNPS.js +99 -0
  382. package/dist/url-params-KLQOLNPS.js.map +1 -0
  383. package/dist/validate-YTBJBG44.js +118 -0
  384. package/dist/validate-YTBJBG44.js.map +1 -0
  385. package/dist/videos-WAPUPJVT.js +39 -0
  386. package/dist/viewer-check-GHQA3UY2.js +81 -0
  387. package/dist/web-6JMWERTT.js +141 -0
  388. package/dist/web-6JMWERTT.js.map +1 -0
  389. package/dist/winning-ads-XCVUAIOU.js +86 -0
  390. package/dist/write-commands-N74CDMQM.js +1493 -0
  391. package/dist/write-commands-N74CDMQM.js.map +1 -0
  392. package/dist/x-SI4KYDEY.js +47 -0
  393. package/package.json +1 -1
  394. package/dist/account-UHNR5KTE.js +0 -79
  395. package/dist/account-UHNR5KTE.js.map +0 -1
  396. package/dist/accounts-KMLXHADA.js +0 -77
  397. package/dist/accounts-KMLXHADA.js.map +0 -1
  398. package/dist/accounts-QDGNTSTV.js +0 -611
  399. package/dist/accounts-QDGNTSTV.js.map +0 -1
  400. package/dist/actions-QL5UD2W4.js +0 -55
  401. package/dist/activecampaign-5OD45ROS.js +0 -935
  402. package/dist/activecampaign-5OD45ROS.js.map +0 -1
  403. package/dist/add-2F7BEVYD.js +0 -105
  404. package/dist/add-2F7BEVYD.js.map +0 -1
  405. package/dist/add-6K6LO7CM.js +0 -104
  406. package/dist/add-6K6LO7CM.js.map +0 -1
  407. package/dist/add-LYDJZDGO.js +0 -302
  408. package/dist/add-LYDJZDGO.js.map +0 -1
  409. package/dist/ads-DHPJFU52.js +0 -40
  410. package/dist/advertisers-23LU7GTV.js +0 -120
  411. package/dist/advertisers-23LU7GTV.js.map +0 -1
  412. package/dist/analytics-HO2SLL4W.js +0 -433
  413. package/dist/analytics-HO2SLL4W.js.map +0 -1
  414. package/dist/analytics-LD3D7ISK.js +0 -1976
  415. package/dist/analytics-LD3D7ISK.js.map +0 -1
  416. package/dist/assign-CLKJKH2B.js +0 -77
  417. package/dist/assign-CLKJKH2B.js.map +0 -1
  418. package/dist/audience-size-NNYYXODL.js +0 -73
  419. package/dist/audience-size-NNYYXODL.js.map +0 -1
  420. package/dist/audit-KB4P2XGS.js +0 -151
  421. package/dist/audit-KB4P2XGS.js.map +0 -1
  422. package/dist/autocomplete-VZD2SMTE.js +0 -111
  423. package/dist/autocomplete-VZD2SMTE.js.map +0 -1
  424. package/dist/avatars-FKOO6VZ2.js +0 -38
  425. package/dist/bid-pricing-6LLXOLLI.js +0 -100
  426. package/dist/bid-pricing-6LLXOLLI.js.map +0 -1
  427. package/dist/brand-NNWHBIAX.js +0 -22
  428. package/dist/brief-CPJQWT6W.js +0 -538
  429. package/dist/brief-CPJQWT6W.js.map +0 -1
  430. package/dist/campaign-groups-YPYNXOWU.js +0 -95
  431. package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
  432. package/dist/campaign-writes-UJ4L2O6G.js +0 -165
  433. package/dist/campaign-writes-UJ4L2O6G.js.map +0 -1
  434. package/dist/campaigns-HLBZRH5A.js +0 -107
  435. package/dist/campaigns-N44ZDGB5.js +0 -109
  436. package/dist/campaigns-N44ZDGB5.js.map +0 -1
  437. package/dist/canvas-D64GLWUO.js +0 -46
  438. package/dist/capabilities-LWXCWMIY.js +0 -144
  439. package/dist/capabilities-LWXCWMIY.js.map +0 -1
  440. package/dist/chatgpt-YI6YNACI.js +0 -47
  441. package/dist/chats-7WGC2CVW.js +0 -276
  442. package/dist/chats-7WGC2CVW.js.map +0 -1
  443. package/dist/check-EH6BXWWL.js +0 -104
  444. package/dist/check-EH6BXWWL.js.map +0 -1
  445. package/dist/chunk-2B772ZEA.js +0 -169
  446. package/dist/chunk-2KRK667G.js +0 -51
  447. package/dist/chunk-2TVXJPGR.js +0 -103
  448. package/dist/chunk-3AMLOCXY.js +0 -392
  449. package/dist/chunk-3B5LPK6D.js +0 -658
  450. package/dist/chunk-3B5LPK6D.js.map +0 -1
  451. package/dist/chunk-3N5A44NQ.js +0 -122
  452. package/dist/chunk-3WAYZQNV.js +0 -61
  453. package/dist/chunk-5A257KJA.js +0 -160
  454. package/dist/chunk-6QGS3RQP.js +0 -363
  455. package/dist/chunk-AFD32O4A.js +0 -494
  456. package/dist/chunk-AW2GKIGS.js +0 -433
  457. package/dist/chunk-CYSBNCPX.js +0 -55
  458. package/dist/chunk-CYSBNCPX.js.map +0 -1
  459. package/dist/chunk-DAO63OOP.js +0 -6352
  460. package/dist/chunk-DAO63OOP.js.map +0 -1
  461. package/dist/chunk-EMQUW6JB.js +0 -942
  462. package/dist/chunk-EW3JEKIV.js +0 -139
  463. package/dist/chunk-FBFWMTOP.js +0 -19
  464. package/dist/chunk-GXDLWBOY.js +0 -73
  465. package/dist/chunk-GXDLWBOY.js.map +0 -1
  466. package/dist/chunk-GXGYTFZA.js +0 -8939
  467. package/dist/chunk-I7J7YQXZ.js +0 -142
  468. package/dist/chunk-IBY44U2M.js +0 -1079
  469. package/dist/chunk-IFXGCI33.js +0 -297
  470. package/dist/chunk-IKLHXGMF.js +0 -91
  471. package/dist/chunk-IYTPWAN3.js +0 -604
  472. package/dist/chunk-J3CWAERS.js +0 -3868
  473. package/dist/chunk-JH2L5CQD.js +0 -206
  474. package/dist/chunk-JUVVCA7B.js +0 -97
  475. package/dist/chunk-MK6XJUCQ.js +0 -197
  476. package/dist/chunk-N3I6ZXR7.js +0 -66
  477. package/dist/chunk-NBO2NSAW.js +0 -592
  478. package/dist/chunk-NEU5QD2C.js +0 -249
  479. package/dist/chunk-NKIBXOHT.js +0 -344
  480. package/dist/chunk-OE3MIV4F.js +0 -547
  481. package/dist/chunk-P2MFWJR3.js +0 -903
  482. package/dist/chunk-PHCIFBP3.js +0 -89
  483. package/dist/chunk-PTUXBO5O.js +0 -224
  484. package/dist/chunk-Q3LXLWZY.js +0 -275
  485. package/dist/chunk-Q5WBTVA7.js +0 -455
  486. package/dist/chunk-RDEAVCMF.js +0 -399
  487. package/dist/chunk-RDEAVCMF.js.map +0 -1
  488. package/dist/chunk-RGMKXNQP.js +0 -23
  489. package/dist/chunk-RZTKCCUL.js +0 -831
  490. package/dist/chunk-TTKBNBQF.js +0 -156
  491. package/dist/chunk-VB3XUR6A.js +0 -207
  492. package/dist/chunk-XCKINS7K.js +0 -57
  493. package/dist/chunk-Y6GKV7CU.js +0 -346
  494. package/dist/chunk-Y6GKV7CU.js.map +0 -1
  495. package/dist/chunk-Z2GQREJY.js +0 -159
  496. package/dist/chunk-ZDAVSTEE.js +0 -172
  497. package/dist/chunk-ZXCSOVS5.js +0 -191
  498. package/dist/claim-SVDCQ2AI.js +0 -197
  499. package/dist/claim-SVDCQ2AI.js.map +0 -1
  500. package/dist/companies-BYMYQK6A.js +0 -195
  501. package/dist/companies-BYMYQK6A.js.map +0 -1
  502. package/dist/complete-NEH3MWRI.js +0 -81
  503. package/dist/complete-NEH3MWRI.js.map +0 -1
  504. package/dist/connect-5PGL7ZOM.js +0 -42
  505. package/dist/conversation-CSOKJXDW.js +0 -93
  506. package/dist/conversation-CSOKJXDW.js.map +0 -1
  507. package/dist/conversions-4JOTTFEH.js +0 -135
  508. package/dist/conversions-4JOTTFEH.js.map +0 -1
  509. package/dist/create-2XYMBULY.js +0 -207
  510. package/dist/create-2XYMBULY.js.map +0 -1
  511. package/dist/create-56PTZABQ.js +0 -235
  512. package/dist/create-56PTZABQ.js.map +0 -1
  513. package/dist/create-D6S6TGWY.js +0 -59
  514. package/dist/create-D6S6TGWY.js.map +0 -1
  515. package/dist/create-SMW4O5PC.js +0 -132
  516. package/dist/create-SMW4O5PC.js.map +0 -1
  517. package/dist/creatives-OO76DAFS.js +0 -58
  518. package/dist/creatives-VJUYWJL6.js +0 -182
  519. package/dist/creatives-VJUYWJL6.js.map +0 -1
  520. package/dist/credentials-2ONYUJW6.js +0 -287
  521. package/dist/credentials-2ONYUJW6.js.map +0 -1
  522. package/dist/critique-NDDFSGPE.js +0 -1458
  523. package/dist/critique-NDDFSGPE.js.map +0 -1
  524. package/dist/critique-YXZVMLZ4.js +0 -227
  525. package/dist/critique-YXZVMLZ4.js.map +0 -1
  526. package/dist/crm-Q6CEP5XV.js +0 -224
  527. package/dist/crm-Q6CEP5XV.js.map +0 -1
  528. package/dist/crm-WRONZYDH.js +0 -318
  529. package/dist/crm-WRONZYDH.js.map +0 -1
  530. package/dist/customers-2EFYSCU2.js +0 -56
  531. package/dist/delete-7WEVC3FS.js +0 -66
  532. package/dist/delete-7WEVC3FS.js.map +0 -1
  533. package/dist/delete-RBWK255M.js +0 -54
  534. package/dist/delete-RBWK255M.js.map +0 -1
  535. package/dist/delete-VN4WWMQF.js +0 -64
  536. package/dist/delete-VN4WWMQF.js.map +0 -1
  537. package/dist/demographics-I5XZ435C.js +0 -138
  538. package/dist/demographics-I5XZ435C.js.map +0 -1
  539. package/dist/discard-XJLIXTNM.js +0 -66
  540. package/dist/discard-XJLIXTNM.js.map +0 -1
  541. package/dist/domain-M7AEGAYI.js +0 -98
  542. package/dist/domain-M7AEGAYI.js.map +0 -1
  543. package/dist/draft-5DQI4W5F.js +0 -306
  544. package/dist/draft-5DQI4W5F.js.map +0 -1
  545. package/dist/draft-7IIYHSY2.js +0 -332
  546. package/dist/draft-7IIYHSY2.js.map +0 -1
  547. package/dist/draft-CN6GKVBF.js +0 -217
  548. package/dist/draft-CN6GKVBF.js.map +0 -1
  549. package/dist/experiment-IDDWRCJ7.js +0 -1397
  550. package/dist/facets-ZLZ6LIHN.js +0 -114
  551. package/dist/facets-ZLZ6LIHN.js.map +0 -1
  552. package/dist/feedback-7LEX2P5Q.js +0 -106
  553. package/dist/feedback-7LEX2P5Q.js.map +0 -1
  554. package/dist/feedback-record-P4JJ63KA.js +0 -260
  555. package/dist/feedback-record-P4JJ63KA.js.map +0 -1
  556. package/dist/fetch-MIVCEHXZ.js +0 -176
  557. package/dist/fetch-MIVCEHXZ.js.map +0 -1
  558. package/dist/find-VHN34MWL.js +0 -134
  559. package/dist/fit-SS6HSZPU.js +0 -62
  560. package/dist/flows-UTIIHDNE.js +0 -247
  561. package/dist/flows-UTIIHDNE.js.map +0 -1
  562. package/dist/fonts-YPNN7ZJP.js +0 -36
  563. package/dist/forecast-OBSHG2GJ.js +0 -118
  564. package/dist/forecast-OBSHG2GJ.js.map +0 -1
  565. package/dist/funnel-A4MXQYBA.js +0 -394
  566. package/dist/funnel-A4MXQYBA.js.map +0 -1
  567. package/dist/ga4-ZPAEF2G2.js +0 -55
  568. package/dist/get-MDAO6I7T.js +0 -56
  569. package/dist/get-MDAO6I7T.js.map +0 -1
  570. package/dist/get-ZB553BSH.js +0 -79
  571. package/dist/get-ZB553BSH.js.map +0 -1
  572. package/dist/google-C3X7O2UO.js +0 -136
  573. package/dist/google-ads-FTWL772L.js +0 -195
  574. package/dist/google-ads-FTWL772L.js.map +0 -1
  575. package/dist/gsc-SDDHGTZK.js +0 -30
  576. package/dist/history-WKJYKDMG.js +0 -133
  577. package/dist/history-WKJYKDMG.js.map +0 -1
  578. package/dist/hubspot-EPHVEPOO.js +0 -779
  579. package/dist/hubspot-EPHVEPOO.js.map +0 -1
  580. package/dist/icon-MYPDC6FM.js +0 -137
  581. package/dist/ideas-3PBH7VEX.js +0 -40
  582. package/dist/images-J35C3WG4.js +0 -92
  583. package/dist/ingest-5QOPUKFE.js +0 -107
  584. package/dist/ingest-5QOPUKFE.js.map +0 -1
  585. package/dist/ingest-OKUYP632.js +0 -23
  586. package/dist/inspect-PMNCP6MV.js +0 -189
  587. package/dist/inspect-PMNCP6MV.js.map +0 -1
  588. package/dist/inspiration-QAL7NS7G.js +0 -53
  589. package/dist/keyword-metrics-R752SJIT.js +0 -197
  590. package/dist/keyword-metrics-R752SJIT.js.map +0 -1
  591. package/dist/keywords-for-site-7UWPJYQF.js +0 -128
  592. package/dist/keywords-for-site-7UWPJYQF.js.map +0 -1
  593. package/dist/landing-CBVIOGJ5.js +0 -28
  594. package/dist/leads-LIJS6Y5W.js +0 -90
  595. package/dist/leads-LIJS6Y5W.js.map +0 -1
  596. package/dist/learn-N6QV7GXA.js +0 -204
  597. package/dist/learn-N6QV7GXA.js.map +0 -1
  598. package/dist/line-item-writes-3WPJXKIL.js +0 -208
  599. package/dist/line-item-writes-3WPJXKIL.js.map +0 -1
  600. package/dist/line-items-ZOFKOGAA.js +0 -103
  601. package/dist/link-DDRQKOUL.js +0 -64
  602. package/dist/link-DDRQKOUL.js.map +0 -1
  603. package/dist/linkedin-UWZCF66X.js +0 -1057
  604. package/dist/linkedin-UWZCF66X.js.map +0 -1
  605. package/dist/list-5PLXVPLB.js +0 -151
  606. package/dist/list-5PLXVPLB.js.map +0 -1
  607. package/dist/list-RC2NX6AX.js +0 -50
  608. package/dist/list-VSJISE7U.js +0 -303
  609. package/dist/list-VSJISE7U.js.map +0 -1
  610. package/dist/list-WTVOBQYX.js +0 -64
  611. package/dist/list-WTVOBQYX.js.map +0 -1
  612. package/dist/log-YKKPROLZ.js +0 -92
  613. package/dist/log-YKKPROLZ.js.map +0 -1
  614. package/dist/logo-WE2UELX6.js +0 -18
  615. package/dist/make-RNOWBLZQ.js +0 -1353
  616. package/dist/make-RNOWBLZQ.js.map +0 -1
  617. package/dist/map-WTDPQLVO.js +0 -433
  618. package/dist/map-WTDPQLVO.js.map +0 -1
  619. package/dist/mcp-XJNSCPP3.js +0 -714
  620. package/dist/mcp-XJNSCPP3.js.map +0 -1
  621. package/dist/media-sources-JGBDDXZ5.js +0 -32
  622. package/dist/media-sources-JGBDDXZ5.js.map +0 -1
  623. package/dist/members-O3BTMRXX.js +0 -44
  624. package/dist/members-O3BTMRXX.js.map +0 -1
  625. package/dist/normalize-R5AYLA2J.js +0 -141
  626. package/dist/normalize-R5AYLA2J.js.map +0 -1
  627. package/dist/options-AILRY7JY.js +0 -122
  628. package/dist/options-AILRY7JY.js.map +0 -1
  629. package/dist/organization-KJJXZLVK.js +0 -946
  630. package/dist/organization-KJJXZLVK.js.map +0 -1
  631. package/dist/performance-7YU4HOGH.js +0 -24
  632. package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
  633. package/dist/promoted-tweet-writes-TNELWPVG.js.map +0 -1
  634. package/dist/promoted-tweets-76WKUFJQ.js +0 -119
  635. package/dist/publish-BKLHCKHB.js +0 -341
  636. package/dist/publish-BKLHCKHB.js.map +0 -1
  637. package/dist/reddit-YK3YUZEI.js +0 -26
  638. package/dist/refresh-WIII7KXB.js +0 -94
  639. package/dist/refresh-WIII7KXB.js.map +0 -1
  640. package/dist/release-ZHXYQI7G.js +0 -60
  641. package/dist/release-ZHXYQI7G.js.map +0 -1
  642. package/dist/remove-NOX4BXWK.js +0 -50
  643. package/dist/remove-NOX4BXWK.js.map +0 -1
  644. package/dist/remove-VLWRCOEZ.js +0 -48
  645. package/dist/remove-VLWRCOEZ.js.map +0 -1
  646. package/dist/reopen-NLWKK5HB.js +0 -63
  647. package/dist/reopen-NLWKK5HB.js.map +0 -1
  648. package/dist/rerun-DZWQNMZQ.js +0 -90
  649. package/dist/rerun-DZWQNMZQ.js.map +0 -1
  650. package/dist/research-Q3P76RHN.js +0 -62
  651. package/dist/research-UDZBCDNX.js +0 -262
  652. package/dist/research-UDZBCDNX.js.map +0 -1
  653. package/dist/reset-5UHFX7QY.js +0 -54
  654. package/dist/reset-5UHFX7QY.js.map +0 -1
  655. package/dist/reset-MTRJQUP7.js +0 -54
  656. package/dist/reset-MTRJQUP7.js.map +0 -1
  657. package/dist/resolve-DA72VT7Q.js +0 -121
  658. package/dist/resolve-DA72VT7Q.js.map +0 -1
  659. package/dist/retry-LQUBX5TK.js +0 -62
  660. package/dist/retry-LQUBX5TK.js.map +0 -1
  661. package/dist/retry-U6F4CS6O.js +0 -60
  662. package/dist/retry-U6F4CS6O.js.map +0 -1
  663. package/dist/rules-VS5PZ7VO.js +0 -96
  664. package/dist/rules-VS5PZ7VO.js.map +0 -1
  665. package/dist/rules-add-LMVZYDXE.js +0 -462
  666. package/dist/rules-add-LMVZYDXE.js.map +0 -1
  667. package/dist/run-6PRA2YSD.js +0 -65
  668. package/dist/run-R6COFNOR.js +0 -66
  669. package/dist/run-R6COFNOR.js.map +0 -1
  670. package/dist/scaffold-ad-3OVJ7VZQ.js +0 -1511
  671. package/dist/scaffold-ad-3OVJ7VZQ.js.map +0 -1
  672. package/dist/scaffold-static-ad-DDRA3Q5I.js +0 -1005
  673. package/dist/scaffold-static-ad-DDRA3Q5I.js.map +0 -1
  674. package/dist/scaffold-video-3JZYFYFU.js +0 -883
  675. package/dist/scaffold-video-3JZYFYFU.js.map +0 -1
  676. package/dist/schedule-BRSYHMKR.js +0 -66
  677. package/dist/schedule-BRSYHMKR.js.map +0 -1
  678. package/dist/schedule-ED2YDUPY.js +0 -61
  679. package/dist/schedule-ED2YDUPY.js.map +0 -1
  680. package/dist/scheduled-agents-5P67MVGX.js +0 -50
  681. package/dist/schema-4XVKERSA.js +0 -132
  682. package/dist/schema-4XVKERSA.js.map +0 -1
  683. package/dist/schema-RRAQW3OS.js +0 -69
  684. package/dist/search-Y2UMIQ57.js +0 -174
  685. package/dist/search-Y2UMIQ57.js.map +0 -1
  686. package/dist/select-OZ4E6VLF.js +0 -101
  687. package/dist/select-OZ4E6VLF.js.map +0 -1
  688. package/dist/set-prompt-O4YAE4CE.js +0 -193
  689. package/dist/set-prompt-O4YAE4CE.js.map +0 -1
  690. package/dist/setup-links-2GJYCV2A.js +0 -141
  691. package/dist/setup-links-2GJYCV2A.js.map +0 -1
  692. package/dist/site-47B6V2UX.js +0 -177
  693. package/dist/site-47B6V2UX.js.map +0 -1
  694. package/dist/sources-DXPZAPQ7.js +0 -454
  695. package/dist/sources-DXPZAPQ7.js.map +0 -1
  696. package/dist/sources-NDXYTASG.js +0 -30
  697. package/dist/stale-VLVBO2L6.js +0 -71
  698. package/dist/stale-VLVBO2L6.js.map +0 -1
  699. package/dist/stats-37OFAMPW.js +0 -34
  700. package/dist/status-4ODD46XY.js +0 -62
  701. package/dist/status-4ODD46XY.js.map +0 -1
  702. package/dist/stock-6R5E7MJX.js +0 -179
  703. package/dist/studio-LEIGL3Q7.js +0 -49
  704. package/dist/sync-EKGEWE53.js +0 -54
  705. package/dist/sync-EKGEWE53.js.map +0 -1
  706. package/dist/sync-TKNVBUDM.js +0 -54
  707. package/dist/sync-TKNVBUDM.js.map +0 -1
  708. package/dist/sync-definition-M5R3H3TP.js +0 -64
  709. package/dist/tag-manager-3Q55PBEW.js +0 -43
  710. package/dist/tags-4N5UUUN6.js +0 -26
  711. package/dist/tags-5NHIAD5A.js +0 -20
  712. package/dist/tags-5NHIAD5A.js.map +0 -1
  713. package/dist/tags-UUKWSWCN.js +0 -20
  714. package/dist/tags-UUKWSWCN.js.map +0 -1
  715. package/dist/tags-VK7B5DJF.js +0 -20
  716. package/dist/tags-VK7B5DJF.js.map +0 -1
  717. package/dist/tags-XAHIB3WA.js +0 -224
  718. package/dist/tags-XAHIB3WA.js.map +0 -1
  719. package/dist/targeting-criteria-AVARWV2G.js +0 -113
  720. package/dist/targets-6RYLQRID.js +0 -103
  721. package/dist/targets-6RYLQRID.js.map +0 -1
  722. package/dist/testimonials-6TF6BOFN.js +0 -32
  723. package/dist/top-companies-45EHRCJD.js +0 -108
  724. package/dist/top-companies-45EHRCJD.js.map +0 -1
  725. package/dist/translate-VHLBACCE.js +0 -604
  726. package/dist/translate-VHLBACCE.js.map +0 -1
  727. package/dist/triggers-ERQONJNO.js +0 -142
  728. package/dist/triggers-ERQONJNO.js.map +0 -1
  729. package/dist/unlink-TPDO6JNF.js +0 -67
  730. package/dist/unlink-TPDO6JNF.js.map +0 -1
  731. package/dist/unstage-YKKQQ7LW.js +0 -85
  732. package/dist/unstage-YKKQQ7LW.js.map +0 -1
  733. package/dist/update-43WU6X7R.js +0 -63
  734. package/dist/update-43WU6X7R.js.map +0 -1
  735. package/dist/update-CAHLAXWO.js +0 -98
  736. package/dist/update-CAHLAXWO.js.map +0 -1
  737. package/dist/update-NGH6YADN.js +0 -152
  738. package/dist/update-NGH6YADN.js.map +0 -1
  739. package/dist/update-SPJIHHLE.js +0 -188
  740. package/dist/update-SPJIHHLE.js.map +0 -1
  741. package/dist/upload-ACESIZIZ.js +0 -126
  742. package/dist/upload-ACESIZIZ.js.map +0 -1
  743. package/dist/url-params-MIXEDBF7.js +0 -98
  744. package/dist/url-params-MIXEDBF7.js.map +0 -1
  745. package/dist/validate-XJJA7ULE.js +0 -117
  746. package/dist/validate-XJJA7ULE.js.map +0 -1
  747. package/dist/videos-LBXPG7WC.js +0 -39
  748. package/dist/viewer-check-7VJ3GUZX.js +0 -80
  749. package/dist/web-EWQJC2SD.js +0 -140
  750. package/dist/web-EWQJC2SD.js.map +0 -1
  751. package/dist/winning-ads-SAOJAKEQ.js +0 -86
  752. package/dist/write-commands-QPDE4GWW.js +0 -1024
  753. package/dist/write-commands-QPDE4GWW.js.map +0 -1
  754. package/dist/x-LXOJPCRF.js +0 -47
  755. /package/dist/{actions-QL5UD2W4.js.map → actions-FMNJSOBA.js.map} +0 -0
  756. /package/dist/{ads-DHPJFU52.js.map → ads-OLXSDPD6.js.map} +0 -0
  757. /package/dist/{avatars-FKOO6VZ2.js.map → avatars-I4H3NMEJ.js.map} +0 -0
  758. /package/dist/{brand-NNWHBIAX.js.map → brand-3V7ECY7D.js.map} +0 -0
  759. /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-MCB76NPQ.js.map} +0 -0
  760. /package/dist/{canvas-D64GLWUO.js.map → canvas-JCNKMGCG.js.map} +0 -0
  761. /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-XFZ42NXC.js.map} +0 -0
  762. /package/dist/{chunk-VB3XUR6A.js.map → chunk-2YTBPRRG.js.map} +0 -0
  763. /package/dist/{chunk-JUVVCA7B.js.map → chunk-3SNCMEJB.js.map} +0 -0
  764. /package/dist/{chunk-RGMKXNQP.js.map → chunk-7QGFO35A.js.map} +0 -0
  765. /package/dist/{chunk-ZXCSOVS5.js.map → chunk-AV7ALENU.js.map} +0 -0
  766. /package/dist/{chunk-IYTPWAN3.js.map → chunk-BRLFQ4VX.js.map} +0 -0
  767. /package/dist/{chunk-RZTKCCUL.js.map → chunk-DJE7UXYT.js.map} +0 -0
  768. /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
  769. /package/dist/{chunk-J3CWAERS.js.map → chunk-EONSZAZB.js.map} +0 -0
  770. /package/dist/{chunk-PHCIFBP3.js.map → chunk-FG3MV2XM.js.map} +0 -0
  771. /package/dist/{chunk-3AMLOCXY.js.map → chunk-FKG476GH.js.map} +0 -0
  772. /package/dist/{chunk-IFXGCI33.js.map → chunk-FUGQSIYG.js.map} +0 -0
  773. /package/dist/{chunk-Q3LXLWZY.js.map → chunk-HPLHAHG5.js.map} +0 -0
  774. /package/dist/{chunk-3N5A44NQ.js.map → chunk-I24YT2KG.js.map} +0 -0
  775. /package/dist/{chunk-P2MFWJR3.js.map → chunk-IFDZZOUC.js.map} +0 -0
  776. /package/dist/{chunk-Q5WBTVA7.js.map → chunk-JVVUI55M.js.map} +0 -0
  777. /package/dist/{chunk-6QGS3RQP.js.map → chunk-KKSHEPBY.js.map} +0 -0
  778. /package/dist/{chunk-OE3MIV4F.js.map → chunk-KQ7RCLGC.js.map} +0 -0
  779. /package/dist/{chunk-ZDAVSTEE.js.map → chunk-L7WMS5PW.js.map} +0 -0
  780. /package/dist/{chunk-FBFWMTOP.js.map → chunk-LBRO4MTL.js.map} +0 -0
  781. /package/dist/{chunk-PTUXBO5O.js.map → chunk-LNRPOULW.js.map} +0 -0
  782. /package/dist/{chunk-EMQUW6JB.js.map → chunk-LX6WC2XZ.js.map} +0 -0
  783. /package/dist/{chunk-I7J7YQXZ.js.map → chunk-MMGTJBM6.js.map} +0 -0
  784. /package/dist/{chunk-2KRK667G.js.map → chunk-OEZYSL3U.js.map} +0 -0
  785. /package/dist/{chunk-2TVXJPGR.js.map → chunk-OOVHBMQB.js.map} +0 -0
  786. /package/dist/{chunk-Z2GQREJY.js.map → chunk-PTH7VWKK.js.map} +0 -0
  787. /package/dist/{chunk-N3I6ZXR7.js.map → chunk-QZF4BVKL.js.map} +0 -0
  788. /package/dist/{chunk-3WAYZQNV.js.map → chunk-RITUSBYO.js.map} +0 -0
  789. /package/dist/{chunk-JH2L5CQD.js.map → chunk-SSTL3A7Z.js.map} +0 -0
  790. /package/dist/{chunk-2B772ZEA.js.map → chunk-TD4SO6TR.js.map} +0 -0
  791. /package/dist/{chunk-IKLHXGMF.js.map → chunk-UZ4RTOFG.js.map} +0 -0
  792. /package/dist/{chunk-NBO2NSAW.js.map → chunk-VAX7PFQV.js.map} +0 -0
  793. /package/dist/{chunk-AFD32O4A.js.map → chunk-VDRSZK4P.js.map} +0 -0
  794. /package/dist/{chunk-NKIBXOHT.js.map → chunk-VNU2EYD4.js.map} +0 -0
  795. /package/dist/{chunk-TTKBNBQF.js.map → chunk-WT4WDIXA.js.map} +0 -0
  796. /package/dist/{chunk-5A257KJA.js.map → chunk-XEX23CIB.js.map} +0 -0
  797. /package/dist/{chunk-GXGYTFZA.js.map → chunk-XXDF25BW.js.map} +0 -0
  798. /package/dist/{chunk-NEU5QD2C.js.map → chunk-YJ3LSFMX.js.map} +0 -0
  799. /package/dist/{chunk-MK6XJUCQ.js.map → chunk-YVK5RT3B.js.map} +0 -0
  800. /package/dist/{chunk-AW2GKIGS.js.map → chunk-YWWRLZUR.js.map} +0 -0
  801. /package/dist/{chunk-XCKINS7K.js.map → chunk-Z4S5BCVZ.js.map} +0 -0
  802. /package/dist/{chunk-IBY44U2M.js.map → chunk-ZYGK7GAK.js.map} +0 -0
  803. /package/dist/{connect-5PGL7ZOM.js.map → connect-COS6G45S.js.map} +0 -0
  804. /package/dist/{creatives-OO76DAFS.js.map → creatives-SEQHJD2M.js.map} +0 -0
  805. /package/dist/{customers-2EFYSCU2.js.map → customers-LMSX33FO.js.map} +0 -0
  806. /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
  807. /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
  808. /package/dist/{fit-SS6HSZPU.js.map → fit-W7UNFZT5.js.map} +0 -0
  809. /package/dist/{fonts-YPNN7ZJP.js.map → fonts-N42UYWTX.js.map} +0 -0
  810. /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
  811. /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
  812. /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
  813. /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
  814. /package/dist/{ideas-3PBH7VEX.js.map → ideas-DYN2DMFN.js.map} +0 -0
  815. /package/dist/{images-J35C3WG4.js.map → images-EQCUXEHF.js.map} +0 -0
  816. /package/dist/{ingest-OKUYP632.js.map → ingest-B46AY3QU.js.map} +0 -0
  817. /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
  818. /package/dist/{landing-CBVIOGJ5.js.map → landing-WVPA7NBR.js.map} +0 -0
  819. /package/dist/{line-items-ZOFKOGAA.js.map → line-items-OEWYOPFP.js.map} +0 -0
  820. /package/dist/{list-RC2NX6AX.js.map → list-WRBWQASJ.js.map} +0 -0
  821. /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
  822. /package/dist/{performance-7YU4HOGH.js.map → performance-HTU5FR2K.js.map} +0 -0
  823. /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-TTWN5OMW.js.map} +0 -0
  824. /package/dist/{reddit-YK3YUZEI.js.map → reddit-6C3PT5CT.js.map} +0 -0
  825. /package/dist/{research-Q3P76RHN.js.map → research-YCMMQVK6.js.map} +0 -0
  826. /package/dist/{run-6PRA2YSD.js.map → run-SR7DJ7M5.js.map} +0 -0
  827. /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-N63EZNY6.js.map} +0 -0
  828. /package/dist/{schema-RRAQW3OS.js.map → schema-C6SGBNA6.js.map} +0 -0
  829. /package/dist/{sources-NDXYTASG.js.map → sources-HN3GCEDX.js.map} +0 -0
  830. /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
  831. /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
  832. /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ6WQ7OE.js.map} +0 -0
  833. /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-CKEUYKWN.js.map} +0 -0
  834. /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
  835. /package/dist/{tags-4N5UUUN6.js.map → tags-EUOOSAKN.js.map} +0 -0
  836. /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-HE7K52WN.js.map} +0 -0
  837. /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-3Q5XM7JD.js.map} +0 -0
  838. /package/dist/{videos-LBXPG7WC.js.map → videos-WAPUPJVT.js.map} +0 -0
  839. /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-GHQA3UY2.js.map} +0 -0
  840. /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-XCVUAIOU.js.map} +0 -0
  841. /package/dist/{x-LXOJPCRF.js.map → x-SI4KYDEY.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/avatars/create.ts"],"sourcesContent":["import { AVATAR_HANDLE_PATTERN, type AvatarsCreateRequest, type AvatarsCreateResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { chatIdFromEnv, creationHints, parseFaceChoice } from \"./casting.ts\";\nimport { failAvatarApi, failValidation } from \"./failures.ts\";\nimport { buildProfilePatch } from \"./profile.ts\";\nimport { writeAvatars } from \"./transport.ts\";\n\nfunction parseImageIds(value: unknown): string[] | undefined {\n if (typeof value !== \"string\") return undefined;\n const ids = value\n .split(\",\")\n .map((id) => id.trim())\n .filter((id) => id.length > 0);\n return ids.length > 0 ? [...new Set(ids)] : undefined;\n}\n\nregisterSchema({\n command: \"avatars.create\",\n description:\n 'Cast a new avatar — a reusable AI presenter this company can put in images and video. Start here: `baker avatars create --name \"Marta\" --subject \"woman in her early 40s, shoulder-length dark hair, warm brown eyes, light olive skin\"`. --subject is the identity: describe ONE person plainly (age, build, hair, skin, face) with no scene, no lighting and no wardrobe, because it is copied word for word into every prompt that renders them. Two kinds: invented from your description (default), or built from photographs of a real person (--source-image with --likeness-confirmed, which is the company stating it may use that person\\'s image in advertising). For a real person the copy NAMES — a testimonial author, the founder, a team member — use `baker avatars research \"<name>, <role> at <company>\" --create` instead: it finds their photos and builds the avatar itself. Returns immediately with status `generating` — the identity sheet is a ~30s render that settles in the background.',\n args: {\n name: { type: \"string\", description: 'Display name, e.g. \"Marta\"', required: true },\n handle: {\n type: \"string\",\n description: 'Mention handle (lowercase, dashes), e.g. \"marta\". Derived from the name when omitted.',\n required: false,\n },\n subject: {\n type: \"string\",\n description:\n \"The identity, reused verbatim in every render: one person, plainly described (age, build, hair, skin, face). No scene, no lighting, no camera, no wardrobe — those belong in the render prompt or in --wardrobe/--setting.\",\n required: true,\n },\n persona: { type: \"string\", description: \"Who they are on camera — role, attitude, energy\", required: false },\n speech: { type: \"string\", description: \"How they speak — pace, register, verbal habits\", required: false },\n accent: {\n type: \"string\",\n description:\n \"Where their VOICE is from, as a place: 'Spanish from Spain, Madrid accent', 'Mexican Spanish', 'British English, London'. Name the region — an adjective like 'clear Spanish accent' is read by the video model as NO accent, and the clip comes out sounding like nowhere. Default to the language the USER is writing to you in, always: they are describing an ad for their own market, and an avatar that answers them in another language is unusable however good it looks. Never take this from how the person LOOKS — 'aspecto europeo', 'Nordic', 'Mediterranean' describe a face and belong in --subject. Read literally, that mistake shipped an ad for a Spanish client with --accent \\\"German\\\", and the clip came back spoken in German.\",\n required: false,\n },\n motion: { type: \"string\", description: \"Body language and gesture in video\", required: false },\n wardrobe: { type: \"string\", description: \"Default outfit when the brief does not name one\", required: false },\n setting: {\n type: \"string\",\n description:\n 'Where they are in their own life (\"her small kitchen in Madrid on a weekday morning\") — their casting photo is taken there, and renders use it when the brief leaves the surroundings open. Always fill it: a face with no world comes back looking like a studio headshot.',\n required: false,\n },\n guardrails: {\n type: \"string\",\n description: 'Comma-separated things this avatar must never do, e.g. \"no competitor logos, no medical claims\"',\n required: false,\n },\n \"source-image\": {\n type: \"string\",\n description:\n \"Comma-separated library image ids (up to 6) of photographs of a REAL person to build the likeness from. Requires --likeness-confirmed. Source them with `baker images upload`/`library` first.\",\n required: false,\n },\n \"likeness-confirmed\": {\n type: \"boolean\",\n description:\n \"The company's statement that it may use this real person's image in advertising. Required with --source-image. Pass it when the user gave you the photos, or the person is someone the company features in its own marketing (its founder, its team, a customer quoted by name) — that request is the statement; there is no separate question to ask.\",\n required: false,\n },\n face: {\n type: \"string\",\n description:\n \"Who picks the face, for an invented avatar: 'ask' (default) blocks on the user through `request_avatar_casting`, 'auto' keeps the one this build casts and asks nobody. Use 'auto' only when there is no one to answer — a Schedule, a batch, an explicit \\\"do it yourself\\\" — because a person who is there almost always wants this choice.\",\n required: false,\n },\n output: {\n type: \"string\",\n description:\n \"Output format. Only `json`, which is what this returns anyway — accepted because `avatars list` and `avatars get` take it, so reaching for it here is the obvious guess.\",\n required: false,\n default: \"json\",\n },\n },\n});\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description:\n 'Cast a new avatar (reusable AI presenter). Example: baker avatars create --name \"Marta\" --subject \"woman in her early 40s, shoulder-length dark hair, light olive skin, warm open face\" --persona \"friendly product expert\". Returns while the identity sheet is still building.',\n },\n args: {\n name: { type: \"string\", description: \"Display name\", required: false },\n handle: { type: \"string\", description: \"Mention handle (derived from the name when omitted)\", required: false },\n subject: { type: \"string\", description: \"The person, plainly described — reused verbatim\", required: false },\n persona: { type: \"string\", description: \"Who they are on camera\", required: false },\n speech: { type: \"string\", description: \"How they speak\", required: false },\n accent: {\n type: \"string\",\n description: \"Where their voice is FROM — name the region, e.g. 'Spanish from Spain, Madrid accent'\",\n required: false,\n },\n motion: { type: \"string\", description: \"Body language in video\", required: false },\n wardrobe: { type: \"string\", description: \"Default outfit\", required: false },\n setting: { type: \"string\", description: \"Default surroundings\", required: false },\n guardrails: { type: \"string\", description: \"Comma-separated things they must never do\", required: false },\n \"source-image\": {\n type: \"string\",\n description: \"Comma-separated library image ids of a real person (needs --likeness-confirmed)\",\n required: false,\n },\n \"likeness-confirmed\": {\n type: \"boolean\",\n description: \"The company may use this real person's image in advertising\",\n required: false,\n default: false,\n },\n face: {\n type: \"string\",\n description:\n \"Who picks the face of an invented avatar: 'ask' (default, blocks on the user) or 'auto' (asks nobody)\",\n required: false,\n },\n output: {\n type: \"string\",\n description: \"Output format — `json` only, which is what this returns anyway\",\n required: false,\n default: \"json\",\n },\n },\n run: async ({ args }) => {\n const name = (args.name as string | undefined)?.trim();\n if (!name) {\n failValidation('--name is required, e.g. `baker avatars create --name \"Marta\" --subject \"…\"`.');\n }\n\n const profile = buildProfilePatch(args);\n const subjectDescription = profile.subjectDescription;\n if (!subjectDescription) {\n failValidation(\n \"--subject is required: it is the identity every render of this avatar is built from, and it is copied into each prompt word for word.\",\n {\n action: \"describe_the_person\",\n explanation:\n 'Write one person, plainly: age range, build, hair, skin, face, anything distinctive. No scene, no lighting, no camera, no wardrobe. Good: \"woman in her early 40s, shoulder-length dark brown hair, light olive skin, warm open face, slight smile lines\". Bad: \"confident businesswoman in a sunlit office\". If the user described a real person and you have their photos, pass --source-image with --likeness-confirmed instead of inventing the description; if they are named but you have no photos, run `baker avatars research \"<name>, <role> at <company>\" --create`.',\n },\n );\n }\n\n const handle = (args.handle as string | undefined)?.trim().toLowerCase();\n if (handle && !AVATAR_HANDLE_PATTERN.test(handle)) {\n failValidation(\n `--handle \"${handle}\" is not usable. Use lowercase letters, numbers and dashes, starting with a letter — \"maria-founder\", not \"Maria Founder\". Leave it off to have one derived from the name.`,\n );\n }\n\n // Accepted rather than refused, because refusing it cost a whole create: the command\n // was rejected for this flag alone, the agent retried without it, and the retry landed\n // while the casting for the first attempt was still pending — so the avatar that DID\n // get made never got a face picker. `create` has one shape of output; saying so is\n // cheaper than being right about it.\n const output = (args.output as string | undefined)?.trim().toLowerCase();\n if (output && output !== \"json\") {\n failValidation(\n `\\`--output ${output}\\` is not a format \\`baker avatars create\\` produces — it returns JSON and nothing else. Drop the flag, or pass \\`--output json\\`. \\`baker avatars list\\` and \\`baker avatars get\\` are the ones that also render \\`files\\` and \\`md\\`.`,\n );\n }\n\n const faceChoice = parseFaceChoice(args.face as string | undefined);\n if (faceChoice === null) {\n failValidation(\n `--face \"${String(args.face)}\" is not a mode. Use --face ask to let the user pick the face, or --face auto to keep the one this build casts.`,\n {\n action: \"pick_a_mode\",\n explanation:\n \"Drop the flag entirely if a person is in the conversation — that is --face ask, and it is what they almost always want. Pass --face auto only when nobody is there to answer: a Schedule, a batch run, or the user telling you to do it without them.\",\n },\n );\n }\n\n const sourceImageIds = parseImageIds(args[\"source-image\"]);\n const likenessConfirmed = Boolean(args[\"likeness-confirmed\"]);\n if (sourceImageIds && !likenessConfirmed) {\n failValidation(\n \"Building an avatar from photographs of a real person needs --likeness-confirmed: the company has to state that it may use that person's image in its advertising.\",\n {\n action: \"confirm_the_likeness\",\n explanation:\n 'Photos the user handed you, or of someone the company features in its own marketing (its founder, its team, a customer it quotes by name), come with that statement: re-run the same command with --likeness-confirmed. If the person is named in the copy and you have no photos, use `baker avatars research \"<name>, <role> at <company>\" --create` instead. Only if the user said they may NOT use this person\\'s image, drop --source-image and cast an invented presenter from --subject — do not abandon the wider job over it.',\n },\n );\n }\n\n try {\n const body: AvatarsCreateRequest = {\n name,\n ...(handle ? { handle } : {}),\n profile: { ...profile, subjectDescription },\n ...(sourceImageIds ? { sourceImageIds, likenessConfirmed: true } : {}),\n ...(chatIdFromEnv() ? { chatId: chatIdFromEnv() } : {}),\n // Sent so the backend can hold the sheet until the chosen portrait exists —\n // otherwise it fuses one from a face nobody picked and pays for it twice.\n faceChoice,\n };\n\n const data = await writeAvatars<AvatarsCreateResponse>(\"/api/avatars\", body);\n writeJson({ ok: true, data, hints: creationHints({ ...data, faceChoice }, body.profile) });\n } catch (err) {\n failAvatarApi(err, handle);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,60 @@
1
+ import {
2
+ failApi,
3
+ failValidation,
4
+ writeOk
5
+ } from "./chunk-L7WMS5PW.js";
6
+ import "./chunk-O37VU7FG.js";
7
+ import "./chunk-CAZGM2NX.js";
8
+ import "./chunk-NZS3KEQ2.js";
9
+ import "./chunk-GIWHHCD6.js";
10
+ import "./chunk-XQIOCIDO.js";
11
+ import "./chunk-WTJSMYY2.js";
12
+ import {
13
+ apiPost
14
+ } from "./chunk-6YLNY6CK.js";
15
+ import "./chunk-D5NEIESR.js";
16
+ import "./chunk-57KKVDDR.js";
17
+ import {
18
+ registerSchema
19
+ } from "./chunk-QANGHND7.js";
20
+ import "./chunk-YQSBHWOI.js";
21
+
22
+ // src/commands/actions/tags/create.ts
23
+ import { defineCommand } from "citty";
24
+ registerSchema({
25
+ command: "actions.tags.create",
26
+ description: "Create a company custom action tag, minting a new slug usable with --tags. The name is slugified (lowercased, spaces\u2192hyphens). Use when no existing tag fits the work.",
27
+ args: {
28
+ slug: { type: "string", description: "Tag name/slug (e.g. pmax, retargeting)", required: true },
29
+ description: { type: "string", description: "What this tag means", required: false }
30
+ }
31
+ });
32
+ var tagsCreateCommand = defineCommand({
33
+ meta: {
34
+ name: "create",
35
+ description: 'Create a custom action tag. Example: baker actions tags create --slug pmax --description "Performance Max work"'
36
+ },
37
+ args: {
38
+ slug: { type: "string", description: "Tag name/slug", required: false },
39
+ description: { type: "string", description: "Description", required: false }
40
+ },
41
+ run: async ({ args }) => {
42
+ try {
43
+ const slug = args.slug;
44
+ if (!slug || slug.trim().length === 0) {
45
+ failValidation("--slug is required.");
46
+ }
47
+ const response = await apiPost("/api/actions/tags/create", {
48
+ name: slug,
49
+ description: args.description
50
+ });
51
+ writeOk(response.data);
52
+ } catch (err) {
53
+ failApi(err);
54
+ }
55
+ }
56
+ });
57
+ export {
58
+ tagsCreateCommand
59
+ };
60
+ //# sourceMappingURL=create-JD76Z4A4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/actions/tags/create.ts"],"sourcesContent":["import type { ActionsTagsCreateResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { failApi, failValidation, writeOk } from \"../shared.ts\";\n\nregisterSchema({\n command: \"actions.tags.create\",\n description:\n \"Create a company custom action tag, minting a new slug usable with --tags. The name is slugified (lowercased, spaces→hyphens). Use when no existing tag fits the work.\",\n args: {\n slug: { type: \"string\", description: \"Tag name/slug (e.g. pmax, retargeting)\", required: true },\n description: { type: \"string\", description: \"What this tag means\", required: false },\n },\n});\n\nexport const tagsCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description:\n 'Create a custom action tag. Example: baker actions tags create --slug pmax --description \"Performance Max work\"',\n },\n args: {\n slug: { type: \"string\", description: \"Tag name/slug\", required: false },\n description: { type: \"string\", description: \"Description\", required: false },\n },\n run: async ({ args }) => {\n try {\n const slug = args.slug as string | undefined;\n if (!slug || slug.trim().length === 0) {\n failValidation(\"--slug is required.\");\n }\n const response = await apiPost<ActionsTagsCreateResponse>(\"/api/actions/tags/create\", {\n name: slug,\n description: args.description,\n });\n writeOk(response.data);\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAK9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,UAAU,aAAa,0CAA0C,UAAU,KAAK;AAAA,IAC9F,aAAa,EAAE,MAAM,UAAU,aAAa,uBAAuB,UAAU,MAAM;AAAA,EACrF;AACF,CAAC;AAEM,IAAM,oBAAoB,cAAc;AAAA,EAC7C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,UAAU,aAAa,iBAAiB,UAAU,MAAM;AAAA,IACtE,aAAa,EAAE,MAAM,UAAU,aAAa,eAAe,UAAU,MAAM;AAAA,EAC7E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAO,KAAK;AAClB,UAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,WAAW,GAAG;AACrC,uBAAe,qBAAqB;AAAA,MACtC;AACA,YAAM,WAAW,MAAM,QAAmC,4BAA4B;AAAA,QACpF,MAAM;AAAA,QACN,aAAa,KAAK;AAAA,MACpB,CAAC;AACD,cAAQ,SAAS,IAAI;AAAA,IACvB,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,133 @@
1
+ import {
2
+ AUTO_PUBLISH_ARG,
3
+ NARROWING_ARGS,
4
+ REACTION_ARGS,
5
+ SLACK_ARG,
6
+ TRIGGER_ARG_DESCRIPTION,
7
+ TRIGGER_KIND_LIST,
8
+ buildTriggerBody,
9
+ companiesArg,
10
+ companiesBody,
11
+ failApi,
12
+ failValidation,
13
+ reactionBody,
14
+ refuseAutoPublish,
15
+ slackBody
16
+ } from "./chunk-PYD6IGW6.js";
17
+ import "./chunk-FALJQCWL.js";
18
+ import "./chunk-O37VU7FG.js";
19
+ import "./chunk-CAZGM2NX.js";
20
+ import "./chunk-NZS3KEQ2.js";
21
+ import "./chunk-GIWHHCD6.js";
22
+ import "./chunk-XQIOCIDO.js";
23
+ import "./chunk-WTJSMYY2.js";
24
+ import {
25
+ apiPost
26
+ } from "./chunk-6YLNY6CK.js";
27
+ import "./chunk-D5NEIESR.js";
28
+ import {
29
+ requireChatId
30
+ } from "./chunk-57KKVDDR.js";
31
+ import {
32
+ registerSchema,
33
+ writeJson
34
+ } from "./chunk-QANGHND7.js";
35
+ import "./chunk-YQSBHWOI.js";
36
+
37
+ // src/commands/scheduled-agents/create.ts
38
+ import { defineCommand } from "citty";
39
+ registerSchema({
40
+ command: "scheduled-agents.create",
41
+ description: "Stage a scheduled agent: a trigger and a prompt. Applies when the chat is published and returns a temp_agent_* ID. Start here: `baker scheduled-agents triggers` lists everything that can start one.",
42
+ args: {
43
+ name: { type: "string", description: "What a person will call it in the list", required: true },
44
+ description: { type: "string", description: "One line under the name. Not read by the run.", required: true },
45
+ prompt: {
46
+ type: "string",
47
+ description: "What the run does. This IS the job \u2014 nothing else is resolved when it fires. Five to eight schematic lines: `Goal:` the outcome; `Tools:` each tool tagged (@[Google Ads](integration:google-ads), @[Gmail](mcp:gmail), /skill); numbered steps with the exact `baker` commands and flags; `Report:` what to hand back and how far to go. Worked examples: scheduled-agents.md \u2192 Typical scheduled agents.",
48
+ required: true
49
+ },
50
+ cron: { type: "string", description: "5-field cron expression; implies --trigger time.cron", required: false },
51
+ "run-at": {
52
+ type: "string",
53
+ description: "Run once at this ISO UTC timestamp ending in Z; implies --trigger time.once. Must still be in the future \u2014 a time that has passed is refused.",
54
+ required: false
55
+ },
56
+ trigger: { type: "string", description: TRIGGER_ARG_DESCRIPTION, required: false, enum: TRIGGER_KIND_LIST },
57
+ ...NARROWING_ARGS,
58
+ occurrences: {
59
+ type: "string",
60
+ description: "Run only on these firings of the trigger, 1-based and comma-separated. `1` is only the first time it ever happens. Omit it to run every time.",
61
+ required: false
62
+ },
63
+ ...REACTION_ARGS,
64
+ ...SLACK_ARG,
65
+ ...companiesArg(),
66
+ timezone: { type: "string", description: "IANA timezone override; defaults to Company Timezone", required: false },
67
+ disabled: { type: "boolean", description: "Create it switched off", required: false, default: false }
68
+ }
69
+ });
70
+ var createCommand = defineCommand({
71
+ meta: {
72
+ name: "create",
73
+ description: 'Stage a scheduled agent. Examples: baker scheduled-agents create --name "Weekly report" --description "..." --prompt "..." --cron "0 9 * * MON" | baker scheduled-agents create --name "Chase a new lead" --description "..." --prompt "Research {{payload.answers.company}} and draft a reply" --trigger form.submitted --form quote | baker scheduled-agents create --name "Big deals" --description "..." --prompt "..." --trigger webhook.received --when "deal.stage = won AND deal.amount > 10000" --times 3'
74
+ },
75
+ args: {
76
+ name: { type: "string", description: "What a person will call it", required: false },
77
+ description: { type: "string", description: "One line under the name", required: false },
78
+ prompt: {
79
+ type: "string",
80
+ description: "What the run does: a few lines naming the exact commands",
81
+ required: false
82
+ },
83
+ cron: { type: "string", description: "5-field cron expression", required: false },
84
+ "run-at": { type: "string", description: "ISO UTC timestamp ending in Z, still in the future", required: false },
85
+ trigger: { type: "string", description: `One of: ${TRIGGER_KIND_LIST.join(", ")}`, required: false },
86
+ ...NARROWING_ARGS,
87
+ occurrences: { type: "string", description: "Only these firings, e.g. 1 or 1,3", required: false },
88
+ ...REACTION_ARGS,
89
+ ...SLACK_ARG,
90
+ ...companiesArg(),
91
+ timezone: { type: "string", description: "IANA timezone override", required: false },
92
+ disabled: { type: "boolean", description: "Create it switched off", required: false, default: false },
93
+ ...AUTO_PUBLISH_ARG
94
+ },
95
+ run: async ({ args }) => {
96
+ try {
97
+ refuseAutoPublish(args);
98
+ const name = args.name;
99
+ const description = args.description;
100
+ const prompt = args.prompt;
101
+ if (!name || name.trim().length === 0) {
102
+ failValidation("--name is required.");
103
+ }
104
+ if (!description || description.trim().length === 0) {
105
+ failValidation("--description is required.");
106
+ }
107
+ if (!prompt || prompt.trim().length === 0) {
108
+ failValidation("--prompt is required: it is the whole of what a run does.");
109
+ }
110
+ const trigger = buildTriggerBody(args, { required: true });
111
+ const reaction = reactionBody(args);
112
+ const body = {
113
+ chatId: requireChatId(),
114
+ name,
115
+ description,
116
+ enabled: !args.disabled,
117
+ ...trigger,
118
+ prompt,
119
+ ...reaction,
120
+ ...slackBody(args),
121
+ ...companiesBody(args)
122
+ };
123
+ const response = await apiPost("/api/scheduled-agents/create", body);
124
+ writeJson(response);
125
+ } catch (err) {
126
+ failApi(err);
127
+ }
128
+ }
129
+ });
130
+ export {
131
+ createCommand
132
+ };
133
+ //# sourceMappingURL=create-NOT3HGP2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/scheduled-agents/create.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n AUTO_PUBLISH_ARG,\n buildTriggerBody,\n companiesArg,\n companiesBody,\n failApi,\n failValidation,\n NARROWING_ARGS,\n REACTION_ARGS,\n reactionBody,\n refuseAutoPublish,\n SLACK_ARG,\n slackBody,\n TRIGGER_ARG_DESCRIPTION,\n TRIGGER_KIND_LIST,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"scheduled-agents.create\",\n description:\n \"Stage a scheduled agent: a trigger and a prompt. Applies when the chat is published and returns a temp_agent_* ID. Start here: `baker scheduled-agents triggers` lists everything that can start one.\",\n args: {\n name: { type: \"string\", description: \"What a person will call it in the list\", required: true },\n description: { type: \"string\", description: \"One line under the name. Not read by the run.\", required: true },\n prompt: {\n type: \"string\",\n description:\n \"What the run does. This IS the job — nothing else is resolved when it fires. Five to eight schematic lines: `Goal:` the outcome; `Tools:` each tool tagged (@[Google Ads](integration:google-ads), @[Gmail](mcp:gmail), /skill); numbered steps with the exact `baker` commands and flags; `Report:` what to hand back and how far to go. Worked examples: scheduled-agents.md → Typical scheduled agents.\",\n required: true,\n },\n cron: { type: \"string\", description: \"5-field cron expression; implies --trigger time.cron\", required: false },\n \"run-at\": {\n type: \"string\",\n description:\n \"Run once at this ISO UTC timestamp ending in Z; implies --trigger time.once. Must still be in the future — a time that has passed is refused.\",\n required: false,\n },\n trigger: { type: \"string\", description: TRIGGER_ARG_DESCRIPTION, required: false, enum: TRIGGER_KIND_LIST },\n ...NARROWING_ARGS,\n occurrences: {\n type: \"string\",\n description:\n \"Run only on these firings of the trigger, 1-based and comma-separated. `1` is only the first time it ever happens. Omit it to run every time.\",\n required: false,\n },\n ...REACTION_ARGS,\n ...SLACK_ARG,\n ...companiesArg(),\n timezone: { type: \"string\", description: \"IANA timezone override; defaults to Company Timezone\", required: false },\n disabled: { type: \"boolean\", description: \"Create it switched off\", required: false, default: false },\n },\n});\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description:\n 'Stage a scheduled agent. Examples: baker scheduled-agents create --name \"Weekly report\" --description \"...\" --prompt \"...\" --cron \"0 9 * * MON\" | baker scheduled-agents create --name \"Chase a new lead\" --description \"...\" --prompt \"Research {{payload.answers.company}} and draft a reply\" --trigger form.submitted --form quote | baker scheduled-agents create --name \"Big deals\" --description \"...\" --prompt \"...\" --trigger webhook.received --when \"deal.stage = won AND deal.amount > 10000\" --times 3',\n },\n args: {\n name: { type: \"string\", description: \"What a person will call it\", required: false },\n description: { type: \"string\", description: \"One line under the name\", required: false },\n prompt: {\n type: \"string\",\n description: \"What the run does: a few lines naming the exact commands\",\n required: false,\n },\n cron: { type: \"string\", description: \"5-field cron expression\", required: false },\n \"run-at\": { type: \"string\", description: \"ISO UTC timestamp ending in Z, still in the future\", required: false },\n trigger: { type: \"string\", description: `One of: ${TRIGGER_KIND_LIST.join(\", \")}`, required: false },\n ...NARROWING_ARGS,\n occurrences: { type: \"string\", description: \"Only these firings, e.g. 1 or 1,3\", required: false },\n ...REACTION_ARGS,\n ...SLACK_ARG,\n ...companiesArg(),\n timezone: { type: \"string\", description: \"IANA timezone override\", required: false },\n disabled: { type: \"boolean\", description: \"Create it switched off\", required: false, default: false },\n ...AUTO_PUBLISH_ARG,\n },\n run: async ({ args }) => {\n try {\n refuseAutoPublish(args);\n const name = args.name as string | undefined;\n const description = args.description as string | undefined;\n const prompt = args.prompt as string | undefined;\n if (!name || name.trim().length === 0) {\n failValidation(\"--name is required.\");\n }\n if (!description || description.trim().length === 0) {\n failValidation(\"--description is required.\");\n }\n if (!prompt || prompt.trim().length === 0) {\n failValidation(\"--prompt is required: it is the whole of what a run does.\");\n }\n const trigger = buildTriggerBody(args, { required: true });\n const reaction = reactionBody(args);\n const body: Record<string, unknown> = {\n chatId: requireChatId(),\n name,\n description,\n enabled: !args.disabled,\n ...trigger,\n prompt,\n ...reaction,\n ...slackBody(args),\n ...companiesBody(args),\n };\n const response = await apiPost<{ ok: true; data: { tempId: string } }>(\"/api/scheduled-agents/create\", body);\n writeJson(response);\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,236 @@
1
+ import {
2
+ holdWorkspaceSpend
3
+ } from "./chunk-UFKO626N.js";
4
+ import "./chunk-XRIM7NYV.js";
5
+ import {
6
+ askJev
7
+ } from "./chunk-A6WKCV3V.js";
8
+ import "./chunk-U7YR5CZL.js";
9
+ import "./chunk-VI5YQQ63.js";
10
+ import "./chunk-JX7BX2NB.js";
11
+ import {
12
+ ACTION_PRIORITIES,
13
+ buildCreateHints,
14
+ failApi,
15
+ failValidation,
16
+ generateTempId,
17
+ parsePriority,
18
+ parseTagList
19
+ } from "./chunk-L7WMS5PW.js";
20
+ import {
21
+ actionTempIdSchema
22
+ } from "./chunk-O37VU7FG.js";
23
+ import "./chunk-CAZGM2NX.js";
24
+ import "./chunk-NZS3KEQ2.js";
25
+ import "./chunk-GIWHHCD6.js";
26
+ import "./chunk-XQIOCIDO.js";
27
+ import "./chunk-WTJSMYY2.js";
28
+ import {
29
+ apiPost
30
+ } from "./chunk-6YLNY6CK.js";
31
+ import "./chunk-D5NEIESR.js";
32
+ import {
33
+ requireChatId
34
+ } from "./chunk-57KKVDDR.js";
35
+ import {
36
+ registerSchema,
37
+ writeJson
38
+ } from "./chunk-QANGHND7.js";
39
+ import "./chunk-YQSBHWOI.js";
40
+
41
+ // src/commands/actions/create.ts
42
+ import { defineCommand } from "citty";
43
+
44
+ // src/commands/actions/advisory.ts
45
+ var EXECUTABLE_SURFACES = [
46
+ "ask-user",
47
+ "analysis",
48
+ "ads-write",
49
+ "tag-manager",
50
+ "site-tags",
51
+ "landing",
52
+ "flow"
53
+ ];
54
+ var SCHEDULED_HINT = 'This reads as recurring/scheduled work. If it should run on a cadence or a future date, create a Scheduled agent instead \u2014 baker scheduled-agents create --cron "0 9 * * MON" (or --run-at, or --trigger for a reaction rather than a clock; guide: `__tooling__/docs/tools/baker/scheduled-agents.md`). Do not capture "set up a schedule" as a Work Action.';
55
+ var SURFACES = {
56
+ "ask-user": {
57
+ questions: [
58
+ "Does `task` say the work cannot go ahead until the client or user gives or confirms one specific value, such as a production domain, an account ID or credentials? Work that is blocked for any other reason is not."
59
+ ],
60
+ hint: "This is a missing input, not blocked work. Ask for it with AskUserQuestion (one question), then do the work in the same turn \u2014 filing the Task AND asking the question is the same request twice."
61
+ },
62
+ analysis: {
63
+ questions: [
64
+ "Is the work `task` names itself an investigation: to audit, review, analyse, verify, check, document or research something, where the result is a finding rather than a change?"
65
+ ],
66
+ hint: "This names the analysis itself \u2014 investigating, auditing and documenting are work you do now, not work you file. Run it in this chat and deliver the finding; a Task is for a fix something genuinely blocks (bar: `__tooling__/docs/tools/baker/actions.md`)."
67
+ },
68
+ "ads-write": {
69
+ // The platform often goes unnamed ("6 new WhatsApp campaigns" are Google Ads campaigns).
70
+ questions: [
71
+ "Is `task` a change to the settings of paid ad campaigns or ad sets: location targeting, ad schedule, audiences or audience signals, bids, tracking URL templates or final URLs?",
72
+ "Is `task` setting, applying, raising, lowering or capping the budget of paid ad campaigns or ad sets? Approving a budget is not.",
73
+ "Is `task` a change to what paid ads say or show: ad copy, search ad (RSA) headlines or descriptions, display paths, claims in the ads, callouts, sitelinks, structured snippets or other ad extensions?",
74
+ "Is `task` a change to the keywords of paid search campaigns: adding keywords, match types or negative keywords? Work that needs another company's permission first is not.",
75
+ "Is `task` pausing, launching, enabling, duplicating, pruning, reweighting or restructuring paid ad campaigns, ad sets or ads, or labelling them? Getting a decision or an approval is not."
76
+ ],
77
+ hint: "This is an ad-platform change the write surface covers \u2014 stage it now with `baker ads google|meta|linkedin` and it applies at publish (guides: `__tooling__/docs/tools/baker/ads-google.md`, `__tooling__/docs/tools/baker/ads-meta.md`, `__tooling__/docs/tools/baker/ads-linkedin.md`). Staging is not going live."
78
+ },
79
+ "tag-manager": {
80
+ questions: [
81
+ "Is `task` a change inside the Google Tag Manager container: its tags, triggers, variables, data layer events, consent settings, GA4 events or conversion measurement? Server-side tagging, or hosting, is not."
82
+ ],
83
+ hint: "This is a change inside the GTM container \u2014 `baker tag-manager` stages it now and it applies at publish (guide: `__tooling__/docs/tools/baker/tag-manager.md`). Stage it instead of filing it, and if several container fixes really are blocked, they belong in ONE Task, not one per finding."
84
+ },
85
+ "site-tags": {
86
+ questions: [
87
+ "Is `task` installing, configuring or removing a tracking script, pixel or tag on the website pages (a Meta pixel and its Conversions API events, Clarity, Hotjar, a HubSpot tracking code, a LinkedIn Insight tag)? A server-side setup on the company's own domain is not."
88
+ ],
89
+ hint: "This is a tag or script on the site \u2014 it goes through the `request_tag_input` approval form in this chat, which also collects any secret values (guide: `__tooling__/docs/tools/baker/tags.md`). Show the form instead of filing a Task."
90
+ },
91
+ landing: {
92
+ questions: [
93
+ "Is `task` building or editing a page of the website or a landing page: its copy, hero, headline, sections or layout? A headline of an ad, or a page only mentioned as the cause of another problem, is not."
94
+ ],
95
+ hint: "This is a page change \u2014 build it in this chat with the `/landing` skill. Only file it if something outside the page blocks the work."
96
+ },
97
+ flow: {
98
+ questions: ["Is `task` changing how a form behaves: its steps, branching logic, or the redirect after it is sent?"],
99
+ hint: "This is form behaviour \u2014 change it in this chat with the `/flow-builder` skill. Only file it if something outside the form blocks the work."
100
+ }
101
+ };
102
+ var SCHEDULED_QUESTIONS = [
103
+ "Does `task` ask for work to be done again and again on a schedule (every day, every week, each Monday, monthly)? A month or period that only says what the work is about is not.",
104
+ "Does `task` ask to be reminded, or for work to be done, at a later date or moment (before a launch, on a given day)? A month or date that only names the period the work is about is not."
105
+ ];
106
+ var ROUTING_BANDS = { scheduled: 0.5, surface: 0.5 };
107
+ var jevTaskJudge = async (task) => {
108
+ const groups = [
109
+ SCHEDULED_QUESTIONS,
110
+ ...EXECUTABLE_SURFACES.map((s) => SURFACES[s].questions)
111
+ ];
112
+ const spent = [];
113
+ const answers = await askJev(
114
+ groups.flat().map((question) => ({ instructions: { task, question } })),
115
+ (usage) => spent.push(usage)
116
+ );
117
+ await holdWorkspaceSpend(spent);
118
+ if (answers === null) return null;
119
+ let next = 0;
120
+ const [scheduled = 0, ...surfaces] = groups.map((group) => Math.max(...group.map(() => answers[next++] ?? 0)));
121
+ return {
122
+ scheduled,
123
+ surfaces: Object.fromEntries(EXECUTABLE_SURFACES.map((s, i) => [s, surfaces[i] ?? 0]))
124
+ };
125
+ };
126
+ function hintFor(reading) {
127
+ if (reading.scheduled >= ROUTING_BANDS.scheduled) return { kind: "scheduled", hint: SCHEDULED_HINT };
128
+ if (reading.surfaces["ask-user"] >= ROUTING_BANDS.surface) {
129
+ return { kind: "executable", surface: "ask-user", hint: SURFACES["ask-user"].hint };
130
+ }
131
+ let best = null;
132
+ for (const surface of EXECUTABLE_SURFACES) {
133
+ const p = reading.surfaces[surface];
134
+ if (p >= ROUTING_BANDS.surface && (best === null || p > best.p)) best = { surface, p };
135
+ }
136
+ return best ? { kind: "executable", surface: best.surface, hint: SURFACES[best.surface].hint } : null;
137
+ }
138
+ function taskText(name, description) {
139
+ return description.trim() ? `${name.trim()}
140
+
141
+ ${description.trim()}` : name.trim();
142
+ }
143
+ async function advisoryHint(name, description, judge) {
144
+ const reading = await judge(taskText(name, description)).catch(() => null);
145
+ return reading === null ? null : hintFor(reading);
146
+ }
147
+
148
+ // src/commands/actions/create.ts
149
+ registerSchema({
150
+ command: "actions.create",
151
+ description: "Stage creation of a new action (applies when the chat is published). Returns a tempId you can use to link in the same draft. Pass --tags (REQUIRED \u2014 run `baker actions tags list` for the taxonomy) and --priority (one of urgent|high|medium|low \u2014 drives the dependency-aware 'Do first' ordering). After creating, check if this action blocks or is blocked by other actions and wire dependencies with `baker actions link`.",
152
+ args: {
153
+ name: { type: "string", description: "Action name (short, action-verb, \u22646 words)", required: true },
154
+ description: {
155
+ type: "string",
156
+ description: "Context-complete description in markdown: what / why / where / done-when. Use `##` headings for those sections, `-` bullets for lists of items, and `**bold**` for the figures that drive the decision. Anything longer than a couple of sentences needs headings \u2014 it is read in a narrow panel.",
157
+ required: false
158
+ },
159
+ tags: {
160
+ type: "string",
161
+ description: "Comma-separated tag slugs (e.g. google-ads,audit-finding). Must be known \u2014 see `baker actions tags list`.",
162
+ required: false
163
+ },
164
+ priority: {
165
+ type: "string",
166
+ description: `User priority for the do-first ordering. One of: ${ACTION_PRIORITIES.join(", ")}.`,
167
+ required: false
168
+ },
169
+ "temp-id": {
170
+ type: "string",
171
+ description: "Custom tempId \u2014 must start with `temp_` (e.g. temp_hero_copy). Auto-generated if omitted; omitting it is fine.",
172
+ required: false
173
+ }
174
+ }
175
+ });
176
+ var createCommand = defineCommand({
177
+ meta: {
178
+ name: "create",
179
+ description: 'Stage a new action. Applies when the chat is published. Example: baker actions create --name "Build hero"'
180
+ },
181
+ args: {
182
+ name: { type: "string", description: "Action name", required: false },
183
+ description: { type: "string", description: "Description", required: false, default: "" },
184
+ tags: { type: "string", description: "Comma-separated tag slugs (see `baker actions tags list`)", required: false },
185
+ priority: { type: "string", description: `User priority: ${ACTION_PRIORITIES.join("|")}`, required: false },
186
+ "temp-id": { type: "string", description: "Optional custom tempId (must start with `temp_`)", required: false }
187
+ },
188
+ run: async ({ args }) => {
189
+ try {
190
+ const name = args.name;
191
+ if (!name || name.trim().length === 0) {
192
+ failValidation("--name is required.");
193
+ }
194
+ const customTempId = args["temp-id"];
195
+ if (customTempId) {
196
+ const parsed = actionTempIdSchema.safeParse(customTempId);
197
+ if (!parsed.success) {
198
+ failValidation(parsed.error.issues[0]?.message ?? "Invalid --temp-id.");
199
+ }
200
+ }
201
+ const chatId = requireChatId();
202
+ const tempId = customTempId || generateTempId();
203
+ const tags = parseTagList(args.tags);
204
+ const priority = parsePriority(args.priority, { allowClear: false });
205
+ const description = args.description ?? "";
206
+ const [response, advisory] = await Promise.all([
207
+ apiPost("/api/actions/create", {
208
+ chatId,
209
+ tempId,
210
+ name,
211
+ description,
212
+ ...tags ? { tags } : {},
213
+ ...priority !== void 0 && priority !== null ? { priority } : {}
214
+ }),
215
+ advisoryHint(name, description, jevTaskJudge)
216
+ ]);
217
+ writeJson({
218
+ ...response,
219
+ hints: buildCreateHints({
220
+ advisory,
221
+ description,
222
+ tempId,
223
+ tags,
224
+ prioritySet: priority !== void 0,
225
+ draftCreateCount: response.data.draftCreateCount ?? 0
226
+ })
227
+ });
228
+ } catch (err) {
229
+ failApi(err);
230
+ }
231
+ }
232
+ });
233
+ export {
234
+ createCommand
235
+ };
236
+ //# sourceMappingURL=create-ZYEB7SHF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/actions/create.ts","../src/commands/actions/advisory.ts"],"sourcesContent":["import { type ActionsCreateResponse, actionTempIdSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { advisoryHint, jevTaskJudge } from \"./advisory.ts\";\nimport {\n ACTION_PRIORITIES,\n buildCreateHints,\n failApi,\n failValidation,\n generateTempId,\n parsePriority,\n parseTagList,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"actions.create\",\n description:\n \"Stage creation of a new action (applies when the chat is published). Returns a tempId you can use to link in the same draft. Pass --tags (REQUIRED — run `baker actions tags list` for the taxonomy) and --priority (one of urgent|high|medium|low — drives the dependency-aware 'Do first' ordering). After creating, check if this action blocks or is blocked by other actions and wire dependencies with `baker actions link`.\",\n args: {\n name: { type: \"string\", description: \"Action name (short, action-verb, ≤6 words)\", required: true },\n description: {\n type: \"string\",\n description:\n \"Context-complete description in markdown: what / why / where / done-when. Use `##` headings for those sections, `-` bullets for lists of items, and `**bold**` for the figures that drive the decision. Anything longer than a couple of sentences needs headings — it is read in a narrow panel.\",\n required: false,\n },\n tags: {\n type: \"string\",\n description:\n \"Comma-separated tag slugs (e.g. google-ads,audit-finding). Must be known — see `baker actions tags list`.\",\n required: false,\n },\n priority: {\n type: \"string\",\n description: `User priority for the do-first ordering. One of: ${ACTION_PRIORITIES.join(\", \")}.`,\n required: false,\n },\n \"temp-id\": {\n type: \"string\",\n description:\n \"Custom tempId — must start with `temp_` (e.g. temp_hero_copy). Auto-generated if omitted; omitting it is fine.\",\n required: false,\n },\n },\n});\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description:\n 'Stage a new action. Applies when the chat is published. Example: baker actions create --name \"Build hero\"',\n },\n args: {\n name: { type: \"string\", description: \"Action name\", required: false },\n description: { type: \"string\", description: \"Description\", required: false, default: \"\" },\n tags: { type: \"string\", description: \"Comma-separated tag slugs (see `baker actions tags list`)\", required: false },\n priority: { type: \"string\", description: `User priority: ${ACTION_PRIORITIES.join(\"|\")}`, required: false },\n \"temp-id\": { type: \"string\", description: \"Optional custom tempId (must start with `temp_`)\", required: false },\n },\n run: async ({ args }) => {\n try {\n const name = args.name as string | undefined;\n if (!name || name.trim().length === 0) {\n failValidation(\"--name is required.\");\n }\n // Check the args the agent typed before anything about the environment:\n // a bad --temp-id must report itself, not hide behind a missing chat id.\n // Refusing here rather than at publish is the point — `temp_` is what\n // tells a staged Task apart from a published action id in every later\n // command, and by publish time the draft is already written.\n const customTempId = args[\"temp-id\"] as string | undefined;\n if (customTempId) {\n const parsed = actionTempIdSchema.safeParse(customTempId);\n if (!parsed.success) {\n failValidation(parsed.error.issues[0]?.message ?? \"Invalid --temp-id.\");\n }\n }\n const chatId = requireChatId();\n const tempId = customTempId || generateTempId();\n const tags = parseTagList(args.tags);\n // Create doesn't support clearing — there's nothing to clear yet. Reject\n // \"none\"/empty so the agent doesn't think it just unset something.\n const priority = parsePriority(args.priority, { allowClear: false });\n const description = (args.description as string) ?? \"\";\n const [response, advisory] = await Promise.all([\n apiPost<ActionsCreateResponse>(\"/api/actions/create\", {\n chatId,\n tempId,\n name,\n description,\n ...(tags ? { tags } : {}),\n ...(priority !== undefined && priority !== null ? { priority } : {}),\n }),\n advisoryHint(name, description, jevTaskJudge),\n ]);\n\n writeJson({\n ...response,\n hints: buildCreateHints({\n advisory,\n description,\n tempId,\n tags,\n prioritySet: priority !== undefined,\n draftCreateCount: response.data.draftCreateCount ?? 0,\n }),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n","/**\n * The one advisory hint `baker actions create` returns about the Task itself: it reads as\n * recurring work (a Scheduled agent), or as work a surface of this chat executes now. A Task is\n * the exception, not the default. The agent names Tasks in the marketer's language, so the\n * decision model reads the name and description in whatever language they are in\n * (docs/decision-model.md). Advisory only: a wrong hint costs one line, a missing one costs a\n * Task that should not exist.\n */\nimport { askJev } from \"../../engine/nodes/local/lib/jev.ts\";\nimport type { ReviewUsage } from \"../../engine/nodes/local/lib/render-review.ts\";\nimport { holdWorkspaceSpend } from \"../canvas/unbilled-spend.ts\";\n\nexport const EXECUTABLE_SURFACES = [\n \"ask-user\",\n \"analysis\",\n \"ads-write\",\n \"tag-manager\",\n \"site-tags\",\n \"landing\",\n \"flow\",\n] as const;\nexport type ExecutableSurface = (typeof EXECUTABLE_SURFACES)[number];\n\nexport const SCHEDULED_HINT =\n 'This reads as recurring/scheduled work. If it should run on a cadence or a future date, create a Scheduled agent instead — baker scheduled-agents create --cron \"0 9 * * MON\" (or --run-at, or --trigger for a reaction rather than a clock; guide: `__tooling__/docs/tools/baker/scheduled-agents.md`). Do not capture \"set up a schedule\" as a Work Action.';\n\n// A surface is asked as one or more questions, the highest kept: one judgment per question reads\n// better than one long question listing everything a surface covers.\ntype Surface = { questions: readonly string[]; hint: string };\n\nconst SURFACES: Readonly<Record<ExecutableSurface, Surface>> = {\n \"ask-user\": {\n questions: [\n \"Does `task` say the work cannot go ahead until the client or user gives or confirms one specific value, such as a production domain, an account ID or credentials? Work that is blocked for any other reason is not.\",\n ],\n hint: \"This is a missing input, not blocked work. Ask for it with AskUserQuestion (one question), then do the work in the same turn — filing the Task AND asking the question is the same request twice.\",\n },\n analysis: {\n questions: [\n \"Is the work `task` names itself an investigation: to audit, review, analyse, verify, check, document or research something, where the result is a finding rather than a change?\",\n ],\n hint: \"This names the analysis itself — investigating, auditing and documenting are work you do now, not work you file. Run it in this chat and deliver the finding; a Task is for a fix something genuinely blocks (bar: `__tooling__/docs/tools/baker/actions.md`).\",\n },\n \"ads-write\": {\n // The platform often goes unnamed (\"6 new WhatsApp campaigns\" are Google Ads campaigns).\n questions: [\n \"Is `task` a change to the settings of paid ad campaigns or ad sets: location targeting, ad schedule, audiences or audience signals, bids, tracking URL templates or final URLs?\",\n \"Is `task` setting, applying, raising, lowering or capping the budget of paid ad campaigns or ad sets? Approving a budget is not.\",\n \"Is `task` a change to what paid ads say or show: ad copy, search ad (RSA) headlines or descriptions, display paths, claims in the ads, callouts, sitelinks, structured snippets or other ad extensions?\",\n \"Is `task` a change to the keywords of paid search campaigns: adding keywords, match types or negative keywords? Work that needs another company's permission first is not.\",\n \"Is `task` pausing, launching, enabling, duplicating, pruning, reweighting or restructuring paid ad campaigns, ad sets or ads, or labelling them? Getting a decision or an approval is not.\",\n ],\n hint: \"This is an ad-platform change the write surface covers — stage it now with `baker ads google|meta|linkedin` and it applies at publish (guides: `__tooling__/docs/tools/baker/ads-google.md`, `__tooling__/docs/tools/baker/ads-meta.md`, `__tooling__/docs/tools/baker/ads-linkedin.md`). Staging is not going live.\",\n },\n \"tag-manager\": {\n questions: [\n \"Is `task` a change inside the Google Tag Manager container: its tags, triggers, variables, data layer events, consent settings, GA4 events or conversion measurement? Server-side tagging, or hosting, is not.\",\n ],\n hint: \"This is a change inside the GTM container — `baker tag-manager` stages it now and it applies at publish (guide: `__tooling__/docs/tools/baker/tag-manager.md`). Stage it instead of filing it, and if several container fixes really are blocked, they belong in ONE Task, not one per finding.\",\n },\n \"site-tags\": {\n questions: [\n \"Is `task` installing, configuring or removing a tracking script, pixel or tag on the website pages (a Meta pixel and its Conversions API events, Clarity, Hotjar, a HubSpot tracking code, a LinkedIn Insight tag)? A server-side setup on the company's own domain is not.\",\n ],\n hint: \"This is a tag or script on the site — it goes through the `request_tag_input` approval form in this chat, which also collects any secret values (guide: `__tooling__/docs/tools/baker/tags.md`). Show the form instead of filing a Task.\",\n },\n landing: {\n questions: [\n \"Is `task` building or editing a page of the website or a landing page: its copy, hero, headline, sections or layout? A headline of an ad, or a page only mentioned as the cause of another problem, is not.\",\n ],\n hint: \"This is a page change — build it in this chat with the `/landing` skill. Only file it if something outside the page blocks the work.\",\n },\n flow: {\n questions: [\"Is `task` changing how a form behaves: its steps, branching logic, or the redirect after it is sent?\"],\n hint: \"This is form behaviour — change it in this chat with the `/flow-builder` skill. Only file it if something outside the form blocks the work.\",\n },\n};\n\n// Two shapes of the same answer, the higher kept.\nconst SCHEDULED_QUESTIONS = [\n \"Does `task` ask for work to be done again and again on a schedule (every day, every week, each Monday, monthly)? A month or period that only says what the work is about is not.\",\n \"Does `task` ask to be reminded, or for work to be done, at a later date or moment (before a launch, on a given day)? A month or date that only names the period the work is about is not.\",\n];\n\n/**\n * The bands, measured 2026-10-07 on 74 Task names and descriptions, verbatim from production chats\n * and in five languages (scripts/task-routing-evals, 74/74 on three runs). Recurring or reminder\n * work scored 0.66 or more and one-off work 0.38 or less; the surface that executes a Task 0.59 or\n * more, and Tasks no surface executes (an approval, server-side hosting, a CRM integration) 0.40\n * or less on every surface.\n */\nexport const ROUTING_BANDS = { scheduled: 0.5, surface: 0.5 } as const;\n\n/** The decision model's reading of one Task: the probability it is recurring, and that each surface executes it. */\nexport type TaskReading = { scheduled: number; surfaces: Readonly<Record<ExecutableSurface, number>> };\n\n/** Reads a Task; null when no judgment came back. */\nexport type TaskJudge = (task: string) => Promise<TaskReading | null>;\n\n/** The decision model as the judge: one Noul per question, all in one request. */\nexport const jevTaskJudge: TaskJudge = async (task) => {\n const groups: ReadonlyArray<readonly string[]> = [\n SCHEDULED_QUESTIONS,\n ...EXECUTABLE_SURFACES.map((s) => SURFACES[s].questions),\n ];\n const spent: ReviewUsage[] = [];\n const answers = await askJev(\n groups.flat().map((question) => ({ instructions: { task, question } })),\n (usage) => spent.push(usage),\n );\n await holdWorkspaceSpend(spent);\n if (answers === null) return null;\n let next = 0;\n const [scheduled = 0, ...surfaces] = groups.map((group) => Math.max(...group.map(() => answers[next++] ?? 0)));\n return {\n scheduled,\n surfaces: Object.fromEntries(EXECUTABLE_SURFACES.map((s, i) => [s, surfaces[i] ?? 0])) as Record<\n ExecutableSurface,\n number\n >,\n };\n};\n\nexport type AdvisoryHint =\n | { kind: \"scheduled\"; hint: string }\n | { kind: \"executable\"; surface: ExecutableSurface; hint: string };\n\n/**\n * One advisory hint, never two. A recurring GTM review is both; the scheduled redirect is the more\n * specific instruction, and two hints would tell the agent to do different things with one Task.\n * Pure.\n */\nexport function hintFor(reading: TaskReading): AdvisoryHint | null {\n if (reading.scheduled >= ROUTING_BANDS.scheduled) return { kind: \"scheduled\", hint: SCHEDULED_HINT };\n // A missing input beats the surface next to it: asking and then doing is one turn.\n if (reading.surfaces[\"ask-user\"] >= ROUTING_BANDS.surface) {\n return { kind: \"executable\", surface: \"ask-user\", hint: SURFACES[\"ask-user\"].hint };\n }\n let best: { surface: ExecutableSurface; p: number } | null = null;\n for (const surface of EXECUTABLE_SURFACES) {\n const p = reading.surfaces[surface];\n if (p >= ROUTING_BANDS.surface && (best === null || p > best.p)) best = { surface, p };\n }\n return best ? { kind: \"executable\", surface: best.surface, hint: SURFACES[best.surface].hint } : null;\n}\n\n/** The Task as the decision model reads it: its name, then its description. */\nexport function taskText(name: string, description: string): string {\n return description.trim() ? `${name.trim()}\\n\\n${description.trim()}` : name.trim();\n}\n\n/** The advisory hint for a staged Task; none when the decision model gives no judgment. */\nexport async function advisoryHint(name: string, description: string, judge: TaskJudge): Promise<AdvisoryHint | null> {\n const reading = await judge(taskText(name, description)).catch(() => null);\n return reading === null ? null : hintFor(reading);\n}\n\n/** Every hint above points the agent somewhere; a test asserts each referenced doc still exists. */\nexport function executableSurfaceHints(): string[] {\n return EXECUTABLE_SURFACES.map((s) => SURFACES[s].hint);\n}\n"],"mappings":"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","names":[]}