@koda-sl/baker-cli 0.558.0 → 0.559.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 (479) hide show
  1. package/dist/{account-ICRVGRGT.js → account-DUGYQJEM.js} +4 -4
  2. package/dist/{account-users-ENRQBEV4.js → account-users-BXJQ4XZV.js} +4 -4
  3. package/dist/{accounts-MQXVRASU.js → accounts-DXQ3DHMB.js} +3 -3
  4. package/dist/{accounts-4ZSFTWKA.js → accounts-KXQY6WKR.js} +5 -5
  5. package/dist/{actions-B2GTON6O.js → actions-LI43PTFN.js} +18 -18
  6. package/dist/{activecampaign-DCED2LJF.js → activecampaign-5A6YHDJW.js} +3 -3
  7. package/dist/{add-CSRB6GVJ.js → add-TJHGYZYH.js} +7 -2
  8. package/dist/add-TJHGYZYH.js.map +1 -0
  9. package/dist/{add-JCNXNGDP.js → add-W4HEMTFL.js} +2 -2
  10. package/dist/{add-SAPHQL5P.js → add-ZSKEB3CI.js} +3 -3
  11. package/dist/{ads-VYMFRGAC.js → ads-XXSBCX4B.js} +4 -4
  12. package/dist/{advertisers-A3Q53R2S.js → advertisers-KPVUVXZZ.js} +3 -3
  13. package/dist/{analytics-5P5DSD5U.js → analytics-4WBRNSUC.js} +3 -3
  14. package/dist/{analytics-XQ3X4EAF.js → analytics-XT4ANMLP.js} +6 -6
  15. package/dist/{assign-7UGEPUCD.js → assign-SQK4UF3I.js} +3 -3
  16. package/dist/{audience-size-VMGWVYVR.js → audience-size-5Y5Q6UVA.js} +3 -3
  17. package/dist/{audit-XG6BYA2E.js → audit-GOZNIXNM.js} +3 -3
  18. package/dist/{autocomplete-OOLUPUIJ.js → autocomplete-36S76BGA.js} +3 -3
  19. package/dist/{avatars-3GVMDI7P.js → avatars-SDQ5LCNG.js} +4 -4
  20. package/dist/{bid-pricing-TRQUA2RV.js → bid-pricing-6DFGC6YC.js} +4 -4
  21. package/dist/{brand-E3SSWHCN.js → brand-OISTKMY4.js} +2 -2
  22. package/dist/{brief-WLOO3Q5L.js → brief-2UXKUTFC.js} +12 -12
  23. package/dist/{campaign-groups-3475EWTI.js → campaign-groups-32LDB42N.js} +9 -9
  24. package/dist/{campaign-writes-UIS7E2DP.js → campaign-writes-62V55CNW.js} +3 -3
  25. package/dist/{campaigns-OQ6IQKGX.js → campaigns-I5GSGZDJ.js} +5 -5
  26. package/dist/{campaigns-LKE7G3YG.js → campaigns-OGNE4XHM.js} +12 -12
  27. package/dist/{canvas-W3RF6NGC.js → canvas-HGU7FJ34.js} +13 -13
  28. package/dist/{capabilities-HNCOIM5X.js → capabilities-EDXVGZXC.js} +3 -3
  29. package/dist/{chats-X6C6DUDX.js → chats-HFKSZWZD.js} +3 -3
  30. package/dist/{check-4J2ROARK.js → check-GRVUI3LI.js} +5 -5
  31. package/dist/{chunk-WDJIGWL2.js → chunk-26UW2GMK.js} +5 -5
  32. package/dist/{chunk-ZGLRYMIR.js → chunk-2LGDWOD7.js} +2 -2
  33. package/dist/{chunk-NPBF3YJO.js → chunk-37QHT7J4.js} +2 -2
  34. package/dist/{chunk-GN623LEL.js → chunk-4ICSKDI7.js} +22 -6
  35. package/dist/chunk-4ICSKDI7.js.map +1 -0
  36. package/dist/{chunk-2UGMSILE.js → chunk-5NJQXV4K.js} +3 -3
  37. package/dist/{chunk-PYS733U7.js → chunk-724E32DM.js} +3 -3
  38. package/dist/{chunk-SMZRJYV7.js → chunk-72JEATZ5.js} +3 -3
  39. package/dist/{chunk-AX5BGR4R.js → chunk-72VH4FPY.js} +2 -2
  40. package/dist/{chunk-YUXVZGGB.js → chunk-AHZIGJXD.js} +2 -2
  41. package/dist/{chunk-7QRHJJR5.js → chunk-AQ6LJ7EI.js} +2 -2
  42. package/dist/{chunk-UGRL642V.js → chunk-BS4PRGEJ.js} +2 -2
  43. package/dist/{chunk-UGRL642V.js.map → chunk-BS4PRGEJ.js.map} +1 -1
  44. package/dist/{chunk-2NHWXWPB.js → chunk-CZTKRP6M.js} +2 -2
  45. package/dist/{chunk-LLBTSJGC.js → chunk-DYWKYP7Z.js} +2 -2
  46. package/dist/{chunk-QIMTC2IW.js → chunk-EDWW3THE.js} +2 -2
  47. package/dist/{chunk-DZJREPT2.js → chunk-G3ZUMNLG.js} +3 -3
  48. package/dist/{chunk-BKLWKZCX.js → chunk-GTYVWDCC.js} +2 -2
  49. package/dist/{chunk-2KFN5CS7.js → chunk-HHMBHLX6.js} +2 -2
  50. package/dist/chunk-I7OJZ7QE.js +10 -0
  51. package/dist/chunk-I7OJZ7QE.js.map +1 -0
  52. package/dist/{chunk-GQEU6IKZ.js → chunk-J6KCVW6N.js} +2 -2
  53. package/dist/{chunk-SDDEECV2.js → chunk-KDTSXLY7.js} +2 -2
  54. package/dist/{chunk-6G4CVXIL.js → chunk-KE5TI23P.js} +2 -2
  55. package/dist/{chunk-IAZKXDWV.js → chunk-KNA3OWJC.js} +16 -2
  56. package/dist/{chunk-IAZKXDWV.js.map → chunk-KNA3OWJC.js.map} +1 -1
  57. package/dist/{chunk-XNGJVOXZ.js → chunk-KV4E4KGE.js} +3 -3
  58. package/dist/{chunk-ST5PZM7I.js → chunk-KY6Q4WLC.js} +2 -2
  59. package/dist/{chunk-KAOUWSXH.js → chunk-LIBSSGE4.js} +2 -2
  60. package/dist/{chunk-DG34CPA6.js → chunk-LWN3ZNZU.js} +2 -2
  61. package/dist/{chunk-B5K6KXV2.js → chunk-N34A56X7.js} +2 -2
  62. package/dist/{chunk-PU5UKJ33.js → chunk-N472TRB4.js} +2 -2
  63. package/dist/{chunk-G4MXOYLJ.js → chunk-NPDZ4EO6.js} +3 -3
  64. package/dist/{chunk-OJMALBCI.js → chunk-OEH7ANJJ.js} +2 -2
  65. package/dist/{chunk-WP5YCX3O.js → chunk-PBKUESJD.js} +3 -3
  66. package/dist/{chunk-GQTSGD5D.js → chunk-PZSOJYER.js} +3 -3
  67. package/dist/{chunk-SL2BRBIJ.js → chunk-QBCZLD3A.js} +9 -9
  68. package/dist/{chunk-VRTRMQM2.js → chunk-QKHH7YNN.js} +2 -2
  69. package/dist/{chunk-ZEK6D6SS.js → chunk-SKVQRTDO.js} +2 -2
  70. package/dist/{chunk-MVTPNWRQ.js → chunk-TK7VRZKM.js} +4 -2
  71. package/dist/{chunk-MVTPNWRQ.js.map → chunk-TK7VRZKM.js.map} +1 -1
  72. package/dist/{chunk-CP2A4P2P.js → chunk-TXWKDDF6.js} +2 -2
  73. package/dist/{chunk-TS2F2FXW.js → chunk-UB34H4VD.js} +5 -5
  74. package/dist/{chunk-WWTTPOVW.js → chunk-UZEKIMLY.js} +3 -3
  75. package/dist/{chunk-KPNMSZOM.js → chunk-V6N6UBOT.js} +2 -2
  76. package/dist/{chunk-P7ZLJLQH.js → chunk-VKYDHIBT.js} +2 -2
  77. package/dist/{chunk-KSQXQMDS.js → chunk-WLD443MX.js} +2 -2
  78. package/dist/{chunk-RSLVIXW3.js → chunk-WQIHLJAO.js} +6 -6
  79. package/dist/{chunk-BBW7DZPO.js → chunk-X2OVFCRC.js} +2 -2
  80. package/dist/{chunk-V3RYJ4K2.js → chunk-XGN3BGSL.js} +4 -4
  81. package/dist/{chunk-MDC36LWD.js → chunk-YS7T735Q.js} +2 -2
  82. package/dist/{chunk-FHN4QXZN.js → chunk-YXUIVOUL.js} +2 -2
  83. package/dist/{claim-RRSGEH6S.js → claim-NUUED375.js} +3 -3
  84. package/dist/cli.js +32 -32
  85. package/dist/{companies-L2CN7FG6.js → companies-3EKQ6PBV.js} +3 -3
  86. package/dist/{company-JFVUTAVA.js → company-35ZI77NI.js} +3 -3
  87. package/dist/{complete-AHUP2SHE.js → complete-V2HNULPO.js} +3 -3
  88. package/dist/{connect-HJO52PQR.js → connect-77K3A6WK.js} +6 -6
  89. package/dist/{conversation-Q27J7M75.js → conversation-MWBPIT4W.js} +3 -3
  90. package/dist/{conversions-6N2OWE6G.js → conversions-RXNIACU5.js} +8 -8
  91. package/dist/{create-KQUMF4HV.js → create-AE52ZZMG.js} +3 -3
  92. package/dist/{create-H6U75562.js → create-K2EUYE54.js} +11 -3
  93. package/dist/{create-H6U75562.js.map → create-K2EUYE54.js.map} +1 -1
  94. package/dist/{create-FWH3WEUW.js → create-L53KW6GN.js} +3 -3
  95. package/dist/{create-NJS7I2JX.js → create-RJHGT2S4.js} +3 -3
  96. package/dist/{creatives-U4YGQLOG.js → creatives-2JP24JNL.js} +9 -9
  97. package/dist/{creatives-4ODU5S2G.js → creatives-UPZU7BLY.js} +12 -12
  98. package/dist/{credentials-EJE4L5WS.js → credentials-WRC7ERSS.js} +3 -3
  99. package/dist/{critique-6FULD2C7.js → critique-CYV7JQAY.js} +3 -3
  100. package/dist/{critique-EALNNGJ3.js → critique-VTNN6A5I.js} +8 -8
  101. package/dist/{crm-ONS4PUP5.js → crm-2MZLMSEV.js} +4 -4
  102. package/dist/{crm-MSVXNPKM.js → crm-VO6ZBW64.js} +4 -4
  103. package/dist/{customers-DXOLSUXV.js → customers-MHQ72YBY.js} +5 -5
  104. package/dist/{delete-XWD37C4T.js → delete-5NEAIDA4.js} +2 -2
  105. package/dist/{delete-U7B4N7UA.js → delete-6WKVGKRF.js} +3 -3
  106. package/dist/{delete-ELTUNRSD.js → delete-QFASUSVU.js} +3 -3
  107. package/dist/{delete-TN47CJK7.js → delete-ULI3MVAD.js} +2 -2
  108. package/dist/{demographics-NGWLHRNF.js → demographics-5SXTDRFU.js} +3 -3
  109. package/dist/{discard-SBYNAHJX.js → discard-P4PGGYYO.js} +3 -3
  110. package/dist/{domain-UGVD7HIA.js → domain-RINRCQ5G.js} +3 -3
  111. package/dist/{download-VQCUPJA2.js → download-HPYGPNHN.js} +2 -2
  112. package/dist/{draft-3TZYIB5J.js → draft-4WPWILSX.js} +3 -3
  113. package/dist/{draft-OA35VOHO.js → draft-FWCF4Y6P.js} +4 -4
  114. package/dist/{draft-6V73CF5P.js → draft-M7XINDQU.js} +3 -3
  115. package/dist/{experiments-32DRJBJB.js → experiments-NULZPBF2.js} +4 -4
  116. package/dist/{extract-WEEJ6FTG.js → extract-Y3OZG5DZ.js} +4 -3
  117. package/dist/{extract-WEEJ6FTG.js.map → extract-Y3OZG5DZ.js.map} +1 -1
  118. package/dist/{facets-462KAZH7.js → facets-HIADYZQQ.js} +3 -3
  119. package/dist/{feedback-AWWQN2MR.js → feedback-WEZEKTCH.js} +12 -12
  120. package/dist/{feedback-ME5HYWT5.js → feedback-Y4AXR354.js} +3 -3
  121. package/dist/{feedback-record-G6N3MFMC.js → feedback-record-YZNGRSNR.js} +13 -13
  122. package/dist/{fetch-HVBXROZY.js → fetch-T6WPGAWP.js} +3 -3
  123. package/dist/{find-UB4JSORZ.js → find-TTJH5NVJ.js} +3 -2
  124. package/dist/{find-UB4JSORZ.js.map → find-TTJH5NVJ.js.map} +1 -1
  125. package/dist/{fit-XNWSY3ZM.js → fit-MLDFA4ZK.js} +5 -5
  126. package/dist/{flows-AX4LSQYT.js → flows-XWU2XNYP.js} +10 -10
  127. package/dist/{fonts-AZCIRKB4.js → fonts-RV5KUGFE.js} +5 -5
  128. package/dist/{forecast-ALJGK6RQ.js → forecast-E5QXQFKQ.js} +4 -4
  129. package/dist/{funnel-HLYGJU64.js → funnel-NMC3JWTF.js} +4 -4
  130. package/dist/{get-KQ46JY6B.js → get-AKTMYS57.js} +3 -3
  131. package/dist/{get-ZLCZOCUH.js → get-JQE7XWKL.js} +3 -3
  132. package/dist/{get-4NDYA3G6.js → get-MK6M4DKF.js} +2 -2
  133. package/dist/{get-JX5JVWH7.js → get-QS2A6YVM.js} +2 -2
  134. package/dist/{get-KNP2EQRI.js → get-UFCNLDE2.js} +2 -2
  135. package/dist/{gif-6244RM75.js → gif-TBKH7VSP.js} +3 -2
  136. package/dist/{gif-6244RM75.js.map → gif-TBKH7VSP.js.map} +1 -1
  137. package/dist/{google-CLX7IUEE.js → google-YDGZ2Q3M.js} +4 -3
  138. package/dist/{google-CLX7IUEE.js.map → google-YDGZ2Q3M.js.map} +1 -1
  139. package/dist/{google-ads-DYGNJEIT.js → google-ads-AFJV5ZJO.js} +3 -3
  140. package/dist/{history-H2MGZGPB.js → history-6RCRBB4Q.js} +3 -3
  141. package/dist/{history-W25VPQ57.js → history-T6Y5IR4V.js} +3 -3
  142. package/dist/{hubspot-D3TFC24J.js → hubspot-SNLOCDPF.js} +7 -7
  143. package/dist/{icon-2237C4LP.js → icon-CYUIAFTE.js} +3 -2
  144. package/dist/{icon-2237C4LP.js.map → icon-CYUIAFTE.js.map} +1 -1
  145. package/dist/{ideas-5AEA2RPO.js → ideas-VTBVERCN.js} +4 -4
  146. package/dist/{images-WL3KB35N.js → images-36DGQZMH.js} +20 -20
  147. package/dist/{ingest-3O4C75SL.js → ingest-MLIOEHL3.js} +11 -3
  148. package/dist/{ingest-3O4C75SL.js.map → ingest-MLIOEHL3.js.map} +1 -1
  149. package/dist/{ingest-5EFT6PCW.js → ingest-OJV3CYYK.js} +5 -4
  150. package/dist/{inspect-4NWXVI4R.js → inspect-6P2WNFAC.js} +3 -3
  151. package/dist/{keyword-metrics-CXGNLERO.js → keyword-metrics-IDMR3ES2.js} +3 -3
  152. package/dist/{keywords-for-site-OYMDRMMX.js → keywords-for-site-V3SGYZDW.js} +3 -3
  153. package/dist/{landing-PECCKQSW.js → landing-7PZPYD3M.js} +2 -2
  154. package/dist/{leads-GUA2XYPF.js → leads-TWABHSJH.js} +3 -3
  155. package/dist/{learn-ZRVONGFT.js → learn-MXJSGDVI.js} +4 -4
  156. package/dist/{library-RZI7QHRV.js → library-F4GB5X6G.js} +3 -2
  157. package/dist/{library-RZI7QHRV.js.map → library-F4GB5X6G.js.map} +1 -1
  158. package/dist/{line-item-writes-4FGW42W4.js → line-item-writes-2R7VSOWO.js} +3 -3
  159. package/dist/{line-items-BX2D3T6S.js → line-items-MY6JP2W6.js} +5 -5
  160. package/dist/{link-JUNNBOUE.js → link-LR5LSFTA.js} +3 -3
  161. package/dist/{linkedin-6NRMXGBT.js → linkedin-UJEBBO7G.js} +30 -30
  162. package/dist/{linkedin-person-QJ7BREUI.js → linkedin-person-5LJEMW54.js} +3 -3
  163. package/dist/{list-DPQMPO2N.js → list-5O5NB56G.js} +3 -3
  164. package/dist/{list-4PB3SUMX.js → list-6AAKH6UV.js} +3 -3
  165. package/dist/{list-QPTOZWLH.js → list-UYQOLFPN.js} +2 -2
  166. package/dist/{log-O3ABCKXB.js → log-LPY5KYGP.js} +3 -3
  167. package/dist/{logo-R34AWI4C.js → logo-SBIDRBA2.js} +4 -3
  168. package/dist/{make-DS2JT5N4.js → make-UK2OYKCZ.js} +15 -15
  169. package/dist/{map-3RDR7QYX.js → map-XEJOI63E.js} +4 -4
  170. package/dist/{mcp-G52VGFAY.js → mcp-Y43SKNHV.js} +2 -2
  171. package/dist/{media-sources-GJHD737X.js → media-sources-POL5DMD4.js} +2 -2
  172. package/dist/{members-ICR3O2XP.js → members-5EJVXTE7.js} +3 -3
  173. package/dist/{meme-NH4DAORT.js → meme-VR3IHBRW.js} +9 -1
  174. package/dist/meme-VR3IHBRW.js.map +1 -0
  175. package/dist/{normalize-WLP2AYUD.js → normalize-IOW2V6E7.js} +3 -3
  176. package/dist/{options-G35EJLMF.js → options-YD6XFRZV.js} +6 -6
  177. package/dist/{organization-N5XUAYZQ.js → organization-KORFOK7Q.js} +3 -3
  178. package/dist/{performance-YT2MD4R6.js → performance-BXSNPNC3.js} +4 -4
  179. package/dist/{performance-KHP7T3X7.js → performance-Z353JXHB.js} +3 -3
  180. package/dist/{pinterest-KZ7RIHRS.js → pinterest-42NLOZW4.js} +3 -2
  181. package/dist/{pinterest-KZ7RIHRS.js.map → pinterest-42NLOZW4.js.map} +1 -1
  182. package/dist/{posts-F7NFSUHV.js → posts-K3QTBX2B.js} +2 -2
  183. package/dist/{preview-YXDLYCIA.js → preview-3UGPTK44.js} +3 -3
  184. package/dist/{promoted-tweet-writes-JTGHVR6D.js → promoted-tweet-writes-3D6GG6K4.js} +3 -3
  185. package/dist/{promoted-tweets-HFUAOQLB.js → promoted-tweets-BGQJDEQ2.js} +3 -3
  186. package/dist/{publish-PTVM5UFZ.js → publish-DBUBFV5R.js} +11 -5
  187. package/dist/{publish-PTVM5UFZ.js.map → publish-DBUBFV5R.js.map} +1 -1
  188. package/dist/{reddit-3KAMZIPT.js → reddit-GPSRX4TI.js} +4 -4
  189. package/dist/{refresh-7EH4WBYS.js → refresh-3X45Q6ZM.js} +2 -2
  190. package/dist/{release-JLKYLTRG.js → release-PE7KBFGK.js} +3 -3
  191. package/dist/{remove-UW5W5FOH.js → remove-2A3XDOKA.js} +2 -2
  192. package/dist/{reopen-JULIHAMN.js → reopen-LHMLXG6G.js} +3 -3
  193. package/dist/{rerun-5JXFPGQO.js → rerun-S4VWOIKE.js} +17 -16
  194. package/dist/{rerun-5JXFPGQO.js.map → rerun-S4VWOIKE.js.map} +1 -1
  195. package/dist/{research-IZSCSXTD.js → research-55XA4Z2O.js} +2 -2
  196. package/dist/{research-3BWJCS7N.js → research-JN3JGEEL.js} +13 -13
  197. package/dist/{reset-QHZ3OIS6.js → reset-C5SDRQTX.js} +2 -2
  198. package/dist/{reset-WAH4GQSV.js → reset-IY7GNRLF.js} +2 -2
  199. package/dist/{resolve-AOZWSUYD.js → resolve-PCN7BR7U.js} +3 -3
  200. package/dist/{retry-UQ4OOYEZ.js → retry-2KYMH2IV.js} +2 -2
  201. package/dist/{retry-XASANWPI.js → retry-KUWJ4GGA.js} +2 -2
  202. package/dist/{revenue-YGPP7K6U.js → revenue-CRZRJJ7H.js} +4 -4
  203. package/dist/{rules-V4I5BVKB.js → rules-EKOXAK2O.js} +5 -5
  204. package/dist/{rules-add-U2Z56SMZ.js → rules-add-IC3SXNYW.js} +5 -5
  205. package/dist/{run-YNVT5DYJ.js → run-WUD5U5GY.js} +17 -16
  206. package/dist/{run-M5FRUIAM.js → run-Y4SEFETX.js} +3 -3
  207. package/dist/{scaffold-ad-HGI3JCBY.js → scaffold-ad-OJ4WOJM6.js} +10 -10
  208. package/dist/{scaffold-static-ad-LHVGQ5PM.js → scaffold-static-ad-EXUKKYSD.js} +21 -20
  209. package/dist/{scaffold-static-ad-LHVGQ5PM.js.map → scaffold-static-ad-EXUKKYSD.js.map} +1 -1
  210. package/dist/{scaffold-video-WEHH3SO6.js → scaffold-video-7PDZZSKD.js} +9 -9
  211. package/dist/{schedule-7T2DKJZ3.js → schedule-VCL2OPIL.js} +2 -2
  212. package/dist/{scheduled-agents-MKKHCNI6.js → scheduled-agents-YAHYCFDA.js} +11 -11
  213. package/dist/{schema-ID4NETCM.js → schema-L6DGAUB5.js} +4 -4
  214. package/dist/{screenshot-YRYAOP5E.js → screenshot-RR6RA6CN.js} +3 -2
  215. package/dist/{screenshot-YRYAOP5E.js.map → screenshot-RR6RA6CN.js.map} +1 -1
  216. package/dist/{search-XYENZFAC.js → search-OUJUEORX.js} +2 -2
  217. package/dist/{select-7E6J2FDA.js → select-R3NT7OI4.js} +11 -11
  218. package/dist/{set-prompt-BNKY5NSE.js → set-prompt-F3SYRT22.js} +8 -8
  219. package/dist/{setup-links-QV3LBVGK.js → setup-links-AHWFGUAO.js} +3 -3
  220. package/dist/{shopify-C5I3XHPR.js → shopify-BPQCUFFX.js} +3 -3
  221. package/dist/{site-NUQ5DHOQ.js → site-KYB2EL72.js} +4 -4
  222. package/dist/{sources-KS44MMM7.js → sources-JYOOLCOU.js} +6 -6
  223. package/dist/{sources-IVSFKLP6.js → sources-X4URMRLY.js} +6 -6
  224. package/dist/{stale-E32VHTTJ.js → stale-KFVY7LSB.js} +10 -10
  225. package/dist/{status-PPTYL45B.js → status-YVRZBK56.js} +3 -3
  226. package/dist/{sticker-GXCI4WL5.js → sticker-HMHR7QM7.js} +3 -2
  227. package/dist/{sticker-GXCI4WL5.js.map → sticker-HMHR7QM7.js.map} +1 -1
  228. package/dist/{stock-3FZPID6C.js → stock-IAQBUPGQ.js} +4 -3
  229. package/dist/{stock-3FZPID6C.js.map → stock-IAQBUPGQ.js.map} +1 -1
  230. package/dist/{sync-G3LSQL6F.js → sync-KJEXXD3P.js} +2 -2
  231. package/dist/{sync-definition-DR6BUB5O.js → sync-definition-BQUVWLCC.js} +9 -9
  232. package/dist/{tags-O6LGADB6.js → tags-7CEVWFEZ.js} +3 -3
  233. package/dist/{tags-BYLXFP34.js → tags-BU4KLB37.js} +4 -4
  234. package/dist/{tags-FMX7R65M.js → tags-HKR2GWXV.js} +2 -2
  235. package/dist/{tags-PXAPGDQB.js → tags-SKGPECNG.js} +3 -3
  236. package/dist/{tags-DHQQ3IWD.js → tags-ZLPLHP2G.js} +3 -3
  237. package/dist/{targeting-criteria-KJMRWCLU.js → targeting-criteria-4C4M3XLJ.js} +3 -3
  238. package/dist/{targets-2H2YUI2I.js → targets-C5K2OH3B.js} +3 -3
  239. package/dist/{testimonials-G6Z327H6.js → testimonials-OJV7EFGS.js} +7 -7
  240. package/dist/{top-companies-QY6HO4NF.js → top-companies-IZQOKMBU.js} +3 -3
  241. package/dist/{transcript-LWREF7CB.js → transcript-K6W7VRA5.js} +3 -3
  242. package/dist/{translate-UUDDDYOQ.js → translate-M6W6KZZS.js} +13 -13
  243. package/dist/{triggers-RXUVP5CL.js → triggers-CQFQSODZ.js} +3 -3
  244. package/dist/{unlink-6JN54ATU.js → unlink-ITGOP2YH.js} +3 -3
  245. package/dist/{unstage-WPBGIMDW.js → unstage-EAUF74PI.js} +3 -3
  246. package/dist/{update-KKNDQ6FN.js → update-GX26VDM4.js} +3 -3
  247. package/dist/{update-DCXG3L3J.js → update-HOFM27UT.js} +2 -2
  248. package/dist/{update-OV6PIXJT.js → update-N5NA3JTW.js} +3 -3
  249. package/dist/{update-F6JNU2S2.js → update-PCVDM7HO.js} +3 -3
  250. package/dist/{upload-LSEV74SF.js → upload-3ZGL4WHA.js} +8 -3
  251. package/dist/{upload-LSEV74SF.js.map → upload-3ZGL4WHA.js.map} +1 -1
  252. package/dist/{upload-YY74XE3T.js → upload-SPCZNAUN.js} +13 -6
  253. package/dist/{upload-YY74XE3T.js.map → upload-SPCZNAUN.js.map} +1 -1
  254. package/dist/{url-params-PFZVEDAM.js → url-params-H4LQAYXG.js} +3 -3
  255. package/dist/{use-D3SKAKUU.js → use-HYK67YKZ.js} +2 -2
  256. package/dist/{validate-PL73C4PD.js → validate-XHQ4MIW5.js} +11 -11
  257. package/dist/{videos-DSHCIXAI.js → videos-GY6YCGFH.js} +7 -7
  258. package/dist/{viewer-check-2XOG5HZT.js → viewer-check-UCNIAY7X.js} +6 -6
  259. package/dist/{web-GA6S2AAG.js → web-E7XDCTVJ.js} +3 -3
  260. package/dist/{winning-ads-F6UPR6IO.js → winning-ads-L7FHCD75.js} +3 -3
  261. package/dist/{write-commands-GBMOJMMW.js → write-commands-JESAYUEQ.js} +4 -4
  262. package/dist/{x-QX4JZDM4.js → x-ROAUMBHA.js} +6 -6
  263. package/package.json +1 -1
  264. package/dist/add-CSRB6GVJ.js.map +0 -1
  265. package/dist/chunk-GN623LEL.js.map +0 -1
  266. package/dist/meme-NH4DAORT.js.map +0 -1
  267. /package/dist/{account-ICRVGRGT.js.map → account-DUGYQJEM.js.map} +0 -0
  268. /package/dist/{account-users-ENRQBEV4.js.map → account-users-BXJQ4XZV.js.map} +0 -0
  269. /package/dist/{accounts-MQXVRASU.js.map → accounts-DXQ3DHMB.js.map} +0 -0
  270. /package/dist/{accounts-4ZSFTWKA.js.map → accounts-KXQY6WKR.js.map} +0 -0
  271. /package/dist/{actions-B2GTON6O.js.map → actions-LI43PTFN.js.map} +0 -0
  272. /package/dist/{activecampaign-DCED2LJF.js.map → activecampaign-5A6YHDJW.js.map} +0 -0
  273. /package/dist/{add-JCNXNGDP.js.map → add-W4HEMTFL.js.map} +0 -0
  274. /package/dist/{add-SAPHQL5P.js.map → add-ZSKEB3CI.js.map} +0 -0
  275. /package/dist/{ads-VYMFRGAC.js.map → ads-XXSBCX4B.js.map} +0 -0
  276. /package/dist/{advertisers-A3Q53R2S.js.map → advertisers-KPVUVXZZ.js.map} +0 -0
  277. /package/dist/{analytics-5P5DSD5U.js.map → analytics-4WBRNSUC.js.map} +0 -0
  278. /package/dist/{analytics-XQ3X4EAF.js.map → analytics-XT4ANMLP.js.map} +0 -0
  279. /package/dist/{assign-7UGEPUCD.js.map → assign-SQK4UF3I.js.map} +0 -0
  280. /package/dist/{audience-size-VMGWVYVR.js.map → audience-size-5Y5Q6UVA.js.map} +0 -0
  281. /package/dist/{audit-XG6BYA2E.js.map → audit-GOZNIXNM.js.map} +0 -0
  282. /package/dist/{autocomplete-OOLUPUIJ.js.map → autocomplete-36S76BGA.js.map} +0 -0
  283. /package/dist/{avatars-3GVMDI7P.js.map → avatars-SDQ5LCNG.js.map} +0 -0
  284. /package/dist/{bid-pricing-TRQUA2RV.js.map → bid-pricing-6DFGC6YC.js.map} +0 -0
  285. /package/dist/{brand-E3SSWHCN.js.map → brand-OISTKMY4.js.map} +0 -0
  286. /package/dist/{brief-WLOO3Q5L.js.map → brief-2UXKUTFC.js.map} +0 -0
  287. /package/dist/{campaign-groups-3475EWTI.js.map → campaign-groups-32LDB42N.js.map} +0 -0
  288. /package/dist/{campaign-writes-UIS7E2DP.js.map → campaign-writes-62V55CNW.js.map} +0 -0
  289. /package/dist/{campaigns-OQ6IQKGX.js.map → campaigns-I5GSGZDJ.js.map} +0 -0
  290. /package/dist/{campaigns-LKE7G3YG.js.map → campaigns-OGNE4XHM.js.map} +0 -0
  291. /package/dist/{canvas-W3RF6NGC.js.map → canvas-HGU7FJ34.js.map} +0 -0
  292. /package/dist/{capabilities-HNCOIM5X.js.map → capabilities-EDXVGZXC.js.map} +0 -0
  293. /package/dist/{chats-X6C6DUDX.js.map → chats-HFKSZWZD.js.map} +0 -0
  294. /package/dist/{check-4J2ROARK.js.map → check-GRVUI3LI.js.map} +0 -0
  295. /package/dist/{chunk-WDJIGWL2.js.map → chunk-26UW2GMK.js.map} +0 -0
  296. /package/dist/{chunk-ZGLRYMIR.js.map → chunk-2LGDWOD7.js.map} +0 -0
  297. /package/dist/{chunk-NPBF3YJO.js.map → chunk-37QHT7J4.js.map} +0 -0
  298. /package/dist/{chunk-2UGMSILE.js.map → chunk-5NJQXV4K.js.map} +0 -0
  299. /package/dist/{chunk-PYS733U7.js.map → chunk-724E32DM.js.map} +0 -0
  300. /package/dist/{chunk-SMZRJYV7.js.map → chunk-72JEATZ5.js.map} +0 -0
  301. /package/dist/{chunk-AX5BGR4R.js.map → chunk-72VH4FPY.js.map} +0 -0
  302. /package/dist/{chunk-YUXVZGGB.js.map → chunk-AHZIGJXD.js.map} +0 -0
  303. /package/dist/{chunk-7QRHJJR5.js.map → chunk-AQ6LJ7EI.js.map} +0 -0
  304. /package/dist/{chunk-2NHWXWPB.js.map → chunk-CZTKRP6M.js.map} +0 -0
  305. /package/dist/{chunk-LLBTSJGC.js.map → chunk-DYWKYP7Z.js.map} +0 -0
  306. /package/dist/{chunk-QIMTC2IW.js.map → chunk-EDWW3THE.js.map} +0 -0
  307. /package/dist/{chunk-DZJREPT2.js.map → chunk-G3ZUMNLG.js.map} +0 -0
  308. /package/dist/{chunk-BKLWKZCX.js.map → chunk-GTYVWDCC.js.map} +0 -0
  309. /package/dist/{chunk-2KFN5CS7.js.map → chunk-HHMBHLX6.js.map} +0 -0
  310. /package/dist/{chunk-GQEU6IKZ.js.map → chunk-J6KCVW6N.js.map} +0 -0
  311. /package/dist/{chunk-SDDEECV2.js.map → chunk-KDTSXLY7.js.map} +0 -0
  312. /package/dist/{chunk-6G4CVXIL.js.map → chunk-KE5TI23P.js.map} +0 -0
  313. /package/dist/{chunk-XNGJVOXZ.js.map → chunk-KV4E4KGE.js.map} +0 -0
  314. /package/dist/{chunk-ST5PZM7I.js.map → chunk-KY6Q4WLC.js.map} +0 -0
  315. /package/dist/{chunk-KAOUWSXH.js.map → chunk-LIBSSGE4.js.map} +0 -0
  316. /package/dist/{chunk-DG34CPA6.js.map → chunk-LWN3ZNZU.js.map} +0 -0
  317. /package/dist/{chunk-B5K6KXV2.js.map → chunk-N34A56X7.js.map} +0 -0
  318. /package/dist/{chunk-PU5UKJ33.js.map → chunk-N472TRB4.js.map} +0 -0
  319. /package/dist/{chunk-G4MXOYLJ.js.map → chunk-NPDZ4EO6.js.map} +0 -0
  320. /package/dist/{chunk-OJMALBCI.js.map → chunk-OEH7ANJJ.js.map} +0 -0
  321. /package/dist/{chunk-WP5YCX3O.js.map → chunk-PBKUESJD.js.map} +0 -0
  322. /package/dist/{chunk-GQTSGD5D.js.map → chunk-PZSOJYER.js.map} +0 -0
  323. /package/dist/{chunk-SL2BRBIJ.js.map → chunk-QBCZLD3A.js.map} +0 -0
  324. /package/dist/{chunk-VRTRMQM2.js.map → chunk-QKHH7YNN.js.map} +0 -0
  325. /package/dist/{chunk-ZEK6D6SS.js.map → chunk-SKVQRTDO.js.map} +0 -0
  326. /package/dist/{chunk-CP2A4P2P.js.map → chunk-TXWKDDF6.js.map} +0 -0
  327. /package/dist/{chunk-TS2F2FXW.js.map → chunk-UB34H4VD.js.map} +0 -0
  328. /package/dist/{chunk-WWTTPOVW.js.map → chunk-UZEKIMLY.js.map} +0 -0
  329. /package/dist/{chunk-KPNMSZOM.js.map → chunk-V6N6UBOT.js.map} +0 -0
  330. /package/dist/{chunk-P7ZLJLQH.js.map → chunk-VKYDHIBT.js.map} +0 -0
  331. /package/dist/{chunk-KSQXQMDS.js.map → chunk-WLD443MX.js.map} +0 -0
  332. /package/dist/{chunk-RSLVIXW3.js.map → chunk-WQIHLJAO.js.map} +0 -0
  333. /package/dist/{chunk-BBW7DZPO.js.map → chunk-X2OVFCRC.js.map} +0 -0
  334. /package/dist/{chunk-V3RYJ4K2.js.map → chunk-XGN3BGSL.js.map} +0 -0
  335. /package/dist/{chunk-MDC36LWD.js.map → chunk-YS7T735Q.js.map} +0 -0
  336. /package/dist/{chunk-FHN4QXZN.js.map → chunk-YXUIVOUL.js.map} +0 -0
  337. /package/dist/{claim-RRSGEH6S.js.map → claim-NUUED375.js.map} +0 -0
  338. /package/dist/{companies-L2CN7FG6.js.map → companies-3EKQ6PBV.js.map} +0 -0
  339. /package/dist/{company-JFVUTAVA.js.map → company-35ZI77NI.js.map} +0 -0
  340. /package/dist/{complete-AHUP2SHE.js.map → complete-V2HNULPO.js.map} +0 -0
  341. /package/dist/{connect-HJO52PQR.js.map → connect-77K3A6WK.js.map} +0 -0
  342. /package/dist/{conversation-Q27J7M75.js.map → conversation-MWBPIT4W.js.map} +0 -0
  343. /package/dist/{conversions-6N2OWE6G.js.map → conversions-RXNIACU5.js.map} +0 -0
  344. /package/dist/{create-KQUMF4HV.js.map → create-AE52ZZMG.js.map} +0 -0
  345. /package/dist/{create-FWH3WEUW.js.map → create-L53KW6GN.js.map} +0 -0
  346. /package/dist/{create-NJS7I2JX.js.map → create-RJHGT2S4.js.map} +0 -0
  347. /package/dist/{creatives-U4YGQLOG.js.map → creatives-2JP24JNL.js.map} +0 -0
  348. /package/dist/{creatives-4ODU5S2G.js.map → creatives-UPZU7BLY.js.map} +0 -0
  349. /package/dist/{credentials-EJE4L5WS.js.map → credentials-WRC7ERSS.js.map} +0 -0
  350. /package/dist/{critique-6FULD2C7.js.map → critique-CYV7JQAY.js.map} +0 -0
  351. /package/dist/{critique-EALNNGJ3.js.map → critique-VTNN6A5I.js.map} +0 -0
  352. /package/dist/{crm-ONS4PUP5.js.map → crm-2MZLMSEV.js.map} +0 -0
  353. /package/dist/{crm-MSVXNPKM.js.map → crm-VO6ZBW64.js.map} +0 -0
  354. /package/dist/{customers-DXOLSUXV.js.map → customers-MHQ72YBY.js.map} +0 -0
  355. /package/dist/{delete-XWD37C4T.js.map → delete-5NEAIDA4.js.map} +0 -0
  356. /package/dist/{delete-U7B4N7UA.js.map → delete-6WKVGKRF.js.map} +0 -0
  357. /package/dist/{delete-ELTUNRSD.js.map → delete-QFASUSVU.js.map} +0 -0
  358. /package/dist/{delete-TN47CJK7.js.map → delete-ULI3MVAD.js.map} +0 -0
  359. /package/dist/{demographics-NGWLHRNF.js.map → demographics-5SXTDRFU.js.map} +0 -0
  360. /package/dist/{discard-SBYNAHJX.js.map → discard-P4PGGYYO.js.map} +0 -0
  361. /package/dist/{domain-UGVD7HIA.js.map → domain-RINRCQ5G.js.map} +0 -0
  362. /package/dist/{download-VQCUPJA2.js.map → download-HPYGPNHN.js.map} +0 -0
  363. /package/dist/{draft-3TZYIB5J.js.map → draft-4WPWILSX.js.map} +0 -0
  364. /package/dist/{draft-OA35VOHO.js.map → draft-FWCF4Y6P.js.map} +0 -0
  365. /package/dist/{draft-6V73CF5P.js.map → draft-M7XINDQU.js.map} +0 -0
  366. /package/dist/{experiments-32DRJBJB.js.map → experiments-NULZPBF2.js.map} +0 -0
  367. /package/dist/{facets-462KAZH7.js.map → facets-HIADYZQQ.js.map} +0 -0
  368. /package/dist/{feedback-AWWQN2MR.js.map → feedback-WEZEKTCH.js.map} +0 -0
  369. /package/dist/{feedback-ME5HYWT5.js.map → feedback-Y4AXR354.js.map} +0 -0
  370. /package/dist/{feedback-record-G6N3MFMC.js.map → feedback-record-YZNGRSNR.js.map} +0 -0
  371. /package/dist/{fetch-HVBXROZY.js.map → fetch-T6WPGAWP.js.map} +0 -0
  372. /package/dist/{fit-XNWSY3ZM.js.map → fit-MLDFA4ZK.js.map} +0 -0
  373. /package/dist/{flows-AX4LSQYT.js.map → flows-XWU2XNYP.js.map} +0 -0
  374. /package/dist/{fonts-AZCIRKB4.js.map → fonts-RV5KUGFE.js.map} +0 -0
  375. /package/dist/{forecast-ALJGK6RQ.js.map → forecast-E5QXQFKQ.js.map} +0 -0
  376. /package/dist/{funnel-HLYGJU64.js.map → funnel-NMC3JWTF.js.map} +0 -0
  377. /package/dist/{get-KQ46JY6B.js.map → get-AKTMYS57.js.map} +0 -0
  378. /package/dist/{get-ZLCZOCUH.js.map → get-JQE7XWKL.js.map} +0 -0
  379. /package/dist/{get-4NDYA3G6.js.map → get-MK6M4DKF.js.map} +0 -0
  380. /package/dist/{get-JX5JVWH7.js.map → get-QS2A6YVM.js.map} +0 -0
  381. /package/dist/{get-KNP2EQRI.js.map → get-UFCNLDE2.js.map} +0 -0
  382. /package/dist/{google-ads-DYGNJEIT.js.map → google-ads-AFJV5ZJO.js.map} +0 -0
  383. /package/dist/{history-H2MGZGPB.js.map → history-6RCRBB4Q.js.map} +0 -0
  384. /package/dist/{history-W25VPQ57.js.map → history-T6Y5IR4V.js.map} +0 -0
  385. /package/dist/{hubspot-D3TFC24J.js.map → hubspot-SNLOCDPF.js.map} +0 -0
  386. /package/dist/{ideas-5AEA2RPO.js.map → ideas-VTBVERCN.js.map} +0 -0
  387. /package/dist/{images-WL3KB35N.js.map → images-36DGQZMH.js.map} +0 -0
  388. /package/dist/{ingest-5EFT6PCW.js.map → ingest-OJV3CYYK.js.map} +0 -0
  389. /package/dist/{inspect-4NWXVI4R.js.map → inspect-6P2WNFAC.js.map} +0 -0
  390. /package/dist/{keyword-metrics-CXGNLERO.js.map → keyword-metrics-IDMR3ES2.js.map} +0 -0
  391. /package/dist/{keywords-for-site-OYMDRMMX.js.map → keywords-for-site-V3SGYZDW.js.map} +0 -0
  392. /package/dist/{landing-PECCKQSW.js.map → landing-7PZPYD3M.js.map} +0 -0
  393. /package/dist/{leads-GUA2XYPF.js.map → leads-TWABHSJH.js.map} +0 -0
  394. /package/dist/{learn-ZRVONGFT.js.map → learn-MXJSGDVI.js.map} +0 -0
  395. /package/dist/{line-item-writes-4FGW42W4.js.map → line-item-writes-2R7VSOWO.js.map} +0 -0
  396. /package/dist/{line-items-BX2D3T6S.js.map → line-items-MY6JP2W6.js.map} +0 -0
  397. /package/dist/{link-JUNNBOUE.js.map → link-LR5LSFTA.js.map} +0 -0
  398. /package/dist/{linkedin-6NRMXGBT.js.map → linkedin-UJEBBO7G.js.map} +0 -0
  399. /package/dist/{linkedin-person-QJ7BREUI.js.map → linkedin-person-5LJEMW54.js.map} +0 -0
  400. /package/dist/{list-DPQMPO2N.js.map → list-5O5NB56G.js.map} +0 -0
  401. /package/dist/{list-4PB3SUMX.js.map → list-6AAKH6UV.js.map} +0 -0
  402. /package/dist/{list-QPTOZWLH.js.map → list-UYQOLFPN.js.map} +0 -0
  403. /package/dist/{log-O3ABCKXB.js.map → log-LPY5KYGP.js.map} +0 -0
  404. /package/dist/{logo-R34AWI4C.js.map → logo-SBIDRBA2.js.map} +0 -0
  405. /package/dist/{make-DS2JT5N4.js.map → make-UK2OYKCZ.js.map} +0 -0
  406. /package/dist/{map-3RDR7QYX.js.map → map-XEJOI63E.js.map} +0 -0
  407. /package/dist/{mcp-G52VGFAY.js.map → mcp-Y43SKNHV.js.map} +0 -0
  408. /package/dist/{media-sources-GJHD737X.js.map → media-sources-POL5DMD4.js.map} +0 -0
  409. /package/dist/{members-ICR3O2XP.js.map → members-5EJVXTE7.js.map} +0 -0
  410. /package/dist/{normalize-WLP2AYUD.js.map → normalize-IOW2V6E7.js.map} +0 -0
  411. /package/dist/{options-G35EJLMF.js.map → options-YD6XFRZV.js.map} +0 -0
  412. /package/dist/{organization-N5XUAYZQ.js.map → organization-KORFOK7Q.js.map} +0 -0
  413. /package/dist/{performance-YT2MD4R6.js.map → performance-BXSNPNC3.js.map} +0 -0
  414. /package/dist/{performance-KHP7T3X7.js.map → performance-Z353JXHB.js.map} +0 -0
  415. /package/dist/{posts-F7NFSUHV.js.map → posts-K3QTBX2B.js.map} +0 -0
  416. /package/dist/{preview-YXDLYCIA.js.map → preview-3UGPTK44.js.map} +0 -0
  417. /package/dist/{promoted-tweet-writes-JTGHVR6D.js.map → promoted-tweet-writes-3D6GG6K4.js.map} +0 -0
  418. /package/dist/{promoted-tweets-HFUAOQLB.js.map → promoted-tweets-BGQJDEQ2.js.map} +0 -0
  419. /package/dist/{reddit-3KAMZIPT.js.map → reddit-GPSRX4TI.js.map} +0 -0
  420. /package/dist/{refresh-7EH4WBYS.js.map → refresh-3X45Q6ZM.js.map} +0 -0
  421. /package/dist/{release-JLKYLTRG.js.map → release-PE7KBFGK.js.map} +0 -0
  422. /package/dist/{remove-UW5W5FOH.js.map → remove-2A3XDOKA.js.map} +0 -0
  423. /package/dist/{reopen-JULIHAMN.js.map → reopen-LHMLXG6G.js.map} +0 -0
  424. /package/dist/{research-IZSCSXTD.js.map → research-55XA4Z2O.js.map} +0 -0
  425. /package/dist/{research-3BWJCS7N.js.map → research-JN3JGEEL.js.map} +0 -0
  426. /package/dist/{reset-QHZ3OIS6.js.map → reset-C5SDRQTX.js.map} +0 -0
  427. /package/dist/{reset-WAH4GQSV.js.map → reset-IY7GNRLF.js.map} +0 -0
  428. /package/dist/{resolve-AOZWSUYD.js.map → resolve-PCN7BR7U.js.map} +0 -0
  429. /package/dist/{retry-UQ4OOYEZ.js.map → retry-2KYMH2IV.js.map} +0 -0
  430. /package/dist/{retry-XASANWPI.js.map → retry-KUWJ4GGA.js.map} +0 -0
  431. /package/dist/{revenue-YGPP7K6U.js.map → revenue-CRZRJJ7H.js.map} +0 -0
  432. /package/dist/{rules-V4I5BVKB.js.map → rules-EKOXAK2O.js.map} +0 -0
  433. /package/dist/{rules-add-U2Z56SMZ.js.map → rules-add-IC3SXNYW.js.map} +0 -0
  434. /package/dist/{run-YNVT5DYJ.js.map → run-WUD5U5GY.js.map} +0 -0
  435. /package/dist/{run-M5FRUIAM.js.map → run-Y4SEFETX.js.map} +0 -0
  436. /package/dist/{scaffold-ad-HGI3JCBY.js.map → scaffold-ad-OJ4WOJM6.js.map} +0 -0
  437. /package/dist/{scaffold-video-WEHH3SO6.js.map → scaffold-video-7PDZZSKD.js.map} +0 -0
  438. /package/dist/{schedule-7T2DKJZ3.js.map → schedule-VCL2OPIL.js.map} +0 -0
  439. /package/dist/{scheduled-agents-MKKHCNI6.js.map → scheduled-agents-YAHYCFDA.js.map} +0 -0
  440. /package/dist/{schema-ID4NETCM.js.map → schema-L6DGAUB5.js.map} +0 -0
  441. /package/dist/{search-XYENZFAC.js.map → search-OUJUEORX.js.map} +0 -0
  442. /package/dist/{select-7E6J2FDA.js.map → select-R3NT7OI4.js.map} +0 -0
  443. /package/dist/{set-prompt-BNKY5NSE.js.map → set-prompt-F3SYRT22.js.map} +0 -0
  444. /package/dist/{setup-links-QV3LBVGK.js.map → setup-links-AHWFGUAO.js.map} +0 -0
  445. /package/dist/{shopify-C5I3XHPR.js.map → shopify-BPQCUFFX.js.map} +0 -0
  446. /package/dist/{site-NUQ5DHOQ.js.map → site-KYB2EL72.js.map} +0 -0
  447. /package/dist/{sources-KS44MMM7.js.map → sources-JYOOLCOU.js.map} +0 -0
  448. /package/dist/{sources-IVSFKLP6.js.map → sources-X4URMRLY.js.map} +0 -0
  449. /package/dist/{stale-E32VHTTJ.js.map → stale-KFVY7LSB.js.map} +0 -0
  450. /package/dist/{status-PPTYL45B.js.map → status-YVRZBK56.js.map} +0 -0
  451. /package/dist/{sync-G3LSQL6F.js.map → sync-KJEXXD3P.js.map} +0 -0
  452. /package/dist/{sync-definition-DR6BUB5O.js.map → sync-definition-BQUVWLCC.js.map} +0 -0
  453. /package/dist/{tags-O6LGADB6.js.map → tags-7CEVWFEZ.js.map} +0 -0
  454. /package/dist/{tags-BYLXFP34.js.map → tags-BU4KLB37.js.map} +0 -0
  455. /package/dist/{tags-FMX7R65M.js.map → tags-HKR2GWXV.js.map} +0 -0
  456. /package/dist/{tags-PXAPGDQB.js.map → tags-SKGPECNG.js.map} +0 -0
  457. /package/dist/{tags-DHQQ3IWD.js.map → tags-ZLPLHP2G.js.map} +0 -0
  458. /package/dist/{targeting-criteria-KJMRWCLU.js.map → targeting-criteria-4C4M3XLJ.js.map} +0 -0
  459. /package/dist/{targets-2H2YUI2I.js.map → targets-C5K2OH3B.js.map} +0 -0
  460. /package/dist/{testimonials-G6Z327H6.js.map → testimonials-OJV7EFGS.js.map} +0 -0
  461. /package/dist/{top-companies-QY6HO4NF.js.map → top-companies-IZQOKMBU.js.map} +0 -0
  462. /package/dist/{transcript-LWREF7CB.js.map → transcript-K6W7VRA5.js.map} +0 -0
  463. /package/dist/{translate-UUDDDYOQ.js.map → translate-M6W6KZZS.js.map} +0 -0
  464. /package/dist/{triggers-RXUVP5CL.js.map → triggers-CQFQSODZ.js.map} +0 -0
  465. /package/dist/{unlink-6JN54ATU.js.map → unlink-ITGOP2YH.js.map} +0 -0
  466. /package/dist/{unstage-WPBGIMDW.js.map → unstage-EAUF74PI.js.map} +0 -0
  467. /package/dist/{update-KKNDQ6FN.js.map → update-GX26VDM4.js.map} +0 -0
  468. /package/dist/{update-DCXG3L3J.js.map → update-HOFM27UT.js.map} +0 -0
  469. /package/dist/{update-OV6PIXJT.js.map → update-N5NA3JTW.js.map} +0 -0
  470. /package/dist/{update-F6JNU2S2.js.map → update-PCVDM7HO.js.map} +0 -0
  471. /package/dist/{url-params-PFZVEDAM.js.map → url-params-H4LQAYXG.js.map} +0 -0
  472. /package/dist/{use-D3SKAKUU.js.map → use-HYK67YKZ.js.map} +0 -0
  473. /package/dist/{validate-PL73C4PD.js.map → validate-XHQ4MIW5.js.map} +0 -0
  474. /package/dist/{videos-DSHCIXAI.js.map → videos-GY6YCGFH.js.map} +0 -0
  475. /package/dist/{viewer-check-2XOG5HZT.js.map → viewer-check-UCNIAY7X.js.map} +0 -0
  476. /package/dist/{web-GA6S2AAG.js.map → web-E7XDCTVJ.js.map} +0 -0
  477. /package/dist/{winning-ads-F6UPR6IO.js.map → winning-ads-L7FHCD75.js.map} +0 -0
  478. /package/dist/{write-commands-GBMOJMMW.js.map → write-commands-JESAYUEQ.js.map} +0 -0
  479. /package/dist/{x-QX4JZDM4.js.map → x-ROAUMBHA.js.map} +0 -0
@@ -2,9 +2,9 @@ import {
2
2
  failApi,
3
3
  failValidation,
4
4
  validateScheduledAgentRef
5
- } from "./chunk-6G4CVXIL.js";
5
+ } from "./chunk-KE5TI23P.js";
6
6
  import "./chunk-WR5Y64OE.js";
7
- import "./chunk-MVTPNWRQ.js";
7
+ import "./chunk-TK7VRZKM.js";
8
8
  import "./chunk-QV6AST5T.js";
9
9
  import "./chunk-WCU362Z6.js";
10
10
  import "./chunk-GIWHHCD6.js";
@@ -99,4 +99,4 @@ function historyOnly(raw) {
99
99
  export {
100
100
  historyCommand
101
101
  };
102
- //# sourceMappingURL=history-W25VPQ57.js.map
102
+ //# sourceMappingURL=history-T6Y5IR4V.js.map
@@ -1,12 +1,12 @@
1
- import "./chunk-BKLWKZCX.js";
1
+ import "./chunk-GTYVWDCC.js";
2
2
  import {
3
3
  failNotConnected
4
- } from "./chunk-SMZRJYV7.js";
4
+ } from "./chunk-72JEATZ5.js";
5
5
  import "./chunk-NKQWDEB7.js";
6
- import "./chunk-LLBTSJGC.js";
6
+ import "./chunk-DYWKYP7Z.js";
7
7
  import {
8
8
  HUBSPOT_OPERATORS
9
- } from "./chunk-MVTPNWRQ.js";
9
+ } from "./chunk-TK7VRZKM.js";
10
10
  import "./chunk-QV6AST5T.js";
11
11
  import "./chunk-WCU362Z6.js";
12
12
  import "./chunk-GIWHHCD6.js";
@@ -688,7 +688,7 @@ var dealsCommand = defineCommand({
688
688
  description: "Deals on the connected HubSpot account: the deals themselves with amount and stage (`list`), and what a HubSpot event on a deal can watch (`properties`) and read (`fields`)."
689
689
  },
690
690
  subCommands: {
691
- list: () => import("./crm-MSVXNPKM.js").then((m) => m.dealsListCommand),
691
+ list: () => import("./crm-VO6ZBW64.js").then((m) => m.dealsListCommand),
692
692
  properties: propertiesCommand("deal"),
693
693
  fields: fieldsCommand("deal")
694
694
  }
@@ -711,7 +711,7 @@ var contactsCommand = defineCommand({
711
711
  });
712
712
  var companiesCommand = defineCommand({
713
713
  meta: { name: "companies", description: "Companies (accounts) in the connected HubSpot CRM." },
714
- subCommands: { search: () => import("./crm-MSVXNPKM.js").then((m) => m.companiesSearchCommand) }
714
+ subCommands: { search: () => import("./crm-VO6ZBW64.js").then((m) => m.companiesSearchCommand) }
715
715
  });
716
716
  var formsCommand = defineCommand({
717
717
  meta: { name: "forms", description: "HubSpot forms on the connected account." },
@@ -779,4 +779,4 @@ export {
779
779
  hubspotCommand,
780
780
  workflowViewHints
781
781
  };
782
- //# sourceMappingURL=hubspot-D3TFC24J.js.map
782
+ //# sourceMappingURL=hubspot-SNLOCDPF.js.map
@@ -11,7 +11,8 @@ import {
11
11
  import {
12
12
  OUTPUT_ARGS,
13
13
  writeProviderHits
14
- } from "./chunk-IAZKXDWV.js";
14
+ } from "./chunk-KNA3OWJC.js";
15
+ import "./chunk-I7OJZ7QE.js";
15
16
  import {
16
17
  ApiError,
17
18
  apiPost
@@ -134,4 +135,4 @@ export {
134
135
  iconCommand,
135
136
  isBrandMarkLookup
136
137
  };
137
- //# sourceMappingURL=icon-2237C4LP.js.map
138
+ //# sourceMappingURL=icon-CYUIAFTE.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/images/icon.ts"],"sourcesContent":["import type { ImagesIconRequest, ImagesIconResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { AUTO_INGEST_MAX, parseAutoIngest } from \"./autoIngest.ts\";\nimport { brandVerificationHints } from \"./brandVerification.ts\";\nimport { OUTPUT_ARGS, writeProviderHits } from \"./providerHits.ts\";\nimport { emptyResultHints } from \"./searchHints.ts\";\n\n/** Sets whose icons are company marks — the ones a wrong match ships somebody\n * else's brand from, exactly as Brandfetch does. */\nconst BRAND_MARK_SETS = new Set([\"simple-icons\", \"logos\", \"devicon\", \"cib\", \"fa6-brands\", \"fa-brands\", \"skill-icons\"]);\n\n/** Does this lookup name a brand mark? `--set logos` does; so does `logos:stripe`. */\nexport function isBrandMarkLookup(name: string, set: string | undefined): boolean {\n if (set && BRAND_MARK_SETS.has(set)) {\n return true;\n }\n const prefix = name.includes(\":\") ? name.split(\":\")[0] : undefined;\n return prefix !== undefined && BRAND_MARK_SETS.has(prefix);\n}\n\nregisterSchema({\n command: \"images.icon\",\n description: \"Icon lookup via Iconify (200+ icon sets, free CDN).\",\n args: {\n name: { type: \"string\", description: \"Icon name (or prefixed 'lucide:check')\", required: true },\n set: {\n type: \"string\",\n description: \"Iconify set (simple-icons, logos, lucide, devicon, heroicons, tabler, …)\",\n required: false,\n },\n color: { type: \"string\", description: \"Hex color (replaces currentColor)\", required: false },\n width: { type: \"number\", description: \"Render width in px\", required: false },\n \"auto-ingest\": {\n type: \"number\",\n description: `Auto-ingest top N hits (0-${AUTO_INGEST_MAX.icon}, default 0). The Iconify CDN URL is stable so ingest is opt-in.`,\n required: false,\n default: 0,\n },\n context: {\n type: \"string\",\n description:\n \"Free-text hint applied to ingested icons (e.g. 'Stripe integration logo', 'feature checklist icon')\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n});\n\nexport const iconCommand = defineCommand({\n meta: {\n name: \"icon\",\n description:\n \"Icon via Iconify (simple-icons, logos, lucide, devicon, heroicons, tabler, phosphor, material-symbols, …). Free CDN, no API key.\\n\\nExample: baker images icon react --set devicon\\nExample: baker images icon lucide:check --color '#0a0a0a'\",\n },\n args: {\n name: { type: \"positional\", description: \"Icon name or prefixed id\", required: false },\n set: { type: \"string\", description: \"Iconify set\", required: false },\n color: { type: \"string\", description: \"Hex color\", required: false },\n width: { type: \"string\", description: \"Width in px\", required: false },\n \"auto-ingest\": { type: \"string\", description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.icon})`, required: false },\n context: { type: \"string\", description: \"Description context hint applied to ingested icons\", required: false },\n ...OUTPUT_ARGS,\n },\n run: async ({ args }) => {\n try {\n const name = args.name as string | undefined;\n if (!name) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Icon name is required\" } });\n process.exit(1);\n }\n const body: ImagesIconRequest = { name };\n const set = args.set as string | undefined;\n if (set) body.set = set;\n if (args.color) body.color = args.color as string;\n if (args.width) body.width = Number(args.width);\n if (args[\"auto-ingest\"] !== undefined) {\n const parsed = parseAutoIngest(args[\"auto-ingest\"], AUTO_INGEST_MAX.icon);\n if (!parsed.ok) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: parsed.message,\n fix: {\n action: \"retry_with_changes\",\n explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.icon}.`,\n },\n },\n });\n process.exit(1);\n }\n body.autoIngest = parsed.value;\n }\n if (args.context) body.descriptionContext = args.context as string;\n\n const data = await apiPost<ImagesIconResponse>(\"/api/images/icon\", body);\n const hints = [\n // A brand-mark set matches on the icon slug, so it mis-ships another\n // company's mark the same way Brandfetch does — same check applies.\n ...(isBrandMarkLookup(name, set)\n ? brandVerificationHints({\n domain: name,\n ingested: data.ingested,\n hitCount: data.hits.length,\n recover: \"`baker images logo <the brand's domain>`, which resolves the brand's own published mark\",\n })\n : []),\n ...emptyResultHints({ provider: \"icon\", hitCount: data.hits.length, activeFilters: [], subject: name }),\n ];\n writeProviderHits(data, data.hits, args as Record<string, unknown>, hints);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/commands/images/icon.ts"],"sourcesContent":["import type { ImagesIconRequest, ImagesIconResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { AUTO_INGEST_MAX, parseAutoIngest } from \"./autoIngest.ts\";\nimport { brandVerificationHints } from \"./brandVerification.ts\";\nimport { OUTPUT_ARGS, writeProviderHits } from \"./providerHits.ts\";\nimport { emptyResultHints } from \"./searchHints.ts\";\n\n/** Sets whose icons are company marks — the ones a wrong match ships somebody\n * else's brand from, exactly as Brandfetch does. */\nconst BRAND_MARK_SETS = new Set([\"simple-icons\", \"logos\", \"devicon\", \"cib\", \"fa6-brands\", \"fa-brands\", \"skill-icons\"]);\n\n/** Does this lookup name a brand mark? `--set logos` does; so does `logos:stripe`. */\nexport function isBrandMarkLookup(name: string, set: string | undefined): boolean {\n if (set && BRAND_MARK_SETS.has(set)) {\n return true;\n }\n const prefix = name.includes(\":\") ? name.split(\":\")[0] : undefined;\n return prefix !== undefined && BRAND_MARK_SETS.has(prefix);\n}\n\nregisterSchema({\n command: \"images.icon\",\n description: \"Icon lookup via Iconify (200+ icon sets, free CDN).\",\n args: {\n name: { type: \"string\", description: \"Icon name (or prefixed 'lucide:check')\", required: true },\n set: {\n type: \"string\",\n description: \"Iconify set (simple-icons, logos, lucide, devicon, heroicons, tabler, …)\",\n required: false,\n },\n color: { type: \"string\", description: \"Hex color (replaces currentColor)\", required: false },\n width: { type: \"number\", description: \"Render width in px\", required: false },\n \"auto-ingest\": {\n type: \"number\",\n description: `Auto-ingest top N hits (0-${AUTO_INGEST_MAX.icon}, default 0). The Iconify CDN URL is stable so ingest is opt-in.`,\n required: false,\n default: 0,\n },\n context: {\n type: \"string\",\n description:\n \"Free-text hint applied to ingested icons (e.g. 'Stripe integration logo', 'feature checklist icon')\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n});\n\nexport const iconCommand = defineCommand({\n meta: {\n name: \"icon\",\n description:\n \"Icon via Iconify (simple-icons, logos, lucide, devicon, heroicons, tabler, phosphor, material-symbols, …). Free CDN, no API key.\\n\\nExample: baker images icon react --set devicon\\nExample: baker images icon lucide:check --color '#0a0a0a'\",\n },\n args: {\n name: { type: \"positional\", description: \"Icon name or prefixed id\", required: false },\n set: { type: \"string\", description: \"Iconify set\", required: false },\n color: { type: \"string\", description: \"Hex color\", required: false },\n width: { type: \"string\", description: \"Width in px\", required: false },\n \"auto-ingest\": { type: \"string\", description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.icon})`, required: false },\n context: { type: \"string\", description: \"Description context hint applied to ingested icons\", required: false },\n ...OUTPUT_ARGS,\n },\n run: async ({ args }) => {\n try {\n const name = args.name as string | undefined;\n if (!name) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Icon name is required\" } });\n process.exit(1);\n }\n const body: ImagesIconRequest = { name };\n const set = args.set as string | undefined;\n if (set) body.set = set;\n if (args.color) body.color = args.color as string;\n if (args.width) body.width = Number(args.width);\n if (args[\"auto-ingest\"] !== undefined) {\n const parsed = parseAutoIngest(args[\"auto-ingest\"], AUTO_INGEST_MAX.icon);\n if (!parsed.ok) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: parsed.message,\n fix: {\n action: \"retry_with_changes\",\n explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.icon}.`,\n },\n },\n });\n process.exit(1);\n }\n body.autoIngest = parsed.value;\n }\n if (args.context) body.descriptionContext = args.context as string;\n\n const data = await apiPost<ImagesIconResponse>(\"/api/images/icon\", body);\n const hints = [\n // A brand-mark set matches on the icon slug, so it mis-ships another\n // company's mark the same way Brandfetch does — same check applies.\n ...(isBrandMarkLookup(name, set)\n ? brandVerificationHints({\n domain: name,\n ingested: data.ingested,\n hitCount: data.hits.length,\n recover: \"`baker images logo <the brand's domain>`, which resolves the brand's own published mark\",\n })\n : []),\n ...emptyResultHints({ provider: \"icon\", hitCount: data.hits.length, activeFilters: [], subject: name }),\n ];\n writeProviderHits(data, data.hits, args as Record<string, unknown>, hints);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -4,11 +4,11 @@ import {
4
4
  ideasCommand,
5
5
  ideasHints,
6
6
  ideasReport
7
- } from "./chunk-ZGLRYMIR.js";
7
+ } from "./chunk-2LGDWOD7.js";
8
8
  import "./chunk-QFODAMYR.js";
9
9
  import "./chunk-EKX37C3T.js";
10
10
  import "./chunk-Q5DFEVLE.js";
11
- import "./chunk-QIMTC2IW.js";
11
+ import "./chunk-EDWW3THE.js";
12
12
  import "./chunk-UKZKLXTE.js";
13
13
  import "./chunk-KDAINT54.js";
14
14
  import "./chunk-4H6XLX7E.js";
@@ -22,7 +22,7 @@ import "./chunk-E56V3RFO.js";
22
22
  import "./chunk-EL3TDR5S.js";
23
23
  import "./chunk-G6U45QD3.js";
24
24
  import "./chunk-X6U3B6YK.js";
25
- import "./chunk-MVTPNWRQ.js";
25
+ import "./chunk-TK7VRZKM.js";
26
26
  import "./chunk-QV6AST5T.js";
27
27
  import "./chunk-WCU362Z6.js";
28
28
  import "./chunk-GIWHHCD6.js";
@@ -42,4 +42,4 @@ export {
42
42
  ideasHints,
43
43
  ideasReport
44
44
  };
45
- //# sourceMappingURL=ideas-5AEA2RPO.js.map
45
+ //# sourceMappingURL=ideas-VTBVERCN.js.map
@@ -55,26 +55,26 @@ Paid transforms (run on the Convex backend, cost-tracked):
55
55
  Full guide: __tooling__/docs/tools/baker/images.md`
56
56
  },
57
57
  subCommands: {
58
- get: () => import("./get-JX5JVWH7.js").then((m) => m.getCommand),
58
+ get: () => import("./get-QS2A6YVM.js").then((m) => m.getCommand),
59
59
  group: () => import("./group-RAXOR36M.js").then((m) => m.groupCommand),
60
- library: () => import("./library-RZI7QHRV.js").then((m) => m.libraryCommand),
61
- find: () => import("./find-UB4JSORZ.js").then((m) => m.findCommand),
62
- stock: () => import("./stock-3FZPID6C.js").then((m) => m.stockCommand),
63
- google: () => import("./google-CLX7IUEE.js").then((m) => m.googleCommand),
64
- pinterest: () => import("./pinterest-KZ7RIHRS.js").then((m) => m.pinterestCommand),
65
- logo: () => import("./logo-R34AWI4C.js").then((m) => m.logoCommand),
66
- icon: () => import("./icon-2237C4LP.js").then((m) => m.iconCommand),
67
- meme: () => import("./meme-NH4DAORT.js").then((m) => m.memeCommand),
68
- gif: () => import("./gif-6244RM75.js").then((m) => m.gifCommand),
69
- sticker: () => import("./sticker-GXCI4WL5.js").then((m) => m.stickerCommand),
70
- extract: () => import("./extract-WEEJ6FTG.js").then((m) => m.extractCommand),
71
- screenshot: () => import("./screenshot-YRYAOP5E.js").then((m) => m.screenshotCommand),
72
- ingest: () => import("./ingest-3O4C75SL.js").then((m) => m.ingestCommand),
73
- use: () => import("./use-D3SKAKUU.js").then((m) => m.useCommand),
60
+ library: () => import("./library-F4GB5X6G.js").then((m) => m.libraryCommand),
61
+ find: () => import("./find-TTJH5NVJ.js").then((m) => m.findCommand),
62
+ stock: () => import("./stock-IAQBUPGQ.js").then((m) => m.stockCommand),
63
+ google: () => import("./google-YDGZ2Q3M.js").then((m) => m.googleCommand),
64
+ pinterest: () => import("./pinterest-42NLOZW4.js").then((m) => m.pinterestCommand),
65
+ logo: () => import("./logo-SBIDRBA2.js").then((m) => m.logoCommand),
66
+ icon: () => import("./icon-CYUIAFTE.js").then((m) => m.iconCommand),
67
+ meme: () => import("./meme-VR3IHBRW.js").then((m) => m.memeCommand),
68
+ gif: () => import("./gif-TBKH7VSP.js").then((m) => m.gifCommand),
69
+ sticker: () => import("./sticker-HMHR7QM7.js").then((m) => m.stickerCommand),
70
+ extract: () => import("./extract-Y3OZG5DZ.js").then((m) => m.extractCommand),
71
+ screenshot: () => import("./screenshot-RR6RA6CN.js").then((m) => m.screenshotCommand),
72
+ ingest: () => import("./ingest-MLIOEHL3.js").then((m) => m.ingestCommand),
73
+ use: () => import("./use-HYK67YKZ.js").then((m) => m.useCommand),
74
74
  search: () => import("./search-E75B5APM.js").then((m) => m.searchCommand),
75
- upload: () => import("./upload-LSEV74SF.js").then((m) => m.uploadCommand),
76
- delete: () => import("./delete-XWD37C4T.js").then((m) => m.deleteCommand),
77
- retry: () => import("./retry-UQ4OOYEZ.js").then((m) => m.retryCommand),
75
+ upload: () => import("./upload-3ZGL4WHA.js").then((m) => m.uploadCommand),
76
+ delete: () => import("./delete-5NEAIDA4.js").then((m) => m.deleteCommand),
77
+ retry: () => import("./retry-2KYMH2IV.js").then((m) => m.retryCommand),
78
78
  describe: () => import("./describe-MJ5SOVWY.js").then((m) => m.describeCommand),
79
79
  download: () => import("./download-H3ZDQTFG.js").then((m) => m.downloadCommand),
80
80
  normalize: () => import("./normalize-M3VMWF4W.js").then((m) => m.normalizeCommand),
@@ -83,10 +83,10 @@ Full guide: __tooling__/docs/tools/baker/images.md`
83
83
  layerize: () => import("./layerize-SX6LQK35.js").then((m) => m.layerizeCommand),
84
84
  layers: () => import("./layerize-SX6LQK35.js").then((m) => m.layersCommand),
85
85
  upscale: () => import("./upscale-X3B5CHG3.js").then((m) => m.upscaleCommand),
86
- tags: () => import("./tags-O6LGADB6.js").then((m) => m.tagsCommand)
86
+ tags: () => import("./tags-7CEVWFEZ.js").then((m) => m.tagsCommand)
87
87
  }
88
88
  });
89
89
  export {
90
90
  imagesCommand
91
91
  };
92
- //# sourceMappingURL=images-WL3KB35N.js.map
92
+ //# sourceMappingURL=images-36DGQZMH.js.map
@@ -2,10 +2,13 @@ import {
2
2
  eachTarget,
3
3
  positionalTargets,
4
4
  writeTargetRows
5
- } from "./chunk-UGRL642V.js";
5
+ } from "./chunk-BS4PRGEJ.js";
6
+ import {
7
+ librarySaveHint
8
+ } from "./chunk-I7OJZ7QE.js";
6
9
  import {
7
10
  imageSourceSchema
8
- } from "./chunk-MVTPNWRQ.js";
11
+ } from "./chunk-TK7VRZKM.js";
9
12
  import "./chunk-QV6AST5T.js";
10
13
  import "./chunk-WCU362Z6.js";
11
14
  import "./chunk-GIWHHCD6.js";
@@ -106,7 +109,12 @@ Examples:
106
109
  if (args.context) body.descriptionContext = args.context;
107
110
  return { url, ...await apiPost("/api/images/ingest", body) };
108
111
  });
112
+ const saved = librarySaveHint(
113
+ "image library",
114
+ outcomes.flatMap((outcome) => outcome.ok && !outcome.data.deduped ? [outcome.data.imageId] : [])
115
+ );
109
116
  writeTargetRows(outcomes, {
117
+ hints: saved ? [saved] : [],
110
118
  format: args.output || "json",
111
119
  fields: args.fields ? args.fields.split(",") : void 0,
112
120
  normalizer: (record) => record
@@ -120,4 +128,4 @@ Examples:
120
128
  export {
121
129
  ingestCommand
122
130
  };
123
- //# sourceMappingURL=ingest-3O4C75SL.js.map
131
+ //# sourceMappingURL=ingest-MLIOEHL3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/images/ingest.ts"],"sourcesContent":["import { type ImagesIngestRequest, type ImagesIngestResponse, imageSourceSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { eachTarget, positionalTargets, writeTargetRows } from \"../../lib/batchTargets.ts\";\nimport { type OutputFormat, writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\n\n// The enum lives in @baker/api. Spelling it out here rather than describing it\n// as \"enum\" is the difference between one call and two: the value set was only\n// discoverable by sending a wrong one and reading the server's rejection.\nconst SOURCE_VALUES = imageSourceSchema.options.join(\" | \");\n\nregisterSchema({\n command: \"images.ingest\",\n description:\n \"Ingest remote image URLs into the library (full describe + embed). Several URLs run at once and return one row each.\",\n args: {\n url: { type: \"string\", description: \"Image URL to ingest; pass several to store them at once\", required: true },\n source: { type: \"string\", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: true },\n \"external-id\": { type: \"string\", description: \"Provider asset id\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL\", required: false },\n context: { type: \"string\", description: \"Description context hint\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n },\n});\n\nexport const ingestCommand = defineCommand({\n meta: {\n name: \"ingest\",\n description:\n 'Download remote URLs and store them in the library. Hash-deduped on bytes + externalId. Several URLs are stored at once with one row each — pass them all in one call rather than looping; --context applies to every one.\\n\\nExamples:\\n baker images ingest https://images.pexels.com/photos/13219418/pexels-photo-13219418.jpeg --source pexels --external-id 13219418\\n baker images ingest https://acme.com/a.jpg https://acme.com/b.jpg --source website --context \"Acme\\'s own team photos\"',\n },\n args: {\n url: { type: \"positional\", description: \"Image URL; pass several to store them at once\", required: false },\n source: { type: \"string\", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: false },\n \"external-id\": { type: \"string\", description: \"Provider asset id\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL\", required: false },\n context: { type: \"string\", description: \"Description context\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n },\n run: async ({ args }) => {\n try {\n const urls = positionalTargets(args);\n const source = args.source as string | undefined;\n if (urls.length === 0) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"URL is required\" } });\n process.exit(1);\n }\n if (urls.length > 1 && (args[\"external-id\"] || args[\"external-url\"])) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"--external-id and --external-url name a single image, so they cannot be used with several URLs.\",\n },\n });\n process.exit(1);\n }\n if (!source) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"--source is required\",\n fix: `Pass one of: ${SOURCE_VALUES}. Use \"website\" for an asset pulled off a company's own site.`,\n },\n });\n process.exit(1);\n }\n // Parse here, not just at the HTTP boundary. A blind cast turned every\n // wrong value into a network round-trip before the agent learned the\n // valid set — which is exactly the boundary this repo says to parse at.\n const parsedSource = imageSourceSchema.safeParse(source);\n if (!parsedSource.success) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `--source \"${source}\" is not a known image source`,\n fix: `Pass one of: ${SOURCE_VALUES}. Use \"website\" for an asset pulled off a company's own site.`,\n },\n });\n process.exit(1);\n }\n const outcomes = await eachTarget(urls, async (url) => {\n const body: ImagesIngestRequest = { url, source: parsedSource.data };\n if (args[\"external-id\"]) body.externalId = args[\"external-id\"] as string;\n if (args[\"external-url\"]) body.externalUrl = args[\"external-url\"] as string;\n if (args.context) body.descriptionContext = args.context as string;\n return { url, ...(await apiPost<ImagesIngestResponse>(\"/api/images/ingest\", body)) };\n });\n // The response is three scalars, not a library row — project it as-is\n // rather than through the image normalizer, which would blank it.\n writeTargetRows(outcomes, {\n format: (args.output as OutputFormat) || \"json\",\n fields: args.fields ? (args.fields as string).split(\",\") : undefined,\n normalizer: (record) => record,\n });\n } catch {\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/commands/images/ingest.ts"],"sourcesContent":["import { type ImagesIngestRequest, type ImagesIngestResponse, imageSourceSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { eachTarget, positionalTargets, writeTargetRows } from \"../../lib/batchTargets.ts\";\nimport { librarySaveHint } from \"../../lib/librarySaves.ts\";\nimport { type OutputFormat, writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\n\n// The enum lives in @baker/api. Spelling it out here rather than describing it\n// as \"enum\" is the difference between one call and two: the value set was only\n// discoverable by sending a wrong one and reading the server's rejection.\nconst SOURCE_VALUES = imageSourceSchema.options.join(\" | \");\n\nregisterSchema({\n command: \"images.ingest\",\n description:\n \"Ingest remote image URLs into the library (full describe + embed). Several URLs run at once and return one row each.\",\n args: {\n url: { type: \"string\", description: \"Image URL to ingest; pass several to store them at once\", required: true },\n source: { type: \"string\", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: true },\n \"external-id\": { type: \"string\", description: \"Provider asset id\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL\", required: false },\n context: { type: \"string\", description: \"Description context hint\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n },\n});\n\nexport const ingestCommand = defineCommand({\n meta: {\n name: \"ingest\",\n description:\n 'Download remote URLs and store them in the library. Hash-deduped on bytes + externalId. Several URLs are stored at once with one row each — pass them all in one call rather than looping; --context applies to every one.\\n\\nExamples:\\n baker images ingest https://images.pexels.com/photos/13219418/pexels-photo-13219418.jpeg --source pexels --external-id 13219418\\n baker images ingest https://acme.com/a.jpg https://acme.com/b.jpg --source website --context \"Acme\\'s own team photos\"',\n },\n args: {\n url: { type: \"positional\", description: \"Image URL; pass several to store them at once\", required: false },\n source: { type: \"string\", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: false },\n \"external-id\": { type: \"string\", description: \"Provider asset id\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL\", required: false },\n context: { type: \"string\", description: \"Description context\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n },\n run: async ({ args }) => {\n try {\n const urls = positionalTargets(args);\n const source = args.source as string | undefined;\n if (urls.length === 0) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"URL is required\" } });\n process.exit(1);\n }\n if (urls.length > 1 && (args[\"external-id\"] || args[\"external-url\"])) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"--external-id and --external-url name a single image, so they cannot be used with several URLs.\",\n },\n });\n process.exit(1);\n }\n if (!source) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"--source is required\",\n fix: `Pass one of: ${SOURCE_VALUES}. Use \"website\" for an asset pulled off a company's own site.`,\n },\n });\n process.exit(1);\n }\n // Parse here, not just at the HTTP boundary. A blind cast turned every\n // wrong value into a network round-trip before the agent learned the\n // valid set — which is exactly the boundary this repo says to parse at.\n const parsedSource = imageSourceSchema.safeParse(source);\n if (!parsedSource.success) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `--source \"${source}\" is not a known image source`,\n fix: `Pass one of: ${SOURCE_VALUES}. Use \"website\" for an asset pulled off a company's own site.`,\n },\n });\n process.exit(1);\n }\n const outcomes = await eachTarget(urls, async (url) => {\n const body: ImagesIngestRequest = { url, source: parsedSource.data };\n if (args[\"external-id\"]) body.externalId = args[\"external-id\"] as string;\n if (args[\"external-url\"]) body.externalUrl = args[\"external-url\"] as string;\n if (args.context) body.descriptionContext = args.context as string;\n return { url, ...(await apiPost<ImagesIngestResponse>(\"/api/images/ingest\", body)) };\n });\n const saved = librarySaveHint(\n \"image library\",\n outcomes.flatMap((outcome) => (outcome.ok && !outcome.data.deduped ? [outcome.data.imageId] : [])),\n );\n // The response is three scalars, not a library row — project it as-is\n // rather than through the image normalizer, which would blank it.\n writeTargetRows(outcomes, {\n hints: saved ? [saved] : [],\n format: (args.output as OutputFormat) || \"json\",\n fields: args.fields ? (args.fields as string).split(\",\") : undefined,\n normalizer: (record) => record,\n });\n } catch {\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -2,11 +2,12 @@ import {
2
2
  ingestCommand,
3
3
  ingestHints,
4
4
  runVideoIngest
5
- } from "./chunk-GN623LEL.js";
5
+ } from "./chunk-4ICSKDI7.js";
6
6
  import "./chunk-FKOECEVC.js";
7
- import "./chunk-UGRL642V.js";
7
+ import "./chunk-BS4PRGEJ.js";
8
+ import "./chunk-I7OJZ7QE.js";
8
9
  import "./chunk-G6U45QD3.js";
9
- import "./chunk-MVTPNWRQ.js";
10
+ import "./chunk-TK7VRZKM.js";
10
11
  import "./chunk-QV6AST5T.js";
11
12
  import "./chunk-WCU362Z6.js";
12
13
  import "./chunk-GIWHHCD6.js";
@@ -24,4 +25,4 @@ export {
24
25
  ingestHints,
25
26
  runVideoIngest
26
27
  };
27
- //# sourceMappingURL=ingest-5EFT6PCW.js.map
28
+ //# sourceMappingURL=ingest-OJV3CYYK.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  fetchRunRecord
3
- } from "./chunk-7QRHJJR5.js";
3
+ } from "./chunk-AQ6LJ7EI.js";
4
4
  import {
5
5
  findWorkspaceRoot
6
6
  } from "./chunk-N3PASNUA.js";
7
7
  import "./chunk-EL3TDR5S.js";
8
8
  import "./chunk-G6U45QD3.js";
9
9
  import "./chunk-X6U3B6YK.js";
10
- import "./chunk-MVTPNWRQ.js";
10
+ import "./chunk-TK7VRZKM.js";
11
11
  import "./chunk-QV6AST5T.js";
12
12
  import "./chunk-WCU362Z6.js";
13
13
  import "./chunk-GIWHHCD6.js";
@@ -189,4 +189,4 @@ async function probeDuration(filePath) {
189
189
  export {
190
190
  inspectCommand
191
191
  };
192
- //# sourceMappingURL=inspect-4NWXVI4R.js.map
192
+ //# sourceMappingURL=inspect-6P2WNFAC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  keywordMetricsHints
3
- } from "./chunk-BBW7DZPO.js";
3
+ } from "./chunk-X2OVFCRC.js";
4
4
  import {
5
5
  RESEARCH_DATA_NOTE,
6
6
  handleResearchError,
@@ -15,7 +15,7 @@ import {
15
15
  import "./chunk-Q2JDS6WL.js";
16
16
  import {
17
17
  RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS
18
- } from "./chunk-MVTPNWRQ.js";
18
+ } from "./chunk-TK7VRZKM.js";
19
19
  import "./chunk-QV6AST5T.js";
20
20
  import "./chunk-WCU362Z6.js";
21
21
  import "./chunk-GIWHHCD6.js";
@@ -197,4 +197,4 @@ Examples:
197
197
  export {
198
198
  keywordMetricsCommand
199
199
  };
200
- //# sourceMappingURL=keyword-metrics-CXGNLERO.js.map
200
+ //# sourceMappingURL=keyword-metrics-IDMR3ES2.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  keywordsForSiteHints
3
- } from "./chunk-BBW7DZPO.js";
3
+ } from "./chunk-X2OVFCRC.js";
4
4
  import {
5
5
  RESEARCH_DATA_NOTE,
6
6
  handleResearchError,
@@ -13,7 +13,7 @@ import {
13
13
  warnDefaults
14
14
  } from "./chunk-FVDC6AKZ.js";
15
15
  import "./chunk-Q2JDS6WL.js";
16
- import "./chunk-MVTPNWRQ.js";
16
+ import "./chunk-TK7VRZKM.js";
17
17
  import "./chunk-QV6AST5T.js";
18
18
  import "./chunk-WCU362Z6.js";
19
19
  import "./chunk-GIWHHCD6.js";
@@ -128,4 +128,4 @@ Examples:
128
128
  export {
129
129
  keywordsForSiteCommand
130
130
  };
131
- //# sourceMappingURL=keywords-for-site-OYMDRMMX.js.map
131
+ //# sourceMappingURL=keywords-for-site-V3SGYZDW.js.map
@@ -17,7 +17,7 @@ Subcommands:
17
17
  },
18
18
  subCommands: {
19
19
  inspiration: () => import("./inspiration-WGUU7W5Z.js").then((m) => m.inspirationCommand),
20
- critique: () => import("./critique-6FULD2C7.js").then((m) => m.critiqueCommand),
20
+ critique: () => import("./critique-CYV7JQAY.js").then((m) => m.critiqueCommand),
21
21
  variant: () => import("./variant-MEHXEXFK.js").then((m) => m.variantCommand),
22
22
  export: () => import("./export-6WWVO4O6.js").then((m) => m.exportCommand)
23
23
  }
@@ -25,4 +25,4 @@ Subcommands:
25
25
  export {
26
26
  landingCommand
27
27
  };
28
- //# sourceMappingURL=landing-PECCKQSW.js.map
28
+ //# sourceMappingURL=landing-7PZPYD3M.js.map
@@ -2,7 +2,7 @@ import {
2
2
  csvOrJson,
3
3
  handleLinkedinError,
4
4
  resolveAccountIdArg
5
- } from "./chunk-GQEU6IKZ.js";
5
+ } from "./chunk-J6KCVW6N.js";
6
6
  import {
7
7
  writeAdsJson,
8
8
  writeAdsOutput
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  NO_CACHE_ARG
12
12
  } from "./chunk-GO6ISZUZ.js";
13
- import "./chunk-MVTPNWRQ.js";
13
+ import "./chunk-TK7VRZKM.js";
14
14
  import "./chunk-QV6AST5T.js";
15
15
  import "./chunk-WCU362Z6.js";
16
16
  import "./chunk-GIWHHCD6.js";
@@ -112,4 +112,4 @@ the option chosen. Form ids are the ones \`baker ads linkedin lead-forms\` lists
112
112
  export {
113
113
  leadsCommand
114
114
  };
115
- //# sourceMappingURL=leads-GUA2XYPF.js.map
115
+ //# sourceMappingURL=leads-TWABHSJH.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  parseDays,
3
3
  withDefinitions
4
- } from "./chunk-WWTTPOVW.js";
4
+ } from "./chunk-UZEKIMLY.js";
5
5
  import {
6
6
  setDefinitionFields
7
7
  } from "./chunk-X3YYZLBH.js";
@@ -23,8 +23,8 @@ import "./chunk-G6U45QD3.js";
23
23
  import "./chunk-X6U3B6YK.js";
24
24
  import {
25
25
  failApi
26
- } from "./chunk-LLBTSJGC.js";
27
- import "./chunk-MVTPNWRQ.js";
26
+ } from "./chunk-DYWKYP7Z.js";
27
+ import "./chunk-TK7VRZKM.js";
28
28
  import "./chunk-QV6AST5T.js";
29
29
  import "./chunk-WCU362Z6.js";
30
30
  import "./chunk-GIWHHCD6.js";
@@ -204,4 +204,4 @@ export {
204
204
  learnCommand,
205
205
  learnEnvelope
206
206
  };
207
- //# sourceMappingURL=learn-ZRVONGFT.js.map
207
+ //# sourceMappingURL=learn-MXJSGDVI.js.map
@@ -4,7 +4,8 @@ import {
4
4
  } from "./chunk-Q6ULQMWG.js";
5
5
  import {
6
6
  readOutputFlags
7
- } from "./chunk-IAZKXDWV.js";
7
+ } from "./chunk-KNA3OWJC.js";
8
+ import "./chunk-I7OJZ7QE.js";
8
9
  import {
9
10
  ApiError,
10
11
  apiPost
@@ -208,4 +209,4 @@ var libraryCommand = defineCommand({
208
209
  export {
209
210
  libraryCommand
210
211
  };
211
- //# sourceMappingURL=library-RZI7QHRV.js.map
212
+ //# sourceMappingURL=library-F4GB5X6G.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/images/library.ts","../src/commands/images/libraryRows.ts"],"sourcesContent":["import type { ImagesSearchResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { writeLibraryRows } from \"./libraryRows.ts\";\nimport { readOutputFlags } from \"./providerHits.ts\";\nimport { activeFilterFlags, emptyResultHints } from \"./searchHints.ts\";\n\nregisterSchema({\n command: \"images.library\",\n description: \"Search the company image library. Returns only ready images.\",\n args: {\n query: { type: \"string\", description: \"Search query text\", required: true },\n limit: { type: \"number\", description: \"Maximum results\", required: false, default: 5 },\n \"min-score\": { type: \"number\", description: \"Minimum relevance score (0-1)\", required: false },\n \"aspect-ratio\": {\n type: \"string\",\n description: \"Filter by aspect ratio (1:1, 16:9, 9:16, 2:3, 3:4, 1:2, 2:1, 4:5, 3:2, 4:3)\",\n required: false,\n },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n source: {\n type: \"string\",\n description:\n \"Filter by source (uploaded, pexels, pixabay, brandfetch, google_images, firecrawl, screenshotone, iconify, giphy, …)\",\n required: false,\n },\n \"external-url-host\": {\n type: \"string\",\n description: \"Filter to library rows whose externalUrl host contains this substring\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: {\n type: \"string\",\n description: \"Comma-separated keys to keep, e.g. --fields _id,imageUrl,subject\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"The whole record (description, tags, palette, analysis) instead of the compact row\",\n required: false,\n default: false,\n },\n },\n});\n\nexport const libraryCommand = defineCommand({\n meta: {\n name: \"library\",\n description:\n \"Search the company image library (hybrid BM25 + vector + rerank). Use this BEFORE any external provider. Each hit is a compact row (_id, name, imageUrl, width, height, subject, brandOwnership, people, textInImage, score, group; empty keys left out); --full gives the whole record.\\n\\nStart here: baker images library 'hero banner' --aspect-ratio 16:9\\nIds and URLs only: baker images library 'logo' --fields _id,imageUrl\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query text\", required: false },\n limit: { type: \"string\", description: \"Max results (default 5)\", required: false },\n \"min-score\": { type: \"string\", description: \"Minimum relevance score (0-1)\", required: false },\n \"aspect-ratio\": { type: \"string\", description: \"Aspect ratio filter\", required: false },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n source: { type: \"string\", description: \"Filter by source\", required: false },\n \"external-url-host\": {\n type: \"string\",\n description: \"Filter library by externalUrl host substring (e.g. competitor.com)\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: {\n type: \"string\",\n description: \"Comma-separated keys to keep\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"The whole record instead of the compact row\",\n required: false,\n default: false,\n },\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Search query is required\" } });\n process.exit(1);\n }\n const body: Record<string, unknown> = { query };\n if (args.limit) body.limit = Number(args.limit);\n if (args[\"aspect-ratio\"]) body.aspectRatio = args[\"aspect-ratio\"];\n if (args.tags) body.tags = (args.tags as string).split(\",\").filter(Boolean);\n if (args.source) body.source = args.source;\n if (args[\"external-url-host\"]) body.externalUrlHost = args[\"external-url-host\"];\n\n let data = await apiPost<ImagesSearchResponse>(\"/api/images/search\", body);\n const minScore = args[\"min-score\"] ? Number(args[\"min-score\"]) : undefined;\n if (minScore !== undefined) {\n data = data.filter((r) => typeof r.score === \"number\" && r.score >= minScore);\n }\n // The library is step 1 of every sourcing recipe, so an empty result is\n // the most common dead end there is — and it used to steer nowhere.\n // `--min-score` counts as a filter here: it is applied client-side above,\n // so it can empty a result the backend actually returned.\n const hints = emptyResultHints({\n provider: \"library\",\n hitCount: data.length,\n activeFilters: activeFilterFlags(args, [\"aspect-ratio\", \"tags\", \"source\", \"external-url-host\", \"min-score\"]),\n subject: query,\n });\n writeLibraryRows(data, readOutputFlags(args as Record<string, unknown>), hints);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n","/**\n * What `baker images library` prints per hit.\n *\n * A library hit arrives from `/api/images/search` as the whole record: the\n * nested `analysis` (style, composition, usage notes, every line of burned-in\n * text), a multi-sentence description, the palette. The JSON default used to\n * print all of it — about 2.4 KB a row, 83 KB for one `--limit 30` call — when\n * picking an image takes its id, its URL, its size and a line saying what it is\n * (BAKER-183). So every format prints the compact row below by default, and\n * `--full` gives the record as the server sent it.\n */\n\nimport { maskEnvelope } from \"../../field-mask.ts\";\nimport { fullImage, type OutputFormat, writeOutput } from \"../../output.ts\";\n\nconst LINE_CHARS = 48;\nconst SUBJECT_CHARS = 120;\n\nexport interface LibraryOutputFlags {\n format: OutputFormat;\n fields: string[] | undefined;\n full: boolean;\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return value && typeof value === \"object\" && !Array.isArray(value) ? (value as Record<string, unknown>) : {};\n}\n\nfunction str(value: unknown): string | null {\n return typeof value === \"string\" && value.length > 0 ? value : null;\n}\n\nfunction num(value: unknown): number | null {\n return typeof value === \"number\" && Number.isFinite(value) ? value : null;\n}\n\nfunction clip(text: string, max: number): string {\n return text.length <= max ? text : `${text.slice(0, max).trimEnd()}…`;\n}\n\n/** Several short lines as one clipped line, or null when there are none. */\nfunction oneLine(lines: string[]): string | null {\n return lines.length === 0 ? null : clip(lines.join(\"; \"), LINE_CHARS);\n}\n\n/** \"customer — Ana Ruiz; actor\": who is in it, without the appearance prose. */\nfunction peopleLine(value: unknown): string | null {\n if (!Array.isArray(value)) return null;\n return oneLine(\n value.flatMap((entry) => {\n const person = asRecord(entry);\n const role = str(person.role);\n if (!role) return [];\n const identity = str(person.identity);\n return [identity ? `${role} — ${identity}` : role];\n }),\n );\n}\n\n/** The start of the burned-in text, enough to tell a dated price or claim; the whole OCR is on --full. */\nfunction textLine(value: unknown): string | null {\n if (!Array.isArray(value)) return null;\n return oneLine(value.filter((line): line is string => typeof line === \"string\" && line.length > 0));\n}\n\n/**\n * The row an agent picks from, every key present so md/files tables keep their\n * columns. Lists print as one line so five hits stay under ~2 KB (BAKER-183).\n */\nexport function compactLibraryRow(row: Record<string, unknown>): Record<string, unknown> {\n const analysis = asRecord(row.analysis);\n const description = str(row.description);\n const score = num(row.score);\n const entries: [string, unknown][] = [\n [\"_id\", String(row._id ?? \"\")],\n [\"name\", String(row.name ?? \"\")],\n [\"imageUrl\", String(row.imageUrl ?? \"\")],\n // Placing a remote <BakerImage> needs both, or the build downloads it to measure.\n [\"width\", num(row.width)],\n [\"height\", num(row.height)],\n [\"subject\", clip(str(analysis.subject) ?? description ?? \"\", SUBJECT_CHARS) || null],\n [\"brandOwnership\", str(analysis.brandOwnership)],\n [\"people\", peopleLine(analysis.people)],\n [\"textInImage\", textLine(analysis.textInImage)],\n [\"score\", score === null ? null : Math.round(score * 100) / 100],\n [\"group\", row.group && typeof row.group === \"object\" ? row.group : null],\n ];\n return Object.fromEntries(entries);\n}\n\n/** The JSON row leaves out a key with no value, which tables cannot: their header comes from the first row. */\nfunction compactJsonRow(row: Record<string, unknown>): Record<string, unknown> {\n return Object.fromEntries(Object.entries(compactLibraryRow(row)).filter(([, value]) => value !== null));\n}\n\nfunction libraryRowNormalizer(row: Record<string, unknown>, full: boolean): Record<string, unknown> {\n return full ? fullImage(row) : compactLibraryRow(row);\n}\n\nconst ROWS = \"\\u0000rows\\u0000\";\n\n/**\n * The envelope pretty-printed with each row on one line: indenting every key\n * of every row was a fifth of what a search printed (BAKER-183).\n */\nfunction rowPerLine(envelope: Record<string, unknown>): string {\n const rows = Array.isArray(envelope.data) ? envelope.data : [];\n const list = rows.length === 0 ? \"[]\" : `[\\n${rows.map((row) => ` ${JSON.stringify(row)}`).join(\",\\n\")}\\n ]`;\n return JSON.stringify({ ...envelope, data: ROWS }, null, 2).replace(JSON.stringify(ROWS), () => list);\n}\n\nexport function writeLibraryRows(data: Record<string, unknown>[], flags: LibraryOutputFlags, hints: string[]): void {\n const withHints = hints.length > 0 ? { hints } : {};\n if (flags.format === \"json\" && !flags.full) {\n const compact = { ok: true, data: data.map(compactJsonRow), ...withHints };\n process.stdout.write(`${rowPerLine(flags.fields ? maskEnvelope(compact, flags.fields) : compact)}\\n`);\n return;\n }\n writeOutput({ ok: true, data, ...withHints }, flags.format, flags.fields, flags.full, libraryRowNormalizer);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/commands/images/library.ts","../src/commands/images/libraryRows.ts"],"sourcesContent":["import type { ImagesSearchResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { writeLibraryRows } from \"./libraryRows.ts\";\nimport { readOutputFlags } from \"./providerHits.ts\";\nimport { activeFilterFlags, emptyResultHints } from \"./searchHints.ts\";\n\nregisterSchema({\n command: \"images.library\",\n description: \"Search the company image library. Returns only ready images.\",\n args: {\n query: { type: \"string\", description: \"Search query text\", required: true },\n limit: { type: \"number\", description: \"Maximum results\", required: false, default: 5 },\n \"min-score\": { type: \"number\", description: \"Minimum relevance score (0-1)\", required: false },\n \"aspect-ratio\": {\n type: \"string\",\n description: \"Filter by aspect ratio (1:1, 16:9, 9:16, 2:3, 3:4, 1:2, 2:1, 4:5, 3:2, 4:3)\",\n required: false,\n },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n source: {\n type: \"string\",\n description:\n \"Filter by source (uploaded, pexels, pixabay, brandfetch, google_images, firecrawl, screenshotone, iconify, giphy, …)\",\n required: false,\n },\n \"external-url-host\": {\n type: \"string\",\n description: \"Filter to library rows whose externalUrl host contains this substring\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: {\n type: \"string\",\n description: \"Comma-separated keys to keep, e.g. --fields _id,imageUrl,subject\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"The whole record (description, tags, palette, analysis) instead of the compact row\",\n required: false,\n default: false,\n },\n },\n});\n\nexport const libraryCommand = defineCommand({\n meta: {\n name: \"library\",\n description:\n \"Search the company image library (hybrid BM25 + vector + rerank). Use this BEFORE any external provider. Each hit is a compact row (_id, name, imageUrl, width, height, subject, brandOwnership, people, textInImage, score, group; empty keys left out); --full gives the whole record.\\n\\nStart here: baker images library 'hero banner' --aspect-ratio 16:9\\nIds and URLs only: baker images library 'logo' --fields _id,imageUrl\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query text\", required: false },\n limit: { type: \"string\", description: \"Max results (default 5)\", required: false },\n \"min-score\": { type: \"string\", description: \"Minimum relevance score (0-1)\", required: false },\n \"aspect-ratio\": { type: \"string\", description: \"Aspect ratio filter\", required: false },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n source: { type: \"string\", description: \"Filter by source\", required: false },\n \"external-url-host\": {\n type: \"string\",\n description: \"Filter library by externalUrl host substring (e.g. competitor.com)\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: {\n type: \"string\",\n description: \"Comma-separated keys to keep\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"The whole record instead of the compact row\",\n required: false,\n default: false,\n },\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Search query is required\" } });\n process.exit(1);\n }\n const body: Record<string, unknown> = { query };\n if (args.limit) body.limit = Number(args.limit);\n if (args[\"aspect-ratio\"]) body.aspectRatio = args[\"aspect-ratio\"];\n if (args.tags) body.tags = (args.tags as string).split(\",\").filter(Boolean);\n if (args.source) body.source = args.source;\n if (args[\"external-url-host\"]) body.externalUrlHost = args[\"external-url-host\"];\n\n let data = await apiPost<ImagesSearchResponse>(\"/api/images/search\", body);\n const minScore = args[\"min-score\"] ? Number(args[\"min-score\"]) : undefined;\n if (minScore !== undefined) {\n data = data.filter((r) => typeof r.score === \"number\" && r.score >= minScore);\n }\n // The library is step 1 of every sourcing recipe, so an empty result is\n // the most common dead end there is — and it used to steer nowhere.\n // `--min-score` counts as a filter here: it is applied client-side above,\n // so it can empty a result the backend actually returned.\n const hints = emptyResultHints({\n provider: \"library\",\n hitCount: data.length,\n activeFilters: activeFilterFlags(args, [\"aspect-ratio\", \"tags\", \"source\", \"external-url-host\", \"min-score\"]),\n subject: query,\n });\n writeLibraryRows(data, readOutputFlags(args as Record<string, unknown>), hints);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n","/**\n * What `baker images library` prints per hit.\n *\n * A library hit arrives from `/api/images/search` as the whole record: the\n * nested `analysis` (style, composition, usage notes, every line of burned-in\n * text), a multi-sentence description, the palette. The JSON default used to\n * print all of it — about 2.4 KB a row, 83 KB for one `--limit 30` call — when\n * picking an image takes its id, its URL, its size and a line saying what it is\n * (BAKER-183). So every format prints the compact row below by default, and\n * `--full` gives the record as the server sent it.\n */\n\nimport { maskEnvelope } from \"../../field-mask.ts\";\nimport { fullImage, type OutputFormat, writeOutput } from \"../../output.ts\";\n\nconst LINE_CHARS = 48;\nconst SUBJECT_CHARS = 120;\n\nexport interface LibraryOutputFlags {\n format: OutputFormat;\n fields: string[] | undefined;\n full: boolean;\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return value && typeof value === \"object\" && !Array.isArray(value) ? (value as Record<string, unknown>) : {};\n}\n\nfunction str(value: unknown): string | null {\n return typeof value === \"string\" && value.length > 0 ? value : null;\n}\n\nfunction num(value: unknown): number | null {\n return typeof value === \"number\" && Number.isFinite(value) ? value : null;\n}\n\nfunction clip(text: string, max: number): string {\n return text.length <= max ? text : `${text.slice(0, max).trimEnd()}…`;\n}\n\n/** Several short lines as one clipped line, or null when there are none. */\nfunction oneLine(lines: string[]): string | null {\n return lines.length === 0 ? null : clip(lines.join(\"; \"), LINE_CHARS);\n}\n\n/** \"customer — Ana Ruiz; actor\": who is in it, without the appearance prose. */\nfunction peopleLine(value: unknown): string | null {\n if (!Array.isArray(value)) return null;\n return oneLine(\n value.flatMap((entry) => {\n const person = asRecord(entry);\n const role = str(person.role);\n if (!role) return [];\n const identity = str(person.identity);\n return [identity ? `${role} — ${identity}` : role];\n }),\n );\n}\n\n/** The start of the burned-in text, enough to tell a dated price or claim; the whole OCR is on --full. */\nfunction textLine(value: unknown): string | null {\n if (!Array.isArray(value)) return null;\n return oneLine(value.filter((line): line is string => typeof line === \"string\" && line.length > 0));\n}\n\n/**\n * The row an agent picks from, every key present so md/files tables keep their\n * columns. Lists print as one line so five hits stay under ~2 KB (BAKER-183).\n */\nexport function compactLibraryRow(row: Record<string, unknown>): Record<string, unknown> {\n const analysis = asRecord(row.analysis);\n const description = str(row.description);\n const score = num(row.score);\n const entries: [string, unknown][] = [\n [\"_id\", String(row._id ?? \"\")],\n [\"name\", String(row.name ?? \"\")],\n [\"imageUrl\", String(row.imageUrl ?? \"\")],\n // Placing a remote <BakerImage> needs both, or the build downloads it to measure.\n [\"width\", num(row.width)],\n [\"height\", num(row.height)],\n [\"subject\", clip(str(analysis.subject) ?? description ?? \"\", SUBJECT_CHARS) || null],\n [\"brandOwnership\", str(analysis.brandOwnership)],\n [\"people\", peopleLine(analysis.people)],\n [\"textInImage\", textLine(analysis.textInImage)],\n [\"score\", score === null ? null : Math.round(score * 100) / 100],\n [\"group\", row.group && typeof row.group === \"object\" ? row.group : null],\n ];\n return Object.fromEntries(entries);\n}\n\n/** The JSON row leaves out a key with no value, which tables cannot: their header comes from the first row. */\nfunction compactJsonRow(row: Record<string, unknown>): Record<string, unknown> {\n return Object.fromEntries(Object.entries(compactLibraryRow(row)).filter(([, value]) => value !== null));\n}\n\nfunction libraryRowNormalizer(row: Record<string, unknown>, full: boolean): Record<string, unknown> {\n return full ? fullImage(row) : compactLibraryRow(row);\n}\n\nconst ROWS = \"\\u0000rows\\u0000\";\n\n/**\n * The envelope pretty-printed with each row on one line: indenting every key\n * of every row was a fifth of what a search printed (BAKER-183).\n */\nfunction rowPerLine(envelope: Record<string, unknown>): string {\n const rows = Array.isArray(envelope.data) ? envelope.data : [];\n const list = rows.length === 0 ? \"[]\" : `[\\n${rows.map((row) => ` ${JSON.stringify(row)}`).join(\",\\n\")}\\n ]`;\n return JSON.stringify({ ...envelope, data: ROWS }, null, 2).replace(JSON.stringify(ROWS), () => list);\n}\n\nexport function writeLibraryRows(data: Record<string, unknown>[], flags: LibraryOutputFlags, hints: string[]): void {\n const withHints = hints.length > 0 ? { hints } : {};\n if (flags.format === \"json\" && !flags.full) {\n const compact = { ok: true, data: data.map(compactJsonRow), ...withHints };\n process.stdout.write(`${rowPerLine(flags.fields ? maskEnvelope(compact, flags.fields) : compact)}\\n`);\n return;\n }\n writeOutput({ ok: true, data, ...withHints }, flags.format, flags.fields, flags.full, libraryRowNormalizer);\n}\n"],"mappings":"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","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  stageAccountId,
8
8
  stageXOp,
9
9
  stageXOps
10
- } from "./chunk-P7ZLJLQH.js";
10
+ } from "./chunk-VKYDHIBT.js";
11
11
  import "./chunk-FIN4ZXGJ.js";
12
12
  import "./chunk-H6GTG665.js";
13
13
  import "./chunk-QYH2UZAK.js";
@@ -15,7 +15,7 @@ import {
15
15
  OBJECTIVES,
16
16
  PLACEMENTS,
17
17
  PRODUCT_TYPES
18
- } from "./chunk-MVTPNWRQ.js";
18
+ } from "./chunk-TK7VRZKM.js";
19
19
  import "./chunk-QV6AST5T.js";
20
20
  import "./chunk-WCU362Z6.js";
21
21
  import "./chunk-GIWHHCD6.js";
@@ -208,4 +208,4 @@ export {
208
208
  lineItemsResumeCommand,
209
209
  lineItemsUpdateCommand
210
210
  };
211
- //# sourceMappingURL=line-item-writes-4FGW42W4.js.map
211
+ //# sourceMappingURL=line-item-writes-2R7VSOWO.js.map
@@ -86,10 +86,10 @@ Examples:
86
86
  },
87
87
  subCommands: {
88
88
  list: lineItemsListCommand,
89
- create: () => import("./line-item-writes-4FGW42W4.js").then((m) => m.lineItemsCreateCommand),
90
- update: () => import("./line-item-writes-4FGW42W4.js").then((m) => m.lineItemsUpdateCommand),
91
- pause: () => import("./line-item-writes-4FGW42W4.js").then((m) => m.lineItemsPauseCommand),
92
- resume: () => import("./line-item-writes-4FGW42W4.js").then((m) => m.lineItemsResumeCommand)
89
+ create: () => import("./line-item-writes-2R7VSOWO.js").then((m) => m.lineItemsCreateCommand),
90
+ update: () => import("./line-item-writes-2R7VSOWO.js").then((m) => m.lineItemsUpdateCommand),
91
+ pause: () => import("./line-item-writes-2R7VSOWO.js").then((m) => m.lineItemsPauseCommand),
92
+ resume: () => import("./line-item-writes-2R7VSOWO.js").then((m) => m.lineItemsResumeCommand)
93
93
  },
94
94
  args: {
95
95
  "account-id": { type: "string", description: "X Ads account ID" },
@@ -104,4 +104,4 @@ Examples:
104
104
  export {
105
105
  lineItemsCommand
106
106
  };
107
- //# sourceMappingURL=line-items-BX2D3T6S.js.map
107
+ //# sourceMappingURL=line-items-MY6JP2W6.js.map
@@ -2,8 +2,8 @@ import {
2
2
  failApi,
3
3
  failValidation,
4
4
  writeOk
5
- } from "./chunk-LLBTSJGC.js";
6
- import "./chunk-MVTPNWRQ.js";
5
+ } from "./chunk-DYWKYP7Z.js";
6
+ import "./chunk-TK7VRZKM.js";
7
7
  import "./chunk-QV6AST5T.js";
8
8
  import "./chunk-WCU362Z6.js";
9
9
  import "./chunk-GIWHHCD6.js";
@@ -64,4 +64,4 @@ var linkCommand = defineCommand({
64
64
  export {
65
65
  linkCommand
66
66
  };
67
- //# sourceMappingURL=link-JUNNBOUE.js.map
67
+ //# sourceMappingURL=link-LR5LSFTA.js.map