@aglyn/plugins-marketing 1.0.0-beta.221 → 1.0.0-beta.223
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 +4 -1
- package/package.json +15 -15
- package/src/lib/components/campaign-conversions-card.js +53 -64
- package/src/lib/components/campaign-conversions-card.js.map +1 -1
- package/src/lib/components/campaign-detail-card.js +18 -3
- package/src/lib/components/campaign-detail-card.js.map +1 -1
- package/src/lib/components/campaign-edit-drawer.d.ts +6 -0
- package/src/lib/components/campaign-edit-drawer.js +13 -2
- package/src/lib/components/campaign-edit-drawer.js.map +1 -1
- package/src/lib/components/campaign-queries.d.ts +5 -0
- package/src/lib/components/campaign-queries.js +8 -1
- package/src/lib/components/campaign-queries.js.map +1 -1
- package/src/lib/components/campaign-reach-sections.d.ts +28 -0
- package/src/lib/components/campaign-reach-sections.js +96 -5
- package/src/lib/components/campaign-reach-sections.js.map +1 -1
- package/src/lib/components/campaign-report-card.js +5 -4
- package/src/lib/components/campaign-report-card.js.map +1 -1
- package/src/lib/components/campaigns-card.js +1 -1
- package/src/lib/components/campaigns-card.js.map +1 -1
- package/src/lib/components/conversion-attribution.component.d.ts +18 -0
- package/src/lib/components/conversion-attribution.component.js +177 -39
- package/src/lib/components/conversion-attribution.component.js.map +1 -1
- package/src/lib/components/email-compose-card.js +1 -1
- package/src/lib/components/email-compose-card.js.map +1 -1
- package/src/lib/components/email-detail.js +5 -4
- package/src/lib/components/email-detail.js.map +1 -1
- package/src/lib/components/email-template-report-card.d.ts +53 -0
- package/src/lib/components/email-template-report-card.js +469 -0
- package/src/lib/components/email-template-report-card.js.map +1 -0
- package/src/lib/components/emails-list-card.js +2 -2
- package/src/lib/components/emails-list-card.js.map +1 -1
- package/src/lib/components/host-experiments-card.component.js +3 -2
- package/src/lib/components/host-experiments-card.component.js.map +1 -1
- package/src/lib/components/record-attribution-widget.d.ts +5 -0
- package/src/lib/components/record-attribution-widget.js +6 -3
- package/src/lib/components/record-attribution-widget.js.map +1 -1
- package/src/lib/components/site-runtime.d.ts +5 -0
- package/src/lib/components/site-runtime.js +104 -3
- package/src/lib/components/site-runtime.js.map +1 -1
- package/src/lib/declarations.server.d.ts +9 -0
- package/src/lib/declarations.server.js +78 -0
- package/src/lib/declarations.server.js.map +1 -1
- package/src/lib/model/campaign-container.d.ts +531 -0
- package/src/lib/model/campaign-container.js +532 -0
- package/src/lib/model/campaign-container.js.map +1 -0
- package/src/lib/model/campaign-conversions.d.ts +55 -4
- package/src/lib/model/campaign-conversions.js +60 -4
- package/src/lib/model/campaign-conversions.js.map +1 -1
- package/src/lib/model/campaign-report.d.ts +158 -0
- package/src/lib/model/campaign-report.js +268 -0
- package/src/lib/model/campaign-report.js.map +1 -0
- package/src/lib/model/campaign-revenue.d.ts +3 -3
- package/src/lib/model/campaign-revenue.js +3 -3
- package/src/lib/model/campaign-revenue.js.map +1 -1
- package/src/lib/model/campaign-send-time.js +2 -2
- package/src/lib/model/campaign-send-time.js.map +1 -1
- package/src/lib/model/campaign-visits.d.ts +74 -0
- package/src/lib/model/campaign-visits.js +65 -0
- package/src/lib/model/campaign-visits.js.map +1 -0
- package/src/lib/model/compile-client-automations.d.ts +2 -2
- package/src/lib/model/compile-client-automations.js +3 -3
- package/src/lib/model/compile-client-automations.js.map +1 -1
- package/src/lib/model/email-record.d.ts +175 -0
- package/src/lib/model/email-record.js +206 -0
- package/src/lib/model/email-record.js.map +1 -0
- package/src/lib/model/site-contract.d.ts +2 -2
- package/src/lib/model/site-contract.js.map +1 -1
- package/src/lib/model/template-report.d.ts +158 -0
- package/src/lib/model/template-report.js +249 -0
- package/src/lib/model/template-report.js.map +1 -0
- package/src/lib/plugin.js +16 -0
- package/src/lib/plugin.js.map +1 -1
- package/src/lib/preview-props.js.map +1 -1
- package/src/lib/server/campaign-attribution-store.d.ts +55 -0
- package/src/lib/server/campaign-attribution-store.js +98 -0
- package/src/lib/server/campaign-attribution-store.js.map +1 -0
- package/src/lib/server/campaign-conversion-attribution.d.ts +314 -0
- package/src/lib/server/campaign-conversion-attribution.js +549 -0
- package/src/lib/server/campaign-conversion-attribution.js.map +1 -0
- package/src/lib/server/campaign-manage.js +1 -1
- package/src/lib/server/campaign-manage.js.map +1 -1
- package/src/lib/server/campaign-org-refs.js +1 -1
- package/src/lib/server/campaign-org-refs.js.map +1 -1
- package/src/lib/server/campaign-recipients.js +7 -7
- package/src/lib/server/campaign-recipients.js.map +1 -1
- package/src/lib/server/campaign-send.js +25 -19
- package/src/lib/server/campaign-send.js.map +1 -1
- package/src/lib/server/campaign-touch-targets.d.ts +61 -0
- package/src/lib/server/campaign-touch-targets.js +162 -0
- package/src/lib/server/campaign-touch-targets.js.map +1 -0
- package/src/lib/server/campaign-visit-beacon.d.ts +44 -0
- package/src/lib/server/campaign-visit-beacon.js +125 -0
- package/src/lib/server/campaign-visit-beacon.js.map +1 -0
- package/src/lib/server/conversion-creditor.d.ts +18 -0
- package/src/lib/server/conversion-creditor.js +238 -0
- package/src/lib/server/conversion-creditor.js.map +1 -0
- package/src/lib/server/email-campaign-touch.d.ts +81 -0
- package/src/lib/server/email-campaign-touch.js +227 -0
- package/src/lib/server/email-campaign-touch.js.map +1 -0
- package/src/lib/server/email-events.js +32 -31
- package/src/lib/server/email-events.js.map +1 -1
- package/src/lib/server/email-revenue-attribution.d.ts +186 -0
- package/src/lib/server/email-revenue-attribution.js +322 -0
- package/src/lib/server/email-revenue-attribution.js.map +1 -0
- package/src/lib/server/email-send-record-index.d.ts +34 -0
- package/src/lib/server/email-send-record-index.js +90 -0
- package/src/lib/server/email-send-record-index.js.map +1 -0
- package/src/lib/server/get-client-automations.js.map +1 -1
- package/src/lib/server/marketing-figures.js +3 -3
- package/src/lib/server/marketing-figures.js.map +1 -1
- package/src/lib/server/send-tally.d.ts +32 -0
- package/src/lib/server/send-tally.js +54 -0
- package/src/lib/server/send-tally.js.map +1 -0
- package/src/lib/server/site-page-enricher.js +18 -2
- package/src/lib/server/site-page-enricher.js.map +1 -1
- package/src/lib/testing/stand-in-person-records.d.ts +35 -0
- package/src/lib/testing/stand-in-person-records.js +67 -0
- package/src/lib/testing/stand-in-person-records.js.map +1 -0
- package/src/lib/testing/stand-in-record-counts.d.ts +26 -0
- package/src/lib/testing/stand-in-record-counts.js +70 -0
- package/src/lib/testing/stand-in-record-counts.js.map +1 -0
- package/src/lib/transfer/campaigns-package.d.ts +72 -0
- package/src/lib/transfer/campaigns-package.js +145 -0
- package/src/lib/transfer/campaigns-package.js.map +1 -0
- package/src/lib/transfer/campaigns-package.server.d.ts +33 -0
- package/src/lib/transfer/campaigns-package.server.js +305 -0
- package/src/lib/transfer/campaigns-package.server.js.map +1 -0
|
@@ -15,18 +15,19 @@ import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/ import { checkQuota, contactMatchesSegment, isSubscriptionTopicId, DEFAULT_SUBSCRIPTION_TOPIC_ID, readMarketingBasis, resolveMarketingConsentPolicy, splitByMarketingConsent, createResourceUid, decodeStoredNodes, emailStarterSendBlock, resolveBrandingProfile, seenOnlyThroughGrant, siteLockdownFromDocs, visibleToHost } from "@aglyn/aglyn/server";
|
|
18
|
+
import { readListingRevocation } from "@aglyn/aglyn/plugin-manager/plugin-revocations";
|
|
18
19
|
import { renderRecipientEmail } from "@aglyn/aglyn/app-utils/recipient-email-render";
|
|
19
20
|
import { composeHostComponentNodes } from "@aglyn/aglyn/app-utils/load-referenced-components";
|
|
20
21
|
import { assignExperimentVariant } from "../model/index.js";
|
|
21
|
-
import { campaignHeldForReviewNotice, campaignPlacedOnHost, campaignSendHeldForReview } from "
|
|
22
|
+
import { campaignHeldForReviewNotice, campaignPlacedOnHost, campaignSendHeldForReview } from "../model/campaign-container.js";
|
|
22
23
|
import { readPluginRecordCard } from "@aglyn/aglyn/plugin-manager/plugin-record-cards";
|
|
23
24
|
import { hostPublicOrigin } from "@aglyn/aglyn/server";
|
|
24
25
|
import { consentGroupForSite, orgDataCollectionForHost, orgDataQueryForHost, filterDeliverableRecipients, filterSendableForHost, filterTopicSendable, firebaseAdmin, getOrgForHost, meterHostEmail, claimOrgEmailSendBudget, orgCampaignEmailSendsForMonth, readEmailSendRateConfig, readEmailSendRateWindow, reconcileCampaignSendReservation, reserveCampaignEmailSends, resolveHostSendingIdentity } from "@aglyn/tenant-data-admin";
|
|
25
26
|
import { raiseOperatorAlert } from "@aglyn/tenant-data-admin/server/operator-alerts";
|
|
26
27
|
import { MARKETING_REPUTATION_BREAKER } from "../constants/operator-alerts.js";
|
|
27
|
-
// The
|
|
28
|
-
//
|
|
29
|
-
import {
|
|
28
|
+
// The person behind an address, through the plugin that keeps people
|
|
29
|
+
// (AGL-3080): the sender never opens the record system's collections.
|
|
30
|
+
import { findPluginPerson } from "@aglyn/aglyn/plugin-manager/plugin-person-records";
|
|
30
31
|
import { siteEmailFrame } from "@aglyn/tenant-data-admin/server/host-email-tokens";
|
|
31
32
|
import { isDocumentId } from "@aglyn/tenant-data-admin/server/document-id";
|
|
32
33
|
/*
|
|
@@ -293,7 +294,13 @@ const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
|
293
294
|
* is what keeps that read from happening.
|
|
294
295
|
*/ const installedFrom = (_ref = versionSnapshot == null ? void 0 : versionSnapshot.get('installedFrom')) != null ? _ref : screenSnapshot.get('installedFrom');
|
|
295
296
|
if (installedFrom == null ? void 0 : installedFrom.listingId) {
|
|
296
|
-
|
|
297
|
+
/*
|
|
298
|
+
* The revocation is kept by the plugin that runs the distribution channel
|
|
299
|
+
* the design came from, and asked through the platform's slot
|
|
300
|
+
* (`plugin-revocations`). A reader that FAILS throws through, so a send
|
|
301
|
+
* that cannot learn whether its design was pulled is refused rather than
|
|
302
|
+
* mailed — the direction the read had when this file made it itself.
|
|
303
|
+
*/ const revocation = await readListingRevocation(installedFrom.listingId);
|
|
297
304
|
const block = emailStarterSendBlock({
|
|
298
305
|
installedFrom,
|
|
299
306
|
revocation
|
|
@@ -2525,15 +2532,13 @@ export async function performCampaignSend(options) {
|
|
|
2525
2532
|
* The three sources are the three an audience is built from, tried in the
|
|
2526
2533
|
* order a small site grows them. Nothing here is taken from the request.
|
|
2527
2534
|
*
|
|
2528
|
-
* The
|
|
2529
|
-
*
|
|
2530
|
-
*
|
|
2531
|
-
*
|
|
2532
|
-
*
|
|
2533
|
-
*
|
|
2534
|
-
* address names, which is the same shape the segment branch above uses.
|
|
2535
|
+
* The third is the person the workspace keeps for the address, asked of the
|
|
2536
|
+
* plugin that keeps people (`plugin-person-records`, AGL-3080) and narrowed
|
|
2537
|
+
* to this site: the owner's address lookup answers an alternate address a
|
|
2538
|
+
* merge folded in (AGL-2633), and the scope check is applied to the one
|
|
2539
|
+
* record an address names, which is the same shape the segment branch above
|
|
2540
|
+
* uses.
|
|
2535
2541
|
*/ async function findAudienceDocument(hostId, email) {
|
|
2536
|
-
var _contact_data;
|
|
2537
2542
|
const hostRef = firebaseAdmin.app().firestore().collection('hosts').doc(hostId);
|
|
2538
2543
|
for (const [collection, nameFields] of [
|
|
2539
2544
|
[
|
|
@@ -2564,12 +2569,13 @@ export async function performCampaignSend(options) {
|
|
|
2564
2569
|
};
|
|
2565
2570
|
}
|
|
2566
2571
|
}
|
|
2567
|
-
const
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2572
|
+
const person = await findPluginPerson({
|
|
2573
|
+
hostId,
|
|
2574
|
+
email,
|
|
2575
|
+
onlyVisibleToSite: true
|
|
2576
|
+
}).catch(()=>null);
|
|
2577
|
+
return person ? {
|
|
2578
|
+
data: _extends({}, person.data),
|
|
2573
2579
|
nameFields: [
|
|
2574
2580
|
'name',
|
|
2575
2581
|
'firstName'
|