@sellable/mcp 0.1.191 → 0.1.193
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/agents/post-find-leads-message-scout.md +7 -7
- package/agents/registry.json +2 -2
- package/dist/auth.js +1 -1
- package/dist/index-dev.js +0 -0
- package/dist/index.js +0 -0
- package/dist/server.js +22 -0
- package/dist/tools/campaign-processing.d.ts +383 -0
- package/dist/tools/campaign-processing.js +304 -0
- package/dist/tools/leads.d.ts +68 -19
- package/dist/tools/leads.js +65 -9
- package/dist/tools/prompts.d.ts +1 -1
- package/dist/tools/prompts.js +3 -3
- package/dist/tools/registry.d.ts +289 -37
- package/dist/tools/registry.js +2 -0
- package/dist/tools/rows.d.ts +2 -0
- package/dist/tools/rubrics.js +1 -1
- package/package.json +1 -1
- package/skills/create-campaign/SKILL.md +8 -6
- package/skills/create-campaign-v2/SKILL.md +8 -9
- package/skills/create-campaign-v2/SOUL.md +2 -2
- package/skills/create-campaign-v2/core/flow.v2.json +1 -1
- package/skills/create-campaign-v2/core/policy.md +3 -3
- package/skills/create-campaign-v2/references/approval-gate-framing.md +5 -5
- package/skills/create-campaign-v2/references/filter-leads.md +5 -3
- package/skills/create-campaign-v2/references/parallel-critique-protocol.md +2 -2
- package/skills/create-campaign-v2/references/sample-validation-loop.md +46 -66
- package/skills/create-campaign-v2/references/step-15-re-cascade.md +20 -13
- package/skills/create-campaign-v2-tail/SKILL.md +52 -65
- package/skills/generate-messages/SKILL.md +2 -2
package/dist/tools/prompts.d.ts
CHANGED
|
@@ -136,7 +136,7 @@ export interface PostFindLeadsScoutRegistryResponse {
|
|
|
136
136
|
runtimeProofRequiredFields: string[];
|
|
137
137
|
promptRequired?: string;
|
|
138
138
|
basisFields: string[];
|
|
139
|
-
|
|
139
|
+
messageDraftOutputFields: string[];
|
|
140
140
|
reusePolicy?: string;
|
|
141
141
|
};
|
|
142
142
|
usage: {
|
package/dist/tools/prompts.js
CHANGED
|
@@ -315,7 +315,7 @@ export function getPostFindLeadsScoutRegistry() {
|
|
|
315
315
|
"basis.workflowTableId",
|
|
316
316
|
"basis.reviewSampleRowHash or basis.reviewSampleRowIds",
|
|
317
317
|
],
|
|
318
|
-
promptRequired: 'get_subskill_prompt({ subskillName: "generate-messages"
|
|
318
|
+
promptRequired: 'get_subskill_prompt({ subskillName: "generate-messages" }); the full generate-messages prompt is required for normal message drafting',
|
|
319
319
|
basisFields: [
|
|
320
320
|
"campaign revision or updatedAt",
|
|
321
321
|
"brief hash",
|
|
@@ -325,7 +325,7 @@ export function getPostFindLeadsScoutRegistry() {
|
|
|
325
325
|
"filter choice",
|
|
326
326
|
"filter/rubric basis when present",
|
|
327
327
|
],
|
|
328
|
-
|
|
328
|
+
messageDraftOutputFields: [
|
|
329
329
|
"templateRecommendation",
|
|
330
330
|
"tokenFillRules",
|
|
331
331
|
"renderedSample",
|
|
@@ -342,7 +342,7 @@ export function getPostFindLeadsScoutRegistry() {
|
|
|
342
342
|
usage: {
|
|
343
343
|
codex: "After confirm_lead_list copies source rows and the initial campaign-table execution slice exists, ask the filter-choice question immediately. Do not spawn returned post-lead scout names before that question. Once the user answers, spawn Message Draft Builder from the same campaign/table basis. If the user chooses filters, also spawn Lead Fit Builder, move to Filter Rules, save rubrics, ask for filter approval, then keep the browser on Filter Leads and show `Filters saved + waiting for message approval` while the message recommendation is reviewed. If filters are skipped, move to Messages/message review.",
|
|
344
344
|
claude: "After confirm_lead_list copies source rows and the initial campaign-table execution slice exists, ask the filter-choice question immediately. Do not invoke returned post-lead Task/Agent names before that question. Once the user answers, invoke Message Draft Builder from the same campaign/table basis. If the user chooses filters, also invoke Lead Fit Builder, move to Filter Rules, save rubrics, ask for filter approval, then keep the browser on Filter Leads and show `Filters saved + waiting for message approval` while the message recommendation is reviewed. If filters are skipped, move to Messages/message review.",
|
|
345
|
-
parentThreadRule: 'Named agents are optional acceleration, but message drafting is not optional. If post-find-leads-message-scout is available, run it as the background Message Draft Builder after the filter-choice answer. If it is absent, do not customer-surface install status; the main thread must execute the same message branch from CampaignOffer state, selected source state, workflowTableId, and initial campaign-table execution slice rows. Local markdown/json files are not normal-path inputs. The filter-choice question is the first post-import user gate; do not load post-lead registries
|
|
345
|
+
parentThreadRule: 'Named agents are optional acceleration, but message drafting is not optional. If post-find-leads-message-scout is available, run it as the background Message Draft Builder after the filter-choice answer. If it is absent, do not customer-surface install status; the main thread must execute the same message branch from CampaignOffer state, selected source state, workflowTableId, and initial campaign-table execution slice rows. Local markdown/json files are not normal-path inputs. The filter-choice question is the first post-import user gate; do not load post-lead registries or filter references before it. Message drafting starts after the filter-choice answer, must load get_subskill_prompt({ subskillName: "generate-messages" }), must read live campaign table state through scoped MCP/product tools, and must reject mismatched selectedLeadListId/workflowTableId/campaign/workspace input. Do not use any alternate or examples-only message prompt. On the filter path, keep the browser on Filter Rules after save_rubrics so the user can approve the saved criteria; only then move to Filter Leads, show `Filters saved + waiting for message approval`, and wait there for message approval. Enrichment, filtering, Generate Message cells, sender setup, sequence attach, and launch wait for template approval on the Use Template path. On the skip path, move to Messages/message review and wait for message approval before enrichment or Settings. Do not render message review from checklist or shortcut instructions; message review requires a messageDraftRecommendation whose basis proves the generate-messages prompt ran for the current campaign/table execution slice. Do not automatically rerun Message Draft Builder after filters/enrichment finish; show the initial draft by default and offer an enriched rewrite only with explicit user opt-in.',
|
|
346
346
|
},
|
|
347
347
|
};
|
|
348
348
|
}
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -853,6 +853,278 @@ export declare const allTools: ({
|
|
|
853
853
|
required: string[];
|
|
854
854
|
additionalProperties?: undefined;
|
|
855
855
|
};
|
|
856
|
+
} | {
|
|
857
|
+
name: string;
|
|
858
|
+
description: string;
|
|
859
|
+
inputSchema: {
|
|
860
|
+
type: string;
|
|
861
|
+
properties: {
|
|
862
|
+
campaignId: {
|
|
863
|
+
type: string;
|
|
864
|
+
description: string;
|
|
865
|
+
};
|
|
866
|
+
timeoutMs: {
|
|
867
|
+
type: string;
|
|
868
|
+
description: string;
|
|
869
|
+
};
|
|
870
|
+
intervalMs: {
|
|
871
|
+
type: string;
|
|
872
|
+
description: string;
|
|
873
|
+
};
|
|
874
|
+
requireRows: {
|
|
875
|
+
type: string;
|
|
876
|
+
description: string;
|
|
877
|
+
};
|
|
878
|
+
flowVersion: {
|
|
879
|
+
type: string;
|
|
880
|
+
enum: string[];
|
|
881
|
+
description: string;
|
|
882
|
+
};
|
|
883
|
+
leadListId?: undefined;
|
|
884
|
+
campaignOfferId?: undefined;
|
|
885
|
+
provider?: undefined;
|
|
886
|
+
jobId?: undefined;
|
|
887
|
+
targetLeadCount?: undefined;
|
|
888
|
+
requireComplete?: undefined;
|
|
889
|
+
};
|
|
890
|
+
required: string[];
|
|
891
|
+
additionalProperties: boolean;
|
|
892
|
+
};
|
|
893
|
+
} | {
|
|
894
|
+
name: string;
|
|
895
|
+
description: string;
|
|
896
|
+
inputSchema: {
|
|
897
|
+
type: string;
|
|
898
|
+
properties: {
|
|
899
|
+
campaignId: {
|
|
900
|
+
type: string;
|
|
901
|
+
};
|
|
902
|
+
tableId: {
|
|
903
|
+
type: string;
|
|
904
|
+
};
|
|
905
|
+
columnRole?: undefined;
|
|
906
|
+
rowSelector?: undefined;
|
|
907
|
+
limit?: undefined;
|
|
908
|
+
forceRerun?: undefined;
|
|
909
|
+
reason?: undefined;
|
|
910
|
+
minPassedCount?: undefined;
|
|
911
|
+
minGeneratedMessages?: undefined;
|
|
912
|
+
templateRevision?: undefined;
|
|
913
|
+
timeoutMs?: undefined;
|
|
914
|
+
intervalMs?: undefined;
|
|
915
|
+
templateMarkdown?: undefined;
|
|
916
|
+
approvedMessageTemplate?: undefined;
|
|
917
|
+
};
|
|
918
|
+
additionalProperties: boolean;
|
|
919
|
+
required?: undefined;
|
|
920
|
+
};
|
|
921
|
+
} | {
|
|
922
|
+
name: string;
|
|
923
|
+
description: string;
|
|
924
|
+
inputSchema: {
|
|
925
|
+
type: string;
|
|
926
|
+
properties: {
|
|
927
|
+
campaignId: {
|
|
928
|
+
type: string;
|
|
929
|
+
};
|
|
930
|
+
tableId: {
|
|
931
|
+
type: string;
|
|
932
|
+
};
|
|
933
|
+
columnRole: {
|
|
934
|
+
type: string;
|
|
935
|
+
enum: string[];
|
|
936
|
+
};
|
|
937
|
+
rowSelector: {
|
|
938
|
+
type: string;
|
|
939
|
+
properties: {
|
|
940
|
+
type: {
|
|
941
|
+
type: string;
|
|
942
|
+
enum: string[];
|
|
943
|
+
};
|
|
944
|
+
basisHash: {
|
|
945
|
+
type: string;
|
|
946
|
+
};
|
|
947
|
+
rowIds: {
|
|
948
|
+
type: string;
|
|
949
|
+
items: {
|
|
950
|
+
type: string;
|
|
951
|
+
};
|
|
952
|
+
};
|
|
953
|
+
limit: {
|
|
954
|
+
type: string;
|
|
955
|
+
};
|
|
956
|
+
};
|
|
957
|
+
required: string[];
|
|
958
|
+
additionalProperties: boolean;
|
|
959
|
+
};
|
|
960
|
+
limit: {
|
|
961
|
+
type: string;
|
|
962
|
+
};
|
|
963
|
+
forceRerun?: undefined;
|
|
964
|
+
reason?: undefined;
|
|
965
|
+
minPassedCount?: undefined;
|
|
966
|
+
minGeneratedMessages?: undefined;
|
|
967
|
+
templateRevision?: undefined;
|
|
968
|
+
timeoutMs?: undefined;
|
|
969
|
+
intervalMs?: undefined;
|
|
970
|
+
templateMarkdown?: undefined;
|
|
971
|
+
approvedMessageTemplate?: undefined;
|
|
972
|
+
};
|
|
973
|
+
required: string[];
|
|
974
|
+
additionalProperties: boolean;
|
|
975
|
+
};
|
|
976
|
+
} | {
|
|
977
|
+
name: string;
|
|
978
|
+
description: string;
|
|
979
|
+
inputSchema: {
|
|
980
|
+
type: string;
|
|
981
|
+
properties: {
|
|
982
|
+
campaignId: {
|
|
983
|
+
type: string;
|
|
984
|
+
};
|
|
985
|
+
tableId: {
|
|
986
|
+
type: string;
|
|
987
|
+
};
|
|
988
|
+
columnRole: {
|
|
989
|
+
type: string;
|
|
990
|
+
enum: string[];
|
|
991
|
+
};
|
|
992
|
+
rowSelector: {
|
|
993
|
+
type: string;
|
|
994
|
+
properties: {
|
|
995
|
+
type: {
|
|
996
|
+
type: string;
|
|
997
|
+
enum: string[];
|
|
998
|
+
};
|
|
999
|
+
basisHash: {
|
|
1000
|
+
type: string;
|
|
1001
|
+
};
|
|
1002
|
+
rowIds: {
|
|
1003
|
+
type: string;
|
|
1004
|
+
items: {
|
|
1005
|
+
type: string;
|
|
1006
|
+
};
|
|
1007
|
+
};
|
|
1008
|
+
limit: {
|
|
1009
|
+
type: string;
|
|
1010
|
+
};
|
|
1011
|
+
};
|
|
1012
|
+
required: string[];
|
|
1013
|
+
additionalProperties: boolean;
|
|
1014
|
+
};
|
|
1015
|
+
forceRerun: {
|
|
1016
|
+
type: string;
|
|
1017
|
+
};
|
|
1018
|
+
limit: {
|
|
1019
|
+
type: string;
|
|
1020
|
+
};
|
|
1021
|
+
reason: {
|
|
1022
|
+
type: string;
|
|
1023
|
+
};
|
|
1024
|
+
minPassedCount?: undefined;
|
|
1025
|
+
minGeneratedMessages?: undefined;
|
|
1026
|
+
templateRevision?: undefined;
|
|
1027
|
+
timeoutMs?: undefined;
|
|
1028
|
+
intervalMs?: undefined;
|
|
1029
|
+
templateMarkdown?: undefined;
|
|
1030
|
+
approvedMessageTemplate?: undefined;
|
|
1031
|
+
};
|
|
1032
|
+
required: string[];
|
|
1033
|
+
additionalProperties: boolean;
|
|
1034
|
+
};
|
|
1035
|
+
} | {
|
|
1036
|
+
name: string;
|
|
1037
|
+
description: string;
|
|
1038
|
+
inputSchema: {
|
|
1039
|
+
type: string;
|
|
1040
|
+
properties: {
|
|
1041
|
+
campaignId: {
|
|
1042
|
+
type: string;
|
|
1043
|
+
};
|
|
1044
|
+
tableId: {
|
|
1045
|
+
type: string;
|
|
1046
|
+
};
|
|
1047
|
+
minPassedCount: {
|
|
1048
|
+
type: string;
|
|
1049
|
+
};
|
|
1050
|
+
minGeneratedMessages: {
|
|
1051
|
+
type: string;
|
|
1052
|
+
};
|
|
1053
|
+
templateRevision: {
|
|
1054
|
+
type: string;
|
|
1055
|
+
description: string;
|
|
1056
|
+
};
|
|
1057
|
+
timeoutMs: {
|
|
1058
|
+
type: string;
|
|
1059
|
+
};
|
|
1060
|
+
intervalMs: {
|
|
1061
|
+
type: string;
|
|
1062
|
+
};
|
|
1063
|
+
columnRole?: undefined;
|
|
1064
|
+
rowSelector?: undefined;
|
|
1065
|
+
limit?: undefined;
|
|
1066
|
+
forceRerun?: undefined;
|
|
1067
|
+
reason?: undefined;
|
|
1068
|
+
templateMarkdown?: undefined;
|
|
1069
|
+
approvedMessageTemplate?: undefined;
|
|
1070
|
+
};
|
|
1071
|
+
additionalProperties: boolean;
|
|
1072
|
+
required?: undefined;
|
|
1073
|
+
};
|
|
1074
|
+
} | {
|
|
1075
|
+
name: string;
|
|
1076
|
+
description: string;
|
|
1077
|
+
inputSchema: {
|
|
1078
|
+
type: string;
|
|
1079
|
+
properties: {
|
|
1080
|
+
campaignId: {
|
|
1081
|
+
type: string;
|
|
1082
|
+
};
|
|
1083
|
+
tableId: {
|
|
1084
|
+
type: string;
|
|
1085
|
+
};
|
|
1086
|
+
templateMarkdown: {
|
|
1087
|
+
type: string;
|
|
1088
|
+
};
|
|
1089
|
+
approvedMessageTemplate: {
|
|
1090
|
+
type: string;
|
|
1091
|
+
};
|
|
1092
|
+
rowSelector: {
|
|
1093
|
+
type: string;
|
|
1094
|
+
properties: {
|
|
1095
|
+
type: {
|
|
1096
|
+
type: string;
|
|
1097
|
+
enum: string[];
|
|
1098
|
+
};
|
|
1099
|
+
rowIds: {
|
|
1100
|
+
type: string;
|
|
1101
|
+
items: {
|
|
1102
|
+
type: string;
|
|
1103
|
+
};
|
|
1104
|
+
};
|
|
1105
|
+
limit: {
|
|
1106
|
+
type: string;
|
|
1107
|
+
};
|
|
1108
|
+
basisHash?: undefined;
|
|
1109
|
+
};
|
|
1110
|
+
required: string[];
|
|
1111
|
+
additionalProperties: boolean;
|
|
1112
|
+
};
|
|
1113
|
+
limit: {
|
|
1114
|
+
type: string;
|
|
1115
|
+
};
|
|
1116
|
+
columnRole?: undefined;
|
|
1117
|
+
forceRerun?: undefined;
|
|
1118
|
+
reason?: undefined;
|
|
1119
|
+
minPassedCount?: undefined;
|
|
1120
|
+
minGeneratedMessages?: undefined;
|
|
1121
|
+
templateRevision?: undefined;
|
|
1122
|
+
timeoutMs?: undefined;
|
|
1123
|
+
intervalMs?: undefined;
|
|
1124
|
+
};
|
|
1125
|
+
required: string[];
|
|
1126
|
+
additionalProperties: boolean;
|
|
1127
|
+
};
|
|
856
1128
|
} | {
|
|
857
1129
|
name: string;
|
|
858
1130
|
description: string;
|
|
@@ -1282,43 +1554,6 @@ export declare const allTools: ({
|
|
|
1282
1554
|
};
|
|
1283
1555
|
required: never[];
|
|
1284
1556
|
};
|
|
1285
|
-
} | {
|
|
1286
|
-
name: string;
|
|
1287
|
-
description: string;
|
|
1288
|
-
inputSchema: {
|
|
1289
|
-
type: string;
|
|
1290
|
-
properties: {
|
|
1291
|
-
campaignId: {
|
|
1292
|
-
type: string;
|
|
1293
|
-
description: string;
|
|
1294
|
-
};
|
|
1295
|
-
timeoutMs: {
|
|
1296
|
-
type: string;
|
|
1297
|
-
description: string;
|
|
1298
|
-
};
|
|
1299
|
-
intervalMs: {
|
|
1300
|
-
type: string;
|
|
1301
|
-
description: string;
|
|
1302
|
-
};
|
|
1303
|
-
requireRows: {
|
|
1304
|
-
type: string;
|
|
1305
|
-
description: string;
|
|
1306
|
-
};
|
|
1307
|
-
flowVersion: {
|
|
1308
|
-
type: string;
|
|
1309
|
-
enum: string[];
|
|
1310
|
-
description: string;
|
|
1311
|
-
};
|
|
1312
|
-
leadListId?: undefined;
|
|
1313
|
-
campaignOfferId?: undefined;
|
|
1314
|
-
provider?: undefined;
|
|
1315
|
-
jobId?: undefined;
|
|
1316
|
-
targetLeadCount?: undefined;
|
|
1317
|
-
requireComplete?: undefined;
|
|
1318
|
-
};
|
|
1319
|
-
required: string[];
|
|
1320
|
-
additionalProperties: boolean;
|
|
1321
|
-
};
|
|
1322
1557
|
} | {
|
|
1323
1558
|
name: string;
|
|
1324
1559
|
description: string;
|
|
@@ -1393,6 +1628,7 @@ export declare const allTools: ({
|
|
|
1393
1628
|
jobId?: undefined;
|
|
1394
1629
|
reviewBatchLimit?: undefined;
|
|
1395
1630
|
allowPartialSourceList?: undefined;
|
|
1631
|
+
includeRawImportResult?: undefined;
|
|
1396
1632
|
selections?: undefined;
|
|
1397
1633
|
selectionMode?: undefined;
|
|
1398
1634
|
};
|
|
@@ -1570,6 +1806,7 @@ export declare const allTools: ({
|
|
|
1570
1806
|
jobId?: undefined;
|
|
1571
1807
|
reviewBatchLimit?: undefined;
|
|
1572
1808
|
allowPartialSourceList?: undefined;
|
|
1809
|
+
includeRawImportResult?: undefined;
|
|
1573
1810
|
selections?: undefined;
|
|
1574
1811
|
selectionMode?: undefined;
|
|
1575
1812
|
};
|
|
@@ -1646,6 +1883,7 @@ export declare const allTools: ({
|
|
|
1646
1883
|
jobId?: undefined;
|
|
1647
1884
|
reviewBatchLimit?: undefined;
|
|
1648
1885
|
allowPartialSourceList?: undefined;
|
|
1886
|
+
includeRawImportResult?: undefined;
|
|
1649
1887
|
selections?: undefined;
|
|
1650
1888
|
selectionMode?: undefined;
|
|
1651
1889
|
};
|
|
@@ -1794,6 +2032,7 @@ export declare const allTools: ({
|
|
|
1794
2032
|
jobId?: undefined;
|
|
1795
2033
|
reviewBatchLimit?: undefined;
|
|
1796
2034
|
allowPartialSourceList?: undefined;
|
|
2035
|
+
includeRawImportResult?: undefined;
|
|
1797
2036
|
selections?: undefined;
|
|
1798
2037
|
selectionMode?: undefined;
|
|
1799
2038
|
};
|
|
@@ -1884,6 +2123,7 @@ export declare const allTools: ({
|
|
|
1884
2123
|
jobId?: undefined;
|
|
1885
2124
|
reviewBatchLimit?: undefined;
|
|
1886
2125
|
allowPartialSourceList?: undefined;
|
|
2126
|
+
includeRawImportResult?: undefined;
|
|
1887
2127
|
selections?: undefined;
|
|
1888
2128
|
selectionMode?: undefined;
|
|
1889
2129
|
};
|
|
@@ -1983,6 +2223,7 @@ export declare const allTools: ({
|
|
|
1983
2223
|
jobId?: undefined;
|
|
1984
2224
|
reviewBatchLimit?: undefined;
|
|
1985
2225
|
allowPartialSourceList?: undefined;
|
|
2226
|
+
includeRawImportResult?: undefined;
|
|
1986
2227
|
selections?: undefined;
|
|
1987
2228
|
selectionMode?: undefined;
|
|
1988
2229
|
};
|
|
@@ -2064,6 +2305,7 @@ export declare const allTools: ({
|
|
|
2064
2305
|
jobId?: undefined;
|
|
2065
2306
|
reviewBatchLimit?: undefined;
|
|
2066
2307
|
allowPartialSourceList?: undefined;
|
|
2308
|
+
includeRawImportResult?: undefined;
|
|
2067
2309
|
selections?: undefined;
|
|
2068
2310
|
selectionMode?: undefined;
|
|
2069
2311
|
};
|
|
@@ -2684,6 +2926,7 @@ export declare const allTools: ({
|
|
|
2684
2926
|
jobId?: undefined;
|
|
2685
2927
|
reviewBatchLimit?: undefined;
|
|
2686
2928
|
allowPartialSourceList?: undefined;
|
|
2929
|
+
includeRawImportResult?: undefined;
|
|
2687
2930
|
selections?: undefined;
|
|
2688
2931
|
selectionMode?: undefined;
|
|
2689
2932
|
};
|
|
@@ -2817,6 +3060,7 @@ export declare const allTools: ({
|
|
|
2817
3060
|
jobId?: undefined;
|
|
2818
3061
|
reviewBatchLimit?: undefined;
|
|
2819
3062
|
allowPartialSourceList?: undefined;
|
|
3063
|
+
includeRawImportResult?: undefined;
|
|
2820
3064
|
selections?: undefined;
|
|
2821
3065
|
selectionMode?: undefined;
|
|
2822
3066
|
};
|
|
@@ -2938,6 +3182,7 @@ export declare const allTools: ({
|
|
|
2938
3182
|
jobId?: undefined;
|
|
2939
3183
|
reviewBatchLimit?: undefined;
|
|
2940
3184
|
allowPartialSourceList?: undefined;
|
|
3185
|
+
includeRawImportResult?: undefined;
|
|
2941
3186
|
selections?: undefined;
|
|
2942
3187
|
selectionMode?: undefined;
|
|
2943
3188
|
};
|
|
@@ -3017,6 +3262,7 @@ export declare const allTools: ({
|
|
|
3017
3262
|
jobId?: undefined;
|
|
3018
3263
|
reviewBatchLimit?: undefined;
|
|
3019
3264
|
allowPartialSourceList?: undefined;
|
|
3265
|
+
includeRawImportResult?: undefined;
|
|
3020
3266
|
selections?: undefined;
|
|
3021
3267
|
selectionMode?: undefined;
|
|
3022
3268
|
};
|
|
@@ -3068,6 +3314,10 @@ export declare const allTools: ({
|
|
|
3068
3314
|
type: string;
|
|
3069
3315
|
description: string;
|
|
3070
3316
|
};
|
|
3317
|
+
includeRawImportResult: {
|
|
3318
|
+
type: string;
|
|
3319
|
+
description: string;
|
|
3320
|
+
};
|
|
3071
3321
|
provider?: undefined;
|
|
3072
3322
|
searchMode?: undefined;
|
|
3073
3323
|
organization_num_employees_ranges?: undefined;
|
|
@@ -3230,6 +3480,7 @@ export declare const allTools: ({
|
|
|
3230
3480
|
jobId?: undefined;
|
|
3231
3481
|
reviewBatchLimit?: undefined;
|
|
3232
3482
|
allowPartialSourceList?: undefined;
|
|
3483
|
+
includeRawImportResult?: undefined;
|
|
3233
3484
|
};
|
|
3234
3485
|
required: string[];
|
|
3235
3486
|
};
|
|
@@ -3311,6 +3562,7 @@ export declare const allTools: ({
|
|
|
3311
3562
|
jobId?: undefined;
|
|
3312
3563
|
reviewBatchLimit?: undefined;
|
|
3313
3564
|
allowPartialSourceList?: undefined;
|
|
3565
|
+
includeRawImportResult?: undefined;
|
|
3314
3566
|
selections?: undefined;
|
|
3315
3567
|
selectionMode?: undefined;
|
|
3316
3568
|
};
|
package/dist/tools/registry.js
CHANGED
|
@@ -2,6 +2,7 @@ import { authToolDefinitions } from "./auth.js";
|
|
|
2
2
|
import { blueprintCommitToolDefinitions } from "./blueprint-commit.js";
|
|
3
3
|
import { bootstrapToolDefinitions } from "./bootstrap.js";
|
|
4
4
|
import { campaignToolDefinitions } from "./campaigns.js";
|
|
5
|
+
import { campaignProcessingToolDefinitions } from "./campaign-processing.js";
|
|
5
6
|
import { cellToolDefinitions } from "./cells.js";
|
|
6
7
|
import { startCliLoginToolDef, waitForCliLoginToolDef } from "./cli-login.js";
|
|
7
8
|
import { contextToolDefinitions } from "./context.js";
|
|
@@ -28,6 +29,7 @@ import { verifyRowToolDefinitions } from "./verify-row.js";
|
|
|
28
29
|
import { workspaceToolDefinitions } from "./workspaces.js";
|
|
29
30
|
export const allTools = [
|
|
30
31
|
...campaignToolDefinitions,
|
|
32
|
+
...campaignProcessingToolDefinitions,
|
|
31
33
|
...authToolDefinitions,
|
|
32
34
|
startCliLoginToolDef,
|
|
33
35
|
waitForCliLoginToolDef,
|
package/dist/tools/rows.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface LightweightRow {
|
|
|
15
15
|
enrichStatus?: string | null;
|
|
16
16
|
icpCellId?: string | null;
|
|
17
17
|
icpStatus?: string | null;
|
|
18
|
+
passesRubricCellId?: string | null;
|
|
19
|
+
passesRubricStatus?: string | null;
|
|
18
20
|
icpPassed?: boolean | null;
|
|
19
21
|
carryData?: Record<string, string>;
|
|
20
22
|
}
|
package/dist/tools/rubrics.js
CHANGED
|
@@ -12,7 +12,7 @@ function sleep(ms) {
|
|
|
12
12
|
function countPassingGeneratedMessages(rowSnapshot) {
|
|
13
13
|
if (!rowSnapshot?.rows?.length)
|
|
14
14
|
return 0;
|
|
15
|
-
return rowSnapshot.rows.filter((row) => row.icpPassed
|
|
15
|
+
return rowSnapshot.rows.filter((row) => row.icpPassed !== false && Boolean(row.message?.trim())).length;
|
|
16
16
|
}
|
|
17
17
|
function normalizeRubricItemDefaults(item) {
|
|
18
18
|
return {
|
package/package.json
CHANGED
|
@@ -36,7 +36,11 @@ allowed-tools:
|
|
|
36
36
|
- mcp__sellable__check_rubric
|
|
37
37
|
- mcp__sellable__create_campaign
|
|
38
38
|
- mcp__sellable__save_rubrics
|
|
39
|
-
-
|
|
39
|
+
- mcp__sellable__get_campaign_table_schema
|
|
40
|
+
- mcp__sellable__select_campaign_cells
|
|
41
|
+
- mcp__sellable__queue_campaign_cells
|
|
42
|
+
- mcp__sellable__wait_for_campaign_processing
|
|
43
|
+
- mcp__sellable__revise_message_template_and_rerun
|
|
40
44
|
- mcp__sellable__update_campaign_brief
|
|
41
45
|
- mcp__sellable__update_campaign
|
|
42
46
|
- mcp__sellable__get_campaign
|
|
@@ -52,7 +56,6 @@ allowed-tools:
|
|
|
52
56
|
- mcp__sellable__get_table_rows
|
|
53
57
|
- mcp__sellable__load_csv_linkedin_leads
|
|
54
58
|
- mcp__sellable__load_csv_domains
|
|
55
|
-
- mcp__sellable__queue_cells
|
|
56
59
|
- mcp__sellable__get_campaign_messages_preview
|
|
57
60
|
- mcp__sellable__attach_sequence
|
|
58
61
|
- mcp__sellable__attach_recommended_sequence
|
|
@@ -751,10 +754,9 @@ updates.
|
|
|
751
754
|
asset loader so they share the same config.
|
|
752
755
|
3. Follow that prompt and workflow config exactly.
|
|
753
756
|
4. For message generation, use the `post-find-leads-message-scout` agent when
|
|
754
|
-
available. The worker and parent-thread fallback must load
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
until `hasMore=false`. Message review requires Message Draft Builder output:
|
|
757
|
+
available. The worker and parent-thread fallback must load
|
|
758
|
+
`mcp__sellable__get_subskill_prompt({ subskillName: "generate-messages" })`.
|
|
759
|
+
Do not use any alternate or examples-only message prompt. Message review requires Message Draft Builder output:
|
|
758
760
|
do not draft from a checklist, local markdown artifact, or parent-thread
|
|
759
761
|
intuition. Use campaign state, campaign brief content, selected source state, and
|
|
760
762
|
initial campaign-table execution slice rows as the source of truth; do not read stale local
|
|
@@ -284,9 +284,9 @@ customer-facing source-choice labels.
|
|
|
284
284
|
|
|
285
285
|
## Post-Lead Workstreams
|
|
286
286
|
|
|
287
|
-
After `confirm_lead_list` copies a non-empty confirmed source into the campaign
|
|
288
|
-
|
|
289
|
-
|
|
287
|
+
After `confirm_lead_list` copies a non-empty confirmed source into the campaign
|
|
288
|
+
and records the compact review batch, ask the filter-choice question
|
|
289
|
+
immediately. Do not call
|
|
290
290
|
`get_post_find_leads_scout_registry`, load filter/message subskill prompts, or
|
|
291
291
|
spawn post-lead workers before that question. The only customer-facing work
|
|
292
292
|
before the question should be a short campaign setup summary and the choice:
|
|
@@ -316,14 +316,13 @@ Run `post-find-leads-message-scout` as the background Message Draft Builder
|
|
|
316
316
|
whenever the host exposes it. It must load:
|
|
317
317
|
|
|
318
318
|
```text
|
|
319
|
-
get_subskill_prompt({ subskillName: "generate-messages"
|
|
319
|
+
get_subskill_prompt({ subskillName: "generate-messages" })
|
|
320
320
|
```
|
|
321
321
|
|
|
322
|
-
|
|
323
|
-
agent, the parent fallback must run the same full prompt from live
|
|
324
|
-
state
|
|
325
|
-
`messageDraftRecommendation` proves current campaign/table
|
|
326
|
-
`generate-messages` basis.
|
|
322
|
+
Do not use any alternate or examples-only message prompt. If the host cannot
|
|
323
|
+
launch the agent, the parent fallback must run the same full prompt from live
|
|
324
|
+
campaign state. Do not render message
|
|
325
|
+
review until `messageDraftRecommendation` proves current campaign/table basis.
|
|
327
326
|
|
|
328
327
|
## Hard Gates
|
|
329
328
|
|
|
@@ -303,8 +303,8 @@ surface install status to the customer.
|
|
|
303
303
|
|
|
304
304
|
For post-lead work, call `get_post_find_leads_scout_registry` after
|
|
305
305
|
the user chooses filters, not before the filter-choice question. After
|
|
306
|
-
`confirm_lead_list` copies source rows and
|
|
307
|
-
|
|
306
|
+
`confirm_lead_list` copies source rows and records the first review/process
|
|
307
|
+
sample, ask add-filters vs skip-filters
|
|
308
308
|
immediately. Once the user answers, start `post-find-leads-message-scout` /
|
|
309
309
|
message generation from the same campaign/table basis. If the user chooses
|
|
310
310
|
filters, also start `post-find-leads-filter-scout`, move the browser to Filter
|