@koda-sl/baker-cli 0.499.0 → 0.501.0-dev.6e96f50b9

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 (889) hide show
  1. package/README.md +153 -1
  2. package/dist/account-MV3NLCM7.js +80 -0
  3. package/dist/account-O6TGGIQI.js +80 -0
  4. package/dist/account-reads-NUF5PNDN.js +219 -0
  5. package/dist/account-users-6VMTSBPB.js +62 -0
  6. package/dist/account-writes-O3VEGYR3.js +66 -0
  7. package/dist/accounts-KXYAGHUO.js +699 -0
  8. package/dist/accounts-KXYAGHUO.js.map +1 -0
  9. package/dist/accounts-PLEZUUPU.js +78 -0
  10. package/dist/actions-M65FQITM.js +55 -0
  11. package/dist/activecampaign-BMU4KRHA.js +936 -0
  12. package/dist/ad-group-writes-DF362PY7.js +170 -0
  13. package/dist/ad-groups-QGKIIODZ.js +68 -0
  14. package/dist/ad-writes-X2PI6ZWP.js +174 -0
  15. package/dist/add-BLGRFPRJ.js +105 -0
  16. package/dist/add-CE7M63A5.js +303 -0
  17. package/dist/ads-6YECVD3I.js +48 -0
  18. package/dist/ads-Q3DDAWWW.js +77 -0
  19. package/dist/advertisers-CIH2MZDD.js +121 -0
  20. package/dist/analytics-26QPKNCM.js +2138 -0
  21. package/dist/analytics-26QPKNCM.js.map +1 -0
  22. package/dist/analytics-NT5DSRJO.js +445 -0
  23. package/dist/animate-JT5ZASUF.js +480 -0
  24. package/dist/assign-6SSKCI27.js +78 -0
  25. package/dist/audience-size-TTCR3XAT.js +74 -0
  26. package/dist/audiences-SJNKZANP.js +268 -0
  27. package/dist/audit-ROOPZJDD.js +152 -0
  28. package/dist/autocomplete-P2XGFLMM.js +112 -0
  29. package/dist/avatars-NRYRPIRU.js +38 -0
  30. package/dist/bid-pricing-UGAXYNOP.js +101 -0
  31. package/dist/brand-FOR3DSKV.js +22 -0
  32. package/dist/brief-7OQKGGVL.js +541 -0
  33. package/dist/campaign-groups-CIPQHMZS.js +97 -0
  34. package/dist/campaign-writes-NSBACF2P.js +166 -0
  35. package/dist/campaign-writes-OMFZJWGU.js +170 -0
  36. package/dist/campaigns-OMMEJYEC.js +111 -0
  37. package/dist/campaigns-UARVDDWQ.js +107 -0
  38. package/dist/campaigns-WWVN6QSD.js +76 -0
  39. package/dist/canvas-URCNGKPF.js +46 -0
  40. package/dist/capabilities-HOU7QPT2.js +145 -0
  41. package/dist/catalog-P34ZA66G.js +65 -0
  42. package/dist/catalogs-UYDBYIY4.js +128 -0
  43. package/dist/changes-BWNFAVPX.js +135 -0
  44. package/dist/chatgpt-PXRVAIYN.js +47 -0
  45. package/dist/chats-O2YQ5CUE.js +277 -0
  46. package/dist/check-52JH3EX5.js +105 -0
  47. package/dist/chunk-23YNUSLR.js +344 -0
  48. package/dist/chunk-25L3PCG3.js +89 -0
  49. package/dist/chunk-2DFQ5DRN.js +547 -0
  50. package/dist/chunk-2NQ4KZMC.js +363 -0
  51. package/dist/chunk-2PQXUN3X.js +148 -0
  52. package/dist/chunk-3BQWXNKX.js +592 -0
  53. package/dist/chunk-3ILJAFMP.js +98 -0
  54. package/dist/chunk-3QJVQZHH.js +142 -0
  55. package/dist/chunk-3VA52AHF.js +676 -0
  56. package/dist/chunk-3VYKVHU2.js +26 -0
  57. package/dist/chunk-3ZW3NYI6.js +3187 -0
  58. package/dist/chunk-3ZW3NYI6.js.map +1 -0
  59. package/dist/chunk-43PAN3L2.js +228 -0
  60. package/dist/chunk-4D5HZ7V3.js +150 -0
  61. package/dist/chunk-4IBP7ENG.js +23 -0
  62. package/dist/chunk-4IYLTR6P.js +203 -0
  63. package/dist/chunk-4JENX6PN.js +494 -0
  64. package/dist/chunk-4SATGZL3.js +103 -0
  65. package/dist/chunk-5HJ4F4NQ.js +64 -0
  66. package/dist/chunk-66TFWT5I.js +274 -0
  67. package/dist/chunk-6HS4YPW7.js +46 -0
  68. package/dist/chunk-6QIXZ7EZ.js +197 -0
  69. package/dist/chunk-7U2V4BKR.js +275 -0
  70. package/dist/chunk-7VBKTCX3.js +170 -0
  71. package/dist/chunk-AGQIRW4G.js +91 -0
  72. package/dist/chunk-ASRS37QE.js +710 -0
  73. package/dist/chunk-ASRS37QE.js.map +1 -0
  74. package/dist/chunk-B5JQM24Z.js +5368 -0
  75. package/dist/chunk-CO2CAOY2.js +910 -0
  76. package/dist/chunk-DI44SZVP.js +2952 -0
  77. package/dist/chunk-DI44SZVP.js.map +1 -0
  78. package/dist/chunk-DMPIWMDR.js +169 -0
  79. package/dist/chunk-DNSXOUNC.js +319 -0
  80. package/dist/chunk-DNSXOUNC.js.map +1 -0
  81. package/dist/chunk-DVPWNQ7S.js +1628 -0
  82. package/dist/chunk-DVUEFCOG.js +122 -0
  83. package/dist/chunk-DX46OE4U.js +179 -0
  84. package/dist/chunk-ERGEZPJH.js +167 -0
  85. package/dist/chunk-F6P6GGWB.js +156 -0
  86. package/dist/chunk-FHBDDVL4.js +66 -0
  87. package/dist/chunk-GCGXKPZJ.js +406 -0
  88. package/dist/chunk-HFIACH3D.js +249 -0
  89. package/dist/chunk-I3LQPISV.js +225 -0
  90. package/dist/chunk-IWSKTNT4.js +392 -0
  91. package/dist/chunk-J2JWWDK6.js +191 -0
  92. package/dist/chunk-JD2PWX7P.js +8954 -0
  93. package/dist/chunk-JFK6Y7A7.js +831 -0
  94. package/dist/chunk-JREPQJEY.js +63 -0
  95. package/dist/chunk-JREPQJEY.js.map +1 -0
  96. package/dist/chunk-JYOVVJ2E.js +8914 -0
  97. package/dist/chunk-L6EZRWI5.js +163 -0
  98. package/dist/chunk-LV24JVMZ.js +783 -0
  99. package/dist/chunk-LV24JVMZ.js.map +1 -0
  100. package/dist/chunk-MWD6JTOY.js +7122 -0
  101. package/dist/chunk-MWD6JTOY.js.map +1 -0
  102. package/dist/chunk-N22J7UPW.js +1919 -0
  103. package/dist/chunk-NUTMEDAP.js +97 -0
  104. package/dist/chunk-PHOAW3WN.js +76 -0
  105. package/dist/chunk-PITLFH7K.js +387 -0
  106. package/dist/chunk-PITLFH7K.js.map +1 -0
  107. package/dist/chunk-PSYAT3ZM.js +843 -0
  108. package/dist/chunk-PTRCB7AR.js +4251 -0
  109. package/dist/chunk-PTRCB7AR.js.map +1 -0
  110. package/dist/chunk-QATA3YJM.js +349 -0
  111. package/dist/chunk-QR77PWZA.js +51 -0
  112. package/dist/chunk-S4L4H7JG.js +1518 -0
  113. package/dist/chunk-SGU5L5JS.js +207 -0
  114. package/dist/chunk-SJWEYCA3.js +942 -0
  115. package/dist/chunk-U2E4V56C.js +61 -0
  116. package/dist/chunk-V76EZ5DQ.js +604 -0
  117. package/dist/chunk-VQBIGA2H.js +3868 -0
  118. package/dist/chunk-VU5Z2V4S.js +45 -0
  119. package/dist/chunk-WD6REBLS.js +297 -0
  120. package/dist/chunk-WEQ5TKIQ.js +455 -0
  121. package/dist/chunk-WWAK4CNA.js +846 -0
  122. package/dist/chunk-X4A7NEBZ.js +638 -0
  123. package/dist/chunk-XRTM4DGG.js +285 -0
  124. package/dist/chunk-Y35WFNKZ.js +131 -0
  125. package/dist/chunk-Y456MK74.js +224 -0
  126. package/dist/chunk-YW2SISXV.js +57 -0
  127. package/dist/chunk-ZCPYINLO.js +479 -0
  128. package/dist/chunk-ZEGNIP3Y.js +188 -0
  129. package/dist/chunk-ZEKW4FKU.js +24014 -0
  130. package/dist/chunk-ZEKW4FKU.js.map +1 -0
  131. package/dist/chunk-ZL4RUOCW.js +19 -0
  132. package/dist/claim-WWIZTMTV.js +198 -0
  133. package/dist/cli.js +35 -35
  134. package/dist/companies-MILLGGJI.js +196 -0
  135. package/dist/company-3MO2C3SJ.js +306 -0
  136. package/dist/company-3MO2C3SJ.js.map +1 -0
  137. package/dist/complete-22T4UMZA.js +82 -0
  138. package/dist/connect-U6HPGREH.js +43 -0
  139. package/dist/conversation-RP3AK4LE.js +94 -0
  140. package/dist/conversion-report-UIU4JRJG.js +125 -0
  141. package/dist/conversion-upload-command-5BUCIVEE.js +439 -0
  142. package/dist/conversion-writes-OMZVC2NX.js +120 -0
  143. package/dist/conversions-ACYPUK4Z.js +138 -0
  144. package/dist/conversions-M5FWYDC4.js +76 -0
  145. package/dist/create-DG326KYF.js +208 -0
  146. package/dist/create-JNVOTWWU.js +60 -0
  147. package/dist/create-L3A5HCNR.js +133 -0
  148. package/dist/create-M37PJDJF.js +237 -0
  149. package/dist/creatives-L5OKL34F.js +58 -0
  150. package/dist/creatives-YGNBGVLX.js +221 -0
  151. package/dist/credentials-7LBMDF6N.js +288 -0
  152. package/dist/critique-2DKP7YFP.js +1459 -0
  153. package/dist/critique-7KZZS2EX.js +230 -0
  154. package/dist/crm-DHBHUDXH.js +321 -0
  155. package/dist/crm-DHBHUDXH.js.map +1 -0
  156. package/dist/crm-HB6TC3JM.js +225 -0
  157. package/dist/currency-FGNHI5NQ.js +88 -0
  158. package/dist/customers-G7XJHA2I.js +57 -0
  159. package/dist/delete-N34HCPOM.js +67 -0
  160. package/dist/delete-YQWPPBM6.js +55 -0
  161. package/dist/delete-YVNKPARC.js +65 -0
  162. package/dist/demographics-YI2WM4HS.js +139 -0
  163. package/dist/discard-PJNIC22V.js +67 -0
  164. package/dist/discover-KXTBNKH3.js +172 -0
  165. package/dist/domain-GJUNOEFM.js +99 -0
  166. package/dist/download-XQBBVHO2.js +170 -0
  167. package/dist/download-XQBBVHO2.js.map +1 -0
  168. package/dist/draft-7NAX2XE5.js +308 -0
  169. package/dist/draft-JX35Y36U.js +281 -0
  170. package/dist/draft-N2E6YXER.js +333 -0
  171. package/dist/draft-PPUG66G6.js +308 -0
  172. package/dist/draft-UFJO2N6C.js +218 -0
  173. package/dist/engine/index.js +7 -7
  174. package/dist/experiments-ZWEI2VT3.js +234 -0
  175. package/dist/facets-Z4NGP42L.js +115 -0
  176. package/dist/feedback-43MWGNMC.js +109 -0
  177. package/dist/feedback-record-2P625JGM.js +263 -0
  178. package/dist/fetch-S2R7NHKI.js +177 -0
  179. package/dist/fit-CJXDP75P.js +63 -0
  180. package/dist/flows-DIPN66XJ.js +248 -0
  181. package/dist/fonts-3UNRBOM6.js +37 -0
  182. package/dist/forecast-EPYSKYDX.js +119 -0
  183. package/dist/forecast-HPYOX43W.js +169 -0
  184. package/dist/funnel-JLYI5XXG.js +395 -0
  185. package/dist/generate-3Y4IRIVA.js +263 -0
  186. package/dist/get-3NRSP3FD.js +57 -0
  187. package/dist/get-QYIE5QQD.js +80 -0
  188. package/dist/google-7L4GR3AB.js +3267 -0
  189. package/dist/google-ads-O4MYQOGT.js +196 -0
  190. package/dist/history-DGFRDY7V.js +134 -0
  191. package/dist/history-I6ZDT2WP.js +67 -0
  192. package/dist/hubspot-J6Z5FAZ5.js +780 -0
  193. package/dist/ideas-ADQFXOI4.js +43 -0
  194. package/dist/images-X7Z34JXA.js +92 -0
  195. package/dist/ingest-3YB37P3B.js +24 -0
  196. package/dist/ingest-QEOAUEKH.js +108 -0
  197. package/dist/insights-FEDPCRAC.js +130 -0
  198. package/dist/inspect-N2XWYHLO.js +190 -0
  199. package/dist/inspiration-QJNUFRNH.js +53 -0
  200. package/dist/intent-QTQIHE32.js +95 -0
  201. package/dist/keyword-gap-SSWMMVI2.js +130 -0
  202. package/dist/keyword-metrics-6UKUK6GT.js +198 -0
  203. package/dist/keywords-for-site-O6GRPM2B.js +129 -0
  204. package/dist/landing-INTIUYIJ.js +28 -0
  205. package/dist/languages-2RPBR5VU.js +40 -0
  206. package/dist/leads-S3HSZZCL.js +113 -0
  207. package/dist/learn-6FPZCSOS.js +205 -0
  208. package/dist/line-item-writes-AALLWAU4.js +209 -0
  209. package/dist/line-items-KPWFC6K4.js +103 -0
  210. package/dist/link-4QPX5OEW.js +65 -0
  211. package/dist/linkedin-WICM3UW5.js +1314 -0
  212. package/dist/linkedin-person-5VXCUVH5.js +137 -0
  213. package/dist/linkedin-person-5VXCUVH5.js.map +1 -0
  214. package/dist/list-6MBZKJOY.js +65 -0
  215. package/dist/list-CPTVS5DS.js +152 -0
  216. package/dist/list-UOCTTPPW.js +304 -0
  217. package/dist/locations-3RZ5VGBO.js +67 -0
  218. package/dist/locations-U5CJGLMB.js +40 -0
  219. package/dist/log-V2ZXE34Z.js +93 -0
  220. package/dist/lookup-LWJMDEEL.js +22 -0
  221. package/dist/make-NFND4QRB.js +1368 -0
  222. package/dist/map-KZBPFQXO.js +434 -0
  223. package/dist/mcp-LACK6SUK.js +715 -0
  224. package/dist/media-sources-TZF6BUJV.js +35 -0
  225. package/dist/members-R4XLM7VC.js +45 -0
  226. package/dist/metrics-ZYRQXPA6.js +152 -0
  227. package/dist/models-C3BLMJGT.js +155 -0
  228. package/dist/normalize-ZDY6L5VO.js +142 -0
  229. package/dist/options-2VKTXIV7.js +123 -0
  230. package/dist/organization-EO4LOJHQ.js +947 -0
  231. package/dist/performance-AGJ42PRN.js +5445 -0
  232. package/dist/performance-TALH5EGT.js +25 -0
  233. package/dist/pixels-YGOGQ7SS.js +60 -0
  234. package/dist/plan-O2TTEUIW.js +207 -0
  235. package/dist/posts-37LZKGWU.js +34 -0
  236. package/dist/promoted-tweet-writes-27RR3GOV.js +181 -0
  237. package/dist/promoted-tweets-6XAIXBK5.js +119 -0
  238. package/dist/publish-YMZVWMZ6.js +342 -0
  239. package/dist/query-HSDQWMJ3.js +62 -0
  240. package/dist/questionnaire-VE42SW77.js +93 -0
  241. package/dist/reddit-XNCKH4LM.js +27 -0
  242. package/dist/refresh-X52QWB7U.js +95 -0
  243. package/dist/release-NRZSYXTV.js +61 -0
  244. package/dist/relevant-pages-DBALXQLB.js +99 -0
  245. package/dist/remove-CBHGRAZS.js +51 -0
  246. package/dist/reopen-ROZWMKSV.js +64 -0
  247. package/dist/rerun-CRAFUCZG.js +93 -0
  248. package/dist/research-6DMZVH3U.js +72 -0
  249. package/dist/research-6DMZVH3U.js.map +1 -0
  250. package/dist/research-MQMA4ZQN.js +263 -0
  251. package/dist/reset-6PCDMCKC.js +55 -0
  252. package/dist/reset-JEMTNDBF.js +55 -0
  253. package/dist/resolve-MPN3G7YW.js +122 -0
  254. package/dist/retry-7RQ44CSW.js +61 -0
  255. package/dist/retry-JUYM5AE4.js +63 -0
  256. package/dist/revenue-IFI432JN.js +89 -0
  257. package/dist/rules-W2DCHJGX.js +97 -0
  258. package/dist/rules-add-OIP7SRKM.js +463 -0
  259. package/dist/run-IXJ3AJ6X.js +68 -0
  260. package/dist/run-LJUCR2JA.js +67 -0
  261. package/dist/scaffold-ad-SBYDMOAQ.js +1514 -0
  262. package/dist/scaffold-static-ad-BOKIEVV5.js +1013 -0
  263. package/dist/scaffold-static-ad-BOKIEVV5.js.map +1 -0
  264. package/dist/scaffold-video-Z4GXKC7W.js +886 -0
  265. package/dist/schedule-BMGOREVG.js +62 -0
  266. package/dist/scheduled-agents-BGTR3WCX.js +50 -0
  267. package/dist/schema-6Y3IXFDC.js +69 -0
  268. package/dist/schema-HCWSZHZJ.js +133 -0
  269. package/dist/search-OVFOPUXT.js +175 -0
  270. package/dist/select-XSVMD5JH.js +104 -0
  271. package/dist/sends-OLVQGOAE.js +348 -0
  272. package/dist/set-prompt-SFP2DB4O.js +196 -0
  273. package/dist/setup-links-K6KTGVSA.js +142 -0
  274. package/dist/shopify-MIOO3BGY.js +3956 -0
  275. package/dist/site-6M7SXCPN.js +178 -0
  276. package/dist/sources-FTAC2WUM.js +455 -0
  277. package/dist/sources-JHPI7Q2O.js +30 -0
  278. package/dist/stale-FPRPOEHH.js +74 -0
  279. package/dist/status-4C37VNOQ.js +63 -0
  280. package/dist/studio-65IM5YDD.js +49 -0
  281. package/dist/sync-KCD6KCKU.js +55 -0
  282. package/dist/sync-definition-WFDK6RR3.js +67 -0
  283. package/dist/tag-manager-BVPLGLTF.js +43 -0
  284. package/dist/tags-2A4YRO34.js +21 -0
  285. package/dist/tags-N3LP2WTK.js +21 -0
  286. package/dist/tags-OBQ5BTBY.js +26 -0
  287. package/dist/tags-WWETGLRJ.js +225 -0
  288. package/dist/tags-ZWL3G4XR.js +21 -0
  289. package/dist/targeting-criteria-YHSVILGV.js +113 -0
  290. package/dist/targets-4SZC7DR4.js +104 -0
  291. package/dist/testimonials-MJHMFJ5J.js +32 -0
  292. package/dist/themes-GTWQLIX2.js +95 -0
  293. package/dist/top-companies-DSL2QVOH.js +109 -0
  294. package/dist/transcript-FGLOJFU4.js +163 -0
  295. package/dist/transcript-FGLOJFU4.js.map +1 -0
  296. package/dist/translate-JSXPZUBM.js +607 -0
  297. package/dist/triggers-UAEGGBYL.js +142 -0
  298. package/dist/unlink-HUCQPTTA.js +68 -0
  299. package/dist/unstage-CYIVBS5D.js +86 -0
  300. package/dist/unstage-QFVL7AZ4.js +95 -0
  301. package/dist/update-I3WG7QBV.js +190 -0
  302. package/dist/update-I3WG7QBV.js.map +1 -0
  303. package/dist/update-IORKVKDQ.js +153 -0
  304. package/dist/update-R7WY7EGL.js +99 -0
  305. package/dist/update-WT7MMEBY.js +64 -0
  306. package/dist/upload-FZAAJHU7.js +127 -0
  307. package/dist/url-options-PPIRU2RF.js +130 -0
  308. package/dist/url-params-ZM6YVT63.js +99 -0
  309. package/dist/validate-PPUSF56N.js +120 -0
  310. package/dist/videos-YM7H7IXJ.js +41 -0
  311. package/dist/videos-YM7H7IXJ.js.map +1 -0
  312. package/dist/viewer-check-4SFBSLRN.js +81 -0
  313. package/dist/web-MYPJLXY3.js +141 -0
  314. package/dist/winning-ads-KY7NQR2P.js +86 -0
  315. package/dist/write-commands-GQHYLHOF.js +1493 -0
  316. package/dist/x-Q2DLEBQS.js +47 -0
  317. package/package.json +1 -1
  318. package/dist/account-CKXOBHXJ.js +0 -80
  319. package/dist/account-PYK5VMQ4.js +0 -80
  320. package/dist/account-reads-2U5OGO72.js +0 -219
  321. package/dist/account-users-HXNP7NYL.js +0 -62
  322. package/dist/account-writes-4MAKFM7L.js +0 -66
  323. package/dist/accounts-IOBD4PKT.js +0 -612
  324. package/dist/accounts-IOBD4PKT.js.map +0 -1
  325. package/dist/accounts-LT2SMPUS.js +0 -78
  326. package/dist/actions-BFO2AQPM.js +0 -55
  327. package/dist/activecampaign-SDW74BZ7.js +0 -936
  328. package/dist/ad-group-writes-XZ7XSJ3C.js +0 -170
  329. package/dist/ad-groups-HI5YNTX3.js +0 -68
  330. package/dist/ad-writes-E2C4BKWT.js +0 -174
  331. package/dist/add-4ECK6KWH.js +0 -105
  332. package/dist/add-VTFQI3FC.js +0 -303
  333. package/dist/ads-KB5CLOYS.js +0 -48
  334. package/dist/ads-VXF5STHG.js +0 -77
  335. package/dist/advertisers-PZOZHGHW.js +0 -121
  336. package/dist/analytics-CHQNRXSI.js +0 -445
  337. package/dist/analytics-IRE6WG4V.js +0 -1981
  338. package/dist/analytics-IRE6WG4V.js.map +0 -1
  339. package/dist/animate-2BMHZ4FM.js +0 -480
  340. package/dist/assign-L2APE23R.js +0 -78
  341. package/dist/audience-size-3X7ARQA3.js +0 -74
  342. package/dist/audiences-SUW2NSXG.js +0 -268
  343. package/dist/audit-2J323TJN.js +0 -152
  344. package/dist/autocomplete-UMHLUHGJ.js +0 -112
  345. package/dist/avatars-C7MXSFPO.js +0 -38
  346. package/dist/bid-pricing-4SZAU7RO.js +0 -101
  347. package/dist/brand-DVBQIKST.js +0 -22
  348. package/dist/brief-VDF6APJJ.js +0 -541
  349. package/dist/campaign-groups-TYBFAN5H.js +0 -97
  350. package/dist/campaign-writes-JFT4OPL5.js +0 -170
  351. package/dist/campaign-writes-W2JKFKKQ.js +0 -166
  352. package/dist/campaigns-P5AOKGER.js +0 -111
  353. package/dist/campaigns-SR7CBPER.js +0 -107
  354. package/dist/campaigns-XFNPYDO6.js +0 -76
  355. package/dist/canvas-U6FVXN3L.js +0 -46
  356. package/dist/capabilities-5HDV5HG5.js +0 -145
  357. package/dist/catalog-TZLU5NWI.js +0 -65
  358. package/dist/catalogs-WR3D6VEY.js +0 -128
  359. package/dist/changes-ONEEMEMT.js +0 -135
  360. package/dist/chatgpt-23X76OFD.js +0 -47
  361. package/dist/chats-EW3FUVQP.js +0 -277
  362. package/dist/check-OTSGPSLX.js +0 -105
  363. package/dist/chunk-34Z4YPXD.js +0 -846
  364. package/dist/chunk-3NMSZMDO.js +0 -191
  365. package/dist/chunk-3YJNSUNF.js +0 -131
  366. package/dist/chunk-4MIVJXF7.js +0 -494
  367. package/dist/chunk-4WFK3CWM.js +0 -297
  368. package/dist/chunk-4WGAB5K3.js +0 -103
  369. package/dist/chunk-4XIF4ZHU.js +0 -57
  370. package/dist/chunk-5U62OLCB.js +0 -122
  371. package/dist/chunk-6KWEF6HF.js +0 -8914
  372. package/dist/chunk-6VE5U5V3.js +0 -455
  373. package/dist/chunk-7EN4X3L2.js +0 -66
  374. package/dist/chunk-7GK32PCR.js +0 -707
  375. package/dist/chunk-7GK32PCR.js.map +0 -1
  376. package/dist/chunk-7HZSORAB.js +0 -843
  377. package/dist/chunk-A3IQAONL.js +0 -638
  378. package/dist/chunk-ANLLW3KZ.js +0 -228
  379. package/dist/chunk-BBBWMD5R.js +0 -274
  380. package/dist/chunk-CUFS24JZ.js +0 -406
  381. package/dist/chunk-D7ARAKE2.js +0 -188
  382. package/dist/chunk-DB3CF4W3.js +0 -479
  383. package/dist/chunk-DKPRKY5N.js +0 -942
  384. package/dist/chunk-E27TYQOV.js +0 -363
  385. package/dist/chunk-EBEZFAUH.js +0 -24014
  386. package/dist/chunk-EBEZFAUH.js.map +0 -1
  387. package/dist/chunk-EO5K26MN.js +0 -349
  388. package/dist/chunk-ERSL4WZT.js +0 -4251
  389. package/dist/chunk-ERSL4WZT.js.map +0 -1
  390. package/dist/chunk-F4YQ5PVR.js +0 -1518
  391. package/dist/chunk-FFG2OYVV.js +0 -64
  392. package/dist/chunk-G6AK5QGY.js +0 -203
  393. package/dist/chunk-G7ZEDPJS.js +0 -61
  394. package/dist/chunk-GAUM75WM.js +0 -3868
  395. package/dist/chunk-H3Q4J7E3.js +0 -1079
  396. package/dist/chunk-H3Q4J7E3.js.map +0 -1
  397. package/dist/chunk-HGWK47AD.js +0 -224
  398. package/dist/chunk-HML3VQIW.js +0 -225
  399. package/dist/chunk-HW53ERJX.js +0 -206
  400. package/dist/chunk-HW53ERJX.js.map +0 -1
  401. package/dist/chunk-HWIBNIBI.js +0 -97
  402. package/dist/chunk-JAC6JVCI.js +0 -26
  403. package/dist/chunk-JDUPYPYB.js +0 -676
  404. package/dist/chunk-JO5R2VL6.js +0 -89
  405. package/dist/chunk-JYINPRYR.js +0 -163
  406. package/dist/chunk-KMK6SCCT.js +0 -275
  407. package/dist/chunk-KT5HHR4A.js +0 -2927
  408. package/dist/chunk-KT5HHR4A.js.map +0 -1
  409. package/dist/chunk-KTT7AHES.js +0 -547
  410. package/dist/chunk-KYVB64R7.js +0 -23
  411. package/dist/chunk-L4QPMKMS.js +0 -156
  412. package/dist/chunk-LORS3LYQ.js +0 -831
  413. package/dist/chunk-LRV6M2WB.js +0 -1919
  414. package/dist/chunk-M64MKSUO.js +0 -344
  415. package/dist/chunk-MCJ5I5LR.js +0 -3187
  416. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  417. package/dist/chunk-MU3Z55CT.js +0 -179
  418. package/dist/chunk-MVD7QIXI.js +0 -46
  419. package/dist/chunk-MVE26PWE.js +0 -197
  420. package/dist/chunk-MZPS46OR.js +0 -76
  421. package/dist/chunk-NXWEQTHL.js +0 -1628
  422. package/dist/chunk-O63C32SS.js +0 -249
  423. package/dist/chunk-OK3GNRAN.js +0 -51
  424. package/dist/chunk-PDLPI4RU.js +0 -169
  425. package/dist/chunk-PGRDGQ23.js +0 -150
  426. package/dist/chunk-PX3PUDK7.js +0 -167
  427. package/dist/chunk-PXAHSVME.js +0 -19
  428. package/dist/chunk-RLDQDCW3.js +0 -6908
  429. package/dist/chunk-RLDQDCW3.js.map +0 -1
  430. package/dist/chunk-S545M2WZ.js +0 -45
  431. package/dist/chunk-SWN6OHXG.js +0 -148
  432. package/dist/chunk-TX7CQTD4.js +0 -5368
  433. package/dist/chunk-UKSSNYLU.js +0 -98
  434. package/dist/chunk-ULQ323T2.js +0 -592
  435. package/dist/chunk-UTFKMUEP.js +0 -170
  436. package/dist/chunk-XFDHZJ3O.js +0 -207
  437. package/dist/chunk-XRMZET4B.js +0 -910
  438. package/dist/chunk-XTQPBB7H.js +0 -91
  439. package/dist/chunk-Y3LWPDK7.js +0 -8954
  440. package/dist/chunk-YCTOVJSJ.js +0 -604
  441. package/dist/chunk-YNYAT2TZ.js +0 -285
  442. package/dist/chunk-YZGG5JFI.js +0 -392
  443. package/dist/chunk-ZFBIKJTV.js +0 -142
  444. package/dist/claim-XIC7D3U2.js +0 -198
  445. package/dist/companies-DKXFLATC.js +0 -196
  446. package/dist/complete-IHHA7BA3.js +0 -82
  447. package/dist/connect-XQYH5Z3Q.js +0 -43
  448. package/dist/conversation-7LRPE7BB.js +0 -94
  449. package/dist/conversion-report-V3TGPELD.js +0 -125
  450. package/dist/conversion-upload-command-K2SB6O6K.js +0 -439
  451. package/dist/conversion-writes-B2QOYL56.js +0 -120
  452. package/dist/conversions-DXOKLXT3.js +0 -138
  453. package/dist/conversions-ILF5HJOO.js +0 -76
  454. package/dist/create-QMCKARFM.js +0 -133
  455. package/dist/create-S47RE4XP.js +0 -237
  456. package/dist/create-TAYW7GJG.js +0 -60
  457. package/dist/create-VHKFT7H3.js +0 -208
  458. package/dist/creatives-2XB6XHSR.js +0 -221
  459. package/dist/creatives-QTSFNO6M.js +0 -58
  460. package/dist/credentials-7PIADYYN.js +0 -288
  461. package/dist/critique-I27WON42.js +0 -230
  462. package/dist/critique-LA45SBLU.js +0 -1459
  463. package/dist/crm-55C3E46K.js +0 -225
  464. package/dist/crm-FVGGMG7U.js +0 -319
  465. package/dist/crm-FVGGMG7U.js.map +0 -1
  466. package/dist/currency-UVQIYZUP.js +0 -88
  467. package/dist/customers-XZHBRDQQ.js +0 -57
  468. package/dist/delete-4GMTTYAG.js +0 -65
  469. package/dist/delete-GL4OMCDS.js +0 -67
  470. package/dist/delete-MHLZD4IH.js +0 -55
  471. package/dist/demographics-A3LFPWWB.js +0 -139
  472. package/dist/discard-R62Z2GRI.js +0 -67
  473. package/dist/discover-2TPMVIW7.js +0 -172
  474. package/dist/domain-FP3X4RPV.js +0 -99
  475. package/dist/draft-5XV2BJ3N.js +0 -281
  476. package/dist/draft-6G42C54W.js +0 -333
  477. package/dist/draft-A2I4RLMW.js +0 -308
  478. package/dist/draft-BVEDTUA4.js +0 -218
  479. package/dist/draft-ZQIIOMPK.js +0 -308
  480. package/dist/experiments-BEI7TSXE.js +0 -234
  481. package/dist/facets-ORUDWFIR.js +0 -115
  482. package/dist/feedback-7DLHRUIT.js +0 -109
  483. package/dist/feedback-record-D3YQATBI.js +0 -263
  484. package/dist/fetch-BOLHAMIY.js +0 -177
  485. package/dist/fit-SXBVVQQS.js +0 -63
  486. package/dist/flows-4BPONEMG.js +0 -248
  487. package/dist/fonts-ILG2LCR7.js +0 -37
  488. package/dist/forecast-BVJNW22S.js +0 -119
  489. package/dist/forecast-CLQKEFI6.js +0 -169
  490. package/dist/funnel-6FWZR37B.js +0 -395
  491. package/dist/generate-NWHPM2GQ.js +0 -263
  492. package/dist/get-AO2SBDZ7.js +0 -80
  493. package/dist/get-DOADISOP.js +0 -57
  494. package/dist/google-BR4JIK4N.js +0 -3267
  495. package/dist/google-ads-MGKOFGLF.js +0 -196
  496. package/dist/history-EER4TMPN.js +0 -134
  497. package/dist/history-IXV4ZR6F.js +0 -67
  498. package/dist/hubspot-RJQLUHCP.js +0 -780
  499. package/dist/ideas-6G2XB2A7.js +0 -43
  500. package/dist/images-ESOTRMAR.js +0 -92
  501. package/dist/ingest-HQPM4IXX.js +0 -24
  502. package/dist/ingest-QCZ2T3HB.js +0 -108
  503. package/dist/insights-UKWLUS5P.js +0 -130
  504. package/dist/inspect-CS5CWS63.js +0 -190
  505. package/dist/inspiration-CW4ADEPT.js +0 -53
  506. package/dist/intent-57BBLPLP.js +0 -95
  507. package/dist/keyword-gap-TSIQBZ6G.js +0 -130
  508. package/dist/keyword-metrics-SRLCDGCB.js +0 -198
  509. package/dist/keywords-for-site-NIXJTFHX.js +0 -129
  510. package/dist/landing-GEGH44N7.js +0 -28
  511. package/dist/languages-WKOFWZ7S.js +0 -40
  512. package/dist/leads-DN3YPCWV.js +0 -113
  513. package/dist/learn-NND26TEZ.js +0 -205
  514. package/dist/line-item-writes-VXQMZR4N.js +0 -209
  515. package/dist/line-items-JGR3FTBD.js +0 -103
  516. package/dist/link-I76EC43Z.js +0 -65
  517. package/dist/linkedin-Q2BXWGLB.js +0 -1314
  518. package/dist/list-ADHUKLAD.js +0 -65
  519. package/dist/list-BQ5SNHNQ.js +0 -152
  520. package/dist/list-DKWE4K6V.js +0 -304
  521. package/dist/locations-EQKMPX4G.js +0 -40
  522. package/dist/locations-MID4EY6D.js +0 -67
  523. package/dist/log-FS62QUM3.js +0 -93
  524. package/dist/lookup-7RVOMACQ.js +0 -22
  525. package/dist/make-5I42FGDO.js +0 -1368
  526. package/dist/map-JDJWCS4P.js +0 -434
  527. package/dist/mcp-C2MWMHHE.js +0 -715
  528. package/dist/media-sources-5ORQD73O.js +0 -35
  529. package/dist/members-JKTEP3DI.js +0 -45
  530. package/dist/metrics-35OGYZNY.js +0 -152
  531. package/dist/models-JQEPSPNQ.js +0 -155
  532. package/dist/normalize-3XCYFEVP.js +0 -142
  533. package/dist/options-EJR2SXSU.js +0 -123
  534. package/dist/organization-RQWXAP54.js +0 -947
  535. package/dist/performance-4S66FDTV.js +0 -5445
  536. package/dist/performance-DLSLM6AF.js +0 -25
  537. package/dist/pixels-WHQLX4FV.js +0 -60
  538. package/dist/plan-DKBAIKX5.js +0 -207
  539. package/dist/posts-YCSPJOIZ.js +0 -34
  540. package/dist/promoted-tweet-writes-FDTWY3QV.js +0 -181
  541. package/dist/promoted-tweets-WW344XNC.js +0 -119
  542. package/dist/publish-NBLDZ2XR.js +0 -342
  543. package/dist/query-ZH5CWI3X.js +0 -62
  544. package/dist/questionnaire-K3A4UUIC.js +0 -93
  545. package/dist/reddit-HB2HVXTF.js +0 -27
  546. package/dist/refresh-WNGERQQX.js +0 -95
  547. package/dist/release-SBWWWKS5.js +0 -61
  548. package/dist/relevant-pages-7KEKKRQ2.js +0 -99
  549. package/dist/remove-2OCCFOLM.js +0 -51
  550. package/dist/reopen-OLC5N2DP.js +0 -64
  551. package/dist/rerun-5RR5S6ZA.js +0 -93
  552. package/dist/research-AXFZWZB3.js +0 -62
  553. package/dist/research-AXFZWZB3.js.map +0 -1
  554. package/dist/research-ZJQHXOA4.js +0 -263
  555. package/dist/reset-GI4KMBOE.js +0 -55
  556. package/dist/reset-W4QDDUJ6.js +0 -55
  557. package/dist/resolve-CLA3URVJ.js +0 -122
  558. package/dist/retry-5QIHXNZH.js +0 -61
  559. package/dist/retry-HSS7M5JC.js +0 -63
  560. package/dist/revenue-QONCHT4J.js +0 -89
  561. package/dist/rules-DGN24SWA.js +0 -97
  562. package/dist/rules-add-436Y2CWL.js +0 -463
  563. package/dist/run-I5Q42M5Q.js +0 -68
  564. package/dist/run-XBZMGAWD.js +0 -67
  565. package/dist/scaffold-ad-DUJO3TKG.js +0 -1514
  566. package/dist/scaffold-static-ad-UMXD5JH7.js +0 -1008
  567. package/dist/scaffold-static-ad-UMXD5JH7.js.map +0 -1
  568. package/dist/scaffold-video-YJ4A7SLO.js +0 -886
  569. package/dist/schedule-P3442SHR.js +0 -62
  570. package/dist/scheduled-agents-J7HFCJMZ.js +0 -50
  571. package/dist/schema-DPU5NCWO.js +0 -133
  572. package/dist/schema-N44JKNJ3.js +0 -69
  573. package/dist/search-FZUJCC5F.js +0 -175
  574. package/dist/select-5MMLVDG7.js +0 -104
  575. package/dist/sends-LEESHU62.js +0 -348
  576. package/dist/set-prompt-SQGQTJVP.js +0 -196
  577. package/dist/setup-links-QF6FIS6N.js +0 -142
  578. package/dist/shopify-OXUYVDND.js +0 -3956
  579. package/dist/site-YVZQSAIW.js +0 -178
  580. package/dist/sources-3IVHGGTH.js +0 -30
  581. package/dist/sources-NWM6SI4P.js +0 -455
  582. package/dist/stale-ZBULRUS7.js +0 -74
  583. package/dist/status-RUXOUOPA.js +0 -63
  584. package/dist/studio-LYHZFTA3.js +0 -49
  585. package/dist/sync-XKRY2D2J.js +0 -55
  586. package/dist/sync-definition-HVHXWEDR.js +0 -67
  587. package/dist/tag-manager-F7PVTDBB.js +0 -43
  588. package/dist/tags-3U5K3EVI.js +0 -225
  589. package/dist/tags-6PQ37XO5.js +0 -21
  590. package/dist/tags-K5FVDHPH.js +0 -26
  591. package/dist/tags-PBUZJQHN.js +0 -21
  592. package/dist/tags-WPPGJN2C.js +0 -21
  593. package/dist/targeting-criteria-OZ74V2DC.js +0 -113
  594. package/dist/targets-Y4I65HD2.js +0 -104
  595. package/dist/testimonials-XNBDJHEN.js +0 -32
  596. package/dist/themes-RDNVUJHG.js +0 -95
  597. package/dist/top-companies-KMY4LVNU.js +0 -109
  598. package/dist/translate-QOS2PQQF.js +0 -607
  599. package/dist/triggers-54BIQKZY.js +0 -142
  600. package/dist/unlink-QB2XWRNT.js +0 -68
  601. package/dist/unstage-2TF3RJND.js +0 -86
  602. package/dist/unstage-GUQCHRDA.js +0 -95
  603. package/dist/update-74SGZ2ZZ.js +0 -99
  604. package/dist/update-INO3OXFQ.js +0 -153
  605. package/dist/update-ITHM3F2E.js +0 -64
  606. package/dist/update-WGOPKNRC.js +0 -189
  607. package/dist/update-WGOPKNRC.js.map +0 -1
  608. package/dist/upload-VZZJ2GEQ.js +0 -127
  609. package/dist/url-options-YT6CT62P.js +0 -130
  610. package/dist/url-params-PPPS5PC7.js +0 -99
  611. package/dist/validate-VVLREMQO.js +0 -120
  612. package/dist/videos-ILTQAHWU.js +0 -39
  613. package/dist/videos-ILTQAHWU.js.map +0 -1
  614. package/dist/viewer-check-2XRID6KP.js +0 -81
  615. package/dist/web-JEBZUHD6.js +0 -141
  616. package/dist/winning-ads-JZ2DYSYA.js +0 -86
  617. package/dist/write-commands-IRFDR3TN.js +0 -1493
  618. package/dist/x-KB5FJNQ2.js +0 -47
  619. /package/dist/{account-CKXOBHXJ.js.map → account-MV3NLCM7.js.map} +0 -0
  620. /package/dist/{account-PYK5VMQ4.js.map → account-O6TGGIQI.js.map} +0 -0
  621. /package/dist/{account-reads-2U5OGO72.js.map → account-reads-NUF5PNDN.js.map} +0 -0
  622. /package/dist/{account-users-HXNP7NYL.js.map → account-users-6VMTSBPB.js.map} +0 -0
  623. /package/dist/{account-writes-4MAKFM7L.js.map → account-writes-O3VEGYR3.js.map} +0 -0
  624. /package/dist/{accounts-LT2SMPUS.js.map → accounts-PLEZUUPU.js.map} +0 -0
  625. /package/dist/{actions-BFO2AQPM.js.map → actions-M65FQITM.js.map} +0 -0
  626. /package/dist/{activecampaign-SDW74BZ7.js.map → activecampaign-BMU4KRHA.js.map} +0 -0
  627. /package/dist/{ad-group-writes-XZ7XSJ3C.js.map → ad-group-writes-DF362PY7.js.map} +0 -0
  628. /package/dist/{ad-groups-HI5YNTX3.js.map → ad-groups-QGKIIODZ.js.map} +0 -0
  629. /package/dist/{ad-writes-E2C4BKWT.js.map → ad-writes-X2PI6ZWP.js.map} +0 -0
  630. /package/dist/{add-4ECK6KWH.js.map → add-BLGRFPRJ.js.map} +0 -0
  631. /package/dist/{add-VTFQI3FC.js.map → add-CE7M63A5.js.map} +0 -0
  632. /package/dist/{ads-KB5CLOYS.js.map → ads-6YECVD3I.js.map} +0 -0
  633. /package/dist/{ads-VXF5STHG.js.map → ads-Q3DDAWWW.js.map} +0 -0
  634. /package/dist/{advertisers-PZOZHGHW.js.map → advertisers-CIH2MZDD.js.map} +0 -0
  635. /package/dist/{analytics-CHQNRXSI.js.map → analytics-NT5DSRJO.js.map} +0 -0
  636. /package/dist/{animate-2BMHZ4FM.js.map → animate-JT5ZASUF.js.map} +0 -0
  637. /package/dist/{assign-L2APE23R.js.map → assign-6SSKCI27.js.map} +0 -0
  638. /package/dist/{audience-size-3X7ARQA3.js.map → audience-size-TTCR3XAT.js.map} +0 -0
  639. /package/dist/{audiences-SUW2NSXG.js.map → audiences-SJNKZANP.js.map} +0 -0
  640. /package/dist/{audit-2J323TJN.js.map → audit-ROOPZJDD.js.map} +0 -0
  641. /package/dist/{autocomplete-UMHLUHGJ.js.map → autocomplete-P2XGFLMM.js.map} +0 -0
  642. /package/dist/{avatars-C7MXSFPO.js.map → avatars-NRYRPIRU.js.map} +0 -0
  643. /package/dist/{bid-pricing-4SZAU7RO.js.map → bid-pricing-UGAXYNOP.js.map} +0 -0
  644. /package/dist/{brand-DVBQIKST.js.map → brand-FOR3DSKV.js.map} +0 -0
  645. /package/dist/{brief-VDF6APJJ.js.map → brief-7OQKGGVL.js.map} +0 -0
  646. /package/dist/{campaign-groups-TYBFAN5H.js.map → campaign-groups-CIPQHMZS.js.map} +0 -0
  647. /package/dist/{campaign-writes-W2JKFKKQ.js.map → campaign-writes-NSBACF2P.js.map} +0 -0
  648. /package/dist/{campaign-writes-JFT4OPL5.js.map → campaign-writes-OMFZJWGU.js.map} +0 -0
  649. /package/dist/{campaigns-P5AOKGER.js.map → campaigns-OMMEJYEC.js.map} +0 -0
  650. /package/dist/{campaigns-SR7CBPER.js.map → campaigns-UARVDDWQ.js.map} +0 -0
  651. /package/dist/{campaigns-XFNPYDO6.js.map → campaigns-WWVN6QSD.js.map} +0 -0
  652. /package/dist/{canvas-U6FVXN3L.js.map → canvas-URCNGKPF.js.map} +0 -0
  653. /package/dist/{capabilities-5HDV5HG5.js.map → capabilities-HOU7QPT2.js.map} +0 -0
  654. /package/dist/{catalog-TZLU5NWI.js.map → catalog-P34ZA66G.js.map} +0 -0
  655. /package/dist/{catalogs-WR3D6VEY.js.map → catalogs-UYDBYIY4.js.map} +0 -0
  656. /package/dist/{changes-ONEEMEMT.js.map → changes-BWNFAVPX.js.map} +0 -0
  657. /package/dist/{chatgpt-23X76OFD.js.map → chatgpt-PXRVAIYN.js.map} +0 -0
  658. /package/dist/{chats-EW3FUVQP.js.map → chats-O2YQ5CUE.js.map} +0 -0
  659. /package/dist/{check-OTSGPSLX.js.map → check-52JH3EX5.js.map} +0 -0
  660. /package/dist/{chunk-M64MKSUO.js.map → chunk-23YNUSLR.js.map} +0 -0
  661. /package/dist/{chunk-JO5R2VL6.js.map → chunk-25L3PCG3.js.map} +0 -0
  662. /package/dist/{chunk-KTT7AHES.js.map → chunk-2DFQ5DRN.js.map} +0 -0
  663. /package/dist/{chunk-E27TYQOV.js.map → chunk-2NQ4KZMC.js.map} +0 -0
  664. /package/dist/{chunk-SWN6OHXG.js.map → chunk-2PQXUN3X.js.map} +0 -0
  665. /package/dist/{chunk-ULQ323T2.js.map → chunk-3BQWXNKX.js.map} +0 -0
  666. /package/dist/{chunk-UKSSNYLU.js.map → chunk-3ILJAFMP.js.map} +0 -0
  667. /package/dist/{chunk-ZFBIKJTV.js.map → chunk-3QJVQZHH.js.map} +0 -0
  668. /package/dist/{chunk-JDUPYPYB.js.map → chunk-3VA52AHF.js.map} +0 -0
  669. /package/dist/{chunk-JAC6JVCI.js.map → chunk-3VYKVHU2.js.map} +0 -0
  670. /package/dist/{chunk-ANLLW3KZ.js.map → chunk-43PAN3L2.js.map} +0 -0
  671. /package/dist/{chunk-PGRDGQ23.js.map → chunk-4D5HZ7V3.js.map} +0 -0
  672. /package/dist/{chunk-KYVB64R7.js.map → chunk-4IBP7ENG.js.map} +0 -0
  673. /package/dist/{chunk-G6AK5QGY.js.map → chunk-4IYLTR6P.js.map} +0 -0
  674. /package/dist/{chunk-4MIVJXF7.js.map → chunk-4JENX6PN.js.map} +0 -0
  675. /package/dist/{chunk-4WGAB5K3.js.map → chunk-4SATGZL3.js.map} +0 -0
  676. /package/dist/{chunk-FFG2OYVV.js.map → chunk-5HJ4F4NQ.js.map} +0 -0
  677. /package/dist/{chunk-BBBWMD5R.js.map → chunk-66TFWT5I.js.map} +0 -0
  678. /package/dist/{chunk-MVD7QIXI.js.map → chunk-6HS4YPW7.js.map} +0 -0
  679. /package/dist/{chunk-MVE26PWE.js.map → chunk-6QIXZ7EZ.js.map} +0 -0
  680. /package/dist/{chunk-KMK6SCCT.js.map → chunk-7U2V4BKR.js.map} +0 -0
  681. /package/dist/{chunk-UTFKMUEP.js.map → chunk-7VBKTCX3.js.map} +0 -0
  682. /package/dist/{chunk-XTQPBB7H.js.map → chunk-AGQIRW4G.js.map} +0 -0
  683. /package/dist/{chunk-TX7CQTD4.js.map → chunk-B5JQM24Z.js.map} +0 -0
  684. /package/dist/{chunk-XRMZET4B.js.map → chunk-CO2CAOY2.js.map} +0 -0
  685. /package/dist/{chunk-PDLPI4RU.js.map → chunk-DMPIWMDR.js.map} +0 -0
  686. /package/dist/{chunk-NXWEQTHL.js.map → chunk-DVPWNQ7S.js.map} +0 -0
  687. /package/dist/{chunk-5U62OLCB.js.map → chunk-DVUEFCOG.js.map} +0 -0
  688. /package/dist/{chunk-MU3Z55CT.js.map → chunk-DX46OE4U.js.map} +0 -0
  689. /package/dist/{chunk-PX3PUDK7.js.map → chunk-ERGEZPJH.js.map} +0 -0
  690. /package/dist/{chunk-L4QPMKMS.js.map → chunk-F6P6GGWB.js.map} +0 -0
  691. /package/dist/{chunk-7EN4X3L2.js.map → chunk-FHBDDVL4.js.map} +0 -0
  692. /package/dist/{chunk-CUFS24JZ.js.map → chunk-GCGXKPZJ.js.map} +0 -0
  693. /package/dist/{chunk-O63C32SS.js.map → chunk-HFIACH3D.js.map} +0 -0
  694. /package/dist/{chunk-HML3VQIW.js.map → chunk-I3LQPISV.js.map} +0 -0
  695. /package/dist/{chunk-YZGG5JFI.js.map → chunk-IWSKTNT4.js.map} +0 -0
  696. /package/dist/{chunk-3NMSZMDO.js.map → chunk-J2JWWDK6.js.map} +0 -0
  697. /package/dist/{chunk-Y3LWPDK7.js.map → chunk-JD2PWX7P.js.map} +0 -0
  698. /package/dist/{chunk-LORS3LYQ.js.map → chunk-JFK6Y7A7.js.map} +0 -0
  699. /package/dist/{chunk-6KWEF6HF.js.map → chunk-JYOVVJ2E.js.map} +0 -0
  700. /package/dist/{chunk-JYINPRYR.js.map → chunk-L6EZRWI5.js.map} +0 -0
  701. /package/dist/{chunk-LRV6M2WB.js.map → chunk-N22J7UPW.js.map} +0 -0
  702. /package/dist/{chunk-HWIBNIBI.js.map → chunk-NUTMEDAP.js.map} +0 -0
  703. /package/dist/{chunk-MZPS46OR.js.map → chunk-PHOAW3WN.js.map} +0 -0
  704. /package/dist/{chunk-7HZSORAB.js.map → chunk-PSYAT3ZM.js.map} +0 -0
  705. /package/dist/{chunk-EO5K26MN.js.map → chunk-QATA3YJM.js.map} +0 -0
  706. /package/dist/{chunk-OK3GNRAN.js.map → chunk-QR77PWZA.js.map} +0 -0
  707. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-S4L4H7JG.js.map} +0 -0
  708. /package/dist/{chunk-XFDHZJ3O.js.map → chunk-SGU5L5JS.js.map} +0 -0
  709. /package/dist/{chunk-DKPRKY5N.js.map → chunk-SJWEYCA3.js.map} +0 -0
  710. /package/dist/{chunk-G7ZEDPJS.js.map → chunk-U2E4V56C.js.map} +0 -0
  711. /package/dist/{chunk-YCTOVJSJ.js.map → chunk-V76EZ5DQ.js.map} +0 -0
  712. /package/dist/{chunk-GAUM75WM.js.map → chunk-VQBIGA2H.js.map} +0 -0
  713. /package/dist/{chunk-S545M2WZ.js.map → chunk-VU5Z2V4S.js.map} +0 -0
  714. /package/dist/{chunk-4WFK3CWM.js.map → chunk-WD6REBLS.js.map} +0 -0
  715. /package/dist/{chunk-6VE5U5V3.js.map → chunk-WEQ5TKIQ.js.map} +0 -0
  716. /package/dist/{chunk-34Z4YPXD.js.map → chunk-WWAK4CNA.js.map} +0 -0
  717. /package/dist/{chunk-A3IQAONL.js.map → chunk-X4A7NEBZ.js.map} +0 -0
  718. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-XRTM4DGG.js.map} +0 -0
  719. /package/dist/{chunk-3YJNSUNF.js.map → chunk-Y35WFNKZ.js.map} +0 -0
  720. /package/dist/{chunk-HGWK47AD.js.map → chunk-Y456MK74.js.map} +0 -0
  721. /package/dist/{chunk-4XIF4ZHU.js.map → chunk-YW2SISXV.js.map} +0 -0
  722. /package/dist/{chunk-DB3CF4W3.js.map → chunk-ZCPYINLO.js.map} +0 -0
  723. /package/dist/{chunk-D7ARAKE2.js.map → chunk-ZEGNIP3Y.js.map} +0 -0
  724. /package/dist/{chunk-PXAHSVME.js.map → chunk-ZL4RUOCW.js.map} +0 -0
  725. /package/dist/{claim-XIC7D3U2.js.map → claim-WWIZTMTV.js.map} +0 -0
  726. /package/dist/{companies-DKXFLATC.js.map → companies-MILLGGJI.js.map} +0 -0
  727. /package/dist/{complete-IHHA7BA3.js.map → complete-22T4UMZA.js.map} +0 -0
  728. /package/dist/{connect-XQYH5Z3Q.js.map → connect-U6HPGREH.js.map} +0 -0
  729. /package/dist/{conversation-7LRPE7BB.js.map → conversation-RP3AK4LE.js.map} +0 -0
  730. /package/dist/{conversion-report-V3TGPELD.js.map → conversion-report-UIU4JRJG.js.map} +0 -0
  731. /package/dist/{conversion-upload-command-K2SB6O6K.js.map → conversion-upload-command-5BUCIVEE.js.map} +0 -0
  732. /package/dist/{conversion-writes-B2QOYL56.js.map → conversion-writes-OMZVC2NX.js.map} +0 -0
  733. /package/dist/{conversions-DXOKLXT3.js.map → conversions-ACYPUK4Z.js.map} +0 -0
  734. /package/dist/{conversions-ILF5HJOO.js.map → conversions-M5FWYDC4.js.map} +0 -0
  735. /package/dist/{create-VHKFT7H3.js.map → create-DG326KYF.js.map} +0 -0
  736. /package/dist/{create-TAYW7GJG.js.map → create-JNVOTWWU.js.map} +0 -0
  737. /package/dist/{create-QMCKARFM.js.map → create-L3A5HCNR.js.map} +0 -0
  738. /package/dist/{create-S47RE4XP.js.map → create-M37PJDJF.js.map} +0 -0
  739. /package/dist/{creatives-QTSFNO6M.js.map → creatives-L5OKL34F.js.map} +0 -0
  740. /package/dist/{creatives-2XB6XHSR.js.map → creatives-YGNBGVLX.js.map} +0 -0
  741. /package/dist/{credentials-7PIADYYN.js.map → credentials-7LBMDF6N.js.map} +0 -0
  742. /package/dist/{critique-LA45SBLU.js.map → critique-2DKP7YFP.js.map} +0 -0
  743. /package/dist/{critique-I27WON42.js.map → critique-7KZZS2EX.js.map} +0 -0
  744. /package/dist/{crm-55C3E46K.js.map → crm-HB6TC3JM.js.map} +0 -0
  745. /package/dist/{currency-UVQIYZUP.js.map → currency-FGNHI5NQ.js.map} +0 -0
  746. /package/dist/{customers-XZHBRDQQ.js.map → customers-G7XJHA2I.js.map} +0 -0
  747. /package/dist/{delete-GL4OMCDS.js.map → delete-N34HCPOM.js.map} +0 -0
  748. /package/dist/{delete-MHLZD4IH.js.map → delete-YQWPPBM6.js.map} +0 -0
  749. /package/dist/{delete-4GMTTYAG.js.map → delete-YVNKPARC.js.map} +0 -0
  750. /package/dist/{demographics-A3LFPWWB.js.map → demographics-YI2WM4HS.js.map} +0 -0
  751. /package/dist/{discard-R62Z2GRI.js.map → discard-PJNIC22V.js.map} +0 -0
  752. /package/dist/{discover-2TPMVIW7.js.map → discover-KXTBNKH3.js.map} +0 -0
  753. /package/dist/{domain-FP3X4RPV.js.map → domain-GJUNOEFM.js.map} +0 -0
  754. /package/dist/{draft-ZQIIOMPK.js.map → draft-7NAX2XE5.js.map} +0 -0
  755. /package/dist/{draft-5XV2BJ3N.js.map → draft-JX35Y36U.js.map} +0 -0
  756. /package/dist/{draft-6G42C54W.js.map → draft-N2E6YXER.js.map} +0 -0
  757. /package/dist/{draft-A2I4RLMW.js.map → draft-PPUG66G6.js.map} +0 -0
  758. /package/dist/{draft-BVEDTUA4.js.map → draft-UFJO2N6C.js.map} +0 -0
  759. /package/dist/{experiments-BEI7TSXE.js.map → experiments-ZWEI2VT3.js.map} +0 -0
  760. /package/dist/{facets-ORUDWFIR.js.map → facets-Z4NGP42L.js.map} +0 -0
  761. /package/dist/{feedback-7DLHRUIT.js.map → feedback-43MWGNMC.js.map} +0 -0
  762. /package/dist/{feedback-record-D3YQATBI.js.map → feedback-record-2P625JGM.js.map} +0 -0
  763. /package/dist/{fetch-BOLHAMIY.js.map → fetch-S2R7NHKI.js.map} +0 -0
  764. /package/dist/{fit-SXBVVQQS.js.map → fit-CJXDP75P.js.map} +0 -0
  765. /package/dist/{flows-4BPONEMG.js.map → flows-DIPN66XJ.js.map} +0 -0
  766. /package/dist/{fonts-ILG2LCR7.js.map → fonts-3UNRBOM6.js.map} +0 -0
  767. /package/dist/{forecast-BVJNW22S.js.map → forecast-EPYSKYDX.js.map} +0 -0
  768. /package/dist/{forecast-CLQKEFI6.js.map → forecast-HPYOX43W.js.map} +0 -0
  769. /package/dist/{funnel-6FWZR37B.js.map → funnel-JLYI5XXG.js.map} +0 -0
  770. /package/dist/{generate-NWHPM2GQ.js.map → generate-3Y4IRIVA.js.map} +0 -0
  771. /package/dist/{get-DOADISOP.js.map → get-3NRSP3FD.js.map} +0 -0
  772. /package/dist/{get-AO2SBDZ7.js.map → get-QYIE5QQD.js.map} +0 -0
  773. /package/dist/{google-BR4JIK4N.js.map → google-7L4GR3AB.js.map} +0 -0
  774. /package/dist/{google-ads-MGKOFGLF.js.map → google-ads-O4MYQOGT.js.map} +0 -0
  775. /package/dist/{history-EER4TMPN.js.map → history-DGFRDY7V.js.map} +0 -0
  776. /package/dist/{history-IXV4ZR6F.js.map → history-I6ZDT2WP.js.map} +0 -0
  777. /package/dist/{hubspot-RJQLUHCP.js.map → hubspot-J6Z5FAZ5.js.map} +0 -0
  778. /package/dist/{ideas-6G2XB2A7.js.map → ideas-ADQFXOI4.js.map} +0 -0
  779. /package/dist/{images-ESOTRMAR.js.map → images-X7Z34JXA.js.map} +0 -0
  780. /package/dist/{ingest-HQPM4IXX.js.map → ingest-3YB37P3B.js.map} +0 -0
  781. /package/dist/{ingest-QCZ2T3HB.js.map → ingest-QEOAUEKH.js.map} +0 -0
  782. /package/dist/{insights-UKWLUS5P.js.map → insights-FEDPCRAC.js.map} +0 -0
  783. /package/dist/{inspect-CS5CWS63.js.map → inspect-N2XWYHLO.js.map} +0 -0
  784. /package/dist/{inspiration-CW4ADEPT.js.map → inspiration-QJNUFRNH.js.map} +0 -0
  785. /package/dist/{intent-57BBLPLP.js.map → intent-QTQIHE32.js.map} +0 -0
  786. /package/dist/{keyword-gap-TSIQBZ6G.js.map → keyword-gap-SSWMMVI2.js.map} +0 -0
  787. /package/dist/{keyword-metrics-SRLCDGCB.js.map → keyword-metrics-6UKUK6GT.js.map} +0 -0
  788. /package/dist/{keywords-for-site-NIXJTFHX.js.map → keywords-for-site-O6GRPM2B.js.map} +0 -0
  789. /package/dist/{landing-GEGH44N7.js.map → landing-INTIUYIJ.js.map} +0 -0
  790. /package/dist/{languages-WKOFWZ7S.js.map → languages-2RPBR5VU.js.map} +0 -0
  791. /package/dist/{leads-DN3YPCWV.js.map → leads-S3HSZZCL.js.map} +0 -0
  792. /package/dist/{learn-NND26TEZ.js.map → learn-6FPZCSOS.js.map} +0 -0
  793. /package/dist/{line-item-writes-VXQMZR4N.js.map → line-item-writes-AALLWAU4.js.map} +0 -0
  794. /package/dist/{line-items-JGR3FTBD.js.map → line-items-KPWFC6K4.js.map} +0 -0
  795. /package/dist/{link-I76EC43Z.js.map → link-4QPX5OEW.js.map} +0 -0
  796. /package/dist/{linkedin-Q2BXWGLB.js.map → linkedin-WICM3UW5.js.map} +0 -0
  797. /package/dist/{list-ADHUKLAD.js.map → list-6MBZKJOY.js.map} +0 -0
  798. /package/dist/{list-BQ5SNHNQ.js.map → list-CPTVS5DS.js.map} +0 -0
  799. /package/dist/{list-DKWE4K6V.js.map → list-UOCTTPPW.js.map} +0 -0
  800. /package/dist/{locations-MID4EY6D.js.map → locations-3RZ5VGBO.js.map} +0 -0
  801. /package/dist/{locations-EQKMPX4G.js.map → locations-U5CJGLMB.js.map} +0 -0
  802. /package/dist/{log-FS62QUM3.js.map → log-V2ZXE34Z.js.map} +0 -0
  803. /package/dist/{lookup-7RVOMACQ.js.map → lookup-LWJMDEEL.js.map} +0 -0
  804. /package/dist/{make-5I42FGDO.js.map → make-NFND4QRB.js.map} +0 -0
  805. /package/dist/{map-JDJWCS4P.js.map → map-KZBPFQXO.js.map} +0 -0
  806. /package/dist/{mcp-C2MWMHHE.js.map → mcp-LACK6SUK.js.map} +0 -0
  807. /package/dist/{media-sources-5ORQD73O.js.map → media-sources-TZF6BUJV.js.map} +0 -0
  808. /package/dist/{members-JKTEP3DI.js.map → members-R4XLM7VC.js.map} +0 -0
  809. /package/dist/{metrics-35OGYZNY.js.map → metrics-ZYRQXPA6.js.map} +0 -0
  810. /package/dist/{models-JQEPSPNQ.js.map → models-C3BLMJGT.js.map} +0 -0
  811. /package/dist/{normalize-3XCYFEVP.js.map → normalize-ZDY6L5VO.js.map} +0 -0
  812. /package/dist/{options-EJR2SXSU.js.map → options-2VKTXIV7.js.map} +0 -0
  813. /package/dist/{organization-RQWXAP54.js.map → organization-EO4LOJHQ.js.map} +0 -0
  814. /package/dist/{performance-4S66FDTV.js.map → performance-AGJ42PRN.js.map} +0 -0
  815. /package/dist/{performance-DLSLM6AF.js.map → performance-TALH5EGT.js.map} +0 -0
  816. /package/dist/{pixels-WHQLX4FV.js.map → pixels-YGOGQ7SS.js.map} +0 -0
  817. /package/dist/{plan-DKBAIKX5.js.map → plan-O2TTEUIW.js.map} +0 -0
  818. /package/dist/{posts-YCSPJOIZ.js.map → posts-37LZKGWU.js.map} +0 -0
  819. /package/dist/{promoted-tweet-writes-FDTWY3QV.js.map → promoted-tweet-writes-27RR3GOV.js.map} +0 -0
  820. /package/dist/{promoted-tweets-WW344XNC.js.map → promoted-tweets-6XAIXBK5.js.map} +0 -0
  821. /package/dist/{publish-NBLDZ2XR.js.map → publish-YMZVWMZ6.js.map} +0 -0
  822. /package/dist/{query-ZH5CWI3X.js.map → query-HSDQWMJ3.js.map} +0 -0
  823. /package/dist/{questionnaire-K3A4UUIC.js.map → questionnaire-VE42SW77.js.map} +0 -0
  824. /package/dist/{reddit-HB2HVXTF.js.map → reddit-XNCKH4LM.js.map} +0 -0
  825. /package/dist/{refresh-WNGERQQX.js.map → refresh-X52QWB7U.js.map} +0 -0
  826. /package/dist/{release-SBWWWKS5.js.map → release-NRZSYXTV.js.map} +0 -0
  827. /package/dist/{relevant-pages-7KEKKRQ2.js.map → relevant-pages-DBALXQLB.js.map} +0 -0
  828. /package/dist/{remove-2OCCFOLM.js.map → remove-CBHGRAZS.js.map} +0 -0
  829. /package/dist/{reopen-OLC5N2DP.js.map → reopen-ROZWMKSV.js.map} +0 -0
  830. /package/dist/{rerun-5RR5S6ZA.js.map → rerun-CRAFUCZG.js.map} +0 -0
  831. /package/dist/{research-ZJQHXOA4.js.map → research-MQMA4ZQN.js.map} +0 -0
  832. /package/dist/{reset-GI4KMBOE.js.map → reset-6PCDMCKC.js.map} +0 -0
  833. /package/dist/{reset-W4QDDUJ6.js.map → reset-JEMTNDBF.js.map} +0 -0
  834. /package/dist/{resolve-CLA3URVJ.js.map → resolve-MPN3G7YW.js.map} +0 -0
  835. /package/dist/{retry-5QIHXNZH.js.map → retry-7RQ44CSW.js.map} +0 -0
  836. /package/dist/{retry-HSS7M5JC.js.map → retry-JUYM5AE4.js.map} +0 -0
  837. /package/dist/{revenue-QONCHT4J.js.map → revenue-IFI432JN.js.map} +0 -0
  838. /package/dist/{rules-DGN24SWA.js.map → rules-W2DCHJGX.js.map} +0 -0
  839. /package/dist/{rules-add-436Y2CWL.js.map → rules-add-OIP7SRKM.js.map} +0 -0
  840. /package/dist/{run-I5Q42M5Q.js.map → run-IXJ3AJ6X.js.map} +0 -0
  841. /package/dist/{run-XBZMGAWD.js.map → run-LJUCR2JA.js.map} +0 -0
  842. /package/dist/{scaffold-ad-DUJO3TKG.js.map → scaffold-ad-SBYDMOAQ.js.map} +0 -0
  843. /package/dist/{scaffold-video-YJ4A7SLO.js.map → scaffold-video-Z4GXKC7W.js.map} +0 -0
  844. /package/dist/{schedule-P3442SHR.js.map → schedule-BMGOREVG.js.map} +0 -0
  845. /package/dist/{scheduled-agents-J7HFCJMZ.js.map → scheduled-agents-BGTR3WCX.js.map} +0 -0
  846. /package/dist/{schema-N44JKNJ3.js.map → schema-6Y3IXFDC.js.map} +0 -0
  847. /package/dist/{schema-DPU5NCWO.js.map → schema-HCWSZHZJ.js.map} +0 -0
  848. /package/dist/{search-FZUJCC5F.js.map → search-OVFOPUXT.js.map} +0 -0
  849. /package/dist/{select-5MMLVDG7.js.map → select-XSVMD5JH.js.map} +0 -0
  850. /package/dist/{sends-LEESHU62.js.map → sends-OLVQGOAE.js.map} +0 -0
  851. /package/dist/{set-prompt-SQGQTJVP.js.map → set-prompt-SFP2DB4O.js.map} +0 -0
  852. /package/dist/{setup-links-QF6FIS6N.js.map → setup-links-K6KTGVSA.js.map} +0 -0
  853. /package/dist/{shopify-OXUYVDND.js.map → shopify-MIOO3BGY.js.map} +0 -0
  854. /package/dist/{site-YVZQSAIW.js.map → site-6M7SXCPN.js.map} +0 -0
  855. /package/dist/{sources-NWM6SI4P.js.map → sources-FTAC2WUM.js.map} +0 -0
  856. /package/dist/{sources-3IVHGGTH.js.map → sources-JHPI7Q2O.js.map} +0 -0
  857. /package/dist/{stale-ZBULRUS7.js.map → stale-FPRPOEHH.js.map} +0 -0
  858. /package/dist/{status-RUXOUOPA.js.map → status-4C37VNOQ.js.map} +0 -0
  859. /package/dist/{studio-LYHZFTA3.js.map → studio-65IM5YDD.js.map} +0 -0
  860. /package/dist/{sync-XKRY2D2J.js.map → sync-KCD6KCKU.js.map} +0 -0
  861. /package/dist/{sync-definition-HVHXWEDR.js.map → sync-definition-WFDK6RR3.js.map} +0 -0
  862. /package/dist/{tag-manager-F7PVTDBB.js.map → tag-manager-BVPLGLTF.js.map} +0 -0
  863. /package/dist/{tags-WPPGJN2C.js.map → tags-2A4YRO34.js.map} +0 -0
  864. /package/dist/{tags-PBUZJQHN.js.map → tags-N3LP2WTK.js.map} +0 -0
  865. /package/dist/{tags-K5FVDHPH.js.map → tags-OBQ5BTBY.js.map} +0 -0
  866. /package/dist/{tags-3U5K3EVI.js.map → tags-WWETGLRJ.js.map} +0 -0
  867. /package/dist/{tags-6PQ37XO5.js.map → tags-ZWL3G4XR.js.map} +0 -0
  868. /package/dist/{targeting-criteria-OZ74V2DC.js.map → targeting-criteria-YHSVILGV.js.map} +0 -0
  869. /package/dist/{targets-Y4I65HD2.js.map → targets-4SZC7DR4.js.map} +0 -0
  870. /package/dist/{testimonials-XNBDJHEN.js.map → testimonials-MJHMFJ5J.js.map} +0 -0
  871. /package/dist/{themes-RDNVUJHG.js.map → themes-GTWQLIX2.js.map} +0 -0
  872. /package/dist/{top-companies-KMY4LVNU.js.map → top-companies-DSL2QVOH.js.map} +0 -0
  873. /package/dist/{translate-QOS2PQQF.js.map → translate-JSXPZUBM.js.map} +0 -0
  874. /package/dist/{triggers-54BIQKZY.js.map → triggers-UAEGGBYL.js.map} +0 -0
  875. /package/dist/{unlink-QB2XWRNT.js.map → unlink-HUCQPTTA.js.map} +0 -0
  876. /package/dist/{unstage-2TF3RJND.js.map → unstage-CYIVBS5D.js.map} +0 -0
  877. /package/dist/{unstage-GUQCHRDA.js.map → unstage-QFVL7AZ4.js.map} +0 -0
  878. /package/dist/{update-INO3OXFQ.js.map → update-IORKVKDQ.js.map} +0 -0
  879. /package/dist/{update-74SGZ2ZZ.js.map → update-R7WY7EGL.js.map} +0 -0
  880. /package/dist/{update-ITHM3F2E.js.map → update-WT7MMEBY.js.map} +0 -0
  881. /package/dist/{upload-VZZJ2GEQ.js.map → upload-FZAAJHU7.js.map} +0 -0
  882. /package/dist/{url-options-YT6CT62P.js.map → url-options-PPIRU2RF.js.map} +0 -0
  883. /package/dist/{url-params-PPPS5PC7.js.map → url-params-ZM6YVT63.js.map} +0 -0
  884. /package/dist/{validate-VVLREMQO.js.map → validate-PPUSF56N.js.map} +0 -0
  885. /package/dist/{viewer-check-2XRID6KP.js.map → viewer-check-4SFBSLRN.js.map} +0 -0
  886. /package/dist/{web-JEBZUHD6.js.map → web-MYPJLXY3.js.map} +0 -0
  887. /package/dist/{winning-ads-JZ2DYSYA.js.map → winning-ads-KY7NQR2P.js.map} +0 -0
  888. /package/dist/{write-commands-IRFDR3TN.js.map → write-commands-GQHYLHOF.js.map} +0 -0
  889. /package/dist/{x-KB5FJNQ2.js.map → x-Q2DLEBQS.js.map} +0 -0
@@ -0,0 +1,97 @@
1
+ import {
2
+ claimNewCreativeInWorkspace,
3
+ creativeLimitRefusal
4
+ } from "./chunk-XVFZDPEW.js";
5
+ import {
6
+ leadVersion,
7
+ writeSeriesMemberCanvas
8
+ } from "./chunk-SJWEYCA3.js";
9
+ import {
10
+ definitionFieldsOf,
11
+ setDefinitionFields,
12
+ setSpecMessage
13
+ } from "./chunk-XRTM4DGG.js";
14
+ import {
15
+ IDEAS_DIR
16
+ } from "./chunk-2PQXUN3X.js";
17
+
18
+ // src/commands/creatives/make-series.ts
19
+ import { mkdir, readFile, writeFile } from "fs/promises";
20
+ import path from "path";
21
+ import { parseDocument } from "yaml";
22
+ var LEAD_ONLY = ["idea", "message", "evidence", "angle", "persona", "awareness", "hypothesis", "series", "title"];
23
+ function withoutFields(raw, keys) {
24
+ const match = raw.match(/^---\r?\n([\s\S]*?\r?\n)?---/);
25
+ if (!match) return raw;
26
+ const doc = parseDocument(match[1] ?? "");
27
+ if (doc.errors.length > 0) return raw;
28
+ for (const key of keys) doc.delete(key);
29
+ return `---
30
+ ${doc.toString()}---${raw.slice(match[0].length)}`;
31
+ }
32
+ async function makeSeriesAd(root, idea, slug, lead, evidence, deps) {
33
+ if (slug === lead) {
34
+ return {
35
+ code: "series_of_itself",
36
+ message: `"${slug}" is the lead itself.`,
37
+ fix: "Give the new ad its own --slug."
38
+ };
39
+ }
40
+ const version = await leadVersion(root, lead);
41
+ if ("refused" in version) return version.refused;
42
+ const dir = path.join(root, "src", "creatives", slug);
43
+ const definitionPath = path.join(dir, "_definition.md");
44
+ const claim = await claimNewCreativeInWorkspace(path.join(root, "canvas"), slug, deps.chatId, definitionPath);
45
+ if (!claim.allowed) return creativeLimitRefusal(slug).error;
46
+ await mkdir(dir, { recursive: true });
47
+ await writeFile(path.join(dir, "prompt.json"), setSpecMessage(JSON.stringify(version.spec), idea.message), "utf8");
48
+ const leadDefinition = await readFile(path.join(root, "src", "creatives", lead, "_definition.md"), "utf8").catch(
49
+ () => "---\nkind: static\n---\n"
50
+ );
51
+ const definition = setDefinitionFields(withoutFields(leadDefinition, LEAD_ONLY), {
52
+ title: idea.message.slice(0, 120),
53
+ series: lead,
54
+ status: "draft",
55
+ ...definitionFieldsOf(idea, evidence)
56
+ });
57
+ await writeFile(definitionPath, definition, "utf8");
58
+ const made = await writeSeriesMemberCanvas(root, slug, { leadWords: true });
59
+ if (made === null || "refused" in made) {
60
+ return made?.refused ?? { code: "series_not_made", message: `"${slug}" could not be made in the series of "${lead}".` };
61
+ }
62
+ if (idea.status === "idea") {
63
+ const ideaPath = path.join(root, IDEAS_DIR, `${idea.id}.md`);
64
+ const raw = await readFile(ideaPath, "utf8").catch(() => null);
65
+ if (raw !== null) await writeFile(ideaPath, setDefinitionFields(raw, { status: "built" }), "utf8");
66
+ }
67
+ await deps.sync(dir);
68
+ return { slug, lead, leadRunId: version.lead.runId, canvasPath: made.canvasPath };
69
+ }
70
+ function seriesMadeEnvelope(made, idea) {
71
+ const lead = made.leadPlatforms ?? [];
72
+ const elsewhere = (idea.platforms ?? []).some((p) => !lead.includes(p));
73
+ return {
74
+ ok: true,
75
+ data: {
76
+ creative: made.slug,
77
+ idea: idea.id,
78
+ message: idea.message,
79
+ series: made.lead,
80
+ canvas_path: made.canvasPath
81
+ },
82
+ hints: [
83
+ `Write this ad's words in src/creatives/${made.slug}/prompt.json \`copy\`: one line for each of the lead's, in the same roles and about as long, saying this idea's message. Change nothing else: the picture, layout and colours are the lead's (${made.lead}), and every word you write replaces the lead's line in its place.`,
84
+ `When every ad of the series has its words: baker canvas run --series ${made.lead} (renders them all at once, each reviewed and corrected on its own).`,
85
+ ...elsewhere && lead.length > 0 ? [
86
+ `A series ad runs where its lead runs (${lead.join(", ")}), in its sizes; the idea names ${idea.platforms?.join(", ")}. To run it there, make it on its own: baker creatives make ${idea.id} --platforms ${idea.platforms?.join(",")}.`
87
+ ] : []
88
+ ]
89
+ };
90
+ }
91
+
92
+ export {
93
+ withoutFields,
94
+ makeSeriesAd,
95
+ seriesMadeEnvelope
96
+ };
97
+ //# sourceMappingURL=chunk-NUTMEDAP.js.map
@@ -0,0 +1,76 @@
1
+ import {
2
+ MODEL_REGISTRY,
3
+ isRegisteredModel
4
+ } from "./chunk-3ZW3NYI6.js";
5
+
6
+ // src/commands/canvas/scaffold-common.ts
7
+ import { access, readFile } from "fs/promises";
8
+
9
+ // src/commands/canvas/composition-path.ts
10
+ import { existsSync } from "fs";
11
+ import path from "path";
12
+ function resolveShippedCanvasDir(name, startDir, exists = existsSync, maxDepth = 8) {
13
+ const rel = path.join("canvas", name);
14
+ let dir = startDir;
15
+ for (let i = 0; i < maxDepth; i++) {
16
+ const candidate = path.join(dir, rel);
17
+ if (exists(path.join(candidate, "meta.json"))) return candidate;
18
+ const parent = path.dirname(dir);
19
+ if (parent === dir) break;
20
+ dir = parent;
21
+ }
22
+ return path.resolve(startDir, "../../../", rel);
23
+ }
24
+
25
+ // src/commands/canvas/scaffold-common.ts
26
+ var SHIPPED_OVERLAY_COMPOSITION_DIR = resolveShippedCanvasDir(
27
+ "video-overlay-composition",
28
+ import.meta.dirname
29
+ );
30
+ var SHIPPED_CAPTIONS_DIR = resolveShippedCanvasDir("tiktok-captions-composition", import.meta.dirname);
31
+ function resolveModel(kind, requested, fallback) {
32
+ const model = requested ? String(requested) : fallback;
33
+ if (isRegisteredModel(kind, model)) return model;
34
+ const known = Object.keys(MODEL_REGISTRY[kind]).join(", ");
35
+ throw new Error(`"${model}" is not a ${kind} model. Use one of: ${known}`);
36
+ }
37
+ async function loadAssetText(ref, label) {
38
+ const r = ref;
39
+ if (typeof r?.path === "string") return readFile(r.path, "utf8");
40
+ if (typeof r?.url === "string") {
41
+ const res = await fetch(r.url);
42
+ if (!res.ok) throw new Error(`failed to fetch ${label} (${res.status})`);
43
+ return res.text();
44
+ }
45
+ throw new Error(`${label}: output had no readable path or url`);
46
+ }
47
+ function parseElements(raw) {
48
+ const parsed = JSON.parse(raw);
49
+ if (Array.isArray(parsed)) return parsed;
50
+ if (parsed && typeof parsed === "object" && Array.isArray(parsed.elements)) {
51
+ return parsed.elements;
52
+ }
53
+ return [];
54
+ }
55
+ function fail(code, message, fix) {
56
+ process.stderr.write(`${JSON.stringify({ ok: false, error: { code, message, ...fix ? { fix } : {} } }, null, 2)}
57
+ `);
58
+ process.exit(2);
59
+ }
60
+ function fileExists(target) {
61
+ return access(target).then(
62
+ () => true,
63
+ () => false
64
+ );
65
+ }
66
+
67
+ export {
68
+ SHIPPED_OVERLAY_COMPOSITION_DIR,
69
+ SHIPPED_CAPTIONS_DIR,
70
+ resolveModel,
71
+ loadAssetText,
72
+ parseElements,
73
+ fail,
74
+ fileExists
75
+ };
76
+ //# sourceMappingURL=chunk-PHOAW3WN.js.map
@@ -0,0 +1,387 @@
1
+ import {
2
+ CRM_COLUMN_FIELDS,
3
+ CRM_DEAL_STATUSES,
4
+ targetAccountsSchema,
5
+ targetsSummarySchema
6
+ } from "./chunk-LV24JVMZ.js";
7
+ import {
8
+ calendarDaySchema,
9
+ todayUtc,
10
+ windowTooLong
11
+ } from "./chunk-MWD6JTOY.js";
12
+
13
+ // ../api/src/accounts/crm-columns.ts
14
+ var COLUMN_HELD = 0.7;
15
+ var SAMPLE_CHARS = 60;
16
+ var EMAIL = /[^\s@]+@[^\s@]+\.[^\s@]+/g;
17
+ var CRITERIA = {
18
+ id: "The deal's own unique id or number in the CRM (a deal, opportunity or record id of the deal), not the company's id",
19
+ name: "The deal's own title (a deal or opportunity name), not the name of the company or of a person",
20
+ companyId: "The CRM's unique id (or record id) of the company or account the row is about or the deal is with",
21
+ companyName: "The name of the company, account or organization the row is about or the deal is with",
22
+ companyDomain: "The company's website or web domain, like acme.com",
23
+ companyLinkedinPage: "The company's LinkedIn page address",
24
+ amount: "The deal's own value in money (its amount, value or size), not a weighted or forecast amount, not a company's revenue or turnover, not a probability, a percentage or a count",
25
+ currency: "The currency the amount is in, like EUR or USD",
26
+ pipeline: "Which sales pipeline the deal belongs to, not its stage",
27
+ stage: "The deal's stage or state in the sales pipeline, in any words (like Proposal, Negotiation, Closed Won, Ganado), not the status of a lead or a contact",
28
+ status: "Whether the deal is open, won or lost, written as exactly the English word open, won or lost",
29
+ createdAt: "The date the deal or the company was created, opened or added to the CRM",
30
+ closedAt: "The date the deal was closed (won or lost) or is expected to close",
31
+ none: "Anything else: a person (an owner, a contact, a person's name, email or phone), who created or last changed the record, a probability, a weighted amount, a company's revenue or size, a lead's or contact's status, a next step, a source, notes, an industry, a date of last activity, or any other field"
32
+ };
33
+ var QUESTION = "`column` is the header of a column in a spreadsheet exported from a CRM, in any language or in the CRM's own wording, and `cells` are values from that column. `sheet` lists every header of the spreadsheet, for context. Which field does `column` hold?";
34
+ function sampleCell(cell) {
35
+ return cell.replace(EMAIL, "<email address>").slice(0, SAMPLE_CHARS);
36
+ }
37
+ function crmColumnQuestions(columns, headers = columns.map((column) => column.header)) {
38
+ const sheet = headers.join(" | ");
39
+ return columns.map(({ header, samples }) => ({
40
+ type: "choice",
41
+ instructions: {
42
+ sheet,
43
+ column: header,
44
+ cells: samples.length > 0 ? samples.map(sampleCell).join(" | ") : "(empty)",
45
+ question: QUESTION
46
+ },
47
+ criteria: CRITERIA
48
+ }));
49
+ }
50
+ var isCrmColumnField = (choice) => CRM_COLUMN_FIELDS.includes(choice);
51
+ var isStatusCell = (cell) => CRM_DEAL_STATUSES.includes(cell.trim().toLowerCase());
52
+ function crmColumnMeanings(columns, answers, held = COLUMN_HELD) {
53
+ const meanings = {};
54
+ columns.forEach(({ header, samples }, index) => {
55
+ const answer = answers[index];
56
+ if (answer === void 0 || !("choice" in answer)) return;
57
+ const { choice, probabilities } = answer;
58
+ if (!isCrmColumnField(choice) || (probabilities[choice] ?? 0) < held) return;
59
+ meanings[header] = choice === "status" && !samples.every(isStatusCell) ? "stage" : choice;
60
+ });
61
+ return meanings;
62
+ }
63
+
64
+ // ../api/src/accounts/index.ts
65
+ import { z } from "zod";
66
+ var INFLUENCE_MODEL_KINDS = ["engagement", "awareness", "intent"];
67
+ var INFLUENCE_METRICS = ["impressions", "engagements", "clicks"];
68
+ var DEFAULT_LOOKBACK_MONTHS = 12;
69
+ var MATCH_CONFIDENCES = ["high", "low"];
70
+ var MODEL_METRIC = {
71
+ engagement: { metric: "engagements", threshold: 3 },
72
+ awareness: { metric: "impressions", threshold: 7 },
73
+ intent: { metric: "clicks", threshold: 3 }
74
+ };
75
+ function influenceParams(settings, override = {}) {
76
+ const kind = override.model ?? settings.model.kind;
77
+ const model = MODEL_METRIC[kind];
78
+ const wholeAtLeastOne = (value) => value !== void 0 && Number.isInteger(value) && value >= 1;
79
+ const threshold = override.threshold ?? (override.model === void 0 ? settings.model.threshold : void 0);
80
+ return {
81
+ metric: model.metric,
82
+ threshold: wholeAtLeastOne(threshold) ? threshold : model.threshold,
83
+ lookbackMonths: wholeAtLeastOne(settings.lookbackMonths) ? settings.lookbackMonths : DEFAULT_LOOKBACK_MONTHS
84
+ };
85
+ }
86
+ var ACCOUNTS_MAX_MONTHS = 24;
87
+ var windowFields = {
88
+ /** Calendar months including the current one. */
89
+ lastMonths: z.number().int().min(1).max(ACCOUNTS_MAX_MONTHS).optional(),
90
+ start: calendarDaySchema.optional(),
91
+ end: calendarDaySchema.optional()
92
+ };
93
+ var ruleOverrideFields = {
94
+ model: z.enum(INFLUENCE_MODEL_KINDS).optional(),
95
+ threshold: z.number().int().min(1).optional()
96
+ };
97
+ var targetsField = { targets: targetAccountsSchema.optional() };
98
+ var targetsSummaryField = { targets: targetsSummarySchema.optional() };
99
+ function windowRules(req, ctx) {
100
+ if (req.start !== void 0 && req.lastMonths !== void 0) {
101
+ ctx.addIssue({ code: "custom", path: ["lastMonths"], message: "pass lastMonths or start/end, not both" });
102
+ }
103
+ if (req.end !== void 0 && req.start === void 0) {
104
+ ctx.addIssue({ code: "custom", path: ["end"], message: "end needs a start" });
105
+ }
106
+ if (req.start !== void 0 && req.end !== void 0 && req.end < req.start) {
107
+ ctx.addIssue({ code: "custom", path: ["end"], message: "end is before start" });
108
+ return;
109
+ }
110
+ const tooLong = req.start === void 0 ? null : windowTooLong(req.start, req.end ?? todayUtc(), ACCOUNTS_MAX_MONTHS);
111
+ if (tooLong !== null) ctx.addIssue({ code: "custom", path: ["start"], message: tooLong });
112
+ }
113
+ var accountsWindowSchema = z.object({ start: z.string(), end: z.string() });
114
+ var influenceParamsSchema = z.object({
115
+ metric: z.enum(INFLUENCE_METRICS),
116
+ threshold: z.number(),
117
+ lookbackMonths: z.number()
118
+ });
119
+ var ACCOUNTS_ENGAGEMENT_DEFAULT_LIMIT = 500;
120
+ var ACCOUNTS_ENGAGEMENT_MAX_LIMIT = 5e3;
121
+ var accountEngagementRowSchema = z.object({
122
+ /** LinkedIn organization id; `urn:li:organization:<orgId>` on LinkedIn. */
123
+ orgId: z.string(),
124
+ /** Empty until the nightly sync has looked the company up. */
125
+ name: z.string(),
126
+ domain: z.string(),
127
+ impressions: z.number(),
128
+ clicks: z.number(),
129
+ engagements: z.number(),
130
+ videoViews: z.number(),
131
+ /** LinkedIn does not always report spend per company; 0 then. */
132
+ costLocal: z.number(),
133
+ currency: z.string(),
134
+ /** Months in the window the company saw or did anything. */
135
+ monthsActive: z.number(),
136
+ lastMonth: z.string().nullable(),
137
+ /** The same-length period just before the window. */
138
+ previous: z.object({ impressions: z.number(), clicks: z.number(), engagements: z.number() }),
139
+ /** By engagements against the previous period. */
140
+ flag: z.enum(["new", "rising"]).nullable(),
141
+ crmCompanyId: z.string().nullable(),
142
+ /** The matched CRM company's name; null without a match. Optional for older servers. */
143
+ crmCompanyName: z.string().nullable().optional(),
144
+ matchConfidence: z.enum(MATCH_CONFIDENCES).nullable(),
145
+ hasOpenDeal: z.boolean(),
146
+ hasWonDeal: z.boolean(),
147
+ hasLostDeal: z.boolean(),
148
+ /** When the company's most recent lost deal closed (created, when it has no close date), ISO; null without one. */
149
+ lastLostAt: z.string().nullable(),
150
+ /**
151
+ * People whose work email named the company's domain on the website or the
152
+ * API in the period, and how many became leads — the touches beside the ads.
153
+ * Null when none did; absent from older servers.
154
+ */
155
+ website: z.object({ people: z.number(), leads: z.number() }).nullable().optional(),
156
+ /**
157
+ * Visits from the company's own network in the period (`baker analytics
158
+ * companies`): visits, distinct pages read, and when it was last seen.
159
+ * Matched by normalised name (`companyNameKey`) against the LinkedIn name or
160
+ * the CRM match's name — the network gives no website to match on. Null when
161
+ * none matched; absent from older servers.
162
+ */
163
+ visitorCompany: z.object({ visits: z.number(), pages: z.number(), lastSeen: z.string() }).nullable().optional()
164
+ });
165
+ var accountWebsiteRowSchema = z.object({
166
+ domain: z.string(),
167
+ people: z.number(),
168
+ leads: z.number(),
169
+ /** ISO. */
170
+ firstSeen: z.string(),
171
+ /** ISO. */
172
+ lastSeen: z.string()
173
+ });
174
+ function accountDealStatus(row) {
175
+ if (row.hasWonDeal) return "won";
176
+ if (row.hasOpenDeal) return "open";
177
+ if (row.hasLostDeal) return "lost";
178
+ return "none";
179
+ }
180
+ var LOST_DEAL_COOLDOWN_MONTHS = 6;
181
+ function monthsBefore(day, months) {
182
+ const [year, month, date] = day.split("-").map(Number);
183
+ const index = (year ?? 1970) * 12 + ((month ?? 1) - 1) - months;
184
+ const lastDate = new Date(Date.UTC(Math.floor(index / 12), index % 12 + 1, 0)).getUTCDate();
185
+ return new Date(Date.UTC(Math.floor(index / 12), index % 12, Math.min(date ?? 1, lastDate))).toISOString().slice(0, 10);
186
+ }
187
+ function warmAccounts(rows, today, options = {}) {
188
+ const cooldownStart = monthsBefore(today, LOST_DEAL_COOLDOWN_MONTHS);
189
+ const { minimum } = options;
190
+ return rows.filter(
191
+ (row) => row.flag !== null && (minimum === void 0 || row[minimum.metric] >= minimum.value) && !row.hasOpenDeal && !row.hasWonDeal && !(row.lastLostAt !== null && row.lastLostAt.slice(0, 10) >= cooldownStart)
192
+ );
193
+ }
194
+ var accountsEngagementRequestSchema = z.object({
195
+ ...windowFields,
196
+ /** One campaign's companies; every campaign together when absent. */
197
+ campaignId: z.string().regex(/^\d+$/, "use the numeric campaign id").optional(),
198
+ /** Companies per page. */
199
+ limit: z.number().int().min(1).max(ACCOUNTS_ENGAGEMENT_MAX_LIMIT).default(ACCOUNTS_ENGAGEMENT_DEFAULT_LIMIT),
200
+ /** Which page, 1-based, most engaged first. */
201
+ page: z.number().int().min(1).default(1),
202
+ ...targetsField
203
+ }).superRefine(windowRules);
204
+ var accountsEngagementResponseSchema = z.object({
205
+ ok: z.literal(true),
206
+ data: z.object({
207
+ window: accountsWindowSchema,
208
+ previousWindow: accountsWindowSchema,
209
+ companies: z.array(accountEngagementRowSchema),
210
+ /** True when more companies were reached than this page and the ones before it hold. */
211
+ truncated: z.boolean(),
212
+ /** Which page this is, and how many companies there are in all. Absent from older servers. */
213
+ pageInfo: z.object({ page: z.number(), pageSize: z.number(), total: z.number(), hasMore: z.boolean() }).optional(),
214
+ /** The company's influence rule (the default one before setup): the minimum `baker accounts warm` applies. */
215
+ rule: influenceParamsSchema.optional(),
216
+ ...targetsSummaryField
217
+ })
218
+ });
219
+ var INFLUENCE_BASES = ["pipeline", "revenue"];
220
+ var accountDealRowSchema = z.object({
221
+ dealId: z.string(),
222
+ dealName: z.string(),
223
+ crmCompanyId: z.string(),
224
+ companyName: z.string(),
225
+ domain: z.string(),
226
+ /** Null when the deal has no amount — unknown, not zero. */
227
+ amount: z.number().nullable(),
228
+ currency: z.string(),
229
+ /** Created (pipeline) or closed won (revenue), ISO. The date the lookback counts back from. */
230
+ referenceAt: z.string(),
231
+ /** By the won and lost stages chosen in the settings. */
232
+ status: z.enum(["open", "won", "lost"]),
233
+ /** The model's metric, summed over the company's lookback months. */
234
+ touchValue: z.number(),
235
+ /** The first month inside the lookback the company was reached, `YYYY-MM-01`. */
236
+ firstTouchMonth: z.string().nullable(),
237
+ /** How surely the CRM company is the LinkedIn one; null when no LinkedIn company matched. */
238
+ matchConfidence: z.enum(MATCH_CONFIDENCES).nullable(),
239
+ /** The company crossed the threshold — whatever the match confidence. */
240
+ influenced: z.boolean()
241
+ });
242
+ var moneyByCurrencySchema = z.record(z.string(), z.number());
243
+ var influenceSummarySchema = z.object({
244
+ /** Every deal in the window for this basis. */
245
+ deals: z.number(),
246
+ /** Influenced, confirmed matches only — the headline. */
247
+ influencedDeals: z.number(),
248
+ influencedValue: moneyByCurrencySchema,
249
+ /** Influenced deals with no amount entered: counted, not valued. */
250
+ dealsWithoutAmount: z.number(),
251
+ /** Influenced through a match nobody confirmed yet; not in the headline. */
252
+ lowConfidenceDeals: z.number(),
253
+ lowConfidenceValue: moneyByCurrencySchema,
254
+ /** LinkedIn spend on the companies reached in the window, per currency. */
255
+ spend: moneyByCurrencySchema,
256
+ /** Influenced value per 1 of spend — only when both are in the same single currency. */
257
+ valuePerSpend: z.object({ currency: z.string(), value: z.number() }).nullable()
258
+ });
259
+ var accountsInfluencedRequestSchema = z.object({
260
+ ...windowFields,
261
+ /** `pipeline`: deals created in the window and not won. `revenue`: deals closed won in the window. */
262
+ basis: z.enum(INFLUENCE_BASES).default("pipeline"),
263
+ /** Every deal in the window, influenced or not; compact returns the influenced ones. */
264
+ full: z.boolean().default(false),
265
+ ...ruleOverrideFields,
266
+ ...targetsField
267
+ }).superRefine(windowRules);
268
+ var accountsInfluencedResponseSchema = z.object({
269
+ ok: z.literal(true),
270
+ data: z.object({
271
+ window: accountsWindowSchema,
272
+ basis: z.enum(INFLUENCE_BASES),
273
+ rule: influenceParamsSchema,
274
+ summary: influenceSummarySchema,
275
+ /** Influenced deals on confirmed matches; with `full`, every deal in the window. */
276
+ deals: z.array(accountDealRowSchema),
277
+ /** Influenced through a match nobody confirmed yet. Not in `summary`'s headline. */
278
+ lowConfidence: z.array(accountDealRowSchema),
279
+ /** True when the window held more deals than one read returns. */
280
+ truncated: z.boolean(),
281
+ ...targetsSummaryField
282
+ })
283
+ });
284
+ var accountsCompanyRequestSchema = z.object({
285
+ /** LinkedIn organization id, or its `urn:li:organization:` URN. */
286
+ orgId: z.string().transform((value) => value.replace(/^urn:li:organization:/, "")).pipe(z.string().regex(/^\d+$/, "use the LinkedIn company id or its urn:li:organization URN")).optional(),
287
+ /** The company's website domain, `acme.com`. */
288
+ domain: z.string().min(3).max(253).transform(
289
+ (value) => value.trim().toLowerCase().replace(/^https?:\/\//, "").replace(/^www\./, "").replace(/\/.*$/, "")
290
+ ).optional()
291
+ }).refine((req) => req.orgId === void 0 !== (req.domain === void 0), {
292
+ message: "Give a LinkedIn company id or a domain, one of the two."
293
+ });
294
+ var accountCompanyMonthSchema = z.object({
295
+ orgId: z.string(),
296
+ /** Empty for the whole ad account; a campaign id otherwise. */
297
+ campaignId: z.string(),
298
+ /** LinkedIn's name for the campaign; null for the account-wide row, or when LinkedIn could not be asked. */
299
+ campaignName: z.string().nullable(),
300
+ month: z.string(),
301
+ impressions: z.number(),
302
+ clicks: z.number(),
303
+ engagements: z.number()
304
+ });
305
+ var accountCompanyDealSchema = z.object({
306
+ dealId: z.string(),
307
+ dealName: z.string(),
308
+ amount: z.number().nullable(),
309
+ currency: z.string(),
310
+ status: z.enum(["open", "won", "lost"]),
311
+ createdAt: z.string(),
312
+ closedAt: z.string().nullable(),
313
+ /**
314
+ * The rule's metric over the lookback ending with the deal's reference month
315
+ * (created; closed for a won deal), from the pages in `orgs`. Absent before
316
+ * setup or when the company matched no CRM company.
317
+ */
318
+ touchValue: z.number().optional(),
319
+ /** `touchValue` reached the rule's threshold. */
320
+ influenced: z.boolean().optional()
321
+ });
322
+ var accountCompanyOrgSchema = z.object({
323
+ orgId: z.string(),
324
+ name: z.string(),
325
+ domain: z.string(),
326
+ crmCompanyId: z.string().nullable(),
327
+ matchConfidence: z.enum(MATCH_CONFIDENCES).nullable()
328
+ });
329
+ var accountsCompanyResponseSchema = z.object({
330
+ ok: z.literal(true),
331
+ data: z.object({
332
+ /** Usually one; a domain can name several LinkedIn pages of the same company. */
333
+ orgs: z.array(accountCompanyOrgSchema),
334
+ /** Month by month, per campaign (and the account-wide row, `campaignId: ""`), oldest first. */
335
+ months: z.array(accountCompanyMonthSchema),
336
+ /** Deals of the matched CRM company, oldest first. */
337
+ deals: z.array(accountCompanyDealSchema),
338
+ /** The rule `influenced` and `touchValue` on each deal were read with; absent before setup. */
339
+ rule: influenceParamsSchema.optional()
340
+ })
341
+ });
342
+ var accountsCampaignsRequestSchema = z.object({
343
+ ...windowFields,
344
+ ...ruleOverrideFields,
345
+ basis: z.enum(INFLUENCE_BASES).default("pipeline"),
346
+ ...targetsField
347
+ }).superRefine(windowRules);
348
+ var accountCampaignRowSchema = z.object({
349
+ campaignId: z.string(),
350
+ /** LinkedIn's name for the campaign; null when LinkedIn could not be asked or no longer lists it. */
351
+ campaignName: z.string().nullable(),
352
+ /** Companies that saw at least one impression in the window. */
353
+ companiesReached: z.number(),
354
+ /** Companies with at least one engagement in the window. */
355
+ companiesEngaged: z.number(),
356
+ /** Influenced deals (of the read's basis) this campaign touched in their lookback. Overlaps other campaigns. */
357
+ influencedDeals: z.number(),
358
+ influencedValue: moneyByCurrencySchema
359
+ });
360
+ var accountsCampaignsResponseSchema = z.object({
361
+ ok: z.literal(true),
362
+ data: z.object({
363
+ window: accountsWindowSchema,
364
+ /** Optional for older servers, which read pipeline only. */
365
+ basis: z.enum(INFLUENCE_BASES).optional(),
366
+ rule: influenceParamsSchema,
367
+ campaigns: z.array(accountCampaignRowSchema),
368
+ ...targetsSummaryField
369
+ })
370
+ });
371
+ var ACCOUNTS_NO_SETTINGS_MESSAGE = "Account insights are not set up yet: in Measure \u2192 Accounts, say where your deals are (HubSpot or another CRM) and what won and lost mean.";
372
+
373
+ export {
374
+ crmColumnQuestions,
375
+ crmColumnMeanings,
376
+ INFLUENCE_MODEL_KINDS,
377
+ influenceParams,
378
+ ACCOUNTS_ENGAGEMENT_MAX_LIMIT,
379
+ accountDealStatus,
380
+ warmAccounts,
381
+ accountsEngagementRequestSchema,
382
+ accountsInfluencedRequestSchema,
383
+ accountsCompanyRequestSchema,
384
+ accountsCampaignsRequestSchema,
385
+ ACCOUNTS_NO_SETTINGS_MESSAGE
386
+ };
387
+ //# sourceMappingURL=chunk-PITLFH7K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../api/src/accounts/crm-columns.ts","../../api/src/accounts/index.ts"],"sourcesContent":["import { CRM_COLUMN_FIELDS, CRM_DEAL_STATUSES, type CrmColumnField } from \"./crm\";\n\n/** A Jev Choice, as each caller's own Jev module sends it. */\nexport interface CrmColumnQuestion {\n type: \"choice\";\n instructions: Record<string, string>;\n criteria: Record<string, string>;\n}\n/** A Jev answer, as each caller's own Jev module reads it. */\nexport type CrmColumnAnswer =\n | { noul: number }\n | { choice: string; probabilities: Record<string, number> }\n | { score: number; probabilities: Record<string, number> };\n\n/**\n * What each column of a CRM spreadsheet holds, read by Jev from its header in\n * any language and a few of its cells — a Spanish \"Importe\", a Polish \"Kwota\",\n * a Pipedrive \"Deal - Value\" alike. Pure: the backend's action and `baker\n * accounts crm check` ask, these build the questions and read the answers,\n * so the upload and the check read a sheet alike. Baker's own headers never get here\n * (`exactCrmColumns`).\n */\n\n/**\n * A column is read only when Jev is this sure of its field; below it the\n * column is left behind and named as such, never filled with a guess. Set\n * from `scripts/crm-column-evals` against `JEV_MODEL`.\n */\nexport const COLUMN_HELD = 0.7;\n\nconst NONE = \"none\";\n\n/** Cells longer than this say nothing more about what the column is. */\nconst SAMPLE_CHARS = 60;\nconst EMAIL = /[^\\s@]+@[^\\s@]+\\.[^\\s@]+/g;\n\n/** Each field in plain words, with its boundary cases: Jev reads the criteria literally. */\nconst CRITERIA: Readonly<Record<CrmColumnField | typeof NONE, string>> = {\n id: \"The deal's own unique id or number in the CRM (a deal, opportunity or record id of the deal), not the company's id\",\n name: \"The deal's own title (a deal or opportunity name), not the name of the company or of a person\",\n companyId: \"The CRM's unique id (or record id) of the company or account the row is about or the deal is with\",\n companyName: \"The name of the company, account or organization the row is about or the deal is with\",\n companyDomain: \"The company's website or web domain, like acme.com\",\n companyLinkedinPage: \"The company's LinkedIn page address\",\n amount:\n \"The deal's own value in money (its amount, value or size), not a weighted or forecast amount, not a company's revenue or turnover, not a probability, a percentage or a count\",\n currency: \"The currency the amount is in, like EUR or USD\",\n pipeline: \"Which sales pipeline the deal belongs to, not its stage\",\n stage:\n \"The deal's stage or state in the sales pipeline, in any words (like Proposal, Negotiation, Closed Won, Ganado), not the status of a lead or a contact\",\n status: \"Whether the deal is open, won or lost, written as exactly the English word open, won or lost\",\n createdAt: \"The date the deal or the company was created, opened or added to the CRM\",\n closedAt: \"The date the deal was closed (won or lost) or is expected to close\",\n none: \"Anything else: a person (an owner, a contact, a person's name, email or phone), who created or last changed the record, a probability, a weighted amount, a company's revenue or size, a lead's or contact's status, a next step, a source, notes, an industry, a date of last activity, or any other field\",\n};\n\nconst QUESTION =\n \"`column` is the header of a column in a spreadsheet exported from a CRM, in any language or in the CRM's own wording, and `cells` are values from that column. `sheet` lists every header of the spreadsheet, for context. Which field does `column` hold?\";\n\n/** A cell as Jev sees it: an email address is shown as one, never sent. */\nfunction sampleCell(cell: string): string {\n return cell.replace(EMAIL, \"<email address>\").slice(0, SAMPLE_CHARS);\n}\n\nexport interface SampledColumn {\n header: string;\n samples: readonly string[];\n}\n\n/** One Choice per column, the column inside its own question, beside every header of the sheet (`headers`). */\nexport function crmColumnQuestions(\n columns: readonly SampledColumn[],\n headers: readonly string[] = columns.map((column) => column.header),\n): CrmColumnQuestion[] {\n const sheet = headers.join(\" | \");\n return columns.map(({ header, samples }) => ({\n type: \"choice\",\n instructions: {\n sheet,\n column: header,\n cells: samples.length > 0 ? samples.map(sampleCell).join(\" | \") : \"(empty)\",\n question: QUESTION,\n },\n criteria: CRITERIA,\n }));\n}\n\nexport const isCrmColumnField = (choice: string): choice is CrmColumnField =>\n (CRM_COLUMN_FIELDS as readonly string[]).includes(choice);\n\n/** Cells the contract takes as a status: anything else in a status column names the deal's state in its own words. */\nconst isStatusCell = (cell: string) => (CRM_DEAL_STATUSES as readonly string[]).includes(cell.trim().toLowerCase());\n\n/**\n * Each column Jev placed at `COLUMN_HELD` or above, and the field it holds;\n * `none` and unsure ones are absent. A status column whose cells are not\n * open, won and lost (\"Ganho\", \"Perdido\") is read as the deal's stage, so its\n * deals arrive with the stage a manager says won or lost, instead of every one\n * refused.\n */\nexport function crmColumnMeanings(\n columns: readonly SampledColumn[],\n answers: readonly CrmColumnAnswer[],\n held = COLUMN_HELD,\n): Record<string, CrmColumnField> {\n const meanings: Record<string, CrmColumnField> = {};\n columns.forEach(({ header, samples }, index) => {\n const answer = answers[index];\n if (answer === undefined || !(\"choice\" in answer)) return;\n const { choice, probabilities } = answer;\n if (!isCrmColumnField(choice) || (probabilities[choice] ?? 0) < held) return;\n meanings[header] = choice === \"status\" && !samples.every(isStatusCell) ? \"stage\" : choice;\n });\n return meanings;\n}\n","/**\n * Wire contract for `baker accounts` — which companies the LinkedIn ads are\n * warming, and which CRM deals they influenced — plus the pure rules every\n * reader of those numbers shares.\n *\n * \"Influenced\" is a labelled rule, not credit: a deal is influenced when its\n * company crossed the model's threshold in the months up to and including the\n * deal's reference month. A deal counts in full for every campaign that touched\n * it, so campaign numbers overlap and never sum to the total.\n */\n\nimport { z } from \"zod\";\nimport { calendarDaySchema, todayUtc, windowTooLong } from \"../calendarDays\";\nimport { targetAccountsSchema, targetsSummarySchema } from \"./targets\";\n\nexport const INFLUENCE_MODEL_KINDS = [\"engagement\", \"awareness\", \"intent\"] as const;\nexport type InfluenceModelKind = (typeof INFLUENCE_MODEL_KINDS)[number];\n\nexport const INFLUENCE_METRICS = [\"impressions\", \"engagements\", \"clicks\"] as const;\nexport type InfluenceMetric = (typeof INFLUENCE_METRICS)[number];\n\nexport const DEFAULT_LOOKBACK_MONTHS = 12;\n\n/** `low` is a match read off a subdomain or a name: kept, but out of the headline until confirmed. */\nexport const MATCH_CONFIDENCES = [\"high\", \"low\"] as const;\n\nconst MODEL_METRIC: Record<InfluenceModelKind, { metric: InfluenceMetric; threshold: number }> = {\n engagement: { metric: \"engagements\", threshold: 3 },\n awareness: { metric: \"impressions\", threshold: 7 },\n intent: { metric: \"clicks\", threshold: 3 },\n};\n\nexport interface InfluenceParams {\n metric: InfluenceMetric;\n threshold: number;\n lookbackMonths: number;\n}\n\n/** A rule read for one report only — the saved settings stay as they are. */\nexport interface InfluenceRuleOverride {\n model?: InfluenceModelKind;\n threshold?: number;\n}\n\n/**\n * What the store counts for a company's settings: which metric, how many, how\n * far back. An override's model brings its own default threshold unless the\n * override names one too; the lookback is always the saved one.\n */\nexport function influenceParams(\n settings: {\n model: { kind: InfluenceModelKind; threshold?: number };\n lookbackMonths?: number;\n },\n override: InfluenceRuleOverride = {},\n): InfluenceParams {\n const kind = override.model ?? settings.model.kind;\n const model = MODEL_METRIC[kind];\n const wholeAtLeastOne = (value: number | undefined): value is number =>\n value !== undefined && Number.isInteger(value) && value >= 1;\n const threshold = override.threshold ?? (override.model === undefined ? settings.model.threshold : undefined);\n return {\n metric: model.metric,\n threshold: wholeAtLeastOne(threshold) ? threshold : model.threshold,\n lookbackMonths: wholeAtLeastOne(settings.lookbackMonths) ? settings.lookbackMonths : DEFAULT_LOOKBACK_MONTHS,\n };\n}\n\nexport type WarmFlag = \"new\" | \"rising\";\n\n/**\n * Whether a company is warming, by one metric this period against the period\n * of the same length just before it: `new` when it did nothing before,\n * `rising` when it at least doubled.\n */\nexport function warmFlag(current: number, previous: number): WarmFlag | null {\n if (current <= 0) return null;\n if (previous <= 0) return \"new\";\n return current >= 2 * previous ? \"rising\" : null;\n}\n\n// --- Windows ---\n\n/** The months the nightly sync keeps. */\nexport const ACCOUNTS_MAX_MONTHS = 24;\n\nconst windowFields = {\n /** Calendar months including the current one. */\n lastMonths: z.number().int().min(1).max(ACCOUNTS_MAX_MONTHS).optional(),\n start: calendarDaySchema.optional(),\n end: calendarDaySchema.optional(),\n};\n\n/** A rule read for one report (`InfluenceRuleOverride`); the saved settings stay as they are. */\nconst ruleOverrideFields = {\n model: z.enum(INFLUENCE_MODEL_KINDS).optional(),\n threshold: z.number().int().min(1).optional(),\n};\n\n/** Only these companies (`targets.ts`): the rows and numbers narrow to them, and `targets` says how far the ads got. */\nconst targetsField = { targets: targetAccountsSchema.optional() };\n\n/** How far the ads got with the targets the read named; absent without targets. */\nconst targetsSummaryField = { targets: targetsSummarySchema.optional() };\n\nfunction windowRules(req: { lastMonths?: number; start?: string; end?: string }, ctx: z.RefinementCtx): void {\n if (req.start !== undefined && req.lastMonths !== undefined) {\n ctx.addIssue({ code: \"custom\", path: [\"lastMonths\"], message: \"pass lastMonths or start/end, not both\" });\n }\n if (req.end !== undefined && req.start === undefined) {\n ctx.addIssue({ code: \"custom\", path: [\"end\"], message: \"end needs a start\" });\n }\n if (req.start !== undefined && req.end !== undefined && req.end < req.start) {\n ctx.addIssue({ code: \"custom\", path: [\"end\"], message: \"end is before start\" });\n return;\n }\n const tooLong = req.start === undefined ? null : windowTooLong(req.start, req.end ?? todayUtc(), ACCOUNTS_MAX_MONTHS);\n if (tooLong !== null) ctx.addIssue({ code: \"custom\", path: [\"start\"], message: tooLong });\n}\n\nexport const accountsWindowSchema = z.object({ start: z.string(), end: z.string() });\nexport type AccountsWindow = z.infer<typeof accountsWindowSchema>;\n\n/**\n * The inclusive days a request reads. `lastMonths` counts calendar months\n * including the current one, because the store holds whole months.\n */\nexport function accountsWindow(\n req: { lastMonths?: number; start?: string; end?: string },\n today: string,\n defaultMonths: number,\n): AccountsWindow {\n if (req.start !== undefined) return { start: req.start, end: req.end ?? today };\n const months = req.lastMonths ?? defaultMonths;\n const [year, month] = today.split(\"-\").map(Number);\n const first = new Date(Date.UTC(year ?? 1970, (month ?? 1) - 1 - (months - 1), 1));\n return { start: first.toISOString().slice(0, 10), end: today };\n}\n\nfunction monthIndex(day: string): number {\n const [year, month] = day.split(\"-\").map(Number);\n return (year ?? 1970) * 12 + ((month ?? 1) - 1);\n}\n\nfunction monthStart(index: number): Date {\n return new Date(Date.UTC(Math.floor(index / 12), index % 12, 1));\n}\n\n/**\n * The period New and Rising compare against: as many whole calendar months as\n * the window touches, ending the month before it starts. Whole months, because\n * that is the grain the store keeps.\n */\nexport function previousWindow(window: AccountsWindow): AccountsWindow {\n const first = monthIndex(window.start);\n const months = monthIndex(window.end) - first + 1;\n const lastDay = new Date(monthStart(first).getTime() - 24 * 60 * 60 * 1000);\n return {\n start: monthStart(first - months)\n .toISOString()\n .slice(0, 10),\n end: lastDay.toISOString().slice(0, 10),\n };\n}\n\nconst influenceParamsSchema = z.object({\n metric: z.enum(INFLUENCE_METRICS),\n threshold: z.number(),\n lookbackMonths: z.number(),\n});\n\n// --- Companies reached ---\n\nexport const ACCOUNTS_ENGAGEMENT_DEFAULT_LIMIT = 500;\nexport const ACCOUNTS_ENGAGEMENT_MAX_LIMIT = 5000;\n\nexport const accountEngagementRowSchema = z.object({\n /** LinkedIn organization id; `urn:li:organization:<orgId>` on LinkedIn. */\n orgId: z.string(),\n /** Empty until the nightly sync has looked the company up. */\n name: z.string(),\n domain: z.string(),\n impressions: z.number(),\n clicks: z.number(),\n engagements: z.number(),\n videoViews: z.number(),\n /** LinkedIn does not always report spend per company; 0 then. */\n costLocal: z.number(),\n currency: z.string(),\n /** Months in the window the company saw or did anything. */\n monthsActive: z.number(),\n lastMonth: z.string().nullable(),\n /** The same-length period just before the window. */\n previous: z.object({ impressions: z.number(), clicks: z.number(), engagements: z.number() }),\n /** By engagements against the previous period. */\n flag: z.enum([\"new\", \"rising\"]).nullable(),\n crmCompanyId: z.string().nullable(),\n /** The matched CRM company's name; null without a match. Optional for older servers. */\n crmCompanyName: z.string().nullable().optional(),\n matchConfidence: z.enum(MATCH_CONFIDENCES).nullable(),\n hasOpenDeal: z.boolean(),\n hasWonDeal: z.boolean(),\n hasLostDeal: z.boolean(),\n /** When the company's most recent lost deal closed (created, when it has no close date), ISO; null without one. */\n lastLostAt: z.string().nullable(),\n /**\n * People whose work email named the company's domain on the website or the\n * API in the period, and how many became leads — the touches beside the ads.\n * Null when none did; absent from older servers.\n */\n website: z.object({ people: z.number(), leads: z.number() }).nullable().optional(),\n /**\n * Visits from the company's own network in the period (`baker analytics\n * companies`): visits, distinct pages read, and when it was last seen.\n * Matched by normalised name (`companyNameKey`) against the LinkedIn name or\n * the CRM match's name — the network gives no website to match on. Null when\n * none matched; absent from older servers.\n */\n visitorCompany: z.object({ visits: z.number(), pages: z.number(), lastSeen: z.string() }).nullable().optional(),\n});\nexport type AccountEngagementRow = z.infer<typeof accountEngagementRowSchema>;\n\n// --- Website people per company ---\n\n/**\n * One company domain's website people, by the work address they gave: how\n * many were seen in the window, how many of them handed a Form a step, and\n * when the first and last of them were seen. `domain` is registrable, as\n * `AccountEngagementRow.domain` is, so the two join on equality. Shown beside\n * LinkedIn engagement, never folded into influence.\n */\nexport const accountWebsiteRowSchema = z.object({\n domain: z.string(),\n people: z.number(),\n leads: z.number(),\n /** ISO. */\n firstSeen: z.string(),\n /** ISO. */\n lastSeen: z.string(),\n});\nexport type AccountWebsiteRow = z.infer<typeof accountWebsiteRowSchema>;\n\nexport const ACCOUNT_DEAL_STATUSES = [\"won\", \"open\", \"lost\", \"none\"] as const;\nexport type AccountDealStatus = (typeof ACCOUNT_DEAL_STATUSES)[number];\n\n/**\n * Where a company stands in the CRM, strongest fact first: a won deal outranks\n * an open one, an open one a lost one; `lost` means every deal it had was lost.\n */\nexport function accountDealStatus(row: {\n hasWonDeal: boolean;\n hasOpenDeal: boolean;\n hasLostDeal: boolean;\n}): AccountDealStatus {\n if (row.hasWonDeal) return \"won\";\n if (row.hasOpenDeal) return \"open\";\n if (row.hasLostDeal) return \"lost\";\n return \"none\";\n}\n\n/** A lost deal stops a company being warm for this many calendar months after it closed. */\nexport const LOST_DEAL_COOLDOWN_MONTHS = 6;\n\n/** `day` minus whole calendar months, clamped to the month's last day: 2026-08-31 − 6 → 2026-02-28. */\nfunction monthsBefore(day: string, months: number): string {\n const [year, month, date] = day.split(\"-\").map(Number);\n const index = (year ?? 1970) * 12 + ((month ?? 1) - 1) - months;\n const lastDate = new Date(Date.UTC(Math.floor(index / 12), (index % 12) + 1, 0)).getUTCDate();\n return new Date(Date.UTC(Math.floor(index / 12), index % 12, Math.min(date ?? 1, lastDate)))\n .toISOString()\n .slice(0, 10);\n}\n\nexport interface WarmAccountsOptions {\n /** Leave out a company below this on one metric in the period — e.g. the influence rule's threshold. */\n minimum?: { metric: InfluenceMetric; value: number };\n}\n\n/**\n * Warm accounts: engaging more than before, and not already somebody's deal —\n * no open deal, never won (a customer is not a prospect), and no deal lost in\n * the last six months. A loss older than that no longer counts, the same rule\n * Fibbler uses, so a company can warm up again. `today` is `YYYY-MM-DD`.\n * Without a `minimum`, one engagement after none already reads as New.\n */\nexport function warmAccounts(\n rows: readonly AccountEngagementRow[],\n today: string,\n options: WarmAccountsOptions = {},\n): AccountEngagementRow[] {\n const cooldownStart = monthsBefore(today, LOST_DEAL_COOLDOWN_MONTHS);\n const { minimum } = options;\n return rows.filter(\n (row) =>\n row.flag !== null &&\n (minimum === undefined || row[minimum.metric] >= minimum.value) &&\n !row.hasOpenDeal &&\n !row.hasWonDeal &&\n !(row.lastLostAt !== null && row.lastLostAt.slice(0, 10) >= cooldownStart),\n );\n}\n\nexport const accountsEngagementRequestSchema = z\n .object({\n ...windowFields,\n /** One campaign's companies; every campaign together when absent. */\n campaignId: z.string().regex(/^\\d+$/, \"use the numeric campaign id\").optional(),\n /** Companies per page. */\n limit: z.number().int().min(1).max(ACCOUNTS_ENGAGEMENT_MAX_LIMIT).default(ACCOUNTS_ENGAGEMENT_DEFAULT_LIMIT),\n /** Which page, 1-based, most engaged first. */\n page: z.number().int().min(1).default(1),\n ...targetsField,\n })\n .superRefine(windowRules);\nexport type AccountsEngagementRequest = z.input<typeof accountsEngagementRequestSchema>;\n\nexport const accountsEngagementResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n window: accountsWindowSchema,\n previousWindow: accountsWindowSchema,\n companies: z.array(accountEngagementRowSchema),\n /** True when more companies were reached than this page and the ones before it hold. */\n truncated: z.boolean(),\n /** Which page this is, and how many companies there are in all. Absent from older servers. */\n pageInfo: z.object({ page: z.number(), pageSize: z.number(), total: z.number(), hasMore: z.boolean() }).optional(),\n /** The company's influence rule (the default one before setup): the minimum `baker accounts warm` applies. */\n rule: influenceParamsSchema.optional(),\n ...targetsSummaryField,\n }),\n});\nexport type AccountsEngagementResponse = z.infer<typeof accountsEngagementResponseSchema>;\n\n// --- Influenced deals ---\n\nexport const INFLUENCE_BASES = [\"pipeline\", \"revenue\"] as const;\nexport type InfluenceBasis = (typeof INFLUENCE_BASES)[number];\n\nexport const accountDealRowSchema = z.object({\n dealId: z.string(),\n dealName: z.string(),\n crmCompanyId: z.string(),\n companyName: z.string(),\n domain: z.string(),\n /** Null when the deal has no amount — unknown, not zero. */\n amount: z.number().nullable(),\n currency: z.string(),\n /** Created (pipeline) or closed won (revenue), ISO. The date the lookback counts back from. */\n referenceAt: z.string(),\n /** By the won and lost stages chosen in the settings. */\n status: z.enum([\"open\", \"won\", \"lost\"]),\n /** The model's metric, summed over the company's lookback months. */\n touchValue: z.number(),\n /** The first month inside the lookback the company was reached, `YYYY-MM-01`. */\n firstTouchMonth: z.string().nullable(),\n /** How surely the CRM company is the LinkedIn one; null when no LinkedIn company matched. */\n matchConfidence: z.enum(MATCH_CONFIDENCES).nullable(),\n /** The company crossed the threshold — whatever the match confidence. */\n influenced: z.boolean(),\n});\nexport type AccountDealRow = z.infer<typeof accountDealRowSchema>;\n\n/** An amount per currency. Amounts in different currencies are never added together. */\nexport type MoneyByCurrency = Record<string, number>;\n\nexport const moneyByCurrencySchema = z.record(z.string(), z.number());\n\nexport const influenceSummarySchema = z.object({\n /** Every deal in the window for this basis. */\n deals: z.number(),\n /** Influenced, confirmed matches only — the headline. */\n influencedDeals: z.number(),\n influencedValue: moneyByCurrencySchema,\n /** Influenced deals with no amount entered: counted, not valued. */\n dealsWithoutAmount: z.number(),\n /** Influenced through a match nobody confirmed yet; not in the headline. */\n lowConfidenceDeals: z.number(),\n lowConfidenceValue: moneyByCurrencySchema,\n /** LinkedIn spend on the companies reached in the window, per currency. */\n spend: moneyByCurrencySchema,\n /** Influenced value per 1 of spend — only when both are in the same single currency. */\n valuePerSpend: z.object({ currency: z.string(), value: z.number() }).nullable(),\n});\nexport type InfluenceSummary = z.infer<typeof influenceSummarySchema>;\n\nfunction addMoney(into: MoneyByCurrency, currency: string, amount: number): void {\n const key = currency.trim().toUpperCase() || \"UNKNOWN\";\n into[key] = (into[key] ?? 0) + amount;\n}\n\n/** The headline numbers over one basis's deals. */\nexport function influenceSummary(deals: readonly AccountDealRow[], spend: MoneyByCurrency): InfluenceSummary {\n const influencedValue: MoneyByCurrency = {};\n const lowConfidenceValue: MoneyByCurrency = {};\n let influencedDeals = 0;\n let lowConfidenceDeals = 0;\n let dealsWithoutAmount = 0;\n for (const row of deals) {\n if (!row.influenced || row.matchConfidence === null) continue;\n if (row.matchConfidence === \"low\") {\n lowConfidenceDeals += 1;\n if (row.amount !== null) addMoney(lowConfidenceValue, row.currency, row.amount);\n continue;\n }\n influencedDeals += 1;\n if (row.amount === null) dealsWithoutAmount += 1;\n else addMoney(influencedValue, row.currency, row.amount);\n }\n return {\n deals: deals.length,\n influencedDeals,\n influencedValue,\n dealsWithoutAmount,\n lowConfidenceDeals,\n lowConfidenceValue,\n spend,\n valuePerSpend: valuePerSpend(influencedValue, spend),\n };\n}\n\nfunction valuePerSpend(value: MoneyByCurrency, spend: MoneyByCurrency): InfluenceSummary[\"valuePerSpend\"] {\n const valueCurrencies = Object.keys(value);\n const spendCurrencies = Object.keys(spend).filter((currency) => (spend[currency] ?? 0) > 0);\n const [currency] = valueCurrencies;\n if (currency === undefined || valueCurrencies.length !== 1 || spendCurrencies.length !== 1) return null;\n const spent = spend[spendCurrencies[0] ?? \"\"];\n if (spendCurrencies[0]?.toUpperCase() !== currency || spent === undefined) return null;\n return { currency, value: Math.round(((value[currency] ?? 0) / spent) * 100) / 100 };\n}\n\nexport const ACCOUNTS_INFLUENCED_DEFAULT_MONTHS = 12;\n\nexport const accountsInfluencedRequestSchema = z\n .object({\n ...windowFields,\n /** `pipeline`: deals created in the window and not won. `revenue`: deals closed won in the window. */\n basis: z.enum(INFLUENCE_BASES).default(\"pipeline\"),\n /** Every deal in the window, influenced or not; compact returns the influenced ones. */\n full: z.boolean().default(false),\n ...ruleOverrideFields,\n ...targetsField,\n })\n .superRefine(windowRules);\nexport type AccountsInfluencedRequest = z.input<typeof accountsInfluencedRequestSchema>;\n\nexport const accountsInfluencedResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n window: accountsWindowSchema,\n basis: z.enum(INFLUENCE_BASES),\n rule: influenceParamsSchema,\n summary: influenceSummarySchema,\n /** Influenced deals on confirmed matches; with `full`, every deal in the window. */\n deals: z.array(accountDealRowSchema),\n /** Influenced through a match nobody confirmed yet. Not in `summary`'s headline. */\n lowConfidence: z.array(accountDealRowSchema),\n /** True when the window held more deals than one read returns. */\n truncated: z.boolean(),\n ...targetsSummaryField,\n }),\n});\nexport type AccountsInfluencedResponse = z.infer<typeof accountsInfluencedResponseSchema>;\n\n// --- One company's timeline ---\n\nexport const accountsCompanyRequestSchema = z\n .object({\n /** LinkedIn organization id, or its `urn:li:organization:` URN. */\n orgId: z\n .string()\n .transform((value) => value.replace(/^urn:li:organization:/, \"\"))\n .pipe(z.string().regex(/^\\d+$/, \"use the LinkedIn company id or its urn:li:organization URN\"))\n .optional(),\n /** The company's website domain, `acme.com`. */\n domain: z\n .string()\n .min(3)\n .max(253)\n .transform((value) =>\n value\n .trim()\n .toLowerCase()\n .replace(/^https?:\\/\\//, \"\")\n .replace(/^www\\./, \"\")\n .replace(/\\/.*$/, \"\"),\n )\n .optional(),\n })\n .refine((req) => (req.orgId === undefined) !== (req.domain === undefined), {\n message: \"Give a LinkedIn company id or a domain, one of the two.\",\n });\nexport type AccountsCompanyRequest = z.input<typeof accountsCompanyRequestSchema>;\n\nexport const accountCompanyMonthSchema = z.object({\n orgId: z.string(),\n /** Empty for the whole ad account; a campaign id otherwise. */\n campaignId: z.string(),\n /** LinkedIn's name for the campaign; null for the account-wide row, or when LinkedIn could not be asked. */\n campaignName: z.string().nullable(),\n month: z.string(),\n impressions: z.number(),\n clicks: z.number(),\n engagements: z.number(),\n});\nexport type AccountCompanyMonth = z.infer<typeof accountCompanyMonthSchema>;\n\nexport const accountCompanyDealSchema = z.object({\n dealId: z.string(),\n dealName: z.string(),\n amount: z.number().nullable(),\n currency: z.string(),\n status: z.enum([\"open\", \"won\", \"lost\"]),\n createdAt: z.string(),\n closedAt: z.string().nullable(),\n /**\n * The rule's metric over the lookback ending with the deal's reference month\n * (created; closed for a won deal), from the pages in `orgs`. Absent before\n * setup or when the company matched no CRM company.\n */\n touchValue: z.number().optional(),\n /** `touchValue` reached the rule's threshold. */\n influenced: z.boolean().optional(),\n});\nexport type AccountCompanyDeal = z.infer<typeof accountCompanyDealSchema>;\n\nexport const accountCompanyOrgSchema = z.object({\n orgId: z.string(),\n name: z.string(),\n domain: z.string(),\n crmCompanyId: z.string().nullable(),\n matchConfidence: z.enum(MATCH_CONFIDENCES).nullable(),\n});\nexport type AccountCompanyOrg = z.infer<typeof accountCompanyOrgSchema>;\n\nexport const accountsCompanyResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n /** Usually one; a domain can name several LinkedIn pages of the same company. */\n orgs: z.array(accountCompanyOrgSchema),\n /** Month by month, per campaign (and the account-wide row, `campaignId: \"\"`), oldest first. */\n months: z.array(accountCompanyMonthSchema),\n /** Deals of the matched CRM company, oldest first. */\n deals: z.array(accountCompanyDealSchema),\n /** The rule `influenced` and `touchValue` on each deal were read with; absent before setup. */\n rule: influenceParamsSchema.optional(),\n }),\n});\nexport type AccountsCompanyResponse = z.infer<typeof accountsCompanyResponseSchema>;\n\n// --- Campaigns ---\n\nexport const accountsCampaignsRequestSchema = z\n .object({\n ...windowFields,\n ...ruleOverrideFields,\n basis: z.enum(INFLUENCE_BASES).default(\"pipeline\"),\n ...targetsField,\n })\n .superRefine(windowRules);\nexport type AccountsCampaignsRequest = z.input<typeof accountsCampaignsRequestSchema>;\n\nexport const accountCampaignRowSchema = z.object({\n campaignId: z.string(),\n /** LinkedIn's name for the campaign; null when LinkedIn could not be asked or no longer lists it. */\n campaignName: z.string().nullable(),\n /** Companies that saw at least one impression in the window. */\n companiesReached: z.number(),\n /** Companies with at least one engagement in the window. */\n companiesEngaged: z.number(),\n /** Influenced deals (of the read's basis) this campaign touched in their lookback. Overlaps other campaigns. */\n influencedDeals: z.number(),\n influencedValue: moneyByCurrencySchema,\n});\nexport type AccountCampaignRow = z.infer<typeof accountCampaignRowSchema>;\n\nexport const accountsCampaignsResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n window: accountsWindowSchema,\n /** Optional for older servers, which read pipeline only. */\n basis: z.enum(INFLUENCE_BASES).optional(),\n rule: influenceParamsSchema,\n campaigns: z.array(accountCampaignRowSchema),\n ...targetsSummaryField,\n }),\n});\nexport type AccountsCampaignsResponse = z.infer<typeof accountsCampaignsResponseSchema>;\n\n// --- Refusals the agent relays ---\n\n/** Deals cannot be counted until someone says where they are and what won and lost mean. */\nexport const ACCOUNTS_NO_SETTINGS_MESSAGE =\n \"Account insights are not set up yet: in Measure → Accounts, say where your deals are (HubSpot or another CRM) and what won and lost mean.\";\nexport * from \"./crm\";\nexport * from \"./crm-columns\";\nexport * from \"./targets\";\nexport * from \"./website\";\n"],"mappings":"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","names":[]}