@koda-sl/baker-cli 0.447.0-dev.f5788a631 → 0.447.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 +14 -10
- package/dist/account-2ZMZFPIU.js +79 -0
- package/dist/account-F6MHQ64I.js +80 -0
- package/dist/account-writes-ISE4U2FQ.js +66 -0
- package/dist/accounts-RHGN5WMU.js +611 -0
- package/dist/accounts-VINHZRWA.js +77 -0
- package/dist/actions-5F4ZP6M4.js +55 -0
- package/dist/ad-group-writes-UU5NNKSO.js +170 -0
- package/dist/ad-groups-CGFXZNIA.js +68 -0
- package/dist/ad-writes-NALDYWOR.js +174 -0
- package/dist/add-KBPMSK2P.js +104 -0
- package/dist/add-OGH4DZZ5.js +280 -0
- package/dist/ads-56OWZBXZ.js +40 -0
- package/dist/ads-H7GH7A26.js +113 -0
- package/dist/ads-PV7GZXPR.js +77 -0
- package/dist/adsets-H7QT42U6.js +176 -0
- package/dist/advertisers-PM4WPG4N.js +120 -0
- package/dist/advertisers-PM4WPG4N.js.map +1 -0
- package/dist/analytics-5FALU2GL.js +433 -0
- package/dist/analytics-JVZKN735.js +1958 -0
- package/dist/animate-FWWHSYPL.js +480 -0
- package/dist/assign-KLYZ6USE.js +77 -0
- package/dist/audience-size-JHB42DB4.js +94 -0
- package/dist/audiences-JACGRBNN.js +78 -0
- package/dist/audiences-VEKGLWBG.js +268 -0
- package/dist/audit-5XH7WZIM.js +151 -0
- package/dist/autocomplete-7F3PZLEY.js +111 -0
- package/dist/autocomplete-7F3PZLEY.js.map +1 -0
- package/dist/avatars-N4SRNQI7.js +38 -0
- package/dist/bid-pricing-VYLVGU26.js +99 -0
- package/dist/brand-ASBS2HZM.js +22 -0
- package/dist/brief-JSZKDPGU.js +477 -0
- package/dist/brief-JSZKDPGU.js.map +1 -0
- package/dist/campaign-groups-ATE2DE4V.js +95 -0
- package/dist/campaign-writes-ETT57KLQ.js +165 -0
- package/dist/campaign-writes-SX52CJYW.js +170 -0
- package/dist/campaigns-FGBAS6AZ.js +107 -0
- package/dist/campaigns-J6VZBIV6.js +109 -0
- package/dist/campaigns-WBEG5QA4.js +110 -0
- package/dist/campaigns-X3DPCCSN.js +76 -0
- package/dist/canvas-K7IN7HLO.js +46 -0
- package/dist/capabilities-RDAERPYY.js +144 -0
- package/dist/catalog-MENVHL5U.js +65 -0
- package/dist/catalog-MENVHL5U.js.map +1 -0
- package/dist/catalogs-G3YEVG6S.js +128 -0
- package/dist/changes-TP7ZZHB3.js +135 -0
- package/dist/chatgpt-QNUN63YS.js +47 -0
- package/dist/chats-YIAQGQ3X.js +262 -0
- package/dist/chunk-2GK33EJV.js +382 -0
- package/dist/chunk-35XWJEWH.js +274 -0
- package/dist/chunk-3CWL2LY4.js +206 -0
- package/dist/chunk-3CWL2LY4.js.map +1 -0
- package/dist/chunk-4NBVGARW.js +1079 -0
- package/dist/chunk-5R5ADJ47.js +2880 -0
- package/dist/chunk-5R5ADJ47.js.map +1 -0
- package/dist/chunk-65RIB7A6.js +592 -0
- package/dist/chunk-6DB2B3GF.js +175 -0
- package/dist/chunk-7SDFKGQ4.js +363 -0
- package/dist/chunk-ACANMASG.js +19 -0
- package/dist/chunk-ALTBBAYU.js +96 -0
- package/dist/chunk-ANCSKUWI.js +433 -0
- package/dist/chunk-AWMFUGVX.js +160 -0
- package/dist/chunk-AWMFUGVX.js.map +1 -0
- package/dist/chunk-BA7FDXQC.js +197 -0
- package/dist/chunk-BNCW67EM.js +534 -0
- package/dist/chunk-BSC33FLJ.js +217 -0
- package/dist/chunk-CHSNHVYF.js +3182 -0
- package/dist/chunk-CHSNHVYF.js.map +1 -0
- package/dist/chunk-DKGTQSLR.js +310 -0
- package/dist/chunk-DR34ZTWD.js +207 -0
- package/dist/chunk-E4MDJBLO.js +163 -0
- package/dist/chunk-EH4C4CZK.js +455 -0
- package/dist/chunk-FXED3VZK.js +174 -0
- package/dist/chunk-G7UTTEBS.js +337 -0
- package/dist/chunk-GATKK4RJ.js +440 -0
- package/dist/chunk-GATKK4RJ.js.map +1 -0
- package/dist/chunk-GIJT3A5U.js +166 -0
- package/dist/chunk-GX6VAHY7.js +830 -0
- package/dist/chunk-HIPDMQZ6.js +136 -0
- package/dist/chunk-HQSCJYZO.js +26 -0
- package/dist/chunk-HZ5DR5MX.js +51 -0
- package/dist/chunk-I4NEHDSD.js +813 -0
- package/dist/chunk-I4NEHDSD.js.map +1 -0
- package/dist/chunk-IM52NHGL.js +390 -0
- package/dist/chunk-JF47LEPU.js +5163 -0
- package/dist/chunk-JF47LEPU.js.map +1 -0
- package/dist/chunk-K3PN7TN5.js +84 -0
- package/dist/chunk-KBP7WJQB.js +446 -0
- package/dist/chunk-KBP7WJQB.js.map +1 -0
- package/dist/chunk-KLBTXETO.js +23992 -0
- package/dist/chunk-KLBTXETO.js.map +1 -0
- package/dist/chunk-KNWHUMVZ.js +4381 -0
- package/dist/chunk-KNWHUMVZ.js.map +1 -0
- package/dist/chunk-KQTYTCKQ.js +98 -0
- package/dist/chunk-LIQ4SQ2T.js +150 -0
- package/dist/chunk-LW4VSTL5.js +304 -0
- package/dist/chunk-LW4VSTL5.js.map +1 -0
- package/dist/chunk-MADAAZZV.js +169 -0
- package/dist/chunk-MLU6STIN.js +66 -0
- package/dist/chunk-NDXBU22S.js +6145 -0
- package/dist/chunk-NDXBU22S.js.map +1 -0
- package/dist/chunk-NE4F3FHN.js +1854 -0
- package/dist/chunk-NE4F3FHN.js.map +1 -0
- package/dist/chunk-OTFHEHIU.js +1706 -0
- package/dist/chunk-OTFHEHIU.js.map +1 -0
- package/dist/chunk-PDTB5EX6.js +57 -0
- package/dist/chunk-SB3GZFCV.js +622 -0
- package/dist/chunk-T3BDNJIX.js +494 -0
- package/dist/chunk-TEINLN64.js +649 -0
- package/dist/chunk-TEINLN64.js.map +1 -0
- package/dist/chunk-TIOQ7ZFQ.js +496 -0
- package/dist/chunk-U3HAMW5W.js +133 -0
- package/dist/chunk-U6SYRIOB.js +486 -0
- package/dist/chunk-UC6BWM5J.js +159 -0
- package/dist/chunk-ULJ5RFOV.js +76 -0
- package/dist/chunk-VAISMQQB.js +346 -0
- package/dist/chunk-VB6WJJR3.js +1830 -0
- package/dist/chunk-VB6WJJR3.js.map +1 -0
- package/dist/chunk-VDHQJ6HD.js +23 -0
- package/dist/chunk-VMDAXFRI.js +111 -0
- package/dist/chunk-WNFIJAUO.js +98 -0
- package/dist/chunk-WNFIJAUO.js.map +1 -0
- package/dist/chunk-XCM6XWOB.js +417 -0
- package/dist/chunk-XMD4SHFI.js +60 -0
- package/dist/chunk-Y6QAJNKP.js +1411 -0
- package/dist/chunk-YBP7O5P4.js +103 -0
- package/dist/chunk-YC2TQ3VC.js +297 -0
- package/dist/chunk-YPZYOJP6.js +6664 -0
- package/dist/chunk-YPZYOJP6.js.map +1 -0
- package/dist/chunk-ZPU3WDVK.js +92 -0
- package/dist/claim-V4F5GZJK.js +197 -0
- package/dist/cli.js +29 -29
- package/dist/companies-NJGJ7XNN.js +195 -0
- package/dist/complete-MGNF5OAK.js +81 -0
- package/dist/connect-PJOTRTT4.js +36 -0
- package/dist/conversation-4DM26FRD.js +93 -0
- package/dist/conversion-report-N4HANYOB.js +125 -0
- package/dist/conversion-upload-command-TZTHU2CD.js +438 -0
- package/dist/conversion-writes-LW4HQKK5.js +120 -0
- package/dist/conversions-JGECVZSY.js +135 -0
- package/dist/conversions-TS723AZV.js +76 -0
- package/dist/countries-ESAKTQAE.js +82 -0
- package/dist/create-DSGQFBI7.js +207 -0
- package/dist/create-I2KVDTCQ.js +59 -0
- package/dist/create-SBQWVLXG.js +130 -0
- package/dist/create-WOHPIGBK.js +235 -0
- package/dist/creatives-4JGVZQGC.js +182 -0
- package/dist/creatives-DWO5KEQC.js +51 -0
- package/dist/creatives-PSWCNY7U.js +87 -0
- package/dist/credentials-UULYCN2L.js +1055 -0
- package/dist/credentials-UULYCN2L.js.map +1 -0
- package/dist/critique-NGMZK5LX.js +213 -0
- package/dist/critique-NGMZK5LX.js.map +1 -0
- package/dist/critique-TIZJ5GFM.js +1449 -0
- package/dist/crm-2WAR565U.js +224 -0
- package/dist/crm-VDXUO2YU.js +318 -0
- package/dist/currency-XCGKQ7FE.js +88 -0
- package/dist/custom-conversions-6P555U2K.js +125 -0
- package/dist/customers-ATENMXDO.js +56 -0
- package/dist/delete-AVMZYNVT.js +54 -0
- package/dist/delete-H744GNS4.js +63 -0
- package/dist/delete-OEYPFATY.js +66 -0
- package/dist/demographics-M5LJF3RZ.js +138 -0
- package/dist/discard-72I6SM7G.js +66 -0
- package/dist/discover-BJPZNXUQ.js +172 -0
- package/dist/domain-R4EIZD2W.js +98 -0
- package/dist/draft-34C3F5U4.js +217 -0
- package/dist/draft-BBFJNZ5X.js +328 -0
- package/dist/draft-BV2QRPZ4.js +107 -0
- package/dist/draft-THPZFASM.js +281 -0
- package/dist/draft-YYYRWF7M.js +306 -0
- package/dist/engine/index.d.ts +0 -12
- package/dist/engine/index.js +6 -7
- package/dist/facets-F2H52MS4.js +114 -0
- package/dist/feedback-IQKKT4MC.js +66 -0
- package/dist/feedback-IQKKT4MC.js.map +1 -0
- package/dist/feedback-record-UZV4Y7UD.js +175 -0
- package/dist/feedback-record-UZV4Y7UD.js.map +1 -0
- package/dist/fetch-ZUAZPLAE.js +176 -0
- package/dist/fetch-ZUAZPLAE.js.map +1 -0
- package/dist/fit-2CA4JH7N.js +45 -0
- package/dist/flows-CWXCXEUD.js +244 -0
- package/dist/follow-FN7LV3WV.js +82 -0
- package/dist/follow-competitors-MKXFHLXB.js +131 -0
- package/dist/fonts-F2XUCIIW.js +34 -0
- package/dist/forecast-IDKJYM2B.js +104 -0
- package/dist/funnel-RLGQGYKO.js +837 -0
- package/dist/generate-MMBYB44G.js +262 -0
- package/dist/get-C6UQ22HH.js +54 -0
- package/dist/get-EEUR6SAW.js +78 -0
- package/dist/google-35GDU3G3.js +1872 -0
- package/dist/google-35GDU3G3.js.map +1 -0
- package/dist/google-ads-Q37I2D5P.js +195 -0
- package/dist/google-ads-Q37I2D5P.js.map +1 -0
- package/dist/history-4II5QA4B.js +133 -0
- package/dist/history-DBIEYQHY.js +67 -0
- package/dist/hubspot-TTITJFBO.js +779 -0
- package/dist/ideas-V4Q6JDKV.js +32 -0
- package/dist/images-SP5REF6E.js +90 -0
- package/dist/ingest-574GIFAR.js +107 -0
- package/dist/ingest-IC4T76W6.js +23 -0
- package/dist/insights-ZIU6FJMS.js +122 -0
- package/dist/inspect-ATHYY6A2.js +189 -0
- package/dist/inspiration-P265QJ2H.js +53 -0
- package/dist/intent-E3UIVZBN.js +95 -0
- package/dist/keyword-gap-BG6M665A.js +130 -0
- package/dist/keyword-metrics-J4UPUDN7.js +197 -0
- package/dist/keywords-for-site-MWADFEO2.js +128 -0
- package/dist/keywords-for-site-MWADFEO2.js.map +1 -0
- package/dist/landing-R6DN7XLK.js +28 -0
- package/dist/languages-HORKPDNH.js +40 -0
- package/dist/languages-JSGWCC7Z.js +55 -0
- package/dist/leads-7EVHMNUF.js +293 -0
- package/dist/leads-JM6HUERX.js +90 -0
- package/dist/learn-LGS2F5TR.js +203 -0
- package/dist/learn-LGS2F5TR.js.map +1 -0
- package/dist/lighthouse-6ZC45E53.js +75 -0
- package/dist/line-item-writes-KUYEXSIH.js +208 -0
- package/dist/line-items-GIWLP3FL.js +103 -0
- package/dist/link-PVM7XJQI.js +64 -0
- package/dist/linkedin-WX54EAX6.js +1008 -0
- package/dist/list-4ZKQZBCL.js +151 -0
- package/dist/list-MCEFXC6L.js +63 -0
- package/dist/list-WR7QYTON.js +303 -0
- package/dist/locations-74TPQWAT.js +67 -0
- package/dist/locations-J4G5RNPH.js +40 -0
- package/dist/log-U6IWZGOF.js +92 -0
- package/dist/make-RXFHEGUI.js +593 -0
- package/dist/make-RXFHEGUI.js.map +1 -0
- package/dist/map-TWL7T4KP.js +404 -0
- package/dist/mcp-HVAVJGGS.js +476 -0
- package/dist/media-M7E6V2XU.js +15 -0
- package/dist/media-sources-JWGO23BZ.js +32 -0
- package/dist/members-5FAW4YE7.js +44 -0
- package/dist/meta-EZ4SY25M.js +69 -0
- package/dist/metrics-SQDJ5NQO.js +152 -0
- package/dist/models-7U3GRYHF.js +155 -0
- package/dist/normalize-GW4GZNVY.js +138 -0
- package/dist/options-NSUCENLU.js +121 -0
- package/dist/performance-FGCDWHMC.js +24 -0
- package/dist/pixels-45A55MOP.js +60 -0
- package/dist/promoted-tweet-writes-BPWTDESL.js +180 -0
- package/dist/promoted-tweets-OS3NHYVE.js +119 -0
- package/dist/publish-SXZEWBVJ.js +322 -0
- package/dist/query-IEZRY6HV.js +1341 -0
- package/dist/reddit-TF6K37SB.js +26 -0
- package/dist/refresh-APVDWXRZ.js +94 -0
- package/dist/release-32SEJU4L.js +60 -0
- package/dist/relevant-pages-OWMNUCP7.js +99 -0
- package/dist/remove-U64GTHLQ.js +50 -0
- package/dist/reopen-5VS233SF.js +63 -0
- package/dist/rerun-7Z45QOOO.js +85 -0
- package/dist/rerun-7Z45QOOO.js.map +1 -0
- package/dist/research-O7CJV5IS.js +62 -0
- package/dist/research-O7CJV5IS.js.map +1 -0
- package/dist/research-QYSQ6LW4.js +262 -0
- package/dist/reset-22FC7BXQ.js +54 -0
- package/dist/reset-47B5VPT4.js +54 -0
- package/dist/resolve-7KQGVTQT.js +121 -0
- package/dist/retry-J5UVLS72.js +62 -0
- package/dist/retry-UJ5UF4BM.js +60 -0
- package/dist/run-SI4FA32F.js +65 -0
- package/dist/run-TFLFBQU2.js +60 -0
- package/dist/scaffold-ad-SEXNE2K6.js +1549 -0
- package/dist/scaffold-ad-SEXNE2K6.js.map +1 -0
- package/dist/scaffold-static-ad-VBOL6CLN.js +966 -0
- package/dist/scaffold-static-ad-VBOL6CLN.js.map +1 -0
- package/dist/scaffold-video-Z37MIBDI.js +873 -0
- package/dist/scaffold-video-Z37MIBDI.js.map +1 -0
- package/dist/schedule-52ZM4KRQ.js +61 -0
- package/dist/scheduled-agents-PCWCQAKP.js +49 -0
- package/dist/schema-FY6ORDXZ.js +129 -0
- package/dist/search-NS7XNRZC.js +174 -0
- package/dist/search-UO5KJTYS.js +26 -0
- package/dist/select-4XCYVV2G.js +94 -0
- package/dist/select-4XCYVV2G.js.map +1 -0
- package/dist/set-prompt-TRJBYA3D.js +186 -0
- package/dist/set-prompt-TRJBYA3D.js.map +1 -0
- package/dist/setup-links-V3URI7DL.js +141 -0
- package/dist/site-WIQ7SSU3.js +177 -0
- package/dist/sources-DWJXOLEH.js +421 -0
- package/dist/sources-L453U5MT.js +30 -0
- package/dist/stale-6OVG6VME.js +63 -0
- package/dist/stale-6OVG6VME.js.map +1 -0
- package/dist/status-WXWU54WR.js +62 -0
- package/dist/studio-C5K3YX3P.js +49 -0
- package/dist/sync-CDZUTGV3.js +54 -0
- package/dist/sync-definition-BAJQUBE3.js +53 -0
- package/dist/tag-manager-DYZUOIAS.js +43 -0
- package/dist/tags-6RY23XOG.js +20 -0
- package/dist/tags-BHFQWNPL.js +224 -0
- package/dist/tags-SG3NVC3J.js +26 -0
- package/dist/tags-VN5HTL35.js +20 -0
- package/dist/tags-WR6PDIDR.js +20 -0
- package/dist/targeting-criteria-5EXP2NXF.js +113 -0
- package/dist/targets-WUVEJPSD.js +102 -0
- package/dist/templates-LOJQX2NG.js +178 -0
- package/dist/testimonials-6M5DXORT.js +32 -0
- package/dist/top-companies-E2OMMPSV.js +108 -0
- package/dist/translate-AW4CUKDA.js +598 -0
- package/dist/translate-AW4CUKDA.js.map +1 -0
- package/dist/triggers-MRXIDCSN.js +141 -0
- package/dist/unlink-HNL747YM.js +67 -0
- package/dist/unstage-OL2JDCLK.js +84 -0
- package/dist/update-4KGIT4BF.js +142 -0
- package/dist/update-JPBUF7M2.js +98 -0
- package/dist/update-RTTC3SAK.js +155 -0
- package/dist/update-YNNRX5B2.js +63 -0
- package/dist/upload-UIXPCSXJ.js +126 -0
- package/dist/url-options-GGXAL3J4.js +127 -0
- package/dist/url-params-K47CE7Y5.js +98 -0
- package/dist/validate-TD2BY4VE.js +89 -0
- package/dist/validate-TD2BY4VE.js.map +1 -0
- package/dist/videos-BP3BKNTY.js +39 -0
- package/dist/viewer-check-HFRUJ4ZU.js +69 -0
- package/dist/web-RPSGFN4U.js +140 -0
- package/dist/web-RPSGFN4U.js.map +1 -0
- package/dist/winning-ads-WUENRDVJ.js +62 -0
- package/dist/write-commands-4WARNR2T.js +1015 -0
- package/dist/write-commands-TAYGTJEZ.js +737 -0
- package/dist/x-VZCELH3P.js +47 -0
- package/package.json +1 -1
- package/dist/account-4H7QVBRK.js +0 -80
- package/dist/account-PCEZQUK7.js +0 -79
- package/dist/account-writes-AK42HGRM.js +0 -66
- package/dist/accounts-5AXLYU7P.js +0 -77
- package/dist/accounts-OSXDZZLY.js +0 -611
- package/dist/actions-HM4VVTGW.js +0 -55
- package/dist/ad-group-writes-QQS4223F.js +0 -170
- package/dist/ad-groups-WGPDPUI2.js +0 -68
- package/dist/ad-writes-XE2IE4DS.js +0 -174
- package/dist/add-4J2EF54O.js +0 -104
- package/dist/add-VZAY57M4.js +0 -280
- package/dist/ads-6UEDYT3O.js +0 -113
- package/dist/ads-BCOSQALY.js +0 -77
- package/dist/ads-NUME2UXH.js +0 -40
- package/dist/adsets-Q5DWGANV.js +0 -176
- package/dist/advertisers-WSNHNCBQ.js +0 -116
- package/dist/advertisers-WSNHNCBQ.js.map +0 -1
- package/dist/analytics-PHU7H5VY.js +0 -433
- package/dist/analytics-QTR2ZITZ.js +0 -1958
- package/dist/animate-3Z7HXOLE.js +0 -480
- package/dist/assign-IIAVNATI.js +0 -77
- package/dist/audience-size-2L7XMYJL.js +0 -94
- package/dist/audiences-AMRFZRZ7.js +0 -78
- package/dist/audiences-TGD5US2M.js +0 -268
- package/dist/audit-ZCUFJLUG.js +0 -151
- package/dist/autocomplete-6PYFCOMX.js +0 -107
- package/dist/autocomplete-6PYFCOMX.js.map +0 -1
- package/dist/avatars-OEK3FYKK.js +0 -38
- package/dist/bid-pricing-FDW3IY6G.js +0 -99
- package/dist/brand-OXYFSNA5.js +0 -22
- package/dist/brief-TBSXPEXI.js +0 -478
- package/dist/brief-TBSXPEXI.js.map +0 -1
- package/dist/campaign-groups-5GCFQT2W.js +0 -95
- package/dist/campaign-writes-3SJQSCUK.js +0 -165
- package/dist/campaign-writes-SXLZFYF6.js +0 -170
- package/dist/campaigns-7QDDWZ76.js +0 -107
- package/dist/campaigns-D6B6Z67Y.js +0 -110
- package/dist/campaigns-SYEOFKFV.js +0 -109
- package/dist/campaigns-YS3OGQXO.js +0 -76
- package/dist/canvas-B6DPRQGN.js +0 -46
- package/dist/capabilities-GVHPHH2G.js +0 -144
- package/dist/catalog-TNNG66MH.js +0 -66
- package/dist/catalog-TNNG66MH.js.map +0 -1
- package/dist/catalogs-BRXEDE56.js +0 -128
- package/dist/changes-6QBJMGJC.js +0 -135
- package/dist/chatgpt-7W75X3ER.js +0 -47
- package/dist/chats-54CWM7DL.js +0 -262
- package/dist/chunk-2SCPDSFN.js +0 -150
- package/dist/chunk-3X3446TG.js +0 -169
- package/dist/chunk-4SJDDGPV.js +0 -1411
- package/dist/chunk-4SNOWJV7.js +0 -103
- package/dist/chunk-5EEDEVOR.js +0 -486
- package/dist/chunk-5VC6IK7B.js +0 -390
- package/dist/chunk-654U6NU6.js +0 -534
- package/dist/chunk-6HJAHLLA.js +0 -6086
- package/dist/chunk-6HJAHLLA.js.map +0 -1
- package/dist/chunk-6TCDQSM7.js +0 -111
- package/dist/chunk-6YYEBLYI.js +0 -92
- package/dist/chunk-7FVWIZHM.js +0 -382
- package/dist/chunk-7J6EHOH6.js +0 -274
- package/dist/chunk-7JUUKYKG.js +0 -57
- package/dist/chunk-ACFWVULZ.js +0 -304
- package/dist/chunk-ACFWVULZ.js.map +0 -1
- package/dist/chunk-AO5UQQLJ.js +0 -197
- package/dist/chunk-CKU4WYTF.js +0 -175
- package/dist/chunk-CLMM6P6B.js +0 -1751
- package/dist/chunk-CLMM6P6B.js.map +0 -1
- package/dist/chunk-DE6ANJLU.js +0 -310
- package/dist/chunk-DZSIUEGH.js +0 -136
- package/dist/chunk-E5IFTZJ3.js +0 -622
- package/dist/chunk-EAHP7L2R.js +0 -363
- package/dist/chunk-EPMN4BK7.js +0 -217
- package/dist/chunk-EVYXTT7V.js +0 -417
- package/dist/chunk-F46KAIBS.js +0 -159
- package/dist/chunk-FGH4Z5K5.js +0 -433
- package/dist/chunk-FTWJFDIN.js +0 -23992
- package/dist/chunk-FTWJFDIN.js.map +0 -1
- package/dist/chunk-FYQPB2SS.js +0 -207
- package/dist/chunk-GTK46DE3.js +0 -346
- package/dist/chunk-H2QNBOPS.js +0 -819
- package/dist/chunk-H2QNBOPS.js.map +0 -1
- package/dist/chunk-HDWKLFF5.js +0 -96
- package/dist/chunk-HO3IUJ4K.js +0 -70
- package/dist/chunk-HO3IUJ4K.js.map +0 -1
- package/dist/chunk-HRYOZUSK.js +0 -1711
- package/dist/chunk-HRYOZUSK.js.map +0 -1
- package/dist/chunk-HYCIBVDW.js +0 -98
- package/dist/chunk-HYUUH4BE.js +0 -3149
- package/dist/chunk-HYUUH4BE.js.map +0 -1
- package/dist/chunk-IH4UQ2OK.js +0 -6668
- package/dist/chunk-IH4UQ2OK.js.map +0 -1
- package/dist/chunk-IKYNOT57.js +0 -131
- package/dist/chunk-IKYNOT57.js.map +0 -1
- package/dist/chunk-J5IU4OX2.js +0 -297
- package/dist/chunk-KMEMA7AZ.js +0 -496
- package/dist/chunk-KV5BCSUR.js +0 -337
- package/dist/chunk-KWAOTV7F.js +0 -830
- package/dist/chunk-L27H2R2N.js +0 -174
- package/dist/chunk-NK2UFFVH.js +0 -19
- package/dist/chunk-NSA6HRG6.js +0 -60
- package/dist/chunk-NTPXZU3V.js +0 -163
- package/dist/chunk-OAQPHP6V.js +0 -592
- package/dist/chunk-OBDAYP2P.js +0 -3155
- package/dist/chunk-OBDAYP2P.js.map +0 -1
- package/dist/chunk-PIWMNKWI.js +0 -164
- package/dist/chunk-PIWMNKWI.js.map +0 -1
- package/dist/chunk-RB5DB3WN.js +0 -1079
- package/dist/chunk-RCQJHKK5.js +0 -4374
- package/dist/chunk-RCQJHKK5.js.map +0 -1
- package/dist/chunk-SKT3SAHG.js +0 -133
- package/dist/chunk-T4DD5YMP.js +0 -166
- package/dist/chunk-TBEUMOEL.js +0 -95
- package/dist/chunk-TBEUMOEL.js.map +0 -1
- package/dist/chunk-V2X3KK52.js +0 -420
- package/dist/chunk-V2X3KK52.js.map +0 -1
- package/dist/chunk-V5WSJP5A.js +0 -51
- package/dist/chunk-VJZHVOA4.js +0 -509
- package/dist/chunk-VJZHVOA4.js.map +0 -1
- package/dist/chunk-WRIC2RPQ.js +0 -23
- package/dist/chunk-WTOYCUKH.js +0 -84
- package/dist/chunk-WYCVJIHD.js +0 -638
- package/dist/chunk-WYCVJIHD.js.map +0 -1
- package/dist/chunk-XDNEG2H6.js +0 -5189
- package/dist/chunk-XDNEG2H6.js.map +0 -1
- package/dist/chunk-XG3XCHN6.js +0 -26
- package/dist/chunk-XML7AJM3.js +0 -1854
- package/dist/chunk-XML7AJM3.js.map +0 -1
- package/dist/chunk-XV6XCFF7.js +0 -494
- package/dist/chunk-YUPRCOEN.js +0 -455
- package/dist/chunk-ZNBDKK4Y.js +0 -76
- package/dist/chunk-ZZQXVYUY.js +0 -66
- package/dist/claim-CIASHKMC.js +0 -197
- package/dist/companies-ECVMO24S.js +0 -195
- package/dist/complete-32CPBFIG.js +0 -81
- package/dist/connect-OJSOM6PY.js +0 -36
- package/dist/conversation-7FHN5ESN.js +0 -93
- package/dist/conversion-report-XQBJ6LG4.js +0 -125
- package/dist/conversion-upload-command-BBUXLFT3.js +0 -438
- package/dist/conversion-writes-UBCVXP2E.js +0 -120
- package/dist/conversions-7YJDNZ7Y.js +0 -135
- package/dist/conversions-D236RTUK.js +0 -76
- package/dist/countries-FYHM3IMJ.js +0 -82
- package/dist/create-2TBDXHAM.js +0 -130
- package/dist/create-FE5QLW7V.js +0 -207
- package/dist/create-OYT76OMJ.js +0 -235
- package/dist/create-ZGRL7YCV.js +0 -59
- package/dist/creatives-5MUTX4DQ.js +0 -51
- package/dist/creatives-IUB57I3T.js +0 -182
- package/dist/creatives-UEPLNCPN.js +0 -87
- package/dist/credentials-AETHKP5T.js +0 -1055
- package/dist/credentials-AETHKP5T.js.map +0 -1
- package/dist/critique-C53EJDPA.js +0 -214
- package/dist/critique-C53EJDPA.js.map +0 -1
- package/dist/critique-T7HJ42D4.js +0 -1449
- package/dist/crm-JP4UOPMN.js +0 -318
- package/dist/crm-KH6XX2TT.js +0 -224
- package/dist/currency-DJDVIR3C.js +0 -88
- package/dist/custom-conversions-2VLJGPRV.js +0 -125
- package/dist/customers-7I7UY5PS.js +0 -56
- package/dist/delete-6IOUDEWY.js +0 -54
- package/dist/delete-ODFKNHAI.js +0 -63
- package/dist/delete-RAETUVO2.js +0 -66
- package/dist/demographics-2FTDKPBD.js +0 -138
- package/dist/discard-ZX5TLFYH.js +0 -66
- package/dist/discover-M3ZKKFEL.js +0 -172
- package/dist/domain-TH7KIC2T.js +0 -98
- package/dist/draft-CRE2Y24G.js +0 -328
- package/dist/draft-MNFJ4G3C.js +0 -281
- package/dist/draft-S2FSQOJN.js +0 -217
- package/dist/draft-SH25PKST.js +0 -107
- package/dist/draft-YHUIFDDR.js +0 -306
- package/dist/facets-6B2U4BSM.js +0 -114
- package/dist/feedback-QGSAJJVC.js +0 -66
- package/dist/feedback-QGSAJJVC.js.map +0 -1
- package/dist/feedback-record-NUAJ6UBL.js +0 -176
- package/dist/feedback-record-NUAJ6UBL.js.map +0 -1
- package/dist/fetch-UTTJAOLC.js +0 -171
- package/dist/fetch-UTTJAOLC.js.map +0 -1
- package/dist/fit-FJ5CLQS4.js +0 -43
- package/dist/flows-OGGSWWGT.js +0 -244
- package/dist/follow-DUIEGDVK.js +0 -82
- package/dist/follow-competitors-IT5ZVJPE.js +0 -131
- package/dist/fonts-GCJRLEGD.js +0 -34
- package/dist/forecast-2AGTFMXH.js +0 -104
- package/dist/funnel-7U55LNJ4.js +0 -837
- package/dist/generate-DMQUS665.js +0 -262
- package/dist/get-IRJIHOQK.js +0 -78
- package/dist/get-N7FR6NFX.js +0 -54
- package/dist/google-NYRI2NDZ.js +0 -1872
- package/dist/google-NYRI2NDZ.js.map +0 -1
- package/dist/history-PSNJAUTW.js +0 -133
- package/dist/history-Q3QCT64S.js +0 -67
- package/dist/hubspot-2NHL47R2.js +0 -779
- package/dist/ideas-22MRXKT7.js +0 -32
- package/dist/images-LXFWEON7.js +0 -90
- package/dist/ingest-W7VEDEYD.js +0 -107
- package/dist/ingest-ZN3DEZHY.js +0 -23
- package/dist/insights-LNAXV2CG.js +0 -122
- package/dist/inspect-3LBIHMMP.js +0 -189
- package/dist/inspiration-I4MMKAWA.js +0 -53
- package/dist/intent-ICKFJRT2.js +0 -95
- package/dist/keyword-gap-NGPH32FN.js +0 -130
- package/dist/keyword-metrics-PZXFB4NG.js +0 -197
- package/dist/keywords-for-site-RH47P4GJ.js +0 -124
- package/dist/keywords-for-site-RH47P4GJ.js.map +0 -1
- package/dist/landing-D7QS42GK.js +0 -28
- package/dist/languages-JDYL2N5F.js +0 -40
- package/dist/languages-JMVNOHMG.js +0 -55
- package/dist/leads-ARUWPHBM.js +0 -293
- package/dist/leads-E22XFSX2.js +0 -90
- package/dist/learn-Y4KIZNRF.js +0 -204
- package/dist/learn-Y4KIZNRF.js.map +0 -1
- package/dist/lighthouse-NQBUCHTW.js +0 -75
- package/dist/line-item-writes-KA5PVKFO.js +0 -208
- package/dist/line-items-3ZFFZCNH.js +0 -103
- package/dist/link-AEU6BV75.js +0 -64
- package/dist/linkedin-WCB2H5NH.js +0 -1008
- package/dist/list-OLX7AI3O.js +0 -63
- package/dist/list-PAMYQS4X.js +0 -151
- package/dist/list-TOUUGHMS.js +0 -303
- package/dist/locations-2NKBJKBT.js +0 -67
- package/dist/locations-S4U6IJIS.js +0 -40
- package/dist/log-UGVWSK7Z.js +0 -92
- package/dist/make-3PZLTEXT.js +0 -516
- package/dist/make-3PZLTEXT.js.map +0 -1
- package/dist/map-BW4CHSIO.js +0 -404
- package/dist/mcp-JOXKA5HY.js +0 -476
- package/dist/media-53DJRC4N.js +0 -15
- package/dist/media-sources-SJZUOMI2.js +0 -32
- package/dist/members-VAX6KAFN.js +0 -44
- package/dist/meta-A7KM6TF5.js +0 -69
- package/dist/metrics-AY4RP54F.js +0 -152
- package/dist/models-5NTC7A5G.js +0 -155
- package/dist/normalize-IVQ7I54Z.js +0 -138
- package/dist/options-V7C6CU6M.js +0 -121
- package/dist/performance-L6RJZPXX.js +0 -24
- package/dist/pixels-TZPF746S.js +0 -60
- package/dist/promoted-tweet-writes-DBATH765.js +0 -180
- package/dist/promoted-tweets-AU3XF3JD.js +0 -119
- package/dist/publish-G6DYVT4S.js +0 -322
- package/dist/query-CPZZNMDY.js +0 -1341
- package/dist/reddit-S2S6C4RT.js +0 -26
- package/dist/refresh-ARJ2SOMY.js +0 -94
- package/dist/release-3WCBAHPO.js +0 -60
- package/dist/relevant-pages-MTMFMBPD.js +0 -99
- package/dist/remove-FUAARCSC.js +0 -50
- package/dist/reopen-PZI5H4X2.js +0 -63
- package/dist/rerun-AUP4XT6T.js +0 -86
- package/dist/rerun-AUP4XT6T.js.map +0 -1
- package/dist/research-SY3QRGOC.js +0 -262
- package/dist/research-TISR736S.js +0 -59
- package/dist/research-TISR736S.js.map +0 -1
- package/dist/reset-E6F5NXOI.js +0 -54
- package/dist/reset-ZWM7DDD7.js +0 -54
- package/dist/resolve-I5R5ELMZ.js +0 -121
- package/dist/retry-7CFZTKWI.js +0 -60
- package/dist/retry-JO3JXXT2.js +0 -62
- package/dist/run-JR6SILHL.js +0 -61
- package/dist/run-UKB647DI.js +0 -65
- package/dist/scaffold-ad-BYGVU7MT.js +0 -1550
- package/dist/scaffold-ad-BYGVU7MT.js.map +0 -1
- package/dist/scaffold-static-ad-U57V5UV3.js +0 -948
- package/dist/scaffold-static-ad-U57V5UV3.js.map +0 -1
- package/dist/scaffold-video-POZTINEV.js +0 -874
- package/dist/scaffold-video-POZTINEV.js.map +0 -1
- package/dist/schedule-SOAHLZZF.js +0 -61
- package/dist/scheduled-agents-K5WU7SVJ.js +0 -49
- package/dist/schema-SOPL6GJP.js +0 -129
- package/dist/search-5VUDFOHI.js +0 -174
- package/dist/search-XUIVHGAY.js +0 -26
- package/dist/select-T36UH4HL.js +0 -95
- package/dist/select-T36UH4HL.js.map +0 -1
- package/dist/set-prompt-Y4X7GV2Q.js +0 -187
- package/dist/set-prompt-Y4X7GV2Q.js.map +0 -1
- package/dist/setup-links-KFROCISS.js +0 -141
- package/dist/site-MXPKMRQT.js +0 -177
- package/dist/sources-FFHNWVLV.js +0 -30
- package/dist/sources-MLDLMEDT.js +0 -421
- package/dist/stale-UXL4X4AD.js +0 -64
- package/dist/stale-UXL4X4AD.js.map +0 -1
- package/dist/status-M47G5HD4.js +0 -62
- package/dist/studio-HUEBE6DS.js +0 -49
- package/dist/sync-HS7VZJ2H.js +0 -54
- package/dist/sync-definition-PY6REQ4J.js +0 -54
- package/dist/tag-manager-HREEYGVM.js +0 -43
- package/dist/tags-DIXLYB5P.js +0 -224
- package/dist/tags-DYRZTYHD.js +0 -20
- package/dist/tags-MRG56YOE.js +0 -26
- package/dist/tags-WAW6MQAY.js +0 -20
- package/dist/tags-Y4HHJJGE.js +0 -20
- package/dist/targeting-criteria-5UUESFWC.js +0 -113
- package/dist/targets-COZPVG52.js +0 -102
- package/dist/templates-75VFYZ3E.js +0 -178
- package/dist/testimonials-WJBRWLNW.js +0 -32
- package/dist/top-companies-C2R4FG6H.js +0 -108
- package/dist/translate-RYAJAFV7.js +0 -599
- package/dist/translate-RYAJAFV7.js.map +0 -1
- package/dist/triggers-5UHVJPBV.js +0 -141
- package/dist/unlink-PLOOAGM3.js +0 -67
- package/dist/unstage-JIIOTBTF.js +0 -84
- package/dist/update-G6R5ZHUI.js +0 -63
- package/dist/update-QYM6U7LL.js +0 -142
- package/dist/update-RCP7F5L5.js +0 -98
- package/dist/update-RGVNTA5X.js +0 -155
- package/dist/upload-EEJ34Q3Y.js +0 -126
- package/dist/url-options-QEWKRKZ3.js +0 -127
- package/dist/url-params-2G5M2B3J.js +0 -98
- package/dist/validate-M33VLUG4.js +0 -90
- package/dist/validate-M33VLUG4.js.map +0 -1
- package/dist/videos-FVVID55J.js +0 -39
- package/dist/viewer-check-2Q3WHSEL.js +0 -70
- package/dist/web-WUGLSULO.js +0 -135
- package/dist/web-WUGLSULO.js.map +0 -1
- package/dist/winning-ads-OSRFHVLV.js +0 -62
- package/dist/write-commands-CLJOD2XF.js +0 -1015
- package/dist/write-commands-CT74VHH6.js +0 -737
- package/dist/x-EBKLJJPJ.js +0 -47
- /package/dist/{account-PCEZQUK7.js.map → account-2ZMZFPIU.js.map} +0 -0
- /package/dist/{account-4H7QVBRK.js.map → account-F6MHQ64I.js.map} +0 -0
- /package/dist/{account-writes-AK42HGRM.js.map → account-writes-ISE4U2FQ.js.map} +0 -0
- /package/dist/{accounts-OSXDZZLY.js.map → accounts-RHGN5WMU.js.map} +0 -0
- /package/dist/{accounts-5AXLYU7P.js.map → accounts-VINHZRWA.js.map} +0 -0
- /package/dist/{actions-HM4VVTGW.js.map → actions-5F4ZP6M4.js.map} +0 -0
- /package/dist/{ad-group-writes-QQS4223F.js.map → ad-group-writes-UU5NNKSO.js.map} +0 -0
- /package/dist/{ad-groups-WGPDPUI2.js.map → ad-groups-CGFXZNIA.js.map} +0 -0
- /package/dist/{ad-writes-XE2IE4DS.js.map → ad-writes-NALDYWOR.js.map} +0 -0
- /package/dist/{add-4J2EF54O.js.map → add-KBPMSK2P.js.map} +0 -0
- /package/dist/{add-VZAY57M4.js.map → add-OGH4DZZ5.js.map} +0 -0
- /package/dist/{ads-NUME2UXH.js.map → ads-56OWZBXZ.js.map} +0 -0
- /package/dist/{ads-6UEDYT3O.js.map → ads-H7GH7A26.js.map} +0 -0
- /package/dist/{ads-BCOSQALY.js.map → ads-PV7GZXPR.js.map} +0 -0
- /package/dist/{adsets-Q5DWGANV.js.map → adsets-H7QT42U6.js.map} +0 -0
- /package/dist/{analytics-PHU7H5VY.js.map → analytics-5FALU2GL.js.map} +0 -0
- /package/dist/{analytics-QTR2ZITZ.js.map → analytics-JVZKN735.js.map} +0 -0
- /package/dist/{animate-3Z7HXOLE.js.map → animate-FWWHSYPL.js.map} +0 -0
- /package/dist/{assign-IIAVNATI.js.map → assign-KLYZ6USE.js.map} +0 -0
- /package/dist/{audience-size-2L7XMYJL.js.map → audience-size-JHB42DB4.js.map} +0 -0
- /package/dist/{audiences-AMRFZRZ7.js.map → audiences-JACGRBNN.js.map} +0 -0
- /package/dist/{audiences-TGD5US2M.js.map → audiences-VEKGLWBG.js.map} +0 -0
- /package/dist/{audit-ZCUFJLUG.js.map → audit-5XH7WZIM.js.map} +0 -0
- /package/dist/{avatars-OEK3FYKK.js.map → avatars-N4SRNQI7.js.map} +0 -0
- /package/dist/{bid-pricing-FDW3IY6G.js.map → bid-pricing-VYLVGU26.js.map} +0 -0
- /package/dist/{brand-OXYFSNA5.js.map → brand-ASBS2HZM.js.map} +0 -0
- /package/dist/{campaign-groups-5GCFQT2W.js.map → campaign-groups-ATE2DE4V.js.map} +0 -0
- /package/dist/{campaign-writes-3SJQSCUK.js.map → campaign-writes-ETT57KLQ.js.map} +0 -0
- /package/dist/{campaign-writes-SXLZFYF6.js.map → campaign-writes-SX52CJYW.js.map} +0 -0
- /package/dist/{campaigns-7QDDWZ76.js.map → campaigns-FGBAS6AZ.js.map} +0 -0
- /package/dist/{campaigns-SYEOFKFV.js.map → campaigns-J6VZBIV6.js.map} +0 -0
- /package/dist/{campaigns-D6B6Z67Y.js.map → campaigns-WBEG5QA4.js.map} +0 -0
- /package/dist/{campaigns-YS3OGQXO.js.map → campaigns-X3DPCCSN.js.map} +0 -0
- /package/dist/{canvas-B6DPRQGN.js.map → canvas-K7IN7HLO.js.map} +0 -0
- /package/dist/{capabilities-GVHPHH2G.js.map → capabilities-RDAERPYY.js.map} +0 -0
- /package/dist/{catalogs-BRXEDE56.js.map → catalogs-G3YEVG6S.js.map} +0 -0
- /package/dist/{changes-6QBJMGJC.js.map → changes-TP7ZZHB3.js.map} +0 -0
- /package/dist/{chatgpt-7W75X3ER.js.map → chatgpt-QNUN63YS.js.map} +0 -0
- /package/dist/{chats-54CWM7DL.js.map → chats-YIAQGQ3X.js.map} +0 -0
- /package/dist/{chunk-7FVWIZHM.js.map → chunk-2GK33EJV.js.map} +0 -0
- /package/dist/{chunk-7J6EHOH6.js.map → chunk-35XWJEWH.js.map} +0 -0
- /package/dist/{chunk-RB5DB3WN.js.map → chunk-4NBVGARW.js.map} +0 -0
- /package/dist/{chunk-OAQPHP6V.js.map → chunk-65RIB7A6.js.map} +0 -0
- /package/dist/{chunk-CKU4WYTF.js.map → chunk-6DB2B3GF.js.map} +0 -0
- /package/dist/{chunk-EAHP7L2R.js.map → chunk-7SDFKGQ4.js.map} +0 -0
- /package/dist/{chunk-NK2UFFVH.js.map → chunk-ACANMASG.js.map} +0 -0
- /package/dist/{chunk-HDWKLFF5.js.map → chunk-ALTBBAYU.js.map} +0 -0
- /package/dist/{chunk-FGH4Z5K5.js.map → chunk-ANCSKUWI.js.map} +0 -0
- /package/dist/{chunk-AO5UQQLJ.js.map → chunk-BA7FDXQC.js.map} +0 -0
- /package/dist/{chunk-654U6NU6.js.map → chunk-BNCW67EM.js.map} +0 -0
- /package/dist/{chunk-EPMN4BK7.js.map → chunk-BSC33FLJ.js.map} +0 -0
- /package/dist/{chunk-DE6ANJLU.js.map → chunk-DKGTQSLR.js.map} +0 -0
- /package/dist/{chunk-FYQPB2SS.js.map → chunk-DR34ZTWD.js.map} +0 -0
- /package/dist/{chunk-NTPXZU3V.js.map → chunk-E4MDJBLO.js.map} +0 -0
- /package/dist/{chunk-YUPRCOEN.js.map → chunk-EH4C4CZK.js.map} +0 -0
- /package/dist/{chunk-L27H2R2N.js.map → chunk-FXED3VZK.js.map} +0 -0
- /package/dist/{chunk-KV5BCSUR.js.map → chunk-G7UTTEBS.js.map} +0 -0
- /package/dist/{chunk-T4DD5YMP.js.map → chunk-GIJT3A5U.js.map} +0 -0
- /package/dist/{chunk-KWAOTV7F.js.map → chunk-GX6VAHY7.js.map} +0 -0
- /package/dist/{chunk-DZSIUEGH.js.map → chunk-HIPDMQZ6.js.map} +0 -0
- /package/dist/{chunk-XG3XCHN6.js.map → chunk-HQSCJYZO.js.map} +0 -0
- /package/dist/{chunk-V5WSJP5A.js.map → chunk-HZ5DR5MX.js.map} +0 -0
- /package/dist/{chunk-5VC6IK7B.js.map → chunk-IM52NHGL.js.map} +0 -0
- /package/dist/{chunk-WTOYCUKH.js.map → chunk-K3PN7TN5.js.map} +0 -0
- /package/dist/{chunk-HYCIBVDW.js.map → chunk-KQTYTCKQ.js.map} +0 -0
- /package/dist/{chunk-2SCPDSFN.js.map → chunk-LIQ4SQ2T.js.map} +0 -0
- /package/dist/{chunk-3X3446TG.js.map → chunk-MADAAZZV.js.map} +0 -0
- /package/dist/{chunk-ZZQXVYUY.js.map → chunk-MLU6STIN.js.map} +0 -0
- /package/dist/{chunk-7JUUKYKG.js.map → chunk-PDTB5EX6.js.map} +0 -0
- /package/dist/{chunk-E5IFTZJ3.js.map → chunk-SB3GZFCV.js.map} +0 -0
- /package/dist/{chunk-XV6XCFF7.js.map → chunk-T3BDNJIX.js.map} +0 -0
- /package/dist/{chunk-KMEMA7AZ.js.map → chunk-TIOQ7ZFQ.js.map} +0 -0
- /package/dist/{chunk-SKT3SAHG.js.map → chunk-U3HAMW5W.js.map} +0 -0
- /package/dist/{chunk-5EEDEVOR.js.map → chunk-U6SYRIOB.js.map} +0 -0
- /package/dist/{chunk-F46KAIBS.js.map → chunk-UC6BWM5J.js.map} +0 -0
- /package/dist/{chunk-ZNBDKK4Y.js.map → chunk-ULJ5RFOV.js.map} +0 -0
- /package/dist/{chunk-GTK46DE3.js.map → chunk-VAISMQQB.js.map} +0 -0
- /package/dist/{chunk-WRIC2RPQ.js.map → chunk-VDHQJ6HD.js.map} +0 -0
- /package/dist/{chunk-6TCDQSM7.js.map → chunk-VMDAXFRI.js.map} +0 -0
- /package/dist/{chunk-EVYXTT7V.js.map → chunk-XCM6XWOB.js.map} +0 -0
- /package/dist/{chunk-NSA6HRG6.js.map → chunk-XMD4SHFI.js.map} +0 -0
- /package/dist/{chunk-4SJDDGPV.js.map → chunk-Y6QAJNKP.js.map} +0 -0
- /package/dist/{chunk-4SNOWJV7.js.map → chunk-YBP7O5P4.js.map} +0 -0
- /package/dist/{chunk-J5IU4OX2.js.map → chunk-YC2TQ3VC.js.map} +0 -0
- /package/dist/{chunk-6YYEBLYI.js.map → chunk-ZPU3WDVK.js.map} +0 -0
- /package/dist/{claim-CIASHKMC.js.map → claim-V4F5GZJK.js.map} +0 -0
- /package/dist/{companies-ECVMO24S.js.map → companies-NJGJ7XNN.js.map} +0 -0
- /package/dist/{complete-32CPBFIG.js.map → complete-MGNF5OAK.js.map} +0 -0
- /package/dist/{connect-OJSOM6PY.js.map → connect-PJOTRTT4.js.map} +0 -0
- /package/dist/{conversation-7FHN5ESN.js.map → conversation-4DM26FRD.js.map} +0 -0
- /package/dist/{conversion-report-XQBJ6LG4.js.map → conversion-report-N4HANYOB.js.map} +0 -0
- /package/dist/{conversion-upload-command-BBUXLFT3.js.map → conversion-upload-command-TZTHU2CD.js.map} +0 -0
- /package/dist/{conversion-writes-UBCVXP2E.js.map → conversion-writes-LW4HQKK5.js.map} +0 -0
- /package/dist/{conversions-7YJDNZ7Y.js.map → conversions-JGECVZSY.js.map} +0 -0
- /package/dist/{conversions-D236RTUK.js.map → conversions-TS723AZV.js.map} +0 -0
- /package/dist/{countries-FYHM3IMJ.js.map → countries-ESAKTQAE.js.map} +0 -0
- /package/dist/{create-FE5QLW7V.js.map → create-DSGQFBI7.js.map} +0 -0
- /package/dist/{create-ZGRL7YCV.js.map → create-I2KVDTCQ.js.map} +0 -0
- /package/dist/{create-2TBDXHAM.js.map → create-SBQWVLXG.js.map} +0 -0
- /package/dist/{create-OYT76OMJ.js.map → create-WOHPIGBK.js.map} +0 -0
- /package/dist/{creatives-IUB57I3T.js.map → creatives-4JGVZQGC.js.map} +0 -0
- /package/dist/{creatives-5MUTX4DQ.js.map → creatives-DWO5KEQC.js.map} +0 -0
- /package/dist/{creatives-UEPLNCPN.js.map → creatives-PSWCNY7U.js.map} +0 -0
- /package/dist/{critique-T7HJ42D4.js.map → critique-TIZJ5GFM.js.map} +0 -0
- /package/dist/{crm-KH6XX2TT.js.map → crm-2WAR565U.js.map} +0 -0
- /package/dist/{crm-JP4UOPMN.js.map → crm-VDXUO2YU.js.map} +0 -0
- /package/dist/{currency-DJDVIR3C.js.map → currency-XCGKQ7FE.js.map} +0 -0
- /package/dist/{custom-conversions-2VLJGPRV.js.map → custom-conversions-6P555U2K.js.map} +0 -0
- /package/dist/{customers-7I7UY5PS.js.map → customers-ATENMXDO.js.map} +0 -0
- /package/dist/{delete-6IOUDEWY.js.map → delete-AVMZYNVT.js.map} +0 -0
- /package/dist/{delete-ODFKNHAI.js.map → delete-H744GNS4.js.map} +0 -0
- /package/dist/{delete-RAETUVO2.js.map → delete-OEYPFATY.js.map} +0 -0
- /package/dist/{demographics-2FTDKPBD.js.map → demographics-M5LJF3RZ.js.map} +0 -0
- /package/dist/{discard-ZX5TLFYH.js.map → discard-72I6SM7G.js.map} +0 -0
- /package/dist/{discover-M3ZKKFEL.js.map → discover-BJPZNXUQ.js.map} +0 -0
- /package/dist/{domain-TH7KIC2T.js.map → domain-R4EIZD2W.js.map} +0 -0
- /package/dist/{draft-S2FSQOJN.js.map → draft-34C3F5U4.js.map} +0 -0
- /package/dist/{draft-CRE2Y24G.js.map → draft-BBFJNZ5X.js.map} +0 -0
- /package/dist/{draft-SH25PKST.js.map → draft-BV2QRPZ4.js.map} +0 -0
- /package/dist/{draft-MNFJ4G3C.js.map → draft-THPZFASM.js.map} +0 -0
- /package/dist/{draft-YHUIFDDR.js.map → draft-YYYRWF7M.js.map} +0 -0
- /package/dist/{facets-6B2U4BSM.js.map → facets-F2H52MS4.js.map} +0 -0
- /package/dist/{fit-FJ5CLQS4.js.map → fit-2CA4JH7N.js.map} +0 -0
- /package/dist/{flows-OGGSWWGT.js.map → flows-CWXCXEUD.js.map} +0 -0
- /package/dist/{follow-DUIEGDVK.js.map → follow-FN7LV3WV.js.map} +0 -0
- /package/dist/{follow-competitors-IT5ZVJPE.js.map → follow-competitors-MKXFHLXB.js.map} +0 -0
- /package/dist/{fonts-GCJRLEGD.js.map → fonts-F2XUCIIW.js.map} +0 -0
- /package/dist/{forecast-2AGTFMXH.js.map → forecast-IDKJYM2B.js.map} +0 -0
- /package/dist/{funnel-7U55LNJ4.js.map → funnel-RLGQGYKO.js.map} +0 -0
- /package/dist/{generate-DMQUS665.js.map → generate-MMBYB44G.js.map} +0 -0
- /package/dist/{get-N7FR6NFX.js.map → get-C6UQ22HH.js.map} +0 -0
- /package/dist/{get-IRJIHOQK.js.map → get-EEUR6SAW.js.map} +0 -0
- /package/dist/{history-PSNJAUTW.js.map → history-4II5QA4B.js.map} +0 -0
- /package/dist/{history-Q3QCT64S.js.map → history-DBIEYQHY.js.map} +0 -0
- /package/dist/{hubspot-2NHL47R2.js.map → hubspot-TTITJFBO.js.map} +0 -0
- /package/dist/{ideas-22MRXKT7.js.map → ideas-V4Q6JDKV.js.map} +0 -0
- /package/dist/{images-LXFWEON7.js.map → images-SP5REF6E.js.map} +0 -0
- /package/dist/{ingest-W7VEDEYD.js.map → ingest-574GIFAR.js.map} +0 -0
- /package/dist/{ingest-ZN3DEZHY.js.map → ingest-IC4T76W6.js.map} +0 -0
- /package/dist/{insights-LNAXV2CG.js.map → insights-ZIU6FJMS.js.map} +0 -0
- /package/dist/{inspect-3LBIHMMP.js.map → inspect-ATHYY6A2.js.map} +0 -0
- /package/dist/{inspiration-I4MMKAWA.js.map → inspiration-P265QJ2H.js.map} +0 -0
- /package/dist/{intent-ICKFJRT2.js.map → intent-E3UIVZBN.js.map} +0 -0
- /package/dist/{keyword-gap-NGPH32FN.js.map → keyword-gap-BG6M665A.js.map} +0 -0
- /package/dist/{keyword-metrics-PZXFB4NG.js.map → keyword-metrics-J4UPUDN7.js.map} +0 -0
- /package/dist/{landing-D7QS42GK.js.map → landing-R6DN7XLK.js.map} +0 -0
- /package/dist/{languages-JDYL2N5F.js.map → languages-HORKPDNH.js.map} +0 -0
- /package/dist/{languages-JMVNOHMG.js.map → languages-JSGWCC7Z.js.map} +0 -0
- /package/dist/{leads-ARUWPHBM.js.map → leads-7EVHMNUF.js.map} +0 -0
- /package/dist/{leads-E22XFSX2.js.map → leads-JM6HUERX.js.map} +0 -0
- /package/dist/{lighthouse-NQBUCHTW.js.map → lighthouse-6ZC45E53.js.map} +0 -0
- /package/dist/{line-item-writes-KA5PVKFO.js.map → line-item-writes-KUYEXSIH.js.map} +0 -0
- /package/dist/{line-items-3ZFFZCNH.js.map → line-items-GIWLP3FL.js.map} +0 -0
- /package/dist/{link-AEU6BV75.js.map → link-PVM7XJQI.js.map} +0 -0
- /package/dist/{linkedin-WCB2H5NH.js.map → linkedin-WX54EAX6.js.map} +0 -0
- /package/dist/{list-PAMYQS4X.js.map → list-4ZKQZBCL.js.map} +0 -0
- /package/dist/{list-OLX7AI3O.js.map → list-MCEFXC6L.js.map} +0 -0
- /package/dist/{list-TOUUGHMS.js.map → list-WR7QYTON.js.map} +0 -0
- /package/dist/{locations-2NKBJKBT.js.map → locations-74TPQWAT.js.map} +0 -0
- /package/dist/{locations-S4U6IJIS.js.map → locations-J4G5RNPH.js.map} +0 -0
- /package/dist/{log-UGVWSK7Z.js.map → log-U6IWZGOF.js.map} +0 -0
- /package/dist/{map-BW4CHSIO.js.map → map-TWL7T4KP.js.map} +0 -0
- /package/dist/{mcp-JOXKA5HY.js.map → mcp-HVAVJGGS.js.map} +0 -0
- /package/dist/{media-53DJRC4N.js.map → media-M7E6V2XU.js.map} +0 -0
- /package/dist/{media-sources-SJZUOMI2.js.map → media-sources-JWGO23BZ.js.map} +0 -0
- /package/dist/{members-VAX6KAFN.js.map → members-5FAW4YE7.js.map} +0 -0
- /package/dist/{meta-A7KM6TF5.js.map → meta-EZ4SY25M.js.map} +0 -0
- /package/dist/{metrics-AY4RP54F.js.map → metrics-SQDJ5NQO.js.map} +0 -0
- /package/dist/{models-5NTC7A5G.js.map → models-7U3GRYHF.js.map} +0 -0
- /package/dist/{normalize-IVQ7I54Z.js.map → normalize-GW4GZNVY.js.map} +0 -0
- /package/dist/{options-V7C6CU6M.js.map → options-NSUCENLU.js.map} +0 -0
- /package/dist/{performance-L6RJZPXX.js.map → performance-FGCDWHMC.js.map} +0 -0
- /package/dist/{pixels-TZPF746S.js.map → pixels-45A55MOP.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-DBATH765.js.map → promoted-tweet-writes-BPWTDESL.js.map} +0 -0
- /package/dist/{promoted-tweets-AU3XF3JD.js.map → promoted-tweets-OS3NHYVE.js.map} +0 -0
- /package/dist/{publish-G6DYVT4S.js.map → publish-SXZEWBVJ.js.map} +0 -0
- /package/dist/{query-CPZZNMDY.js.map → query-IEZRY6HV.js.map} +0 -0
- /package/dist/{reddit-S2S6C4RT.js.map → reddit-TF6K37SB.js.map} +0 -0
- /package/dist/{refresh-ARJ2SOMY.js.map → refresh-APVDWXRZ.js.map} +0 -0
- /package/dist/{release-3WCBAHPO.js.map → release-32SEJU4L.js.map} +0 -0
- /package/dist/{relevant-pages-MTMFMBPD.js.map → relevant-pages-OWMNUCP7.js.map} +0 -0
- /package/dist/{remove-FUAARCSC.js.map → remove-U64GTHLQ.js.map} +0 -0
- /package/dist/{reopen-PZI5H4X2.js.map → reopen-5VS233SF.js.map} +0 -0
- /package/dist/{research-SY3QRGOC.js.map → research-QYSQ6LW4.js.map} +0 -0
- /package/dist/{reset-E6F5NXOI.js.map → reset-22FC7BXQ.js.map} +0 -0
- /package/dist/{reset-ZWM7DDD7.js.map → reset-47B5VPT4.js.map} +0 -0
- /package/dist/{resolve-I5R5ELMZ.js.map → resolve-7KQGVTQT.js.map} +0 -0
- /package/dist/{retry-JO3JXXT2.js.map → retry-J5UVLS72.js.map} +0 -0
- /package/dist/{retry-7CFZTKWI.js.map → retry-UJ5UF4BM.js.map} +0 -0
- /package/dist/{run-UKB647DI.js.map → run-SI4FA32F.js.map} +0 -0
- /package/dist/{run-JR6SILHL.js.map → run-TFLFBQU2.js.map} +0 -0
- /package/dist/{schedule-SOAHLZZF.js.map → schedule-52ZM4KRQ.js.map} +0 -0
- /package/dist/{scheduled-agents-K5WU7SVJ.js.map → scheduled-agents-PCWCQAKP.js.map} +0 -0
- /package/dist/{schema-SOPL6GJP.js.map → schema-FY6ORDXZ.js.map} +0 -0
- /package/dist/{search-5VUDFOHI.js.map → search-NS7XNRZC.js.map} +0 -0
- /package/dist/{search-XUIVHGAY.js.map → search-UO5KJTYS.js.map} +0 -0
- /package/dist/{setup-links-KFROCISS.js.map → setup-links-V3URI7DL.js.map} +0 -0
- /package/dist/{site-MXPKMRQT.js.map → site-WIQ7SSU3.js.map} +0 -0
- /package/dist/{sources-MLDLMEDT.js.map → sources-DWJXOLEH.js.map} +0 -0
- /package/dist/{sources-FFHNWVLV.js.map → sources-L453U5MT.js.map} +0 -0
- /package/dist/{status-M47G5HD4.js.map → status-WXWU54WR.js.map} +0 -0
- /package/dist/{studio-HUEBE6DS.js.map → studio-C5K3YX3P.js.map} +0 -0
- /package/dist/{sync-HS7VZJ2H.js.map → sync-CDZUTGV3.js.map} +0 -0
- /package/dist/{sync-definition-PY6REQ4J.js.map → sync-definition-BAJQUBE3.js.map} +0 -0
- /package/dist/{tag-manager-HREEYGVM.js.map → tag-manager-DYZUOIAS.js.map} +0 -0
- /package/dist/{tags-WAW6MQAY.js.map → tags-6RY23XOG.js.map} +0 -0
- /package/dist/{tags-DIXLYB5P.js.map → tags-BHFQWNPL.js.map} +0 -0
- /package/dist/{tags-MRG56YOE.js.map → tags-SG3NVC3J.js.map} +0 -0
- /package/dist/{tags-DYRZTYHD.js.map → tags-VN5HTL35.js.map} +0 -0
- /package/dist/{tags-Y4HHJJGE.js.map → tags-WR6PDIDR.js.map} +0 -0
- /package/dist/{targeting-criteria-5UUESFWC.js.map → targeting-criteria-5EXP2NXF.js.map} +0 -0
- /package/dist/{targets-COZPVG52.js.map → targets-WUVEJPSD.js.map} +0 -0
- /package/dist/{templates-75VFYZ3E.js.map → templates-LOJQX2NG.js.map} +0 -0
- /package/dist/{testimonials-WJBRWLNW.js.map → testimonials-6M5DXORT.js.map} +0 -0
- /package/dist/{top-companies-C2R4FG6H.js.map → top-companies-E2OMMPSV.js.map} +0 -0
- /package/dist/{triggers-5UHVJPBV.js.map → triggers-MRXIDCSN.js.map} +0 -0
- /package/dist/{unlink-PLOOAGM3.js.map → unlink-HNL747YM.js.map} +0 -0
- /package/dist/{unstage-JIIOTBTF.js.map → unstage-OL2JDCLK.js.map} +0 -0
- /package/dist/{update-QYM6U7LL.js.map → update-4KGIT4BF.js.map} +0 -0
- /package/dist/{update-RCP7F5L5.js.map → update-JPBUF7M2.js.map} +0 -0
- /package/dist/{update-RGVNTA5X.js.map → update-RTTC3SAK.js.map} +0 -0
- /package/dist/{update-G6R5ZHUI.js.map → update-YNNRX5B2.js.map} +0 -0
- /package/dist/{upload-EEJ34Q3Y.js.map → upload-UIXPCSXJ.js.map} +0 -0
- /package/dist/{url-options-QEWKRKZ3.js.map → url-options-GGXAL3J4.js.map} +0 -0
- /package/dist/{url-params-2G5M2B3J.js.map → url-params-K47CE7Y5.js.map} +0 -0
- /package/dist/{videos-FVVID55J.js.map → videos-BP3BKNTY.js.map} +0 -0
- /package/dist/{viewer-check-2Q3WHSEL.js.map → viewer-check-HFRUJ4ZU.js.map} +0 -0
- /package/dist/{winning-ads-OSRFHVLV.js.map → winning-ads-WUENRDVJ.js.map} +0 -0
- /package/dist/{write-commands-CLJOD2XF.js.map → write-commands-4WARNR2T.js.map} +0 -0
- /package/dist/{write-commands-CT74VHH6.js.map → write-commands-TAYGTJEZ.js.map} +0 -0
- /package/dist/{x-EBKLJJPJ.js.map → x-VZCELH3P.js.map} +0 -0
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import {
|
|
2
|
+
mappingRowProblem,
|
|
3
|
+
mentionOf
|
|
4
|
+
} from "./chunk-EDLZGTGN.js";
|
|
5
|
+
import {
|
|
6
|
+
CONDITION_LOGICS,
|
|
7
|
+
HUBSPOT_DEAL_CONTACTS,
|
|
8
|
+
HUBSPOT_OBJECTS,
|
|
9
|
+
HUBSPOT_PROPERTY_KINDS,
|
|
10
|
+
REJECTION_MESSAGES,
|
|
11
|
+
TRIGGER_CONDITIONS_MAX,
|
|
12
|
+
onlyCondition,
|
|
13
|
+
triggerProblem,
|
|
14
|
+
validateEventName
|
|
15
|
+
} from "./chunk-NDXBU22S.js";
|
|
16
|
+
|
|
17
|
+
// ../api/src/event-sources/hubspot.ts
|
|
18
|
+
var HUBSPOT_CONTACT_ID_VARIABLE = "id";
|
|
19
|
+
var HUBSPOT_CONTACT_PREFIX = "contact.";
|
|
20
|
+
function contactPath(property) {
|
|
21
|
+
return `${HUBSPOT_CONTACT_PREFIX}${property}`;
|
|
22
|
+
}
|
|
23
|
+
var HUBSPOT_DEFAULT_PROPERTIES = {
|
|
24
|
+
email: "email",
|
|
25
|
+
phone: "phone",
|
|
26
|
+
external_id: HUBSPOT_CONTACT_ID_VARIABLE,
|
|
27
|
+
first_name: "firstname",
|
|
28
|
+
last_name: "lastname",
|
|
29
|
+
city: "city",
|
|
30
|
+
postal_code: "zip",
|
|
31
|
+
country: "country",
|
|
32
|
+
gclid: "hs_google_click_id",
|
|
33
|
+
fbclid: "hs_facebook_click_id"
|
|
34
|
+
};
|
|
35
|
+
var throughContact = Object.fromEntries(
|
|
36
|
+
Object.entries(HUBSPOT_DEFAULT_PROPERTIES).map(([field, property]) => [field, contactPath(property)])
|
|
37
|
+
);
|
|
38
|
+
var HUBSPOT_DEAL_DEFAULT_PROPERTIES = {
|
|
39
|
+
...throughContact,
|
|
40
|
+
value: "amount",
|
|
41
|
+
currency: "deal_currency_code"
|
|
42
|
+
};
|
|
43
|
+
var HUBSPOT_LEAD_DEFAULT_PROPERTIES = throughContact;
|
|
44
|
+
var DEFAULTS = {
|
|
45
|
+
contact: HUBSPOT_DEFAULT_PROPERTIES,
|
|
46
|
+
deal: HUBSPOT_DEAL_DEFAULT_PROPERTIES,
|
|
47
|
+
lead: HUBSPOT_LEAD_DEFAULT_PROPERTIES
|
|
48
|
+
};
|
|
49
|
+
function hubspotDefaultMapping(sourceName, object = "contact") {
|
|
50
|
+
const mapping = { event_name: sourceName };
|
|
51
|
+
for (const [field, property] of Object.entries(DEFAULTS[object])) {
|
|
52
|
+
mapping[field] = mentionOf(property);
|
|
53
|
+
}
|
|
54
|
+
return mapping;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// ../api/src/event-sources/wire.ts
|
|
58
|
+
import { z } from "zod";
|
|
59
|
+
var SOURCE_KINDS = ["webhook", "hubspot"];
|
|
60
|
+
var SOURCE_STATUSES = ["learning", "counting", "paused"];
|
|
61
|
+
var SOURCE_NAME_MAX = 80;
|
|
62
|
+
var sourceNameSchema = z.string().trim().min(1).max(SOURCE_NAME_MAX).refine((name) => validateEventName(name) === null, REJECTION_MESSAGES.invalid_name);
|
|
63
|
+
var sourceIdSchema = z.string().min(1);
|
|
64
|
+
var sourceMappingSchema = z.record(z.string(), z.string().min(1)).superRefine((mapping, ctx) => {
|
|
65
|
+
for (const row of Object.keys(mapping)) {
|
|
66
|
+
const problem = mappingRowProblem(row);
|
|
67
|
+
if (problem !== null) ctx.addIssue({ code: "custom", message: problem, path: [row] });
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
var currencyCodeSchema = z.string().trim().toUpperCase().regex(/^[A-Z]{3}$/, "A currency is a three-letter code, like EUR or USD.");
|
|
71
|
+
var hubspotObjectSchema = z.enum(HUBSPOT_OBJECTS);
|
|
72
|
+
var hubspotDealContactsSchema = z.enum(HUBSPOT_DEAL_CONTACTS);
|
|
73
|
+
var hubspotConditionInputSchema = z.strictObject({
|
|
74
|
+
property: z.string().trim().min(1),
|
|
75
|
+
/** One of the property's kind's operators (`baker hubspot contacts properties` lists them); `is` when unsaid. */
|
|
76
|
+
operator: z.string().trim().min(1).default("is"),
|
|
77
|
+
/** As HubSpot spells them: an option's internal value, a number, a `YYYY-MM-DD`, `true`/`false`. None for an empty check, two for a between, several for a list. */
|
|
78
|
+
values: z.array(z.string().trim().min(1)).max(50).default([])
|
|
79
|
+
});
|
|
80
|
+
var conditionLogicSchema = z.enum(CONDITION_LOGICS);
|
|
81
|
+
var conditionGroupInputSchema = z.strictObject({
|
|
82
|
+
logic: conditionLogicSchema,
|
|
83
|
+
conditions: z.array(hubspotConditionInputSchema).min(1).max(TRIGGER_CONDITIONS_MAX)
|
|
84
|
+
});
|
|
85
|
+
var combinedInputSchema = z.strictObject({
|
|
86
|
+
/** How the rows combine: `And` (every one) or `Or` (any one) — a Form's filter's "Match AND / OR". */
|
|
87
|
+
logic: conditionLogicSchema.default("And"),
|
|
88
|
+
/** Conditions, and groups of conditions with their own logic, one level deep. */
|
|
89
|
+
conditions: z.array(z.union([hubspotConditionInputSchema, conditionGroupInputSchema])).min(1).max(TRIGGER_CONDITIONS_MAX)
|
|
90
|
+
}).superRefine((trigger, context) => {
|
|
91
|
+
const problem = triggerProblem(trigger);
|
|
92
|
+
if (problem !== null) context.addIssue({ code: "custom", message: problem });
|
|
93
|
+
});
|
|
94
|
+
var hubspotTriggerInputSchema = z.union([combinedInputSchema, hubspotConditionInputSchema]).transform((input) => "conditions" in input ? input : onlyCondition(input));
|
|
95
|
+
var hubspotConditionSchema = hubspotConditionInputSchema.extend({
|
|
96
|
+
propertyLabel: z.string(),
|
|
97
|
+
kind: z.enum(HUBSPOT_PROPERTY_KINDS),
|
|
98
|
+
/** A select that holds several values at once (`a;b`); decides what HubSpot may filter on. */
|
|
99
|
+
multiple: z.boolean().optional(),
|
|
100
|
+
valueLabels: z.array(z.string())
|
|
101
|
+
});
|
|
102
|
+
var hubspotTriggerFields = {
|
|
103
|
+
logic: conditionLogicSchema,
|
|
104
|
+
conditions: z.array(
|
|
105
|
+
z.union([
|
|
106
|
+
hubspotConditionSchema,
|
|
107
|
+
z.strictObject({ logic: conditionLogicSchema, conditions: z.array(hubspotConditionSchema) })
|
|
108
|
+
])
|
|
109
|
+
)
|
|
110
|
+
};
|
|
111
|
+
var hubspotWatchSchema = z.strictObject({
|
|
112
|
+
...hubspotTriggerFields,
|
|
113
|
+
object: hubspotObjectSchema,
|
|
114
|
+
contacts: hubspotDealContactsSchema.optional()
|
|
115
|
+
});
|
|
116
|
+
var sampleRecordSchema = z.strictObject({ id: z.string(), properties: z.record(z.string(), z.string()) });
|
|
117
|
+
var hubspotPreviewRequestSchema = z.strictObject({
|
|
118
|
+
object: hubspotObjectSchema.default("contact"),
|
|
119
|
+
trigger: hubspotTriggerInputSchema,
|
|
120
|
+
/** Property names to read off the sample; `id` is always there. On a deal or a lead, `contact.<name>` reads its first contact. */
|
|
121
|
+
properties: z.array(z.string().trim().min(1)).max(60).optional(),
|
|
122
|
+
/** The record to draw the preview from — an id, or text to search (an email or a name for a contact, a deal's or a lead's name). The one most recently at the trigger when unsaid. */
|
|
123
|
+
contact: z.string().trim().min(1).max(200).optional()
|
|
124
|
+
});
|
|
125
|
+
var hubspotPreviewSchema = z.strictObject({
|
|
126
|
+
/** Records satisfying the trigger today — the ones that will NOT be counted. */
|
|
127
|
+
total: z.number(),
|
|
128
|
+
/** False when the trigger has more combinations than HubSpot's search takes, so `total` is only near. */
|
|
129
|
+
exact: z.boolean().optional(),
|
|
130
|
+
/**
|
|
131
|
+
* The sample record the trigger is on, with the properties asked for and
|
|
132
|
+
* the contacts behind it, first first; none when nothing fits.
|
|
133
|
+
*
|
|
134
|
+
* One field rather than one per object: a contact source's record *is* the
|
|
135
|
+
* person and its `contacts` is empty, while a deal's and a lead's carry the
|
|
136
|
+
* people the event is about. Three parallel nullable fields, exactly one of
|
|
137
|
+
* them ever set, would say the same thing and let a caller read the wrong one.
|
|
138
|
+
*/
|
|
139
|
+
record: sampleRecordSchema.extend({ contacts: z.array(sampleRecordSchema) }).nullable()
|
|
140
|
+
});
|
|
141
|
+
var sourcesRequestSchema = z.strictObject({
|
|
142
|
+
/** The company's own server door: made once, `counting` from the start, the same address for ever after. */
|
|
143
|
+
server: z.strictObject({}).optional(),
|
|
144
|
+
create: z.strictObject({ name: sourceNameSchema }).optional(),
|
|
145
|
+
/** A HubSpot event: read every five minutes, counting from now. The labels are looked up server-side. */
|
|
146
|
+
createHubspot: z.strictObject({
|
|
147
|
+
name: sourceNameSchema.optional(),
|
|
148
|
+
/** A contact, a deal or a lead. A deal's and a lead's event is about its contact, read through `contact.<property>` rows. */
|
|
149
|
+
object: hubspotObjectSchema.default("contact"),
|
|
150
|
+
trigger: hubspotTriggerInputSchema,
|
|
151
|
+
/** On a deal: the deal's first contact (the default), or every contact on it, each its own event. */
|
|
152
|
+
contacts: hubspotDealContactsSchema.optional(),
|
|
153
|
+
/** Rows to read off the record, over the defaults; the same table `map` writes. */
|
|
154
|
+
mapping: sourceMappingSchema.optional(),
|
|
155
|
+
/** A number property on the record to read as the amount; needs `currency` beside it. Sugar over the mapping's `value` and `currency` rows. */
|
|
156
|
+
amountProperty: z.string().trim().min(1).optional(),
|
|
157
|
+
currency: currencyCodeSchema.optional()
|
|
158
|
+
}).optional(),
|
|
159
|
+
/** Change what a HubSpot event watches. It counts from now on under the new trigger; the rows stay. The object cannot change: the rows read it. */
|
|
160
|
+
setTrigger: z.strictObject({
|
|
161
|
+
sourceId: sourceIdSchema,
|
|
162
|
+
trigger: hubspotTriggerInputSchema,
|
|
163
|
+
contacts: hubspotDealContactsSchema.optional()
|
|
164
|
+
}).optional(),
|
|
165
|
+
/** Ask HubSpot what a trigger would count today, and read one real record, without making anything. */
|
|
166
|
+
preview: hubspotPreviewRequestSchema.optional(),
|
|
167
|
+
/** Change where a HubSpot-read source takes its amount from; no `amountProperty` clears it. Sugar over `map`. */
|
|
168
|
+
setAmount: z.strictObject({
|
|
169
|
+
sourceId: sourceIdSchema,
|
|
170
|
+
amountProperty: z.string().trim().min(1).optional(),
|
|
171
|
+
currency: currencyCodeSchema.optional()
|
|
172
|
+
}).optional(),
|
|
173
|
+
/**
|
|
174
|
+
* Count a HubSpot event's history: every moment its trigger came to hold
|
|
175
|
+
* since `since`, read out of HubSpot's own property history.
|
|
176
|
+
*
|
|
177
|
+
* Not the thing a source deliberately refuses to do. A source never
|
|
178
|
+
* backfills the **present state** — somebody who already satisfies a
|
|
179
|
+
* condition is not an event today — and this reports only moments HubSpot
|
|
180
|
+
* has a timestamp for, so nothing is invented. Dry unless `write`.
|
|
181
|
+
*/
|
|
182
|
+
backfill: z.strictObject({
|
|
183
|
+
sourceId: sourceIdSchema,
|
|
184
|
+
/** ISO instant, or Unix milliseconds. Bounded by the 400 days the store keeps. */
|
|
185
|
+
since: z.union([z.string().trim().min(1), z.number()]),
|
|
186
|
+
/**
|
|
187
|
+
* Where a capped run carries on from: only records last changed at or
|
|
188
|
+
* before this instant are read.
|
|
189
|
+
*
|
|
190
|
+
* The **read** is what it bounds, never the history. Records are chosen
|
|
191
|
+
* most-recently-changed first, so a run that reaches its cap has covered
|
|
192
|
+
* the newest of them and the rest are the ones nearest `since` — which
|
|
193
|
+
* no shorter window can reach, because shortening one only drops
|
|
194
|
+
* candidates from the old end and hands back the same newest records
|
|
195
|
+
* again. `reachedBack` is the value to pass here, and the moments each
|
|
196
|
+
* record is then judged on are still the whole of `since` to now.
|
|
197
|
+
*/
|
|
198
|
+
before: z.union([z.string().trim().min(1), z.number()]).optional(),
|
|
199
|
+
/** Without it, nothing is counted and the answer says what would be. */
|
|
200
|
+
write: z.boolean().optional()
|
|
201
|
+
}).optional(),
|
|
202
|
+
map: z.strictObject({ sourceId: sourceIdSchema, mapping: sourceMappingSchema }).optional(),
|
|
203
|
+
pause: z.strictObject({ sourceId: sourceIdSchema }).optional(),
|
|
204
|
+
resume: z.strictObject({ sourceId: sourceIdSchema }).optional(),
|
|
205
|
+
remove: z.strictObject({ sourceId: sourceIdSchema }).optional()
|
|
206
|
+
});
|
|
207
|
+
var sourceRefusalSchema = z.strictObject({
|
|
208
|
+
at: z.number(),
|
|
209
|
+
count: z.number(),
|
|
210
|
+
code: z.string(),
|
|
211
|
+
reason: z.string()
|
|
212
|
+
});
|
|
213
|
+
var detectedFieldSchema = z.strictObject({
|
|
214
|
+
path: z.string(),
|
|
215
|
+
confidence: z.enum(["key", "value"])
|
|
216
|
+
});
|
|
217
|
+
var HUBSPOT_LISTENING_STATES = ["listening", "not_configured", "failed"];
|
|
218
|
+
var sourceViewSchema = z.strictObject({
|
|
219
|
+
id: z.string(),
|
|
220
|
+
kind: z.enum(SOURCE_KINDS),
|
|
221
|
+
name: z.string(),
|
|
222
|
+
status: z.enum(SOURCE_STATUSES),
|
|
223
|
+
/** The address a tool posts to. A HubSpot source has none: Baker calls HubSpot. */
|
|
224
|
+
url: z.string().optional(),
|
|
225
|
+
/** What a HubSpot source watches, and on which object. */
|
|
226
|
+
hubspot: hubspotWatchSchema.optional(),
|
|
227
|
+
/** A HubSpot source counts changes from here on; one HubSpot reports from before it is dropped. Moves when the trigger changes. */
|
|
228
|
+
countingSince: z.number().optional(),
|
|
229
|
+
/**
|
|
230
|
+
* Whether HubSpot is keeping this source's changes for Baker, as last
|
|
231
|
+
* checked: `listening` when the app's journal subscription on the account
|
|
232
|
+
* names the property; `not_configured` when the app has not been told yet
|
|
233
|
+
* (or cannot be, with no credentials); `failed` when HubSpot refused the
|
|
234
|
+
* subscription. `detail` says what to do.
|
|
235
|
+
*/
|
|
236
|
+
listening: z.strictObject({ state: z.enum(HUBSPOT_LISTENING_STATES), detail: z.string().optional() }).optional(),
|
|
237
|
+
/** Why the last delivery could not be counted, in product words; absent when the last one was. */
|
|
238
|
+
lastError: z.string().optional(),
|
|
239
|
+
lastArrivalAt: z.number().optional(),
|
|
240
|
+
/**
|
|
241
|
+
* What its last delivery **refused, event by event** — which `lastError` is
|
|
242
|
+
* not and `lastArrivalAt` cannot be. A source refusing everything it
|
|
243
|
+
* receives has no arrival and no read failure, so without this it reads as
|
|
244
|
+
* one nobody has sent anything to. `refusalWords` turns it into the
|
|
245
|
+
* sentence a person is shown. Cleared by the next delivery that counts.
|
|
246
|
+
*/
|
|
247
|
+
lastRefusal: sourceRefusalSchema.optional(),
|
|
248
|
+
/** The first send, masked, while learning. Kept once confirmed. */
|
|
249
|
+
sample: z.strictObject({ receivedAt: z.number(), body: z.string() }).optional(),
|
|
250
|
+
/** Field → template; empty means the guess (an address) or the defaults (a HubSpot read). */
|
|
251
|
+
mapping: z.record(z.string(), z.string()),
|
|
252
|
+
/** The guess over the sample, for the sheet to prefill and the CLI to suggest. */
|
|
253
|
+
detected: z.record(z.string(), detectedFieldSchema).optional(),
|
|
254
|
+
/** Every path the sample's first item holds, with its masked value — what the picker offers. */
|
|
255
|
+
paths: z.array(z.strictObject({ path: z.string(), value: z.string() })).optional(),
|
|
256
|
+
/** `baker` when the sample already parses as the `POST /v1/events` contract and needs no mapping. */
|
|
257
|
+
format: z.enum(["baker", "foreign"]).optional()
|
|
258
|
+
});
|
|
259
|
+
var stagedSourceOpSchema = z.strictObject({
|
|
260
|
+
kind: z.enum(["create", "setTrigger", "map", "status", "remove"]),
|
|
261
|
+
ref: z.string(),
|
|
262
|
+
name: z.string(),
|
|
263
|
+
summary: z.string(),
|
|
264
|
+
/** On a create: what the source will watch and read. */
|
|
265
|
+
hubspot: hubspotWatchSchema.optional(),
|
|
266
|
+
mapping: z.record(z.string(), z.string()).optional(),
|
|
267
|
+
status: z.enum(["paused", "counting"]).optional()
|
|
268
|
+
});
|
|
269
|
+
var backfillResultSchema = z.strictObject({
|
|
270
|
+
sourceId: z.string(),
|
|
271
|
+
name: z.string(),
|
|
272
|
+
since: z.number(),
|
|
273
|
+
/** Records whose history was read. */
|
|
274
|
+
examined: z.number(),
|
|
275
|
+
/** Moments the trigger came to hold, across them. */
|
|
276
|
+
entries: z.number(),
|
|
277
|
+
/** Of those, already counted — the journal got there first, or a previous run did. */
|
|
278
|
+
alreadyCounted: z.number(),
|
|
279
|
+
/** What a `write` run would hand over, or did. */
|
|
280
|
+
pending: z.number(),
|
|
281
|
+
/** Whether the read stopped at its cap; {@link BackfillResult.reachedBack} is where to carry on from. */
|
|
282
|
+
capped: z.boolean(),
|
|
283
|
+
/**
|
|
284
|
+
* How far back the read got: the instant the oldest record it examined was
|
|
285
|
+
* last changed. Only on a capped run, and it is the next run's `before`.
|
|
286
|
+
*/
|
|
287
|
+
reachedBack: z.number().optional(),
|
|
288
|
+
counted: z.number().optional(),
|
|
289
|
+
refused: z.number().optional(),
|
|
290
|
+
refusedReason: z.string().optional()
|
|
291
|
+
});
|
|
292
|
+
var sourcesResponseSchema = z.strictObject({
|
|
293
|
+
ok: z.literal(true),
|
|
294
|
+
data: z.strictObject({
|
|
295
|
+
sources: z.array(sourceViewSchema),
|
|
296
|
+
/** Only when the request carried `preview`. */
|
|
297
|
+
preview: hubspotPreviewSchema.optional(),
|
|
298
|
+
/** Only when the request carried `backfill`. */
|
|
299
|
+
backfill: backfillResultSchema.optional(),
|
|
300
|
+
/** What this chat has staged, when one is attached: applied at Publish, dropped with a discard. */
|
|
301
|
+
staged: z.array(stagedSourceOpSchema).optional()
|
|
302
|
+
}),
|
|
303
|
+
hints: z.array(z.string()).optional()
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
export {
|
|
307
|
+
hubspotDefaultMapping,
|
|
308
|
+
hubspotTriggerInputSchema
|
|
309
|
+
};
|
|
310
|
+
//# sourceMappingURL=chunk-DKGTQSLR.js.map
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import {
|
|
2
|
+
nodeParamsPreview
|
|
3
|
+
} from "./chunk-XMD4SHFI.js";
|
|
4
|
+
import {
|
|
5
|
+
creativeSlugFromCanvasPath,
|
|
6
|
+
parseDefinitionSeriesPlace,
|
|
7
|
+
parseDefinitionSourceFields,
|
|
8
|
+
parseDefinitionStrategyFields
|
|
9
|
+
} from "./chunk-LW4VSTL5.js";
|
|
10
|
+
import {
|
|
11
|
+
prepareCanvas
|
|
12
|
+
} from "./chunk-YPZYOJP6.js";
|
|
13
|
+
import {
|
|
14
|
+
BackendClient
|
|
15
|
+
} from "./chunk-JF47LEPU.js";
|
|
16
|
+
import {
|
|
17
|
+
nodeDependencies
|
|
18
|
+
} from "./chunk-KNWHUMVZ.js";
|
|
19
|
+
import {
|
|
20
|
+
requireCredentialsFromEnv
|
|
21
|
+
} from "./chunk-W3B4BHQU.js";
|
|
22
|
+
|
|
23
|
+
// src/commands/canvas/sync-definition.ts
|
|
24
|
+
import { readdir, readFile, stat } from "fs/promises";
|
|
25
|
+
import path from "path";
|
|
26
|
+
import { parseDocument } from "yaml";
|
|
27
|
+
import { defineCommand } from "citty";
|
|
28
|
+
|
|
29
|
+
// src/commands/canvas/definition-graph.ts
|
|
30
|
+
var MAX_NODES = 300;
|
|
31
|
+
var PREVIEWABLE_INGEST_EXPECTS = /* @__PURE__ */ new Set(["image"]);
|
|
32
|
+
function nodeInputPreviewUrl(type, params) {
|
|
33
|
+
if (type !== "ingest" || !params || typeof params !== "object") return void 0;
|
|
34
|
+
const p = params;
|
|
35
|
+
if (p.source !== "url" || typeof p.url !== "string") return void 0;
|
|
36
|
+
if (!/^https?:\/\//i.test(p.url)) return void 0;
|
|
37
|
+
if (typeof p.expect === "string" && !PREVIEWABLE_INGEST_EXPECTS.has(p.expect)) return void 0;
|
|
38
|
+
return p.url;
|
|
39
|
+
}
|
|
40
|
+
function canvasToDefinitionGraph(canvas) {
|
|
41
|
+
const rawNodes = canvas?.nodes;
|
|
42
|
+
if (!Array.isArray(rawNodes)) return null;
|
|
43
|
+
const parsed = [];
|
|
44
|
+
for (const raw of rawNodes) {
|
|
45
|
+
const id = raw?.id;
|
|
46
|
+
const type = raw?.type;
|
|
47
|
+
if (typeof id !== "string" || typeof type !== "string") continue;
|
|
48
|
+
parsed.push({ id, type, inputs: raw.inputs, params: raw.params });
|
|
49
|
+
if (parsed.length >= MAX_NODES) break;
|
|
50
|
+
}
|
|
51
|
+
if (parsed.length === 0) return null;
|
|
52
|
+
const ids = new Set(parsed.map((n) => n.id));
|
|
53
|
+
const nodes = parsed.map(({ id, type, inputs, params }) => {
|
|
54
|
+
const deps = nodeDependencies({ id, inputs, params }, ids);
|
|
55
|
+
deps.delete(id);
|
|
56
|
+
const depList = [...deps];
|
|
57
|
+
const paramsPreview = nodeParamsPreview(params, depList);
|
|
58
|
+
const base = { id, type };
|
|
59
|
+
if (depList.length > 0) base.deps = depList;
|
|
60
|
+
if (paramsPreview) base.paramsPreview = paramsPreview;
|
|
61
|
+
const inputPreviewUrl = nodeInputPreviewUrl(type, params);
|
|
62
|
+
if (inputPreviewUrl) base.inputPreviewUrl = inputPreviewUrl;
|
|
63
|
+
return base;
|
|
64
|
+
});
|
|
65
|
+
const rawOutput = canvas?.output;
|
|
66
|
+
const outNode = rawOutput?.node;
|
|
67
|
+
const outSlot = rawOutput?.output;
|
|
68
|
+
const output = typeof outNode === "string" && typeof outSlot === "string" ? { node: outNode, output: outSlot } : void 0;
|
|
69
|
+
return { nodes, output };
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// src/commands/canvas/sync-definition.ts
|
|
73
|
+
function buildDefinitionSyncPayload(input, graph, chatId) {
|
|
74
|
+
const { canvas: _canvas, ...fields } = input;
|
|
75
|
+
return Object.fromEntries([
|
|
76
|
+
...Object.entries(fields).filter(([, v]) => v !== void 0),
|
|
77
|
+
["graph", graph],
|
|
78
|
+
["chatId", chatId]
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
async function readDefinitionSourceFields(canvasPath) {
|
|
82
|
+
try {
|
|
83
|
+
return parseDefinitionSourceFields(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8"));
|
|
84
|
+
} catch {
|
|
85
|
+
return {};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async function readDefinitionTitle(canvasPath) {
|
|
89
|
+
try {
|
|
90
|
+
const raw = await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8");
|
|
91
|
+
const match = raw.match(/^---\r?\n([\s\S]*?\r?\n)?---/);
|
|
92
|
+
const doc = match ? parseDocument(match[1] ?? "") : null;
|
|
93
|
+
const title = doc && doc.errors.length === 0 ? doc.get("title") : void 0;
|
|
94
|
+
return typeof title === "string" && title.trim() ? title.trim() : void 0;
|
|
95
|
+
} catch {
|
|
96
|
+
return void 0;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async function readDefinitionStrategyFields(canvasPath) {
|
|
100
|
+
try {
|
|
101
|
+
return parseDefinitionStrategyFields(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8"));
|
|
102
|
+
} catch {
|
|
103
|
+
return {};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async function readDefinitionSeriesPlace(canvasPath) {
|
|
107
|
+
try {
|
|
108
|
+
return parseDefinitionSeriesPlace(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8")) ?? {};
|
|
109
|
+
} catch {
|
|
110
|
+
return {};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async function syncCreativeDefinitionBestEffort(input) {
|
|
114
|
+
const chatId = process.env.BAKER_CHAT_ID;
|
|
115
|
+
if (!chatId) return;
|
|
116
|
+
const graph = canvasToDefinitionGraph(input.canvas);
|
|
117
|
+
if (!graph || graph.nodes.length === 0) return;
|
|
118
|
+
try {
|
|
119
|
+
const creds = requireCredentialsFromEnv();
|
|
120
|
+
const client = new BackendClient({ baseUrl: creds.url, apiKey: creds.apiKey });
|
|
121
|
+
await client.syncCreativeDefinition(buildDefinitionSyncPayload(input, graph, chatId));
|
|
122
|
+
process.stdout.write(`[definition] synced workflow graph (${graph.nodes.length} nodes) \u2014 view it in the dashboard
|
|
123
|
+
`);
|
|
124
|
+
} catch (e) {
|
|
125
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
126
|
+
process.stderr.write(`[warn] workflow graph not synced (${msg})
|
|
127
|
+
`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async function resolveCanvasPath(inputPath) {
|
|
131
|
+
const resolved = path.resolve(inputPath);
|
|
132
|
+
let dir = resolved;
|
|
133
|
+
try {
|
|
134
|
+
if ((await stat(resolved)).isFile()) {
|
|
135
|
+
if (resolved.endsWith(".canvas.json")) return resolved;
|
|
136
|
+
dir = path.dirname(resolved);
|
|
137
|
+
}
|
|
138
|
+
} catch {
|
|
139
|
+
dir = resolved.endsWith(".canvas.json") ? path.dirname(resolved) : resolved;
|
|
140
|
+
}
|
|
141
|
+
let entries;
|
|
142
|
+
try {
|
|
143
|
+
entries = await readdir(dir);
|
|
144
|
+
} catch {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
const canvases = entries.filter((name) => name.endsWith(".canvas.json"));
|
|
148
|
+
const slug = creativeSlugFromCanvasPath(`${dir}/x/`);
|
|
149
|
+
const chosen = (slug ? canvases.find((name) => name === `${slug}.canvas.json`) : void 0) ?? canvases[0];
|
|
150
|
+
return chosen ? path.join(dir, chosen) : null;
|
|
151
|
+
}
|
|
152
|
+
var syncDefinitionCommand = defineCommand({
|
|
153
|
+
meta: {
|
|
154
|
+
name: "sync-definition",
|
|
155
|
+
description: "Push a creative's current node-graph + input thumbnails to the dashboard without rendering. The graph has the creative's blueprint applied (prompt.json and scenes/*.json edits), exactly as `run` would render it, without changing any file. Runs automatically when you edit a creative's canvas.json or prompt.json."
|
|
156
|
+
},
|
|
157
|
+
args: {
|
|
158
|
+
file: {
|
|
159
|
+
type: "positional",
|
|
160
|
+
required: true,
|
|
161
|
+
description: "A path under src/creatives/<slug>/ (the .canvas.json, its prompt.json, or the folder)"
|
|
162
|
+
},
|
|
163
|
+
title: {
|
|
164
|
+
type: "boolean",
|
|
165
|
+
description: "Also record the title its _definition.md gives. Only for a creative just made from another (a series ad, a translation), never on an edit re-sync."
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
async run({ args }) {
|
|
169
|
+
const canvasPath = await resolveCanvasPath(String(args.file));
|
|
170
|
+
if (!canvasPath) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
const slug = creativeSlugFromCanvasPath(canvasPath);
|
|
174
|
+
if (!slug) return;
|
|
175
|
+
let canvas;
|
|
176
|
+
let sourceSha;
|
|
177
|
+
try {
|
|
178
|
+
const prepared = await prepareCanvas(canvasPath, { write: false });
|
|
179
|
+
canvas = prepared.fileGraph;
|
|
180
|
+
sourceSha = prepared.sourceSha;
|
|
181
|
+
} catch {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const title = args.title ? await readDefinitionTitle(canvasPath) : void 0;
|
|
185
|
+
await syncCreativeDefinitionBestEffort({
|
|
186
|
+
slug,
|
|
187
|
+
canvas,
|
|
188
|
+
sourceSha,
|
|
189
|
+
...title ? { title } : {},
|
|
190
|
+
...await readDefinitionSourceFields(canvasPath),
|
|
191
|
+
...await readDefinitionStrategyFields(canvasPath),
|
|
192
|
+
...await readDefinitionSeriesPlace(canvasPath)
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
export {
|
|
198
|
+
buildDefinitionSyncPayload,
|
|
199
|
+
readDefinitionSourceFields,
|
|
200
|
+
readDefinitionTitle,
|
|
201
|
+
readDefinitionStrategyFields,
|
|
202
|
+
readDefinitionSeriesPlace,
|
|
203
|
+
syncCreativeDefinitionBestEffort,
|
|
204
|
+
resolveCanvasPath,
|
|
205
|
+
syncDefinitionCommand
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=chunk-DR34ZTWD.js.map
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ACTION_TEMP_ID_PREFIX
|
|
3
|
+
} from "./chunk-NDXBU22S.js";
|
|
4
|
+
import {
|
|
5
|
+
ApiError
|
|
6
|
+
} from "./chunk-XBOK23HI.js";
|
|
7
|
+
import {
|
|
8
|
+
writeJson
|
|
9
|
+
} from "./chunk-NU7JSWVA.js";
|
|
10
|
+
|
|
11
|
+
// src/commands/actions/tagError.ts
|
|
12
|
+
var UNKNOWN_TAG_RE = /Unknown action tag\(s\): ([^.]+)\. Valid tags: ([^.]+)\./;
|
|
13
|
+
function splitSlugs(list) {
|
|
14
|
+
return list.split(",").map((slug) => slug.trim()).filter((slug) => slug.length > 0);
|
|
15
|
+
}
|
|
16
|
+
function actionTagFix(message) {
|
|
17
|
+
const match = UNKNOWN_TAG_RE.exec(message);
|
|
18
|
+
if (!match) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const [, unknownList, validList] = match;
|
|
22
|
+
const unknownTags = splitSlugs(unknownList ?? "");
|
|
23
|
+
const validTags = splitSlugs(validList ?? "");
|
|
24
|
+
const first = unknownTags[0];
|
|
25
|
+
if (first === void 0 || validTags.length === 0) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
action: "retry_with_a_valid_tag",
|
|
30
|
+
explanation: `The tag(s) ${unknownTags.join(", ")} are not in this company's taxonomy. \`validTags\` below is the complete accepted set \u2014 pick from it and re-run the same command. Only mint a new tag when none of them names this work; a near-duplicate of an existing tag splits the backlog's filter instead of extending it.`,
|
|
31
|
+
unknownTags,
|
|
32
|
+
validTags,
|
|
33
|
+
mintCommand: `baker actions tags create --slug ${first} --description "<what ${first} groups>"`,
|
|
34
|
+
listCommand: "baker actions tags list"
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// src/commands/actions/shared.ts
|
|
39
|
+
function writeOk(data) {
|
|
40
|
+
writeJson({ ok: true, data: data ?? null });
|
|
41
|
+
}
|
|
42
|
+
function failValidation(message) {
|
|
43
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message } });
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
function failApi(err) {
|
|
47
|
+
if (err instanceof ApiError) {
|
|
48
|
+
const fix = actionTagFix(err.message);
|
|
49
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message, ...fix ? { fix } : {} } });
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
if (err instanceof Error) {
|
|
53
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: err.message } });
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
function generateTempId() {
|
|
60
|
+
return `${ACTION_TEMP_ID_PREFIX}${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
|
|
61
|
+
}
|
|
62
|
+
function isTempId(id) {
|
|
63
|
+
return id.startsWith(ACTION_TEMP_ID_PREFIX);
|
|
64
|
+
}
|
|
65
|
+
function parseTagList(value) {
|
|
66
|
+
if (typeof value !== "string") {
|
|
67
|
+
return void 0;
|
|
68
|
+
}
|
|
69
|
+
const tags = value.split(",").map((t) => t.trim()).filter((t) => t.length > 0);
|
|
70
|
+
return [...new Set(tags)];
|
|
71
|
+
}
|
|
72
|
+
var ACTION_PRIORITIES = ["urgent", "high", "medium", "low"];
|
|
73
|
+
function parsePriority(value, { allowClear }) {
|
|
74
|
+
if (value === void 0) {
|
|
75
|
+
return void 0;
|
|
76
|
+
}
|
|
77
|
+
if (typeof value !== "string") {
|
|
78
|
+
failValidation(
|
|
79
|
+
`--priority must be one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
const trimmed = value.trim().toLowerCase();
|
|
83
|
+
if (trimmed === "") {
|
|
84
|
+
if (allowClear) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return void 0;
|
|
88
|
+
}
|
|
89
|
+
if (allowClear && (trimmed === "none" || trimmed === "clear")) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
if (ACTION_PRIORITIES.includes(trimmed)) {
|
|
93
|
+
return trimmed;
|
|
94
|
+
}
|
|
95
|
+
failValidation(
|
|
96
|
+
`Unknown --priority "${value}". Expected one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
var FAN_OUT_NUDGE_THRESHOLD = 2;
|
|
100
|
+
var FAN_OUT_THRESHOLD = 3;
|
|
101
|
+
function buildCreateHints({
|
|
102
|
+
advisory,
|
|
103
|
+
description,
|
|
104
|
+
tempId,
|
|
105
|
+
tags,
|
|
106
|
+
prioritySet,
|
|
107
|
+
draftCreateCount
|
|
108
|
+
}) {
|
|
109
|
+
const hints = [];
|
|
110
|
+
if (advisory) {
|
|
111
|
+
hints.push(
|
|
112
|
+
`${advisory.hint} If nothing actually blocks it: baker actions draft remove ${tempId}, then do the work.`
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
if (draftCreateCount >= FAN_OUT_THRESHOLD) {
|
|
116
|
+
hints.push(
|
|
117
|
+
`${draftCreateCount} Tasks are staged in this chat. Re-read them with \`baker actions draft\`: can any be done now with a surface you already have, and do any two touch the same system (same container, same campaign, same page)? Those belong in ONE Task \u2014 fold them together with \`baker actions update\` and drop the extras with \`baker actions draft remove <tempId>\`.`
|
|
118
|
+
);
|
|
119
|
+
} else if (draftCreateCount === FAN_OUT_NUDGE_THRESHOLD) {
|
|
120
|
+
hints.push(
|
|
121
|
+
`Second Task staged in this chat. If these two land on the same system (same container, same campaign, same page) they are ONE Task \u2014 fold them with \`baker actions update\` and drop the extra with \`baker actions draft remove ${tempId}\`.`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
hints.push(`Link dependencies: baker actions link --blocker <id> --blocked ${tempId}`);
|
|
125
|
+
if (!description) {
|
|
126
|
+
hints.push("Add description: baker actions update <tempId> --description '...' (what/why/where/done-when)");
|
|
127
|
+
}
|
|
128
|
+
if (!tags || tags.length === 0) {
|
|
129
|
+
hints.push(
|
|
130
|
+
"MISSING --tags. This action is invisible to the backlog's tag filter. Re-run with --tags <slug,...> (`baker actions tags list` for the taxonomy, `baker actions tags create --slug <slug>` to mint) \u2014 or `baker actions update <tempId> --tags <slug,...>`."
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
if (!prioritySet) {
|
|
134
|
+
hints.push(
|
|
135
|
+
`MISSING --priority. Without it this action ranks as 'normal' (medium) in the do-first ordering, so urgent/high client work won't surface first. Re-run with --priority ${ACTION_PRIORITIES.join("|")} \u2014 or \`baker actions update <tempId> --priority <level>\`.`
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
return hints;
|
|
139
|
+
}
|
|
140
|
+
var ACTIONS_LIST_DEFAULT_LIMIT = 500;
|
|
141
|
+
function buildListHints({ returned, limit }) {
|
|
142
|
+
if (returned < limit) {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
return [
|
|
146
|
+
`This list is capped at ${limit} Tasks and came back full, so older Tasks exist that are NOT shown. Do not treat it as the whole backlog \u2014 re-run with --limit ${limit * 2} (or narrow with --status / --search).`
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export {
|
|
151
|
+
writeOk,
|
|
152
|
+
failValidation,
|
|
153
|
+
failApi,
|
|
154
|
+
generateTempId,
|
|
155
|
+
isTempId,
|
|
156
|
+
parseTagList,
|
|
157
|
+
ACTION_PRIORITIES,
|
|
158
|
+
parsePriority,
|
|
159
|
+
buildCreateHints,
|
|
160
|
+
ACTIONS_LIST_DEFAULT_LIMIT,
|
|
161
|
+
buildListHints
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=chunk-E4MDJBLO.js.map
|