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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (878) hide show
  1. package/README.md +11 -2
  2. package/dist/account-4H7QVBRK.js +80 -0
  3. package/dist/account-XQXC7BR6.js +80 -0
  4. package/dist/account-XQXC7BR6.js.map +1 -0
  5. package/dist/account-writes-AK42HGRM.js +66 -0
  6. package/dist/accounts-722UY53A.js +78 -0
  7. package/dist/accounts-722UY53A.js.map +1 -0
  8. package/dist/accounts-E67BMK7T.js +612 -0
  9. package/dist/accounts-E67BMK7T.js.map +1 -0
  10. package/dist/actions-6TQMSVWD.js +55 -0
  11. package/dist/ad-group-writes-QQS4223F.js +170 -0
  12. package/dist/ad-groups-WGPDPUI2.js +68 -0
  13. package/dist/ad-writes-XE2IE4DS.js +174 -0
  14. package/dist/add-2BEGRHUX.js +303 -0
  15. package/dist/add-2BEGRHUX.js.map +1 -0
  16. package/dist/add-LEMKEOPO.js +105 -0
  17. package/dist/add-LEMKEOPO.js.map +1 -0
  18. package/dist/ads-AGYCVD62.js +40 -0
  19. package/dist/ads-BCOSQALY.js +77 -0
  20. package/dist/advertisers-2VQKAYKG.js +121 -0
  21. package/dist/advertisers-2VQKAYKG.js.map +1 -0
  22. package/dist/analytics-IFELDWLL.js +1962 -0
  23. package/dist/analytics-IFELDWLL.js.map +1 -0
  24. package/dist/analytics-OH5QEH7F.js +434 -0
  25. package/dist/analytics-OH5QEH7F.js.map +1 -0
  26. package/dist/animate-AIZ3GS4J.js +480 -0
  27. package/dist/assign-PTUJUCEL.js +78 -0
  28. package/dist/assign-PTUJUCEL.js.map +1 -0
  29. package/dist/audience-size-LRI6GJRT.js +95 -0
  30. package/dist/audience-size-LRI6GJRT.js.map +1 -0
  31. package/dist/audiences-TGD5US2M.js +268 -0
  32. package/dist/audit-HWP7OPB7.js +152 -0
  33. package/dist/audit-HWP7OPB7.js.map +1 -0
  34. package/dist/autocomplete-J6DHU6MR.js +112 -0
  35. package/dist/autocomplete-J6DHU6MR.js.map +1 -0
  36. package/dist/avatars-467OSBD6.js +38 -0
  37. package/dist/bid-pricing-EO5WLHGV.js +100 -0
  38. package/dist/bid-pricing-EO5WLHGV.js.map +1 -0
  39. package/dist/brand-YRTEPGBK.js +22 -0
  40. package/dist/brief-OSFJ2V7F.js +478 -0
  41. package/dist/brief-OSFJ2V7F.js.map +1 -0
  42. package/dist/campaign-groups-PQ6KSQJR.js +96 -0
  43. package/dist/campaign-groups-PQ6KSQJR.js.map +1 -0
  44. package/dist/campaign-writes-5OVLUD5E.js +166 -0
  45. package/dist/campaign-writes-5OVLUD5E.js.map +1 -0
  46. package/dist/campaign-writes-SXLZFYF6.js +170 -0
  47. package/dist/campaigns-6T3NSUT2.js +110 -0
  48. package/dist/campaigns-6T3NSUT2.js.map +1 -0
  49. package/dist/campaigns-OYMXDGWX.js +107 -0
  50. package/dist/campaigns-YS3OGQXO.js +76 -0
  51. package/dist/canvas-YQFG52IG.js +46 -0
  52. package/dist/capabilities-PXBKUN2G.js +145 -0
  53. package/dist/capabilities-PXBKUN2G.js.map +1 -0
  54. package/dist/catalog-XLXIM7IW.js +65 -0
  55. package/dist/catalogs-BRXEDE56.js +128 -0
  56. package/dist/chatgpt-7W75X3ER.js +47 -0
  57. package/dist/chats-UK47UE7C.js +263 -0
  58. package/dist/chats-UK47UE7C.js.map +1 -0
  59. package/dist/chunk-24EB7EDR.js +433 -0
  60. package/dist/chunk-2AOE2MZQ.js +159 -0
  61. package/dist/chunk-2VPBIT65.js +509 -0
  62. package/dist/chunk-4PDHHHUJ.js +537 -0
  63. package/dist/chunk-4PDHHHUJ.js.map +1 -0
  64. package/dist/chunk-54C6YDGJ.js +622 -0
  65. package/dist/chunk-5WCSKQ7Z.js +188 -0
  66. package/dist/chunk-5ZNTADVR.js +197 -0
  67. package/dist/chunk-6F7DVPOS.js +310 -0
  68. package/dist/chunk-6NY2GPR4.js +304 -0
  69. package/dist/chunk-6Y7ZBENQ.js +207 -0
  70. package/dist/chunk-7CTMH5AK.js +111 -0
  71. package/dist/chunk-7EPXVICM.js +6184 -0
  72. package/dist/chunk-7EPXVICM.js.map +1 -0
  73. package/dist/chunk-7J6EHOH6.js +274 -0
  74. package/dist/chunk-ASI4P6X2.js +6667 -0
  75. package/dist/chunk-C46GUI2S.js +19 -0
  76. package/dist/chunk-CAMX6OHF.js +3182 -0
  77. package/dist/chunk-CAMX6OHF.js.map +1 -0
  78. package/dist/chunk-CWYAELVG.js +60 -0
  79. package/dist/chunk-DCRPXOJJ.js +363 -0
  80. package/dist/chunk-EAP4O4FE.js +440 -0
  81. package/dist/chunk-FPOGPFAG.js +4383 -0
  82. package/dist/chunk-FTWJFDIN.js +23992 -0
  83. package/dist/chunk-FTWJFDIN.js.map +1 -0
  84. package/dist/chunk-FUHN4MFY.js +103 -0
  85. package/dist/chunk-FYGR3I2A.js +297 -0
  86. package/dist/chunk-H3427GPU.js +206 -0
  87. package/dist/chunk-HDLYPC6K.js +172 -0
  88. package/dist/chunk-HDLYPC6K.js.map +1 -0
  89. package/dist/chunk-HR6IWNKE.js +2942 -0
  90. package/dist/chunk-HR6IWNKE.js.map +1 -0
  91. package/dist/chunk-HROZYQ5H.js +275 -0
  92. package/dist/chunk-HROZYQ5H.js.map +1 -0
  93. package/dist/chunk-HZUDRKGR.js +98 -0
  94. package/dist/chunk-I3ZR655O.js +382 -0
  95. package/dist/chunk-KMKEYI37.js +96 -0
  96. package/dist/chunk-KS2QY6MK.js +139 -0
  97. package/dist/chunk-LYQJ4PZW.js +5189 -0
  98. package/dist/chunk-MACCF4JZ.js +3147 -0
  99. package/dist/chunk-N4LAYIIN.js +175 -0
  100. package/dist/chunk-NA63BH7V.js +346 -0
  101. package/dist/chunk-NCWCZY5P.js +1441 -0
  102. package/dist/chunk-NDEE6G2J.js +494 -0
  103. package/dist/chunk-NJXNU2G6.js +819 -0
  104. package/dist/chunk-NYIGXDUG.js +178 -0
  105. package/dist/chunk-NYIGXDUG.js.map +1 -0
  106. package/dist/chunk-P5T7OZKV.js +26 -0
  107. package/dist/chunk-PZXCWSKV.js +1830 -0
  108. package/dist/chunk-QE7W555R.js +541 -0
  109. package/dist/chunk-QE7W555R.js.map +1 -0
  110. package/dist/chunk-R25YLW6H.js +20 -0
  111. package/dist/chunk-RL5CP7N6.js +57 -0
  112. package/dist/chunk-RX2DKU3W.js +592 -0
  113. package/dist/chunk-SJYEY5MV.js +172 -0
  114. package/dist/chunk-SJYEY5MV.js.map +1 -0
  115. package/dist/chunk-ULG4QRTV.js +92 -0
  116. package/dist/chunk-VL43TNIP.js +455 -0
  117. package/dist/chunk-VLMBTPXU.js +51 -0
  118. package/dist/chunk-VNUNE5AB.js +160 -0
  119. package/dist/chunk-VYQ3QJ3C.js +169 -0
  120. package/dist/chunk-WGUQHAJY.js +23 -0
  121. package/dist/chunk-WKQG6TER.js +1079 -0
  122. package/dist/chunk-XFGAUP5B.js +76 -0
  123. package/dist/chunk-ZDMTXQ2Q.js +337 -0
  124. package/dist/claim-W6G6VEG5.js +198 -0
  125. package/dist/claim-W6G6VEG5.js.map +1 -0
  126. package/dist/cli.js +30 -30
  127. package/dist/companies-TS6KBATJ.js +196 -0
  128. package/dist/companies-TS6KBATJ.js.map +1 -0
  129. package/dist/complete-LYR2HMQU.js +82 -0
  130. package/dist/complete-LYR2HMQU.js.map +1 -0
  131. package/dist/connect-FCXNVTXG.js +43 -0
  132. package/dist/conversation-6ZJGPCXM.js +94 -0
  133. package/dist/conversation-6ZJGPCXM.js.map +1 -0
  134. package/dist/conversion-report-XQBJ6LG4.js +125 -0
  135. package/dist/conversion-writes-UBCVXP2E.js +120 -0
  136. package/dist/conversions-D236RTUK.js +76 -0
  137. package/dist/conversions-UHB55MMQ.js +136 -0
  138. package/dist/conversions-UHB55MMQ.js.map +1 -0
  139. package/dist/create-EX6OWLNM.js +208 -0
  140. package/dist/create-EX6OWLNM.js.map +1 -0
  141. package/dist/create-JCA7JPLP.js +131 -0
  142. package/dist/create-JCA7JPLP.js.map +1 -0
  143. package/dist/create-JFSK4BOP.js +60 -0
  144. package/dist/create-JFSK4BOP.js.map +1 -0
  145. package/dist/create-WU22YYU2.js +236 -0
  146. package/dist/create-WU22YYU2.js.map +1 -0
  147. package/dist/creatives-FXUQ5WSD.js +51 -0
  148. package/dist/creatives-KGXUOYPE.js +183 -0
  149. package/dist/creatives-KGXUOYPE.js.map +1 -0
  150. package/dist/credentials-MJC7PGKR.js +1056 -0
  151. package/dist/credentials-MJC7PGKR.js.map +1 -0
  152. package/dist/critique-GS5VV5ZC.js +214 -0
  153. package/dist/critique-GS5VV5ZC.js.map +1 -0
  154. package/dist/critique-TPHR27KH.js +1450 -0
  155. package/dist/critique-TPHR27KH.js.map +1 -0
  156. package/dist/crm-AVCM5D4G.js +319 -0
  157. package/dist/crm-AVCM5D4G.js.map +1 -0
  158. package/dist/crm-VK44O3ED.js +225 -0
  159. package/dist/crm-VK44O3ED.js.map +1 -0
  160. package/dist/customers-XH2DMTFH.js +57 -0
  161. package/dist/delete-E3R3TKIL.js +67 -0
  162. package/dist/delete-E3R3TKIL.js.map +1 -0
  163. package/dist/delete-KRH2YMSZ.js +55 -0
  164. package/dist/delete-KRH2YMSZ.js.map +1 -0
  165. package/dist/delete-WI5E3DR3.js +64 -0
  166. package/dist/delete-WI5E3DR3.js.map +1 -0
  167. package/dist/demographics-XV5PBA77.js +139 -0
  168. package/dist/demographics-XV5PBA77.js.map +1 -0
  169. package/dist/discard-HTQUUHJR.js +67 -0
  170. package/dist/discard-HTQUUHJR.js.map +1 -0
  171. package/dist/domain-RECGZXJB.js +99 -0
  172. package/dist/domain-RECGZXJB.js.map +1 -0
  173. package/dist/draft-2IBSJEKC.js +218 -0
  174. package/dist/draft-2IBSJEKC.js.map +1 -0
  175. package/dist/draft-MNFJ4G3C.js +281 -0
  176. package/dist/draft-PVTX6QT6.js +329 -0
  177. package/dist/draft-PVTX6QT6.js.map +1 -0
  178. package/dist/draft-Q546QPPU.js +307 -0
  179. package/dist/draft-Q546QPPU.js.map +1 -0
  180. package/dist/engine/index.js +6 -6
  181. package/dist/facets-7EVPJMKS.js +115 -0
  182. package/dist/facets-7EVPJMKS.js.map +1 -0
  183. package/dist/feedback-EIZKS4JU.js +66 -0
  184. package/dist/feedback-record-TKO54BOE.js +176 -0
  185. package/dist/feedback-record-TKO54BOE.js.map +1 -0
  186. package/dist/fetch-4BY6HYUM.js +177 -0
  187. package/dist/fetch-4BY6HYUM.js.map +1 -0
  188. package/dist/find-FRRHAPWX.js +134 -0
  189. package/dist/fit-UOFYFJ4Q.js +45 -0
  190. package/dist/flows-KTFAML22.js +248 -0
  191. package/dist/flows-KTFAML22.js.map +1 -0
  192. package/dist/fonts-MXR3ZKDX.js +35 -0
  193. package/dist/forecast-3QTJYVND.js +105 -0
  194. package/dist/forecast-3QTJYVND.js.map +1 -0
  195. package/dist/funnel-I6XIAEHG.js +393 -0
  196. package/dist/funnel-I6XIAEHG.js.map +1 -0
  197. package/dist/ga4-DV2AXCSL.js +55 -0
  198. package/dist/generate-3XYYITU6.js +262 -0
  199. package/dist/get-5PKNKJ5S.js +57 -0
  200. package/dist/get-5PKNKJ5S.js.map +1 -0
  201. package/dist/get-72YPHJGV.js +79 -0
  202. package/dist/get-72YPHJGV.js.map +1 -0
  203. package/dist/google-6OGZX47I.js +1872 -0
  204. package/dist/google-QYYYSSXI.js +136 -0
  205. package/dist/google-ads-QGMQKZQD.js +196 -0
  206. package/dist/google-ads-QGMQKZQD.js.map +1 -0
  207. package/dist/gsc-TAKOF7J5.js +30 -0
  208. package/dist/history-6AVQX2OQ.js +134 -0
  209. package/dist/history-6AVQX2OQ.js.map +1 -0
  210. package/dist/history-Q3QCT64S.js +67 -0
  211. package/dist/hubspot-SVEMFK5S.js +780 -0
  212. package/dist/hubspot-SVEMFK5S.js.map +1 -0
  213. package/dist/icon-L4RSS6PZ.js +137 -0
  214. package/dist/ideas-NFOW3HKJ.js +33 -0
  215. package/dist/images-2EFFUNNV.js +90 -0
  216. package/dist/ingest-2EIKN4QC.js +24 -0
  217. package/dist/ingest-2SO62RRI.js +108 -0
  218. package/dist/ingest-2SO62RRI.js.map +1 -0
  219. package/dist/insights-LNAXV2CG.js +122 -0
  220. package/dist/inspect-4OOS4APT.js +190 -0
  221. package/dist/inspect-4OOS4APT.js.map +1 -0
  222. package/dist/inspiration-S3DU4CMQ.js +53 -0
  223. package/dist/keyword-metrics-SF4CSNZ2.js +198 -0
  224. package/dist/keyword-metrics-SF4CSNZ2.js.map +1 -0
  225. package/dist/keywords-for-site-WDAOPNKC.js +129 -0
  226. package/dist/keywords-for-site-WDAOPNKC.js.map +1 -0
  227. package/dist/landing-2ZB46LXH.js +28 -0
  228. package/dist/leads-A4W5KTWB.js +91 -0
  229. package/dist/leads-A4W5KTWB.js.map +1 -0
  230. package/dist/learn-IPULBCOD.js +204 -0
  231. package/dist/learn-IPULBCOD.js.map +1 -0
  232. package/dist/line-item-writes-EMYSOJKM.js +209 -0
  233. package/dist/line-item-writes-EMYSOJKM.js.map +1 -0
  234. package/dist/line-items-5NECXUZT.js +103 -0
  235. package/dist/link-CI45HWFN.js +65 -0
  236. package/dist/link-CI45HWFN.js.map +1 -0
  237. package/dist/linkedin-B7SYR75X.js +1009 -0
  238. package/dist/linkedin-B7SYR75X.js.map +1 -0
  239. package/dist/list-2BARXOT5.js +152 -0
  240. package/dist/list-2BARXOT5.js.map +1 -0
  241. package/dist/list-BIEVLEHS.js +304 -0
  242. package/dist/list-BIEVLEHS.js.map +1 -0
  243. package/dist/list-ZBT3EBVZ.js +64 -0
  244. package/dist/list-ZBT3EBVZ.js.map +1 -0
  245. package/dist/locations-2NKBJKBT.js +67 -0
  246. package/dist/log-C23OOAJZ.js +93 -0
  247. package/dist/log-C23OOAJZ.js.map +1 -0
  248. package/dist/logo-Q5D7PZY6.js +18 -0
  249. package/dist/lookup-ETWY47F7.js +23 -0
  250. package/dist/make-TPKKJXGL.js +594 -0
  251. package/dist/make-TPKKJXGL.js.map +1 -0
  252. package/dist/map-SYZMPHLL.js +405 -0
  253. package/dist/map-SYZMPHLL.js.map +1 -0
  254. package/dist/mcp-6FQBVJ6F.js +477 -0
  255. package/dist/mcp-6FQBVJ6F.js.map +1 -0
  256. package/dist/media-sources-ZXHEEP6T.js +32 -0
  257. package/dist/members-UDY4OOJW.js +45 -0
  258. package/dist/members-UDY4OOJW.js.map +1 -0
  259. package/dist/models-3Z6MDHQW.js +155 -0
  260. package/dist/normalize-DAKHYS3V.js +142 -0
  261. package/dist/normalize-DAKHYS3V.js.map +1 -0
  262. package/dist/options-QL3ULED5.js +122 -0
  263. package/dist/options-QL3ULED5.js.map +1 -0
  264. package/dist/performance-UF5VTY2U.js +25 -0
  265. package/dist/pixels-TZPF746S.js +60 -0
  266. package/dist/plan-FT632COT.js +51 -0
  267. package/dist/plan-FT632COT.js.map +1 -0
  268. package/dist/promoted-tweet-writes-7HGESJ46.js +181 -0
  269. package/dist/promoted-tweet-writes-7HGESJ46.js.map +1 -0
  270. package/dist/promoted-tweets-LZKS5JIF.js +119 -0
  271. package/dist/publish-NPD3SMZL.js +323 -0
  272. package/dist/publish-NPD3SMZL.js.map +1 -0
  273. package/dist/questionnaire-JNGYJTAY.js +37 -0
  274. package/dist/questionnaire-JNGYJTAY.js.map +1 -0
  275. package/dist/reddit-NU2N3LZD.js +27 -0
  276. package/dist/refresh-EBVJ2C6L.js +95 -0
  277. package/dist/refresh-EBVJ2C6L.js.map +1 -0
  278. package/dist/release-V43YB2PY.js +61 -0
  279. package/dist/release-V43YB2PY.js.map +1 -0
  280. package/dist/remove-QPSWLFI4.js +51 -0
  281. package/dist/remove-QPSWLFI4.js.map +1 -0
  282. package/dist/reopen-GQ66NMWF.js +64 -0
  283. package/dist/reopen-GQ66NMWF.js.map +1 -0
  284. package/dist/rerun-PZK275DY.js +86 -0
  285. package/dist/rerun-PZK275DY.js.map +1 -0
  286. package/dist/research-FMM6AWZC.js +62 -0
  287. package/dist/research-GEOCUBXB.js +263 -0
  288. package/dist/research-GEOCUBXB.js.map +1 -0
  289. package/dist/reset-REXJ6AUK.js +55 -0
  290. package/dist/reset-REXJ6AUK.js.map +1 -0
  291. package/dist/reset-Y72IVESB.js +55 -0
  292. package/dist/reset-Y72IVESB.js.map +1 -0
  293. package/dist/resolve-OGX7C4TV.js +122 -0
  294. package/dist/resolve-OGX7C4TV.js.map +1 -0
  295. package/dist/retry-CD6JAQ3F.js +61 -0
  296. package/dist/retry-CD6JAQ3F.js.map +1 -0
  297. package/dist/retry-TCUBBFR5.js +63 -0
  298. package/dist/retry-TCUBBFR5.js.map +1 -0
  299. package/dist/run-A5ZDXTOI.js +66 -0
  300. package/dist/run-A5ZDXTOI.js.map +1 -0
  301. package/dist/run-EUO34T2J.js +61 -0
  302. package/dist/scaffold-ad-SW2HEWM3.js +1550 -0
  303. package/dist/scaffold-ad-SW2HEWM3.js.map +1 -0
  304. package/dist/scaffold-static-ad-ECTJL54Y.js +967 -0
  305. package/dist/scaffold-static-ad-ECTJL54Y.js.map +1 -0
  306. package/dist/scaffold-video-EI7U7RBK.js +874 -0
  307. package/dist/scaffold-video-EI7U7RBK.js.map +1 -0
  308. package/dist/schedule-S5YZJZ5U.js +62 -0
  309. package/dist/schedule-S5YZJZ5U.js.map +1 -0
  310. package/dist/scheduled-agents-N4LJRM4C.js +49 -0
  311. package/dist/schema-R7JWWOF4.js +133 -0
  312. package/dist/schema-R7JWWOF4.js.map +1 -0
  313. package/dist/search-KHMQH3AT.js +175 -0
  314. package/dist/search-KHMQH3AT.js.map +1 -0
  315. package/dist/select-O2FN2JEQ.js +95 -0
  316. package/dist/select-O2FN2JEQ.js.map +1 -0
  317. package/dist/sends-BQZM5PLS.js +310 -0
  318. package/dist/sends-BQZM5PLS.js.map +1 -0
  319. package/dist/set-prompt-2HASHGWC.js +187 -0
  320. package/dist/set-prompt-2HASHGWC.js.map +1 -0
  321. package/dist/setup-links-GYSE56GX.js +142 -0
  322. package/dist/setup-links-GYSE56GX.js.map +1 -0
  323. package/dist/site-4SKM7RKG.js +178 -0
  324. package/dist/site-4SKM7RKG.js.map +1 -0
  325. package/dist/sources-FQ2UZTHL.js +30 -0
  326. package/dist/sources-R2NKNC6J.js +422 -0
  327. package/dist/sources-R2NKNC6J.js.map +1 -0
  328. package/dist/stale-W756ACKC.js +64 -0
  329. package/dist/stale-W756ACKC.js.map +1 -0
  330. package/dist/status-SE2VZJJB.js +63 -0
  331. package/dist/status-SE2VZJJB.js.map +1 -0
  332. package/dist/stock-KXJ26BY4.js +179 -0
  333. package/dist/studio-SYKOSNDB.js +49 -0
  334. package/dist/sync-LJGSODK3.js +55 -0
  335. package/dist/sync-LJGSODK3.js.map +1 -0
  336. package/dist/sync-definition-QR2N233R.js +54 -0
  337. package/dist/tags-4BAVFH4S.js +225 -0
  338. package/dist/tags-4BAVFH4S.js.map +1 -0
  339. package/dist/tags-5SBMRC2A.js +21 -0
  340. package/dist/tags-5SBMRC2A.js.map +1 -0
  341. package/dist/tags-PYWFSBTR.js +26 -0
  342. package/dist/tags-QQU3OKMZ.js +21 -0
  343. package/dist/tags-QQU3OKMZ.js.map +1 -0
  344. package/dist/tags-YYLNF3PK.js +21 -0
  345. package/dist/tags-YYLNF3PK.js.map +1 -0
  346. package/dist/targeting-criteria-RJFLFICN.js +113 -0
  347. package/dist/targets-S2MT2PNB.js +103 -0
  348. package/dist/targets-S2MT2PNB.js.map +1 -0
  349. package/dist/templates-ZE5TOGRT.js +179 -0
  350. package/dist/templates-ZE5TOGRT.js.map +1 -0
  351. package/dist/testimonials-DII5DYLR.js +32 -0
  352. package/dist/top-companies-PGIAEHDF.js +109 -0
  353. package/dist/top-companies-PGIAEHDF.js.map +1 -0
  354. package/dist/translate-GXTS633J.js +599 -0
  355. package/dist/translate-GXTS633J.js.map +1 -0
  356. package/dist/triggers-2PTONXRU.js +142 -0
  357. package/dist/triggers-2PTONXRU.js.map +1 -0
  358. package/dist/unlink-XRMYJ6DB.js +68 -0
  359. package/dist/unlink-XRMYJ6DB.js.map +1 -0
  360. package/dist/unstage-FY7A3YFF.js +85 -0
  361. package/dist/unstage-FY7A3YFF.js.map +1 -0
  362. package/dist/unstage-RM2RLXKD.js +96 -0
  363. package/dist/unstage-RM2RLXKD.js.map +1 -0
  364. package/dist/update-E5SRBXQR.js +143 -0
  365. package/dist/update-E5SRBXQR.js.map +1 -0
  366. package/dist/update-PJ67D2OG.js +156 -0
  367. package/dist/update-PJ67D2OG.js.map +1 -0
  368. package/dist/update-S4562V3O.js +64 -0
  369. package/dist/update-S4562V3O.js.map +1 -0
  370. package/dist/update-V6YVEUI2.js +99 -0
  371. package/dist/update-V6YVEUI2.js.map +1 -0
  372. package/dist/upload-R6CQVLKF.js +127 -0
  373. package/dist/upload-R6CQVLKF.js.map +1 -0
  374. package/dist/url-options-JOKU46F2.js +128 -0
  375. package/dist/url-options-JOKU46F2.js.map +1 -0
  376. package/dist/url-params-7U2XMOWF.js +99 -0
  377. package/dist/url-params-7U2XMOWF.js.map +1 -0
  378. package/dist/validate-7YPOUKPB.js +90 -0
  379. package/dist/validate-7YPOUKPB.js.map +1 -0
  380. package/dist/videos-LICG6ACJ.js +39 -0
  381. package/dist/viewer-check-L4B4LIAX.js +69 -0
  382. package/dist/web-BA2PGTWU.js +141 -0
  383. package/dist/web-BA2PGTWU.js.map +1 -0
  384. package/dist/winning-ads-C6S2C5VP.js +62 -0
  385. package/dist/write-commands-7SJ3BOW5.js +1016 -0
  386. package/dist/write-commands-7SJ3BOW5.js.map +1 -0
  387. package/dist/x-CZHRC6U7.js +47 -0
  388. package/package.json +1 -1
  389. package/dist/account-AL2ZDSR7.js +0 -79
  390. package/dist/account-AL2ZDSR7.js.map +0 -1
  391. package/dist/account-F6MHQ64I.js +0 -80
  392. package/dist/account-writes-ISE4U2FQ.js +0 -66
  393. package/dist/accounts-HAFCLSR5.js +0 -77
  394. package/dist/accounts-HAFCLSR5.js.map +0 -1
  395. package/dist/accounts-O5MFO3QQ.js +0 -611
  396. package/dist/accounts-O5MFO3QQ.js.map +0 -1
  397. package/dist/actions-P35MEMGN.js +0 -55
  398. package/dist/ad-group-writes-UU5NNKSO.js +0 -170
  399. package/dist/ad-groups-CGFXZNIA.js +0 -68
  400. package/dist/ad-writes-NALDYWOR.js +0 -174
  401. package/dist/add-5GAN6CVO.js +0 -280
  402. package/dist/add-5GAN6CVO.js.map +0 -1
  403. package/dist/add-6DTC6X5G.js +0 -104
  404. package/dist/add-6DTC6X5G.js.map +0 -1
  405. package/dist/ads-C47NA2HH.js +0 -40
  406. package/dist/ads-PV7GZXPR.js +0 -77
  407. package/dist/advertisers-AE75CGVE.js +0 -120
  408. package/dist/advertisers-AE75CGVE.js.map +0 -1
  409. package/dist/analytics-FKCXIMPO.js +0 -1958
  410. package/dist/analytics-FKCXIMPO.js.map +0 -1
  411. package/dist/analytics-FPWQQGRM.js +0 -433
  412. package/dist/analytics-FPWQQGRM.js.map +0 -1
  413. package/dist/animate-FWWHSYPL.js +0 -480
  414. package/dist/assign-ABN2AQ4J.js +0 -77
  415. package/dist/assign-ABN2AQ4J.js.map +0 -1
  416. package/dist/audience-size-GNBJY35X.js +0 -94
  417. package/dist/audience-size-GNBJY35X.js.map +0 -1
  418. package/dist/audiences-VEKGLWBG.js +0 -268
  419. package/dist/audit-3VS63TBW.js +0 -151
  420. package/dist/audit-3VS63TBW.js.map +0 -1
  421. package/dist/autocomplete-VS3XG3B7.js +0 -111
  422. package/dist/autocomplete-VS3XG3B7.js.map +0 -1
  423. package/dist/avatars-EKCKHCC3.js +0 -38
  424. package/dist/bid-pricing-Q72B65AY.js +0 -99
  425. package/dist/bid-pricing-Q72B65AY.js.map +0 -1
  426. package/dist/brand-C6PFGGQN.js +0 -22
  427. package/dist/brief-UO52ZHFI.js +0 -477
  428. package/dist/brief-UO52ZHFI.js.map +0 -1
  429. package/dist/campaign-groups-KFFYQPU3.js +0 -95
  430. package/dist/campaign-groups-KFFYQPU3.js.map +0 -1
  431. package/dist/campaign-writes-FHOS5XZY.js +0 -165
  432. package/dist/campaign-writes-FHOS5XZY.js.map +0 -1
  433. package/dist/campaign-writes-SX52CJYW.js +0 -170
  434. package/dist/campaigns-2NHWBF5C.js +0 -109
  435. package/dist/campaigns-2NHWBF5C.js.map +0 -1
  436. package/dist/campaigns-KZYZTXDS.js +0 -107
  437. package/dist/campaigns-X3DPCCSN.js +0 -76
  438. package/dist/canvas-DPCBGW7K.js +0 -46
  439. package/dist/capabilities-DJFTRJKS.js +0 -144
  440. package/dist/capabilities-DJFTRJKS.js.map +0 -1
  441. package/dist/catalog-ME44ZRZF.js +0 -65
  442. package/dist/catalogs-G3YEVG6S.js +0 -128
  443. package/dist/chatgpt-QNUN63YS.js +0 -47
  444. package/dist/chats-D2CSDX5Q.js +0 -262
  445. package/dist/chats-D2CSDX5Q.js.map +0 -1
  446. package/dist/chunk-2QHODRR6.js +0 -19
  447. package/dist/chunk-35XWJEWH.js +0 -274
  448. package/dist/chunk-3G3ZDLMI.js +0 -197
  449. package/dist/chunk-3HJLHTWP.js +0 -163
  450. package/dist/chunk-3HJLHTWP.js.map +0 -1
  451. package/dist/chunk-3IBYKLXR.js +0 -337
  452. package/dist/chunk-4AUMTNVB.js +0 -346
  453. package/dist/chunk-4BQXAE7Z.js +0 -494
  454. package/dist/chunk-54UVGFX3.js +0 -440
  455. package/dist/chunk-5Y5UAJWD.js +0 -111
  456. package/dist/chunk-5ZDLTE5T.js +0 -159
  457. package/dist/chunk-647RO73Q.js +0 -92
  458. package/dist/chunk-7YCRFMXF.js +0 -433
  459. package/dist/chunk-7ZHMGXE2.js +0 -819
  460. package/dist/chunk-A4LOJ2VD.js +0 -23
  461. package/dist/chunk-AEOSAVVL.js +0 -310
  462. package/dist/chunk-CHSNHVYF.js +0 -3182
  463. package/dist/chunk-CHSNHVYF.js.map +0 -1
  464. package/dist/chunk-CSYSX4D2.js +0 -175
  465. package/dist/chunk-DWHIOO7E.js +0 -390
  466. package/dist/chunk-DWHIOO7E.js.map +0 -1
  467. package/dist/chunk-EDLZGTGN.js +0 -216
  468. package/dist/chunk-EDLZGTGN.js.map +0 -1
  469. package/dist/chunk-FD27ZDVP.js +0 -304
  470. package/dist/chunk-GBMP4F45.js +0 -3147
  471. package/dist/chunk-GLCPTMPG.js +0 -5189
  472. package/dist/chunk-HBTF25YG.js +0 -592
  473. package/dist/chunk-HQSCJYZO.js +0 -26
  474. package/dist/chunk-IBURXTL4.js +0 -509
  475. package/dist/chunk-IR6D7K4H.js +0 -382
  476. package/dist/chunk-J5IY3GVE.js +0 -96
  477. package/dist/chunk-JQJDXPCO.js +0 -103
  478. package/dist/chunk-K66OLA6Y.js +0 -4383
  479. package/dist/chunk-K7FZXIOZ.js +0 -60
  480. package/dist/chunk-KFE3S63W.js +0 -1441
  481. package/dist/chunk-KHRXPQID.js +0 -169
  482. package/dist/chunk-KLBTXETO.js +0 -23992
  483. package/dist/chunk-KLBTXETO.js.map +0 -1
  484. package/dist/chunk-KQTYTCKQ.js +0 -98
  485. package/dist/chunk-LYBXCXJB.js +0 -160
  486. package/dist/chunk-LZ73CZGP.js +0 -188
  487. package/dist/chunk-MELOSESI.js +0 -20
  488. package/dist/chunk-MXYBTMKB.js +0 -363
  489. package/dist/chunk-NPY4QUMQ.js +0 -622
  490. package/dist/chunk-OZRUJVIQ.js +0 -206
  491. package/dist/chunk-QRP3PXWN.js +0 -455
  492. package/dist/chunk-RPUSTYHL.js +0 -170
  493. package/dist/chunk-RPUSTYHL.js.map +0 -1
  494. package/dist/chunk-S77PZVYM.js +0 -297
  495. package/dist/chunk-SHL7LOC3.js +0 -51
  496. package/dist/chunk-SSJK7FEV.js +0 -2886
  497. package/dist/chunk-SSJK7FEV.js.map +0 -1
  498. package/dist/chunk-TT5R35PJ.js +0 -207
  499. package/dist/chunk-ULJ5RFOV.js +0 -76
  500. package/dist/chunk-VB6WJJR3.js +0 -1830
  501. package/dist/chunk-W3ZHJJVT.js +0 -139
  502. package/dist/chunk-XF4JUKVF.js +0 -6151
  503. package/dist/chunk-XF4JUKVF.js.map +0 -1
  504. package/dist/chunk-Y6O7EWYY.js +0 -57
  505. package/dist/chunk-YRQYA2LR.js +0 -217
  506. package/dist/chunk-YRQYA2LR.js.map +0 -1
  507. package/dist/chunk-Z2EOC6PL.js +0 -6667
  508. package/dist/chunk-ZEYEWPK6.js +0 -1079
  509. package/dist/claim-FZ5OQLMU.js +0 -197
  510. package/dist/claim-FZ5OQLMU.js.map +0 -1
  511. package/dist/companies-DNI634RC.js +0 -195
  512. package/dist/companies-DNI634RC.js.map +0 -1
  513. package/dist/complete-2FZMGJV5.js +0 -81
  514. package/dist/complete-2FZMGJV5.js.map +0 -1
  515. package/dist/connect-QCOGEPP4.js +0 -36
  516. package/dist/conversation-6IOGV7B7.js +0 -93
  517. package/dist/conversation-6IOGV7B7.js.map +0 -1
  518. package/dist/conversion-report-N4HANYOB.js +0 -125
  519. package/dist/conversion-writes-LW4HQKK5.js +0 -120
  520. package/dist/conversions-4SRZPBBX.js +0 -135
  521. package/dist/conversions-4SRZPBBX.js.map +0 -1
  522. package/dist/conversions-TS723AZV.js +0 -76
  523. package/dist/create-BJNMO6HT.js +0 -207
  524. package/dist/create-BJNMO6HT.js.map +0 -1
  525. package/dist/create-FX4OJ2XF.js +0 -59
  526. package/dist/create-FX4OJ2XF.js.map +0 -1
  527. package/dist/create-RM7HV77Y.js +0 -130
  528. package/dist/create-RM7HV77Y.js.map +0 -1
  529. package/dist/create-VXM34ZWH.js +0 -235
  530. package/dist/create-VXM34ZWH.js.map +0 -1
  531. package/dist/creatives-JSWBFQ5R.js +0 -182
  532. package/dist/creatives-JSWBFQ5R.js.map +0 -1
  533. package/dist/creatives-SJTJU6VT.js +0 -51
  534. package/dist/credentials-VOZTILFO.js +0 -1055
  535. package/dist/credentials-VOZTILFO.js.map +0 -1
  536. package/dist/critique-65W63MFZ.js +0 -213
  537. package/dist/critique-65W63MFZ.js.map +0 -1
  538. package/dist/critique-ZS4ON3SU.js +0 -1449
  539. package/dist/critique-ZS4ON3SU.js.map +0 -1
  540. package/dist/crm-52ROSWH5.js +0 -224
  541. package/dist/crm-52ROSWH5.js.map +0 -1
  542. package/dist/crm-R5IXIFIV.js +0 -318
  543. package/dist/crm-R5IXIFIV.js.map +0 -1
  544. package/dist/customers-4AWBFDUF.js +0 -56
  545. package/dist/delete-AIGE4Y4H.js +0 -63
  546. package/dist/delete-AIGE4Y4H.js.map +0 -1
  547. package/dist/delete-HGHXY24R.js +0 -54
  548. package/dist/delete-HGHXY24R.js.map +0 -1
  549. package/dist/delete-M2GDLPYN.js +0 -66
  550. package/dist/delete-M2GDLPYN.js.map +0 -1
  551. package/dist/demographics-NTWB2IMG.js +0 -138
  552. package/dist/demographics-NTWB2IMG.js.map +0 -1
  553. package/dist/discard-2WWQG6OU.js +0 -66
  554. package/dist/discard-2WWQG6OU.js.map +0 -1
  555. package/dist/domain-Y2LT6JLT.js +0 -98
  556. package/dist/domain-Y2LT6JLT.js.map +0 -1
  557. package/dist/draft-EJXNNJ3Y.js +0 -306
  558. package/dist/draft-EJXNNJ3Y.js.map +0 -1
  559. package/dist/draft-FJ7WHIXW.js +0 -328
  560. package/dist/draft-FJ7WHIXW.js.map +0 -1
  561. package/dist/draft-SLHAKJ2A.js +0 -217
  562. package/dist/draft-SLHAKJ2A.js.map +0 -1
  563. package/dist/draft-THPZFASM.js +0 -281
  564. package/dist/facets-U7AQC4H6.js +0 -114
  565. package/dist/facets-U7AQC4H6.js.map +0 -1
  566. package/dist/feedback-XNJQ63DS.js +0 -66
  567. package/dist/feedback-record-FDLMWMDG.js +0 -175
  568. package/dist/feedback-record-FDLMWMDG.js.map +0 -1
  569. package/dist/fetch-W7NULDEO.js +0 -176
  570. package/dist/fetch-W7NULDEO.js.map +0 -1
  571. package/dist/find-OTDIX6V4.js +0 -134
  572. package/dist/fit-7237F5EB.js +0 -45
  573. package/dist/flows-KABCBS3S.js +0 -244
  574. package/dist/flows-KABCBS3S.js.map +0 -1
  575. package/dist/fonts-EMMX3KII.js +0 -34
  576. package/dist/forecast-GNODEIIC.js +0 -104
  577. package/dist/forecast-GNODEIIC.js.map +0 -1
  578. package/dist/funnel-AAX27NH4.js +0 -837
  579. package/dist/funnel-AAX27NH4.js.map +0 -1
  580. package/dist/ga4-UDQ2HA2J.js +0 -55
  581. package/dist/generate-MMBYB44G.js +0 -262
  582. package/dist/get-QEYJRLV3.js +0 -54
  583. package/dist/get-QEYJRLV3.js.map +0 -1
  584. package/dist/get-RTVUZM6E.js +0 -78
  585. package/dist/get-RTVUZM6E.js.map +0 -1
  586. package/dist/google-KTO3PLEU.js +0 -136
  587. package/dist/google-M7KEXVK5.js +0 -1872
  588. package/dist/google-ads-OK6IG3UV.js +0 -195
  589. package/dist/google-ads-OK6IG3UV.js.map +0 -1
  590. package/dist/gsc-P3QYGDV2.js +0 -30
  591. package/dist/history-DBIEYQHY.js +0 -67
  592. package/dist/history-PQUJKK26.js +0 -133
  593. package/dist/history-PQUJKK26.js.map +0 -1
  594. package/dist/hubspot-Y77VLY6Y.js +0 -779
  595. package/dist/hubspot-Y77VLY6Y.js.map +0 -1
  596. package/dist/icon-I43F77FV.js +0 -137
  597. package/dist/ideas-MIDU7YOA.js +0 -32
  598. package/dist/images-S254MS6O.js +0 -90
  599. package/dist/ingest-J4I3HKM3.js +0 -107
  600. package/dist/ingest-J4I3HKM3.js.map +0 -1
  601. package/dist/ingest-YV2NLDBE.js +0 -23
  602. package/dist/insights-ZIU6FJMS.js +0 -122
  603. package/dist/inspect-Q5NHBBHX.js +0 -189
  604. package/dist/inspect-Q5NHBBHX.js.map +0 -1
  605. package/dist/inspiration-P265QJ2H.js +0 -53
  606. package/dist/keyword-metrics-PDY4ZXSP.js +0 -197
  607. package/dist/keyword-metrics-PDY4ZXSP.js.map +0 -1
  608. package/dist/keywords-for-site-GALSCV77.js +0 -128
  609. package/dist/keywords-for-site-GALSCV77.js.map +0 -1
  610. package/dist/landing-CJYGWCK4.js +0 -28
  611. package/dist/leads-PHKG6CP3.js +0 -90
  612. package/dist/leads-PHKG6CP3.js.map +0 -1
  613. package/dist/learn-3VO6DXUX.js +0 -203
  614. package/dist/learn-3VO6DXUX.js.map +0 -1
  615. package/dist/line-item-writes-E6MZPIZZ.js +0 -208
  616. package/dist/line-item-writes-E6MZPIZZ.js.map +0 -1
  617. package/dist/line-items-7ZGIKEF2.js +0 -103
  618. package/dist/link-QYAW6A2W.js +0 -64
  619. package/dist/link-QYAW6A2W.js.map +0 -1
  620. package/dist/linkedin-FFSDSGGS.js +0 -1008
  621. package/dist/linkedin-FFSDSGGS.js.map +0 -1
  622. package/dist/list-5IC6KIKO.js +0 -63
  623. package/dist/list-5IC6KIKO.js.map +0 -1
  624. package/dist/list-NVQC5SNY.js +0 -151
  625. package/dist/list-NVQC5SNY.js.map +0 -1
  626. package/dist/list-SAV3LQHY.js +0 -303
  627. package/dist/list-SAV3LQHY.js.map +0 -1
  628. package/dist/locations-74TPQWAT.js +0 -67
  629. package/dist/log-XZPVOALD.js +0 -92
  630. package/dist/log-XZPVOALD.js.map +0 -1
  631. package/dist/logo-2IP663QO.js +0 -18
  632. package/dist/lookup-XK45W2SH.js +0 -22
  633. package/dist/make-LCNP76OF.js +0 -593
  634. package/dist/make-LCNP76OF.js.map +0 -1
  635. package/dist/map-4J5WIWIG.js +0 -404
  636. package/dist/map-4J5WIWIG.js.map +0 -1
  637. package/dist/mcp-XXD7ZQCP.js +0 -476
  638. package/dist/mcp-XXD7ZQCP.js.map +0 -1
  639. package/dist/media-sources-O6ZRUA3N.js +0 -32
  640. package/dist/members-D5ZYLS4Y.js +0 -44
  641. package/dist/members-D5ZYLS4Y.js.map +0 -1
  642. package/dist/models-7U3GRYHF.js +0 -155
  643. package/dist/normalize-PCNC6E2N.js +0 -138
  644. package/dist/normalize-PCNC6E2N.js.map +0 -1
  645. package/dist/options-MQ65VEVD.js +0 -121
  646. package/dist/options-MQ65VEVD.js.map +0 -1
  647. package/dist/performance-6QW2KEEQ.js +0 -24
  648. package/dist/pixels-45A55MOP.js +0 -60
  649. package/dist/promoted-tweet-writes-JPLHY3GM.js +0 -180
  650. package/dist/promoted-tweet-writes-JPLHY3GM.js.map +0 -1
  651. package/dist/promoted-tweets-SURKMHFI.js +0 -119
  652. package/dist/publish-HCQ6MXLB.js +0 -322
  653. package/dist/publish-HCQ6MXLB.js.map +0 -1
  654. package/dist/reddit-GIP3ADMS.js +0 -26
  655. package/dist/refresh-UXQSLCR3.js +0 -94
  656. package/dist/refresh-UXQSLCR3.js.map +0 -1
  657. package/dist/release-5KVLXNP6.js +0 -60
  658. package/dist/release-5KVLXNP6.js.map +0 -1
  659. package/dist/remove-6FIVKCJI.js +0 -50
  660. package/dist/remove-6FIVKCJI.js.map +0 -1
  661. package/dist/reopen-YM5LNOLB.js +0 -63
  662. package/dist/reopen-YM5LNOLB.js.map +0 -1
  663. package/dist/rerun-CET74VPF.js +0 -85
  664. package/dist/rerun-CET74VPF.js.map +0 -1
  665. package/dist/research-EY7C7JJY.js +0 -62
  666. package/dist/research-YOGE7GT2.js +0 -262
  667. package/dist/research-YOGE7GT2.js.map +0 -1
  668. package/dist/reset-C4UHQ3EU.js +0 -54
  669. package/dist/reset-C4UHQ3EU.js.map +0 -1
  670. package/dist/reset-OLVB6AE6.js +0 -54
  671. package/dist/reset-OLVB6AE6.js.map +0 -1
  672. package/dist/resolve-XYH2GDAE.js +0 -121
  673. package/dist/resolve-XYH2GDAE.js.map +0 -1
  674. package/dist/retry-726GKI6V.js +0 -62
  675. package/dist/retry-726GKI6V.js.map +0 -1
  676. package/dist/retry-7EELDEQP.js +0 -60
  677. package/dist/retry-7EELDEQP.js.map +0 -1
  678. package/dist/run-P4KR2MXC.js +0 -65
  679. package/dist/run-P4KR2MXC.js.map +0 -1
  680. package/dist/run-XQ7EM3JT.js +0 -60
  681. package/dist/scaffold-ad-U2KSHKBC.js +0 -1549
  682. package/dist/scaffold-ad-U2KSHKBC.js.map +0 -1
  683. package/dist/scaffold-static-ad-63LQKUSO.js +0 -966
  684. package/dist/scaffold-static-ad-63LQKUSO.js.map +0 -1
  685. package/dist/scaffold-video-MUS6LHJQ.js +0 -873
  686. package/dist/scaffold-video-MUS6LHJQ.js.map +0 -1
  687. package/dist/schedule-RDK4GEPI.js +0 -61
  688. package/dist/schedule-RDK4GEPI.js.map +0 -1
  689. package/dist/scheduled-agents-6U44QE76.js +0 -49
  690. package/dist/schema-CHJDC7GQ.js +0 -129
  691. package/dist/schema-CHJDC7GQ.js.map +0 -1
  692. package/dist/search-PMJRU3C4.js +0 -174
  693. package/dist/search-PMJRU3C4.js.map +0 -1
  694. package/dist/select-4Z7BW5RH.js +0 -94
  695. package/dist/select-4Z7BW5RH.js.map +0 -1
  696. package/dist/sends-WGJVQUMF.js +0 -309
  697. package/dist/sends-WGJVQUMF.js.map +0 -1
  698. package/dist/set-prompt-OB2V3XJP.js +0 -186
  699. package/dist/set-prompt-OB2V3XJP.js.map +0 -1
  700. package/dist/setup-links-REPREN3C.js +0 -141
  701. package/dist/setup-links-REPREN3C.js.map +0 -1
  702. package/dist/site-WFSWIA3S.js +0 -177
  703. package/dist/site-WFSWIA3S.js.map +0 -1
  704. package/dist/sources-AMI2AWKZ.js +0 -421
  705. package/dist/sources-AMI2AWKZ.js.map +0 -1
  706. package/dist/sources-YBQ6KPFM.js +0 -30
  707. package/dist/stale-DAYXOY3Z.js +0 -63
  708. package/dist/stale-DAYXOY3Z.js.map +0 -1
  709. package/dist/status-7F2KHFGA.js +0 -62
  710. package/dist/status-7F2KHFGA.js.map +0 -1
  711. package/dist/stock-2YCDN3N6.js +0 -179
  712. package/dist/studio-C5K3YX3P.js +0 -49
  713. package/dist/sync-GWTLKZTU.js +0 -54
  714. package/dist/sync-GWTLKZTU.js.map +0 -1
  715. package/dist/sync-definition-ILS2B2BJ.js +0 -53
  716. package/dist/tags-3WPW6PTV.js +0 -26
  717. package/dist/tags-6342FQEB.js +0 -20
  718. package/dist/tags-6342FQEB.js.map +0 -1
  719. package/dist/tags-ABHSX6M5.js +0 -20
  720. package/dist/tags-ABHSX6M5.js.map +0 -1
  721. package/dist/tags-FJIBBBRG.js +0 -20
  722. package/dist/tags-FJIBBBRG.js.map +0 -1
  723. package/dist/tags-KFYLZLB3.js +0 -224
  724. package/dist/tags-KFYLZLB3.js.map +0 -1
  725. package/dist/targeting-criteria-NR47AF5C.js +0 -113
  726. package/dist/targets-L56KOVQE.js +0 -102
  727. package/dist/targets-L56KOVQE.js.map +0 -1
  728. package/dist/templates-B6XGDYUF.js +0 -178
  729. package/dist/templates-B6XGDYUF.js.map +0 -1
  730. package/dist/testimonials-CVC4YIXO.js +0 -32
  731. package/dist/top-companies-45X3DT7Z.js +0 -108
  732. package/dist/top-companies-45X3DT7Z.js.map +0 -1
  733. package/dist/translate-TA5KQIU7.js +0 -598
  734. package/dist/translate-TA5KQIU7.js.map +0 -1
  735. package/dist/triggers-22EMIVFD.js +0 -141
  736. package/dist/triggers-22EMIVFD.js.map +0 -1
  737. package/dist/unlink-65KUN6ID.js +0 -67
  738. package/dist/unlink-65KUN6ID.js.map +0 -1
  739. package/dist/unstage-2E3I5SWF.js +0 -84
  740. package/dist/unstage-2E3I5SWF.js.map +0 -1
  741. package/dist/unstage-4ZEULXEQ.js +0 -95
  742. package/dist/unstage-4ZEULXEQ.js.map +0 -1
  743. package/dist/update-2S7CSEAW.js +0 -63
  744. package/dist/update-2S7CSEAW.js.map +0 -1
  745. package/dist/update-7NCOTAQZ.js +0 -98
  746. package/dist/update-7NCOTAQZ.js.map +0 -1
  747. package/dist/update-D6DJC6T7.js +0 -155
  748. package/dist/update-D6DJC6T7.js.map +0 -1
  749. package/dist/update-KREBPGBH.js +0 -142
  750. package/dist/update-KREBPGBH.js.map +0 -1
  751. package/dist/upload-O6NHRPS7.js +0 -126
  752. package/dist/upload-O6NHRPS7.js.map +0 -1
  753. package/dist/url-options-GGXAL3J4.js +0 -127
  754. package/dist/url-options-GGXAL3J4.js.map +0 -1
  755. package/dist/url-params-3EFGVTZZ.js +0 -98
  756. package/dist/url-params-3EFGVTZZ.js.map +0 -1
  757. package/dist/validate-LDBAAXQO.js +0 -89
  758. package/dist/validate-LDBAAXQO.js.map +0 -1
  759. package/dist/videos-YSXYGTBM.js +0 -39
  760. package/dist/viewer-check-45T2HLAH.js +0 -69
  761. package/dist/web-IGIGVEKS.js +0 -140
  762. package/dist/web-IGIGVEKS.js.map +0 -1
  763. package/dist/winning-ads-ASH5DSV3.js +0 -62
  764. package/dist/write-commands-5C7FUOVN.js +0 -1015
  765. package/dist/write-commands-5C7FUOVN.js.map +0 -1
  766. package/dist/x-BFSKFCZD.js +0 -47
  767. /package/dist/{account-F6MHQ64I.js.map → account-4H7QVBRK.js.map} +0 -0
  768. /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-AK42HGRM.js.map} +0 -0
  769. /package/dist/{actions-P35MEMGN.js.map → actions-6TQMSVWD.js.map} +0 -0
  770. /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-QQS4223F.js.map} +0 -0
  771. /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-WGPDPUI2.js.map} +0 -0
  772. /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-XE2IE4DS.js.map} +0 -0
  773. /package/dist/{ads-C47NA2HH.js.map → ads-AGYCVD62.js.map} +0 -0
  774. /package/dist/{ads-PV7GZXPR.js.map → ads-BCOSQALY.js.map} +0 -0
  775. /package/dist/{animate-FWWHSYPL.js.map → animate-AIZ3GS4J.js.map} +0 -0
  776. /package/dist/{audiences-VEKGLWBG.js.map → audiences-TGD5US2M.js.map} +0 -0
  777. /package/dist/{avatars-EKCKHCC3.js.map → avatars-467OSBD6.js.map} +0 -0
  778. /package/dist/{brand-C6PFGGQN.js.map → brand-YRTEPGBK.js.map} +0 -0
  779. /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-SXLZFYF6.js.map} +0 -0
  780. /package/dist/{campaigns-KZYZTXDS.js.map → campaigns-OYMXDGWX.js.map} +0 -0
  781. /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-YS3OGQXO.js.map} +0 -0
  782. /package/dist/{canvas-DPCBGW7K.js.map → canvas-YQFG52IG.js.map} +0 -0
  783. /package/dist/{catalog-ME44ZRZF.js.map → catalog-XLXIM7IW.js.map} +0 -0
  784. /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-BRXEDE56.js.map} +0 -0
  785. /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-7W75X3ER.js.map} +0 -0
  786. /package/dist/{chunk-7YCRFMXF.js.map → chunk-24EB7EDR.js.map} +0 -0
  787. /package/dist/{chunk-5ZDLTE5T.js.map → chunk-2AOE2MZQ.js.map} +0 -0
  788. /package/dist/{chunk-IBURXTL4.js.map → chunk-2VPBIT65.js.map} +0 -0
  789. /package/dist/{chunk-NPY4QUMQ.js.map → chunk-54C6YDGJ.js.map} +0 -0
  790. /package/dist/{chunk-LZ73CZGP.js.map → chunk-5WCSKQ7Z.js.map} +0 -0
  791. /package/dist/{chunk-3G3ZDLMI.js.map → chunk-5ZNTADVR.js.map} +0 -0
  792. /package/dist/{chunk-AEOSAVVL.js.map → chunk-6F7DVPOS.js.map} +0 -0
  793. /package/dist/{chunk-FD27ZDVP.js.map → chunk-6NY2GPR4.js.map} +0 -0
  794. /package/dist/{chunk-TT5R35PJ.js.map → chunk-6Y7ZBENQ.js.map} +0 -0
  795. /package/dist/{chunk-5Y5UAJWD.js.map → chunk-7CTMH5AK.js.map} +0 -0
  796. /package/dist/{chunk-35XWJEWH.js.map → chunk-7J6EHOH6.js.map} +0 -0
  797. /package/dist/{chunk-Z2EOC6PL.js.map → chunk-ASI4P6X2.js.map} +0 -0
  798. /package/dist/{chunk-2QHODRR6.js.map → chunk-C46GUI2S.js.map} +0 -0
  799. /package/dist/{chunk-K7FZXIOZ.js.map → chunk-CWYAELVG.js.map} +0 -0
  800. /package/dist/{chunk-MXYBTMKB.js.map → chunk-DCRPXOJJ.js.map} +0 -0
  801. /package/dist/{chunk-54UVGFX3.js.map → chunk-EAP4O4FE.js.map} +0 -0
  802. /package/dist/{chunk-K66OLA6Y.js.map → chunk-FPOGPFAG.js.map} +0 -0
  803. /package/dist/{chunk-JQJDXPCO.js.map → chunk-FUHN4MFY.js.map} +0 -0
  804. /package/dist/{chunk-S77PZVYM.js.map → chunk-FYGR3I2A.js.map} +0 -0
  805. /package/dist/{chunk-OZRUJVIQ.js.map → chunk-H3427GPU.js.map} +0 -0
  806. /package/dist/{chunk-KQTYTCKQ.js.map → chunk-HZUDRKGR.js.map} +0 -0
  807. /package/dist/{chunk-IR6D7K4H.js.map → chunk-I3ZR655O.js.map} +0 -0
  808. /package/dist/{chunk-J5IY3GVE.js.map → chunk-KMKEYI37.js.map} +0 -0
  809. /package/dist/{chunk-W3ZHJJVT.js.map → chunk-KS2QY6MK.js.map} +0 -0
  810. /package/dist/{chunk-GLCPTMPG.js.map → chunk-LYQJ4PZW.js.map} +0 -0
  811. /package/dist/{chunk-GBMP4F45.js.map → chunk-MACCF4JZ.js.map} +0 -0
  812. /package/dist/{chunk-CSYSX4D2.js.map → chunk-N4LAYIIN.js.map} +0 -0
  813. /package/dist/{chunk-4AUMTNVB.js.map → chunk-NA63BH7V.js.map} +0 -0
  814. /package/dist/{chunk-KFE3S63W.js.map → chunk-NCWCZY5P.js.map} +0 -0
  815. /package/dist/{chunk-4BQXAE7Z.js.map → chunk-NDEE6G2J.js.map} +0 -0
  816. /package/dist/{chunk-7ZHMGXE2.js.map → chunk-NJXNU2G6.js.map} +0 -0
  817. /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
  818. /package/dist/{chunk-VB6WJJR3.js.map → chunk-PZXCWSKV.js.map} +0 -0
  819. /package/dist/{chunk-MELOSESI.js.map → chunk-R25YLW6H.js.map} +0 -0
  820. /package/dist/{chunk-Y6O7EWYY.js.map → chunk-RL5CP7N6.js.map} +0 -0
  821. /package/dist/{chunk-HBTF25YG.js.map → chunk-RX2DKU3W.js.map} +0 -0
  822. /package/dist/{chunk-647RO73Q.js.map → chunk-ULG4QRTV.js.map} +0 -0
  823. /package/dist/{chunk-QRP3PXWN.js.map → chunk-VL43TNIP.js.map} +0 -0
  824. /package/dist/{chunk-SHL7LOC3.js.map → chunk-VLMBTPXU.js.map} +0 -0
  825. /package/dist/{chunk-LYBXCXJB.js.map → chunk-VNUNE5AB.js.map} +0 -0
  826. /package/dist/{chunk-KHRXPQID.js.map → chunk-VYQ3QJ3C.js.map} +0 -0
  827. /package/dist/{chunk-A4LOJ2VD.js.map → chunk-WGUQHAJY.js.map} +0 -0
  828. /package/dist/{chunk-ZEYEWPK6.js.map → chunk-WKQG6TER.js.map} +0 -0
  829. /package/dist/{chunk-ULJ5RFOV.js.map → chunk-XFGAUP5B.js.map} +0 -0
  830. /package/dist/{chunk-3IBYKLXR.js.map → chunk-ZDMTXQ2Q.js.map} +0 -0
  831. /package/dist/{connect-QCOGEPP4.js.map → connect-FCXNVTXG.js.map} +0 -0
  832. /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-XQBJ6LG4.js.map} +0 -0
  833. /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-UBCVXP2E.js.map} +0 -0
  834. /package/dist/{conversions-TS723AZV.js.map → conversions-D236RTUK.js.map} +0 -0
  835. /package/dist/{creatives-SJTJU6VT.js.map → creatives-FXUQ5WSD.js.map} +0 -0
  836. /package/dist/{customers-4AWBFDUF.js.map → customers-XH2DMTFH.js.map} +0 -0
  837. /package/dist/{draft-THPZFASM.js.map → draft-MNFJ4G3C.js.map} +0 -0
  838. /package/dist/{feedback-XNJQ63DS.js.map → feedback-EIZKS4JU.js.map} +0 -0
  839. /package/dist/{find-OTDIX6V4.js.map → find-FRRHAPWX.js.map} +0 -0
  840. /package/dist/{fit-7237F5EB.js.map → fit-UOFYFJ4Q.js.map} +0 -0
  841. /package/dist/{fonts-EMMX3KII.js.map → fonts-MXR3ZKDX.js.map} +0 -0
  842. /package/dist/{ga4-UDQ2HA2J.js.map → ga4-DV2AXCSL.js.map} +0 -0
  843. /package/dist/{generate-MMBYB44G.js.map → generate-3XYYITU6.js.map} +0 -0
  844. /package/dist/{google-M7KEXVK5.js.map → google-6OGZX47I.js.map} +0 -0
  845. /package/dist/{google-KTO3PLEU.js.map → google-QYYYSSXI.js.map} +0 -0
  846. /package/dist/{gsc-P3QYGDV2.js.map → gsc-TAKOF7J5.js.map} +0 -0
  847. /package/dist/{history-DBIEYQHY.js.map → history-Q3QCT64S.js.map} +0 -0
  848. /package/dist/{icon-I43F77FV.js.map → icon-L4RSS6PZ.js.map} +0 -0
  849. /package/dist/{ideas-MIDU7YOA.js.map → ideas-NFOW3HKJ.js.map} +0 -0
  850. /package/dist/{images-S254MS6O.js.map → images-2EFFUNNV.js.map} +0 -0
  851. /package/dist/{ingest-YV2NLDBE.js.map → ingest-2EIKN4QC.js.map} +0 -0
  852. /package/dist/{insights-ZIU6FJMS.js.map → insights-LNAXV2CG.js.map} +0 -0
  853. /package/dist/{inspiration-P265QJ2H.js.map → inspiration-S3DU4CMQ.js.map} +0 -0
  854. /package/dist/{landing-CJYGWCK4.js.map → landing-2ZB46LXH.js.map} +0 -0
  855. /package/dist/{line-items-7ZGIKEF2.js.map → line-items-5NECXUZT.js.map} +0 -0
  856. /package/dist/{locations-74TPQWAT.js.map → locations-2NKBJKBT.js.map} +0 -0
  857. /package/dist/{logo-2IP663QO.js.map → logo-Q5D7PZY6.js.map} +0 -0
  858. /package/dist/{lookup-XK45W2SH.js.map → lookup-ETWY47F7.js.map} +0 -0
  859. /package/dist/{media-sources-O6ZRUA3N.js.map → media-sources-ZXHEEP6T.js.map} +0 -0
  860. /package/dist/{models-7U3GRYHF.js.map → models-3Z6MDHQW.js.map} +0 -0
  861. /package/dist/{performance-6QW2KEEQ.js.map → performance-UF5VTY2U.js.map} +0 -0
  862. /package/dist/{pixels-45A55MOP.js.map → pixels-TZPF746S.js.map} +0 -0
  863. /package/dist/{promoted-tweets-SURKMHFI.js.map → promoted-tweets-LZKS5JIF.js.map} +0 -0
  864. /package/dist/{reddit-GIP3ADMS.js.map → reddit-NU2N3LZD.js.map} +0 -0
  865. /package/dist/{research-EY7C7JJY.js.map → research-FMM6AWZC.js.map} +0 -0
  866. /package/dist/{run-XQ7EM3JT.js.map → run-EUO34T2J.js.map} +0 -0
  867. /package/dist/{scheduled-agents-6U44QE76.js.map → scheduled-agents-N4LJRM4C.js.map} +0 -0
  868. /package/dist/{sources-YBQ6KPFM.js.map → sources-FQ2UZTHL.js.map} +0 -0
  869. /package/dist/{stock-2YCDN3N6.js.map → stock-KXJ26BY4.js.map} +0 -0
  870. /package/dist/{studio-C5K3YX3P.js.map → studio-SYKOSNDB.js.map} +0 -0
  871. /package/dist/{sync-definition-ILS2B2BJ.js.map → sync-definition-QR2N233R.js.map} +0 -0
  872. /package/dist/{tags-3WPW6PTV.js.map → tags-PYWFSBTR.js.map} +0 -0
  873. /package/dist/{targeting-criteria-NR47AF5C.js.map → targeting-criteria-RJFLFICN.js.map} +0 -0
  874. /package/dist/{testimonials-CVC4YIXO.js.map → testimonials-DII5DYLR.js.map} +0 -0
  875. /package/dist/{videos-YSXYGTBM.js.map → videos-LICG6ACJ.js.map} +0 -0
  876. /package/dist/{viewer-check-45T2HLAH.js.map → viewer-check-L4B4LIAX.js.map} +0 -0
  877. /package/dist/{winning-ads-ASH5DSV3.js.map → winning-ads-C6S2C5VP.js.map} +0 -0
  878. /package/dist/{x-BFSKFCZD.js.map → x-CZHRC6U7.js.map} +0 -0
@@ -0,0 +1,76 @@
1
+ import {
2
+ MODEL_REGISTRY,
3
+ isRegisteredModel
4
+ } from "./chunk-CAMX6OHF.js";
5
+
6
+ // src/commands/canvas/scaffold-common.ts
7
+ import { access, readFile } from "fs/promises";
8
+
9
+ // src/commands/canvas/composition-path.ts
10
+ import { existsSync } from "fs";
11
+ import path from "path";
12
+ function resolveShippedCanvasDir(name, startDir, exists = existsSync, maxDepth = 8) {
13
+ const rel = path.join("canvas", name);
14
+ let dir = startDir;
15
+ for (let i = 0; i < maxDepth; i++) {
16
+ const candidate = path.join(dir, rel);
17
+ if (exists(path.join(candidate, "meta.json"))) return candidate;
18
+ const parent = path.dirname(dir);
19
+ if (parent === dir) break;
20
+ dir = parent;
21
+ }
22
+ return path.resolve(startDir, "../../../", rel);
23
+ }
24
+
25
+ // src/commands/canvas/scaffold-common.ts
26
+ var SHIPPED_OVERLAY_COMPOSITION_DIR = resolveShippedCanvasDir(
27
+ "video-overlay-composition",
28
+ import.meta.dirname
29
+ );
30
+ var SHIPPED_CAPTIONS_DIR = resolveShippedCanvasDir("tiktok-captions-composition", import.meta.dirname);
31
+ function resolveModel(kind, requested, fallback) {
32
+ const model = requested ? String(requested) : fallback;
33
+ if (isRegisteredModel(kind, model)) return model;
34
+ const known = Object.keys(MODEL_REGISTRY[kind]).join(", ");
35
+ throw new Error(`"${model}" is not a ${kind} model. Use one of: ${known}`);
36
+ }
37
+ async function loadAssetText(ref, label) {
38
+ const r = ref;
39
+ if (typeof r?.path === "string") return readFile(r.path, "utf8");
40
+ if (typeof r?.url === "string") {
41
+ const res = await fetch(r.url);
42
+ if (!res.ok) throw new Error(`failed to fetch ${label} (${res.status})`);
43
+ return res.text();
44
+ }
45
+ throw new Error(`${label}: output had no readable path or url`);
46
+ }
47
+ function parseElements(raw) {
48
+ const parsed = JSON.parse(raw);
49
+ if (Array.isArray(parsed)) return parsed;
50
+ if (parsed && typeof parsed === "object" && Array.isArray(parsed.elements)) {
51
+ return parsed.elements;
52
+ }
53
+ return [];
54
+ }
55
+ function fail(code, message) {
56
+ process.stderr.write(`${JSON.stringify({ ok: false, error: { code, message } }, null, 2)}
57
+ `);
58
+ process.exit(2);
59
+ }
60
+ function fileExists(target) {
61
+ return access(target).then(
62
+ () => true,
63
+ () => false
64
+ );
65
+ }
66
+
67
+ export {
68
+ SHIPPED_OVERLAY_COMPOSITION_DIR,
69
+ SHIPPED_CAPTIONS_DIR,
70
+ resolveModel,
71
+ loadAssetText,
72
+ parseElements,
73
+ fail,
74
+ fileExists
75
+ };
76
+ //# sourceMappingURL=chunk-XFGAUP5B.js.map
@@ -0,0 +1,337 @@
1
+ import {
2
+ holdUnbilledSpend
3
+ } from "./chunk-WTOYCUKH.js";
4
+ import {
5
+ askAboutText
6
+ } from "./chunk-RX6F3GEA.js";
7
+ import {
8
+ brandTokensSchema
9
+ } from "./chunk-7EPXVICM.js";
10
+
11
+ // src/engine/landing/lib/brand-tokens.ts
12
+ import { readFile as readFile2 } from "fs/promises";
13
+ import path2 from "path";
14
+
15
+ // src/engine/brand/brand-doc.ts
16
+ import { createHash } from "crypto";
17
+ import { mkdir, readdir, readFile, writeFile } from "fs/promises";
18
+ import path from "path";
19
+ import { z } from "zod";
20
+ var BRAND_DOC_MODEL = "google/gemini-2.5-flash-lite";
21
+ var REQUEST = {
22
+ provider: { order: ["google-vertex"], allow_fallbacks: false },
23
+ temperature: 0,
24
+ response_format: { type: "json_object" }
25
+ };
26
+ var PROMPT_VERSION = 2;
27
+ var TIMEOUT_MS = 3e4;
28
+ var BRAND_MD_CHARS = 32e3;
29
+ var COMPANY_MD_CHARS = 4e3;
30
+ var Font = z.object({
31
+ family: z.string().trim().min(1).max(60),
32
+ role: z.enum(["heading", "body", "any"]).catch("any"),
33
+ use: z.boolean()
34
+ });
35
+ var Color = z.object({
36
+ hex: z.string().trim().regex(/^#?[0-9a-fA-F]{6}$/).transform((h) => `#${h.replace(/^#/, "").toLowerCase()}`),
37
+ use: z.boolean()
38
+ });
39
+ var Reading = z.object({
40
+ name: z.string().trim().min(1).max(80).nullable().catch(null),
41
+ wordmark: z.array(z.string().trim().min(1).max(40)).catch([]),
42
+ logoNames: z.array(z.string().trim().min(1).max(40)).catch([]),
43
+ fonts: z.array(z.unknown()).catch([]),
44
+ colors: z.array(z.unknown()).catch([])
45
+ });
46
+ function brandDocPrompt(docs) {
47
+ return [
48
+ "You read a company's brand guidelines (BRAND.md), the start of its company profile (COMPANY.md) and the file names of its logos. They may be written in any language, or several. Extract only what they state; never invent a value.",
49
+ "",
50
+ "Return JSON only, in this shape:",
51
+ '{"name": string | null, "wordmark": string[], "logoNames": string[], "fonts": [{"family": string, "role": "heading" | "body" | "any", "use": boolean}], "colors": [{"hex": "#rrggbb", "use": boolean}]}',
52
+ "",
53
+ `- name: the brand's name exactly as written ("# Zernio Brand Guidelines" names Zernio). null when neither document states one, as in an unfilled template ("# Brand Guidelines", "# Company", TODO).`,
54
+ `- wordmark: every word the documents say the logo prints, as they quote it ("Wordmark: \\"permut\\"" gives "permut"; 'symbol plus "Cubbo" wordmark' gives "Cubbo"), even when it is also the name. [] when they quote none.`,
55
+ '- logoNames: a product or brand name a logo file name carries ("logo-engage-blue.png" gives "Engage"). Colours, variants, sizes and formats (dark, white, icon, isotype, png) are not names. [] when none.',
56
+ `- fonts: every typeface the guidelines name, by its family name exactly, the banned ones included. role is heading, body, or any when they do not say. use is false when the guidelines ban it, forbid it or say to avoid it or never use it, in any wording or language; true when the brand uses it. Only a named typeface counts: a generic family (sans-serif, serif, monospace, system-ui) or the operating system's own fonts ("system stack", "system fonts") is not one, so leave it out.`,
57
+ "- colors: every hex colour the guidelines give. use is false when they ban it or say to avoid it, true when it is a brand colour.",
58
+ "",
59
+ "<brand_md>",
60
+ (docs.brandMd ?? "").slice(0, BRAND_MD_CHARS),
61
+ "</brand_md>",
62
+ "<company_md>",
63
+ (docs.companyMd ?? "").slice(0, COMPANY_MD_CHARS),
64
+ "</company_md>",
65
+ "<logo_files>",
66
+ (docs.logoFiles ?? []).join("\n"),
67
+ "</logo_files>"
68
+ ].join("\n");
69
+ }
70
+ function parseBrandDoc(answer) {
71
+ const parsed = Reading.safeParse(answer);
72
+ if (!parsed.success) return null;
73
+ const fonts = parsed.data.fonts.flatMap((f) => {
74
+ const font = Font.safeParse(f);
75
+ return font.success ? [font.data] : [];
76
+ });
77
+ const colors = parsed.data.colors.flatMap((c) => {
78
+ const color = Color.safeParse(c);
79
+ return color.success ? [color.data] : [];
80
+ });
81
+ return {
82
+ ...parsed.data.name ? { name: parsed.data.name } : {},
83
+ wordmark: [.../* @__PURE__ */ new Set([...parsed.data.wordmark, ...parsed.data.logoNames])],
84
+ fonts,
85
+ colors
86
+ };
87
+ }
88
+ function brandDocReader(cacheDir, onSpend) {
89
+ return async (docs) => {
90
+ const prompt = brandDocPrompt(docs);
91
+ const key = createHash("sha256").update(JSON.stringify([PROMPT_VERSION, BRAND_DOC_MODEL, prompt])).digest("hex");
92
+ const file = path.join(cacheDir, "brand-doc", `${key}.json`);
93
+ const cached = parseBrandDoc(await readFile(file, "utf8").then(JSON.parse, () => null));
94
+ if (cached) return cached;
95
+ const spent = [];
96
+ const answer = await askAboutText(BRAND_DOC_MODEL, prompt, (u) => onSpend ? onSpend(u) : spent.push(u), {
97
+ timeoutMs: TIMEOUT_MS,
98
+ request: REQUEST
99
+ }).catch(() => null);
100
+ await holdUnbilledSpend(cacheDir, spent).catch(() => void 0);
101
+ const reading = parseBrandDoc(answer);
102
+ if (reading) {
103
+ await mkdir(path.dirname(file), { recursive: true }).catch(() => void 0);
104
+ await writeFile(file, JSON.stringify(reading), "utf8").catch(() => void 0);
105
+ }
106
+ return reading;
107
+ };
108
+ }
109
+ var LOGO_FILE = /logo|lockup|wordmark|isotype|isologo/i;
110
+ async function workspaceBrandDocs(root) {
111
+ const read = (rel) => readFile(path.join(root, rel), "utf8").catch(() => null);
112
+ const logoFiles = (await readdir(path.join(root, "src", "brand", "logos")).catch(() => [])).filter((f) => /\.(png|jpe?g|webp|svg)$/i.test(f) && LOGO_FILE.test(f)).sort();
113
+ return { brandMd: await read("src/brand/BRAND.md"), companyMd: await read("COMPANY.md"), logoFiles };
114
+ }
115
+ async function readWorkspaceBrandDoc(root, opts = {}) {
116
+ const docs = await workspaceBrandDocs(root);
117
+ if (!docs.brandMd?.trim() && !docs.companyMd?.trim()) return null;
118
+ const read = opts.read ?? brandDocReader(path.join(root, "canvas", ".cache"), opts.onSpend);
119
+ return await read(docs).catch(() => null);
120
+ }
121
+
122
+ // src/engine/landing/lib/color.ts
123
+ var NEUTRAL_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
124
+ "transparent",
125
+ "currentcolor",
126
+ "black",
127
+ "white",
128
+ "gray",
129
+ "grey",
130
+ "silver",
131
+ "dimgray",
132
+ "dimgrey",
133
+ "darkgray",
134
+ "darkgrey",
135
+ "lightgray",
136
+ "lightgrey",
137
+ "gainsboro",
138
+ "whitesmoke"
139
+ ]);
140
+ function hexChannels(color) {
141
+ const long = color.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})(?:[0-9a-f]{2})?$/i);
142
+ if (long)
143
+ return [
144
+ Number.parseInt(long[1] ?? "0", 16),
145
+ Number.parseInt(long[2] ?? "0", 16),
146
+ Number.parseInt(long[3] ?? "0", 16)
147
+ ];
148
+ const short = color.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])(?:[0-9a-f])?$/i);
149
+ if (short) {
150
+ const dup = (s) => Number.parseInt(`${s ?? "0"}${s ?? "0"}`, 16);
151
+ return [dup(short[1]), dup(short[2]), dup(short[3])];
152
+ }
153
+ return null;
154
+ }
155
+ function parseColor(raw) {
156
+ const c = String(raw || "").trim().toLowerCase();
157
+ if (!c || c === "transparent") return null;
158
+ const rgb = c.match(/rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)/i);
159
+ if (rgb) {
160
+ const alpha = rgb[4];
161
+ const a = alpha === void 0 ? 1 : alpha.endsWith("%") ? Number.parseFloat(alpha) / 100 : Number.parseFloat(alpha);
162
+ return { r: Number(rgb[1]), g: Number(rgb[2]), b: Number(rgb[3]), a };
163
+ }
164
+ const oklch = parseOklch(c);
165
+ if (oklch) return oklch;
166
+ const hex = hexChannels(c);
167
+ if (hex) return { r: hex[0], g: hex[1], b: hex[2], a: 1 };
168
+ return null;
169
+ }
170
+ function parseOklch(c) {
171
+ const m = c.match(/oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)(?:deg)?(?:\s*\/\s*([\d.]+%?))?\s*\)/i);
172
+ if (!m) return null;
173
+ const pct = (s, scale) => s.endsWith("%") ? Number.parseFloat(s) / 100 * scale : Number.parseFloat(s);
174
+ const alpha = m[4];
175
+ const a = alpha === void 0 ? 1 : pct(alpha, 1);
176
+ return { ...oklchToRgb(pct(m[1] ?? "0", 1), pct(m[2] ?? "0", 0.4), Number.parseFloat(m[3] ?? "0")), a };
177
+ }
178
+ function oklchToRgb(L, C, H) {
179
+ const hRad = H * Math.PI / 180;
180
+ const a = C * Math.cos(hRad);
181
+ const b = C * Math.sin(hRad);
182
+ const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3;
183
+ const m = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3;
184
+ const s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3;
185
+ const lin = [
186
+ 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,
187
+ -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,
188
+ -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s
189
+ ].map((v) => {
190
+ const g = v <= 31308e-7 ? 12.92 * v : 1.055 * Math.sign(v) * Math.abs(v) ** (1 / 2.4) - 0.055;
191
+ return Math.round(Math.max(0, Math.min(1, g)) * 255);
192
+ });
193
+ return { r: lin[0] ?? 0, g: lin[1] ?? 0, b: lin[2] ?? 0 };
194
+ }
195
+ function isNeutralAuthoredColor(rawColor) {
196
+ const c = String(rawColor || "").trim().toLowerCase();
197
+ if (!c) return false;
198
+ if (NEUTRAL_COLOR_KEYWORDS.has(c)) return true;
199
+ if (/^rgba?\(/i.test(c)) {
200
+ const channels2 = c.match(/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)/i);
201
+ if (channels2) {
202
+ const values = [1, 2, 3].map((i) => Number(channels2[i]));
203
+ return Math.max(...values) - Math.min(...values) < 30;
204
+ }
205
+ return false;
206
+ }
207
+ const oklch = c.match(/oklch\(\s*[\d.]+%?\s+([\d.-]+)/i);
208
+ if (oklch) return Number.parseFloat(oklch[1] ?? "0") < 0.02;
209
+ const lch = c.match(/lch\(\s*[\d.]+%?\s+([\d.-]+)/i);
210
+ if (lch) return Number.parseFloat(lch[1] ?? "0") < 3;
211
+ const hsl = c.match(/hsla?\(\s*[\d.-]+\s*,?\s*([\d.]+)%/i);
212
+ if (hsl) return Number.parseFloat(hsl[1] ?? "0") < 10;
213
+ const channels = hexChannels(c);
214
+ if (channels) return Math.max(...channels) - Math.min(...channels) < 30;
215
+ return false;
216
+ }
217
+ function hasChroma(c, threshold = 30) {
218
+ if (!c) return false;
219
+ return Math.max(c.r, c.g, c.b) - Math.min(c.r, c.g, c.b) >= threshold;
220
+ }
221
+ function getHue(c) {
222
+ if (!c) return 0;
223
+ const r = c.r / 255;
224
+ const g = c.g / 255;
225
+ const b = c.b / 255;
226
+ const max = Math.max(r, g, b);
227
+ const min = Math.min(r, g, b);
228
+ if (max === min) return 0;
229
+ const d = max - min;
230
+ let h;
231
+ if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
232
+ else if (max === g) h = ((b - r) / d + 2) / 6;
233
+ else h = ((r - g) / d + 4) / 6;
234
+ return Math.round(h * 360);
235
+ }
236
+ function isAiPurpleHue(hue) {
237
+ return hue >= 225 && hue <= 310;
238
+ }
239
+ function isCreamColor(c) {
240
+ if (Math.min(c.r, c.g, c.b) < 209) return false;
241
+ if (!(c.r >= c.g && c.g >= c.b)) return false;
242
+ const warmth = c.r - c.b;
243
+ return warmth >= 6 && warmth <= 48;
244
+ }
245
+
246
+ // src/engine/landing/lib/brand-tokens.ts
247
+ var EMPTY = { fonts: /* @__PURE__ */ new Set(), colors: [], hasTokens: false };
248
+ function isNotAFamily(value) {
249
+ return /^[1-9]00$/.test(value) || /^\d+(?:\.\d+)?(?:px|rem|em|%|pt|vw|vh|ch|ex)$/i.test(value) || /^(?:normal|bold|bolder|lighter|italic|oblique|none|auto|inherit|initial|unset)$/i.test(value);
250
+ }
251
+ function parseBrandTokens(globalCss, brandDoc) {
252
+ const fonts = /* @__PURE__ */ new Set();
253
+ const colors = [];
254
+ parseGlobalCss(globalCss, fonts, colors);
255
+ for (const font of brandDoc?.fonts ?? []) if (font.use) fonts.add(font.family.toLowerCase());
256
+ for (const color of brandDoc?.colors ?? []) {
257
+ const parsed = color.use ? parseColor(color.hex) : null;
258
+ if (parsed) colors.push(parsed);
259
+ }
260
+ return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };
261
+ }
262
+ function parseGlobalCss(rawCss, fonts, colors) {
263
+ const globalCss = rawCss.replace(/\/\*[\s\S]*?\*\//g, (block) => block.replace(/[^\n]/g, " "));
264
+ for (const m of globalCss.matchAll(/(?<![\w-])--font-([\w-]*)\s*:\s*([^;]+);/gi)) {
265
+ const slug = m[1] ?? "";
266
+ if (slug.includes("--") || /^weight(?:$|[-\s])/i.test(slug)) continue;
267
+ const first = (m[2] ?? "").split(",")[0]?.trim().replace(/^['"]|['"]$/g, "").toLowerCase();
268
+ if (!first || isNotAFamily(first)) continue;
269
+ fonts.add(first);
270
+ }
271
+ for (const m of globalCss.matchAll(
272
+ /--color-[\w-]*\s*:\s*(#[0-9a-f]{3,8}\b|rgba?\([^)]+\)|oklch\([^)]+\)|hsla?\([^)]+\))/gi
273
+ )) {
274
+ const c = parseColor(m[1] ?? "");
275
+ if (c) colors.push(c);
276
+ }
277
+ }
278
+ function brandTokensFromCanonical(tokens) {
279
+ const fonts = new Set(tokens.fonts.map((f) => f.family.toLowerCase()));
280
+ const colors = [];
281
+ for (const color of tokens.colors) {
282
+ const parsed = parseColor(color.value);
283
+ if (parsed) colors.push(parsed);
284
+ }
285
+ return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };
286
+ }
287
+ async function loadBrandTokens(projectRoot, opts = {}) {
288
+ const tokensRaw = await safeRead(path2.join(projectRoot, "src", "brand", "tokens.json"));
289
+ if (tokensRaw) {
290
+ try {
291
+ const canonical = brandTokensSchema.safeParse(JSON.parse(tokensRaw));
292
+ if (canonical.success) return brandTokensFromCanonical(canonical.data);
293
+ } catch {
294
+ }
295
+ }
296
+ const globalCss = await safeRead(path2.join(projectRoot, "src", "styles", "global.css"));
297
+ const brandDoc = await readWorkspaceBrandDoc(projectRoot, {
298
+ ...opts.readBrandDoc ? { read: opts.readBrandDoc } : {},
299
+ ...opts.onSpend ? { onSpend: opts.onSpend } : {}
300
+ });
301
+ if (!globalCss && !brandDoc) return EMPTY;
302
+ return parseBrandTokens(globalCss, brandDoc);
303
+ }
304
+ async function safeRead(file) {
305
+ try {
306
+ return await readFile2(file, "utf8");
307
+ } catch {
308
+ return "";
309
+ }
310
+ }
311
+ function brandCommitsFont(brand, snippet) {
312
+ if (brand.fonts.size === 0) return false;
313
+ const lower = snippet.toLowerCase();
314
+ for (const f of brand.fonts) if (f.length >= 3 && lower.includes(f)) return true;
315
+ return false;
316
+ }
317
+ function brandCommitsAiHue(brand) {
318
+ return brand.colors.some((c) => hasChroma(c, 40) && isAiPurpleHue(getHue(c)));
319
+ }
320
+ function brandCommitsCream(brand) {
321
+ return brand.colors.some((c) => isCreamColor(c));
322
+ }
323
+
324
+ export {
325
+ LOGO_FILE,
326
+ readWorkspaceBrandDoc,
327
+ parseColor,
328
+ isNeutralAuthoredColor,
329
+ hasChroma,
330
+ isCreamColor,
331
+ parseBrandTokens,
332
+ loadBrandTokens,
333
+ brandCommitsFont,
334
+ brandCommitsAiHue,
335
+ brandCommitsCream
336
+ };
337
+ //# sourceMappingURL=chunk-ZDMTXQ2Q.js.map
@@ -0,0 +1,198 @@
1
+ import {
2
+ failApi,
3
+ failValidation
4
+ } from "./chunk-SJYEY5MV.js";
5
+ import "./chunk-7EPXVICM.js";
6
+ import "./chunk-GXDLWBOY.js";
7
+ import "./chunk-TEINLN64.js";
8
+ import "./chunk-ZJWUBJYQ.js";
9
+ import "./chunk-HR6IWNKE.js";
10
+ import "./chunk-NE4F3FHN.js";
11
+ import {
12
+ apiPost,
13
+ validateConvexId
14
+ } from "./chunk-XBOK23HI.js";
15
+ import "./chunk-IFWP3ZDO.js";
16
+ import {
17
+ requireChatId
18
+ } from "./chunk-NAWWC5I3.js";
19
+ import {
20
+ registerSchema,
21
+ writeJson
22
+ } from "./chunk-NU7JSWVA.js";
23
+ import "./chunk-YQSBHWOI.js";
24
+
25
+ // src/commands/actions/claim.ts
26
+ import { defineCommand } from "citty";
27
+
28
+ // src/commands/actions/skillCatalog.ts
29
+ import { existsSync, readdirSync, readFileSync } from "fs";
30
+ import { dirname, join } from "path";
31
+ var DESCRIPTION_MAX = 600;
32
+ var SKILLS_SUBPATH = join(".claude", "skills");
33
+ var EXCLUDED_SKILLS = /* @__PURE__ */ new Set(["actions"]);
34
+ function stripQuotes(value) {
35
+ const trimmed = value.trim();
36
+ if (trimmed.startsWith('"') && trimmed.endsWith('"')) {
37
+ return trimmed.slice(1, -1).replace(/\\"/g, '"').replace(/\\n/g, "\n");
38
+ }
39
+ if (trimmed.startsWith("'") && trimmed.endsWith("'")) {
40
+ return trimmed.slice(1, -1).replace(/''/g, "'");
41
+ }
42
+ return trimmed;
43
+ }
44
+ function extractFrontmatterLines(md) {
45
+ if (!md.startsWith("---")) return null;
46
+ const end = md.indexOf("\n---", 3);
47
+ if (end === -1) return null;
48
+ return md.slice(md.indexOf("\n", 3) + 1, end).split("\n");
49
+ }
50
+ var BLOCK_SCALAR = /^([|>])[+-]?$/;
51
+ function collectBlockLines(lines, start) {
52
+ const collected = [];
53
+ for (let i = start; i < lines.length; i++) {
54
+ const line = lines[i] ?? "";
55
+ if (line.trim() === "") {
56
+ collected.push("");
57
+ } else if (/^\s/.test(line)) {
58
+ collected.push(line.trim());
59
+ } else {
60
+ break;
61
+ }
62
+ }
63
+ while (collected.length > 0 && collected.at(-1) === "") collected.pop();
64
+ return collected;
65
+ }
66
+ function foldLines(collected) {
67
+ const paragraphs = [];
68
+ let buffer = [];
69
+ for (const line of collected) {
70
+ if (line === "") {
71
+ if (buffer.length > 0) paragraphs.push(buffer.join(" "));
72
+ buffer = [];
73
+ } else {
74
+ buffer.push(line);
75
+ }
76
+ }
77
+ if (buffer.length > 0) paragraphs.push(buffer.join(" "));
78
+ return paragraphs.join("\n");
79
+ }
80
+ function readBlockScalar(lines, start, style) {
81
+ const collected = collectBlockLines(lines, start);
82
+ return style === "|" ? collected.join("\n") : foldLines(collected);
83
+ }
84
+ function readField(lines, field) {
85
+ for (let i = 0; i < lines.length; i++) {
86
+ const match = (lines[i] ?? "").match(/^([A-Za-z0-9_-]+):\s*(.*)$/);
87
+ if (!match || match[1] !== field) continue;
88
+ const inline = (match[2] ?? "").trim();
89
+ const scalar = inline.match(BLOCK_SCALAR);
90
+ if (scalar) {
91
+ return readBlockScalar(lines, i + 1, scalar[1]);
92
+ }
93
+ return stripQuotes(inline);
94
+ }
95
+ return null;
96
+ }
97
+ function parseSkillFrontmatter(md) {
98
+ const lines = extractFrontmatterLines(md);
99
+ if (!lines) return null;
100
+ const name = readField(lines, "name");
101
+ const description = readField(lines, "description");
102
+ if (!name || !description) return null;
103
+ const trimmed = description.length > DESCRIPTION_MAX ? `${description.slice(0, DESCRIPTION_MAX)}\u2026` : description;
104
+ return { name, description: trimmed };
105
+ }
106
+ function findSkillsDir(startDir) {
107
+ let dir = startDir;
108
+ for (; ; ) {
109
+ const candidate = join(dir, SKILLS_SUBPATH);
110
+ if (existsSync(candidate)) return candidate;
111
+ const parent = dirname(dir);
112
+ if (parent === dir) return null;
113
+ dir = parent;
114
+ }
115
+ }
116
+ function readSkillCatalog(startDir) {
117
+ const skillsDir = findSkillsDir(startDir);
118
+ if (!skillsDir) return [];
119
+ const entries = [];
120
+ for (const dirent of readdirSync(skillsDir, { withFileTypes: true })) {
121
+ if (!dirent.isDirectory() || EXCLUDED_SKILLS.has(dirent.name)) continue;
122
+ const skillFile = join(skillsDir, dirent.name, "SKILL.md");
123
+ if (!existsSync(skillFile)) continue;
124
+ try {
125
+ const parsed = parseSkillFrontmatter(readFileSync(skillFile, "utf8"));
126
+ if (parsed) entries.push(parsed);
127
+ } catch {
128
+ }
129
+ }
130
+ return entries.sort((a, b) => a.name.localeCompare(b.name));
131
+ }
132
+
133
+ // src/commands/actions/claim.ts
134
+ registerSchema({
135
+ command: "actions.claim",
136
+ description: "Claim an action for the current chat (live \u2014 visible to other chats immediately). Claim only what you're actively working on now: it's required before `complete`, but NOT for `update` or `discard` (those stage without a claim). Returns action details plus a fast-model recommendation of which skills to load for the work (`recommendedSkills`) and a routing hint: load every skill that owns part of the work and the tool doc for each baker CLI family you'll use.",
137
+ args: {
138
+ id: { type: "string", description: "Action ID", required: true }
139
+ }
140
+ });
141
+ async function recommendSkills(actionId) {
142
+ const skills = readSkillCatalog(process.cwd());
143
+ if (skills.length === 0) return [];
144
+ const response = await apiPost("/api/actions/recommend-skills", {
145
+ actionId,
146
+ skills
147
+ });
148
+ return response.data.recommendations;
149
+ }
150
+ var ROUTING_HINT = "Actions often span several surfaces (a landing page plus a Google Ads change, a sheet pull plus an audience upload). Before starting, load EVERY skill that owns part of the work and read the tool doc (__tooling__/docs/tools/baker/<family>.md) for each baker CLI family you'll use. If the action references source material living in a connected tool (an email attachment, a call, a CRM record, a spreadsheet), reach for that tool too. If it describes recurring or future-dated work, it belongs on a schedule \u2014 see __tooling__/docs/tools/baker/scheduled-agents.md.";
151
+ function buildHints(recommendations) {
152
+ if (recommendations.length === 0) {
153
+ return ["Review the action name, description, and tags above.", ROUTING_HINT];
154
+ }
155
+ return [
156
+ "Recommended skills for this action (load the ones you'll use):",
157
+ ...recommendations.map((r) => ` /${r.name} \u2014 ${r.reason}`),
158
+ "Suggestions come from the action's name/description/tags only \u2014 the work may need more.",
159
+ ROUTING_HINT
160
+ ];
161
+ }
162
+ var claimCommand = defineCommand({
163
+ meta: {
164
+ name: "claim",
165
+ description: "Claim an action so other chats see you're working on it. Required before `complete` (update and discard don't need a claim). Example: baker actions claim <action-id>"
166
+ },
167
+ args: {
168
+ id: { type: "positional", description: "Action ID", required: false },
169
+ "action-id": { type: "string", description: "Action ID", required: false }
170
+ },
171
+ run: async ({ args }) => {
172
+ try {
173
+ const id = args.id || args["action-id"];
174
+ if (!id) {
175
+ failValidation("Action ID is required.");
176
+ }
177
+ validateConvexId(id);
178
+ const chatId = requireChatId();
179
+ const response = await apiPost("/api/actions/claim", {
180
+ actionId: id,
181
+ chatId
182
+ });
183
+ let recommendedSkills = [];
184
+ try {
185
+ recommendedSkills = await recommendSkills(id);
186
+ } catch {
187
+ }
188
+ const data = response.data ? { ...response.data, recommendedSkills } : response.data;
189
+ writeJson({ ok: response.ok, data, hints: buildHints(recommendedSkills) });
190
+ } catch (err) {
191
+ failApi(err);
192
+ }
193
+ }
194
+ });
195
+ export {
196
+ claimCommand
197
+ };
198
+ //# sourceMappingURL=claim-W6G6VEG5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/actions/claim.ts","../src/commands/actions/skillCatalog.ts"],"sourcesContent":["import type { ActionsClaimResponse, ActionsRecommendSkillsResponse, SkillRecommendation } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost, validateConvexId } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi, failValidation } from \"./shared.ts\";\nimport { readSkillCatalog } from \"./skillCatalog.ts\";\n\nregisterSchema({\n command: \"actions.claim\",\n description:\n \"Claim an action for the current chat (live — visible to other chats immediately). Claim only what you're actively working on now: it's required before `complete`, but NOT for `update` or `discard` (those stage without a claim). Returns action details plus a fast-model recommendation of which skills to load for the work (`recommendedSkills`) and a routing hint: load every skill that owns part of the work and the tool doc for each baker CLI family you'll use.\",\n args: {\n id: { type: \"string\", description: \"Action ID\", required: true },\n },\n});\n\nasync function recommendSkills(actionId: string): Promise<SkillRecommendation[]> {\n const skills = readSkillCatalog(process.cwd());\n if (skills.length === 0) return [];\n const response = await apiPost<ActionsRecommendSkillsResponse>(\"/api/actions/recommend-skills\", {\n actionId,\n skills,\n });\n return response.data.recommendations;\n}\n\n// Keep in sync with the claim-hint block in scripts/skill-routing-evals/run.mjs —\n// the action-claim evals embed this nudge so they test the real production surface.\nconst ROUTING_HINT =\n \"Actions often span several surfaces (a landing page plus a Google Ads change, a sheet pull plus an audience upload). Before starting, load EVERY skill that owns part of the work and read the tool doc (__tooling__/docs/tools/baker/<family>.md) for each baker CLI family you'll use. If the action references source material living in a connected tool (an email attachment, a call, a CRM record, a spreadsheet), reach for that tool too. If it describes recurring or future-dated work, it belongs on a schedule — see __tooling__/docs/tools/baker/scheduled-agents.md.\";\n\nfunction buildHints(recommendations: SkillRecommendation[]): string[] {\n if (recommendations.length === 0) {\n return [\"Review the action name, description, and tags above.\", ROUTING_HINT];\n }\n return [\n \"Recommended skills for this action (load the ones you'll use):\",\n ...recommendations.map((r) => ` /${r.name} — ${r.reason}`),\n \"Suggestions come from the action's name/description/tags only — the work may need more.\",\n ROUTING_HINT,\n ];\n}\n\nexport const claimCommand = defineCommand({\n meta: {\n name: \"claim\",\n description:\n \"Claim an action so other chats see you're working on it. Required before `complete` (update and discard don't need a claim). Example: baker actions claim <action-id>\",\n },\n args: {\n id: { type: \"positional\", description: \"Action ID\", required: false },\n \"action-id\": { type: \"string\", description: \"Action ID\", required: false },\n },\n run: async ({ args }) => {\n try {\n const id = (args.id as string | undefined) || (args[\"action-id\"] as string | undefined);\n if (!id) {\n failValidation(\"Action ID is required.\");\n }\n validateConvexId(id);\n const chatId = requireChatId();\n const response = await apiPost<ActionsClaimResponse>(\"/api/actions/claim\", {\n actionId: id,\n chatId,\n });\n\n let recommendedSkills: SkillRecommendation[] = [];\n try {\n recommendedSkills = await recommendSkills(id);\n } catch {\n // Recommendation is best-effort — a claim must never fail because the hint could not be produced.\n }\n\n const data = response.data ? { ...response.data, recommendedSkills } : response.data;\n writeJson({ ok: response.ok, data, hints: buildHints(recommendedSkills) });\n } catch (err) {\n failApi(err);\n }\n },\n});\n","import { existsSync, readdirSync, readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\n\ninterface SkillCatalogEntry {\n name: string;\n description: string;\n}\n\nconst DESCRIPTION_MAX = 600;\nconst SKILLS_SUBPATH = join(\".claude\", \"skills\");\n\n/** The backlog workflow lives in the actions tool doc, not a skill — never recommend a legacy `actions` skill a stale scaffold may still carry. */\nconst EXCLUDED_SKILLS = new Set([\"actions\"]);\n\nfunction stripQuotes(value: string): string {\n const trimmed = value.trim();\n if (trimmed.startsWith('\"') && trimmed.endsWith('\"')) {\n return trimmed.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\n/g, \"\\n\");\n }\n // YAML single-quoted scalars only escape a literal quote by doubling it ('').\n if (trimmed.startsWith(\"'\") && trimmed.endsWith(\"'\")) {\n return trimmed.slice(1, -1).replace(/''/g, \"'\");\n }\n return trimmed;\n}\n\nfunction extractFrontmatterLines(md: string): string[] | null {\n if (!md.startsWith(\"---\")) return null;\n const end = md.indexOf(\"\\n---\", 3);\n if (end === -1) return null;\n return md.slice(md.indexOf(\"\\n\", 3) + 1, end).split(\"\\n\");\n}\n\nconst BLOCK_SCALAR = /^([|>])[+-]?$/;\n\nfunction collectBlockLines(lines: string[], start: number): string[] {\n const collected: string[] = [];\n for (let i = start; i < lines.length; i++) {\n const line = lines[i] ?? \"\";\n if (line.trim() === \"\") {\n collected.push(\"\");\n } else if (/^\\s/.test(line)) {\n collected.push(line.trim());\n } else {\n break; // dedented to a new top-level key — block is over\n }\n }\n while (collected.length > 0 && collected.at(-1) === \"\") collected.pop();\n return collected;\n}\n\n/** Folded (`>`): join lines with spaces, blank lines become paragraph breaks. */\nfunction foldLines(collected: string[]): string {\n const paragraphs: string[] = [];\n let buffer: string[] = [];\n for (const line of collected) {\n if (line === \"\") {\n if (buffer.length > 0) paragraphs.push(buffer.join(\" \"));\n buffer = [];\n } else {\n buffer.push(line);\n }\n }\n if (buffer.length > 0) paragraphs.push(buffer.join(\" \"));\n return paragraphs.join(\"\\n\");\n}\n\n/** Join a YAML block scalar's indented continuation lines: literal (`|`) keeps line breaks, folded (`>`) joins with spaces. */\nfunction readBlockScalar(lines: string[], start: number, style: \"|\" | \">\"): string {\n const collected = collectBlockLines(lines, start);\n return style === \"|\" ? collected.join(\"\\n\") : foldLines(collected);\n}\n\nfunction readField(lines: string[], field: string): string | null {\n for (let i = 0; i < lines.length; i++) {\n const match = (lines[i] ?? \"\").match(/^([A-Za-z0-9_-]+):\\s*(.*)$/);\n if (!match || match[1] !== field) continue;\n const inline = (match[2] ?? \"\").trim();\n const scalar = inline.match(BLOCK_SCALAR);\n if (scalar) {\n return readBlockScalar(lines, i + 1, scalar[1] as \"|\" | \">\");\n }\n return stripQuotes(inline);\n }\n return null;\n}\n\nexport function parseSkillFrontmatter(md: string): SkillCatalogEntry | null {\n const lines = extractFrontmatterLines(md);\n if (!lines) return null;\n const name = readField(lines, \"name\");\n const description = readField(lines, \"description\");\n if (!name || !description) return null;\n const trimmed = description.length > DESCRIPTION_MAX ? `${description.slice(0, DESCRIPTION_MAX)}…` : description;\n return { name, description: trimmed };\n}\n\nexport function findSkillsDir(startDir: string): string | null {\n let dir = startDir;\n for (;;) {\n const candidate = join(dir, SKILLS_SUBPATH);\n if (existsSync(candidate)) return candidate;\n const parent = dirname(dir);\n if (parent === dir) return null;\n dir = parent;\n }\n}\n\nexport function readSkillCatalog(startDir: string): SkillCatalogEntry[] {\n const skillsDir = findSkillsDir(startDir);\n if (!skillsDir) return [];\n\n const entries: SkillCatalogEntry[] = [];\n for (const dirent of readdirSync(skillsDir, { withFileTypes: true })) {\n if (!dirent.isDirectory() || EXCLUDED_SKILLS.has(dirent.name)) continue;\n const skillFile = join(skillsDir, dirent.name, \"SKILL.md\");\n if (!existsSync(skillFile)) continue;\n try {\n const parsed = parseSkillFrontmatter(readFileSync(skillFile, \"utf8\"));\n if (parsed) entries.push(parsed);\n } catch {\n // Unreadable skill file — skip it, never block the claim.\n }\n }\n return entries.sort((a, b) => a.name.localeCompare(b.name));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;;;ACD9B,SAAS,YAAY,aAAa,oBAAoB;AACtD,SAAS,SAAS,YAAY;AAO9B,IAAM,kBAAkB;AACxB,IAAM,iBAAiB,KAAK,WAAW,QAAQ;AAG/C,IAAM,kBAAkB,oBAAI,IAAI,CAAC,SAAS,CAAC;AAE3C,SAAS,YAAY,OAAuB;AAC1C,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,GAAG;AACpD,WAAO,QAAQ,MAAM,GAAG,EAAE,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,QAAQ,IAAI;AAAA,EACvE;AAEA,MAAI,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,GAAG;AACpD,WAAO,QAAQ,MAAM,GAAG,EAAE,EAAE,QAAQ,OAAO,GAAG;AAAA,EAChD;AACA,SAAO;AACT;AAEA,SAAS,wBAAwB,IAA6B;AAC5D,MAAI,CAAC,GAAG,WAAW,KAAK,EAAG,QAAO;AAClC,QAAM,MAAM,GAAG,QAAQ,SAAS,CAAC;AACjC,MAAI,QAAQ,GAAI,QAAO;AACvB,SAAO,GAAG,MAAM,GAAG,QAAQ,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,IAAI;AAC1D;AAEA,IAAM,eAAe;AAErB,SAAS,kBAAkB,OAAiB,OAAyB;AACnE,QAAM,YAAsB,CAAC;AAC7B,WAAS,IAAI,OAAO,IAAI,MAAM,QAAQ,KAAK;AACzC,UAAM,OAAO,MAAM,CAAC,KAAK;AACzB,QAAI,KAAK,KAAK,MAAM,IAAI;AACtB,gBAAU,KAAK,EAAE;AAAA,IACnB,WAAW,MAAM,KAAK,IAAI,GAAG;AAC3B,gBAAU,KAAK,KAAK,KAAK,CAAC;AAAA,IAC5B,OAAO;AACL;AAAA,IACF;AAAA,EACF;AACA,SAAO,UAAU,SAAS,KAAK,UAAU,GAAG,EAAE,MAAM,GAAI,WAAU,IAAI;AACtE,SAAO;AACT;AAGA,SAAS,UAAU,WAA6B;AAC9C,QAAM,aAAuB,CAAC;AAC9B,MAAI,SAAmB,CAAC;AACxB,aAAW,QAAQ,WAAW;AAC5B,QAAI,SAAS,IAAI;AACf,UAAI,OAAO,SAAS,EAAG,YAAW,KAAK,OAAO,KAAK,GAAG,CAAC;AACvD,eAAS,CAAC;AAAA,IACZ,OAAO;AACL,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,EACF;AACA,MAAI,OAAO,SAAS,EAAG,YAAW,KAAK,OAAO,KAAK,GAAG,CAAC;AACvD,SAAO,WAAW,KAAK,IAAI;AAC7B;AAGA,SAAS,gBAAgB,OAAiB,OAAe,OAA0B;AACjF,QAAM,YAAY,kBAAkB,OAAO,KAAK;AAChD,SAAO,UAAU,MAAM,UAAU,KAAK,IAAI,IAAI,UAAU,SAAS;AACnE;AAEA,SAAS,UAAU,OAAiB,OAA8B;AAChE,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,UAAM,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,4BAA4B;AACjE,QAAI,CAAC,SAAS,MAAM,CAAC,MAAM,MAAO;AAClC,UAAM,UAAU,MAAM,CAAC,KAAK,IAAI,KAAK;AACrC,UAAM,SAAS,OAAO,MAAM,YAAY;AACxC,QAAI,QAAQ;AACV,aAAO,gBAAgB,OAAO,IAAI,GAAG,OAAO,CAAC,CAAc;AAAA,IAC7D;AACA,WAAO,YAAY,MAAM;AAAA,EAC3B;AACA,SAAO;AACT;AAEO,SAAS,sBAAsB,IAAsC;AAC1E,QAAM,QAAQ,wBAAwB,EAAE;AACxC,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,OAAO,UAAU,OAAO,MAAM;AACpC,QAAM,cAAc,UAAU,OAAO,aAAa;AAClD,MAAI,CAAC,QAAQ,CAAC,YAAa,QAAO;AAClC,QAAM,UAAU,YAAY,SAAS,kBAAkB,GAAG,YAAY,MAAM,GAAG,eAAe,CAAC,WAAM;AACrG,SAAO,EAAE,MAAM,aAAa,QAAQ;AACtC;AAEO,SAAS,cAAc,UAAiC;AAC7D,MAAI,MAAM;AACV,aAAS;AACP,UAAM,YAAY,KAAK,KAAK,cAAc;AAC1C,QAAI,WAAW,SAAS,EAAG,QAAO;AAClC,UAAM,SAAS,QAAQ,GAAG;AAC1B,QAAI,WAAW,IAAK,QAAO;AAC3B,UAAM;AAAA,EACR;AACF;AAEO,SAAS,iBAAiB,UAAuC;AACtE,QAAM,YAAY,cAAc,QAAQ;AACxC,MAAI,CAAC,UAAW,QAAO,CAAC;AAExB,QAAM,UAA+B,CAAC;AACtC,aAAW,UAAU,YAAY,WAAW,EAAE,eAAe,KAAK,CAAC,GAAG;AACpE,QAAI,CAAC,OAAO,YAAY,KAAK,gBAAgB,IAAI,OAAO,IAAI,EAAG;AAC/D,UAAM,YAAY,KAAK,WAAW,OAAO,MAAM,UAAU;AACzD,QAAI,CAAC,WAAW,SAAS,EAAG;AAC5B,QAAI;AACF,YAAM,SAAS,sBAAsB,aAAa,WAAW,MAAM,CAAC;AACpE,UAAI,OAAQ,SAAQ,KAAK,MAAM;AAAA,IACjC,QAAQ;AAAA,IAER;AAAA,EACF;AACA,SAAO,QAAQ,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAC5D;;;ADpHA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,KAAK;AAAA,EACjE;AACF,CAAC;AAED,eAAe,gBAAgB,UAAkD;AAC/E,QAAM,SAAS,iBAAiB,QAAQ,IAAI,CAAC;AAC7C,MAAI,OAAO,WAAW,EAAG,QAAO,CAAC;AACjC,QAAM,WAAW,MAAM,QAAwC,iCAAiC;AAAA,IAC9F;AAAA,IACA;AAAA,EACF,CAAC;AACD,SAAO,SAAS,KAAK;AACvB;AAIA,IAAM,eACJ;AAEF,SAAS,WAAW,iBAAkD;AACpE,MAAI,gBAAgB,WAAW,GAAG;AAChC,WAAO,CAAC,wDAAwD,YAAY;AAAA,EAC9E;AACA,SAAO;AAAA,IACL;AAAA,IACA,GAAG,gBAAgB,IAAI,CAAC,MAAM,MAAM,EAAE,IAAI,WAAM,EAAE,MAAM,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,eAAe,cAAc;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,aAAa,UAAU,MAAM;AAAA,IACpE,aAAa,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,MAAM;AAAA,EAC3E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,KAAM,KAAK,MAA8B,KAAK,WAAW;AAC/D,UAAI,CAAC,IAAI;AACP,uBAAe,wBAAwB;AAAA,MACzC;AACA,uBAAiB,EAAE;AACnB,YAAM,SAAS,cAAc;AAC7B,YAAM,WAAW,MAAM,QAA8B,sBAAsB;AAAA,QACzE,UAAU;AAAA,QACV;AAAA,MACF,CAAC;AAED,UAAI,oBAA2C,CAAC;AAChD,UAAI;AACF,4BAAoB,MAAM,gBAAgB,EAAE;AAAA,MAC9C,QAAQ;AAAA,MAER;AAEA,YAAM,OAAO,SAAS,OAAO,EAAE,GAAG,SAAS,MAAM,kBAAkB,IAAI,SAAS;AAChF,gBAAU,EAAE,IAAI,SAAS,IAAI,MAAM,OAAO,WAAW,iBAAiB,EAAE,CAAC;AAAA,IAC3E,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}