@mj-biz-apps/marketing-server 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/agents/BaseMarketingAgent.d.ts.map +1 -1
  2. package/dist/agents/BaseMarketingAgent.js +22 -1
  3. package/dist/agents/BaseMarketingAgent.js.map +1 -1
  4. package/dist/agents/MarketingExperimentationAgent.d.ts +14 -0
  5. package/dist/agents/MarketingExperimentationAgent.d.ts.map +1 -1
  6. package/dist/agents/MarketingExperimentationAgent.js +169 -13
  7. package/dist/agents/MarketingExperimentationAgent.js.map +1 -1
  8. package/dist/agents/MarketingStrategyOnboardingAgent.d.ts.map +1 -1
  9. package/dist/agents/MarketingStrategyOnboardingAgent.js +38 -4
  10. package/dist/agents/MarketingStrategyOnboardingAgent.js.map +1 -1
  11. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.d.ts +397 -310
  12. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.d.ts.map +1 -1
  13. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.js +678 -326
  14. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.js.map +1 -1
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/programs/ContentPostProgramDriver.d.ts +4 -8
  19. package/dist/programs/ContentPostProgramDriver.d.ts.map +1 -1
  20. package/dist/programs/ContentPostProgramDriver.js +16 -46
  21. package/dist/programs/ContentPostProgramDriver.js.map +1 -1
  22. package/dist/programs/EmailProgramDriver.d.ts +3 -5
  23. package/dist/programs/EmailProgramDriver.d.ts.map +1 -1
  24. package/dist/programs/EmailProgramDriver.js +15 -21
  25. package/dist/programs/EmailProgramDriver.js.map +1 -1
  26. package/dist/programs/google/GoogleAdsProgramDriver.d.ts +3 -5
  27. package/dist/programs/google/GoogleAdsProgramDriver.d.ts.map +1 -1
  28. package/dist/programs/google/GoogleAdsProgramDriver.js +26 -25
  29. package/dist/programs/google/GoogleAdsProgramDriver.js.map +1 -1
  30. package/dist/programs/index.d.ts +2 -0
  31. package/dist/programs/index.d.ts.map +1 -1
  32. package/dist/programs/index.js.map +1 -1
  33. package/dist/programs/linkedin/LinkedInAdsClient.d.ts.map +1 -1
  34. package/dist/programs/linkedin/LinkedInAdsClient.js +13 -3
  35. package/dist/programs/linkedin/LinkedInAdsClient.js.map +1 -1
  36. package/dist/programs/linkedin/LinkedInAdsProgramDriver.d.ts +3 -5
  37. package/dist/programs/linkedin/LinkedInAdsProgramDriver.d.ts.map +1 -1
  38. package/dist/programs/linkedin/LinkedInAdsProgramDriver.js +36 -27
  39. package/dist/programs/linkedin/LinkedInAdsProgramDriver.js.map +1 -1
  40. package/package.json +6 -6
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import './generated/generated.js';
9
9
  export { LoadAllProgramDrivers, EmailProgramDriver, LoadEmailProgramDriver, ContentPostProgramDriver, LoadContentPostProgramDriver, LinkedInAdsProgramDriver, LoadLinkedInAdsProgramDriver, GoogleAdsProgramDriver, LoadGoogleAdsProgramDriver, LinkedInAdsClient, LinkedInApiError, resolveLinkedInExecutionContext, LINKEDIN_CREDENTIAL_TYPE, GoogleAdsClient, GoogleAdsApiError, resolveGoogleExecutionContext, GOOGLE_CREDENTIAL_TYPE, } from './programs/index.js';
10
+ export type { LinkedInExecutionContext, LinkedInExecutionReady, LinkedInContextResolver, GoogleExecutionContext, GoogleExecutionReady, GoogleContextResolver } from './programs/index.js';
10
11
  export { BaseMarketingAgent, LoadBaseMarketingAgent, LoadAllMarketingAgents, type AuthorizedBrandOption } from './agents/index.js';
11
12
  export { MarketingStrategyOnboardingAgent, LoadMarketingStrategyOnboardingAgent } from './agents/index.js';
12
13
  export { MarketingExperimentationAgent, LoadMarketingExperimentationAgent } from './agents/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2BH,OAAO,0BAA0B,CAAC;AAQlC,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAAE,sBAAsB,EAC1C,wBAAwB,EAAE,4BAA4B,EACtD,wBAAwB,EAAE,4BAA4B,EACtD,sBAAsB,EAAE,0BAA0B,EAClD,iBAAiB,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,wBAAwB,EAC9F,eAAe,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,sBAAsB,GAC5F,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACnI,OAAO,EAAE,gCAAgC,EAAE,oCAAoC,EAAE,MAAM,mBAAmB,CAAC;AAK3G,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AAGrG,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAQvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAOlF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAG1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAajD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2BH,OAAO,0BAA0B,CAAC;AAQlC,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAAE,sBAAsB,EAC1C,wBAAwB,EAAE,4BAA4B,EACtD,wBAAwB,EAAE,4BAA4B,EACtD,sBAAsB,EAAE,0BAA0B,EAClD,iBAAiB,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,wBAAwB,EAC9F,eAAe,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,sBAAsB,GAC5F,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAK1L,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACnI,OAAO,EAAE,gCAAgC,EAAE,oCAAoC,EAAE,MAAM,mBAAmB,CAAC;AAK3G,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AAGrG,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAQvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAOlF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAG1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAajD"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type UserInfo } from '@memberjunction/core';
2
- import { BaseProgramTypeDriver, type DriverValidationIssue, type MetricCollectionWindow, type MetricObservation, type ProgramForDriver, type ProgramTypeParamSpec, type DriverRetirementReason, type RefreshStatusResult } from '@mj-biz-apps/marketing-core';
2
+ import { BaseProgramTypeDriver, type DriverValidationIssue, type MetricCollectionWindow, type MetricObservation, type ProgramForDriver, type ProgramTypeParamSpec, type DriverRetirementReason, type RefreshStatusResult, type RetireStatusResult } from '@mj-biz-apps/marketing-core';
3
3
  /**
4
4
  * ContentPost driver — the first driver whose measurement is real (PRD v2 §3.2/§3.4).
5
5
  *
@@ -12,8 +12,8 @@ import { BaseProgramTypeDriver, type DriverValidationIssue, type MetricCollectio
12
12
  * `refreshStatus` maintains both layers of the model:
13
13
  * 1. the SPRINT's window totals (all of the brand's content activity in the window —
14
14
  * the reliable, always-present numbers), and
15
- * 2. a per-program **Linked** ProgramObservation for the window, converged
16
- * idempotently (re-polling a window updates the same row).
15
+ * 2. a per-program **Linked** ProgramObservation for the sprint, converged
16
+ * idempotently (re-polling a sprint updates the same row — KI-93).
17
17
  *
18
18
  * The other launch types (Email, Retargeting, Physical Mail) measure external systems
19
19
  * and keep the base class's honest no-op until their providers land — their attribution
@@ -29,16 +29,12 @@ export declare class ContentPostProgramDriver extends BaseProgramTypeDriver {
29
29
  onLock(_program: ProgramForDriver): Promise<void>;
30
30
  collectMetrics(program: ProgramForDriver, window: MetricCollectionWindow): Promise<MetricObservation[] | null>;
31
31
  refreshStatus(program: ProgramForDriver, window: MetricCollectionWindow): Promise<RefreshStatusResult>;
32
- onRetire(_program: ProgramForDriver, _reason: DriverRetirementReason): Promise<void>;
32
+ onRetire(_program: ProgramForDriver, _reason: DriverRetirementReason): Promise<RetireStatusResult>;
33
33
  /** Brand-wide CPM totals for the window. */
34
34
  private brandSlice;
35
35
  /** CPM totals for the window, restricted to content joined to THIS program. */
36
36
  private programSlice;
37
37
  private slice;
38
- /** The sprint that CONTAINS the window's start (StartDate <= start < EndDate) — never an overlap test, which double-matches at the seam. */
39
- private windowSprintId;
40
- /** Insert-or-update the window's Linked observation so re-polling converges. */
41
- private convergeObservation;
42
38
  }
43
39
  export declare function LoadContentPostProgramDriver(): void;
44
40
  //# sourceMappingURL=ContentPostProgramDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPostProgramDriver.d.ts","sourceRoot":"","sources":["../../src/programs/ContentPostProgramDriver.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACH,qBAAqB,EAErB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAC3B,MAAM,6BAA6B,CAAC;AAcrC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,wBAAyB,SAAQ,qBAAqB;IAInD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAHzC,SAAgB,QAAQ,iBAAiB;IACzC,SAAgB,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAM;gBAExC,WAAW,CAAC,EAAE,QAAQ;IAItC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAI3F,+EAA+E;IAClE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjD,cAAc,CACvB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAahB,aAAa,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,mBAAmB,CAAC;IAmClB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjG,4CAA4C;YAC9B,UAAU;IAIxB,+EAA+E;YACjE,YAAY;YAkBZ,KAAK;IAmBnB,4IAA4I;YAC9H,cAAc;IAU5B,gFAAgF;YAClE,mBAAmB;CAiCpC;AAED,wBAAgB,4BAA4B,SAAK"}
1
+ {"version":3,"file":"ContentPostProgramDriver.d.ts","sourceRoot":"","sources":["../../src/programs/ContentPostProgramDriver.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACH,qBAAqB,EAErB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAC1B,MAAM,6BAA6B,CAAC;AAerC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,wBAAyB,SAAQ,qBAAqB;IAInD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAHzC,SAAgB,QAAQ,iBAAiB;IACzC,SAAgB,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAM;gBAExC,WAAW,CAAC,EAAE,QAAQ;IAItC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAI3F,+EAA+E;IAClE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjD,cAAc,CACvB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAahB,aAAa,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,mBAAmB,CAAC;IA4ClB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAO/G,4CAA4C;YAC9B,UAAU;IAIxB,+EAA+E;YACjE,YAAY;YAkBZ,KAAK;CAmBtB;AAED,wBAAgB,4BAA4B,SAAK"}
@@ -10,10 +10,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { EscapeSQLString, RegisterClass } from '@memberjunction/global';
11
11
  import { Metadata, RunView, LogStatus } from '@memberjunction/core';
12
12
  import { BaseProgramTypeDriver, toMarketingEntityName, } from '@mj-biz-apps/marketing-core';
13
+ import { ConvergeObservation } from '@mj-biz-apps/marketing-actions';
13
14
  /** Escapes a value for an ExtraFilter string literal. */
14
15
  const esc = (v) => EscapeSQLString(v);
15
16
  /** ISO date literal for SQL date comparison. */
16
17
  const d = (dt) => dt.toISOString().slice(0, 10);
18
+ /** The content join's SourceRef — also its source family's prefix, which keys its observation row (HA-5). */
19
+ const CONTENT_SOURCE_REF = 'ContentPerformanceMetric via ProgramContent join';
17
20
  /**
18
21
  * ContentPost driver — the first driver whose measurement is real (PRD v2 §3.2/§3.4).
19
22
  *
@@ -26,8 +29,8 @@ const d = (dt) => dt.toISOString().slice(0, 10);
26
29
  * `refreshStatus` maintains both layers of the model:
27
30
  * 1. the SPRINT's window totals (all of the brand's content activity in the window —
28
31
  * the reliable, always-present numbers), and
29
- * 2. a per-program **Linked** ProgramObservation for the window, converged
30
- * idempotently (re-polling a window updates the same row).
32
+ * 2. a per-program **Linked** ProgramObservation for the sprint, converged
33
+ * idempotently (re-polling a sprint updates the same row — KI-93).
31
34
  *
32
35
  * The other launch types (Email, Retargeting, Physical Mail) measure external systems
33
36
  * and keep the base class's honest no-op until their providers land — their attribution
@@ -54,7 +57,7 @@ let ContentPostProgramDriver = class ContentPostProgramDriver extends BaseProgra
54
57
  observedMetric: slice.conversions,
55
58
  conversionsCount: slice.conversions,
56
59
  sampleSize: slice.activity,
57
- source: 'ContentPerformanceMetric via ProgramContent join',
60
+ source: CONTENT_SOURCE_REF,
58
61
  attribution: 'Linked',
59
62
  }];
60
63
  }
@@ -63,11 +66,15 @@ let ContentPostProgramDriver = class ContentPostProgramDriver extends BaseProgra
63
66
  if (!user) {
64
67
  return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: 'ContentPost: no contextUser supplied.' };
65
68
  }
69
+ // The window IS a sprint's (KI-93): its rows are written under that SprintID, never re-derived from dates.
70
+ const sprintId = window.sprintId;
71
+ if (!sprintId) {
72
+ return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: 'ContentPost: refresh needs a sprint window, not a roll-up.' };
73
+ }
66
74
  // 1. Window totals for the BRAND — the sprint's reliable numbers.
67
75
  const brandSlice = await this.brandSlice(program.brandId, window, user);
68
- const sprintId = await this.windowSprintId(program.brandId, window, user);
69
76
  let sprintsUpdated = 0;
70
- if (sprintId && brandSlice) {
77
+ if (brandSlice) {
71
78
  const md = new Metadata();
72
79
  const sprint = await md.GetEntityObject(toMarketingEntityName('Sprints'), user);
73
80
  if (await sprint.Load(sprintId)) {
@@ -78,11 +85,12 @@ let ContentPostProgramDriver = class ContentPostProgramDriver extends BaseProgra
78
85
  sprintsUpdated = 1;
79
86
  }
80
87
  }
81
- // 2. Per-program Linked observation, converged on (ProgramID, window, Linked).
88
+ // 2. Per-program Linked observation, converged on (SprintID, ProgramID, Linked, content family).
82
89
  let observationsWritten = 0;
83
90
  const progSlice = program.id ? await this.programSlice(program, window) : null;
84
91
  if (program.id && progSlice && progSlice.rows > 0) {
85
- observationsWritten = await this.convergeObservation(program.id, sprintId, window, progSlice, user);
92
+ const saved = await ConvergeObservation({ programId: program.id, sprintId, attribution: 'Linked', sourceRefPrefix: CONTENT_SOURCE_REF }, { window, activityCount: progSlice.activity, conversionsCount: progSlice.conversions, observedMetric: progSlice.conversions, sourceRef: CONTENT_SOURCE_REF }, user);
93
+ observationsWritten = saved ? 1 : 0;
86
94
  }
87
95
  const note = `ContentPost: window ${d(window.from)}→${d(window.to)} — brand ${brandSlice?.activity ?? 0} activities / ${brandSlice?.conversions ?? 0} conversions; `
88
96
  + (progSlice && progSlice.rows > 0
@@ -93,6 +101,7 @@ let ContentPostProgramDriver = class ContentPostProgramDriver extends BaseProgra
93
101
  }
94
102
  async onRetire(_program, _reason) {
95
103
  // Content keeps existing after a decision; there is no machinery to stand down.
104
+ return { stoodDown: false, note: 'ContentPost: nothing to stand down — the content stays published.' };
96
105
  }
97
106
  // ------------------------------------------------------------------
98
107
  /** Brand-wide CPM totals for the window. */
@@ -136,45 +145,6 @@ let ContentPostProgramDriver = class ContentPostProgramDriver extends BaseProgra
136
145
  activity: rows.reduce((n, r) => n + (r.PageViews ?? 0) + (r.EmailClicks ?? 0) + (r.SocialShares ?? 0), 0),
137
146
  };
138
147
  }
139
- /** The sprint that CONTAINS the window's start (StartDate <= start < EndDate) — never an overlap test, which double-matches at the seam. */
140
- async windowSprintId(brandId, w, user) {
141
- const rv = new RunView();
142
- const res = await rv.RunView({
143
- EntityName: toMarketingEntityName('Sprints'),
144
- ExtraFilter: `BrandID='${esc(brandId)}' AND StartDate <= '${w.from.toISOString()}' AND EndDate > '${w.from.toISOString()}'`,
145
- Fields: ['ID'], OrderBy: 'StartDate DESC', MaxRows: 1, ResultType: 'simple', BypassCache: true,
146
- }, user);
147
- return res.Success ? res.Results?.[0]?.ID ?? null : null;
148
- }
149
- /** Insert-or-update the window's Linked observation so re-polling converges. */
150
- async convergeObservation(programId, sprintId, w, slice, user) {
151
- const rv = new RunView();
152
- const existing = await rv.RunView({
153
- EntityName: toMarketingEntityName('Program Observations'),
154
- ExtraFilter: `ProgramID='${esc(programId)}' AND AttributionSource='Linked' AND WindowStart='${d(w.from)}' AND WindowEnd='${d(w.to)}'`,
155
- Fields: ['ID'], MaxRows: 1, ResultType: 'simple', BypassCache: true,
156
- }, user);
157
- const md = new Metadata();
158
- const obs = await md.GetEntityObject(toMarketingEntityName('Program Observations'), user);
159
- const existingId = existing.Success ? existing.Results?.[0]?.ID : undefined;
160
- if (existingId) {
161
- if (!await obs.Load(existingId))
162
- return 0;
163
- }
164
- else {
165
- obs.NewRecord();
166
- obs.ProgramID = programId;
167
- obs.AttributionSource = 'Linked';
168
- obs.WindowStart = w.from;
169
- obs.WindowEnd = w.to;
170
- }
171
- obs.SprintID = sprintId;
172
- obs.ConversionsCount = slice.conversions;
173
- obs.ObservedMetric = slice.conversions;
174
- obs.ActivityCount = slice.activity;
175
- obs.SourceRef = 'ContentPerformanceMetric via ProgramContent join';
176
- return await obs.Save() ? 1 : 0;
177
- }
178
148
  };
179
149
  ContentPostProgramDriver = __decorate([
180
150
  RegisterClass(BaseProgramTypeDriver, 'ContentPostProgramDriver'),
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPostProgramDriver.js","sourceRoot":"","sources":["../../src/programs/ContentPostProgramDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContentPostProgramDriver.js","sourceRoot":"","sources":["../../src/programs/ContentPostProgramDriver.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type UserInfo } from '@memberjunction/core';
2
- import { BaseProgramTypeDriver, type DriverRetirementReason, type DriverValidationIssue, type MetricCollectionWindow, type MetricObservation, type ProgramForDriver, type ProgramTypeParamSpec, type RefreshStatusResult } from '@mj-biz-apps/marketing-core';
2
+ import { BaseProgramTypeDriver, type DriverRetirementReason, type DriverValidationIssue, type MetricCollectionWindow, type MetricObservation, type ProgramForDriver, type ProgramTypeParamSpec, type RefreshStatusResult, type RetireStatusResult } from '@mj-biz-apps/marketing-core';
3
3
  /**
4
4
  * Email program driver on the BizApps substrate (PRD v3 S2).
5
5
  *
@@ -37,18 +37,16 @@ export declare class EmailProgramDriver extends BaseProgramTypeDriver {
37
37
  collectMetrics(program: ProgramForDriver, window: MetricCollectionWindow): Promise<MetricObservation[] | null>;
38
38
  /**
39
39
  * The poller: the sprint's window totals (the trusted numbers) plus this
40
- * program's Linked observation for the window, both converged.
40
+ * program's Linked observation for the sprint, both converged.
41
41
  */
42
42
  refreshStatus(program: ProgramForDriver, window: MetricCollectionWindow): Promise<RefreshStatusResult>;
43
43
  /** Sequences keep sending until stopped; the stop lands with the execution providers (S8). */
44
- onRetire(_program: ProgramForDriver, _reason: DriverRetirementReason): Promise<void>;
44
+ onRetire(_program: ProgramForDriver, _reason: DriverRetirementReason): Promise<RetireStatusResult>;
45
45
  /** The brand's source map + the per-request provider (SequenceService pattern — never the process-global default). */
46
46
  private context;
47
47
  private sourceMapOrNull;
48
48
  /** Does the program link onto the CampaignLog entity with a scoped hint? */
49
49
  private hasThreadLink;
50
- /** The sprint that CONTAINS the window's start — never an overlap test (it double-matches at the seam). */
51
- private windowSprintId;
52
50
  /** Only the PRESENCE of SegmentCuts is interpreted; no cut shape has been agreed. */
53
51
  private hasDeclaredCuts;
54
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EmailProgramDriver.d.ts","sourceRoot":"","sources":["../../src/programs/EmailProgramDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EACH,qBAAqB,EAIrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,6BAA6B,CAAC;AAYrC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,kBAAmB,SAAQ,qBAAqB;IAYtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAXhD,SAAgB,QAAQ,WAAW;IACnC,SAAgB,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAQ7D;gBAEkC,WAAW,CAAC,EAAE,QAAQ;IAI1D;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiC1F,iHAAiH;IACpG,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAiB3H;;;OAGG;IACmB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgC5H,8FAA8F;IACjF,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjG,sHAAsH;YACxG,OAAO;YAUP,eAAe;IAS7B,4EAA4E;YAC9D,aAAa;IAW3B,2GAA2G;YAC7F,cAAc;IAS5B,qFAAqF;IACrF,OAAO,CAAC,eAAe;CAa1B;AAED,wBAAgB,sBAAsB,SAAK"}
1
+ {"version":3,"file":"EmailProgramDriver.d.ts","sourceRoot":"","sources":["../../src/programs/EmailProgramDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EACH,qBAAqB,EAIrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAC1B,MAAM,6BAA6B,CAAC;AAYrC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,kBAAmB,SAAQ,qBAAqB;IAYtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAXhD,SAAgB,QAAQ,WAAW;IACnC,SAAgB,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAQ7D;gBAEkC,WAAW,CAAC,EAAE,QAAQ;IAI1D;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiC1F,iHAAiH;IACpG,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAiB3H;;;OAGG;IACmB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgC5H,8FAA8F;IACjF,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM/G,sHAAsH;YACxG,OAAO;YAUP,eAAe;IAS7B,4EAA4E;YAC9D,aAAa;IAW3B,qFAAqF;IACrF,OAAO,CAAC,eAAe;CAa1B;AAED,wBAAgB,sBAAsB,SAAK"}
@@ -115,27 +115,28 @@ let EmailProgramDriver = class EmailProgramDriver extends BaseProgramTypeDriver
115
115
  }
116
116
  /**
117
117
  * The poller: the sprint's window totals (the trusted numbers) plus this
118
- * program's Linked observation for the window, both converged.
118
+ * program's Linked observation for the sprint, both converged.
119
119
  */
120
120
  async refreshStatus(program, window) {
121
121
  const user = this.contextUser;
122
122
  if (!user)
123
123
  return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: 'Email: no contextUser supplied.' };
124
+ // The window IS a sprint's (KI-93): its rows are written under that SprintID, never re-derived from dates.
125
+ const sprintId = window.sprintId;
126
+ if (!sprintId)
127
+ return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: 'Email: refresh needs a sprint window, not a roll-up.' };
124
128
  const ctx = await this.context(program.brandId, user);
125
129
  if (!ctx)
126
130
  return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: 'Email: the brand has no valid SourceEntityMap.' };
127
131
  const totals = await AggregateWindow({ ...ctx, window });
128
- const sprintId = await this.windowSprintId(program.brandId, window, user);
129
132
  let sprintsUpdated = 0;
130
- if (sprintId) {
131
- const sprint = await new Metadata().GetEntityObject(toMarketingEntityName('Sprints'), user);
132
- if (await sprint.Load(sprintId)) {
133
- sprint.ActivityTotal = totals.activityTotal;
134
- sprint.ConversionTotal = totals.conversionTotal;
135
- sprint.TotalsRefreshedAt = new Date();
136
- if (await sprint.Save())
137
- sprintsUpdated = 1;
138
- }
133
+ const sprint = await new Metadata().GetEntityObject(toMarketingEntityName('Sprints'), user);
134
+ if (await sprint.Load(sprintId)) {
135
+ sprint.ActivityTotal = totals.activityTotal;
136
+ sprint.ConversionTotal = totals.conversionTotal;
137
+ sprint.TotalsRefreshedAt = new Date();
138
+ if (await sprint.Save())
139
+ sprintsUpdated = 1;
139
140
  }
140
141
  let slices = [];
141
142
  let observationsWritten = 0;
@@ -150,7 +151,9 @@ let EmailProgramDriver = class EmailProgramDriver extends BaseProgramTypeDriver
150
151
  return { refreshed: true, sprintsUpdated, observationsWritten, note };
151
152
  }
152
153
  /** Sequences keep sending until stopped; the stop lands with the execution providers (S8). */
153
- async onRetire(_program, _reason) { }
154
+ async onRetire(_program, _reason) {
155
+ return { stoodDown: false, note: 'Email: nothing stood down on a platform — the sequence is stopped by the execution provider, not by this app.' };
156
+ }
154
157
  // ── reads ───────────────────────────────────────────────────────────────
155
158
  /** The brand's source map + the per-request provider (SequenceService pattern — never the process-global default). */
156
159
  async context(brandId, user) {
@@ -186,15 +189,6 @@ let EmailProgramDriver = class EmailProgramDriver extends BaseProgramTypeDriver
186
189
  }, user);
187
190
  return res.Success && (res.Results ?? []).some(l => !!l.ScopeHint?.trim());
188
191
  }
189
- /** The sprint that CONTAINS the window's start — never an overlap test (it double-matches at the seam). */
190
- async windowSprintId(brandId, w, user) {
191
- const res = await new RunView().RunView({
192
- EntityName: toMarketingEntityName('Sprints'),
193
- ExtraFilter: `BrandID='${EscapeSQLString(brandId)}' AND StartDate <= '${w.from.toISOString()}' AND EndDate > '${w.from.toISOString()}'`,
194
- Fields: ['ID'], OrderBy: 'StartDate DESC', MaxRows: 1, ResultType: 'simple', BypassCache: true,
195
- }, user);
196
- return res.Success ? res.Results?.[0]?.ID ?? null : null;
197
- }
198
192
  /** Only the PRESENCE of SegmentCuts is interpreted; no cut shape has been agreed. */
199
193
  hasDeclaredCuts(program) {
200
194
  const raw = program.segmentCuts?.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"EmailProgramDriver.js","sourceRoot":"","sources":["../../src/programs/EmailProgramDriver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAA4C,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,GASxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,0BAA0B,GAE7B,MAAM,gCAAgC,CAAC;AAMxC;;;;;;;;;;;;;;;;;;;GAmBG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,qBAAqB;IAYzD,YAAoC,WAAsB;QACtD,KAAK,EAAE,CAAC;QADwB,gBAAW,GAAX,WAAW,CAAW;QAX1C,aAAQ,GAAG,OAAO,CAAC;QACnB,eAAU,GAAwC;YAC9D;gBACI,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,qLAAqL;aACrM;SACJ,CAAC;IAIF,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAAC,OAAyB;QACnD,MAAM,MAAM,GAA4B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC9I,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;YACjH,MAAM,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,sJAAsJ;aAClK,CAAC,CAAC;QACP,CAAC;QACD,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,2LAA2L;aACvM,CAAC,CAAC;QACP,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,iKAAiK;aAC7K,CAAC,CAAC;QACP,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iHAAiH;IAC1G,KAAK,CAAC,MAAM,CAAC,OAAyB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7E,SAAS,CAAC,8BAA8B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,0EAA0E,GAAG,CAAC,CAAC;IAC9L,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAyB,EAAE,MAA8B;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,CAAC;gBACJ,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,KAAK,CAAC,eAAe;gBACrC,gBAAgB,EAAE,KAAK,CAAC,eAAe;gBACvC,UAAU,EAAE,KAAK,CAAC,aAAa;gBAC/B,MAAM,EAAE,KAAK,CAAC,SAAS;gBACvB,WAAW,EAAE,QAAQ;aACxB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACa,KAAK,CAAC,aAAa,CAAC,OAAyB,EAAE,MAA8B;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;QAC3H,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,gDAAgD,EAAE,CAAC;QAEzI,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,eAAe,CAAiC,qBAAqB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5H,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAC5C,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBAChD,MAAM,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtC,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE;oBAAE,cAAc,GAAG,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAED,IAAI,MAAM,GAAyB,EAAE,CAAC;QACtC,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrF,mBAAmB,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,iBAAiB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,MAAM,CAAC,aAAa,iBAAiB,MAAM,CAAC,eAAe,iBAAiB,MAAM,CAAC,UAAU,KAAK;cACpN,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,iBAAiB,IAAI,CAAC,eAAe,0BAA0B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,qBAAqB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACpM,SAAS,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IAED,8FAA8F;IACvF,KAAK,CAAC,QAAQ,CAAC,QAA0B,EAAE,OAA+B,IAA4B,CAAC;IAE9G,2EAA2E;IAE3E,sHAAsH;IAC9G,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,IAAc;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,eAAe,CAAgC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QACzH,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,aAA4D,CAAC;QACpF,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC1F,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,IAAc;QACzD,IAAI,CAAC;YACD,OAAO,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,SAAS,CAAC,wDAAwD,OAAO,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,GAAmB,EAAE,IAAc;QAC9E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,OAAO,CAA2C;YAC9E,UAAU,EAAE,qBAAqB,CAAC,sBAAsB,CAAC;YACzD,WAAW,EAAE,cAAc,eAAe,CAAC,SAAS,CAAC,mBAAmB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG;YAC7F,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI;SACvE,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,2GAA2G;IACnG,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,CAAyB,EAAE,IAAc;QACnF,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,OAAO,CAAiB;YACpD,UAAU,EAAE,qBAAqB,CAAC,SAAS,CAAC;YAC5C,WAAW,EAAE,YAAY,eAAe,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG;YACvI,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI;SACjG,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,qFAAqF;IAC7E,eAAe,CAAC,OAAyB;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,IAAI,CAAC;YACD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;CACJ,CAAA;AAlLY,kBAAkB;IAD9B,aAAa,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;;GAC9C,kBAAkB,CAkL9B;;AAED,MAAM,UAAU,sBAAsB,KAAI,CAAC"}
1
+ {"version":3,"file":"EmailProgramDriver.js","sourceRoot":"","sources":["../../src/programs/EmailProgramDriver.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * approval gate (V3-12) BEFORE onLock — by the time this runs, a human approved the spend.
16
16
  */
17
17
  import { type UserInfo } from '@memberjunction/core';
18
- import { BaseProgramTypeDriver, type DriverRetirementReason, type DriverValidationIssue, type MetricCollectionWindow, type MetricObservation, type ProgramForDriver, type ProgramTypeParamSpec, type RefreshStatusResult } from '@mj-biz-apps/marketing-core';
18
+ import { BaseProgramTypeDriver, type DriverRetirementReason, type DriverValidationIssue, type MetricCollectionWindow, type MetricObservation, type ProgramForDriver, type ProgramTypeParamSpec, type RefreshStatusResult, type RetireStatusResult } from '@mj-biz-apps/marketing-core';
19
19
  import { type GoogleContextResolver } from './googleAdsExecutionContext.js';
20
20
  export declare class GoogleAdsProgramDriver extends BaseProgramTypeDriver {
21
21
  private readonly contextUser?;
@@ -35,14 +35,12 @@ export declare class GoogleAdsProgramDriver extends BaseProgramTypeDriver {
35
35
  collectMetrics(program: ProgramForDriver, window: MetricCollectionWindow): Promise<MetricObservation[] | null>;
36
36
  /**
37
37
  * The continuous poll (HA-7): the same platform figures collectMetrics reports at review time,
38
- * converged every cadence tick as the program's Inferred observation for the sprint window
38
+ * converged every cadence tick as the program's Inferred observation for the sprint (KI-93)
39
39
  * (keyed by the `google:` source family, HA-5). No connection or no campaign yet ⇒ an honest
40
40
  * `refreshed: false`. Sprint totals are the substrate's to refresh, not the platform's.
41
41
  */
42
42
  refreshStatus(program: ProgramForDriver, window: MetricCollectionWindow): Promise<RefreshStatusResult>;
43
- /** The Active sprint the window belongs to, so the observation carries its SprintID (null when none matches). */
44
- private sprintIdFor;
45
- onRetire(program: ProgramForDriver, reason: DriverRetirementReason): Promise<void>;
43
+ onRetire(program: ProgramForDriver, reason: DriverRetirementReason): Promise<RetireStatusResult>;
46
44
  private loadRefs;
47
45
  private saveRef;
48
46
  private updateRefState;
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleAdsProgramDriver.d.ts","sourceRoot":"","sources":["../../../src/programs/google/GoogleAdsProgramDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,EACH,qBAAqB,EAOrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAE3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAGH,KAAK,qBAAqB,EAC7B,MAAM,gCAAgC,CAAC;AASxC,qBACa,sBAAuB,SAAQ,qBAAqB;IASzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IATnC,SAAgB,QAAQ,gBAAwB;IAChD,yFAAyF;IACzF,SAAgB,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAG7D;gBAGmB,WAAW,CAAC,EAAE,QAAQ,EACtB,cAAc,GAAE,qBAAqD;IAK7E,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqB1F;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAkBjB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoHhD,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAwB3H;;;;;OAKG;IACmB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkB5H,iHAAiH;YACnG,WAAW;IAYZ,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YAqBjF,QAAQ;YAUR,OAAO;YAqBP,cAAc;IAS5B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;CAItB;AAED,wBAAgB,0BAA0B,SAAK"}
1
+ {"version":3,"file":"GoogleAdsProgramDriver.d.ts","sourceRoot":"","sources":["../../../src/programs/google/GoogleAdsProgramDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,EACH,qBAAqB,EAOrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAG1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAGH,KAAK,qBAAqB,EAA0B,MAAM,gCAAgC,CAAC;AAS/F,qBACa,sBAAuB,SAAQ,qBAAqB;IASzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IATnC,SAAgB,QAAQ,gBAAwB;IAChD,yFAAyF;IACzF,SAAgB,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAG7D;gBAGmB,WAAW,CAAC,EAAE,QAAQ,EACtB,cAAc,GAAE,qBAAqD;IAK7E,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqB1F;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAkBjB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoHhD,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IA8B3H;;;;;OAKG;IACmB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoB/G,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAuB/F,QAAQ;YAaR,OAAO;YAqBP,cAAc;IAS5B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;CAItB;AAED,wBAAgB,0BAA0B,SAAK"}
@@ -26,8 +26,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
26
26
  import { LogStatus, Metadata, RunView } from '@memberjunction/core';
27
27
  import { EscapeSQLString, RegisterClass } from '@memberjunction/global';
28
28
  import { ConvergeObservation } from '@mj-biz-apps/marketing-actions';
29
- import { BaseProgramTypeDriver, GOOGLE_ADS_TYPE_NAME, effectiveCreative, parseAdCampaignConfig, platformObjectName, stampUtm, toMarketingEntityName, } from '@mj-biz-apps/marketing-core';
30
- import { isGoogleRefused, resolveGoogleExecutionContext, } from './googleAdsExecutionContext.js';
29
+ import { BaseProgramTypeDriver, GOOGLE_ADS_TYPE_NAME, effectiveCreative, parseAdCampaignConfig, platformObjectName, stampUtm, elapsedReportingRange, } from '@mj-biz-apps/marketing-core';
30
+ import { isGoogleRefused, resolveGoogleExecutionContext, GOOGLE_CREDENTIAL_TYPE } from './googleAdsExecutionContext.js';
31
31
  import { ensureGoogleBrandAssets, isAssetsRefused } from './googleBrandAssets.js';
32
32
  const REFS_ENTITY = 'MJ_BizApps_Marketing: Program Platform Refs';
33
33
  /** Budget resources ride the 'Other' kind; StateJSON names the role. */
@@ -212,9 +212,15 @@ let GoogleAdsProgramDriver = class GoogleAdsProgramDriver extends BaseProgramTyp
212
212
  LogStatus(`GoogleAdsProgramDriver.collectMetrics: connection unavailable (${ctx.issues.map(i => i.code).join(', ')}) — no observation.`);
213
213
  return null;
214
214
  }
215
- const m = await ctx.client.campaignMetrics(campaigns, window.from, window.to);
216
- if (m.impressions === 0 && m.conversions === 0 && m.clicks === 0)
215
+ // KI-89: ask the platform only for time that has happened (the window stays the observation's key).
216
+ const range = elapsedReportingRange(window, new Date());
217
+ if (!range)
217
218
  return null;
219
+ const m = await ctx.client.campaignMetrics(campaigns, range.from, range.to);
220
+ // All-zero is still an observation: the campaign exists, the connection answered, and
221
+ // the platform reported nothing served. Returning null here made 'served nothing'
222
+ // indistinguishable from 'no campaign / no connection' and Refresh Program Status
223
+ // wrote no row at all for a paused or test-account campaign (KI-34, host rehearsal).
218
224
  return [{
219
225
  segmentLabel: null,
220
226
  observedMetric: m.conversions,
@@ -227,7 +233,7 @@ let GoogleAdsProgramDriver = class GoogleAdsProgramDriver extends BaseProgramTyp
227
233
  }
228
234
  /**
229
235
  * The continuous poll (HA-7): the same platform figures collectMetrics reports at review time,
230
- * converged every cadence tick as the program's Inferred observation for the sprint window
236
+ * converged every cadence tick as the program's Inferred observation for the sprint (KI-93)
231
237
  * (keyed by the `google:` source family, HA-5). No connection or no campaign yet ⇒ an honest
232
238
  * `refreshed: false`. Sprint totals are the substrate's to refresh, not the platform's.
233
239
  */
@@ -235,38 +241,28 @@ let GoogleAdsProgramDriver = class GoogleAdsProgramDriver extends BaseProgramTyp
235
241
  const user = this.contextUser;
236
242
  if (!user || !program.id)
237
243
  return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: `GoogleAdsProgramDriver: no user context.` };
244
+ // The window IS a sprint's (KI-93): the row is written under that SprintID, never re-derived from dates.
245
+ const sprintId = window.sprintId;
246
+ if (!sprintId)
247
+ return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: `GoogleAdsProgramDriver: refresh needs a sprint window, not a roll-up.` };
238
248
  const observations = await this.collectMetrics(program, window);
239
249
  const top = observations?.find(o => o.segmentLabel === null) ?? null;
240
250
  if (!top)
241
- return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: `GoogleAdsProgramDriver: no campaign, no connection, or nothing served in the window.` };
242
- const sprintId = await this.sprintIdFor(program.id, window, user);
243
- const saved = await ConvergeObservation({ programId: program.id, attribution: top.attribution ?? 'Inferred', window, sourceRefPrefix: 'google:' }, { sprintId, activityCount: top.sampleSize ?? 0, conversionsCount: top.conversionsCount, observedMetric: top.observedMetric, sourceRef: top.source,
251
+ return { refreshed: false, sprintsUpdated: 0, observationsWritten: 0, note: `GoogleAdsProgramDriver: no campaign ref or the connection is unavailable — nothing to observe.` };
252
+ const saved = await ConvergeObservation({ programId: program.id, sprintId, attribution: top.attribution ?? 'Inferred', sourceRefPrefix: 'google:' }, { window, activityCount: top.sampleSize ?? 0, conversionsCount: top.conversionsCount, observedMetric: top.observedMetric, sourceRef: top.source,
244
253
  notes: `platform-reported (Inferred): conversions ${top.conversionsCount}, impressions ${top.sampleSize ?? 0}` }, user);
245
254
  const note = `GoogleAdsProgramDriver: ${top.conversionsCount} platform conversion(s) over ${top.sampleSize ?? 0} impressions — ${saved ? 'observation converged' : 'observation NOT saved'}.`;
246
255
  LogStatus(`GoogleAdsProgramDriver.refreshStatus: ${note}`);
247
256
  return { refreshed: true, sprintsUpdated: 0, observationsWritten: saved ? 1 : 0, note };
248
257
  }
249
- /** The Active sprint the window belongs to, so the observation carries its SprintID (null when none matches). */
250
- async sprintIdFor(programId, window, user) {
251
- const res = await new RunView().RunView({
252
- EntityName: toMarketingEntityName('Sprints'),
253
- ExtraFilter: `ID IN (SELECT SprintID FROM __mj_BizAppsMarketing.vwSprintPrograms WHERE ProgramID='${EscapeSQLString(programId)}')`,
254
- Fields: ['ID', 'StartDate', 'EndDate'], ResultType: 'simple', MaxRows: 50,
255
- }, user);
256
- if (!res.Success)
257
- return null;
258
- const from = window.from.getTime(), to = window.to.getTime();
259
- const hit = (res.Results ?? []).find(r => new Date(r.StartDate).getTime() <= from && new Date(r.EndDate).getTime() >= to);
260
- return hit?.ID ?? null;
261
- }
262
258
  async onRetire(program, reason) {
263
259
  const user = this.requireUser();
264
260
  if (!program.id)
265
- return;
261
+ return { stoodDown: false, note: 'Google Ads: nothing to stand down — the program has no id.' };
266
262
  const refs = await this.loadRefs(program.id, user);
267
263
  const campaigns = refs.filter(r => r.ExternalKind === 'Campaign');
268
264
  if (campaigns.length === 0)
269
- return;
265
+ return { stoodDown: false, note: 'Google Ads: nothing to stand down — no campaign was ever launched for this program.' };
270
266
  const ctx = await this.resolveContext(program.brandId, user);
271
267
  if (isGoogleRefused(ctx)) {
272
268
  // The one unacceptable silence: a decided program whose campaign keeps spending.
@@ -277,13 +273,18 @@ let GoogleAdsProgramDriver = class GoogleAdsProgramDriver extends BaseProgramTyp
277
273
  await ctx.client.setCampaignStatus(ref.ExternalURN, 'PAUSED');
278
274
  await this.updateRefState(ref, { status: 'PAUSED', retiredFor: reason });
279
275
  }
280
- LogStatus(`GoogleAdsProgramDriver.onRetire: ${program.name ?? program.id} — ${campaigns.length} campaign(s) paused (${reason}).`);
276
+ const note = `Google Ads: ${campaigns.length} campaign(s) paused (${reason}).`;
277
+ LogStatus(`GoogleAdsProgramDriver.onRetire: ${program.name ?? program.id} — ${note}`);
278
+ return { stoodDown: true, note };
281
279
  }
282
280
  // ── refs (the driver's memory) ──────────────────────────────────────────
283
281
  async loadRefs(programId, user) {
284
282
  const res = await new RunView().RunView({
285
283
  EntityName: REFS_ENTITY,
286
- ExtraFilter: `ProgramID='${EscapeSQLString(programId)}'`,
284
+ // THIS platform's refs only: refs are scoped by brand connection, and a program also carries refs on
285
+ // other connections (HubSpot attribution writes its campaign ref on the HubSpot connection). Sending that
286
+ // id to Google Ads was a 400 on every poll (KI-105). The HubSpot reader's rule, applied here.
287
+ ExtraFilter: `ProgramID='${EscapeSQLString(programId)}' AND BrandConnectionID IN (SELECT ID FROM __mj_BizAppsMarketing.vwBrandConnections WHERE CredentialType='${EscapeSQLString(GOOGLE_CREDENTIAL_TYPE)}')`,
287
288
  ResultType: 'entity_object',
288
289
  BypassCache: true,
289
290
  }, user);
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleAdsProgramDriver.js","sourceRoot":"","sources":["../../../src/programs/google/GoogleAdsProgramDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleAdsProgramDriver.js","sourceRoot":"","sources":["../../../src/programs/google/GoogleAdsProgramDriver.ts"],"names":[],"mappings":"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"}