/** * Which modules declare a specification as the source they were generated from * (change: add-contract-graph-projection). * * A generated API client builds its URL from a base variable — * `fetch(`${BASE}/orders/${id}`)` — so the HTTP projection sees no literal path and binds * nothing: the operation it calls reads as consumed by no one, which is false. Its method name, * though, IS the `operationId`, and that is an exact identifier rather than a resemblance. * * The signal used here is the module's own HEADER NAMING THE SPECIFICATION, not "does this look * generated". That matters for soundness: binding by name alone would tie a hand-written * `getOrder` to an operation it has nothing to do with, and a wrong edge is worse than a missing * one. A file that says in its first lines that it comes from `api/openapi.yaml` is claiming * exactly the relationship the binding needs — whether a generator or a person wrote the claim. * * Deliberately NOT the `generated-file-guard` classifier: that lives in the service layer, which * the analyzer may not import, and it answers a broader question (gitattributes, lockfiles, path * patterns) for the edit guard. This asks one narrow thing of text the builder already holds. */ /** * Whether `content`'s header declares `specPath` as the source it was generated from. * * Three conditions, each closing a wrong edge found by review: * 1. the reference is in a COMMENT in the header — a path in ordinary code (a loader that * reads the specification at runtime, a string constant, a fixture path) is not a claim; * 2. the same line carries a GENERATION marker — a prose mention is not a claim; * 3. the reference matches on path boundaries — one specification's header never names another * whose base name is a substring of it. */ export declare function headerNamesSpec(content: string, specPath: string): boolean; /** * For one specification, the functions of every module whose header names it, indexed by * function name. * * Returns an empty map when no module names it — the overwhelmingly common case, which costs one * header slice per candidate file and no parsing. */ export declare function generatedClientFunctionsFor(specPath: string, codeNodesByFile: ReadonlyMap, contentOf: (file: string) => string | undefined, /** Whether a file is a test, excluded below. Injected so this module stays dependency-free. */ isTest?: (file: string) => boolean): ReadonlyMap; //# sourceMappingURL=generated-client.d.ts.map