@salesforce/graphiti 10.10.3 → 10.11.0
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/AGENT_GUIDE.md +23 -0
- package/CHANGELOG.md +6 -0
- package/README.md +17 -6
- package/dist/commands/connect.d.ts +2 -1
- package/dist/commands/connect.js +28 -7
- package/dist/commands/connect.js.map +1 -1
- package/dist/intent/build-connect.d.ts +24 -0
- package/dist/intent/build-connect.js +47 -0
- package/dist/intent/build-connect.js.map +1 -0
- package/dist/intent/types.d.ts +23 -0
- package/dist/lib/fs-utils.d.ts +3 -1
- package/dist/lib/fs-utils.js +7 -3
- package/dist/lib/fs-utils.js.map +1 -1
- package/dist/lib/introspect.js +20 -1
- package/dist/lib/introspect.js.map +1 -1
- package/dist/lib/prime-schema.d.ts +70 -16
- package/dist/lib/prime-schema.js +166 -33
- package/dist/lib/prime-schema.js.map +1 -1
- package/dist/lib/walker.d.ts +10 -0
- package/dist/lib/walker.js +26 -2
- package/dist/lib/walker.js.map +1 -1
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/sf-gql-connect.d.ts +9 -0
- package/dist/mcp/tools/sf-gql-connect.js +27 -0
- package/dist/mcp/tools/sf-gql-connect.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/helpers/object-info.ts +37 -0
- package/src/commands/__tests__/connect.spec.ts +92 -0
- package/src/commands/connect.ts +28 -6
- package/src/intent/__tests__/build-connect.spec.ts +103 -0
- package/src/intent/build-connect.ts +55 -0
- package/src/intent/types.ts +25 -0
- package/src/lib/__tests__/introspect.spec.ts +34 -0
- package/src/lib/__tests__/prime-schema.spec.ts +341 -0
- package/src/lib/__tests__/walker.spec.ts +13 -0
- package/src/lib/fs-utils.ts +8 -3
- package/src/lib/introspect.ts +29 -6
- package/src/lib/prime-schema.ts +184 -32
- package/src/lib/walker.ts +26 -2
- package/src/mcp/__tests__/server.spec.ts +1 -0
- package/src/mcp/server.ts +2 -0
- package/src/mcp/tools/__tests__/sf-gql-connect.spec.ts +202 -0
- package/src/mcp/tools/sf-gql-connect.ts +42 -0
package/dist/lib/prime-schema.js
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { getOrgAuth as realGetOrgAuth } from "./auth.js";
|
|
9
|
-
import { downloadSchema as realDownloadSchema, normalizeInstanceUrl, schemaCacheKeyForInstanceUrl, schemaDir, } from "./introspect.js";
|
|
9
|
+
import { downloadSchema as realDownloadSchema, getSchemaMetadata, normalizeInstanceUrl, schemaCacheKeyForInstanceUrl, schemaDir, } from "./introspect.js";
|
|
10
|
+
import { clearObjectInfoCache } from "./object-info.js";
|
|
11
|
+
import { clearSchemaCacheByUrl } from "./walker.js";
|
|
10
12
|
// FR-13.7 originally suggested a 10-30s introspection budget. Empirical
|
|
11
13
|
// smoke testing against real Salesforce UIAPI schemas measures ~135s for
|
|
12
14
|
// a ~40MB introspection. We size the stale-lock threshold and the waiter
|
|
@@ -24,20 +26,25 @@ const MAX_WAIT_MS = 7 * 60_000;
|
|
|
24
26
|
* since `mkdir` is atomic on POSIX), run `work`, then release the lock.
|
|
25
27
|
*
|
|
26
28
|
* If another process holds the lock, this polls every 100ms for the lock
|
|
27
|
-
* to be released. On release, if
|
|
28
|
-
* is skipped (the other process already did it).
|
|
29
|
-
*
|
|
30
|
-
* lock and runs `work`.
|
|
29
|
+
* to be released. On release, if the work is already satisfied (per `skipIf`),
|
|
30
|
+
* the work function is skipped (the other process already did it). Otherwise
|
|
31
|
+
* this acquires the lock and runs `work`.
|
|
31
32
|
*
|
|
32
|
-
* Contract: `work` will NOT run when `
|
|
33
|
+
* Contract: `work` will NOT run when `skipIf()` is true at any point during
|
|
33
34
|
* the lock dance — including immediately after we acquire the lock (a holder
|
|
34
35
|
* may have finished and released the lock between our last EEXIST poll and
|
|
35
36
|
* our successful `mkdir`). In that case the lock is released and the
|
|
36
37
|
* function returns `undefined`.
|
|
37
38
|
*
|
|
39
|
+
* `skipIf` defaults to "`finalPath` exists" — the lazy-prime contract (any
|
|
40
|
+
* cached schema is good enough). A forced refresh passes a predicate that is
|
|
41
|
+
* true only once the file has been *replaced* since the refresh was requested,
|
|
42
|
+
* which coalesces concurrent refreshes onto a single introspection.
|
|
43
|
+
*
|
|
38
44
|
* Stale locks (older than STALE_LOCK_MS) are reclaimed.
|
|
39
45
|
*/
|
|
40
|
-
export async function withSchemaLock(finalPath, work) {
|
|
46
|
+
export async function withSchemaLock(finalPath, work, opts = {}) {
|
|
47
|
+
const skip = opts.skipIf ?? (() => fs.existsSync(finalPath));
|
|
41
48
|
const lockPath = `${finalPath}.lock`;
|
|
42
49
|
fs.mkdirSync(path.dirname(finalPath), { recursive: true });
|
|
43
50
|
const startedWaitingAt = Date.now();
|
|
@@ -50,8 +57,8 @@ export async function withSchemaLock(finalPath, work) {
|
|
|
50
57
|
const err = e;
|
|
51
58
|
if (err.code !== "EEXIST")
|
|
52
59
|
throw e;
|
|
53
|
-
// If the
|
|
54
|
-
if (
|
|
60
|
+
// If the work is already satisfied, another holder finished — short-circuit.
|
|
61
|
+
if (skip())
|
|
55
62
|
return undefined;
|
|
56
63
|
// Stale-lock reclaim. Known TOCTOU: between this `statSync` and
|
|
57
64
|
// the `rmSync` below, another process may have already reclaimed
|
|
@@ -79,10 +86,10 @@ export async function withSchemaLock(finalPath, work) {
|
|
|
79
86
|
await new Promise((r) => setTimeout(r, POLL_MS));
|
|
80
87
|
}
|
|
81
88
|
}
|
|
82
|
-
// We now hold the lock. Re-check
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
if (
|
|
89
|
+
// We now hold the lock. Re-check `skip`: a holder that finished between our
|
|
90
|
+
// last EEXIST poll and our successful mkdir may have just satisfied it.
|
|
91
|
+
// Avoid running `work` redundantly.
|
|
92
|
+
if (skip()) {
|
|
86
93
|
try {
|
|
87
94
|
fs.rmSync(lockPath, { recursive: true });
|
|
88
95
|
}
|
|
@@ -106,28 +113,84 @@ export async function withSchemaLock(finalPath, work) {
|
|
|
106
113
|
}
|
|
107
114
|
}
|
|
108
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Thrown when a forced refresh fails to download a new schema. The previously
|
|
118
|
+
* cached schema (if any) is left intact on disk and in memory — we only clear
|
|
119
|
+
* the caches *after* a successful download. `staleSince` is the surviving
|
|
120
|
+
* cache's download timestamp (ISO) so callers can render a staleness-aware
|
|
121
|
+
* message; it is undefined when no prior cache existed (a true hard failure) —
|
|
122
|
+
* or when a cache file is present but unparseable, since `getSchemaMetadata`
|
|
123
|
+
* returns null for a corrupt file, which correctly degrades to a hard failure
|
|
124
|
+
* (a corrupt cache is not usable). `instanceUrl` is always the resolved org URL
|
|
125
|
+
* (known before the download).
|
|
126
|
+
*/
|
|
127
|
+
export class SchemaRefreshError extends Error {
|
|
128
|
+
staleSince;
|
|
129
|
+
instanceUrl;
|
|
130
|
+
constructor(message, opts) {
|
|
131
|
+
super(message, opts.cause !== undefined ? { cause: opts.cause } : undefined);
|
|
132
|
+
this.name = "SchemaRefreshError";
|
|
133
|
+
this.staleSince = opts.staleSince;
|
|
134
|
+
this.instanceUrl = opts.instanceUrl;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
function formatAge(ms) {
|
|
138
|
+
const min = Math.floor(ms / 60_000);
|
|
139
|
+
if (min < 1)
|
|
140
|
+
return "just now";
|
|
141
|
+
if (min < 60)
|
|
142
|
+
return `${min}m ago`;
|
|
143
|
+
const hr = Math.floor(min / 60);
|
|
144
|
+
if (hr < 24)
|
|
145
|
+
return `${hr}h ago`;
|
|
146
|
+
return `${Math.floor(hr / 24)}d ago`;
|
|
147
|
+
}
|
|
148
|
+
function buildStaleMessage(orgAlias, surviving) {
|
|
149
|
+
if (!surviving) {
|
|
150
|
+
return `Schema refresh for "${orgAlias}" failed and no cached schema exists yet. Resolve connectivity/auth and run \`graphiti connect ${orgAlias}\` again.`;
|
|
151
|
+
}
|
|
152
|
+
const age = formatAge(Date.now() - new Date(surviving.downloadedAt).getTime());
|
|
153
|
+
return `Schema refresh for "${orgAlias}" failed; keeping the previously cached schema (downloaded ${age}). The cached schema is still usable — try refreshing again shortly.`;
|
|
154
|
+
}
|
|
109
155
|
const REAL_DEPS = {
|
|
110
156
|
getOrgAuth: realGetOrgAuth,
|
|
111
157
|
downloadSchema: realDownloadSchema,
|
|
112
158
|
};
|
|
113
159
|
/**
|
|
114
|
-
* Lazily prime the on-disk schema
|
|
160
|
+
* Lazily prime — or, with `forceRefresh`, re-download — the on-disk schema
|
|
161
|
+
* cache for `orgAlias`.
|
|
115
162
|
*
|
|
163
|
+
* Lazy prime (`forceRefresh` falsy):
|
|
116
164
|
* - If `<HOME>/.graphiti/schemas/<hash>.json` already exists, returns
|
|
117
|
-
* `{cached: true}` immediately.
|
|
165
|
+
* `{cached: true, refreshed: false}` immediately.
|
|
118
166
|
* - Otherwise: resolves auth via `deps.getOrgAuth` (throws verbatim if the
|
|
119
167
|
* alias is not authenticated, per FR-13.5), acquires the schema lock via
|
|
120
168
|
* `withSchemaLock`, calls `deps.downloadSchema(auth)` (which writes the
|
|
121
|
-
* cache atomically
|
|
122
|
-
*
|
|
123
|
-
* `
|
|
124
|
-
*
|
|
169
|
+
* cache atomically), releases the lock, and returns `{cached: false}`. Per
|
|
170
|
+
* FR-13.6, partial caches never reach disk because writes are atomic.
|
|
171
|
+
* `downloadSchema` bounds the request with a timeout and retries transient
|
|
172
|
+
* failures (network / 5xx) once at the connection layer; deterministic
|
|
173
|
+
* failures (4xx, GraphQL errors in a 200 body, missing `__schema`) and missing
|
|
174
|
+
* auth surface immediately. Unlike a forced refresh, a lazy-prime failure is
|
|
175
|
+
* re-thrown verbatim (there is no prior cache to keep, so no `SchemaRefreshError`).
|
|
176
|
+
*
|
|
177
|
+
* Forced refresh (`forceRefresh: true`) — W-22845606:
|
|
178
|
+
* - Re-downloads even though the file exists, then clears all three caches
|
|
179
|
+
* coherently: the on-disk introspection JSON (overwritten atomically), this
|
|
180
|
+
* process's in-memory parsed-schema cache, and the ObjectInfo cache (memory
|
|
181
|
+
* + disk). Clearing happens only AFTER a successful download, so a failed
|
|
182
|
+
* refresh leaves every cache intact.
|
|
183
|
+
* - Coalesces concurrent refreshes (CLI + MCP) into a single introspection via
|
|
184
|
+
* a request-time mtime snapshot: a peer that replaced the file since this
|
|
185
|
+
* refresh was requested satisfies us, and we skip the redundant download.
|
|
186
|
+
* - The download retries transient failures (network / 5xx) once at the
|
|
187
|
+
* connection layer. On terminal failure throws {@link SchemaRefreshError}
|
|
188
|
+
* carrying the surviving cache's age; the old caches are kept.
|
|
125
189
|
*
|
|
126
|
-
* Concurrent callers in the same or different processes serialize on the
|
|
127
|
-
*
|
|
128
|
-
* the primed cache and short-circuit (FR-13.4).
|
|
190
|
+
* Concurrent callers in the same or different processes serialize on the lock
|
|
191
|
+
* dir; only one performs introspection.
|
|
129
192
|
*/
|
|
130
|
-
export async function primeSchemaWithLock(orgAlias, deps = REAL_DEPS) {
|
|
193
|
+
export async function primeSchemaWithLock(orgAlias, deps = REAL_DEPS, opts = {}) {
|
|
131
194
|
// We must call `deps.getOrgAuth` first because it is the only injected
|
|
132
195
|
// source of the org's `instanceUrl`, which the cache key is derived from.
|
|
133
196
|
// In tests this returns a stub; in production it is memoized inside
|
|
@@ -137,22 +200,92 @@ export async function primeSchemaWithLock(orgAlias, deps = REAL_DEPS) {
|
|
|
137
200
|
const instanceUrl = normalizeInstanceUrl(auth.instanceUrl);
|
|
138
201
|
const cacheKey = schemaCacheKeyForInstanceUrl(instanceUrl);
|
|
139
202
|
const filePath = path.join(schemaDir(), `${cacheKey}.json`);
|
|
140
|
-
|
|
141
|
-
|
|
203
|
+
const forceRefresh = !!opts.forceRefresh;
|
|
204
|
+
// Snapshot the cached file's mtime before we (might) overwrite it.
|
|
205
|
+
// `atomicWriteJson` installs the new JSON via rename, so a successful
|
|
206
|
+
// download bumps mtime forward. The refresh skip-predicate compares
|
|
207
|
+
// against this snapshot (mtime-to-mtime, immune to wall-clock skew) so a
|
|
208
|
+
// peer that replaced the file since we were asked coalesces us out.
|
|
209
|
+
// Best-effort: on filesystems with coarse mtime resolution two refreshes in
|
|
210
|
+
// the same tick may each download (redundant, never incorrect — strict `>`
|
|
211
|
+
// can only cause an extra download, never an erroneous skip of a real refresh).
|
|
212
|
+
const mtimeAtRequest = fs.existsSync(filePath) ? fs.statSync(filePath).mtimeMs : -1;
|
|
213
|
+
if (fs.existsSync(filePath) && !forceRefresh) {
|
|
214
|
+
return { cached: true, refreshed: false, filePath, durationMs: 0, instanceUrl };
|
|
142
215
|
}
|
|
143
216
|
const start = Date.now();
|
|
144
217
|
let primed = false;
|
|
218
|
+
let typeCount;
|
|
145
219
|
await withSchemaLock(filePath, async () => {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
220
|
+
let meta;
|
|
221
|
+
try {
|
|
222
|
+
// `downloadSchema` bounds the request with a timeout and retries
|
|
223
|
+
// transient (network/5xx) failures once with backoff at the
|
|
224
|
+
// connection layer (jsforce); deterministic failures throw straight
|
|
225
|
+
// through.
|
|
226
|
+
meta = await deps.downloadSchema(auth);
|
|
227
|
+
}
|
|
228
|
+
catch (cause) {
|
|
229
|
+
// Lazy prime (no existing cache): surface the raw error verbatim
|
|
230
|
+
// (FR-13.5/13.6) — there is no stale cache to keep.
|
|
231
|
+
if (!forceRefresh)
|
|
232
|
+
throw cause;
|
|
233
|
+
// Forced refresh: atomic writes mean the old JSON is still on
|
|
234
|
+
// disk, so surface a staleness-aware error and leave every cache
|
|
235
|
+
// untouched.
|
|
236
|
+
const surviving = getSchemaMetadata(instanceUrl);
|
|
237
|
+
throw new SchemaRefreshError(buildStaleMessage(orgAlias, surviving), {
|
|
238
|
+
staleSince: surviving?.downloadedAt,
|
|
239
|
+
instanceUrl,
|
|
240
|
+
cause,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
typeCount = meta.typeCount;
|
|
244
|
+
// On a forced refresh, drop this process's in-memory copies so the
|
|
245
|
+
// next read rebuilds from the freshly-downloaded JSON. A lazy prime
|
|
246
|
+
// has nothing stale to clear (this org wasn't cached before).
|
|
247
|
+
//
|
|
248
|
+
// `clearObjectInfoCache` takes the raw alias. Its on-disk path guard
|
|
249
|
+
// (object-info.ts ORG_ALIAS_PATH_RE) is intentionally stricter than the
|
|
250
|
+
// `org` charset `connect` accepts — it gates a filesystem path, so it
|
|
251
|
+
// must reject `.`/`@`/`+` to stay traversal-safe. For an email-shaped
|
|
252
|
+
// alias the disk clear no-ops, but that is safe: the ObjectInfo disk
|
|
253
|
+
// *write* uses the same strict guard, so no on-disk entry can exist for
|
|
254
|
+
// such an alias; the in-memory clear (no guard) always runs. Do NOT
|
|
255
|
+
// loosen the path guard to "align" the two regexes.
|
|
256
|
+
if (forceRefresh) {
|
|
257
|
+
clearSchemaCacheByUrl(instanceUrl);
|
|
258
|
+
clearObjectInfoCache(orgAlias);
|
|
259
|
+
}
|
|
150
260
|
primed = true;
|
|
151
|
-
}
|
|
261
|
+
}, forceRefresh
|
|
262
|
+
? { skipIf: () => fs.existsSync(filePath) && fs.statSync(filePath).mtimeMs > mtimeAtRequest }
|
|
263
|
+
: undefined);
|
|
152
264
|
if (!primed) {
|
|
153
|
-
//
|
|
154
|
-
|
|
265
|
+
// Either a lazy prime found the file already present, or a concurrent
|
|
266
|
+
// refresh produced the new schema while we waited (coalesced). In the
|
|
267
|
+
// coalesced-refresh case a long-lived process (the MCP server) may still
|
|
268
|
+
// hold stale in-memory copies of the OLD schema, so drop them now that
|
|
269
|
+
// disk is fresh — the next read rebuilds from the peer's download.
|
|
270
|
+
if (forceRefresh && fs.existsSync(filePath) && fs.statSync(filePath).mtimeMs > mtimeAtRequest) {
|
|
271
|
+
clearSchemaCacheByUrl(instanceUrl);
|
|
272
|
+
clearObjectInfoCache(orgAlias);
|
|
273
|
+
}
|
|
274
|
+
return {
|
|
275
|
+
cached: true,
|
|
276
|
+
refreshed: false,
|
|
277
|
+
filePath,
|
|
278
|
+
durationMs: Date.now() - start,
|
|
279
|
+
instanceUrl,
|
|
280
|
+
};
|
|
155
281
|
}
|
|
156
|
-
return {
|
|
282
|
+
return {
|
|
283
|
+
cached: false,
|
|
284
|
+
refreshed: forceRefresh,
|
|
285
|
+
filePath,
|
|
286
|
+
durationMs: Date.now() - start,
|
|
287
|
+
instanceUrl,
|
|
288
|
+
typeCount,
|
|
289
|
+
};
|
|
157
290
|
}
|
|
158
291
|
//# sourceMappingURL=prime-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prime-schema.js","sourceRoot":"","sources":["../../src/lib/prime-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,IAAI,cAAc,EAAgB,MAAM,WAAW,CAAC;AACvE,OAAO,EACN,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,EACpB,4BAA4B,EAC5B,SAAS,GAET,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"prime-schema.js","sourceRoot":"","sources":["../../src/lib/prime-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,IAAI,cAAc,EAAgB,MAAM,WAAW,CAAC;AACvE,OAAO,EACN,cAAc,IAAI,kBAAkB,EACpC,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,SAAS,GAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,wEAAwE;AACxE,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,0EAA0E;AAC1E,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,+DAA+D;AAC/D,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC;AACjC,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,SAAiB,EACjB,IAAsB,EACtB,OAAmC,EAAE;IAErC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,GAAG,SAAS,OAAO,CAAC;IACrC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,OAAO,IAAI,EAAE,CAAC;QACb,IAAI,CAAC;YACJ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAgC;YACxD,MAAM;QACP,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,CAA0B,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,CAAC,CAAC;YAEnC,6EAA6E;YAC7E,IAAI,IAAI,EAAE;gBAAE,OAAO,SAAS,CAAC;YAE7B,gEAAgE;YAChE,iEAAiE;YACjE,iEAAiE;YACjE,6DAA6D;YAC7D,8DAA8D;YAC9D,0CAA0C;YAC1C,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;oBAC/C,sDAAsD;oBACtD,wDAAwD;oBACxD,uDAAuD;oBACvD,mCAAmC;oBACnC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,SAAS;gBACV,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,gEAAgE;YACjE,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,WAAW,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACd,qBAAqB,WAAW,iCAAiC,QAAQ,EAAE,CAC3E,CAAC;YACH,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,oCAAoC;IACpC,IAAI,IAAI,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC;YACJ,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACR,cAAc;QACf,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,MAAM,IAAI,EAAE,CAAC;IACrB,CAAC;YAAS,CAAC;QACV,mEAAmE;QACnE,iEAAiE;QACjE,6DAA6D;QAC7D,IAAI,CAAC;YACJ,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACR,uBAAuB;QACxB,CAAC;IACF,CAAC;AACF,CAAC;AAmBD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC5C,UAAU,CAAU;IACpB,WAAW,CAAS;IACpB,YACC,OAAe,EACf,IAAmE;QAEnE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,CAAC;CACD;AAED,SAAS,SAAS,CAAC,EAAU;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/B,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,GAAG,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,EAAE;QAAE,OAAO,GAAG,EAAE,OAAO,CAAC;IACjC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;AACtC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,SAAgC;IAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,uBAAuB,QAAQ,kGAAkG,QAAQ,WAAW,CAAC;IAC7J,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,OAAO,uBAAuB,QAAQ,8DAA8D,GAAG,sEAAsE,CAAC;AAC/K,CAAC;AAWD,MAAM,SAAS,GAAc;IAC5B,UAAU,EAAE,cAAc;IAC1B,cAAc,EAAE,kBAAkB;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,QAAgB,EAChB,OAAkB,SAAS,EAC3B,OAAmC,EAAE;IAErC,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,8EAA8E;IAC9E,0CAA0C;IAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAEzC,mEAAmE;IACnE,sEAAsE;IACtE,oEAAoE;IACpE,yEAAyE;IACzE,oEAAoE;IACpE,4EAA4E;IAC5E,2EAA2E;IAC3E,gFAAgF;IAChF,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpF,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAA6B,CAAC;IAClC,MAAM,cAAc,CACnB,QAAQ,EACR,KAAK,IAAI,EAAE;QACV,IAAI,IAAoB,CAAC;QACzB,IAAI,CAAC;YACJ,iEAAiE;YACjE,4DAA4D;YAC5D,oEAAoE;YACpE,WAAW;YACX,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,iEAAiE;YACjE,oDAAoD;YACpD,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC;YAC/B,8DAA8D;YAC9D,iEAAiE;YACjE,aAAa;YACb,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACjD,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;gBACpE,UAAU,EAAE,SAAS,EAAE,YAAY;gBACnC,WAAW;gBACX,KAAK;aACL,CAAC,CAAC;QACJ,CAAC;QACD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,mEAAmE;QACnE,oEAAoE;QACpE,8DAA8D;QAC9D,EAAE;QACF,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,wEAAwE;QACxE,oEAAoE;QACpE,oDAAoD;QACpD,IAAI,YAAY,EAAE,CAAC;YAClB,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACnC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,GAAG,IAAI,CAAC;IACf,CAAC,EACD,YAAY;QACX,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,cAAc,EAAE;QAC7F,CAAC,CAAC,SAAS,CACZ,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,sEAAsE;QACtE,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;YAC/F,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACnC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,OAAO;YACN,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,WAAW;SACX,CAAC;IACH,CAAC;IACD,OAAO;QACN,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,YAAY;QACvB,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;QAC9B,WAAW;QACX,SAAS;KACT,CAAC;AACH,CAAC"}
|
package/dist/lib/walker.d.ts
CHANGED
|
@@ -10,6 +10,16 @@ export declare class MutationContextError extends Error {
|
|
|
10
10
|
}
|
|
11
11
|
export declare function getSchema(instanceUrl: string): GraphQLSchema;
|
|
12
12
|
export declare function clearSchemaCache(instanceUrl?: string): void;
|
|
13
|
+
/**
|
|
14
|
+
* Evict the parsed schema for an instance URL AND its derived on-disk SDL
|
|
15
|
+
* side-file (`<cacheKey>.graphql`). Extends {@link clearSchemaCache} (in-memory
|
|
16
|
+
* only) with the SDL removal the refresh path needs: after a forced refresh
|
|
17
|
+
* rewrites the introspection JSON, `buildSchemaWithSdlCache` would otherwise
|
|
18
|
+
* prefer a stale SDL whenever `sdlMtime >= introspMtime` — true on a
|
|
19
|
+
* same-mtime-tick edge — resurrecting the old schema on the next cold read and
|
|
20
|
+
* defeating the refresh's coherence guarantee. SDL removal is best-effort.
|
|
21
|
+
*/
|
|
22
|
+
export declare function clearSchemaCacheByUrl(instanceUrl: string): void;
|
|
13
23
|
export declare function primeSchemaCache(alias: string, schema: GraphQLSchema): void;
|
|
14
24
|
export interface FieldInfo {
|
|
15
25
|
name: string;
|
package/dist/lib/walker.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
/* eslint-disable @typescript-eslint/no-explicit-any -- graphiti traverses untyped schema/introspection JSON; see follow-up to replace with `unknown` + narrowing */
|
|
7
7
|
import fs from "fs";
|
|
8
8
|
import { buildClientSchema, buildASTSchema, parse, printSchema, isObjectType, isInputObjectType, isEnumType, isUnionType, isInterfaceType, isScalarType, isListType, isNonNullType, getNamedType, } from "graphql";
|
|
9
|
+
import { atomicWriteText } from "./fs-utils.js";
|
|
9
10
|
import { loadIntrospectionResult, getSchemaFilePath, normalizeInstanceUrl } from "./introspect.js";
|
|
10
11
|
// ── Fuzzy matching ───────────────────────────────────────────────────────────
|
|
11
12
|
function levenshtein(a, b) {
|
|
@@ -91,9 +92,13 @@ function buildSchemaWithSdlCache(introspectionFilePath) {
|
|
|
91
92
|
const data = raw?.data ?? raw;
|
|
92
93
|
patchEmptyInputObjects(data);
|
|
93
94
|
const schema = buildClientSchema(data);
|
|
94
|
-
// Persist SDL for the next invocation.
|
|
95
|
+
// Persist SDL for the next invocation. Atomic temp+rename (not a bare
|
|
96
|
+
// writeFileSync) so a crash mid-write or a concurrent CLI+MCP writer can't
|
|
97
|
+
// leave a torn `.graphql` — readers see either the old or the fully-written
|
|
98
|
+
// file. (The read path also self-heals from the atomic JSON, but this avoids
|
|
99
|
+
// the wasted rebuild.)
|
|
95
100
|
try {
|
|
96
|
-
|
|
101
|
+
atomicWriteText(sdlPath, printSchema(schema));
|
|
97
102
|
}
|
|
98
103
|
catch {
|
|
99
104
|
// Non-critical — writable filesystem is not guaranteed.
|
|
@@ -135,6 +140,25 @@ export function clearSchemaCache(instanceUrl) {
|
|
|
135
140
|
schemaCache.clear();
|
|
136
141
|
}
|
|
137
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Evict the parsed schema for an instance URL AND its derived on-disk SDL
|
|
145
|
+
* side-file (`<cacheKey>.graphql`). Extends {@link clearSchemaCache} (in-memory
|
|
146
|
+
* only) with the SDL removal the refresh path needs: after a forced refresh
|
|
147
|
+
* rewrites the introspection JSON, `buildSchemaWithSdlCache` would otherwise
|
|
148
|
+
* prefer a stale SDL whenever `sdlMtime >= introspMtime` — true on a
|
|
149
|
+
* same-mtime-tick edge — resurrecting the old schema on the next cold read and
|
|
150
|
+
* defeating the refresh's coherence guarantee. SDL removal is best-effort.
|
|
151
|
+
*/
|
|
152
|
+
export function clearSchemaCacheByUrl(instanceUrl) {
|
|
153
|
+
clearSchemaCache(instanceUrl);
|
|
154
|
+
try {
|
|
155
|
+
const sdlPath = getSchemaFilePath(instanceUrl).replace(/\.json$/, ".graphql");
|
|
156
|
+
fs.rmSync(sdlPath, { force: true });
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
// best-effort; a stale SDL only matters on the rare same-mtime-tick edge.
|
|
160
|
+
}
|
|
161
|
+
}
|
|
138
162
|
export function primeSchemaCache(alias, schema) {
|
|
139
163
|
schemaCache.set(alias, schema);
|
|
140
164
|
}
|
package/dist/lib/walker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/lib/walker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/lib/walker.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -7,6 +7,7 @@ import { readFileSync } from "node:fs";
|
|
|
7
7
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
8
8
|
import { registerEchoTool } from "./tools/echo.js";
|
|
9
9
|
import { registerSfGqlAggregateTool } from "./tools/sf-gql-aggregate.js";
|
|
10
|
+
import { registerSfGqlConnectTool } from "./tools/sf-gql-connect.js";
|
|
10
11
|
import { registerSfGqlCreateTool } from "./tools/sf-gql-create.js";
|
|
11
12
|
import { registerSfGqlDeleteTool } from "./tools/sf-gql-delete.js";
|
|
12
13
|
import { registerSfGqlDetailTool } from "./tools/sf-gql-detail.js";
|
|
@@ -22,6 +23,7 @@ export function createServer() {
|
|
|
22
23
|
});
|
|
23
24
|
registerEchoTool(server);
|
|
24
25
|
registerSfGqlAggregateTool(server);
|
|
26
|
+
registerSfGqlConnectTool(server);
|
|
25
27
|
registerSfGqlCreateTool(server);
|
|
26
28
|
registerSfGqlDeleteTool(server);
|
|
27
29
|
registerSfGqlDetailTool(server);
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC7B,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC7C,CAAC;AAEzB,MAAM,UAAU,YAAY;IAC3B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC5B,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,WAAW,CAAC,OAAO;KAC5B,CAAC,CAAC;IACH,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC7B,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC7C,CAAC;AAEzB,MAAM,UAAU,YAAY;IAC3B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC5B,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,WAAW,CAAC,OAAO;KAC5B,CAAC,CAAC;IACH,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, Salesforce, Inc.,
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* For full license text, see the LICENSE.txt file
|
|
5
|
+
*/
|
|
6
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
|
+
import { type ConnectDeps } from "../../intent/build-connect.js";
|
|
8
|
+
export type SfGqlConnectToolOptions = ConnectDeps;
|
|
9
|
+
export declare function registerSfGqlConnectTool(server: McpServer, opts?: SfGqlConnectToolOptions): void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, Salesforce, Inc.,
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* For full license text, see the LICENSE.txt file
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { orgAlias } from "./shared/zod-schemas.js";
|
|
8
|
+
import { buildConnect } from "../../intent/build-connect.js";
|
|
9
|
+
const inputSchema = {
|
|
10
|
+
org: orgAlias("Org alias or username resolved via local Salesforce CLI auth (~/.sf, ~/.sfdx)."),
|
|
11
|
+
forceRefresh: z
|
|
12
|
+
.boolean()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("Re-download the schema even if it is already cached, clearing the on-disk introspection JSON, the in-memory parsed schema, and the ObjectInfo cache. Use after deploying new metadata (fields, picklist values, objects) so subsequent tools see the changes. Defaults to false."),
|
|
15
|
+
};
|
|
16
|
+
export function registerSfGqlConnectTool(server, opts = {}) {
|
|
17
|
+
server.registerTool("sf_gql_connect", {
|
|
18
|
+
description: "Connect to a Salesforce org and prime its GraphQL schema cache. With forceRefresh, re-download the schema and coherently clear all caches so subsequent tools see freshly-deployed metadata. Concurrent refreshes coalesce into a single introspection. Returns { org, instanceUrl, refreshed, cached, durationMs, warnings? } — not the standard ToolOutput envelope. If a refresh fails but a usable cached schema survives, returns refreshed:false with a staleness warning instead of erroring.",
|
|
19
|
+
inputSchema,
|
|
20
|
+
}, async (args) => {
|
|
21
|
+
const output = await buildConnect(args, opts);
|
|
22
|
+
return {
|
|
23
|
+
content: [{ type: "text", text: JSON.stringify(output) }],
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=sf-gql-connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sf-gql-connect.js","sourceRoot":"","sources":["../../../src/mcp/tools/sf-gql-connect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;AAI/E,MAAM,WAAW,GAAG;IACnB,GAAG,EAAE,QAAQ,CAAC,gFAAgF,CAAC;IAC/F,YAAY,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACR,kRAAkR,CAClR;CACF,CAAC;AAEF,MAAM,UAAU,wBAAwB,CACvC,MAAiB,EACjB,OAAgC,EAAE;IAElC,MAAM,CAAC,YAAY,CAClB,gBAAgB,EAChB;QACC,WAAW,EACV,seAAse;QACve,WAAW;KACX,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO;YACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;SACzD,CAAC;IACH,CAAC,CACD,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, Salesforce, Inc.,
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* For full license text, see the LICENSE.txt file
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { type ObjectInfoResult } from "../../lib/object-info.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Build a fully-typed `ObjectInfoResult` for tests, with sensible defaults that
|
|
11
|
+
* any field can override. Use this instead of `{...} as never` seeds so the
|
|
12
|
+
* compiler keeps checking field names and types — if `ObjectInfoResult` gains a
|
|
13
|
+
* required field or one is renamed, callers fail to compile instead of silently
|
|
14
|
+
* exercising a shape production code would never see.
|
|
15
|
+
*/
|
|
16
|
+
export function makeObjectInfo(overrides: Partial<ObjectInfoResult> = {}): ObjectInfoResult {
|
|
17
|
+
return {
|
|
18
|
+
apiName: "Account",
|
|
19
|
+
label: "Account",
|
|
20
|
+
labelPlural: "Accounts",
|
|
21
|
+
createable: true,
|
|
22
|
+
deletable: true,
|
|
23
|
+
updateable: true,
|
|
24
|
+
queryable: true,
|
|
25
|
+
searchable: true,
|
|
26
|
+
custom: false,
|
|
27
|
+
keyPrefix: "001",
|
|
28
|
+
nameFields: ["Name"],
|
|
29
|
+
defaultRecordTypeId: null,
|
|
30
|
+
fields: [],
|
|
31
|
+
childRelationships: [],
|
|
32
|
+
recordTypeInfos: [],
|
|
33
|
+
picklists: [],
|
|
34
|
+
fetchedAt: new Date().toISOString(),
|
|
35
|
+
...overrides,
|
|
36
|
+
};
|
|
37
|
+
}
|