/** * Copyright (c) 2026, Salesforce, Inc., * All rights reserved. * For full license text, see the LICENSE.txt file */ import { type ListSpec, type ToolOutput } from "./types.js"; import { type PrimeDeps } from "../lib/prime-schema.js"; /** * Build a UIAPI list query against a Salesforce org. Implements `sf_gql_list` * intent for the graphiti MCP server. * * Implicit behaviors not visible in the signature: * - Scalar fields are auto-wrapped with `{ value }` per UIAPI; `Id` is selected bare. * - Dotted paths in `fields` / `parentFields` expand polymorphic unions into * per-member inline fragments; members lacking the field are silently skipped. * - `childRelationships` render as ` { edges { node { ... } } }` connections. * - `$varName` leaves anywhere in `filter` / `orderBy` / `scope` promote to typed * query variables (inferred from the schema; nullable; `String` on inference miss). * - `orderBy` arrays are collapsed to the first element (UIAPI expects a singleton). * - Cursor pagination is always on: declares `$after: String`, selects * `pageInfo { hasNextPage endCursor }`, defaults `first: 10`. * - Operation name defaults to `List`. * * Throws on invalid `object` or `operationName` (must be valid GraphQL Names), * auth-missing, or introspection failure (via `getSchemaWithPriming`); never * throws on validation or codegen failure (those surface as `warnings[]`). */ export declare function buildList(spec: ListSpec, deps?: PrimeDeps): Promise;