@sellable/mcp 0.1.510 → 0.1.512
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/refill-journal.d.ts +49 -0
- package/dist/refill-journal.js +134 -0
- package/dist/refill-local-state.d.ts +31 -0
- package/dist/refill-local-state.js +96 -0
- package/dist/server.js +9 -4
- package/dist/tools/campaigns.d.ts +1 -54
- package/dist/tools/campaigns.js +3 -18
- package/dist/tools/evergreen-refill-plan.d.ts +49 -0
- package/dist/tools/evergreen-refill-plan.js +196 -0
- package/dist/tools/leads.d.ts +40 -2
- package/dist/tools/leads.js +107 -135
- package/dist/tools/prompts.d.ts +3 -3
- package/dist/tools/prompts.js +3 -1
- package/dist/tools/refill-sends-evergreen.d.ts +28 -0
- package/dist/tools/refill-sends-evergreen.js +47 -0
- package/dist/tools/refill-sends.d.ts +40 -38
- package/dist/tools/refill-sends.js +130 -261
- package/dist/tools/refill-target-plan.js +22 -3
- package/dist/tools/registry.d.ts +32 -141
- package/dist/tools/registry.js +4 -0
- package/dist/tools/senders.d.ts +2 -1
- package/dist/tools/senders.js +9 -7
- package/package.json +1 -1
- package/skills/refill-sends/SKILL.md +30 -10
- package/skills/refill-sends-evergreen/SKILL.md +84 -0
- package/skills/refill-sends-evergreen-workflow/SKILL.md +107 -0
- package/skills/refill-sends-evergreen-workflow/core/flow.v1.json +247 -0
- package/skills/refill-sends-workflow/SKILL.md +27 -2
- package/skills/refill-sends-workflow/core/flow.v1.json +281 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type RefillSendsEvergreenInput = {
|
|
2
|
+
workspaceId?: string;
|
|
3
|
+
};
|
|
4
|
+
export declare const refillSendsEvergreenToolDefinitions: {
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
inputSchema: {
|
|
8
|
+
type: string;
|
|
9
|
+
properties: {
|
|
10
|
+
workspaceId: {
|
|
11
|
+
type: string;
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
required: string[];
|
|
16
|
+
additionalProperties: boolean;
|
|
17
|
+
};
|
|
18
|
+
}[];
|
|
19
|
+
export declare function refillSendsEvergreenCommand(input: RefillSendsEvergreenInput): {
|
|
20
|
+
readOnly: boolean;
|
|
21
|
+
workspaceId: string | null;
|
|
22
|
+
firstOperationalSteps: string[];
|
|
23
|
+
approvalContract: string;
|
|
24
|
+
forbiddenActions: string[];
|
|
25
|
+
fillWindow: string;
|
|
26
|
+
hostExamples: string[];
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const refillSendsEvergreenToolDefinitions = [
|
|
2
|
+
{
|
|
3
|
+
name: "refill_sends_evergreen",
|
|
4
|
+
description: "Read-only Phase 85 evergreen refill command contract. It performs no mutations and only tells the operator to call get_evergreen_refill_plan for a dry-run packet and journal.",
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: "object",
|
|
7
|
+
properties: {
|
|
8
|
+
workspaceId: {
|
|
9
|
+
type: "string",
|
|
10
|
+
description: "Explicit request-scoped workspace id.",
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
required: ["workspaceId"],
|
|
14
|
+
additionalProperties: false,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
export function refillSendsEvergreenCommand(input) {
|
|
19
|
+
return {
|
|
20
|
+
readOnly: true,
|
|
21
|
+
workspaceId: input.workspaceId ?? null,
|
|
22
|
+
firstOperationalSteps: [
|
|
23
|
+
"Call get_evergreen_refill_plan with the explicit workspaceId.",
|
|
24
|
+
"Read the returned packet, globalActionQueue, per-sender plans, and itinerary before taking any action.",
|
|
25
|
+
"Review the dry-run journal file path returned by get_evergreen_refill_plan.",
|
|
26
|
+
"Phase 85 is PLAN-ONLY; execution arrives in Phase 86.",
|
|
27
|
+
],
|
|
28
|
+
approvalContract: "Nothing is approved or executable in Phase 85. The evergreen command is read-only; Phase 86 introduces execution approval.",
|
|
29
|
+
forbiddenActions: [
|
|
30
|
+
"Do not schedule sends.",
|
|
31
|
+
"Do not send messages.",
|
|
32
|
+
"Do not approve messages.",
|
|
33
|
+
"Do not prepare messages.",
|
|
34
|
+
"Do not start or launch campaigns.",
|
|
35
|
+
"Do not create campaigns.",
|
|
36
|
+
"Do not switch providers or source families.",
|
|
37
|
+
"Do not lower paid InMail thresholds.",
|
|
38
|
+
"Do not refresh paid InMail credits.",
|
|
39
|
+
"Do not write scheduler fields.",
|
|
40
|
+
],
|
|
41
|
+
fillWindow: "Use only the target window and caps returned by get_evergreen_refill_plan.",
|
|
42
|
+
hostExamples: [
|
|
43
|
+
"refill_sends_evergreen({ workspaceId })",
|
|
44
|
+
"get_evergreen_refill_plan({ workspaceId })",
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -17,33 +17,18 @@ type RefillSendsCommandInput = {
|
|
|
17
17
|
intent?: RefillSendsIntent;
|
|
18
18
|
approvalMode?: RefillSendsApprovalMode;
|
|
19
19
|
};
|
|
20
|
-
type
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
stateRevision?: string | null;
|
|
26
|
-
grossTarget?: number | null;
|
|
27
|
-
sent?: number | null;
|
|
28
|
-
scheduled?: number | null;
|
|
29
|
-
projected?: number | null;
|
|
30
|
-
readyBuffer?: number | null;
|
|
31
|
-
remainingProjectedGap?: number | null;
|
|
32
|
-
remainingReadyOrProjectedGap?: number | null;
|
|
20
|
+
type PaidInmailRefreshApprovalPacket = {
|
|
21
|
+
approvalSource: "explicit_yolo_flag";
|
|
22
|
+
workspaceId?: string | null;
|
|
23
|
+
senderId: string;
|
|
24
|
+
actionKey?: string | null;
|
|
33
25
|
actionType?: string | null;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
after: YoloPlanSummary | null;
|
|
41
|
-
postActionFirstAction?: Record<string, unknown> | null;
|
|
42
|
-
};
|
|
43
|
-
type YoloPrimitiveAttempt = {
|
|
44
|
-
status: "no_action" | "read_only_reread" | "executed_and_reread" | "refused";
|
|
45
|
-
result?: unknown;
|
|
46
|
-
refusalReason?: string;
|
|
26
|
+
campaignId?: string | null;
|
|
27
|
+
tableId?: string | null;
|
|
28
|
+
columnId?: string | null;
|
|
29
|
+
threshold?: number | null;
|
|
30
|
+
maxStalenessSeconds?: number | null;
|
|
31
|
+
targetPlanFingerprint: Record<string, unknown>;
|
|
47
32
|
};
|
|
48
33
|
export declare const refillSendsToolDefinitions: {
|
|
49
34
|
name: string;
|
|
@@ -133,6 +118,10 @@ export declare function refillSendsCommand(input?: RefillSendsCommandInput): {
|
|
|
133
118
|
tool: string;
|
|
134
119
|
promptName: string;
|
|
135
120
|
workflowPromptName: string;
|
|
121
|
+
workflowAsset: {
|
|
122
|
+
subskillName: string;
|
|
123
|
+
assetPath: string;
|
|
124
|
+
};
|
|
136
125
|
yolo: boolean;
|
|
137
126
|
executionMode: RefillSendsExecutionMode;
|
|
138
127
|
workspaceId: string | null;
|
|
@@ -215,11 +204,18 @@ export declare function executeRefillSendsCommand(input?: RefillSendsCommandInpu
|
|
|
215
204
|
status: "not_run_without_yolo";
|
|
216
205
|
selectedAction: null;
|
|
217
206
|
targetPlanReread: false;
|
|
207
|
+
result?: undefined;
|
|
208
|
+
refusalReason?: undefined;
|
|
209
|
+
postActionFirstAction?: undefined;
|
|
218
210
|
};
|
|
219
211
|
command: string;
|
|
220
212
|
tool: string;
|
|
221
213
|
promptName: string;
|
|
222
214
|
workflowPromptName: string;
|
|
215
|
+
workflowAsset: {
|
|
216
|
+
subskillName: string;
|
|
217
|
+
assetPath: string;
|
|
218
|
+
};
|
|
223
219
|
yolo: boolean;
|
|
224
220
|
executionMode: RefillSendsExecutionMode;
|
|
225
221
|
workspaceId: string | null;
|
|
@@ -302,6 +298,8 @@ export declare function executeRefillSendsCommand(input?: RefillSendsCommandInpu
|
|
|
302
298
|
actionKey: string | null;
|
|
303
299
|
attempts: number;
|
|
304
300
|
retryErrors: string[];
|
|
301
|
+
approvalSource: string;
|
|
302
|
+
approvalPacket: PaidInmailRefreshApprovalPacket;
|
|
305
303
|
receipt: import("./senders.js").RefreshPaidInmailCreditsResponse;
|
|
306
304
|
}[];
|
|
307
305
|
attemptedSenderIds: string[];
|
|
@@ -312,25 +310,29 @@ export declare function executeRefillSendsCommand(input?: RefillSendsCommandInpu
|
|
|
312
310
|
};
|
|
313
311
|
yoloExecution: {
|
|
314
312
|
enabled: true;
|
|
315
|
-
status:
|
|
316
|
-
|
|
313
|
+
status: "skipped_after_paid_refresh";
|
|
314
|
+
selectedAction: null;
|
|
315
|
+
targetPlanReread: true;
|
|
316
|
+
result?: undefined;
|
|
317
|
+
refusalReason?: undefined;
|
|
318
|
+
postActionFirstAction?: undefined;
|
|
319
|
+
} | {
|
|
320
|
+
enabled: true;
|
|
321
|
+
status: "no_action" | "read_only_reread" | "executed_and_reread" | "refused";
|
|
317
322
|
selectedAction: Record<string, unknown> | null;
|
|
318
|
-
|
|
319
|
-
actionCount: number;
|
|
320
|
-
result?: unknown;
|
|
323
|
+
result: unknown;
|
|
321
324
|
targetPlanReread: boolean;
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
finalTargetShapeRevision?: string | null;
|
|
325
|
-
finalStateRevision?: string | null;
|
|
326
|
-
maxActions: number;
|
|
327
|
-
refusalReason?: string;
|
|
328
|
-
postActionFirstAction?: unknown;
|
|
325
|
+
refusalReason: string | undefined;
|
|
326
|
+
postActionFirstAction: Record<string, unknown> | null;
|
|
329
327
|
};
|
|
330
328
|
command: string;
|
|
331
329
|
tool: string;
|
|
332
330
|
promptName: string;
|
|
333
331
|
workflowPromptName: string;
|
|
332
|
+
workflowAsset: {
|
|
333
|
+
subskillName: string;
|
|
334
|
+
assetPath: string;
|
|
335
|
+
};
|
|
334
336
|
yolo: boolean;
|
|
335
337
|
executionMode: RefillSendsExecutionMode;
|
|
336
338
|
workspaceId: string | null;
|