@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.
Files changed (44) hide show
  1. package/AGENT_GUIDE.md +23 -0
  2. package/CHANGELOG.md +6 -0
  3. package/README.md +17 -6
  4. package/dist/commands/connect.d.ts +2 -1
  5. package/dist/commands/connect.js +28 -7
  6. package/dist/commands/connect.js.map +1 -1
  7. package/dist/intent/build-connect.d.ts +24 -0
  8. package/dist/intent/build-connect.js +47 -0
  9. package/dist/intent/build-connect.js.map +1 -0
  10. package/dist/intent/types.d.ts +23 -0
  11. package/dist/lib/fs-utils.d.ts +3 -1
  12. package/dist/lib/fs-utils.js +7 -3
  13. package/dist/lib/fs-utils.js.map +1 -1
  14. package/dist/lib/introspect.js +20 -1
  15. package/dist/lib/introspect.js.map +1 -1
  16. package/dist/lib/prime-schema.d.ts +70 -16
  17. package/dist/lib/prime-schema.js +166 -33
  18. package/dist/lib/prime-schema.js.map +1 -1
  19. package/dist/lib/walker.d.ts +10 -0
  20. package/dist/lib/walker.js +26 -2
  21. package/dist/lib/walker.js.map +1 -1
  22. package/dist/mcp/server.js +2 -0
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/mcp/tools/sf-gql-connect.d.ts +9 -0
  25. package/dist/mcp/tools/sf-gql-connect.js +27 -0
  26. package/dist/mcp/tools/sf-gql-connect.js.map +1 -0
  27. package/package.json +1 -1
  28. package/src/__tests__/helpers/object-info.ts +37 -0
  29. package/src/commands/__tests__/connect.spec.ts +92 -0
  30. package/src/commands/connect.ts +28 -6
  31. package/src/intent/__tests__/build-connect.spec.ts +103 -0
  32. package/src/intent/build-connect.ts +55 -0
  33. package/src/intent/types.ts +25 -0
  34. package/src/lib/__tests__/introspect.spec.ts +34 -0
  35. package/src/lib/__tests__/prime-schema.spec.ts +341 -0
  36. package/src/lib/__tests__/walker.spec.ts +13 -0
  37. package/src/lib/fs-utils.ts +8 -3
  38. package/src/lib/introspect.ts +29 -6
  39. package/src/lib/prime-schema.ts +184 -32
  40. package/src/lib/walker.ts +26 -2
  41. package/src/mcp/__tests__/server.spec.ts +1 -0
  42. package/src/mcp/server.ts +2 -0
  43. package/src/mcp/tools/__tests__/sf-gql-connect.spec.ts +202 -0
  44. package/src/mcp/tools/sf-gql-connect.ts +42 -0
@@ -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 `finalPath` now exists, the work function
28
- * is skipped (the other process already did it). If `finalPath` still does
29
- * not exist (the other process aborted without writing), this acquires the
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 `finalPath` exists at any point during
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 cache exists now, another holder finished — short-circuit.
54
- if (fs.existsSync(finalPath))
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 for the cache: a holder that finished
83
- // between our last EEXIST poll and our successful mkdir may have just
84
- // primed it. Avoid running `work` redundantly.
85
- if (fs.existsSync(finalPath)) {
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 cache for `orgAlias`.
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 via `downloadSchema`'s internal use of
122
- * `atomicWriteJson`), releases the lock, and returns
123
- * `{cached: false, durationMs}`. Per FR-13.6, partial caches never reach
124
- * disk because writes are atomic.
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
- * lock dir; only one performs introspection. Subsequent waiters observe
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
- if (fs.existsSync(filePath)) {
141
- return { cached: true, filePath, durationMs: 0, instanceUrl };
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
- // withSchemaLock re-checks `finalPath` after acquire and short-
147
- // circuits if it now exists, so when our work runs we know we
148
- // must do the introspection.
149
- await deps.downloadSchema(auth);
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
- // Another process primed while we were waiting.
154
- return { cached: true, filePath, durationMs: Date.now() - start, instanceUrl };
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 { cached: false, filePath, durationMs: Date.now() - start, instanceUrl };
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":"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"}
1
+ {"version":3,"file":"prime-schema.js","sourceRoot":"","sources":["../../src/lib/prime-schema.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -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
- fs.writeFileSync(sdlPath, printSchema(schema), "utf-8");
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
  }
@@ -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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"}
@@ -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);
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/graphiti",
3
- "version": "10.10.3",
3
+ "version": "10.11.0",
4
4
  "description": "Progressive GraphQL query builder CLI for Salesforce orgs",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "type": "module",
@@ -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
+ }