@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.
@@ -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;AA2OD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa;;;;;EAiGnD"}
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":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcart/dev-mcp",
3
- "version": "0.1.5",
4
- "description": "MCP server for CloudCart GraphQL APIs \u2014 helps AI assistants write correct queries and mutations",
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"