@cloudcart/dev-mcp 0.1.5 → 0.2.2
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/data/embeddings.bin +0 -0
- package/data/embeddings.json +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/admin.d.ts +1 -1
- package/dist/prompts/admin.d.ts.map +1 -1
- package/dist/prompts/admin.js +70 -110
- package/dist/prompts/admin.js.map +1 -1
- package/dist/tools/introspect-schema.d.ts +2 -0
- package/dist/tools/introspect-schema.d.ts.map +1 -1
- package/dist/tools/introspect-schema.js +26 -3
- package/dist/tools/introspect-schema.js.map +1 -1
- package/dist/tools/learn-cloudcart-api.d.ts.map +1 -1
- package/dist/tools/learn-cloudcart-api.js +5 -0
- package/dist/tools/learn-cloudcart-api.js.map +1 -1
- package/dist/tools/semantic-search.d.ts +14 -0
- package/dist/tools/semantic-search.d.ts.map +1 -0
- package/dist/tools/semantic-search.js +416 -0
- package/dist/tools/semantic-search.js.map +1 -0
- package/dist/tools/validate-graphql.d.ts.map +1 -1
- package/dist/tools/validate-graphql.js +67 -0
- package/dist/tools/validate-graphql.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "node:fs";
|
|
2
|
+
import { join, dirname } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { pipeline } from "@huggingface/transformers";
|
|
5
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const MODEL_ID = "Xenova/multilingual-e5-large";
|
|
7
|
+
const EMBED_DIM = 1024;
|
|
8
|
+
const QUERY_PREFIX = "query: ";
|
|
9
|
+
// Lazy singletons — model load is heavy, reuse across calls.
|
|
10
|
+
let extractor = null;
|
|
11
|
+
let vectors = null;
|
|
12
|
+
let metadata = [];
|
|
13
|
+
let chunkCount = 0;
|
|
14
|
+
function dataPath(name) {
|
|
15
|
+
const candidates = [
|
|
16
|
+
join(__dirname, "../../data", name),
|
|
17
|
+
join(__dirname, "../../../data", name),
|
|
18
|
+
join(process.cwd(), "data", name),
|
|
19
|
+
];
|
|
20
|
+
for (const p of candidates)
|
|
21
|
+
if (existsSync(p))
|
|
22
|
+
return p;
|
|
23
|
+
throw new Error(`Cannot locate data/${name} — run 'npm run build-embeddings' first`);
|
|
24
|
+
}
|
|
25
|
+
function loadCorpus() {
|
|
26
|
+
if (vectors)
|
|
27
|
+
return;
|
|
28
|
+
const buf = readFileSync(dataPath("embeddings.bin"));
|
|
29
|
+
const n = buf.readUInt32LE(0);
|
|
30
|
+
const dim = buf.readUInt32LE(4);
|
|
31
|
+
if (dim !== EMBED_DIM) {
|
|
32
|
+
throw new Error(`embeddings.bin dimension ${dim} does not match model ${EMBED_DIM}`);
|
|
33
|
+
}
|
|
34
|
+
chunkCount = n;
|
|
35
|
+
const payload = buf.subarray(8);
|
|
36
|
+
vectors = new Float32Array(payload.buffer, payload.byteOffset, payload.byteLength / 4);
|
|
37
|
+
metadata = JSON.parse(readFileSync(dataPath("embeddings.json"), "utf8"));
|
|
38
|
+
if (metadata.length !== n) {
|
|
39
|
+
throw new Error(`metadata length ${metadata.length} != vector count ${n}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async function ensureModel() {
|
|
43
|
+
if (extractor)
|
|
44
|
+
return extractor;
|
|
45
|
+
extractor = await pipeline("feature-extraction", MODEL_ID, { dtype: "q8" });
|
|
46
|
+
return extractor;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fire-and-forget prewarm. Kicks off corpus load + model download/load so the
|
|
50
|
+
* first real semantic_search call doesn't eat a 30+ second cold start.
|
|
51
|
+
* Swallows errors — prewarm is best-effort and must never break the caller.
|
|
52
|
+
*/
|
|
53
|
+
let prewarmStarted = false;
|
|
54
|
+
export function prewarm() {
|
|
55
|
+
if (prewarmStarted)
|
|
56
|
+
return;
|
|
57
|
+
prewarmStarted = true;
|
|
58
|
+
void (async () => {
|
|
59
|
+
try {
|
|
60
|
+
loadCorpus();
|
|
61
|
+
}
|
|
62
|
+
catch { /* index not built yet — ignore */ }
|
|
63
|
+
try {
|
|
64
|
+
await ensureModel();
|
|
65
|
+
}
|
|
66
|
+
catch { /* offline / no cache yet — ignore */ }
|
|
67
|
+
})();
|
|
68
|
+
}
|
|
69
|
+
function dot(a, aOff, b, bOff, len) {
|
|
70
|
+
let s = 0;
|
|
71
|
+
for (let i = 0; i < len; i++)
|
|
72
|
+
s += a[aOff + i] * b[bOff + i];
|
|
73
|
+
return s;
|
|
74
|
+
}
|
|
75
|
+
const OP_ARG_PREVIEW = 8;
|
|
76
|
+
/**
|
|
77
|
+
* Shrink a fat operation signature like
|
|
78
|
+
* `customers(query: String, firstName: String, ..., total_spent: NumericFilter, first: Int! = 25, after: String): CustomerConnection!`
|
|
79
|
+
* into
|
|
80
|
+
* `customers(query, firstName, …, total_spent [+14 more]): CustomerConnection!`
|
|
81
|
+
*
|
|
82
|
+
* Keeps the agent aware of what args exist without bleeding 300 tokens of
|
|
83
|
+
* type annotations into every semantic result.
|
|
84
|
+
*/
|
|
85
|
+
function compactSignature(sig) {
|
|
86
|
+
if (!sig)
|
|
87
|
+
return sig;
|
|
88
|
+
const m = sig.match(/^([^(]+)\(([\s\S]*)\)\s*:\s*(.+)$/);
|
|
89
|
+
if (!m)
|
|
90
|
+
return sig;
|
|
91
|
+
const [, name, argsRaw, ret] = m;
|
|
92
|
+
const argChunks = splitTopLevelCommas(argsRaw);
|
|
93
|
+
if (argChunks.length <= OP_ARG_PREVIEW)
|
|
94
|
+
return sig;
|
|
95
|
+
const preview = argChunks
|
|
96
|
+
.slice(0, OP_ARG_PREVIEW)
|
|
97
|
+
.map((a) => a.trim().split(":")[0]?.trim())
|
|
98
|
+
.filter(Boolean);
|
|
99
|
+
const more = argChunks.length - OP_ARG_PREVIEW;
|
|
100
|
+
return `${name.trim()}(${preview.join(", ")} [+${more} more]): ${ret.trim()}`;
|
|
101
|
+
}
|
|
102
|
+
/** Split a comma-separated arg list, respecting nested parens/brackets. */
|
|
103
|
+
function splitTopLevelCommas(s) {
|
|
104
|
+
const out = [];
|
|
105
|
+
let depth = 0;
|
|
106
|
+
let buf = "";
|
|
107
|
+
for (const ch of s) {
|
|
108
|
+
if (ch === "(" || ch === "[" || ch === "{")
|
|
109
|
+
depth++;
|
|
110
|
+
else if (ch === ")" || ch === "]" || ch === "}")
|
|
111
|
+
depth--;
|
|
112
|
+
if (ch === "," && depth === 0) {
|
|
113
|
+
out.push(buf);
|
|
114
|
+
buf = "";
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
buf += ch;
|
|
118
|
+
}
|
|
119
|
+
if (buf.trim())
|
|
120
|
+
out.push(buf);
|
|
121
|
+
return out;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Trim the `Arguments:` block inside an operation chunk to the first
|
|
125
|
+
* OP_ARG_PREVIEW entries, replacing the tail with a count marker.
|
|
126
|
+
* Leaves everything outside the block (description, Intent: line) intact.
|
|
127
|
+
*/
|
|
128
|
+
function compactOperationBody(body) {
|
|
129
|
+
// Strip the redundant "Signature: …" line — the compact signature is
|
|
130
|
+
// already rendered in the backtick line above this body.
|
|
131
|
+
const lines = body.split("\n").filter((l) => !l.trimStart().startsWith("Signature:"));
|
|
132
|
+
const argHeaderIdx = lines.findIndex((l) => l.trimStart().startsWith("Arguments:"));
|
|
133
|
+
if (argHeaderIdx < 0)
|
|
134
|
+
return lines.join("\n");
|
|
135
|
+
const before = lines.slice(0, argHeaderIdx + 1);
|
|
136
|
+
// Arg lines start with two-space indent + "- ".
|
|
137
|
+
const afterHeader = lines.slice(argHeaderIdx + 1);
|
|
138
|
+
const argLines = [];
|
|
139
|
+
let nonArgTail = [];
|
|
140
|
+
let inArgs = true;
|
|
141
|
+
for (const l of afterHeader) {
|
|
142
|
+
if (inArgs && /^\s+- /.test(l))
|
|
143
|
+
argLines.push(l);
|
|
144
|
+
else {
|
|
145
|
+
inArgs = false;
|
|
146
|
+
nonArgTail.push(l);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (argLines.length <= OP_ARG_PREVIEW)
|
|
150
|
+
return body;
|
|
151
|
+
const kept = argLines.slice(0, OP_ARG_PREVIEW);
|
|
152
|
+
const rest = argLines.length - OP_ARG_PREVIEW;
|
|
153
|
+
return [
|
|
154
|
+
...before,
|
|
155
|
+
...kept,
|
|
156
|
+
` (+${rest} more args — introspect the operation by exact name for full list)`,
|
|
157
|
+
...nonArgTail,
|
|
158
|
+
].join("\n");
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Extract lexical tokens from the user query for substring matching.
|
|
162
|
+
* Splits on whitespace and snake/camel boundaries, drops stop-ish short words,
|
|
163
|
+
* lowercases for case-insensitive match.
|
|
164
|
+
*/
|
|
165
|
+
function lexicalTokens(query) {
|
|
166
|
+
const raw = query
|
|
167
|
+
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
168
|
+
.replace(/[_.,;:!?()[\]{}'"`/\\-]+/g, " ")
|
|
169
|
+
.toLowerCase()
|
|
170
|
+
.split(/\s+/)
|
|
171
|
+
.filter(Boolean);
|
|
172
|
+
// Drop 1-char noise; keep 2+ char tokens. Avoid generic stop words.
|
|
173
|
+
const STOP = new Set(["the", "a", "an", "of", "on", "in", "to", "by", "for", "and", "or", "is", "are"]);
|
|
174
|
+
return raw.filter((t) => t.length >= 2 && !STOP.has(t));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* True when the query looks like a schema identifier (single token, no spaces,
|
|
178
|
+
* probably CamelCase or snake_case). For these queries we treat matches
|
|
179
|
+
* against the full query string as high-signal.
|
|
180
|
+
*/
|
|
181
|
+
function looksLikeSchemaName(query) {
|
|
182
|
+
return /^[A-Za-z][A-Za-z0-9_]*$/.test(query.trim());
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Action verbs that map directly to mutation / list-query name prefixes.
|
|
186
|
+
* When a natural-language query starts with one of these (e.g. "create a
|
|
187
|
+
* product", "архивирай поръчка"), boost operation chunks whose name starts
|
|
188
|
+
* with the same verb. Stops "create a product" from burying the actual
|
|
189
|
+
* `createProduct` mutation under `CreateProductInput` / `product` query
|
|
190
|
+
* noise.
|
|
191
|
+
*/
|
|
192
|
+
const ACTION_VERBS_EN = {
|
|
193
|
+
create: ["create"],
|
|
194
|
+
add: ["add", "create"],
|
|
195
|
+
update: ["update", "edit", "set"],
|
|
196
|
+
edit: ["update", "edit", "set"],
|
|
197
|
+
modify: ["update", "edit"],
|
|
198
|
+
delete: ["delete", "remove"],
|
|
199
|
+
remove: ["delete", "remove"],
|
|
200
|
+
archive: ["archive"],
|
|
201
|
+
unarchive: ["unarchive"],
|
|
202
|
+
duplicate: ["duplicate", "productDuplicate"],
|
|
203
|
+
copy: ["duplicate", "productDuplicate"],
|
|
204
|
+
clone: ["duplicate", "productDuplicate"],
|
|
205
|
+
refund: ["refund"],
|
|
206
|
+
cancel: ["cancel"],
|
|
207
|
+
approve: ["approve"],
|
|
208
|
+
reject: ["reject", "deny"],
|
|
209
|
+
publish: ["publish"],
|
|
210
|
+
unpublish: ["unpublish"],
|
|
211
|
+
upload: ["upload"],
|
|
212
|
+
import: ["import"],
|
|
213
|
+
export: ["export"],
|
|
214
|
+
bulk: ["bulk"],
|
|
215
|
+
send: ["send", "dispatch"],
|
|
216
|
+
reset: ["reset"],
|
|
217
|
+
restore: ["restore"],
|
|
218
|
+
link: ["link", "attach"],
|
|
219
|
+
unlink: ["unlink", "detach"],
|
|
220
|
+
mark: ["mark"],
|
|
221
|
+
tag: ["tag"],
|
|
222
|
+
untag: ["untag"],
|
|
223
|
+
generate: ["generate"],
|
|
224
|
+
};
|
|
225
|
+
/** Cyrillic / Bulgarian action-verb roots → English stems. Keeps BG parity. */
|
|
226
|
+
const ACTION_VERBS_BG = {
|
|
227
|
+
"създай": ["create"],
|
|
228
|
+
"създаване": ["create"],
|
|
229
|
+
"създа": ["create"],
|
|
230
|
+
"нов": ["create"],
|
|
231
|
+
"добави": ["add", "create"],
|
|
232
|
+
"обнови": ["update"],
|
|
233
|
+
"ъпдейт": ["update"],
|
|
234
|
+
"упдейт": ["update"],
|
|
235
|
+
"update": ["update"],
|
|
236
|
+
"редактирай": ["update", "edit"],
|
|
237
|
+
"промени": ["update"],
|
|
238
|
+
"изтрий": ["delete", "remove"],
|
|
239
|
+
"премахни": ["delete", "remove"],
|
|
240
|
+
"архивирай": ["archive"],
|
|
241
|
+
"дублирай": ["duplicate"],
|
|
242
|
+
"копирай": ["duplicate"],
|
|
243
|
+
"възстанови": ["refund", "restore"],
|
|
244
|
+
"откажи": ["cancel"],
|
|
245
|
+
"одобри": ["approve"],
|
|
246
|
+
"публикувай": ["publish"],
|
|
247
|
+
"качи": ["upload"],
|
|
248
|
+
"импортирай": ["import"],
|
|
249
|
+
"експортирай": ["export"],
|
|
250
|
+
"изпрати": ["send"],
|
|
251
|
+
};
|
|
252
|
+
/** Returns the list of operation-name prefixes this query should boost. */
|
|
253
|
+
function detectActionVerbPrefixes(query) {
|
|
254
|
+
const lower = query.toLowerCase().trim();
|
|
255
|
+
for (const [verb, prefixes] of Object.entries(ACTION_VERBS_EN)) {
|
|
256
|
+
if (lower.startsWith(verb + " ") || lower.startsWith(verb + "s ") || lower === verb) {
|
|
257
|
+
return prefixes;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// BG: word-boundary match so the short verb "нов" (new) doesn't match
|
|
261
|
+
// as a substring inside "обнови" (update). Anchor to start of string or
|
|
262
|
+
// a non-letter character. Sort longest-first so "създаване" is checked
|
|
263
|
+
// before "създа".
|
|
264
|
+
const bgEntries = Object.entries(ACTION_VERBS_BG).sort((a, b) => b[0].length - a[0].length);
|
|
265
|
+
for (const [verb, prefixes] of bgEntries) {
|
|
266
|
+
const re = new RegExp(`(^|[^а-яa-z])${verb}`, "i");
|
|
267
|
+
if (re.test(lower))
|
|
268
|
+
return prefixes;
|
|
269
|
+
}
|
|
270
|
+
return [];
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Tiny lexical tie-breaker. Semantic cosine drives ranking; this only nudges
|
|
274
|
+
* exact-name hits when the query IS a name (e.g. "Product", "createSegment")
|
|
275
|
+
* or the user's intent clearly references a specific type.
|
|
276
|
+
*
|
|
277
|
+
* Magnitudes are deliberately small (≤ 0.25 and only for exact name match on
|
|
278
|
+
* a schema-identifier-shaped query) so intent queries like "refund an order"
|
|
279
|
+
* stay semantic-ranked and don't collapse to every chunk whose name happens
|
|
280
|
+
* to contain "order".
|
|
281
|
+
*/
|
|
282
|
+
function lexicalScore(chunk, query, tokens, verbPrefixes) {
|
|
283
|
+
const name = chunk.name.toLowerCase();
|
|
284
|
+
const parent = (chunk.parent || "").toLowerCase();
|
|
285
|
+
const schemaish = looksLikeSchemaName(query);
|
|
286
|
+
const qLow = query.trim().toLowerCase();
|
|
287
|
+
// Action-verb boost: "create a product" → +0.08 for any `operation`
|
|
288
|
+
// whose name starts with create* (createProduct, createSegment, …).
|
|
289
|
+
// Enough to float the real mutation above a semantically-similar field
|
|
290
|
+
// or input-type chunk, without overpowering correct semantic winners.
|
|
291
|
+
if (verbPrefixes.length > 0 && chunk.kind === "operation") {
|
|
292
|
+
for (const p of verbPrefixes) {
|
|
293
|
+
if (name.startsWith(p.toLowerCase()))
|
|
294
|
+
return 0.08;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// Whole-query exact match against name/parent — strongest signal. Only
|
|
298
|
+
// applied when the query looks like a schema identifier; for natural
|
|
299
|
+
// language queries this branch never fires.
|
|
300
|
+
if (schemaish) {
|
|
301
|
+
if (name === qLow)
|
|
302
|
+
return 0.25;
|
|
303
|
+
if (parent === qLow)
|
|
304
|
+
return 0.15;
|
|
305
|
+
// Substring on the full query (handles "createSegment" matching a chunk
|
|
306
|
+
// literally named "createSegment" even if we also have `createdAt` around).
|
|
307
|
+
if (name.includes(qLow))
|
|
308
|
+
return 0.10;
|
|
309
|
+
if (parent.includes(qLow))
|
|
310
|
+
return 0.05;
|
|
311
|
+
}
|
|
312
|
+
if (tokens.length === 0)
|
|
313
|
+
return 0;
|
|
314
|
+
const singleToken = tokens.length === 1;
|
|
315
|
+
let best = 0;
|
|
316
|
+
for (const t of tokens) {
|
|
317
|
+
if (name === t) {
|
|
318
|
+
best = Math.max(best, singleToken ? 0.15 : 0.04);
|
|
319
|
+
continue;
|
|
320
|
+
}
|
|
321
|
+
if (parent === t) {
|
|
322
|
+
best = Math.max(best, singleToken ? 0.08 : 0.02);
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
if (singleToken) {
|
|
326
|
+
if (name.includes(t)) {
|
|
327
|
+
best = Math.max(best, 0.05);
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
330
|
+
if (parent.includes(t)) {
|
|
331
|
+
best = Math.max(best, 0.02);
|
|
332
|
+
continue;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
return best;
|
|
337
|
+
}
|
|
338
|
+
export async function semanticSearch(input) {
|
|
339
|
+
const query = (input.query ?? "").trim();
|
|
340
|
+
if (query === "") {
|
|
341
|
+
return {
|
|
342
|
+
content: [{
|
|
343
|
+
type: "text",
|
|
344
|
+
text: "Provide a search query describing what you want to find (e.g. \"customers who spent more than 100\", \"out of stock products\", \"create a segment for returning buyers\").",
|
|
345
|
+
}],
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
loadCorpus();
|
|
349
|
+
const model = await ensureModel();
|
|
350
|
+
const out = await model([QUERY_PREFIX + query], { pooling: "mean", normalize: true });
|
|
351
|
+
const qvec = out.data;
|
|
352
|
+
const limit = Math.min(Math.max(input.limit ?? 8, 1), 20);
|
|
353
|
+
const allowKinds = input.kinds && input.kinds.length ? new Set(input.kinds) : null;
|
|
354
|
+
const tokens = lexicalTokens(query);
|
|
355
|
+
const verbPrefixes = detectActionVerbPrefixes(query);
|
|
356
|
+
// Hybrid scoring: semantic cosine + lexical name/parent-match boost.
|
|
357
|
+
// Widen the top-N during collection so a late lexical boost can still
|
|
358
|
+
// surface a result the pure-semantic heap would have discarded.
|
|
359
|
+
const pool = Math.max(limit * 4, 32);
|
|
360
|
+
const top = [];
|
|
361
|
+
for (let i = 0; i < chunkCount; i++) {
|
|
362
|
+
if (allowKinds && !allowKinds.has(metadata[i].kind))
|
|
363
|
+
continue;
|
|
364
|
+
const sem = dot(qvec, 0, vectors, i * EMBED_DIM, EMBED_DIM);
|
|
365
|
+
const lex = lexicalScore(metadata[i], query, tokens, verbPrefixes);
|
|
366
|
+
const score = sem + lex;
|
|
367
|
+
if (top.length < pool) {
|
|
368
|
+
top.push({ idx: i, sem, lex, score });
|
|
369
|
+
if (top.length === pool)
|
|
370
|
+
top.sort((a, b) => a.score - b.score);
|
|
371
|
+
}
|
|
372
|
+
else if (score > top[0].score) {
|
|
373
|
+
top[0] = { idx: i, sem, lex, score };
|
|
374
|
+
top.sort((a, b) => a.score - b.score);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
top.sort((a, b) => b.score - a.score);
|
|
378
|
+
top.length = Math.min(top.length, limit);
|
|
379
|
+
if (top.length === 0) {
|
|
380
|
+
return {
|
|
381
|
+
content: [{ type: "text", text: `No matches for "${query}".` }],
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
const topScore = top[0]?.score ?? 0;
|
|
385
|
+
const LOW_CONF = 0.82;
|
|
386
|
+
const lines = [
|
|
387
|
+
`## Top ${top.length} semantic matches for "${query}"`,
|
|
388
|
+
"",
|
|
389
|
+
];
|
|
390
|
+
if (topScore < LOW_CONF) {
|
|
391
|
+
lines.push(`> ⚠️ Low confidence (top score ${topScore.toFixed(3)}). The schema may not have a direct match for this intent. Try reformulating with a different verb or noun, or call \`introspect_graphql_schema\` with the exact type/operation name if you have a guess.`, "");
|
|
392
|
+
}
|
|
393
|
+
for (const { idx, sem, lex, score } of top) {
|
|
394
|
+
const m = metadata[idx];
|
|
395
|
+
const lexNote = lex > 0 ? ` (sem ${sem.toFixed(3)} + lex ${lex.toFixed(2)})` : "";
|
|
396
|
+
lines.push(`### [${m.kind}] ${m.name}${m.parent ? ` (on ${m.parent})` : ""} — score ${score.toFixed(3)}${lexNote}`);
|
|
397
|
+
// Operation chunks carry the full list-query signature with all 20+ args
|
|
398
|
+
// inline — that's ~400 tokens of noise when only the first few matter.
|
|
399
|
+
// Truncate both the signature and the Arguments block to the 8 most
|
|
400
|
+
// relevant args; the agent can introspect the operation by exact name
|
|
401
|
+
// if they need the full list.
|
|
402
|
+
const sig = m.kind === "operation" ? compactSignature(m.signature) : m.signature;
|
|
403
|
+
if (sig)
|
|
404
|
+
lines.push(`\`${sig}\``);
|
|
405
|
+
const body = m.text.split("\n").slice(1).join("\n").trim();
|
|
406
|
+
const renderedBody = m.kind === "operation" ? compactOperationBody(body) : body;
|
|
407
|
+
if (renderedBody)
|
|
408
|
+
lines.push(renderedBody);
|
|
409
|
+
lines.push("");
|
|
410
|
+
}
|
|
411
|
+
lines.push("> NEXT: use introspect_graphql_schema with the exact type/field name for full details, then validate_graphql_codeblocks before executing.");
|
|
412
|
+
return {
|
|
413
|
+
content: [{ type: "text", text: lines.join("\n") }],
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=semantic-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../src/tools/semantic-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-graphql.d.ts","sourceRoot":"","sources":["../../src/tools/validate-graphql.ts"],"names":[],"mappings":"AAcA,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"validate-graphql.d.ts","sourceRoot":"","sources":["../../src/tools/validate-graphql.ts"],"names":[],"mappings":"AAcA,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AAqTD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa;;;;;EAiGnD"}
|
|
@@ -63,6 +63,32 @@ const COMMON_ALIASES = {
|
|
|
63
63
|
"Cart.items": "products",
|
|
64
64
|
"Cart.lineItems": "products",
|
|
65
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* Shopify-style mutation names that agents (especially ones trained on Shopify
|
|
68
|
+
* Admin / Storefront GraphQL) reach for. CloudCart uses `verb{Noun}` form,
|
|
69
|
+
* Shopify uses `{noun}Verb`. Map the common confusions.
|
|
70
|
+
*/
|
|
71
|
+
const SHOPIFY_MUTATION_SWAPS = {
|
|
72
|
+
productCreate: "createProduct",
|
|
73
|
+
productUpdate: "updateProduct",
|
|
74
|
+
productDelete: "deleteProduct",
|
|
75
|
+
customerCreate: "createCustomer",
|
|
76
|
+
customerUpdate: "updateCustomer",
|
|
77
|
+
customerDelete: "deleteCustomer",
|
|
78
|
+
orderCreate: "createOrder",
|
|
79
|
+
orderUpdate: "updateOrder",
|
|
80
|
+
orderCancel: "cancelOrder",
|
|
81
|
+
orderArchive: "archiveOrder",
|
|
82
|
+
discountCreate: "createDiscount",
|
|
83
|
+
discountUpdate: "updateDiscount",
|
|
84
|
+
discountDelete: "deleteDiscount",
|
|
85
|
+
collectionCreate: "createCategory",
|
|
86
|
+
collectionUpdate: "updateCategory",
|
|
87
|
+
collectionDelete: "deleteCategory",
|
|
88
|
+
variantCreate: "createVariant",
|
|
89
|
+
variantUpdate: "updateVariant",
|
|
90
|
+
variantDelete: "deleteVariant",
|
|
91
|
+
};
|
|
66
92
|
/**
|
|
67
93
|
* Produce a short remediation hint for a validation error message, so the
|
|
68
94
|
* agent can fix the query without a second introspect round-trip.
|
|
@@ -71,6 +97,13 @@ const COMMON_ALIASES = {
|
|
|
71
97
|
* recognise — we stay silent instead of handwaving.
|
|
72
98
|
*/
|
|
73
99
|
function hintForErrorMessage(msg) {
|
|
100
|
+
// Shopify-style mutation name: "productCreate" → CloudCart wants "createProduct".
|
|
101
|
+
// Check this BEFORE the generic field/type hints so we give the specific
|
|
102
|
+
// naming-convention remediation instead of a vague "did you mean" suggestion.
|
|
103
|
+
const shopifyMut = msg.match(/Cannot query field "([a-z][a-zA-Z]+)" on type "Mutation"/);
|
|
104
|
+
if (shopifyMut && SHOPIFY_MUTATION_SWAPS[shopifyMut[1]]) {
|
|
105
|
+
return `CloudCart mutations use \`verb{Noun}\` form, not Shopify's \`{noun}Verb\`. Use \`${SHOPIFY_MUTATION_SWAPS[shopifyMut[1]]}\` instead of \`${shopifyMut[1]}\`.`;
|
|
106
|
+
}
|
|
74
107
|
// Moved-field check (Phase 3 consolidation): was at root, now in sub-type.
|
|
75
108
|
const unknownField = msg.match(/Cannot query field "([A-Za-z_][A-Za-z0-9_]*)" on type "([A-Z][A-Za-z_]+)"/);
|
|
76
109
|
if (unknownField) {
|
|
@@ -119,6 +152,20 @@ function hintForErrorMessage(msg) {
|
|
|
119
152
|
const snake = camel.replace(/[A-Z]/g, (c) => "_" + c.toLowerCase());
|
|
120
153
|
return `Arguments are snake_case on this API — try \`${snake}\`.`;
|
|
121
154
|
}
|
|
155
|
+
// Boolean literal passed where YesNo enum was expected.
|
|
156
|
+
// Actual GraphQL message: `Enum "YesNo" cannot represent non-enum value: true.`
|
|
157
|
+
const yesNoMismatch = msg.match(/Enum "YesNo" cannot represent non-enum value: (true|false)/i);
|
|
158
|
+
if (yesNoMismatch) {
|
|
159
|
+
const boolVal = yesNoMismatch[1];
|
|
160
|
+
const yn = boolVal === "true" ? "yes" : "no";
|
|
161
|
+
return `\`YesNo\` is an enum with values \`yes\` / \`no\` — not a native Boolean. Use \`${yn}\` (no quotes) instead of \`${boolVal}\`.`;
|
|
162
|
+
}
|
|
163
|
+
// The opposite — agent uses the enum names where Boolean is expected.
|
|
164
|
+
const boolMismatch = msg.match(/Boolean cannot represent a non boolean value: (yes|no)/i);
|
|
165
|
+
if (boolMismatch) {
|
|
166
|
+
const yn = boolMismatch[1].toLowerCase();
|
|
167
|
+
return `This field takes a native Boolean — use \`${yn === "yes" ? "true" : "false"}\` (not the \`YesNo\` enum).`;
|
|
168
|
+
}
|
|
122
169
|
// Missing / unknown argument on known list queries — nudge towards the
|
|
123
170
|
// pre-built filter args the agent is almost certainly looking for.
|
|
124
171
|
const argHints = {
|
|
@@ -166,6 +213,26 @@ function staticPostValidationHints(queryText) {
|
|
|
166
213
|
}
|
|
167
214
|
}
|
|
168
215
|
}
|
|
216
|
+
// Storefront-style Global IDs (`gid://cloudcart/Type/123`) in admin-API
|
|
217
|
+
// queries. Admin API uses plain numeric IDs — passing gid:// silently
|
|
218
|
+
// passes schema validation (ID is a String scalar) but the runtime parser
|
|
219
|
+
// rejects them. Storefront users moving to admin will reflexively use gid://.
|
|
220
|
+
const gidLiterals = Array.from(queryText.matchAll(/"(gid:\/\/cloudcart\/[^"]+)"/g));
|
|
221
|
+
if (gidLiterals.length > 0) {
|
|
222
|
+
const sample = gidLiterals[0][1];
|
|
223
|
+
const plain = sample.split("/").pop() || "123";
|
|
224
|
+
hints.push(`\`gid://cloudcart/…\` Global IDs are a Storefront API convention — the Admin API uses plain numeric IDs. Replace \`"${sample}"\` with \`"${plain}"\`.`);
|
|
225
|
+
}
|
|
226
|
+
// ISO 8601 datetime literals in date-shaped args (date_added, date_modified,
|
|
227
|
+
// publish_date, active_to, …). Schema validation passes because DateTime
|
|
228
|
+
// is a String scalar, but the runtime coercion expects `Y-m-d H:i:s`.
|
|
229
|
+
// Catch the common `"2026-04-15T00:00:00Z"` form agents produce by reflex.
|
|
230
|
+
const isoDateLiterals = Array.from(queryText.matchAll(/"(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)"/g));
|
|
231
|
+
if (isoDateLiterals.length > 0) {
|
|
232
|
+
const sample = isoDateLiterals[0][1];
|
|
233
|
+
const fixed = sample.replace("T", " ").replace(/(Z|[+-]\d{2}:?\d{2})$/, "").trim();
|
|
234
|
+
hints.push(`ISO 8601 datetime literal \`"${sample}"\` will fail at runtime — CloudCart \`DateTime\` expects \`Y-m-d H:i:s\` (space-separated, no T/Z). Replace with \`"${fixed}"\`.`);
|
|
235
|
+
}
|
|
169
236
|
return hints;
|
|
170
237
|
}
|
|
171
238
|
function remediationHintsFor(errors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-graphql.js","sourceRoot":"","sources":["../../src/tools/validate-graphql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-graphql.js","sourceRoot":"","sources":["../../src/tools/validate-graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,iBAAiB,GAIlB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAyBjD,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,YAAY,GAA2B;IAC3C,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,eAAe;IACnC,qBAAqB,EAAE,kBAAkB;IACzC,6BAA6B,EAAE,0BAA0B;IACzD,mBAAmB,EAAE,qBAAqB;IAC1C,cAAc,EAAE,gBAAgB;IAChC,qBAAqB,EAAE,aAAa;IACpC,yBAAyB,EAAE,iBAAiB;IAC5C,wBAAwB,EAAE,gBAAgB;IAC1C,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,iBAAiB;IACjC,yBAAyB,EAAE,sBAAsB;IACjD,oBAAoB,EAAE,gBAAgB;IACtC,yBAAyB,EAAE,qBAAqB;IAChD,qBAAqB,EAAE,yBAAyB;IAChD,mBAAmB,EAAE,uBAAuB;IAC5C,iBAAiB,EAAE,kBAAkB;IACrC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,cAAc;IACnC,iBAAiB,EAAE,YAAY;IAC/B,mBAAmB,EAAE,cAAc;IACnC,kBAAkB,EAAE,WAAW;IAC/B,wBAAwB,EAAE,iBAAiB;IAC3C,gBAAgB,EAAE,cAAc;IAChC,iBAAiB,EAAE,eAAe;IAClC,gBAAgB,EAAE,cAAc;IAChC,eAAe,EAAE,aAAa;IAC9B,kBAAkB,EAAE,gBAAgB;IACpC,cAAc,EAAE,YAAY;IAC5B,aAAa,EAAE,WAAW;IAC1B,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,mBAAmB,EAAE,kBAAkB;IACvC,sBAAsB,EAAE,qBAAqB;IAC7C,qBAAqB,EAAE,sBAAsB;IAC7C,oBAAoB,EAAE,mBAAmB;IACzC,mBAAmB,EAAE,kBAAkB;IACvC,gBAAgB,EAAE,eAAe;IACjC,iBAAiB,EAAE,eAAe;IAClC,iBAAiB,EAAE,eAAe;IAClC,oBAAoB,EAAE,0BAA0B;IAChD,qBAAqB,EAAE,2BAA2B;IAClD,yBAAyB,EAAE,6BAA6B;IACxD,oBAAoB,EAAE,kBAAkB;CACzC,CAAC;AAEF,4FAA4F;AAC5F,MAAM,cAAc,GAA2B;IAC7C,aAAa,EAAE,UAAU;IACzB,iBAAiB,EAAE,UAAU;IAC7B,qBAAqB,EAAE,UAAU;IACjC,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,UAAU;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,sBAAsB,GAA2B;IACrD,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,gBAAgB;IAClC,gBAAgB,EAAE,gBAAgB;IAClC,gBAAgB,EAAE,gBAAgB;IAClC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;CAC/B,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,kFAAkF;IAClF,yEAAyE;IACzE,8EAA8E;IAC9E,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACzF,IAAI,UAAU,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,oFAAoF,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IACxK,CAAC;IACD,2EAA2E;IAC3E,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC5G,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,MAAM,IAAI,KAAK,+CAA+C,MAAM,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9I,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,MAAM,aAAa,KAAK,+BAA+B,KAAK,oBAAoB,MAAM,CAAC,WAAW,EAAE,MAAM,KAAK,gBAAgB,CAAC;QAC9I,CAAC;IACH,CAAC;IACD,iDAAiD;IACjD,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC3G,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAA2B;YACtC,OAAO,EAAE,6FAA6F;YACtG,KAAK,EAAE,8GAA8G;YACrH,QAAQ,EAAE,yGAAyG;SACpH,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kCAAkC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,OAAO,uCAAuC,KAAK,MAAM,SAAS,EAAE,CAAC;IACvE,CAAC;IACD,oEAAoE;IACpE,IAAI,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,sFAAsF,CAAC;IAChG,CAAC;IACD,kFAAkF;IAClF,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACtG,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,wIAAwI,CAAC;IAChK,CAAC;IACD,0DAA0D;IAC1D,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,iBAAiB,YAAY,CAAC,CAAC,CAAC,uBAAuB,YAAY,CAAC,CAAC,CAAC,oEAAoE,CAAC;IACpJ,CAAC;IACD,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACjF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,OAAO,gDAAgD,KAAK,KAAK,CAAC;IACpE,CAAC;IACD,wDAAwD;IACxD,gFAAgF;IAChF,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC/F,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,OAAO,mFAAmF,EAAE,+BAA+B,OAAO,KAAK,CAAC;IAC1I,CAAC;IACD,sEAAsE;IACtE,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,6CAA6C,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,8BAA8B,CAAC;IACpH,CAAC;IACD,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,QAAQ,GAA2B;QACvC,uBAAuB,EAAE,0IAA0I;QACnK,iBAAiB,EAAE,sEAAsE;QACzF,wBAAwB,EAAE,6GAA6G;QACvI,uBAAuB,EAAE,0EAA0E;QACnG,mBAAmB,EAAE,kFAAkF;QACvG,gBAAgB,EAAE,6HAA6H;QAC/I,oBAAoB,EAAE,oGAAoG;QAC1H,iBAAiB,EAAE,qCAAqC;QACxD,mBAAmB,EAAE,uCAAuC;QAC5D,wBAAwB,EAAE,iDAAiD;QAC3E,qBAAqB,EAAE,8CAA8C;KACtE,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAC7F,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,SAAiB;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,0EAA0E;IAC1E,sEAAsE;IACtE,0EAA0E;IAC1E,0BAA0B;IAC1B,IAAI,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC5E,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBACpD,KAAK,CAAC,IAAI,CACR,0BAA0B,CAAC,iNAAiN,CAC7O,CAAC;gBACF,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,8EAA8E;IAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACpF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;QAC/C,KAAK,CAAC,IAAI,CACR,uHAAuH,MAAM,eAAe,KAAK,MAAM,CACxJ,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,2EAA2E,CAAC,CAAC,CAAC;IACpI,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnF,KAAK,CAAC,IAAI,CACR,gCAAgC,MAAM,wHAAwH,KAAK,MAAM,CAC1K,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAgB;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAsB;IACjD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3C,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,sCAAsC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAqB,EAAE,QAAsB;IACzE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEtC,KAAK,CACH,QAAQ,EACR,iBAAiB,CAAC,QAAQ,EAAE;QAC1B,KAAK;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CACX,aAAa,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,mBAAmB,QAAQ,CAAC,iBAAiB,EAAE,CAC5G,CAAC;YACJ,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBACrD,QAAQ,CAAC,IAAI,CACX,kBAAkB,IAAI,CAAC,KAAK,mBAAmB,SAAS,CAAC,iBAAiB,IAAI,EAAE,EAAE,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CACH,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC;IAEjC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8BAA8B,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;SAC/F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,YAAY,UAAU,EAAE,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAqB;YAC/B,UAAU;YACV,QAAQ;YACR,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,OAAO;SACvB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,CAAC,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,wCAAwC;gBACxC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC1E,wEAAwE;gBACxE,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE3D,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3D,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;oBACzB,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,SAAS,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACzB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAErD,MAAM,KAAK,GAAa;QACtB,yBAAyB;QACzB,uBAAuB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,aAAa,EAAE;QAC9D,0BAA0B,OAAO,CAAC,MAAM,IAAI;QAC5C,uBAAuB;KACxB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;QAEpG,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,aAAa,oBAAoB,CAAC,CAAC;QACjG,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,MAAM,WAAW,GAAG,CAAC,CAAC,QAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,aAAa,oBAAoB,WAAW,IAAI,CAAC,CAAC;QAChH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,MAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAO,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aACvB;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcart/dev-mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "MCP server for CloudCart GraphQL APIs
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "MCP server for CloudCart GraphQL APIs — helps AI assistants write correct queries and mutations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -11,13 +11,15 @@
|
|
|
11
11
|
"build": "tsc",
|
|
12
12
|
"dev": "tsc --watch",
|
|
13
13
|
"generate-schema": "tsx scripts/generate-schema.ts",
|
|
14
|
-
"start": "node dist/index.js"
|
|
14
|
+
"start": "node dist/index.js",
|
|
15
|
+
"build-embeddings": "tsx scripts/build-embeddings.ts"
|
|
15
16
|
},
|
|
16
17
|
"files": [
|
|
17
18
|
"dist",
|
|
18
19
|
"data"
|
|
19
20
|
],
|
|
20
21
|
"dependencies": {
|
|
22
|
+
"@huggingface/transformers": "^4.1.0",
|
|
21
23
|
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
22
24
|
"graphql": "^16.13.0",
|
|
23
25
|
"zod": "^3.24.0"
|