@mj-biz-apps/marketing-server 0.0.0 → 0.2.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/LICENSE +183 -0
- package/dist/agents/BaseMarketingAgent.d.ts +120 -0
- package/dist/agents/BaseMarketingAgent.d.ts.map +1 -0
- package/dist/agents/BaseMarketingAgent.js +323 -0
- package/dist/agents/BaseMarketingAgent.js.map +1 -0
- package/dist/agents/MarketingExperimentationAgent.d.ts +123 -0
- package/dist/agents/MarketingExperimentationAgent.d.ts.map +1 -0
- package/dist/agents/MarketingExperimentationAgent.js +371 -0
- package/dist/agents/MarketingExperimentationAgent.js.map +1 -0
- package/dist/agents/MarketingOperationsAgent.d.ts +24 -0
- package/dist/agents/MarketingOperationsAgent.d.ts.map +1 -0
- package/dist/agents/MarketingOperationsAgent.js +36 -0
- package/dist/agents/MarketingOperationsAgent.js.map +1 -0
- package/dist/agents/MarketingPodcastIngestionAgent.d.ts +21 -0
- package/dist/agents/MarketingPodcastIngestionAgent.d.ts.map +1 -0
- package/dist/agents/MarketingPodcastIngestionAgent.js +33 -0
- package/dist/agents/MarketingPodcastIngestionAgent.js.map +1 -0
- package/dist/agents/MarketingStrategyOnboardingAgent.d.ts +206 -0
- package/dist/agents/MarketingStrategyOnboardingAgent.d.ts.map +1 -0
- package/dist/agents/MarketingStrategyOnboardingAgent.js +1264 -0
- package/dist/agents/MarketingStrategyOnboardingAgent.js.map +1 -0
- package/dist/agents/index.d.ts +14 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +25 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -0
- package/dist/generated/class-registrations-manifest.d.ts +7 -0
- package/dist/generated/class-registrations-manifest.d.ts.map +1 -0
- package/dist/generated/class-registrations-manifest.js +7 -0
- package/dist/generated/class-registrations-manifest.js.map +1 -0
- package/dist/generated/generated.d.ts +7 -0
- package/dist/generated/generated.d.ts.map +1 -0
- package/dist/generated/generated.js +7 -0
- package/dist/generated/generated.js.map +1 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.d.ts +3522 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.d.ts.map +1 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.js +18854 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +107 -0
- package/dist/index.js.map +1 -0
- package/dist/programs/ContentPostProgramDriver.d.ts +44 -0
- package/dist/programs/ContentPostProgramDriver.d.ts.map +1 -0
- package/dist/programs/ContentPostProgramDriver.js +185 -0
- package/dist/programs/ContentPostProgramDriver.js.map +1 -0
- package/dist/programs/EmailProgramDriver.d.ts +56 -0
- package/dist/programs/EmailProgramDriver.d.ts.map +1 -0
- package/dist/programs/EmailProgramDriver.js +224 -0
- package/dist/programs/EmailProgramDriver.js.map +1 -0
- package/dist/programs/google/GoogleAdsClient.d.ts +93 -0
- package/dist/programs/google/GoogleAdsClient.d.ts.map +1 -0
- package/dist/programs/google/GoogleAdsClient.js +279 -0
- package/dist/programs/google/GoogleAdsClient.js.map +1 -0
- package/dist/programs/google/GoogleAdsProgramDriver.d.ts +56 -0
- package/dist/programs/google/GoogleAdsProgramDriver.d.ts.map +1 -0
- package/dist/programs/google/GoogleAdsProgramDriver.js +357 -0
- package/dist/programs/google/GoogleAdsProgramDriver.js.map +1 -0
- package/dist/programs/google/googleAdsExecutionContext.d.ts +47 -0
- package/dist/programs/google/googleAdsExecutionContext.d.ts.map +1 -0
- package/dist/programs/google/googleAdsExecutionContext.js +128 -0
- package/dist/programs/google/googleAdsExecutionContext.js.map +1 -0
- package/dist/programs/google/googleBrandAssets.d.ts +27 -0
- package/dist/programs/google/googleBrandAssets.d.ts.map +1 -0
- package/dist/programs/google/googleBrandAssets.js +81 -0
- package/dist/programs/google/googleBrandAssets.js.map +1 -0
- package/dist/programs/index.d.ts +18 -0
- package/dist/programs/index.d.ts.map +1 -0
- package/dist/programs/index.js +27 -0
- package/dist/programs/index.js.map +1 -0
- package/dist/programs/linkedin/LinkedInAdsClient.d.ts +145 -0
- package/dist/programs/linkedin/LinkedInAdsClient.d.ts.map +1 -0
- package/dist/programs/linkedin/LinkedInAdsClient.js +408 -0
- package/dist/programs/linkedin/LinkedInAdsClient.js.map +1 -0
- package/dist/programs/linkedin/LinkedInAdsProgramDriver.d.ts +94 -0
- package/dist/programs/linkedin/LinkedInAdsProgramDriver.d.ts.map +1 -0
- package/dist/programs/linkedin/LinkedInAdsProgramDriver.js +449 -0
- package/dist/programs/linkedin/LinkedInAdsProgramDriver.js.map +1 -0
- package/dist/programs/linkedin/linkedInExecutionContext.d.ts +42 -0
- package/dist/programs/linkedin/linkedInExecutionContext.d.ts.map +1 -0
- package/dist/programs/linkedin/linkedInExecutionContext.js +97 -0
- package/dist/programs/linkedin/linkedInExecutionContext.js.map +1 -0
- package/package.json +46 -7
- package/index.js +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
8
|
+
import { BaseAgent } from '@memberjunction/ai-agents';
|
|
9
|
+
import { BaseMarketingAgent } from './BaseMarketingAgent.js';
|
|
10
|
+
/**
|
|
11
|
+
* Marketing Podcast Ingestion Agent — driver class (Content Engine PRD, Phase A row A2).
|
|
12
|
+
*
|
|
13
|
+
* The `MJ: AI Agents` row named this class but nothing defined it, so MJ's ClassFactory fell
|
|
14
|
+
* back to plain `BaseAgent` — the same silent fault that bit the Onboarding, Experimentation and
|
|
15
|
+
* Operations agents in turn: no brand self-resolution from the caller's grants or the app
|
|
16
|
+
* context, no payload bootstrap (`brandName` / `companyId`), no authorized-brand disambiguation.
|
|
17
|
+
* With Content's "Ingest now" and the per-brand Ingest-sources job about to run this agent, the
|
|
18
|
+
* brand must come from the run's context, never from a question.
|
|
19
|
+
*
|
|
20
|
+
* Deliberately THIN, like the Operations agent. The ingestion work is tool calls (Fetch Podcast
|
|
21
|
+
* From RSS, Intake Podcast From Box, Diarize Podcast Episode, Transcribe Audio …) and every one
|
|
22
|
+
* of them enforces its own brand gate server-side; the doctrine this class needs is exactly what
|
|
23
|
+
* {@link BaseMarketingAgent} centralizes. Idempotency lives in the actions and, for generation,
|
|
24
|
+
* in the pipeline's final-save check (CE-7) — not in the narration here.
|
|
25
|
+
*/
|
|
26
|
+
let MarketingPodcastIngestionAgent = class MarketingPodcastIngestionAgent extends BaseMarketingAgent {
|
|
27
|
+
};
|
|
28
|
+
MarketingPodcastIngestionAgent = __decorate([
|
|
29
|
+
RegisterClass(BaseAgent, 'MarketingPodcastIngestionAgent')
|
|
30
|
+
], MarketingPodcastIngestionAgent);
|
|
31
|
+
export { MarketingPodcastIngestionAgent };
|
|
32
|
+
export function LoadMarketingPodcastIngestionAgent() { }
|
|
33
|
+
//# sourceMappingURL=MarketingPodcastIngestionAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarketingPodcastIngestionAgent.js","sourceRoot":"","sources":["../../src/agents/MarketingPodcastIngestionAgent.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,kBAAkB;CACrE,CAAA;AADY,8BAA8B;IAD1C,aAAa,CAAC,SAAS,EAAE,gCAAgC,CAAC;GAC9C,8BAA8B,CAC1C;;AAED,MAAM,UAAU,kCAAkC,KAAI,CAAC"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { AIPromptParams, AgentConfiguration, ExecuteAgentParams, BaseAgentNextStep, MJAIAgentRunEntityExtended, MJAIAgentRunStepEntityExtended } from "@memberjunction/ai-core-plus";
|
|
2
|
+
import { BaseMarketingAgent } from './BaseMarketingAgent.js';
|
|
3
|
+
export declare class MarketingStrategyOnboardingAgent extends BaseMarketingAgent {
|
|
4
|
+
protected initializeStartingPayload<P = unknown>(params: ExecuteAgentParams<unknown, P>): Promise<void>;
|
|
5
|
+
protected preparePromptParams<P>(config: AgentConfiguration, payload: P, params: ExecuteAgentParams): Promise<AIPromptParams>;
|
|
6
|
+
/**
|
|
7
|
+
* Deterministic brand resolution for multi-brand users. The base ladder
|
|
8
|
+
* sets `authorizedBrands` (instead of `brandId`) when the user is
|
|
9
|
+
* authorized for several brands, and the prompt can't be trusted to write
|
|
10
|
+
* `brandId` back — so when the founder has NAMED one of those brands
|
|
11
|
+
* anywhere in the conversation, the shell resolves it itself.
|
|
12
|
+
* Longest-name match wins ("Acme Health" beats "Acme").
|
|
13
|
+
*
|
|
14
|
+
* Brand names are only unique WITHIN a company, so a tie between two
|
|
15
|
+
* equally-long matched names is broken by the parent company name also
|
|
16
|
+
* appearing in the conversation. Still ambiguous ⇒ resolve nothing and
|
|
17
|
+
* let the agent ask; guessing here would write a strategy onto the wrong
|
|
18
|
+
* tenant's brand.
|
|
19
|
+
*/
|
|
20
|
+
/** Is this brand one the caller actually holds a grant for? */
|
|
21
|
+
private isAuthorizedBrand;
|
|
22
|
+
private resolveBrandFromConversation;
|
|
23
|
+
/**
|
|
24
|
+
* The founder's own words ARE the interview evidence. Reading them here
|
|
25
|
+
* (rather than asking the model to copy them into the payload and yield)
|
|
26
|
+
* removes the round-trip that made the loop possible: by the time the
|
|
27
|
+
* prompt runs, synthesis has already happened and the model's only job is
|
|
28
|
+
* to talk to the founder.
|
|
29
|
+
*
|
|
30
|
+
* Turns already folded into the running objective are skipped, so a
|
|
31
|
+
* re-render of the same turn can't double-count them.
|
|
32
|
+
*/
|
|
33
|
+
private deriveInterviewEvidence;
|
|
34
|
+
/**
|
|
35
|
+
* Enforce the interview contract in CODE, not in the prompt.
|
|
36
|
+
*
|
|
37
|
+
* Skip's drivers validate the model's proposed next step and correct it
|
|
38
|
+
* (SkipRequirementsExpertAgent.validateChatNextStep demotes Chat->Success in
|
|
39
|
+
* update mode). A prompt rule is advice the model may ignore; this is the
|
|
40
|
+
* layer where an invariant actually holds.
|
|
41
|
+
*
|
|
42
|
+
* Two invariants:
|
|
43
|
+
* - In Grill, a reply MUST carry the batched questions. Observed live: the
|
|
44
|
+
* model narrated the synthesis and said "I'll start with Customer
|
|
45
|
+
* Journey" with no form attached, burning the founder's turn.
|
|
46
|
+
* - In AwaitingBrand, a reply MUST offer the brand choices, or the founder
|
|
47
|
+
* is asked a question with no way to answer it that the shell can read.
|
|
48
|
+
*
|
|
49
|
+
* A corrective Retry carries an errorMessage, so it counts against the
|
|
50
|
+
* framework's consecutive-unproductive-retry cap (10) and cannot loop.
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* P2 — terminate on Complete.
|
|
54
|
+
*
|
|
55
|
+
* `Chat` always terminates the TURN, but the run only *succeeds* on a
|
|
56
|
+
* Success step, and `FinalPayloadValidation` is evaluated nowhere else. An
|
|
57
|
+
* interview that can never emit Success can never be validated and never
|
|
58
|
+
* signals completion to a caller.
|
|
59
|
+
*/
|
|
60
|
+
protected validateChatNextStep<P>(params: ExecuteAgentParams, nextStep: BaseAgentNextStep<P>, currentPayload: P, agentRun: MJAIAgentRunEntityExtended, currentStep: MJAIAgentRunStepEntityExtended): Promise<BaseAgentNextStep<P>>;
|
|
61
|
+
/** Grill/AwaitingBrand replies must carry the form that makes them answerable. */
|
|
62
|
+
private enforceInterviewContract;
|
|
63
|
+
/**
|
|
64
|
+
* P3 — ban the bare model Retry in CODE, not in prose.
|
|
65
|
+
*
|
|
66
|
+
* The framework's unproductive-retry cap only counts retries that carry an
|
|
67
|
+
* errorMessage (base-agent: `step==='Retry' && !terminate && !!errorMessage`).
|
|
68
|
+
* A model that emits a naked Retry is therefore exempt — that exemption is
|
|
69
|
+
* what let the 2026-08-05/06 loops run until the heap died. The prompt now
|
|
70
|
+
* forbids Retry, but a prompt is advice; this is the enforcement.
|
|
71
|
+
*
|
|
72
|
+
* Framework-generated retries are legitimate and must pass through: action
|
|
73
|
+
* results, artifact tools, context recovery and FinalPayloadValidation all
|
|
74
|
+
* carry retryInstructions or an errorMessage.
|
|
75
|
+
*/
|
|
76
|
+
protected validateRetryNextStep<P>(params: ExecuteAgentParams, nextStep: BaseAgentNextStep<P>, currentPayload: P, agentRun: MJAIAgentRunEntityExtended, currentStep: MJAIAgentRunStepEntityExtended): Promise<BaseAgentNextStep<P>>;
|
|
77
|
+
/**
|
|
78
|
+
* P1 — read the founder's ACTUAL answer to the approval form.
|
|
79
|
+
*
|
|
80
|
+
* A depth-0 Chat step with a responseForm creates an `MJ: AI Agent Requests`
|
|
81
|
+
* row carrying the form schema; the founder's reply lands in `Response`.
|
|
82
|
+
* Reading it is the deterministic equivalent of Skip's
|
|
83
|
+
* IntentDetector.checkFormResponseForApproval, which parses the form token
|
|
84
|
+
* and lets an explicit choice BLOCK any LLM re-interpretation. Until now
|
|
85
|
+
* nothing in this app read that answer at all — the approve/revise buttons
|
|
86
|
+
* were decoration.
|
|
87
|
+
*/
|
|
88
|
+
private readPriorFormAnswer;
|
|
89
|
+
/**
|
|
90
|
+
* Read the founder's form answer from where Explorer ACTUALLY delivers it.
|
|
91
|
+
*
|
|
92
|
+
* A responseForm click does not fill `MJ: AI Agent Requests`.`Response`
|
|
93
|
+
* (verified live: every row stays `Requested`/NULL). It arrives as a USER
|
|
94
|
+
* conversation message whose body is `@`-prefixed JSON:
|
|
95
|
+
*
|
|
96
|
+
* @{"_mode":"form","action":"formSubmit","fields":[
|
|
97
|
+
* {"name":"action","value":"approved",...},
|
|
98
|
+
* {"name":"feedback","value":null,...}]}
|
|
99
|
+
*
|
|
100
|
+
* Note the outer `action` is the transport verb ("formSubmit") — the
|
|
101
|
+
* founder's answer lives in `fields[]`. This flattens those into the
|
|
102
|
+
* {action, feedback, ...} record the approval flow reads. The most recent
|
|
103
|
+
* form answer wins; founder chit-chat after it does not cancel it (the
|
|
104
|
+
* materialized-once guard makes a re-applied approve a no-op).
|
|
105
|
+
*/
|
|
106
|
+
private readFormAnswerFromConversation;
|
|
107
|
+
/** Fallback only: scan the in-memory transcript (known to be display-text in Explorer). */
|
|
108
|
+
private readFormAnswerFromTranscript;
|
|
109
|
+
/** Parse one message as an Explorer formSubmit; null if it isn't one. */
|
|
110
|
+
private parseFormSubmitMessage;
|
|
111
|
+
/**
|
|
112
|
+
* P1 — finalize intent, derived fresh EVERY turn and never latched.
|
|
113
|
+
*
|
|
114
|
+
* The previous one-way flag meant a single false positive disabled grilling
|
|
115
|
+
* and the messaging gate permanently. Skip's rules, ported: a long message
|
|
116
|
+
* is almost always a change request, and "approval + but…" is a change
|
|
117
|
+
* request, so negations and hedges near the trigger disqualify it.
|
|
118
|
+
*/
|
|
119
|
+
private founderAskedToFinalize;
|
|
120
|
+
/**
|
|
121
|
+
* P15 — keep the giant blobs out of the step log.
|
|
122
|
+
*
|
|
123
|
+
* MJ serializes the payload into PayloadAtStart/PayloadAtEnd on EVERY step.
|
|
124
|
+
* Ours carries whole scraped pages in `rawSources[].text`, the accumulated
|
|
125
|
+
* founder transcript, and the fully rendered strategy markdown — so a long
|
|
126
|
+
* interview writes megabytes of duplicated text per turn. Skip does the
|
|
127
|
+
* same projection on its two heaviest agents (base-skip-agent
|
|
128
|
+
* shouldSummarizePayload / summarizePayload).
|
|
129
|
+
*
|
|
130
|
+
* This affects LOGGING ONLY. The live payload is untouched.
|
|
131
|
+
*/
|
|
132
|
+
protected serializePayloadAtStart(payload: unknown): string | null;
|
|
133
|
+
protected serializePayloadAtEnd(payload: unknown): string | null;
|
|
134
|
+
private summarizeForLog;
|
|
135
|
+
/** Mark derived turns consumed — only after a synthesis has ingested them. */
|
|
136
|
+
private commitConsumedTurns;
|
|
137
|
+
/**
|
|
138
|
+
* Deterministic finalize-intent detection on the LATEST founder message
|
|
139
|
+
* only (not history — an early "we'll finalize later" must not trigger).
|
|
140
|
+
* The LLM-set payload flag is the primary channel; this catches the
|
|
141
|
+
* explicit phrasings even when the LLM fails to set it.
|
|
142
|
+
*/
|
|
143
|
+
private latestUserMessageRequestsFinalize;
|
|
144
|
+
/** The deterministic onboarding shell. Fail-open: an error here logs and lets the turn proceed undirected. */
|
|
145
|
+
private runOnboardingShell;
|
|
146
|
+
/**
|
|
147
|
+
* Button-group labels for the AwaitingBrand phase. Two brands of DIFFERENT
|
|
148
|
+
* companies can share a name, so a repeated name is qualified with its
|
|
149
|
+
* company — otherwise the founder is asked to choose between two identical
|
|
150
|
+
* buttons.
|
|
151
|
+
*/
|
|
152
|
+
private brandChoiceLabels;
|
|
153
|
+
/**
|
|
154
|
+
* Publish the turn's STATE — never a command.
|
|
155
|
+
*
|
|
156
|
+
* Skip's agents don't take injected imperatives: their prompts branch on
|
|
157
|
+
* payload the model can see and verify (`{% if _CURRENT_PAYLOAD.changeRequest %}`),
|
|
158
|
+
* and `preparePromptParams` only ever adds evidence. A directive is a
|
|
159
|
+
* second control channel with no defined behavior when it's absent — which
|
|
160
|
+
* is exactly how a turn with no directive fell through to "gather and
|
|
161
|
+
* Retry" and looped. State always has a branch.
|
|
162
|
+
*/
|
|
163
|
+
/**
|
|
164
|
+
* M2.3 — turn the founder's approval into published state.
|
|
165
|
+
*
|
|
166
|
+
* Runs in the shell, never as an LLM tool choice: approval is a boundary
|
|
167
|
+
* the model may narrate but must not decide. This calls the
|
|
168
|
+
* materialization SERVICE directly rather than the `Materialize Strategy
|
|
169
|
+
* Version` action — an action invoking another action is the documented
|
|
170
|
+
* anti-pattern, and that action is only the founder/UI/tasks-flow entry
|
|
171
|
+
* point onto this same call.
|
|
172
|
+
*
|
|
173
|
+
* Every outcome lands on the payload so the prompt can branch on what
|
|
174
|
+
* actually happened rather than on what it hoped happened.
|
|
175
|
+
*/
|
|
176
|
+
private materializeApprovedStrategy;
|
|
177
|
+
/**
|
|
178
|
+
* Complete the founder's approval Task after a successful publish.
|
|
179
|
+
*
|
|
180
|
+
* Best-effort by design: the strategy IS Active by the time this runs, so
|
|
181
|
+
* a stuck task must never turn a successful publish into a reported
|
|
182
|
+
* failure. It surfaces on its own payload key instead.
|
|
183
|
+
*/
|
|
184
|
+
private closeApprovalTask;
|
|
185
|
+
/**
|
|
186
|
+
* Resolve the newest artifact version emitted in this conversation — the
|
|
187
|
+
* snapshot the founder actually approved, and the row whose id gets
|
|
188
|
+
* stamped as ApprovedArtifactVersionID.
|
|
189
|
+
*
|
|
190
|
+
* Two hops, because the framework links artifacts through
|
|
191
|
+
* ConversationDetailArtifact and neither that entity nor
|
|
192
|
+
* `MJ: Artifact Versions` denormalizes ConversationID.
|
|
193
|
+
*/
|
|
194
|
+
private resolveApprovedArtifactVersionId;
|
|
195
|
+
private publishState;
|
|
196
|
+
/**
|
|
197
|
+
* Maintain payload.spec — the MarketingStrategySpec working draft that
|
|
198
|
+
* artifact versions serialize (Rev 5 §2.7.1). Slots merge from synthesis
|
|
199
|
+
* results (fields + narrative + derived confidence); sources accumulate
|
|
200
|
+
* from consumed evidence; displayMarkdown re-renders via the one shared
|
|
201
|
+
* renderer so the artifact viewer's extract rule never re-derives it.
|
|
202
|
+
*/
|
|
203
|
+
private mergeSpec;
|
|
204
|
+
}
|
|
205
|
+
export declare function LoadMarketingStrategyOnboardingAgent(): void;
|
|
206
|
+
//# sourceMappingURL=MarketingStrategyOnboardingAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarketingStrategyOnboardingAgent.d.ts","sourceRoot":"","sources":["../../src/agents/MarketingStrategyOnboardingAgent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAErL,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAsF7D,qBACa,gCAAiC,SAAQ,kBAAkB;cAC3C,yBAAyB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAc7F,mBAAmB,CAAC,CAAC,EAC1C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IAO1B;;;;;;;;;;;;;OAaG;IACH,+DAA+D;IAC/D,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,4BAA4B;IAiDpC;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;;;;;;;;;;;;;;;OAiBG;IAEH;;;;;;;OAOG;cACsB,oBAAoB,CAAC,CAAC,EAC3C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAYhC,kFAAkF;YACpE,wBAAwB;IAoDtC;;;;;;;;;;;;OAYG;cACsB,qBAAqB,CAAC,CAAC,EAC5C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAiBhC;;;;;;;;;;OAUG;YACW,mBAAmB;IAqBjC;;;;;;;;;;;;;;;;OAgBG;YACW,8BAA8B;IAuC5C,2FAA2F;IAC3F,OAAO,CAAC,4BAA4B;IAapC,yEAAyE;IACzE,OAAO,CAAC,sBAAsB;IAsB9B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;;;;;;;;;;OAWG;cACgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;cAIxD,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAIzE,OAAO,CAAC,eAAe;IA0BvB,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;IAQ3B;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IASzC,8GAA8G;YAChG,kBAAkB;IAmYhC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;OASG;IACH;;;;;;;;;;;;OAYG;YACW,2BAA2B;IAmFzC;;;;;;OAMG;YACW,iBAAiB;IAuB/B;;;;;;;;OAQG;YACW,gCAAgC;IA2C9C,OAAO,CAAC,YAAY;IAmDpB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;CA0DpB;AAsCD,wBAAgB,oCAAoC,SAAK"}
|