@sellable/mcp 0.1.571 → 0.1.573-phase102.202607122257
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/dist/index-dev.js +0 -0
- package/dist/index.js +0 -0
- package/dist/server.js +4 -1
- package/dist/tools/campaigns.d.ts +124 -0
- package/dist/tools/campaigns.js +51 -0
- package/dist/tools/registry.d.ts +122 -0
- package/dist/utils/campaign1KickoffHandoff.d.ts +76 -0
- package/dist/utils/campaign1KickoffHandoff.js +240 -0
- package/package.json +1 -1
- package/skills/create-campaign/SKILL.md +25 -0
- package/skills/create-campaign-v2/core/flow.v2.json +1989 -1
- package/dist/refill-contract.d.ts +0 -157
- package/dist/refill-contract.js +0 -487
- package/dist/refill-date-window.d.ts +0 -34
- package/dist/refill-date-window.js +0 -210
- package/dist/tools/refill-sends-evergreen.d.ts +0 -28
- package/dist/tools/refill-sends-evergreen.js +0 -47
- package/skills/research/config.json +0 -9
package/dist/index-dev.js
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/server.js
CHANGED
|
@@ -11,7 +11,7 @@ import { fillCampaignHorizon } from "./tools/campaign-horizon-fill.js";
|
|
|
11
11
|
import { cancelPrepareCampaignMessages, getPrepareCampaignMessagesStatus, startPrepareCampaignMessages, } from "./tools/campaign-message-preparation.js";
|
|
12
12
|
import { getCampaignTableSchema, queueCampaignCells, recordCampaignReviewBatch, reviseMessageTemplateAndRerun, selectCampaignCells, waitForCampaignProcessing, } from "./tools/campaign-processing.js";
|
|
13
13
|
import { getCampaignRefillState } from "./tools/campaign-refill-state.js";
|
|
14
|
-
import { archiveCampaign, createCampaign, duplicateCampaign, getCampaign, getCampaignMessagesPreview, getCampaigns, pauseCampaign, startCampaign, updateCampaign, updateCampaignBrief, } from "./tools/campaigns.js";
|
|
14
|
+
import { archiveCampaign, createCampaign, duplicateCampaign, getCampaign, getCampaignMessagesPreview, getCampaigns, pauseCampaign, startCampaign, updateCampaign, updateCampaignBrief, validateCampaign1KickoffHandoff, } from "./tools/campaigns.js";
|
|
15
15
|
import { queueCells, updateCell } from "./tools/cells.js";
|
|
16
16
|
import { handleStartCliLogin, handleWaitForCliLogin, } from "./tools/cli-login.js";
|
|
17
17
|
import { handleDeleteColumn } from "./tools/column-delete.js";
|
|
@@ -334,6 +334,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
334
334
|
if (result?.id)
|
|
335
335
|
markCampaignContextDirty(result.id, "create_campaign");
|
|
336
336
|
break;
|
|
337
|
+
case "validate_campaign1_kickoff_handoff":
|
|
338
|
+
result = validateCampaign1KickoffHandoff(args);
|
|
339
|
+
break;
|
|
337
340
|
case "update_campaign":
|
|
338
341
|
result = await updateCampaign(args?.campaignId, args);
|
|
339
342
|
if (result?._campaign?.id) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getConfig } from "../auth.js";
|
|
2
2
|
import { type InteractionMode } from "./interaction-mode.js";
|
|
3
3
|
import type { CampaignOfferNavigation } from "./navigation.js";
|
|
4
|
+
import { type Campaign1KickoffHandoffInput, type Campaign1KickoffHandoffValidationResult } from "../utils/campaign1KickoffHandoff.js";
|
|
4
5
|
declare const LEAD_SOURCE_PROVIDERS: {
|
|
5
6
|
readonly APOLLO: "apollo-ai";
|
|
6
7
|
readonly SALES_NAV: "sales-nav";
|
|
@@ -153,6 +154,101 @@ export interface UpdateCampaignInput {
|
|
|
153
154
|
rubric?: unknown[];
|
|
154
155
|
}
|
|
155
156
|
export declare const campaignToolDefinitions: ({
|
|
157
|
+
name: string;
|
|
158
|
+
description: string;
|
|
159
|
+
inputSchema: {
|
|
160
|
+
type: string;
|
|
161
|
+
additionalProperties: boolean;
|
|
162
|
+
properties: {
|
|
163
|
+
handoffMarkdown: {
|
|
164
|
+
type: string;
|
|
165
|
+
minLength: number;
|
|
166
|
+
description: string;
|
|
167
|
+
};
|
|
168
|
+
binding: {
|
|
169
|
+
type: string;
|
|
170
|
+
additionalProperties: boolean;
|
|
171
|
+
properties: {
|
|
172
|
+
clientName: {
|
|
173
|
+
type: string;
|
|
174
|
+
minLength: number;
|
|
175
|
+
};
|
|
176
|
+
engagementId: {
|
|
177
|
+
type: string;
|
|
178
|
+
minLength: number;
|
|
179
|
+
};
|
|
180
|
+
workspaceId: {
|
|
181
|
+
type: string;
|
|
182
|
+
minLength: number;
|
|
183
|
+
};
|
|
184
|
+
senderId: {
|
|
185
|
+
type: string;
|
|
186
|
+
minLength: number;
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
required: string[];
|
|
190
|
+
};
|
|
191
|
+
expected: {
|
|
192
|
+
type: string;
|
|
193
|
+
additionalProperties: boolean;
|
|
194
|
+
properties: {
|
|
195
|
+
clientName: {
|
|
196
|
+
type: string;
|
|
197
|
+
minLength: number;
|
|
198
|
+
};
|
|
199
|
+
engagementId: {
|
|
200
|
+
type: string;
|
|
201
|
+
minLength: number;
|
|
202
|
+
};
|
|
203
|
+
workspaceId: {
|
|
204
|
+
type: string;
|
|
205
|
+
minLength: number;
|
|
206
|
+
};
|
|
207
|
+
senderId: {
|
|
208
|
+
type: string;
|
|
209
|
+
minLength: number;
|
|
210
|
+
};
|
|
211
|
+
senderName: {
|
|
212
|
+
type: string;
|
|
213
|
+
minLength: number;
|
|
214
|
+
};
|
|
215
|
+
pageRevision: {
|
|
216
|
+
type: string;
|
|
217
|
+
minLength: number;
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
required: string[];
|
|
221
|
+
};
|
|
222
|
+
campaignId?: undefined;
|
|
223
|
+
name?: undefined;
|
|
224
|
+
limit?: undefined;
|
|
225
|
+
tableId?: undefined;
|
|
226
|
+
leadLimit?: undefined;
|
|
227
|
+
page?: undefined;
|
|
228
|
+
filters?: undefined;
|
|
229
|
+
clientProspectId?: undefined;
|
|
230
|
+
senderLinkedinUrl?: undefined;
|
|
231
|
+
offerPositioning?: undefined;
|
|
232
|
+
campaignBrief?: undefined;
|
|
233
|
+
messageGenerationMode?: undefined;
|
|
234
|
+
currentStep?: undefined;
|
|
235
|
+
watchNarration?: undefined;
|
|
236
|
+
leadSourceType?: undefined;
|
|
237
|
+
leadSourceProvider?: undefined;
|
|
238
|
+
selectedLeadListId?: undefined;
|
|
239
|
+
senderIds?: undefined;
|
|
240
|
+
currentStepTransition?: undefined;
|
|
241
|
+
clearCurrentStepIfMatches?: undefined;
|
|
242
|
+
interactionMode?: undefined;
|
|
243
|
+
enableICPFilters?: undefined;
|
|
244
|
+
useMessagingTemplate?: undefined;
|
|
245
|
+
rubric?: undefined;
|
|
246
|
+
flowVersion?: undefined;
|
|
247
|
+
workspaceId?: undefined;
|
|
248
|
+
};
|
|
249
|
+
required: string[];
|
|
250
|
+
};
|
|
251
|
+
} | {
|
|
156
252
|
name: string;
|
|
157
253
|
description: string;
|
|
158
254
|
inputSchema: {
|
|
@@ -162,6 +258,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
162
258
|
type: string;
|
|
163
259
|
description: string;
|
|
164
260
|
};
|
|
261
|
+
handoffMarkdown?: undefined;
|
|
262
|
+
binding?: undefined;
|
|
263
|
+
expected?: undefined;
|
|
165
264
|
name?: undefined;
|
|
166
265
|
limit?: undefined;
|
|
167
266
|
tableId?: undefined;
|
|
@@ -206,6 +305,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
206
305
|
maxLength: number;
|
|
207
306
|
description: string;
|
|
208
307
|
};
|
|
308
|
+
handoffMarkdown?: undefined;
|
|
309
|
+
binding?: undefined;
|
|
310
|
+
expected?: undefined;
|
|
209
311
|
limit?: undefined;
|
|
210
312
|
tableId?: undefined;
|
|
211
313
|
leadLimit?: undefined;
|
|
@@ -244,6 +346,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
244
346
|
type: string;
|
|
245
347
|
description: string;
|
|
246
348
|
};
|
|
349
|
+
handoffMarkdown?: undefined;
|
|
350
|
+
binding?: undefined;
|
|
351
|
+
expected?: undefined;
|
|
247
352
|
campaignId?: undefined;
|
|
248
353
|
name?: undefined;
|
|
249
354
|
tableId?: undefined;
|
|
@@ -283,6 +388,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
283
388
|
type: string;
|
|
284
389
|
description: string;
|
|
285
390
|
};
|
|
391
|
+
handoffMarkdown?: undefined;
|
|
392
|
+
binding?: undefined;
|
|
393
|
+
expected?: undefined;
|
|
286
394
|
name?: undefined;
|
|
287
395
|
limit?: undefined;
|
|
288
396
|
tableId?: undefined;
|
|
@@ -369,6 +477,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
369
477
|
additionalProperties: boolean;
|
|
370
478
|
};
|
|
371
479
|
};
|
|
480
|
+
handoffMarkdown?: undefined;
|
|
481
|
+
binding?: undefined;
|
|
482
|
+
expected?: undefined;
|
|
372
483
|
name?: undefined;
|
|
373
484
|
limit?: undefined;
|
|
374
485
|
clientProspectId?: undefined;
|
|
@@ -573,6 +684,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
573
684
|
};
|
|
574
685
|
description: string;
|
|
575
686
|
};
|
|
687
|
+
handoffMarkdown?: undefined;
|
|
688
|
+
binding?: undefined;
|
|
689
|
+
expected?: undefined;
|
|
576
690
|
limit?: undefined;
|
|
577
691
|
tableId?: undefined;
|
|
578
692
|
leadLimit?: undefined;
|
|
@@ -787,6 +901,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
787
901
|
enum: string[];
|
|
788
902
|
description: string;
|
|
789
903
|
};
|
|
904
|
+
handoffMarkdown?: undefined;
|
|
905
|
+
binding?: undefined;
|
|
906
|
+
expected?: undefined;
|
|
790
907
|
limit?: undefined;
|
|
791
908
|
tableId?: undefined;
|
|
792
909
|
leadLimit?: undefined;
|
|
@@ -814,6 +931,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
814
931
|
type: string;
|
|
815
932
|
description: string;
|
|
816
933
|
};
|
|
934
|
+
handoffMarkdown?: undefined;
|
|
935
|
+
binding?: undefined;
|
|
936
|
+
expected?: undefined;
|
|
817
937
|
name?: undefined;
|
|
818
938
|
limit?: undefined;
|
|
819
939
|
tableId?: undefined;
|
|
@@ -856,6 +976,9 @@ export declare const campaignToolDefinitions: ({
|
|
|
856
976
|
type: string;
|
|
857
977
|
description: string;
|
|
858
978
|
};
|
|
979
|
+
handoffMarkdown?: undefined;
|
|
980
|
+
binding?: undefined;
|
|
981
|
+
expected?: undefined;
|
|
859
982
|
name?: undefined;
|
|
860
983
|
limit?: undefined;
|
|
861
984
|
tableId?: undefined;
|
|
@@ -885,6 +1008,7 @@ export declare const campaignToolDefinitions: ({
|
|
|
885
1008
|
additionalProperties?: undefined;
|
|
886
1009
|
};
|
|
887
1010
|
})[];
|
|
1011
|
+
export declare function validateCampaign1KickoffHandoff(input: Campaign1KickoffHandoffInput): Campaign1KickoffHandoffValidationResult;
|
|
888
1012
|
export declare function getCampaigns(limit?: number): Promise<Campaign[]>;
|
|
889
1013
|
export declare function getCampaign(campaignId: string): Promise<CampaignDetail>;
|
|
890
1014
|
export declare function getCampaignMessagesPreview(input: CampaignMessagesPreviewInput): Promise<CampaignMessagesPreviewResult>;
|
package/dist/tools/campaigns.js
CHANGED
|
@@ -4,6 +4,7 @@ import { assertCreateCampaignPromptLoaded, assertNetNewCreateCampaignResearchRea
|
|
|
4
4
|
import { setCampaignInteractionMode, } from "./interaction-mode.js";
|
|
5
5
|
import { isLinkedInProfileInput, normalizeLinkedInProfileInput, } from "./linkedin-url.js";
|
|
6
6
|
import { fetchCampaignRubrics } from "./processing.js";
|
|
7
|
+
import { parseCampaign1KickoffHandoff, } from "../utils/campaign1KickoffHandoff.js";
|
|
7
8
|
const LEAD_SOURCE_PROVIDERS = {
|
|
8
9
|
APOLLO: "apollo-ai",
|
|
9
10
|
SALES_NAV: "sales-nav",
|
|
@@ -189,6 +190,53 @@ function assertBriefHandoffWatchUrl(watchUrl, campaignId) {
|
|
|
189
190
|
"with create_campaign({ campaignId }) or get_campaign before asking for approval.");
|
|
190
191
|
}
|
|
191
192
|
export const campaignToolDefinitions = [
|
|
193
|
+
{
|
|
194
|
+
name: "validate_campaign1_kickoff_handoff",
|
|
195
|
+
description: "Read-only validation for exact inline sellable.kickoff.campaign1.v1 Markdown plus its Admin result binding. Returns sufficient Campaign 1 intake and campaign-brief Markdown without reading a URL, creating a campaign, sourcing/importing leads, or advancing approval gates.",
|
|
196
|
+
inputSchema: {
|
|
197
|
+
type: "object",
|
|
198
|
+
additionalProperties: false,
|
|
199
|
+
properties: {
|
|
200
|
+
handoffMarkdown: {
|
|
201
|
+
type: "string",
|
|
202
|
+
minLength: 1,
|
|
203
|
+
description: "Exact inline Markdown returned by admin_onboarding_call finalize. URL-only input is not accepted.",
|
|
204
|
+
},
|
|
205
|
+
binding: {
|
|
206
|
+
type: "object",
|
|
207
|
+
additionalProperties: false,
|
|
208
|
+
properties: {
|
|
209
|
+
clientName: { type: "string", minLength: 1 },
|
|
210
|
+
engagementId: { type: "string", minLength: 1 },
|
|
211
|
+
workspaceId: { type: "string", minLength: 1 },
|
|
212
|
+
senderId: { type: "string", minLength: 1 },
|
|
213
|
+
},
|
|
214
|
+
required: ["clientName", "engagementId", "workspaceId", "senderId"],
|
|
215
|
+
},
|
|
216
|
+
expected: {
|
|
217
|
+
type: "object",
|
|
218
|
+
additionalProperties: false,
|
|
219
|
+
properties: {
|
|
220
|
+
clientName: { type: "string", minLength: 1 },
|
|
221
|
+
engagementId: { type: "string", minLength: 1 },
|
|
222
|
+
workspaceId: { type: "string", minLength: 1 },
|
|
223
|
+
senderId: { type: "string", minLength: 1 },
|
|
224
|
+
senderName: { type: "string", minLength: 1 },
|
|
225
|
+
pageRevision: { type: "string", minLength: 1 },
|
|
226
|
+
},
|
|
227
|
+
required: [
|
|
228
|
+
"clientName",
|
|
229
|
+
"engagementId",
|
|
230
|
+
"workspaceId",
|
|
231
|
+
"senderId",
|
|
232
|
+
"senderName",
|
|
233
|
+
"pageRevision",
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
required: ["handoffMarkdown", "binding", "expected"],
|
|
238
|
+
},
|
|
239
|
+
},
|
|
192
240
|
{
|
|
193
241
|
name: "archive_campaign",
|
|
194
242
|
description: "Archive a campaign through Sellable's product archive endpoint. This is an explicit cleanup/archive action, is idempotent, and may unschedule pending cells owned by that campaign table. Do not use from refill/setup commands unless the user explicitly asked to archive exact campaign ids.",
|
|
@@ -527,6 +575,9 @@ export const campaignToolDefinitions = [
|
|
|
527
575
|
},
|
|
528
576
|
},
|
|
529
577
|
];
|
|
578
|
+
export function validateCampaign1KickoffHandoff(input) {
|
|
579
|
+
return parseCampaign1KickoffHandoff(input);
|
|
580
|
+
}
|
|
530
581
|
export async function getCampaigns(limit) {
|
|
531
582
|
const api = getApi();
|
|
532
583
|
const params = limit ? `?limit=${limit}` : "";
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -1085,6 +1085,101 @@ export declare const allTools: ({
|
|
|
1085
1085
|
};
|
|
1086
1086
|
required: string[];
|
|
1087
1087
|
};
|
|
1088
|
+
} | {
|
|
1089
|
+
name: string;
|
|
1090
|
+
description: string;
|
|
1091
|
+
inputSchema: {
|
|
1092
|
+
type: string;
|
|
1093
|
+
additionalProperties: boolean;
|
|
1094
|
+
properties: {
|
|
1095
|
+
handoffMarkdown: {
|
|
1096
|
+
type: string;
|
|
1097
|
+
minLength: number;
|
|
1098
|
+
description: string;
|
|
1099
|
+
};
|
|
1100
|
+
binding: {
|
|
1101
|
+
type: string;
|
|
1102
|
+
additionalProperties: boolean;
|
|
1103
|
+
properties: {
|
|
1104
|
+
clientName: {
|
|
1105
|
+
type: string;
|
|
1106
|
+
minLength: number;
|
|
1107
|
+
};
|
|
1108
|
+
engagementId: {
|
|
1109
|
+
type: string;
|
|
1110
|
+
minLength: number;
|
|
1111
|
+
};
|
|
1112
|
+
workspaceId: {
|
|
1113
|
+
type: string;
|
|
1114
|
+
minLength: number;
|
|
1115
|
+
};
|
|
1116
|
+
senderId: {
|
|
1117
|
+
type: string;
|
|
1118
|
+
minLength: number;
|
|
1119
|
+
};
|
|
1120
|
+
};
|
|
1121
|
+
required: string[];
|
|
1122
|
+
};
|
|
1123
|
+
expected: {
|
|
1124
|
+
type: string;
|
|
1125
|
+
additionalProperties: boolean;
|
|
1126
|
+
properties: {
|
|
1127
|
+
clientName: {
|
|
1128
|
+
type: string;
|
|
1129
|
+
minLength: number;
|
|
1130
|
+
};
|
|
1131
|
+
engagementId: {
|
|
1132
|
+
type: string;
|
|
1133
|
+
minLength: number;
|
|
1134
|
+
};
|
|
1135
|
+
workspaceId: {
|
|
1136
|
+
type: string;
|
|
1137
|
+
minLength: number;
|
|
1138
|
+
};
|
|
1139
|
+
senderId: {
|
|
1140
|
+
type: string;
|
|
1141
|
+
minLength: number;
|
|
1142
|
+
};
|
|
1143
|
+
senderName: {
|
|
1144
|
+
type: string;
|
|
1145
|
+
minLength: number;
|
|
1146
|
+
};
|
|
1147
|
+
pageRevision: {
|
|
1148
|
+
type: string;
|
|
1149
|
+
minLength: number;
|
|
1150
|
+
};
|
|
1151
|
+
};
|
|
1152
|
+
required: string[];
|
|
1153
|
+
};
|
|
1154
|
+
campaignId?: undefined;
|
|
1155
|
+
name?: undefined;
|
|
1156
|
+
limit?: undefined;
|
|
1157
|
+
tableId?: undefined;
|
|
1158
|
+
leadLimit?: undefined;
|
|
1159
|
+
page?: undefined;
|
|
1160
|
+
filters?: undefined;
|
|
1161
|
+
clientProspectId?: undefined;
|
|
1162
|
+
senderLinkedinUrl?: undefined;
|
|
1163
|
+
offerPositioning?: undefined;
|
|
1164
|
+
campaignBrief?: undefined;
|
|
1165
|
+
messageGenerationMode?: undefined;
|
|
1166
|
+
currentStep?: undefined;
|
|
1167
|
+
watchNarration?: undefined;
|
|
1168
|
+
leadSourceType?: undefined;
|
|
1169
|
+
leadSourceProvider?: undefined;
|
|
1170
|
+
selectedLeadListId?: undefined;
|
|
1171
|
+
senderIds?: undefined;
|
|
1172
|
+
currentStepTransition?: undefined;
|
|
1173
|
+
clearCurrentStepIfMatches?: undefined;
|
|
1174
|
+
interactionMode?: undefined;
|
|
1175
|
+
enableICPFilters?: undefined;
|
|
1176
|
+
useMessagingTemplate?: undefined;
|
|
1177
|
+
rubric?: undefined;
|
|
1178
|
+
flowVersion?: undefined;
|
|
1179
|
+
workspaceId?: undefined;
|
|
1180
|
+
};
|
|
1181
|
+
required: string[];
|
|
1182
|
+
};
|
|
1088
1183
|
} | {
|
|
1089
1184
|
name: string;
|
|
1090
1185
|
description: string;
|
|
@@ -1095,6 +1190,9 @@ export declare const allTools: ({
|
|
|
1095
1190
|
type: string;
|
|
1096
1191
|
description: string;
|
|
1097
1192
|
};
|
|
1193
|
+
handoffMarkdown?: undefined;
|
|
1194
|
+
binding?: undefined;
|
|
1195
|
+
expected?: undefined;
|
|
1098
1196
|
name?: undefined;
|
|
1099
1197
|
limit?: undefined;
|
|
1100
1198
|
tableId?: undefined;
|
|
@@ -1139,6 +1237,9 @@ export declare const allTools: ({
|
|
|
1139
1237
|
maxLength: number;
|
|
1140
1238
|
description: string;
|
|
1141
1239
|
};
|
|
1240
|
+
handoffMarkdown?: undefined;
|
|
1241
|
+
binding?: undefined;
|
|
1242
|
+
expected?: undefined;
|
|
1142
1243
|
limit?: undefined;
|
|
1143
1244
|
tableId?: undefined;
|
|
1144
1245
|
leadLimit?: undefined;
|
|
@@ -1177,6 +1278,9 @@ export declare const allTools: ({
|
|
|
1177
1278
|
type: string;
|
|
1178
1279
|
description: string;
|
|
1179
1280
|
};
|
|
1281
|
+
handoffMarkdown?: undefined;
|
|
1282
|
+
binding?: undefined;
|
|
1283
|
+
expected?: undefined;
|
|
1180
1284
|
campaignId?: undefined;
|
|
1181
1285
|
name?: undefined;
|
|
1182
1286
|
tableId?: undefined;
|
|
@@ -1216,6 +1320,9 @@ export declare const allTools: ({
|
|
|
1216
1320
|
type: string;
|
|
1217
1321
|
description: string;
|
|
1218
1322
|
};
|
|
1323
|
+
handoffMarkdown?: undefined;
|
|
1324
|
+
binding?: undefined;
|
|
1325
|
+
expected?: undefined;
|
|
1219
1326
|
name?: undefined;
|
|
1220
1327
|
limit?: undefined;
|
|
1221
1328
|
tableId?: undefined;
|
|
@@ -1302,6 +1409,9 @@ export declare const allTools: ({
|
|
|
1302
1409
|
additionalProperties: boolean;
|
|
1303
1410
|
};
|
|
1304
1411
|
};
|
|
1412
|
+
handoffMarkdown?: undefined;
|
|
1413
|
+
binding?: undefined;
|
|
1414
|
+
expected?: undefined;
|
|
1305
1415
|
name?: undefined;
|
|
1306
1416
|
limit?: undefined;
|
|
1307
1417
|
clientProspectId?: undefined;
|
|
@@ -1506,6 +1616,9 @@ export declare const allTools: ({
|
|
|
1506
1616
|
};
|
|
1507
1617
|
description: string;
|
|
1508
1618
|
};
|
|
1619
|
+
handoffMarkdown?: undefined;
|
|
1620
|
+
binding?: undefined;
|
|
1621
|
+
expected?: undefined;
|
|
1509
1622
|
limit?: undefined;
|
|
1510
1623
|
tableId?: undefined;
|
|
1511
1624
|
leadLimit?: undefined;
|
|
@@ -1720,6 +1833,9 @@ export declare const allTools: ({
|
|
|
1720
1833
|
enum: string[];
|
|
1721
1834
|
description: string;
|
|
1722
1835
|
};
|
|
1836
|
+
handoffMarkdown?: undefined;
|
|
1837
|
+
binding?: undefined;
|
|
1838
|
+
expected?: undefined;
|
|
1723
1839
|
limit?: undefined;
|
|
1724
1840
|
tableId?: undefined;
|
|
1725
1841
|
leadLimit?: undefined;
|
|
@@ -1747,6 +1863,9 @@ export declare const allTools: ({
|
|
|
1747
1863
|
type: string;
|
|
1748
1864
|
description: string;
|
|
1749
1865
|
};
|
|
1866
|
+
handoffMarkdown?: undefined;
|
|
1867
|
+
binding?: undefined;
|
|
1868
|
+
expected?: undefined;
|
|
1750
1869
|
name?: undefined;
|
|
1751
1870
|
limit?: undefined;
|
|
1752
1871
|
tableId?: undefined;
|
|
@@ -1789,6 +1908,9 @@ export declare const allTools: ({
|
|
|
1789
1908
|
type: string;
|
|
1790
1909
|
description: string;
|
|
1791
1910
|
};
|
|
1911
|
+
handoffMarkdown?: undefined;
|
|
1912
|
+
binding?: undefined;
|
|
1913
|
+
expected?: undefined;
|
|
1792
1914
|
name?: undefined;
|
|
1793
1915
|
limit?: undefined;
|
|
1794
1916
|
tableId?: undefined;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export declare const CAMPAIGN_1_KICKOFF_SCHEMA_ID: "sellable.kickoff.campaign1.v1";
|
|
2
|
+
export declare const CAMPAIGN_1_KICKOFF_LABELS: readonly ["Client", "Page revision", "Readiness", "Campaign name", "Campaign objective", "Sender", "Sender public URL", "Product", "Value", "Pain", "Outcome", "Proof", "Prohibited claims", "Target companies", "Buyer roles", "Anti-buyers", "Exclusions", "Geography", "DNC dependency", "Dream account", "Ideal buyer", "Why it fits", "Lookalike 1", "Lookalike 2", "Lookalike 3", "LinkedIn topics", "LinkedIn conversations", "LinkedIn creators", "LinkedIn posts", "Participant behavior", "Offer", "CTA", "Message direction", "Voice constraints", "Sender credibility", "Representative sample plan", "Launch operator", "Activation", "Outstanding blockers"];
|
|
3
|
+
export type Campaign1KickoffLabel = (typeof CAMPAIGN_1_KICKOFF_LABELS)[number];
|
|
4
|
+
export type Campaign1KickoffBinding = {
|
|
5
|
+
clientName: string;
|
|
6
|
+
engagementId: string;
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
senderId: string;
|
|
9
|
+
};
|
|
10
|
+
export type Campaign1KickoffExpectedBinding = Campaign1KickoffBinding & {
|
|
11
|
+
pageRevision: string;
|
|
12
|
+
senderName: string;
|
|
13
|
+
};
|
|
14
|
+
export type Campaign1KickoffHandoffInput = {
|
|
15
|
+
handoffMarkdown: string;
|
|
16
|
+
binding: Campaign1KickoffBinding;
|
|
17
|
+
expected: Campaign1KickoffExpectedBinding;
|
|
18
|
+
};
|
|
19
|
+
export type Campaign1KickoffSignalDiscovery = {
|
|
20
|
+
topics: string;
|
|
21
|
+
conversations: string;
|
|
22
|
+
creators: string;
|
|
23
|
+
posts: string;
|
|
24
|
+
participantBehavior: string;
|
|
25
|
+
};
|
|
26
|
+
export type Campaign1KickoffIntake = {
|
|
27
|
+
client: string;
|
|
28
|
+
pageRevision: string;
|
|
29
|
+
campaignName: string;
|
|
30
|
+
campaignObjective: string;
|
|
31
|
+
sender: {
|
|
32
|
+
name: string;
|
|
33
|
+
publicUrl: string;
|
|
34
|
+
};
|
|
35
|
+
product: string;
|
|
36
|
+
value: string;
|
|
37
|
+
pain: string;
|
|
38
|
+
outcome: string;
|
|
39
|
+
proof: string;
|
|
40
|
+
prohibitedClaims: string;
|
|
41
|
+
targetCompanies: string;
|
|
42
|
+
buyerRoles: string;
|
|
43
|
+
antiBuyers: string;
|
|
44
|
+
exclusions: string;
|
|
45
|
+
geography: string;
|
|
46
|
+
dncDependency: string;
|
|
47
|
+
dreamAccount: string;
|
|
48
|
+
idealBuyer: string;
|
|
49
|
+
whyItFits: string;
|
|
50
|
+
lookalikes: readonly [string, string, string];
|
|
51
|
+
signalDiscovery: Campaign1KickoffSignalDiscovery;
|
|
52
|
+
offer: string;
|
|
53
|
+
cta: string;
|
|
54
|
+
messageDirection: string;
|
|
55
|
+
voiceConstraints: string;
|
|
56
|
+
senderCredibility: string;
|
|
57
|
+
representativeSamplePlan: string;
|
|
58
|
+
launchOperator: string;
|
|
59
|
+
activation: string;
|
|
60
|
+
outstandingBlockers: string;
|
|
61
|
+
};
|
|
62
|
+
export type Campaign1KickoffHandoffErrorCode = "missing_handoff" | "duplicate_handoff" | "unsupported_schema" | "malformed_handoff" | "unexpected_field" | "missing_required_value" | "stale_revision" | "handoff_not_ready" | "binding_mismatch";
|
|
63
|
+
export type Campaign1KickoffHandoffValidationResult = {
|
|
64
|
+
ok: true;
|
|
65
|
+
schemaVersion: typeof CAMPAIGN_1_KICKOFF_SCHEMA_ID;
|
|
66
|
+
handoffMarkdown: string;
|
|
67
|
+
binding: Campaign1KickoffBinding;
|
|
68
|
+
intake: Campaign1KickoffIntake;
|
|
69
|
+
campaignBriefMarkdown: string;
|
|
70
|
+
sourceSeeds: readonly [];
|
|
71
|
+
} | {
|
|
72
|
+
ok: false;
|
|
73
|
+
code: Campaign1KickoffHandoffErrorCode;
|
|
74
|
+
message: string;
|
|
75
|
+
};
|
|
76
|
+
export declare function parseCampaign1KickoffHandoff(input: Campaign1KickoffHandoffInput): Campaign1KickoffHandoffValidationResult;
|