@sellable/mcp 0.1.315 → 0.1.319
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 +25 -4
- package/dist/generated/column-schema-manifest.js +1 -1
- package/dist/server.js +1 -0
- package/dist/tools/blueprint-commit.js +1 -1
- package/dist/tools/bootstrap.d.ts +5 -0
- package/dist/tools/bootstrap.js +10 -5
- package/dist/tools/inbox.d.ts +308 -0
- package/dist/tools/inbox.js +544 -0
- package/dist/tools/linkedin.d.ts +76 -0
- package/dist/tools/linkedin.js +351 -18
- package/dist/tools/model-quality.d.ts +3 -2
- package/dist/tools/model-quality.js +49 -130
- package/dist/tools/readiness.js +44 -13
- package/dist/tools/registry.d.ts +15 -0
- package/package.json +1 -1
- package/skills/building-gtm-tables/SKILL.md +26 -0
- package/skills/building-gtm-tables/references/column-type-catalog.md +15 -1
- package/skills/building-gtm-tables/references/common-blueprints.fixtures.ts +54 -5
- package/skills/building-gtm-tables/references/common-blueprints.md +9 -0
- package/skills/create-campaign/SKILL.md +77 -32
- package/skills/create-campaign/core/model-quality.json +4 -5
- package/skills/create-campaign-v2/references/approval-gate-framing.md +6 -1
- package/skills/research/config.json +9 -0
package/dist/tools/bootstrap.js
CHANGED
|
@@ -18,7 +18,7 @@ function toGuidance(check, message) {
|
|
|
18
18
|
return "Fix framework files and rerun bootstrap_create_campaign.";
|
|
19
19
|
}
|
|
20
20
|
if (check === "model_quality") {
|
|
21
|
-
return `Use
|
|
21
|
+
return `Use trusted active-turn metadata before enforcing the campaign model floor: ${getCampaignModelMinimumSummary()}.`;
|
|
22
22
|
}
|
|
23
23
|
if (check === "resume_context") {
|
|
24
24
|
return "Confirm the campaignId exists and is accessible, then retry bootstrap_create_campaign.";
|
|
@@ -98,15 +98,19 @@ export const bootstrapToolDefinitions = [
|
|
|
98
98
|
},
|
|
99
99
|
host: {
|
|
100
100
|
type: "string",
|
|
101
|
-
description: "Optional host label for model-quality preflight, for example Claude Code or Codex.",
|
|
101
|
+
description: "Optional host label for active model-quality preflight, for example Claude Code or Codex.",
|
|
102
102
|
},
|
|
103
103
|
model: {
|
|
104
104
|
type: "string",
|
|
105
|
-
description:
|
|
105
|
+
description: "Optional active host model name from runtime metadata. Do not pass config defaults.",
|
|
106
106
|
},
|
|
107
107
|
reasoningEffort: {
|
|
108
108
|
type: "string",
|
|
109
|
-
description:
|
|
109
|
+
description: "Optional active reasoning setting from runtime metadata. Do not pass config defaults.",
|
|
110
|
+
},
|
|
111
|
+
modelMetadataSource: {
|
|
112
|
+
type: "string",
|
|
113
|
+
description: "Where active model metadata came from, for example codex_turn_metadata, claude_runtime_metadata, claude_session_context, active_turn_metadata, or user_confirmed.",
|
|
110
114
|
},
|
|
111
115
|
},
|
|
112
116
|
additionalProperties: false,
|
|
@@ -129,6 +133,7 @@ export async function bootstrapCreateCampaign(input = {}) {
|
|
|
129
133
|
host: input.host,
|
|
130
134
|
model: input.model,
|
|
131
135
|
reasoningEffort: input.reasoningEffort,
|
|
136
|
+
metadataSource: input.modelMetadataSource,
|
|
132
137
|
});
|
|
133
138
|
const runAuthCheck = async () => {
|
|
134
139
|
let status = await getAuthStatus();
|
|
@@ -188,7 +193,7 @@ export async function bootstrapCreateCampaign(input = {}) {
|
|
|
188
193
|
}
|
|
189
194
|
requiredChecks.push({
|
|
190
195
|
key: "model_quality",
|
|
191
|
-
ok: modelQuality.status
|
|
196
|
+
ok: modelQuality.status !== "warn",
|
|
192
197
|
blocking: false,
|
|
193
198
|
detail: modelQuality.message,
|
|
194
199
|
});
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
type ToolTextContent = {
|
|
2
|
+
type: "text";
|
|
3
|
+
text: string;
|
|
4
|
+
};
|
|
5
|
+
type ToolResult<T extends Record<string, unknown>> = {
|
|
6
|
+
structuredContent: T;
|
|
7
|
+
content: [ToolTextContent];
|
|
8
|
+
isError?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const inboxToolDefinitions: ({
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
inputSchema: {
|
|
14
|
+
type: string;
|
|
15
|
+
properties: {
|
|
16
|
+
limit: {
|
|
17
|
+
type: string;
|
|
18
|
+
minimum: number;
|
|
19
|
+
maximum: number;
|
|
20
|
+
};
|
|
21
|
+
cursor: {
|
|
22
|
+
type: string;
|
|
23
|
+
};
|
|
24
|
+
filter: {
|
|
25
|
+
type: string;
|
|
26
|
+
enum: string[];
|
|
27
|
+
};
|
|
28
|
+
status: {
|
|
29
|
+
type: string;
|
|
30
|
+
enum: string[];
|
|
31
|
+
};
|
|
32
|
+
senderId: {
|
|
33
|
+
type: string;
|
|
34
|
+
};
|
|
35
|
+
classification: {
|
|
36
|
+
type: string;
|
|
37
|
+
};
|
|
38
|
+
search: {
|
|
39
|
+
type: string;
|
|
40
|
+
};
|
|
41
|
+
includeEnrichment: {
|
|
42
|
+
type: string;
|
|
43
|
+
};
|
|
44
|
+
includeReplyEligibility: {
|
|
45
|
+
type: string;
|
|
46
|
+
};
|
|
47
|
+
threadId?: undefined;
|
|
48
|
+
versionId?: undefined;
|
|
49
|
+
body?: undefined;
|
|
50
|
+
approvedBody?: undefined;
|
|
51
|
+
approvedBodyHash?: undefined;
|
|
52
|
+
approvedThreadSnapshot?: undefined;
|
|
53
|
+
idempotencyKey?: undefined;
|
|
54
|
+
approval?: undefined;
|
|
55
|
+
message?: undefined;
|
|
56
|
+
approvedMessageHash?: undefined;
|
|
57
|
+
};
|
|
58
|
+
required: never[];
|
|
59
|
+
additionalProperties: boolean;
|
|
60
|
+
};
|
|
61
|
+
outputSchema: {
|
|
62
|
+
type: string;
|
|
63
|
+
additionalProperties: boolean;
|
|
64
|
+
};
|
|
65
|
+
annotations: {
|
|
66
|
+
readOnlyHint: boolean;
|
|
67
|
+
destructiveHint: boolean;
|
|
68
|
+
openWorldHint: boolean;
|
|
69
|
+
idempotentHint?: undefined;
|
|
70
|
+
};
|
|
71
|
+
} | {
|
|
72
|
+
name: string;
|
|
73
|
+
description: string;
|
|
74
|
+
inputSchema: {
|
|
75
|
+
type: string;
|
|
76
|
+
properties: {
|
|
77
|
+
threadId: {
|
|
78
|
+
type: string;
|
|
79
|
+
};
|
|
80
|
+
limit?: undefined;
|
|
81
|
+
cursor?: undefined;
|
|
82
|
+
filter?: undefined;
|
|
83
|
+
status?: undefined;
|
|
84
|
+
senderId?: undefined;
|
|
85
|
+
classification?: undefined;
|
|
86
|
+
search?: undefined;
|
|
87
|
+
includeEnrichment?: undefined;
|
|
88
|
+
includeReplyEligibility?: undefined;
|
|
89
|
+
versionId?: undefined;
|
|
90
|
+
body?: undefined;
|
|
91
|
+
approvedBody?: undefined;
|
|
92
|
+
approvedBodyHash?: undefined;
|
|
93
|
+
approvedThreadSnapshot?: undefined;
|
|
94
|
+
idempotencyKey?: undefined;
|
|
95
|
+
approval?: undefined;
|
|
96
|
+
message?: undefined;
|
|
97
|
+
approvedMessageHash?: undefined;
|
|
98
|
+
};
|
|
99
|
+
required: string[];
|
|
100
|
+
additionalProperties: boolean;
|
|
101
|
+
};
|
|
102
|
+
outputSchema: {
|
|
103
|
+
type: string;
|
|
104
|
+
additionalProperties: boolean;
|
|
105
|
+
};
|
|
106
|
+
annotations: {
|
|
107
|
+
readOnlyHint: boolean;
|
|
108
|
+
destructiveHint: boolean;
|
|
109
|
+
openWorldHint: boolean;
|
|
110
|
+
idempotentHint?: undefined;
|
|
111
|
+
};
|
|
112
|
+
} | {
|
|
113
|
+
name: string;
|
|
114
|
+
description: string;
|
|
115
|
+
inputSchema: {
|
|
116
|
+
type: string;
|
|
117
|
+
properties: {
|
|
118
|
+
threadId: {
|
|
119
|
+
type: string;
|
|
120
|
+
};
|
|
121
|
+
versionId: {
|
|
122
|
+
type: string;
|
|
123
|
+
};
|
|
124
|
+
body: {
|
|
125
|
+
type: string;
|
|
126
|
+
};
|
|
127
|
+
limit?: undefined;
|
|
128
|
+
cursor?: undefined;
|
|
129
|
+
filter?: undefined;
|
|
130
|
+
status?: undefined;
|
|
131
|
+
senderId?: undefined;
|
|
132
|
+
classification?: undefined;
|
|
133
|
+
search?: undefined;
|
|
134
|
+
includeEnrichment?: undefined;
|
|
135
|
+
includeReplyEligibility?: undefined;
|
|
136
|
+
approvedBody?: undefined;
|
|
137
|
+
approvedBodyHash?: undefined;
|
|
138
|
+
approvedThreadSnapshot?: undefined;
|
|
139
|
+
idempotencyKey?: undefined;
|
|
140
|
+
approval?: undefined;
|
|
141
|
+
message?: undefined;
|
|
142
|
+
approvedMessageHash?: undefined;
|
|
143
|
+
};
|
|
144
|
+
required: string[];
|
|
145
|
+
additionalProperties: boolean;
|
|
146
|
+
};
|
|
147
|
+
outputSchema: {
|
|
148
|
+
type: string;
|
|
149
|
+
additionalProperties: boolean;
|
|
150
|
+
};
|
|
151
|
+
annotations: {
|
|
152
|
+
readOnlyHint: boolean;
|
|
153
|
+
destructiveHint: boolean;
|
|
154
|
+
openWorldHint: boolean;
|
|
155
|
+
idempotentHint: boolean;
|
|
156
|
+
};
|
|
157
|
+
} | {
|
|
158
|
+
name: string;
|
|
159
|
+
description: string;
|
|
160
|
+
inputSchema: {
|
|
161
|
+
type: string;
|
|
162
|
+
properties: {
|
|
163
|
+
threadId: {
|
|
164
|
+
type: string;
|
|
165
|
+
};
|
|
166
|
+
versionId: {
|
|
167
|
+
type: string;
|
|
168
|
+
};
|
|
169
|
+
approvedBody: {
|
|
170
|
+
type: string;
|
|
171
|
+
};
|
|
172
|
+
approvedBodyHash: {
|
|
173
|
+
type: string;
|
|
174
|
+
};
|
|
175
|
+
approvedThreadSnapshot: {
|
|
176
|
+
type: string;
|
|
177
|
+
properties: {
|
|
178
|
+
latestMessageTimestamp: {
|
|
179
|
+
type: string[];
|
|
180
|
+
};
|
|
181
|
+
lastInboundMessageAt: {
|
|
182
|
+
type: string[];
|
|
183
|
+
};
|
|
184
|
+
updatedAt: {
|
|
185
|
+
type: string[];
|
|
186
|
+
};
|
|
187
|
+
reasonCodes: {
|
|
188
|
+
type: string;
|
|
189
|
+
items: {
|
|
190
|
+
type: string;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
additionalProperties: boolean;
|
|
195
|
+
};
|
|
196
|
+
idempotencyKey: {
|
|
197
|
+
type: string;
|
|
198
|
+
};
|
|
199
|
+
approval: {
|
|
200
|
+
type: string;
|
|
201
|
+
enum: string[];
|
|
202
|
+
};
|
|
203
|
+
limit?: undefined;
|
|
204
|
+
cursor?: undefined;
|
|
205
|
+
filter?: undefined;
|
|
206
|
+
status?: undefined;
|
|
207
|
+
senderId?: undefined;
|
|
208
|
+
classification?: undefined;
|
|
209
|
+
search?: undefined;
|
|
210
|
+
includeEnrichment?: undefined;
|
|
211
|
+
includeReplyEligibility?: undefined;
|
|
212
|
+
body?: undefined;
|
|
213
|
+
message?: undefined;
|
|
214
|
+
approvedMessageHash?: undefined;
|
|
215
|
+
};
|
|
216
|
+
required: string[];
|
|
217
|
+
additionalProperties: boolean;
|
|
218
|
+
};
|
|
219
|
+
outputSchema: {
|
|
220
|
+
type: string;
|
|
221
|
+
additionalProperties: boolean;
|
|
222
|
+
};
|
|
223
|
+
annotations: {
|
|
224
|
+
readOnlyHint: boolean;
|
|
225
|
+
destructiveHint: boolean;
|
|
226
|
+
openWorldHint: boolean;
|
|
227
|
+
idempotentHint: boolean;
|
|
228
|
+
};
|
|
229
|
+
} | {
|
|
230
|
+
name: string;
|
|
231
|
+
description: string;
|
|
232
|
+
inputSchema: {
|
|
233
|
+
type: string;
|
|
234
|
+
properties: {
|
|
235
|
+
threadId: {
|
|
236
|
+
type: string;
|
|
237
|
+
};
|
|
238
|
+
message: {
|
|
239
|
+
type: string;
|
|
240
|
+
};
|
|
241
|
+
approvedMessageHash: {
|
|
242
|
+
type: string;
|
|
243
|
+
};
|
|
244
|
+
approvedThreadSnapshot: {
|
|
245
|
+
type: string;
|
|
246
|
+
properties: {
|
|
247
|
+
latestMessageTimestamp: {
|
|
248
|
+
type: string[];
|
|
249
|
+
};
|
|
250
|
+
lastInboundMessageAt: {
|
|
251
|
+
type: string[];
|
|
252
|
+
};
|
|
253
|
+
updatedAt: {
|
|
254
|
+
type: string[];
|
|
255
|
+
};
|
|
256
|
+
reasonCodes: {
|
|
257
|
+
type: string;
|
|
258
|
+
items: {
|
|
259
|
+
type: string;
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
additionalProperties: boolean;
|
|
264
|
+
};
|
|
265
|
+
idempotencyKey: {
|
|
266
|
+
type: string;
|
|
267
|
+
};
|
|
268
|
+
approval: {
|
|
269
|
+
type: string;
|
|
270
|
+
enum: string[];
|
|
271
|
+
};
|
|
272
|
+
limit?: undefined;
|
|
273
|
+
cursor?: undefined;
|
|
274
|
+
filter?: undefined;
|
|
275
|
+
status?: undefined;
|
|
276
|
+
senderId?: undefined;
|
|
277
|
+
classification?: undefined;
|
|
278
|
+
search?: undefined;
|
|
279
|
+
includeEnrichment?: undefined;
|
|
280
|
+
includeReplyEligibility?: undefined;
|
|
281
|
+
versionId?: undefined;
|
|
282
|
+
body?: undefined;
|
|
283
|
+
approvedBody?: undefined;
|
|
284
|
+
approvedBodyHash?: undefined;
|
|
285
|
+
};
|
|
286
|
+
required: string[];
|
|
287
|
+
additionalProperties: boolean;
|
|
288
|
+
};
|
|
289
|
+
outputSchema: {
|
|
290
|
+
type: string;
|
|
291
|
+
additionalProperties: boolean;
|
|
292
|
+
};
|
|
293
|
+
annotations: {
|
|
294
|
+
readOnlyHint: boolean;
|
|
295
|
+
destructiveHint: boolean;
|
|
296
|
+
openWorldHint: boolean;
|
|
297
|
+
idempotentHint: boolean;
|
|
298
|
+
};
|
|
299
|
+
})[];
|
|
300
|
+
export declare function searchInboxThreads(input: Record<string, unknown>): Promise<ToolResult<{
|
|
301
|
+
routeCalled: string;
|
|
302
|
+
}>>;
|
|
303
|
+
export declare function getInboxThread(input: Record<string, unknown>): Promise<ToolResult<any>>;
|
|
304
|
+
export declare function checkInboxReplyEligibility(input: Record<string, unknown>): Promise<ToolResult<any>>;
|
|
305
|
+
export declare function updateInboxDraft(input: Record<string, unknown>): Promise<ToolResult<any>>;
|
|
306
|
+
export declare function sendInboxDraft(input: Record<string, unknown>): Promise<ToolResult<any>>;
|
|
307
|
+
export declare function sendInboxManualReply(input: Record<string, unknown>): Promise<ToolResult<any>>;
|
|
308
|
+
export {};
|