@koda-sl/baker-cli 0.546.0-dev.e8b0ca6de → 0.547.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -18
- package/dist/account-2HJ4GKHN.js +82 -0
- package/dist/account-MTMCQQYH.js +82 -0
- package/dist/account-reads-X36NPCX5.js +219 -0
- package/dist/account-users-FJ63HUJT.js +64 -0
- package/dist/account-writes-FZ3KCJZY.js +68 -0
- package/dist/accounts-PU2GGSH4.js +701 -0
- package/dist/accounts-VYQINKID.js +80 -0
- package/dist/actions-NKCYYR7Q.js +55 -0
- package/dist/activecampaign-LQHDIHN5.js +938 -0
- package/dist/ad-group-writes-XGG3WQEO.js +172 -0
- package/dist/ad-groups-GZIPUN64.js +70 -0
- package/dist/ad-writes-2VTRWQLW.js +176 -0
- package/dist/add-6EHN5G6X.js +107 -0
- package/dist/add-HLBKTI3H.js +305 -0
- package/dist/ads-CWXQLZCC.js +48 -0
- package/dist/ads-LNWALF6G.js +79 -0
- package/dist/advertisers-YMIPR2QG.js +123 -0
- package/dist/analytics-37M6Z37U.js +2437 -0
- package/dist/analytics-6VAB2VYM.js +447 -0
- package/dist/animate-DM4OUJMR.js +480 -0
- package/dist/assign-V25HMGMU.js +80 -0
- package/dist/audience-size-FKNAK4QD.js +76 -0
- package/dist/audiences-7D5VPOWF.js +280 -0
- package/dist/audit-6VVUMMYL.js +154 -0
- package/dist/autocomplete-NETVGJRC.js +114 -0
- package/dist/avatars-HH4LOUA3.js +38 -0
- package/dist/bid-pricing-SCTUSHFI.js +103 -0
- package/dist/brand-FTPQYYDU.js +22 -0
- package/dist/brief-MCKNRSWM.js +543 -0
- package/dist/campaign-groups-ZNKBTXPV.js +99 -0
- package/dist/campaign-writes-5TWXZ44R.js +168 -0
- package/dist/campaign-writes-H22P6YPW.js +176 -0
- package/dist/campaigns-265JXD2Z.js +78 -0
- package/dist/campaigns-E64SHT67.js +111 -0
- package/dist/campaigns-GYNO5P22.js +113 -0
- package/dist/canvas-E4ZT2K7I.js +46 -0
- package/dist/capabilities-RVNBW4OL.js +147 -0
- package/dist/catalog-DPUQBZZ7.js +66 -0
- package/dist/catalogs-SBXFAD3X.js +130 -0
- package/dist/changes-HXVZUJMH.js +143 -0
- package/dist/chatgpt-UXJPCGZU.js +47 -0
- package/dist/chats-4SQSGOFC.js +449 -0
- package/dist/check-4WC2RLDR.js +107 -0
- package/dist/chunk-3I66ZQTI.js +203 -0
- package/dist/chunk-3SEXQVMX.js +91 -0
- package/dist/chunk-4D73PLXU.js +843 -0
- package/dist/chunk-4EGXO63N.js +479 -0
- package/dist/chunk-4S5ZAG4S.js +63 -0
- package/dist/chunk-5UEBOBLO.js +170 -0
- package/dist/chunk-6FLUNQHT.js +91 -0
- package/dist/chunk-6I7N2WYU.js +19 -0
- package/dist/chunk-6KWT3Z35.js +103 -0
- package/dist/chunk-AI2SKWZE.js +197 -0
- package/dist/chunk-ANV42DGJ.js +455 -0
- package/dist/chunk-AYEWXTSF.js +392 -0
- package/dist/chunk-CKIDKN6H.js +191 -0
- package/dist/chunk-D4NK7SPT.js +930 -0
- package/dist/chunk-DNZVBP2W.js +61 -0
- package/dist/chunk-DYTBVVQX.js +679 -0
- package/dist/chunk-DYTBVVQX.js.map +1 -0
- package/dist/chunk-EBWOLUII.js +24026 -0
- package/dist/chunk-EBWOLUII.js.map +1 -0
- package/dist/chunk-EH34RWKR.js +604 -0
- package/dist/chunk-EOMY5SUJ.js +783 -0
- package/dist/chunk-EQAEWL6A.js +547 -0
- package/dist/chunk-F5UU5PAE.js +494 -0
- package/dist/chunk-FVDC6AKZ.js +150 -0
- package/dist/chunk-G4VG6ZV3.js +430 -0
- package/dist/chunk-G4VG6ZV3.js.map +1 -0
- package/dist/chunk-GEQUWPAX.js +715 -0
- package/dist/chunk-GEQUWPAX.js.map +1 -0
- package/dist/chunk-GN7K3NPI.js +148 -0
- package/dist/chunk-H6CS7VSO.js +1902 -0
- package/dist/chunk-HBDWE7WK.js +98 -0
- package/dist/chunk-I6JPTDKR.js +377 -0
- package/dist/chunk-IGIACW2B.js +207 -0
- package/dist/chunk-IRINY4B2.js +2209 -0
- package/dist/chunk-J4JY435Z.js +438 -0
- package/dist/chunk-JAC6JVCI.js +26 -0
- package/dist/chunk-JLLGXYOZ.js +857 -0
- package/dist/chunk-JY3OJBKZ.js +3510 -0
- package/dist/chunk-KIXVHP2C.js +1919 -0
- package/dist/chunk-LODEDXCD.js +156 -0
- package/dist/chunk-MCJ5I5LR.js +3187 -0
- package/dist/chunk-MCJ5I5LR.js.map +1 -0
- package/dist/chunk-MEK7SMWO.js +685 -0
- package/dist/chunk-MELSTI6W.js +66 -0
- package/dist/chunk-MLJKPUWP.js +191 -0
- package/dist/chunk-MLJKPUWP.js.map +1 -0
- package/dist/chunk-MSMTG6OC.js +4269 -0
- package/dist/chunk-MSMTG6OC.js.map +1 -0
- package/dist/chunk-MZPS46OR.js +76 -0
- package/dist/chunk-NBWZVBDG.js +131 -0
- package/dist/chunk-P3VY5JEM.js +274 -0
- package/dist/chunk-PXGR3VGW.js +1646 -0
- package/dist/chunk-QK3HMAVU.js +5471 -0
- package/dist/chunk-QYKZ3FVE.js +51 -0
- package/dist/chunk-RHEWQB5O.js +638 -0
- package/dist/chunk-RP36XHWT.js +46 -0
- package/dist/chunk-SNWFM2DB.js +228 -0
- package/dist/chunk-SWPJZJTY.js +8954 -0
- package/dist/chunk-SXYEIZND.js +275 -0
- package/dist/chunk-T62SKL4T.js +831 -0
- package/dist/chunk-T7SOINEA.js +169 -0
- package/dist/chunk-TARINRA4.js +1518 -0
- package/dist/chunk-TNHIYELA.js +249 -0
- package/dist/chunk-TNZUMU55.js +167 -0
- package/dist/chunk-UT77RVVU.js +142 -0
- package/dist/chunk-UZ4L5ERW.js +387 -0
- package/dist/chunk-V2XA5SIO.js +152 -0
- package/dist/chunk-V2XA5SIO.js.map +1 -0
- package/dist/chunk-VOUCQ2YW.js +64 -0
- package/dist/chunk-VR2AF7I7.js +7823 -0
- package/dist/chunk-VR2AF7I7.js.map +1 -0
- package/dist/chunk-VVMRSEW6.js +23 -0
- package/dist/chunk-WFJ7KR5K.js +163 -0
- package/dist/chunk-WLA7CA4G.js +297 -0
- package/dist/chunk-WOE4TZHJ.js +285 -0
- package/dist/chunk-X32MFGWW.js +15 -0
- package/dist/chunk-X32MFGWW.js.map +1 -0
- package/dist/chunk-XJ2GXHU4.js +57 -0
- package/dist/chunk-XLG3SJ3K.js +334 -0
- package/dist/chunk-XYNQMRNX.js +5368 -0
- package/dist/chunk-YDGBWP3I.js +89 -0
- package/dist/chunk-Z4TWYYM3.js +910 -0
- package/dist/chunk-ZEUAJAKN.js +225 -0
- package/dist/chunk-ZKYJYBDR.js +344 -0
- package/dist/chunk-ZL43WZBX.js +224 -0
- package/dist/claim-G4MRH7Q7.js +200 -0
- package/dist/cli.js +35 -36
- package/dist/cli.js.map +1 -1
- package/dist/companies-TV5SX7IW.js +198 -0
- package/dist/company-W2N3H7AG.js +308 -0
- package/dist/complete-CTS2VDY5.js +84 -0
- package/dist/config-3VK74MY6.js +88 -0
- package/dist/connect-64CFSYYE.js +45 -0
- package/dist/conversation-T57OY4L4.js +96 -0
- package/dist/conversion-report-RB2MU7UD.js +127 -0
- package/dist/conversion-upload-command-HFZYKVXA.js +439 -0
- package/dist/conversion-writes-56AIPXPK.js +122 -0
- package/dist/conversions-NRX76ZIT.js +78 -0
- package/dist/conversions-P75BZDDN.js +140 -0
- package/dist/create-2IFLWXCE.js +135 -0
- package/dist/create-2ZM3SAMX.js +239 -0
- package/dist/create-I6AVOYOS.js +210 -0
- package/dist/create-YKV66SQ6.js +62 -0
- package/dist/creatives-4HMWWE4O.js +58 -0
- package/dist/creatives-CSXTXOTD.js +223 -0
- package/dist/credentials-YQND7EIL.js +290 -0
- package/dist/critique-ABUU725C.js +232 -0
- package/dist/critique-EBQKUWBV.js +1451 -0
- package/dist/crm-CD7QLN65.js +323 -0
- package/dist/crm-G2QOW4WY.js +227 -0
- package/dist/currency-CHBV6WIO.js +88 -0
- package/dist/customers-SNDSWS2C.js +65 -0
- package/dist/delete-AXECUWUU.js +57 -0
- package/dist/delete-WSWCPQ4R.js +67 -0
- package/dist/delete-YE3ZJKGK.js +69 -0
- package/dist/demographics-UPLQV4VW.js +141 -0
- package/dist/discard-D3SPLQP2.js +69 -0
- package/dist/discover-ZU2DAV23.js +172 -0
- package/dist/domain-OXNE56NK.js +101 -0
- package/dist/download-DGVEUXKX.js +172 -0
- package/dist/draft-2SMIRPNZ.js +220 -0
- package/dist/draft-2YTMB4YM.js +313 -0
- package/dist/draft-2YTMB4YM.js.map +1 -0
- package/dist/draft-6EHV5NAN.js +247 -0
- package/dist/draft-6EHV5NAN.js.map +1 -0
- package/dist/draft-EWGNZUU4.js +288 -0
- package/dist/draft-EWGNZUU4.js.map +1 -0
- package/dist/draft-FSZMTGWI.js +106 -0
- package/dist/draft-FSZMTGWI.js.map +1 -0
- package/dist/draft-L7EN5TZD.js +342 -0
- package/dist/draft-L7EN5TZD.js.map +1 -0
- package/dist/draft-P3YJZY74.js +106 -0
- package/dist/draft-P3YJZY74.js.map +1 -0
- package/dist/draft-R7BNWMBR.js +408 -0
- package/dist/draft-R7BNWMBR.js.map +1 -0
- package/dist/engine/index.js +8 -8
- package/dist/experiments-C3M65LMP.js +236 -0
- package/dist/facets-SGS4HDCM.js +117 -0
- package/dist/feedback-256D3HOY.js +115 -0
- package/dist/feedback-record-FDOIZ3HV.js +269 -0
- package/dist/fetch-EODKEOLX.js +204 -0
- package/dist/fit-VEUYZEG6.js +65 -0
- package/dist/flows-RCOWB5BY.js +250 -0
- package/dist/fonts-33UOE4X3.js +39 -0
- package/dist/forecast-372Q6KQZ.js +169 -0
- package/dist/forecast-I3WRFKQL.js +121 -0
- package/dist/funnel-MLPPNJQK.js +397 -0
- package/dist/ga4-GDMHIFBU.js +55 -0
- package/dist/generate-JQIK3UYS.js +263 -0
- package/dist/get-AOHHMPZC.js +59 -0
- package/dist/get-SORMH25W.js +82 -0
- package/dist/google-JHTOX6WM.js +3270 -0
- package/dist/google-ads-CNREZMRN.js +198 -0
- package/dist/history-D5UQTJ4H.js +102 -0
- package/dist/history-VNLS2TKB.js +69 -0
- package/dist/history-ZE7OQGDR.js +153 -0
- package/dist/hubspot-WGP36QI3.js +782 -0
- package/dist/ideas-4F5JG4UV.js +45 -0
- package/dist/images-Q5MZ75SL.js +92 -0
- package/dist/ingest-52X3B37O.js +123 -0
- package/dist/ingest-NXISET6E.js +27 -0
- package/dist/insights-XY6II7TX.js +132 -0
- package/dist/inspect-JD4WLZ57.js +192 -0
- package/dist/intent-5QUPPZNI.js +95 -0
- package/dist/keyword-gap-IG3EFLDH.js +130 -0
- package/dist/keyword-metrics-DDW4MSLX.js +200 -0
- package/dist/keywords-for-site-3UM6THUN.js +131 -0
- package/dist/landing-ZHDHE65Z.js +28 -0
- package/dist/languages-LNHWSCMT.js +40 -0
- package/dist/leads-MITJNZWB.js +115 -0
- package/dist/learn-VLUC2TXW.js +207 -0
- package/dist/line-item-writes-HLQYQ4KG.js +211 -0
- package/dist/line-items-64KIKPCB.js +107 -0
- package/dist/link-NNSG5YQ4.js +67 -0
- package/dist/linkedin-JYN5LGP2.js +1330 -0
- package/dist/linkedin-JYN5LGP2.js.map +1 -0
- package/dist/linkedin-person-OPCUWPLI.js +139 -0
- package/dist/list-5U4Z3PWU.js +306 -0
- package/dist/list-7S4KTZNU.js +154 -0
- package/dist/list-VQQICPK3.js +67 -0
- package/dist/locations-64JNCQID.js +69 -0
- package/dist/locations-KVAAO7LD.js +40 -0
- package/dist/log-63ZVYC6L.js +95 -0
- package/dist/make-7ITIZUJI.js +1367 -0
- package/dist/map-MTR4V7KE.js +436 -0
- package/dist/mcp-HKMQLXBC.js +729 -0
- package/dist/media-sources-ZBSBTB4C.js +35 -0
- package/dist/members-MTRJ3ZRS.js +47 -0
- package/dist/meta-XVPSGNHU.js +122 -0
- package/dist/metrics-MXGA3EFS.js +152 -0
- package/dist/models-Z6SUHWKI.js +155 -0
- package/dist/normalize-SAKXSFEX.js +144 -0
- package/dist/options-L7B3SDIX.js +125 -0
- package/dist/organization-FFRNHVC5.js +949 -0
- package/dist/performance-AJA7YGOO.js +5565 -0
- package/dist/performance-F72KFQU5.js +27 -0
- package/dist/pixels-H642RPK4.js +62 -0
- package/dist/plan-FRRE4YQC.js +208 -0
- package/dist/promoted-tweet-writes-32RAOXQR.js +183 -0
- package/dist/promoted-tweets-KMLFRWDN.js +119 -0
- package/dist/publish-FOSPQ2BE.js +344 -0
- package/dist/query-FT2BA3WH.js +62 -0
- package/dist/read-7ZFZAJSQ.js +141 -0
- package/dist/reddit-5PYYZNBJ.js +29 -0
- package/dist/refresh-AOHTPXU4.js +97 -0
- package/dist/release-G2UKFAQY.js +63 -0
- package/dist/relevant-pages-OCHLUV5K.js +99 -0
- package/dist/remove-K5C2URJE.js +53 -0
- package/dist/reopen-PWROABUC.js +66 -0
- package/dist/rerun-CVJYCCNK.js +96 -0
- package/dist/research-KLWC3JBI.js +75 -0
- package/dist/research-Z3OJXOS4.js +265 -0
- package/dist/reset-3QL7IOHF.js +57 -0
- package/dist/reset-GPO4MCSM.js +57 -0
- package/dist/resolve-7SW7FZ7Q.js +124 -0
- package/dist/retry-HNCUDQ7S.js +63 -0
- package/dist/retry-NVMOGTZD.js +65 -0
- package/dist/revenue-HDJFYUEB.js +91 -0
- package/dist/rules-RYHWD4HA.js +99 -0
- package/dist/rules-add-EMDFBYDA.js +465 -0
- package/dist/run-2XRDPVHX.js +71 -0
- package/dist/run-PXHQKRY5.js +69 -0
- package/dist/scaffold-ad-RJAXMKOX.js +1513 -0
- package/dist/scaffold-static-ad-4HLSHPJI.js +1011 -0
- package/dist/scaffold-video-UH6OOIQW.js +885 -0
- package/dist/schedule-WT22OEBF.js +64 -0
- package/dist/scheduled-agents-BLIDNRFX.js +55 -0
- package/dist/schema-FUCZHUNV.js +135 -0
- package/dist/schema-NSXMRNWM.js +121 -0
- package/dist/search-S5O3L4KX.js +177 -0
- package/dist/select-ISIQXRPF.js +110 -0
- package/dist/set-prompt-MAQN5CYY.js +199 -0
- package/dist/setup-links-HANLAGD2.js +144 -0
- package/dist/shopify-PKWH7WXV.js +3980 -0
- package/dist/shopify-PKWH7WXV.js.map +1 -0
- package/dist/site-GADKB2RP.js +180 -0
- package/dist/sources-CA7JLF4P.js +30 -0
- package/dist/sources-HUXVRGDH.js +457 -0
- package/dist/stale-2A33KEE7.js +90 -0
- package/dist/status-5JTRE3OM.js +65 -0
- package/dist/studio-6ZXUKA4G.js +49 -0
- package/dist/sync-RJFMKM6D.js +57 -0
- package/dist/sync-definition-AKZUCLEV.js +70 -0
- package/dist/tag-manager-74CGUGXX.js +43 -0
- package/dist/tags-B2EXVMNS.js +23 -0
- package/dist/tags-JUIKSERD.js +227 -0
- package/dist/tags-LP6I7GY4.js +26 -0
- package/dist/tags-UHD43CAG.js +23 -0
- package/dist/tags-WJFCPOP7.js +23 -0
- package/dist/targeting-criteria-2LKBD5IH.js +113 -0
- package/dist/targets-O5JYFOCY.js +106 -0
- package/dist/testimonials-P63TKNJ2.js +32 -0
- package/dist/themes-R3A6IVQN.js +95 -0
- package/dist/top-companies-F7DUMWXA.js +111 -0
- package/dist/transcript-4RFSQA5U.js +165 -0
- package/dist/translate-WOJFJRAC.js +603 -0
- package/dist/triggers-4MHFN3VV.js +144 -0
- package/dist/unlink-5AXBQOIL.js +70 -0
- package/dist/unstage-SIBXT25Y.js +88 -0
- package/dist/update-4BDOO53L.js +101 -0
- package/dist/update-NNEMJQ4D.js +155 -0
- package/dist/update-O76YSKXB.js +192 -0
- package/dist/update-YS4QI2KP.js +66 -0
- package/dist/upload-XVV3HQ5W.js +130 -0
- package/dist/url-options-YZ6UG3NY.js +131 -0
- package/dist/url-params-XL5URMTG.js +101 -0
- package/dist/validate-42Q7X2KK.js +125 -0
- package/dist/videos-HMKEY5WY.js +41 -0
- package/dist/viewer-check-4XFEWEH3.js +83 -0
- package/dist/web-PYG3AOYS.js +173 -0
- package/dist/winning-ads-74BKOBVN.js +86 -0
- package/dist/write-commands-43GTQIR6.js +1525 -0
- package/dist/write-commands-5Z5A3D3M.js +713 -0
- package/dist/write-commands-7DTFGM6E.js +206 -0
- package/dist/x-6WSV55RN.js +47 -0
- package/package.json +1 -1
- package/dist/account-2WTVU5VH.js +0 -82
- package/dist/account-IG3U6UXZ.js +0 -82
- package/dist/account-reads-L2GYNCD3.js +0 -219
- package/dist/account-users-CK7D4AAI.js +0 -64
- package/dist/account-writes-BSSKSTZ2.js +0 -68
- package/dist/accounts-3EERX6MO.js +0 -701
- package/dist/accounts-JWYTBGDR.js +0 -80
- package/dist/actions-UUNK3DO4.js +0 -55
- package/dist/activecampaign-URFTGK6R.js +0 -938
- package/dist/ad-group-writes-KMB3OMJG.js +0 -172
- package/dist/ad-groups-E67CNQS4.js +0 -70
- package/dist/ad-writes-FNMKNFUN.js +0 -176
- package/dist/add-2JN54LSO.js +0 -107
- package/dist/add-4PYISQPU.js +0 -305
- package/dist/ads-4LASBP4G.js +0 -79
- package/dist/ads-6KIDAXHQ.js +0 -48
- package/dist/advertisers-K4ZLOZQ2.js +0 -123
- package/dist/analytics-36JY2LHD.js +0 -2437
- package/dist/analytics-NXXDWJU2.js +0 -447
- package/dist/animate-OWXAT2RK.js +0 -480
- package/dist/assign-SG5JXTMD.js +0 -80
- package/dist/audience-size-HOLSWGNO.js +0 -76
- package/dist/audiences-3R574STZ.js +0 -280
- package/dist/audit-YWT6CEY2.js +0 -154
- package/dist/autocomplete-KMYCOXHU.js +0 -114
- package/dist/avatars-ZGJ6RGNQ.js +0 -38
- package/dist/bid-pricing-C2UQJWYK.js +0 -103
- package/dist/brand-3653YYQF.js +0 -22
- package/dist/brief-I537G3PB.js +0 -543
- package/dist/campaign-groups-A7BT67RF.js +0 -99
- package/dist/campaign-writes-HASDYGTI.js +0 -168
- package/dist/campaign-writes-Z2J24SUZ.js +0 -176
- package/dist/campaigns-43OS6EUG.js +0 -78
- package/dist/campaigns-5DOTTJ47.js +0 -113
- package/dist/campaigns-FHP74WGY.js +0 -111
- package/dist/canvas-AW235KQX.js +0 -46
- package/dist/capabilities-6P674LBM.js +0 -147
- package/dist/catalog-7LINLVVY.js +0 -66
- package/dist/catalogs-IR22RGZD.js +0 -130
- package/dist/changes-RSEGYV45.js +0 -143
- package/dist/chatgpt-PDFFKPY2.js +0 -47
- package/dist/chats-KU6JI7DK.js +0 -449
- package/dist/check-W27MKVN7.js +0 -107
- package/dist/chunk-3EUITH4J.js +0 -638
- package/dist/chunk-3S3TVLAV.js +0 -7793
- package/dist/chunk-3S3TVLAV.js.map +0 -1
- package/dist/chunk-3TN4OR43.js +0 -57
- package/dist/chunk-4FCSE6NG.js +0 -429
- package/dist/chunk-4FCSE6NG.js.map +0 -1
- package/dist/chunk-4IRJ5JXA.js +0 -46
- package/dist/chunk-4OYSP3OX.js +0 -547
- package/dist/chunk-52WCKY2O.js +0 -103
- package/dist/chunk-5IFFPSEN.js +0 -225
- package/dist/chunk-5KSLZSOH.js +0 -156
- package/dist/chunk-64ALJ6TJ.js +0 -274
- package/dist/chunk-6OIKNJ7G.js +0 -26
- package/dist/chunk-73E4ITJK.js +0 -224
- package/dist/chunk-7UFV6H7J.js +0 -167
- package/dist/chunk-B3CDNANO.js +0 -843
- package/dist/chunk-B5UCAVCD.js +0 -91
- package/dist/chunk-B74ZFQKS.js +0 -676
- package/dist/chunk-B74ZFQKS.js.map +0 -1
- package/dist/chunk-BKIHYRQL.js +0 -149
- package/dist/chunk-BKIHYRQL.js.map +0 -1
- package/dist/chunk-BNO3EFGR.js +0 -4266
- package/dist/chunk-BNO3EFGR.js.map +0 -1
- package/dist/chunk-CVTWKHWZ.js +0 -377
- package/dist/chunk-E5H7JIWB.js +0 -3510
- package/dist/chunk-ERWMBQU2.js +0 -203
- package/dist/chunk-EYLRARHT.js +0 -2209
- package/dist/chunk-EZVW3KAW.js +0 -831
- package/dist/chunk-F3CZFUXZ.js +0 -3187
- package/dist/chunk-F3CZFUXZ.js.map +0 -1
- package/dist/chunk-G6J6AWTE.js +0 -5471
- package/dist/chunk-GAS6HBPM.js +0 -334
- package/dist/chunk-GCFC2MNR.js +0 -228
- package/dist/chunk-GCZK4BMB.js +0 -5368
- package/dist/chunk-H24HT7W7.js +0 -170
- package/dist/chunk-HMFIOE4P.js +0 -63
- package/dist/chunk-IM3GD4G3.js +0 -857
- package/dist/chunk-J6OTEZT3.js +0 -685
- package/dist/chunk-JAFTWN3A.js +0 -207
- package/dist/chunk-JBNT444M.js +0 -285
- package/dist/chunk-JDBZCUTY.js +0 -249
- package/dist/chunk-JKRXKD54.js +0 -66
- package/dist/chunk-JW6VZBV7.js +0 -1646
- package/dist/chunk-JYXERSEO.js +0 -89
- package/dist/chunk-L7AJMZ6Z.js +0 -24026
- package/dist/chunk-L7AJMZ6Z.js.map +0 -1
- package/dist/chunk-LDFM37DM.js +0 -148
- package/dist/chunk-LDMN6RE6.js +0 -142
- package/dist/chunk-M2QBEVIH.js +0 -91
- package/dist/chunk-MHMVFXTK.js +0 -438
- package/dist/chunk-MO3FJMU5.js +0 -930
- package/dist/chunk-MONZLJWO.js +0 -1902
- package/dist/chunk-NL55W4HD.js +0 -61
- package/dist/chunk-NQF5U6FX.js +0 -150
- package/dist/chunk-P6744QO6.js +0 -344
- package/dist/chunk-P6FMQHJJ.js +0 -131
- package/dist/chunk-PFBQERWX.js +0 -10
- package/dist/chunk-PFBQERWX.js.map +0 -1
- package/dist/chunk-PQWT6JHT.js +0 -494
- package/dist/chunk-PYEM5RGJ.js +0 -51
- package/dist/chunk-PZEPUBAS.js +0 -8954
- package/dist/chunk-Q6LCL67T.js +0 -1518
- package/dist/chunk-REFZAC6Q.js +0 -604
- package/dist/chunk-RLTFA2YN.js +0 -910
- package/dist/chunk-RM5T4MA6.js +0 -783
- package/dist/chunk-RPT3EWX2.js +0 -392
- package/dist/chunk-RQOSSYVH.js +0 -718
- package/dist/chunk-RQOSSYVH.js.map +0 -1
- package/dist/chunk-SIKCVWM3.js +0 -76
- package/dist/chunk-SP5P2TGW.js +0 -197
- package/dist/chunk-UYUH5XNV.js +0 -455
- package/dist/chunk-V4UJERGL.js +0 -64
- package/dist/chunk-VIHHAS2H.js +0 -23
- package/dist/chunk-X4APGDHX.js +0 -191
- package/dist/chunk-XBFUCGS4.js +0 -387
- package/dist/chunk-XK2ZJ6CI.js +0 -19
- package/dist/chunk-XN77O7GB.js +0 -275
- package/dist/chunk-XU6XQPNM.js +0 -1919
- package/dist/chunk-Y2AKJYI4.js +0 -191
- package/dist/chunk-Y2AKJYI4.js.map +0 -1
- package/dist/chunk-YQB66YKJ.js +0 -98
- package/dist/chunk-YRALBXYF.js +0 -479
- package/dist/chunk-YRTQQRNY.js +0 -297
- package/dist/chunk-ZHDXKNPO.js +0 -163
- package/dist/chunk-ZIC6AWWL.js +0 -169
- package/dist/claim-DGEZFT3W.js +0 -200
- package/dist/companies-NG6NTBDR.js +0 -198
- package/dist/company-46N4KFB7.js +0 -308
- package/dist/complete-KQPLWTSD.js +0 -84
- package/dist/config-3GCILBEL.js +0 -88
- package/dist/connect-OU2LJ2Z6.js +0 -45
- package/dist/conversation-UMZQ7RDA.js +0 -96
- package/dist/conversion-report-R4KJI4VA.js +0 -127
- package/dist/conversion-upload-command-XQQWLYHZ.js +0 -439
- package/dist/conversion-writes-XIQEIDPS.js +0 -122
- package/dist/conversions-RMBQNW3T.js +0 -78
- package/dist/conversions-X5LGZHA6.js +0 -140
- package/dist/create-EQSXPFUS.js +0 -135
- package/dist/create-IFQP7SVV.js +0 -239
- package/dist/create-M4LMQ2RN.js +0 -210
- package/dist/create-U4ADI5DV.js +0 -62
- package/dist/creatives-3XLHWIHK.js +0 -58
- package/dist/creatives-B2CQUJ3Y.js +0 -223
- package/dist/credentials-KVIE4DRI.js +0 -290
- package/dist/critique-UX2TWXXH.js +0 -232
- package/dist/critique-Z64ZFE6F.js +0 -1451
- package/dist/crm-67S5ZY5G.js +0 -227
- package/dist/crm-NCDTODY3.js +0 -323
- package/dist/currency-XFHCLKAV.js +0 -88
- package/dist/customers-CGVQMPPT.js +0 -65
- package/dist/delete-53RTKHBL.js +0 -69
- package/dist/delete-Q3DM3BTX.js +0 -67
- package/dist/delete-QGYNGZAO.js +0 -57
- package/dist/demographics-5SLROVD6.js +0 -141
- package/dist/discard-WY37YU5P.js +0 -69
- package/dist/discover-R3QBVUHZ.js +0 -172
- package/dist/domain-2KA6VEX4.js +0 -101
- package/dist/download-6JWNJY3B.js +0 -172
- package/dist/draft-25YY6NMC.js +0 -396
- package/dist/draft-25YY6NMC.js.map +0 -1
- package/dist/draft-6E7EQUCU.js +0 -103
- package/dist/draft-6E7EQUCU.js.map +0 -1
- package/dist/draft-BGCCVIZI.js +0 -310
- package/dist/draft-BGCCVIZI.js.map +0 -1
- package/dist/draft-EJNKW4JN.js +0 -335
- package/dist/draft-EJNKW4JN.js.map +0 -1
- package/dist/draft-GIJCJIQ5.js +0 -240
- package/dist/draft-GIJCJIQ5.js.map +0 -1
- package/dist/draft-NMEKF23T.js +0 -220
- package/dist/draft-Q74WOMUR.js +0 -283
- package/dist/draft-Q74WOMUR.js.map +0 -1
- package/dist/draft-RK3ZAUBF.js +0 -100
- package/dist/draft-RK3ZAUBF.js.map +0 -1
- package/dist/experiments-KGRE35JK.js +0 -236
- package/dist/facets-GWV63PKA.js +0 -117
- package/dist/feedback-2SOINGXM.js +0 -115
- package/dist/feedback-O4RPVQ73.js +0 -136
- package/dist/feedback-O4RPVQ73.js.map +0 -1
- package/dist/feedback-record-6FKYOZ3P.js +0 -269
- package/dist/fetch-4NRSXMHY.js +0 -204
- package/dist/fit-OH2X3XSX.js +0 -65
- package/dist/flows-WXSJQ3UJ.js +0 -250
- package/dist/fonts-LRN2PVYX.js +0 -39
- package/dist/forecast-FVZBUIJU.js +0 -121
- package/dist/forecast-JOQESPEP.js +0 -169
- package/dist/funnel-X2XT3XB5.js +0 -397
- package/dist/ga4-SBHUQKGK.js +0 -55
- package/dist/generate-SW5KLHXG.js +0 -263
- package/dist/get-AP3WGMDU.js +0 -59
- package/dist/get-NR34JBHK.js +0 -82
- package/dist/google-Q424277P.js +0 -3270
- package/dist/google-ads-HLFROWL7.js +0 -198
- package/dist/history-7DF5HFJT.js +0 -69
- package/dist/history-IMHDQLXW.js +0 -102
- package/dist/history-VIPGJT7Z.js +0 -153
- package/dist/hubspot-UZ4F5ANA.js +0 -782
- package/dist/ideas-MU6I7DBD.js +0 -45
- package/dist/images-236N2YSJ.js +0 -92
- package/dist/ingest-3DVD25B6.js +0 -27
- package/dist/ingest-XELCXH2P.js +0 -123
- package/dist/insights-YVV5MHPQ.js +0 -132
- package/dist/inspect-DZUGQK5Y.js +0 -192
- package/dist/intent-5VLQBTM7.js +0 -95
- package/dist/keyword-gap-COLF7JNH.js +0 -130
- package/dist/keyword-metrics-R6EWGKGO.js +0 -200
- package/dist/keywords-for-site-LU3LF65F.js +0 -131
- package/dist/landing-FZ7SSEP6.js +0 -28
- package/dist/languages-RYIOZQFH.js +0 -40
- package/dist/leads-B2YSVBOA.js +0 -115
- package/dist/learn-FVQA7RG4.js +0 -207
- package/dist/line-item-writes-UXJ3JVFY.js +0 -211
- package/dist/line-items-FOVTA5LD.js +0 -107
- package/dist/link-UPXHMS2Q.js +0 -67
- package/dist/linkedin-75HES7MX.js +0 -1328
- package/dist/linkedin-75HES7MX.js.map +0 -1
- package/dist/linkedin-person-V6CK4IYG.js +0 -139
- package/dist/list-23P4WTBN.js +0 -154
- package/dist/list-MALIT3TA.js +0 -306
- package/dist/list-WMF25FUC.js +0 -67
- package/dist/locations-7RYEWKJO.js +0 -69
- package/dist/locations-OF2ZI5YX.js +0 -40
- package/dist/log-I7FAVIQA.js +0 -95
- package/dist/make-YHE4Y2CK.js +0 -1367
- package/dist/map-3H6JFF3K.js +0 -436
- package/dist/mcp-KTR7IPSP.js +0 -729
- package/dist/media-sources-XADH7UR6.js +0 -35
- package/dist/members-4I3TSPZD.js +0 -47
- package/dist/meta-X46LC3GI.js +0 -122
- package/dist/metrics-PKMIG7VL.js +0 -152
- package/dist/models-X2IXXAD6.js +0 -155
- package/dist/normalize-GEBDT74P.js +0 -144
- package/dist/options-4DJFAVSV.js +0 -125
- package/dist/organization-SBFGCUZJ.js +0 -949
- package/dist/performance-BHDYL4JE.js +0 -5565
- package/dist/performance-ZNVGH4BL.js +0 -27
- package/dist/pixels-DBSPNHIE.js +0 -62
- package/dist/plan-2Q6SOHMD.js +0 -208
- package/dist/promoted-tweet-writes-OQM7SURA.js +0 -183
- package/dist/promoted-tweets-BCKQ4D3D.js +0 -119
- package/dist/publish-ZCWQZ5EO.js +0 -344
- package/dist/query-GBIWIZSS.js +0 -62
- package/dist/read-DF3UPNBM.js +0 -141
- package/dist/reddit-NUPXPOG3.js +0 -29
- package/dist/refresh-5KSQVA3V.js +0 -97
- package/dist/release-QIBDWPNL.js +0 -63
- package/dist/relevant-pages-OZPYOGFO.js +0 -99
- package/dist/remove-IM3WF5RS.js +0 -53
- package/dist/reopen-DK3SFSWS.js +0 -66
- package/dist/rerun-7OOJRRZE.js +0 -96
- package/dist/research-KNLA55TJ.js +0 -75
- package/dist/research-R3JAZRD4.js +0 -265
- package/dist/reset-JRKJKUZL.js +0 -57
- package/dist/reset-WQAJPREG.js +0 -57
- package/dist/resolve-LCZXCACJ.js +0 -124
- package/dist/retry-64YJR4ZS.js +0 -65
- package/dist/retry-BPDA54WP.js +0 -63
- package/dist/revenue-WNMRTD6P.js +0 -91
- package/dist/rules-N2YPNUM5.js +0 -99
- package/dist/rules-add-BS577EEB.js +0 -465
- package/dist/run-BNZFJ2YU.js +0 -71
- package/dist/run-OPSLEKBZ.js +0 -69
- package/dist/scaffold-ad-PREXRCXY.js +0 -1513
- package/dist/scaffold-static-ad-KK4QOBO7.js +0 -1011
- package/dist/scaffold-video-KLBPRMAV.js +0 -885
- package/dist/schedule-BODZ6DED.js +0 -64
- package/dist/scheduled-agents-GZEB2B25.js +0 -55
- package/dist/schema-I54DIUTV.js +0 -135
- package/dist/schema-U6GAKTQZ.js +0 -121
- package/dist/search-IJ745GV3.js +0 -177
- package/dist/select-WZJCQW4A.js +0 -110
- package/dist/set-prompt-SUJW4F5J.js +0 -199
- package/dist/setup-links-UVGNFNGP.js +0 -144
- package/dist/shopify-BR27STCS.js +0 -3958
- package/dist/shopify-BR27STCS.js.map +0 -1
- package/dist/site-ZRD4H65V.js +0 -180
- package/dist/sources-4FWNXBBR.js +0 -457
- package/dist/sources-E3QDROKM.js +0 -30
- package/dist/stale-TPM2XQKT.js +0 -90
- package/dist/status-QEVQKFFP.js +0 -65
- package/dist/studio-OV2ZY5W3.js +0 -49
- package/dist/sync-GOVV6G45.js +0 -57
- package/dist/sync-definition-OSSIAZ23.js +0 -70
- package/dist/tag-manager-5ORFHLM4.js +0 -43
- package/dist/tags-BXTCJCOH.js +0 -227
- package/dist/tags-H6ZDU6MK.js +0 -23
- package/dist/tags-Q6Q5FRVL.js +0 -26
- package/dist/tags-YJ3UVNGP.js +0 -23
- package/dist/tags-YJI3QOBK.js +0 -23
- package/dist/targeting-criteria-667LEXSS.js +0 -113
- package/dist/targets-AOE2FDDM.js +0 -106
- package/dist/testimonials-IOBXKEMA.js +0 -32
- package/dist/themes-GD53PVOD.js +0 -95
- package/dist/top-companies-AUXG5OY5.js +0 -111
- package/dist/transcript-D7ZS3X6S.js +0 -165
- package/dist/translate-BQCLUORU.js +0 -603
- package/dist/triggers-QBG5VN5O.js +0 -144
- package/dist/unlink-5KKAJJM6.js +0 -70
- package/dist/unstage-EU6YHHDA.js +0 -88
- package/dist/update-JJG7R6QN.js +0 -192
- package/dist/update-OLQGUBNH.js +0 -101
- package/dist/update-RROGL7SO.js +0 -66
- package/dist/update-RW5T53RB.js +0 -155
- package/dist/upload-4JN4BPY2.js +0 -130
- package/dist/url-options-VNNI4QXX.js +0 -131
- package/dist/url-params-3GCYLRDI.js +0 -101
- package/dist/validate-YBD2PIZE.js +0 -125
- package/dist/videos-OMPPGIYZ.js +0 -41
- package/dist/viewer-check-TCX6PFO4.js +0 -83
- package/dist/web-QGNS3YPN.js +0 -173
- package/dist/winning-ads-LY4NV5O3.js +0 -86
- package/dist/write-commands-FGWCJHLH.js +0 -713
- package/dist/write-commands-OLTCXPPW.js +0 -1525
- package/dist/write-commands-UTM7PPK5.js +0 -206
- package/dist/x-VBSKVDIX.js +0 -47
- /package/dist/{account-IG3U6UXZ.js.map → account-2HJ4GKHN.js.map} +0 -0
- /package/dist/{account-2WTVU5VH.js.map → account-MTMCQQYH.js.map} +0 -0
- /package/dist/{account-reads-L2GYNCD3.js.map → account-reads-X36NPCX5.js.map} +0 -0
- /package/dist/{account-users-CK7D4AAI.js.map → account-users-FJ63HUJT.js.map} +0 -0
- /package/dist/{account-writes-BSSKSTZ2.js.map → account-writes-FZ3KCJZY.js.map} +0 -0
- /package/dist/{accounts-3EERX6MO.js.map → accounts-PU2GGSH4.js.map} +0 -0
- /package/dist/{accounts-JWYTBGDR.js.map → accounts-VYQINKID.js.map} +0 -0
- /package/dist/{actions-UUNK3DO4.js.map → actions-NKCYYR7Q.js.map} +0 -0
- /package/dist/{activecampaign-URFTGK6R.js.map → activecampaign-LQHDIHN5.js.map} +0 -0
- /package/dist/{ad-group-writes-KMB3OMJG.js.map → ad-group-writes-XGG3WQEO.js.map} +0 -0
- /package/dist/{ad-groups-E67CNQS4.js.map → ad-groups-GZIPUN64.js.map} +0 -0
- /package/dist/{ad-writes-FNMKNFUN.js.map → ad-writes-2VTRWQLW.js.map} +0 -0
- /package/dist/{add-2JN54LSO.js.map → add-6EHN5G6X.js.map} +0 -0
- /package/dist/{add-4PYISQPU.js.map → add-HLBKTI3H.js.map} +0 -0
- /package/dist/{ads-6KIDAXHQ.js.map → ads-CWXQLZCC.js.map} +0 -0
- /package/dist/{ads-4LASBP4G.js.map → ads-LNWALF6G.js.map} +0 -0
- /package/dist/{advertisers-K4ZLOZQ2.js.map → advertisers-YMIPR2QG.js.map} +0 -0
- /package/dist/{analytics-36JY2LHD.js.map → analytics-37M6Z37U.js.map} +0 -0
- /package/dist/{analytics-NXXDWJU2.js.map → analytics-6VAB2VYM.js.map} +0 -0
- /package/dist/{animate-OWXAT2RK.js.map → animate-DM4OUJMR.js.map} +0 -0
- /package/dist/{assign-SG5JXTMD.js.map → assign-V25HMGMU.js.map} +0 -0
- /package/dist/{audience-size-HOLSWGNO.js.map → audience-size-FKNAK4QD.js.map} +0 -0
- /package/dist/{audiences-3R574STZ.js.map → audiences-7D5VPOWF.js.map} +0 -0
- /package/dist/{audit-YWT6CEY2.js.map → audit-6VVUMMYL.js.map} +0 -0
- /package/dist/{autocomplete-KMYCOXHU.js.map → autocomplete-NETVGJRC.js.map} +0 -0
- /package/dist/{avatars-ZGJ6RGNQ.js.map → avatars-HH4LOUA3.js.map} +0 -0
- /package/dist/{bid-pricing-C2UQJWYK.js.map → bid-pricing-SCTUSHFI.js.map} +0 -0
- /package/dist/{brand-3653YYQF.js.map → brand-FTPQYYDU.js.map} +0 -0
- /package/dist/{brief-I537G3PB.js.map → brief-MCKNRSWM.js.map} +0 -0
- /package/dist/{campaign-groups-A7BT67RF.js.map → campaign-groups-ZNKBTXPV.js.map} +0 -0
- /package/dist/{campaign-writes-HASDYGTI.js.map → campaign-writes-5TWXZ44R.js.map} +0 -0
- /package/dist/{campaign-writes-Z2J24SUZ.js.map → campaign-writes-H22P6YPW.js.map} +0 -0
- /package/dist/{campaigns-43OS6EUG.js.map → campaigns-265JXD2Z.js.map} +0 -0
- /package/dist/{campaigns-FHP74WGY.js.map → campaigns-E64SHT67.js.map} +0 -0
- /package/dist/{campaigns-5DOTTJ47.js.map → campaigns-GYNO5P22.js.map} +0 -0
- /package/dist/{canvas-AW235KQX.js.map → canvas-E4ZT2K7I.js.map} +0 -0
- /package/dist/{capabilities-6P674LBM.js.map → capabilities-RVNBW4OL.js.map} +0 -0
- /package/dist/{catalog-7LINLVVY.js.map → catalog-DPUQBZZ7.js.map} +0 -0
- /package/dist/{catalogs-IR22RGZD.js.map → catalogs-SBXFAD3X.js.map} +0 -0
- /package/dist/{changes-RSEGYV45.js.map → changes-HXVZUJMH.js.map} +0 -0
- /package/dist/{chatgpt-PDFFKPY2.js.map → chatgpt-UXJPCGZU.js.map} +0 -0
- /package/dist/{chats-KU6JI7DK.js.map → chats-4SQSGOFC.js.map} +0 -0
- /package/dist/{check-W27MKVN7.js.map → check-4WC2RLDR.js.map} +0 -0
- /package/dist/{chunk-ERWMBQU2.js.map → chunk-3I66ZQTI.js.map} +0 -0
- /package/dist/{chunk-M2QBEVIH.js.map → chunk-3SEXQVMX.js.map} +0 -0
- /package/dist/{chunk-B3CDNANO.js.map → chunk-4D73PLXU.js.map} +0 -0
- /package/dist/{chunk-YRALBXYF.js.map → chunk-4EGXO63N.js.map} +0 -0
- /package/dist/{chunk-HMFIOE4P.js.map → chunk-4S5ZAG4S.js.map} +0 -0
- /package/dist/{chunk-H24HT7W7.js.map → chunk-5UEBOBLO.js.map} +0 -0
- /package/dist/{chunk-B5UCAVCD.js.map → chunk-6FLUNQHT.js.map} +0 -0
- /package/dist/{chunk-XK2ZJ6CI.js.map → chunk-6I7N2WYU.js.map} +0 -0
- /package/dist/{chunk-52WCKY2O.js.map → chunk-6KWT3Z35.js.map} +0 -0
- /package/dist/{chunk-SP5P2TGW.js.map → chunk-AI2SKWZE.js.map} +0 -0
- /package/dist/{chunk-UYUH5XNV.js.map → chunk-ANV42DGJ.js.map} +0 -0
- /package/dist/{chunk-RPT3EWX2.js.map → chunk-AYEWXTSF.js.map} +0 -0
- /package/dist/{chunk-X4APGDHX.js.map → chunk-CKIDKN6H.js.map} +0 -0
- /package/dist/{chunk-MO3FJMU5.js.map → chunk-D4NK7SPT.js.map} +0 -0
- /package/dist/{chunk-NL55W4HD.js.map → chunk-DNZVBP2W.js.map} +0 -0
- /package/dist/{chunk-REFZAC6Q.js.map → chunk-EH34RWKR.js.map} +0 -0
- /package/dist/{chunk-RM5T4MA6.js.map → chunk-EOMY5SUJ.js.map} +0 -0
- /package/dist/{chunk-4OYSP3OX.js.map → chunk-EQAEWL6A.js.map} +0 -0
- /package/dist/{chunk-PQWT6JHT.js.map → chunk-F5UU5PAE.js.map} +0 -0
- /package/dist/{chunk-NQF5U6FX.js.map → chunk-FVDC6AKZ.js.map} +0 -0
- /package/dist/{chunk-LDFM37DM.js.map → chunk-GN7K3NPI.js.map} +0 -0
- /package/dist/{chunk-MONZLJWO.js.map → chunk-H6CS7VSO.js.map} +0 -0
- /package/dist/{chunk-YQB66YKJ.js.map → chunk-HBDWE7WK.js.map} +0 -0
- /package/dist/{chunk-CVTWKHWZ.js.map → chunk-I6JPTDKR.js.map} +0 -0
- /package/dist/{chunk-JAFTWN3A.js.map → chunk-IGIACW2B.js.map} +0 -0
- /package/dist/{chunk-EYLRARHT.js.map → chunk-IRINY4B2.js.map} +0 -0
- /package/dist/{chunk-MHMVFXTK.js.map → chunk-J4JY435Z.js.map} +0 -0
- /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
- /package/dist/{chunk-IM3GD4G3.js.map → chunk-JLLGXYOZ.js.map} +0 -0
- /package/dist/{chunk-E5H7JIWB.js.map → chunk-JY3OJBKZ.js.map} +0 -0
- /package/dist/{chunk-XU6XQPNM.js.map → chunk-KIXVHP2C.js.map} +0 -0
- /package/dist/{chunk-5KSLZSOH.js.map → chunk-LODEDXCD.js.map} +0 -0
- /package/dist/{chunk-J6OTEZT3.js.map → chunk-MEK7SMWO.js.map} +0 -0
- /package/dist/{chunk-JKRXKD54.js.map → chunk-MELSTI6W.js.map} +0 -0
- /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
- /package/dist/{chunk-P6FMQHJJ.js.map → chunk-NBWZVBDG.js.map} +0 -0
- /package/dist/{chunk-64ALJ6TJ.js.map → chunk-P3VY5JEM.js.map} +0 -0
- /package/dist/{chunk-JW6VZBV7.js.map → chunk-PXGR3VGW.js.map} +0 -0
- /package/dist/{chunk-G6J6AWTE.js.map → chunk-QK3HMAVU.js.map} +0 -0
- /package/dist/{chunk-PYEM5RGJ.js.map → chunk-QYKZ3FVE.js.map} +0 -0
- /package/dist/{chunk-3EUITH4J.js.map → chunk-RHEWQB5O.js.map} +0 -0
- /package/dist/{chunk-4IRJ5JXA.js.map → chunk-RP36XHWT.js.map} +0 -0
- /package/dist/{chunk-GCFC2MNR.js.map → chunk-SNWFM2DB.js.map} +0 -0
- /package/dist/{chunk-PZEPUBAS.js.map → chunk-SWPJZJTY.js.map} +0 -0
- /package/dist/{chunk-XN77O7GB.js.map → chunk-SXYEIZND.js.map} +0 -0
- /package/dist/{chunk-EZVW3KAW.js.map → chunk-T62SKL4T.js.map} +0 -0
- /package/dist/{chunk-ZIC6AWWL.js.map → chunk-T7SOINEA.js.map} +0 -0
- /package/dist/{chunk-Q6LCL67T.js.map → chunk-TARINRA4.js.map} +0 -0
- /package/dist/{chunk-JDBZCUTY.js.map → chunk-TNHIYELA.js.map} +0 -0
- /package/dist/{chunk-7UFV6H7J.js.map → chunk-TNZUMU55.js.map} +0 -0
- /package/dist/{chunk-LDMN6RE6.js.map → chunk-UT77RVVU.js.map} +0 -0
- /package/dist/{chunk-XBFUCGS4.js.map → chunk-UZ4L5ERW.js.map} +0 -0
- /package/dist/{chunk-V4UJERGL.js.map → chunk-VOUCQ2YW.js.map} +0 -0
- /package/dist/{chunk-VIHHAS2H.js.map → chunk-VVMRSEW6.js.map} +0 -0
- /package/dist/{chunk-ZHDXKNPO.js.map → chunk-WFJ7KR5K.js.map} +0 -0
- /package/dist/{chunk-YRTQQRNY.js.map → chunk-WLA7CA4G.js.map} +0 -0
- /package/dist/{chunk-JBNT444M.js.map → chunk-WOE4TZHJ.js.map} +0 -0
- /package/dist/{chunk-3TN4OR43.js.map → chunk-XJ2GXHU4.js.map} +0 -0
- /package/dist/{chunk-GAS6HBPM.js.map → chunk-XLG3SJ3K.js.map} +0 -0
- /package/dist/{chunk-GCZK4BMB.js.map → chunk-XYNQMRNX.js.map} +0 -0
- /package/dist/{chunk-JYXERSEO.js.map → chunk-YDGBWP3I.js.map} +0 -0
- /package/dist/{chunk-RLTFA2YN.js.map → chunk-Z4TWYYM3.js.map} +0 -0
- /package/dist/{chunk-5IFFPSEN.js.map → chunk-ZEUAJAKN.js.map} +0 -0
- /package/dist/{chunk-P6744QO6.js.map → chunk-ZKYJYBDR.js.map} +0 -0
- /package/dist/{chunk-73E4ITJK.js.map → chunk-ZL43WZBX.js.map} +0 -0
- /package/dist/{claim-DGEZFT3W.js.map → claim-G4MRH7Q7.js.map} +0 -0
- /package/dist/{companies-NG6NTBDR.js.map → companies-TV5SX7IW.js.map} +0 -0
- /package/dist/{company-46N4KFB7.js.map → company-W2N3H7AG.js.map} +0 -0
- /package/dist/{complete-KQPLWTSD.js.map → complete-CTS2VDY5.js.map} +0 -0
- /package/dist/{config-3GCILBEL.js.map → config-3VK74MY6.js.map} +0 -0
- /package/dist/{connect-OU2LJ2Z6.js.map → connect-64CFSYYE.js.map} +0 -0
- /package/dist/{conversation-UMZQ7RDA.js.map → conversation-T57OY4L4.js.map} +0 -0
- /package/dist/{conversion-report-R4KJI4VA.js.map → conversion-report-RB2MU7UD.js.map} +0 -0
- /package/dist/{conversion-upload-command-XQQWLYHZ.js.map → conversion-upload-command-HFZYKVXA.js.map} +0 -0
- /package/dist/{conversion-writes-XIQEIDPS.js.map → conversion-writes-56AIPXPK.js.map} +0 -0
- /package/dist/{conversions-RMBQNW3T.js.map → conversions-NRX76ZIT.js.map} +0 -0
- /package/dist/{conversions-X5LGZHA6.js.map → conversions-P75BZDDN.js.map} +0 -0
- /package/dist/{create-EQSXPFUS.js.map → create-2IFLWXCE.js.map} +0 -0
- /package/dist/{create-IFQP7SVV.js.map → create-2ZM3SAMX.js.map} +0 -0
- /package/dist/{create-M4LMQ2RN.js.map → create-I6AVOYOS.js.map} +0 -0
- /package/dist/{create-U4ADI5DV.js.map → create-YKV66SQ6.js.map} +0 -0
- /package/dist/{creatives-3XLHWIHK.js.map → creatives-4HMWWE4O.js.map} +0 -0
- /package/dist/{creatives-B2CQUJ3Y.js.map → creatives-CSXTXOTD.js.map} +0 -0
- /package/dist/{credentials-KVIE4DRI.js.map → credentials-YQND7EIL.js.map} +0 -0
- /package/dist/{critique-UX2TWXXH.js.map → critique-ABUU725C.js.map} +0 -0
- /package/dist/{critique-Z64ZFE6F.js.map → critique-EBQKUWBV.js.map} +0 -0
- /package/dist/{crm-NCDTODY3.js.map → crm-CD7QLN65.js.map} +0 -0
- /package/dist/{crm-67S5ZY5G.js.map → crm-G2QOW4WY.js.map} +0 -0
- /package/dist/{currency-XFHCLKAV.js.map → currency-CHBV6WIO.js.map} +0 -0
- /package/dist/{customers-CGVQMPPT.js.map → customers-SNDSWS2C.js.map} +0 -0
- /package/dist/{delete-QGYNGZAO.js.map → delete-AXECUWUU.js.map} +0 -0
- /package/dist/{delete-Q3DM3BTX.js.map → delete-WSWCPQ4R.js.map} +0 -0
- /package/dist/{delete-53RTKHBL.js.map → delete-YE3ZJKGK.js.map} +0 -0
- /package/dist/{demographics-5SLROVD6.js.map → demographics-UPLQV4VW.js.map} +0 -0
- /package/dist/{discard-WY37YU5P.js.map → discard-D3SPLQP2.js.map} +0 -0
- /package/dist/{discover-R3QBVUHZ.js.map → discover-ZU2DAV23.js.map} +0 -0
- /package/dist/{domain-2KA6VEX4.js.map → domain-OXNE56NK.js.map} +0 -0
- /package/dist/{download-6JWNJY3B.js.map → download-DGVEUXKX.js.map} +0 -0
- /package/dist/{draft-NMEKF23T.js.map → draft-2SMIRPNZ.js.map} +0 -0
- /package/dist/{experiments-KGRE35JK.js.map → experiments-C3M65LMP.js.map} +0 -0
- /package/dist/{facets-GWV63PKA.js.map → facets-SGS4HDCM.js.map} +0 -0
- /package/dist/{feedback-2SOINGXM.js.map → feedback-256D3HOY.js.map} +0 -0
- /package/dist/{feedback-record-6FKYOZ3P.js.map → feedback-record-FDOIZ3HV.js.map} +0 -0
- /package/dist/{fetch-4NRSXMHY.js.map → fetch-EODKEOLX.js.map} +0 -0
- /package/dist/{fit-OH2X3XSX.js.map → fit-VEUYZEG6.js.map} +0 -0
- /package/dist/{flows-WXSJQ3UJ.js.map → flows-RCOWB5BY.js.map} +0 -0
- /package/dist/{fonts-LRN2PVYX.js.map → fonts-33UOE4X3.js.map} +0 -0
- /package/dist/{forecast-JOQESPEP.js.map → forecast-372Q6KQZ.js.map} +0 -0
- /package/dist/{forecast-FVZBUIJU.js.map → forecast-I3WRFKQL.js.map} +0 -0
- /package/dist/{funnel-X2XT3XB5.js.map → funnel-MLPPNJQK.js.map} +0 -0
- /package/dist/{ga4-SBHUQKGK.js.map → ga4-GDMHIFBU.js.map} +0 -0
- /package/dist/{generate-SW5KLHXG.js.map → generate-JQIK3UYS.js.map} +0 -0
- /package/dist/{get-AP3WGMDU.js.map → get-AOHHMPZC.js.map} +0 -0
- /package/dist/{get-NR34JBHK.js.map → get-SORMH25W.js.map} +0 -0
- /package/dist/{google-Q424277P.js.map → google-JHTOX6WM.js.map} +0 -0
- /package/dist/{google-ads-HLFROWL7.js.map → google-ads-CNREZMRN.js.map} +0 -0
- /package/dist/{history-IMHDQLXW.js.map → history-D5UQTJ4H.js.map} +0 -0
- /package/dist/{history-7DF5HFJT.js.map → history-VNLS2TKB.js.map} +0 -0
- /package/dist/{history-VIPGJT7Z.js.map → history-ZE7OQGDR.js.map} +0 -0
- /package/dist/{hubspot-UZ4F5ANA.js.map → hubspot-WGP36QI3.js.map} +0 -0
- /package/dist/{ideas-MU6I7DBD.js.map → ideas-4F5JG4UV.js.map} +0 -0
- /package/dist/{images-236N2YSJ.js.map → images-Q5MZ75SL.js.map} +0 -0
- /package/dist/{ingest-XELCXH2P.js.map → ingest-52X3B37O.js.map} +0 -0
- /package/dist/{ingest-3DVD25B6.js.map → ingest-NXISET6E.js.map} +0 -0
- /package/dist/{insights-YVV5MHPQ.js.map → insights-XY6II7TX.js.map} +0 -0
- /package/dist/{inspect-DZUGQK5Y.js.map → inspect-JD4WLZ57.js.map} +0 -0
- /package/dist/{intent-5VLQBTM7.js.map → intent-5QUPPZNI.js.map} +0 -0
- /package/dist/{keyword-gap-COLF7JNH.js.map → keyword-gap-IG3EFLDH.js.map} +0 -0
- /package/dist/{keyword-metrics-R6EWGKGO.js.map → keyword-metrics-DDW4MSLX.js.map} +0 -0
- /package/dist/{keywords-for-site-LU3LF65F.js.map → keywords-for-site-3UM6THUN.js.map} +0 -0
- /package/dist/{landing-FZ7SSEP6.js.map → landing-ZHDHE65Z.js.map} +0 -0
- /package/dist/{languages-RYIOZQFH.js.map → languages-LNHWSCMT.js.map} +0 -0
- /package/dist/{leads-B2YSVBOA.js.map → leads-MITJNZWB.js.map} +0 -0
- /package/dist/{learn-FVQA7RG4.js.map → learn-VLUC2TXW.js.map} +0 -0
- /package/dist/{line-item-writes-UXJ3JVFY.js.map → line-item-writes-HLQYQ4KG.js.map} +0 -0
- /package/dist/{line-items-FOVTA5LD.js.map → line-items-64KIKPCB.js.map} +0 -0
- /package/dist/{link-UPXHMS2Q.js.map → link-NNSG5YQ4.js.map} +0 -0
- /package/dist/{linkedin-person-V6CK4IYG.js.map → linkedin-person-OPCUWPLI.js.map} +0 -0
- /package/dist/{list-MALIT3TA.js.map → list-5U4Z3PWU.js.map} +0 -0
- /package/dist/{list-23P4WTBN.js.map → list-7S4KTZNU.js.map} +0 -0
- /package/dist/{list-WMF25FUC.js.map → list-VQQICPK3.js.map} +0 -0
- /package/dist/{locations-7RYEWKJO.js.map → locations-64JNCQID.js.map} +0 -0
- /package/dist/{locations-OF2ZI5YX.js.map → locations-KVAAO7LD.js.map} +0 -0
- /package/dist/{log-I7FAVIQA.js.map → log-63ZVYC6L.js.map} +0 -0
- /package/dist/{make-YHE4Y2CK.js.map → make-7ITIZUJI.js.map} +0 -0
- /package/dist/{map-3H6JFF3K.js.map → map-MTR4V7KE.js.map} +0 -0
- /package/dist/{mcp-KTR7IPSP.js.map → mcp-HKMQLXBC.js.map} +0 -0
- /package/dist/{media-sources-XADH7UR6.js.map → media-sources-ZBSBTB4C.js.map} +0 -0
- /package/dist/{members-4I3TSPZD.js.map → members-MTRJ3ZRS.js.map} +0 -0
- /package/dist/{meta-X46LC3GI.js.map → meta-XVPSGNHU.js.map} +0 -0
- /package/dist/{metrics-PKMIG7VL.js.map → metrics-MXGA3EFS.js.map} +0 -0
- /package/dist/{models-X2IXXAD6.js.map → models-Z6SUHWKI.js.map} +0 -0
- /package/dist/{normalize-GEBDT74P.js.map → normalize-SAKXSFEX.js.map} +0 -0
- /package/dist/{options-4DJFAVSV.js.map → options-L7B3SDIX.js.map} +0 -0
- /package/dist/{organization-SBFGCUZJ.js.map → organization-FFRNHVC5.js.map} +0 -0
- /package/dist/{performance-BHDYL4JE.js.map → performance-AJA7YGOO.js.map} +0 -0
- /package/dist/{performance-ZNVGH4BL.js.map → performance-F72KFQU5.js.map} +0 -0
- /package/dist/{pixels-DBSPNHIE.js.map → pixels-H642RPK4.js.map} +0 -0
- /package/dist/{plan-2Q6SOHMD.js.map → plan-FRRE4YQC.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-OQM7SURA.js.map → promoted-tweet-writes-32RAOXQR.js.map} +0 -0
- /package/dist/{promoted-tweets-BCKQ4D3D.js.map → promoted-tweets-KMLFRWDN.js.map} +0 -0
- /package/dist/{publish-ZCWQZ5EO.js.map → publish-FOSPQ2BE.js.map} +0 -0
- /package/dist/{query-GBIWIZSS.js.map → query-FT2BA3WH.js.map} +0 -0
- /package/dist/{read-DF3UPNBM.js.map → read-7ZFZAJSQ.js.map} +0 -0
- /package/dist/{reddit-NUPXPOG3.js.map → reddit-5PYYZNBJ.js.map} +0 -0
- /package/dist/{refresh-5KSQVA3V.js.map → refresh-AOHTPXU4.js.map} +0 -0
- /package/dist/{release-QIBDWPNL.js.map → release-G2UKFAQY.js.map} +0 -0
- /package/dist/{relevant-pages-OZPYOGFO.js.map → relevant-pages-OCHLUV5K.js.map} +0 -0
- /package/dist/{remove-IM3WF5RS.js.map → remove-K5C2URJE.js.map} +0 -0
- /package/dist/{reopen-DK3SFSWS.js.map → reopen-PWROABUC.js.map} +0 -0
- /package/dist/{rerun-7OOJRRZE.js.map → rerun-CVJYCCNK.js.map} +0 -0
- /package/dist/{research-KNLA55TJ.js.map → research-KLWC3JBI.js.map} +0 -0
- /package/dist/{research-R3JAZRD4.js.map → research-Z3OJXOS4.js.map} +0 -0
- /package/dist/{reset-JRKJKUZL.js.map → reset-3QL7IOHF.js.map} +0 -0
- /package/dist/{reset-WQAJPREG.js.map → reset-GPO4MCSM.js.map} +0 -0
- /package/dist/{resolve-LCZXCACJ.js.map → resolve-7SW7FZ7Q.js.map} +0 -0
- /package/dist/{retry-BPDA54WP.js.map → retry-HNCUDQ7S.js.map} +0 -0
- /package/dist/{retry-64YJR4ZS.js.map → retry-NVMOGTZD.js.map} +0 -0
- /package/dist/{revenue-WNMRTD6P.js.map → revenue-HDJFYUEB.js.map} +0 -0
- /package/dist/{rules-N2YPNUM5.js.map → rules-RYHWD4HA.js.map} +0 -0
- /package/dist/{rules-add-BS577EEB.js.map → rules-add-EMDFBYDA.js.map} +0 -0
- /package/dist/{run-BNZFJ2YU.js.map → run-2XRDPVHX.js.map} +0 -0
- /package/dist/{run-OPSLEKBZ.js.map → run-PXHQKRY5.js.map} +0 -0
- /package/dist/{scaffold-ad-PREXRCXY.js.map → scaffold-ad-RJAXMKOX.js.map} +0 -0
- /package/dist/{scaffold-static-ad-KK4QOBO7.js.map → scaffold-static-ad-4HLSHPJI.js.map} +0 -0
- /package/dist/{scaffold-video-KLBPRMAV.js.map → scaffold-video-UH6OOIQW.js.map} +0 -0
- /package/dist/{schedule-BODZ6DED.js.map → schedule-WT22OEBF.js.map} +0 -0
- /package/dist/{scheduled-agents-GZEB2B25.js.map → scheduled-agents-BLIDNRFX.js.map} +0 -0
- /package/dist/{schema-I54DIUTV.js.map → schema-FUCZHUNV.js.map} +0 -0
- /package/dist/{schema-U6GAKTQZ.js.map → schema-NSXMRNWM.js.map} +0 -0
- /package/dist/{search-IJ745GV3.js.map → search-S5O3L4KX.js.map} +0 -0
- /package/dist/{select-WZJCQW4A.js.map → select-ISIQXRPF.js.map} +0 -0
- /package/dist/{set-prompt-SUJW4F5J.js.map → set-prompt-MAQN5CYY.js.map} +0 -0
- /package/dist/{setup-links-UVGNFNGP.js.map → setup-links-HANLAGD2.js.map} +0 -0
- /package/dist/{site-ZRD4H65V.js.map → site-GADKB2RP.js.map} +0 -0
- /package/dist/{sources-E3QDROKM.js.map → sources-CA7JLF4P.js.map} +0 -0
- /package/dist/{sources-4FWNXBBR.js.map → sources-HUXVRGDH.js.map} +0 -0
- /package/dist/{stale-TPM2XQKT.js.map → stale-2A33KEE7.js.map} +0 -0
- /package/dist/{status-QEVQKFFP.js.map → status-5JTRE3OM.js.map} +0 -0
- /package/dist/{studio-OV2ZY5W3.js.map → studio-6ZXUKA4G.js.map} +0 -0
- /package/dist/{sync-GOVV6G45.js.map → sync-RJFMKM6D.js.map} +0 -0
- /package/dist/{sync-definition-OSSIAZ23.js.map → sync-definition-AKZUCLEV.js.map} +0 -0
- /package/dist/{tag-manager-5ORFHLM4.js.map → tag-manager-74CGUGXX.js.map} +0 -0
- /package/dist/{tags-YJI3QOBK.js.map → tags-B2EXVMNS.js.map} +0 -0
- /package/dist/{tags-BXTCJCOH.js.map → tags-JUIKSERD.js.map} +0 -0
- /package/dist/{tags-Q6Q5FRVL.js.map → tags-LP6I7GY4.js.map} +0 -0
- /package/dist/{tags-YJ3UVNGP.js.map → tags-UHD43CAG.js.map} +0 -0
- /package/dist/{tags-H6ZDU6MK.js.map → tags-WJFCPOP7.js.map} +0 -0
- /package/dist/{targeting-criteria-667LEXSS.js.map → targeting-criteria-2LKBD5IH.js.map} +0 -0
- /package/dist/{targets-AOE2FDDM.js.map → targets-O5JYFOCY.js.map} +0 -0
- /package/dist/{testimonials-IOBXKEMA.js.map → testimonials-P63TKNJ2.js.map} +0 -0
- /package/dist/{themes-GD53PVOD.js.map → themes-R3A6IVQN.js.map} +0 -0
- /package/dist/{top-companies-AUXG5OY5.js.map → top-companies-F7DUMWXA.js.map} +0 -0
- /package/dist/{transcript-D7ZS3X6S.js.map → transcript-4RFSQA5U.js.map} +0 -0
- /package/dist/{translate-BQCLUORU.js.map → translate-WOJFJRAC.js.map} +0 -0
- /package/dist/{triggers-QBG5VN5O.js.map → triggers-4MHFN3VV.js.map} +0 -0
- /package/dist/{unlink-5KKAJJM6.js.map → unlink-5AXBQOIL.js.map} +0 -0
- /package/dist/{unstage-EU6YHHDA.js.map → unstage-SIBXT25Y.js.map} +0 -0
- /package/dist/{update-OLQGUBNH.js.map → update-4BDOO53L.js.map} +0 -0
- /package/dist/{update-RW5T53RB.js.map → update-NNEMJQ4D.js.map} +0 -0
- /package/dist/{update-JJG7R6QN.js.map → update-O76YSKXB.js.map} +0 -0
- /package/dist/{update-RROGL7SO.js.map → update-YS4QI2KP.js.map} +0 -0
- /package/dist/{upload-4JN4BPY2.js.map → upload-XVV3HQ5W.js.map} +0 -0
- /package/dist/{url-options-VNNI4QXX.js.map → url-options-YZ6UG3NY.js.map} +0 -0
- /package/dist/{url-params-3GCYLRDI.js.map → url-params-XL5URMTG.js.map} +0 -0
- /package/dist/{validate-YBD2PIZE.js.map → validate-42Q7X2KK.js.map} +0 -0
- /package/dist/{videos-OMPPGIYZ.js.map → videos-HMKEY5WY.js.map} +0 -0
- /package/dist/{viewer-check-TCX6PFO4.js.map → viewer-check-4XFEWEH3.js.map} +0 -0
- /package/dist/{web-QGNS3YPN.js.map → web-PYG3AOYS.js.map} +0 -0
- /package/dist/{winning-ads-LY4NV5O3.js.map → winning-ads-74BKOBVN.js.map} +0 -0
- /package/dist/{write-commands-OLTCXPPW.js.map → write-commands-43GTQIR6.js.map} +0 -0
- /package/dist/{write-commands-FGWCJHLH.js.map → write-commands-5Z5A3D3M.js.map} +0 -0
- /package/dist/{write-commands-UTM7PPK5.js.map → write-commands-7DTFGM6E.js.map} +0 -0
- /package/dist/{x-VBSKVDIX.js.map → x-6WSV55RN.js.map} +0 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CRM_COLUMN_FIELDS,
|
|
3
|
+
CRM_DEAL_STATUSES,
|
|
4
|
+
targetAccountsSchema,
|
|
5
|
+
targetsSummarySchema
|
|
6
|
+
} from "./chunk-EOMY5SUJ.js";
|
|
7
|
+
import {
|
|
8
|
+
calendarDaySchema,
|
|
9
|
+
todayUtc,
|
|
10
|
+
windowTooLong
|
|
11
|
+
} from "./chunk-VR2AF7I7.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-UZ4L5ERW.js.map
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import {
|
|
2
|
+
hintLines,
|
|
3
|
+
splitHints
|
|
4
|
+
} from "./chunk-D5FY4FAK.js";
|
|
5
|
+
import {
|
|
6
|
+
isNotConnectedError,
|
|
7
|
+
writeJsonEnvelope
|
|
8
|
+
} from "./chunk-MGWAZXY6.js";
|
|
9
|
+
import {
|
|
10
|
+
ApiError,
|
|
11
|
+
apiPost
|
|
12
|
+
} from "./chunk-B2OHCWYB.js";
|
|
13
|
+
import {
|
|
14
|
+
requireChatId,
|
|
15
|
+
resolveChatId
|
|
16
|
+
} from "./chunk-E54435XT.js";
|
|
17
|
+
|
|
18
|
+
// src/commands/tag-manager/shared.ts
|
|
19
|
+
import { readFileSync } from "fs";
|
|
20
|
+
function failValidation(message) {
|
|
21
|
+
writeJsonEnvelope({ ok: false, error: { code: "VALIDATION_ERROR", message } });
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
function requireTarget(args, entity) {
|
|
25
|
+
const positional = Array.isArray(args._) ? args._[0] : void 0;
|
|
26
|
+
const target = args.id ?? args.target ?? positional;
|
|
27
|
+
if (typeof target !== "string" || target.length === 0) {
|
|
28
|
+
failValidation(`pass the ${entity} id or path as the positional argument`);
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
}
|
|
32
|
+
function loadJsonArg(args, flag = "json") {
|
|
33
|
+
const inline = args[flag];
|
|
34
|
+
const file = args.file;
|
|
35
|
+
const raw = typeof file === "string" && file.length > 0 ? readFileSync(file, "utf8") : typeof inline === "string" && inline.length > 0 ? inline : void 0;
|
|
36
|
+
if (raw === void 0) {
|
|
37
|
+
failValidation(`pass --${flag} with inline JSON or --file with a path to a JSON file`);
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const parsed = JSON.parse(raw);
|
|
41
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
42
|
+
failValidation(`--${flag} must be a JSON object`);
|
|
43
|
+
}
|
|
44
|
+
return parsed;
|
|
45
|
+
} catch {
|
|
46
|
+
return failValidation(`--${flag} is not valid JSON`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
var RETRYABLE_CODES = /* @__PURE__ */ new Set(["RATE_LIMITED", "UNAVAILABLE", "INTERNAL_ERROR", "NETWORK_ERROR", "TIMEOUT"]);
|
|
50
|
+
function handleError(err) {
|
|
51
|
+
if (err instanceof ApiError) {
|
|
52
|
+
writeJsonEnvelope({
|
|
53
|
+
ok: false,
|
|
54
|
+
error: {
|
|
55
|
+
code: err.code,
|
|
56
|
+
message: err.message,
|
|
57
|
+
...err.code === "UNAUTHORIZED" || err.code === "FORBIDDEN" && isNotConnectedError(err.code, err.message) ? {
|
|
58
|
+
fix: {
|
|
59
|
+
action: "request_connection",
|
|
60
|
+
explanation: 'Tag Manager is not connected for this company yet, or no container has been picked. Don\'t send the user to Settings \u2014 call the `request_connection` tool with { platform: "google-tag-manager", reason } and they connect and pick their containers (they can pick more than one) from inside the chat. `request_tag_input` is not the route: that form manages the container snippet on the site, not what runs inside the container, and it cannot pick a container. If the `request_connection` call fails, say so plainly and give the exact route: dashboard \u2192 Brain \u2192 Integrations \u2192 Platforms \u2192 Google Tag Manager, where they also pick the container. Then carry on with the rest of the task.'
|
|
61
|
+
}
|
|
62
|
+
} : {},
|
|
63
|
+
retryable: RETRYABLE_CODES.has(err.code)
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
writeJsonEnvelope({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error", retryable: true } });
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
var TAG_MANAGER_TIMEOUT_MS = 18e4;
|
|
72
|
+
var STAGE_HINTS = [
|
|
73
|
+
"Staged only \u2014 nothing has changed in Tag Manager yet. These apply when the chat completes, in dependency order, and close as a Tag Manager version that is then published, so they do go live on the user's site. Say the changes are ready and go live when they publish \u2014 not that they are live already."
|
|
74
|
+
];
|
|
75
|
+
async function stageOp(op) {
|
|
76
|
+
const chatId = requireChatId();
|
|
77
|
+
try {
|
|
78
|
+
const { data, hints } = splitHints(
|
|
79
|
+
await apiPost(
|
|
80
|
+
"/api/tag-manager/draft/stage",
|
|
81
|
+
{ chatId, op },
|
|
82
|
+
{ timeoutMs: TAG_MANAGER_TIMEOUT_MS }
|
|
83
|
+
)
|
|
84
|
+
);
|
|
85
|
+
writeJsonEnvelope({ ok: true, data, hints: [...hints, ...STAGE_HINTS] });
|
|
86
|
+
} catch (err) {
|
|
87
|
+
handleError(err);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async function draftAction(path, body, chat) {
|
|
91
|
+
const chatId = resolveChatId(chat);
|
|
92
|
+
try {
|
|
93
|
+
const { data, hints } = splitHints(
|
|
94
|
+
await apiPost(path, { chatId, ...body }, { timeoutMs: TAG_MANAGER_TIMEOUT_MS })
|
|
95
|
+
);
|
|
96
|
+
writeJsonEnvelope({ ok: true, data, ...hints.length > 0 ? { hints } : {} });
|
|
97
|
+
return data;
|
|
98
|
+
} catch (err) {
|
|
99
|
+
handleError(err);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function renderDraft(response) {
|
|
103
|
+
if (response.count === 0) {
|
|
104
|
+
return "No Tag Manager changes staged on this chat.";
|
|
105
|
+
}
|
|
106
|
+
const lines = [
|
|
107
|
+
response.status === "discarded" ? `${response.count} Tag Manager change(s) discarded with their chat \u2014 none will apply` : `${response.count} staged Tag Manager change(s)`,
|
|
108
|
+
...response.ops.flatMap((op) => {
|
|
109
|
+
const status = op.result ? ` [${op.result.status}]` : "";
|
|
110
|
+
return [` ${op.ref} ${op.summary}${status}`, ...(op.warnings ?? []).map((warning) => ` \u26A0 ${warning}`)];
|
|
111
|
+
})
|
|
112
|
+
];
|
|
113
|
+
if (response.versionId) {
|
|
114
|
+
lines.push(
|
|
115
|
+
"",
|
|
116
|
+
response.published ? `Applied and published as Tag Manager version ${response.versionId}. These changes are live on the site.` : `Applied into Tag Manager version ${response.versionId}. It is NOT published \u2014 publish it in Tag Manager to go live.`
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
if (response.compilerError) {
|
|
120
|
+
lines.push("", `Tag Manager reported a problem building the version: ${response.compilerError}`);
|
|
121
|
+
}
|
|
122
|
+
return lines.join("\n");
|
|
123
|
+
}
|
|
124
|
+
async function draftList(json, chat, full = false) {
|
|
125
|
+
const chatId = resolveChatId(chat);
|
|
126
|
+
try {
|
|
127
|
+
const response = await apiPost("/api/tag-manager/draft", {
|
|
128
|
+
chatId,
|
|
129
|
+
...full ? { full: true } : {}
|
|
130
|
+
});
|
|
131
|
+
const { data, hints } = splitHints(response);
|
|
132
|
+
if (json || full) {
|
|
133
|
+
writeJsonEnvelope({ ok: true, data, ...hints.length > 0 ? { hints } : {} });
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
process.stdout.write(`${renderDraft(data)}${hintLines(response)}
|
|
137
|
+
`);
|
|
138
|
+
} catch (err) {
|
|
139
|
+
handleError(err);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export {
|
|
144
|
+
requireTarget,
|
|
145
|
+
loadJsonArg,
|
|
146
|
+
handleError,
|
|
147
|
+
TAG_MANAGER_TIMEOUT_MS,
|
|
148
|
+
stageOp,
|
|
149
|
+
draftAction,
|
|
150
|
+
draftList
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=chunk-V2XA5SIO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/tag-manager/shared.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport type {\n TagManagerDraftListResponse,\n TagManagerDraftRemoveResponse,\n TagManagerDraftShowResponse,\n TagManagerDraftStageResponse,\n} from \"@baker/api/tag-manager\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { requireChatId, resolveChatId } from \"../../env.ts\";\nimport { isNotConnectedError } from \"../../error-handler.ts\";\nimport { hintLines, splitHints } from \"../ads/hints.ts\";\nimport { writeJsonEnvelope } from \"../ads/output.ts\";\n\n/**\n * Shared plumbing for the staged Tag Manager commands. Writes NEVER hit the\n * Tag Manager API directly: every command stages an op against this chat's\n * draft, and the whole draft applies when the chat is published — into the\n * container's working workspace, in dependency order, closing with a container\n * version that is published when every change applies cleanly.\n */\n\nexport function failValidation(message: string): never {\n writeJsonEnvelope({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\nexport function requireTarget(args: Record<string, unknown>, entity: string): string {\n const positional = Array.isArray(args._) ? args._[0] : undefined;\n const target = args.id ?? args.target ?? positional;\n if (typeof target !== \"string\" || target.length === 0) {\n failValidation(`pass the ${entity} id or path as the positional argument`);\n }\n return target;\n}\n\n/** `--json '<inline>'` or `--file <path>` → a parsed object. */\nexport function loadJsonArg(args: Record<string, unknown>, flag: \"patch\" | \"json\" = \"json\"): Record<string, unknown> {\n const inline = args[flag];\n const file = args.file;\n const raw =\n typeof file === \"string\" && file.length > 0\n ? readFileSync(file, \"utf8\")\n : typeof inline === \"string\" && inline.length > 0\n ? inline\n : undefined;\n if (raw === undefined) {\n failValidation(`pass --${flag} with inline JSON or --file with a path to a JSON file`);\n }\n try {\n const parsed: unknown = JSON.parse(raw);\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n failValidation(`--${flag} must be a JSON object`);\n }\n return parsed as Record<string, unknown>;\n } catch {\n return failValidation(`--${flag} is not valid JSON`);\n }\n}\n\n/**\n * Transient by nature — worth one more go. Saying so is the difference between\n * the agent retrying a blip and abandoning a multi-step job over one. Every\n * other code is a real answer that a second call returns again.\n */\nconst RETRYABLE_CODES = new Set([\"RATE_LIMITED\", \"UNAVAILABLE\", \"INTERNAL_ERROR\", \"NETWORK_ERROR\", \"TIMEOUT\"]);\n\n/**\n * The one error shape for the whole family.\n *\n * Only the 403s raised while resolving the company's container mean \"not\n * connected\", which is why the fix is keyed to the message and not just the\n * status: other 403s are real permission refusals a reconnect cannot fix.\n * `NOT_FOUND` deliberately does NOT trigger the connect form either — it is also\n * what a missing tag returns, and asking the user to reconnect a working\n * connection because a tag id was wrong wastes their time and fixes nothing.\n */\nexport function handleError(err: unknown): never {\n if (err instanceof ApiError) {\n writeJsonEnvelope({\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n ...(err.code === \"UNAUTHORIZED\" || (err.code === \"FORBIDDEN\" && isNotConnectedError(err.code, err.message))\n ? {\n fix: {\n action: \"request_connection\",\n explanation:\n \"Tag Manager is not connected for this company yet, or no container has been picked. Don't send \" +\n \"the user to Settings — call the `request_connection` tool with \" +\n '{ platform: \"google-tag-manager\", reason } and they connect and pick their containers (they can ' +\n \"pick more than one) from inside the chat. `request_tag_input` is not the route: that form \" +\n \"manages the container snippet on the \" +\n \"site, not what runs inside the container, and it cannot pick a container. If the \" +\n \"`request_connection` call fails, say so plainly and give the exact route: dashboard → Brain → \" +\n \"Integrations → Platforms → Google Tag Manager, where they also pick the container. Then carry on \" +\n \"with the rest of the task.\",\n },\n }\n : {}),\n retryable: RETRYABLE_CODES.has(err.code),\n },\n });\n process.exit(1);\n }\n writeJsonEnvelope({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\", retryable: true } });\n process.exit(1);\n}\n\n/**\n * Tag Manager allows Baker a few requests a second across every company, so a\n * call that reads the container can queue behind another company's publish. It\n * still finishes on the server, so giving up early only invites a repeat.\n */\nexport const TAG_MANAGER_TIMEOUT_MS = 180_000;\n\n/** Nudges returned after a stage so the agent's next step is obvious. */\nconst STAGE_HINTS = [\n \"Staged only — nothing has changed in Tag Manager yet. These apply when the chat completes, in dependency \" +\n \"order, and close as a Tag Manager version that is then published, so they do go live on the user's site. \" +\n \"Say the changes are ready and go live when they publish — not that they are live already.\",\n];\n\nexport async function stageOp(op: Record<string, unknown>): Promise<void> {\n const chatId = requireChatId();\n try {\n const { data, hints } = splitHints(\n await apiPost<TagManagerDraftStageResponse>(\n \"/api/tag-manager/draft/stage\",\n { chatId, op },\n { timeoutMs: TAG_MANAGER_TIMEOUT_MS },\n ),\n );\n writeJsonEnvelope({ ok: true, data, hints: [...hints, ...STAGE_HINTS] });\n } catch (err) {\n handleError(err);\n }\n}\n\nexport async function draftAction(\n path: string,\n body: Record<string, unknown>,\n chat?: unknown,\n): Promise<TagManagerDraftRemoveResponse | TagManagerDraftShowResponse | Record<string, unknown>> {\n const chatId = resolveChatId(chat);\n try {\n const { data, hints } = splitHints(\n await apiPost<Record<string, unknown>>(path, { chatId, ...body }, { timeoutMs: TAG_MANAGER_TIMEOUT_MS }),\n );\n writeJsonEnvelope({ ok: true, data, ...(hints.length > 0 ? { hints } : {}) });\n return data;\n } catch (err) {\n handleError(err);\n }\n}\n\n/** A compact, readable view of everything staged on this chat. */\nexport function renderDraft(response: TagManagerDraftListResponse): string {\n if (response.count === 0) {\n return \"No Tag Manager changes staged on this chat.\";\n }\n const lines = [\n response.status === \"discarded\"\n ? `${response.count} Tag Manager change(s) discarded with their chat — none will apply`\n : `${response.count} staged Tag Manager change(s)`,\n ...response.ops.flatMap((op) => {\n const status = op.result ? ` [${op.result.status}]` : \"\";\n return [` ${op.ref} ${op.summary}${status}`, ...(op.warnings ?? []).map((warning) => ` ⚠ ${warning}`)];\n }),\n ];\n if (response.versionId) {\n lines.push(\n \"\",\n response.published\n ? `Applied and published as Tag Manager version ${response.versionId}. These changes are live on the site.`\n : `Applied into Tag Manager version ${response.versionId}. It is NOT published — publish it in Tag Manager to go live.`,\n );\n }\n if (response.compilerError) {\n lines.push(\"\", `Tag Manager reported a problem building the version: ${response.compilerError}`);\n }\n return lines.join(\"\\n\");\n}\n\nexport async function draftList(json: boolean, chat?: unknown, full = false): Promise<void> {\n const chatId = resolveChatId(chat);\n try {\n const response = await apiPost<TagManagerDraftListResponse>(\"/api/tag-manager/draft\", {\n chatId,\n ...(full ? { full: true } : {}),\n });\n const { data, hints } = splitHints(response);\n if (json || full) {\n writeJsonEnvelope({ ok: true, data, ...(hints.length > 0 ? { hints } : {}) });\n return;\n }\n process.stdout.write(`${renderDraft(data)}${hintLines(response)}\\n`);\n } catch (err) {\n handleError(err);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAS,oBAAoB;AAqBtB,SAAS,eAAe,SAAwB;AACrD,oBAAkB,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,QAAQ,EAAE,CAAC;AAC7E,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,cAAc,MAA+B,QAAwB;AACnF,QAAM,aAAa,MAAM,QAAQ,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI;AACvD,QAAM,SAAS,KAAK,MAAM,KAAK,UAAU;AACzC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,GAAG;AACrD,mBAAe,YAAY,MAAM,wCAAwC;AAAA,EAC3E;AACA,SAAO;AACT;AAGO,SAAS,YAAY,MAA+B,OAAyB,QAAiC;AACnH,QAAM,SAAS,KAAK,IAAI;AACxB,QAAM,OAAO,KAAK;AAClB,QAAM,MACJ,OAAO,SAAS,YAAY,KAAK,SAAS,IACtC,aAAa,MAAM,MAAM,IACzB,OAAO,WAAW,YAAY,OAAO,SAAS,IAC5C,SACA;AACR,MAAI,QAAQ,QAAW;AACrB,mBAAe,UAAU,IAAI,wDAAwD;AAAA,EACvF;AACA,MAAI;AACF,UAAM,SAAkB,KAAK,MAAM,GAAG;AACtC,QAAI,CAAC,UAAU,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,GAAG;AAClE,qBAAe,KAAK,IAAI,wBAAwB;AAAA,IAClD;AACA,WAAO;AAAA,EACT,QAAQ;AACN,WAAO,eAAe,KAAK,IAAI,oBAAoB;AAAA,EACrD;AACF;AAOA,IAAM,kBAAkB,oBAAI,IAAI,CAAC,gBAAgB,eAAe,kBAAkB,iBAAiB,SAAS,CAAC;AAYtG,SAAS,YAAY,KAAqB;AAC/C,MAAI,eAAe,UAAU;AAC3B,sBAAkB;AAAA,MAChB,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,MAAM,IAAI;AAAA,QACV,SAAS,IAAI;AAAA,QACb,GAAI,IAAI,SAAS,kBAAmB,IAAI,SAAS,eAAe,oBAAoB,IAAI,MAAM,IAAI,OAAO,IACrG;AAAA,UACE,KAAK;AAAA,YACH,QAAQ;AAAA,YACR,aACE;AAAA,UASJ;AAAA,QACF,IACA,CAAC;AAAA,QACL,WAAW,gBAAgB,IAAI,IAAI,IAAI;AAAA,MACzC;AAAA,IACF,CAAC;AACD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,oBAAkB,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,iBAAiB,SAAS,oBAAoB,WAAW,KAAK,EAAE,CAAC;AAC/G,UAAQ,KAAK,CAAC;AAChB;AAOO,IAAM,yBAAyB;AAGtC,IAAM,cAAc;AAAA,EAClB;AAGF;AAEA,eAAsB,QAAQ,IAA4C;AACxE,QAAM,SAAS,cAAc;AAC7B,MAAI;AACF,UAAM,EAAE,MAAM,MAAM,IAAI;AAAA,MACtB,MAAM;AAAA,QACJ;AAAA,QACA,EAAE,QAAQ,GAAG;AAAA,QACb,EAAE,WAAW,uBAAuB;AAAA,MACtC;AAAA,IACF;AACA,sBAAkB,EAAE,IAAI,MAAM,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,WAAW,EAAE,CAAC;AAAA,EACzE,SAAS,KAAK;AACZ,gBAAY,GAAG;AAAA,EACjB;AACF;AAEA,eAAsB,YACpB,MACA,MACA,MACgG;AAChG,QAAM,SAAS,cAAc,IAAI;AACjC,MAAI;AACF,UAAM,EAAE,MAAM,MAAM,IAAI;AAAA,MACtB,MAAM,QAAiC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,EAAE,WAAW,uBAAuB,CAAC;AAAA,IACzG;AACA,sBAAkB,EAAE,IAAI,MAAM,MAAM,GAAI,MAAM,SAAS,IAAI,EAAE,MAAM,IAAI,CAAC,EAAG,CAAC;AAC5E,WAAO;AAAA,EACT,SAAS,KAAK;AACZ,gBAAY,GAAG;AAAA,EACjB;AACF;AAGO,SAAS,YAAY,UAA+C;AACzE,MAAI,SAAS,UAAU,GAAG;AACxB,WAAO;AAAA,EACT;AACA,QAAM,QAAQ;AAAA,IACZ,SAAS,WAAW,cAChB,GAAG,SAAS,KAAK,4EACjB,GAAG,SAAS,KAAK;AAAA,IACrB,GAAG,SAAS,IAAI,QAAQ,CAAC,OAAO;AAC9B,YAAM,SAAS,GAAG,SAAS,KAAK,GAAG,OAAO,MAAM,MAAM;AACtD,aAAO,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,IAAI,IAAI,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,cAAS,OAAO,EAAE,CAAC;AAAA,IAC5G,CAAC;AAAA,EACH;AACA,MAAI,SAAS,WAAW;AACtB,UAAM;AAAA,MACJ;AAAA,MACA,SAAS,YACL,gDAAgD,SAAS,SAAS,0CAClE,oCAAoC,SAAS,SAAS;AAAA,IAC5D;AAAA,EACF;AACA,MAAI,SAAS,eAAe;AAC1B,UAAM,KAAK,IAAI,wDAAwD,SAAS,aAAa,EAAE;AAAA,EACjG;AACA,SAAO,MAAM,KAAK,IAAI;AACxB;AAEA,eAAsB,UAAU,MAAe,MAAgB,OAAO,OAAsB;AAC1F,QAAM,SAAS,cAAc,IAAI;AACjC,MAAI;AACF,UAAM,WAAW,MAAM,QAAqC,0BAA0B;AAAA,MACpF;AAAA,MACA,GAAI,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAAA,IAC/B,CAAC;AACD,UAAM,EAAE,MAAM,MAAM,IAAI,WAAW,QAAQ;AAC3C,QAAI,QAAQ,MAAM;AAChB,wBAAkB,EAAE,IAAI,MAAM,MAAM,GAAI,MAAM,SAAS,IAAI,EAAE,MAAM,IAAI,CAAC,EAAG,CAAC;AAC5E;AAAA,IACF;AACA,YAAQ,OAAO,MAAM,GAAG,YAAY,IAAI,CAAC,GAAG,UAAU,QAAQ,CAAC;AAAA,CAAI;AAAA,EACrE,SAAS,KAAK;AACZ,gBAAY,GAAG;AAAA,EACjB;AACF;","names":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
REF_PREFIX
|
|
3
|
+
} from "./chunk-XYNQMRNX.js";
|
|
4
|
+
|
|
5
|
+
// src/commands/canvas/node-preview.ts
|
|
6
|
+
var MAX_PARAMS_PREVIEW_LENGTH = 4e3;
|
|
7
|
+
var SPEC_KEYS = [
|
|
8
|
+
"model",
|
|
9
|
+
"format",
|
|
10
|
+
"mode",
|
|
11
|
+
"aspect_ratio",
|
|
12
|
+
"image_size",
|
|
13
|
+
"resolution",
|
|
14
|
+
"duration",
|
|
15
|
+
"subject_type",
|
|
16
|
+
"font_size",
|
|
17
|
+
"expect",
|
|
18
|
+
"source",
|
|
19
|
+
"path",
|
|
20
|
+
"url"
|
|
21
|
+
];
|
|
22
|
+
var BODY_KEYS = ["prompt", "text", "subject_description"];
|
|
23
|
+
function scalarField(params, key) {
|
|
24
|
+
const value = params[key];
|
|
25
|
+
if (typeof value === "number") return String(value);
|
|
26
|
+
if (typeof value !== "string") return void 0;
|
|
27
|
+
const trimmed = value.trim();
|
|
28
|
+
return trimmed && !trimmed.startsWith(REF_PREFIX) ? trimmed : void 0;
|
|
29
|
+
}
|
|
30
|
+
function compactJson(params) {
|
|
31
|
+
try {
|
|
32
|
+
const json = JSON.stringify(params);
|
|
33
|
+
return json && json !== "{}" ? json : void 0;
|
|
34
|
+
} catch {
|
|
35
|
+
return void 0;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function cap(text) {
|
|
39
|
+
return text.length > MAX_PARAMS_PREVIEW_LENGTH ? `${text.slice(0, MAX_PARAMS_PREVIEW_LENGTH - 1)}\u2026` : text;
|
|
40
|
+
}
|
|
41
|
+
function nodeParamsPreview(params, deps) {
|
|
42
|
+
const refsLine = deps && deps.length > 0 ? `refs: ${deps.join(", ")}` : void 0;
|
|
43
|
+
if (!params || typeof params !== "object") return refsLine;
|
|
44
|
+
const own = params;
|
|
45
|
+
const nested = (key) => own[key] && typeof own[key] === "object" && !Array.isArray(own[key]) ? own[key] : {};
|
|
46
|
+
const record = { ...nested("paint"), ...nested("words"), ...own };
|
|
47
|
+
const spec = [];
|
|
48
|
+
for (const key of SPEC_KEYS) {
|
|
49
|
+
const value = scalarField(record, key);
|
|
50
|
+
if (value !== void 0) spec.push(`${key}: ${value}`);
|
|
51
|
+
}
|
|
52
|
+
if (refsLine) spec.push(refsLine);
|
|
53
|
+
const body = BODY_KEYS.map((key) => scalarField(record, key)).find(Boolean);
|
|
54
|
+
const header = spec.join("\n");
|
|
55
|
+
const composed = header && body ? `${header}
|
|
56
|
+
|
|
57
|
+
${body}` : header || body || compactJson(record);
|
|
58
|
+
return composed ? cap(composed) : void 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
nodeParamsPreview
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=chunk-VOUCQ2YW.js.map
|