@descryy/adapter-go 0.4.1 → 0.5.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAML,KAAK,eAAe,EAGpB,KAAK,eAAe,EAIrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAyB,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAKtG,OAAO,EAAW,QAAQ,EAA4B,MAAM,cAAc,CAAC;AAE3E,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC;;;;;;kCAMkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAErB,CAAC;AACV,eAAO,MAAM,gBAAgB,sBAAuB,CAAC;AAerD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAkBD,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CA4MzE;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAML,KAAK,eAAe,EAGpB,KAAK,eAAe,EAOrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAA2C,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAKxH,OAAO,EAA0B,QAAQ,EAA4B,MAAM,cAAc,CAAC;AAG1F,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC;;;;;;kCAMkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAErB,CAAC;AACV,eAAO,MAAM,gBAAgB,sBAAuB,CAAC;AAerD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAyBD,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAwSzE;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
package/dist/adapter.js CHANGED
@@ -6,12 +6,13 @@ import { createHash } from "node:crypto";
6
6
  import { createRequire } from "node:module";
7
7
  import { existsSync, readFileSync } from "node:fs";
8
8
  import { join } from "node:path";
9
- import { CLIENT_CALL_EXTRACTOR, ROUTE_EXTRACTOR, ROUTE_HANDLER_EXTRACTOR, } from "@descryy/ir";
10
- import { discover, isolateFile, toRepoRelative } from "@descryy/adapter-common";
9
+ import { CLIENT_BASE_EXTRACTOR, CLIENT_CALL_EXTRACTOR, ORM_EXTRACTOR, ROUTE_EXTRACTOR, ROUTE_HANDLER_EXTRACTOR, SHAPE_DIRECTION_EXTRACTOR, } from "@descryy/ir";
10
+ import { discover, extractOrDegrade, isolateFile, toRepoRelative } from "@descryy/adapter-common";
11
11
  import { parserFor, parseText } from "@descryy/adapter-treesitter";
12
12
  import { buildConstraintOf, readFile as readGoFile } from "./parse.js";
13
13
  import { goModules, importPathOf } from "./modules.js";
14
- import { extract, LANGUAGE, REASONS } from "./extract.js";
14
+ import { degradedGraph, extract, LANGUAGE, REASONS } from "./extract.js";
15
+ import { goToolchainAvailable, runGoShapeExtractor } from "./go-types.js";
15
16
  export const ADAPTER_ID = "adapter-go";
16
17
  /** The installed package's own declared version — read directly from this
17
18
  * package's own package.json rather than hardcoded, so the two can never
@@ -78,20 +79,39 @@ export function createGoAdapter(options = {}) {
78
79
  capabilities() {
79
80
  return {
80
81
  maxResolution: ceiling,
81
- nodeTypes: ["MODULE", "CLASS", "FUNCTION", "TEST_CASE", "API_ROUTE", "API_ENDPOINT"],
82
- // `IMPLEMENTS` absent: Go satisfaction is structural, needs R3 this adapter lacks. Embedding becomes `INHERITS`.
83
- edgeTypes: ["IMPORTS", "CALLS", "TESTS", "INHERITS", "USES_TYPE", "SERVES_API", "USES_API"],
82
+ nodeTypes: [
83
+ "MODULE",
84
+ "CLASS",
85
+ "MODEL",
86
+ "FUNCTION",
87
+ "TEST_CASE",
88
+ "API_ROUTE",
89
+ "API_ENDPOINT",
90
+ // `DTO`: go/types-backed request/response shapes — real only when
91
+ // `maxResolution: 3` is requested (`go-types.ts`); an adapter
92
+ // instance that never asks for R3 never emits one, so it is
93
+ // listed only alongside that opt-in, not unconditionally.
94
+ ...(ceiling >= 3 ? ["DTO"] : []),
95
+ ],
96
+ // `IMPLEMENTS` absent: Go interface satisfaction is structural and
97
+ // this adapter does not attempt it. Embedding becomes `INHERITS`.
98
+ // (R3 exists now, opt-in, for `DTO` shape evidence — see `go-types.ts` —
99
+ // but that is a different claim from confirming interface satisfaction.)
100
+ edgeTypes: ["IMPORTS", "CALLS", "READS", "TESTS", "INHERITS", "USES_TYPE", "SERVES_API", "USES_API"],
84
101
  hasCallHierarchy: false,
85
102
  hasTypeHierarchy: false,
86
103
  // DEC-110: engine no longer hardcodes noise dirs, consumes this instead. Names only, one path component.
87
104
  noiseDirectories: ["vendor"],
88
105
  frameworkExtractors: [
89
106
  "net/http",
107
+ "gorm.io/gorm",
90
108
  "github.com/gin-gonic/gin",
91
109
  "github.com/go-chi/chi",
92
110
  "github.com/labstack/echo",
93
111
  "github.com/gorilla/mux",
94
112
  "google.golang.org/grpc",
113
+ "github.com/gofiber/fiber/v2",
114
+ "github.com/gofiber/fiber",
95
115
  ],
96
116
  // Both HTTP boundary halves: route-extractor (pattern 04), client-call-extractor (real USES_API, `client.ts`).
97
117
  // DEC-262: safe either way — never fails a golden pattern, passes genuinely or stays honestly skipped.
@@ -99,7 +119,23 @@ export function createGoAdapter(options = {}) {
99
119
  // read in the two shapes that name a function — a plain package-level
100
120
  // name, and Go's far commoner inline `func(w, r) { … }`, whose single
101
121
  // in-repository call is the handler. Every other shape is disclosed.
102
- frameworkCapabilities: [ROUTE_EXTRACTOR, CLIENT_CALL_EXTRACTOR, ROUTE_HANDLER_EXTRACTOR],
122
+ // `client-base-extractor` (DEC-164): declared because it is emitted —
123
+ // every caller this reader reads an HTTP call from carries
124
+ // `attrs.clientBase`, and the splice shape (`client.ts`'s
125
+ // `admitSplice`) composes one per DEC-097 with the origin stripped.
126
+ // `ORM_EXTRACTOR` is `gorm.ts`'s, landed by a different lane in the
127
+ // same session — the union of the two.
128
+ frameworkCapabilities: [
129
+ ROUTE_EXTRACTOR,
130
+ ORM_EXTRACTOR,
131
+ CLIENT_CALL_EXTRACTOR,
132
+ CLIENT_BASE_EXTRACTOR,
133
+ ROUTE_HANDLER_EXTRACTOR,
134
+ // `attrs.roles` on the handler -> DTO `USES_TYPE` edge (`extract.ts`'s
135
+ // handler pass) — declared only alongside the same `maxResolution: 3`
136
+ // opt-in `DTO` itself needs, for the same reason.
137
+ ...(ceiling >= 3 ? [SHAPE_DIRECTION_EXTRACTOR] : []),
138
+ ],
103
139
  };
104
140
  },
105
141
  async prepare(ctx) {
@@ -150,7 +186,40 @@ export function createGoAdapter(options = {}) {
150
186
  }
151
187
  units.push({ ...unit, importPath, buildConstraint: buildConstraintOf(text) });
152
188
  }
153
- const reached = units.length === 0 ? 0 : ceiling;
189
+ let reached = units.length === 0 ? 0 : ceiling;
190
+ // --- R3: go/types shape evidence, opt-in via `maxResolution: 3` -------
191
+ //
192
+ // Attempted only when a caller asked for it and there is something to
193
+ // analyse. **Honest degradation, not a silent cap**: every branch that
194
+ // fails to reach R3 records why, and `reached` drops back to R2 — this
195
+ // run never claims a resolution its own evidence does not support
196
+ // (rule 3). See `go-types.ts`'s header for the full contract and
197
+ // `DEC-NEXT-go-shapes-toolchain-unverified.md` for what remains
198
+ // unverified about this path in this environment.
199
+ let goShapes;
200
+ let goShapesUnavailableReason;
201
+ if (reached >= 3) {
202
+ if (!goToolchainAvailable()) {
203
+ goShapesUnavailableReason =
204
+ "the Go toolchain (`go`) is not installed or not on PATH — R3 shape evidence needs it to " +
205
+ "run go/types against this repository; staying at R2.";
206
+ reached = 2;
207
+ }
208
+ else {
209
+ const outcome = await runGoShapeExtractor({
210
+ repoRoot: ctx.root.absolutePath,
211
+ signal: ctx.signal,
212
+ timeoutMs: Math.max(ctx.prepareTimeoutMs, 60_000),
213
+ });
214
+ if (outcome.ok) {
215
+ goShapes = outcome.result;
216
+ }
217
+ else {
218
+ goShapesUnavailableReason = `go/types shape extraction did not complete: ${outcome.reason} — staying at R2.`;
219
+ reached = 2;
220
+ }
221
+ }
222
+ }
154
223
  session = {
155
224
  root: ctx.root,
156
225
  files,
@@ -160,6 +229,8 @@ export function createGoAdapter(options = {}) {
160
229
  unfinished,
161
230
  withoutModule,
162
231
  ownModulePaths: modules.map((m) => m.path),
232
+ ...(goShapes === undefined ? {} : { goShapes }),
233
+ ...(goShapesUnavailableReason === undefined ? {} : { goShapesUnavailableReason }),
163
234
  };
164
235
  return reached;
165
236
  },
@@ -212,14 +283,31 @@ export function createGoAdapter(options = {}) {
212
283
  if (active === undefined || active.units.length === 0) {
213
284
  return { nodes: [], edges: [], unresolved: [] };
214
285
  }
215
- return extract({
286
+ // A throw here used to escape `emit()`/`extractNodes()`/`extractEdges()`
287
+ // and be reported by the caller as the whole language being not
288
+ // analysable — indistinguishable from this adapter being broken for
289
+ // every repository. `extractOrDegrade` (`@descryy/adapter-common`) turns
290
+ // the throw into a disclosed `MODULE`-per-file fallback instead
291
+ // (`degradedGraph`, in `./extract.ts`) — see that function's doc comment
292
+ // for why `MODULE` (keyed by the already-resolved import path), not
293
+ // `FILE`, is the right fallback for Go.
294
+ const degradedByThrow = (cause) => degradedGraph({
295
+ repo: active.root.repo,
296
+ workspace: active.root.workspace,
297
+ producedBy: PRODUCED_BY,
298
+ files: active.units,
299
+ cause,
300
+ });
301
+ return extractOrDegrade(() => extract({
216
302
  repo: active.root.repo,
217
303
  scope: { repo: active.root.repo, ...(active.root.workspace === undefined ? {} : { workspace: active.root.workspace }) },
218
304
  producedBy: PRODUCED_BY,
219
305
  reached: active.reached,
220
306
  files: active.units,
221
307
  ownModulePaths: active.ownModulePaths,
222
- });
308
+ ...(active.goShapes === undefined ? {} : { goShapes: active.goShapes }),
309
+ ...(active.goShapesUnavailableReason === undefined ? {} : { goShapesUnavailableReason: active.goShapesUnavailableReason }),
310
+ }), degradedByThrow);
223
311
  }
224
312
  }
225
313
  /** Content hash of a repo-relative file, for `FileRef`. */
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * The client-base extractor for Go — DEC-164's contract.
3
+ *
4
+ * Go is a splice-at-the-call-site language and has no choice about it:
5
+ * `net/http.Client` carries no URL prefix of any kind — no `BaseAddress`, no
6
+ * `base_uri`, no `defaultRequest` — so a service base lives in a package
7
+ * constant and is concatenated where the call is written:
8
+ *
9
+ * ```go
10
+ * const apiV1Base = "https://api.acme.example/api/v1"
11
+ * client.Get(apiV1Base + "/orders/" + id)
12
+ * ```
13
+ *
14
+ * Before this file `client.ts` saw a `binary_expression`, failed the
15
+ * bare-string-literal test and filed a `capability-gap` row reading "a
16
+ * variable, a concatenation, or an expression this reader does not evaluate" —
17
+ * true, and silent about the one thing that was actually unreadable. This
18
+ * reader names it: the first operand of the `+` chain is the base, the rest is
19
+ * the call's own path, and the two are reported separately so a refusal can
20
+ * say which half it refused.
21
+ *
22
+ * ## The origin rule, and why it is evidence rather than a guess
23
+ *
24
+ * An absolute URL written at a call site is refused as out-of-scope (DEC-113),
25
+ * because the origin usually names a host this repository does not serve and
26
+ * DEC-014 makes an endpoint host-free, so a third party's `/v1/charges` and a
27
+ * local route of the same path would collide as one node. That stays, with the
28
+ * one exception `adapter-typescript` and `adapter-python` already adopted:
29
+ * **an origin some base in this same file resolves to is an origin this
30
+ * program treats as its own API.** It admits nothing DEC-097 does not already
31
+ * admit — a resolved base at that origin has already minted endpoints there —
32
+ * and with no absolute base anywhere the origin set is empty and the rule
33
+ * never fires.
34
+ *
35
+ * ## Two disclosed limits, both narrower than the other adapters' rule
36
+ *
37
+ * The constant table and the origin set are both **per file**, not per
38
+ * package. Go's parse pass reads one file at a time and a package-level
39
+ * constant is visible package-wide, so a base declared in a sibling file of the
40
+ * same package stays `unresolved` here. That is a recall gap and never a
41
+ * precision one (rule 2): refusing a base this reader cannot see is the
42
+ * honest answer, and the refusal row says so.
43
+ */
44
+ /**
45
+ * DEC-164's contract, minus its fourth state — the field's own absence from
46
+ * `attrs`, which is a fact about the adapter rather than a value this type
47
+ * can hold.
48
+ */
49
+ export type ClientBaseResult = {
50
+ /** A base traced to a literal. `path` is DEC-097's kept prefix, origin already stripped. */
51
+ readonly state: "resolved";
52
+ readonly path: string;
53
+ }
54
+ /** No base-setting mechanism in play. A positive statement, not a default. */
55
+ | {
56
+ readonly state: "none";
57
+ } | {
58
+ /** A base was spliced and its value is not a literal this reader can evaluate. */
59
+ readonly state: "unresolved";
60
+ readonly why: string;
61
+ };
62
+ /**
63
+ * DEC-097: the origin — scheme, host, port — is removed and the path prefix
64
+ * kept. `undefined` when the value is not an absolute URI this reader can
65
+ * split, which is refused rather than guessed at.
66
+ *
67
+ * Shared verbatim with `adapter-typescript` and `adapter-python` so the three
68
+ * cannot drift; a fourth spelling of this split is how a host reaches an id.
69
+ */
70
+ export declare function pathPrefixOf(uri: string): string | undefined;
71
+ /** The scheme/host/port of an absolute URI, or `undefined` when it is not one. */
72
+ export declare function originOf(uri: string): string | undefined;
73
+ /**
74
+ * The prefix a base literal contributes, or `undefined` when it contributes
75
+ * none this reader can state.
76
+ *
77
+ * Two shapes resolve: an absolute URI, whose origin is discarded, and a
78
+ * repository-relative path, which is already what it composes to. Anything
79
+ * else — `"api/v1"`, with neither an origin to strip nor a leading slash to
80
+ * anchor it — makes no claim.
81
+ */
82
+ export declare function prefixOfBaseLiteral(value: string): string | undefined;
83
+ //# sourceMappingURL=client-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-base.d.ts","sourceRoot":"","sources":["../src/client-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IACE,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AACH,8EAA8E;GAC5E;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IACE,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAIN;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK5D;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * The client-base extractor for Go — DEC-164's contract.
3
+ *
4
+ * Go is a splice-at-the-call-site language and has no choice about it:
5
+ * `net/http.Client` carries no URL prefix of any kind — no `BaseAddress`, no
6
+ * `base_uri`, no `defaultRequest` — so a service base lives in a package
7
+ * constant and is concatenated where the call is written:
8
+ *
9
+ * ```go
10
+ * const apiV1Base = "https://api.acme.example/api/v1"
11
+ * client.Get(apiV1Base + "/orders/" + id)
12
+ * ```
13
+ *
14
+ * Before this file `client.ts` saw a `binary_expression`, failed the
15
+ * bare-string-literal test and filed a `capability-gap` row reading "a
16
+ * variable, a concatenation, or an expression this reader does not evaluate" —
17
+ * true, and silent about the one thing that was actually unreadable. This
18
+ * reader names it: the first operand of the `+` chain is the base, the rest is
19
+ * the call's own path, and the two are reported separately so a refusal can
20
+ * say which half it refused.
21
+ *
22
+ * ## The origin rule, and why it is evidence rather than a guess
23
+ *
24
+ * An absolute URL written at a call site is refused as out-of-scope (DEC-113),
25
+ * because the origin usually names a host this repository does not serve and
26
+ * DEC-014 makes an endpoint host-free, so a third party's `/v1/charges` and a
27
+ * local route of the same path would collide as one node. That stays, with the
28
+ * one exception `adapter-typescript` and `adapter-python` already adopted:
29
+ * **an origin some base in this same file resolves to is an origin this
30
+ * program treats as its own API.** It admits nothing DEC-097 does not already
31
+ * admit — a resolved base at that origin has already minted endpoints there —
32
+ * and with no absolute base anywhere the origin set is empty and the rule
33
+ * never fires.
34
+ *
35
+ * ## Two disclosed limits, both narrower than the other adapters' rule
36
+ *
37
+ * The constant table and the origin set are both **per file**, not per
38
+ * package. Go's parse pass reads one file at a time and a package-level
39
+ * constant is visible package-wide, so a base declared in a sibling file of the
40
+ * same package stays `unresolved` here. That is a recall gap and never a
41
+ * precision one (rule 2): refusing a base this reader cannot see is the
42
+ * honest answer, and the refusal row says so.
43
+ */
44
+ const ABSOLUTE = /^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^/?#]*)(\/[^?#]*)?/;
45
+ /**
46
+ * DEC-097: the origin — scheme, host, port — is removed and the path prefix
47
+ * kept. `undefined` when the value is not an absolute URI this reader can
48
+ * split, which is refused rather than guessed at.
49
+ *
50
+ * Shared verbatim with `adapter-typescript` and `adapter-python` so the three
51
+ * cannot drift; a fourth spelling of this split is how a host reaches an id.
52
+ */
53
+ export function pathPrefixOf(uri) {
54
+ const match = ABSOLUTE.exec(uri.trim());
55
+ if (match === null)
56
+ return undefined;
57
+ const path = match[2] ?? "";
58
+ return path === "/" ? "" : path.replace(/\/+$/, "");
59
+ }
60
+ /** The scheme/host/port of an absolute URI, or `undefined` when it is not one. */
61
+ export function originOf(uri) {
62
+ const match = ABSOLUTE.exec(uri.trim());
63
+ return match === null ? undefined : match[1];
64
+ }
65
+ /**
66
+ * The prefix a base literal contributes, or `undefined` when it contributes
67
+ * none this reader can state.
68
+ *
69
+ * Two shapes resolve: an absolute URI, whose origin is discarded, and a
70
+ * repository-relative path, which is already what it composes to. Anything
71
+ * else — `"api/v1"`, with neither an origin to strip nor a leading slash to
72
+ * anchor it — makes no claim.
73
+ */
74
+ export function prefixOfBaseLiteral(value) {
75
+ if (value.startsWith("/"))
76
+ return value.length > 1 ? value.replace(/\/+$/, "") : "";
77
+ return pathPrefixOf(value);
78
+ }
79
+ //# sourceMappingURL=client-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-base.js","sourceRoot":"","sources":["../src/client-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAqBH,MAAM,QAAQ,GAAG,mDAAmD,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
package/dist/client.d.ts CHANGED
@@ -6,6 +6,10 @@
6
6
  import type { Node } from "@descryy/adapter-treesitter";
7
7
  import { type IdentityScope, type IRNode } from "@descryy/ir";
8
8
  import type { GoFile } from "./parse.ts";
9
+ import { type ClientBaseResult } from "./client-base.ts";
10
+ export type { ClientBaseResult };
11
+ /** The origin set before any base has been read. Named so a caller cannot pass `new Set()` by accident and mean something else. */
12
+ export declare const NO_KNOWN_ORIGINS: ReadonlySet<string>;
9
13
  export interface GoClientCallSite {
10
14
  readonly method: string;
11
15
  readonly template: string;
@@ -13,6 +17,15 @@ export interface GoClientCallSite {
13
17
  readonly line: number;
14
18
  /** `test` when the file is a `_test.go` file, else `production`. */
15
19
  readonly callerKind: "test" | "production";
20
+ /** DEC-164's contract — see `client-base.ts`. Every call this reader admits states one. */
21
+ readonly clientBase: ClientBaseResult;
22
+ /**
23
+ * The origin a *resolved* base was written at, before DEC-097 stripped it.
24
+ * Reported out rather than kept internally so the collection pass the
25
+ * origin rule needs is one the caller owns and can see. It is never folded
26
+ * back into `template`.
27
+ */
28
+ readonly baseOrigin?: string;
16
29
  }
17
30
  export interface GoClientRefusalSite {
18
31
  readonly raw: string;
@@ -28,6 +41,14 @@ export interface GoClientRefusalSite {
28
41
  * contract. Present only on the generic fallthrough of `diagnoseArgument`.
29
42
  */
30
43
  readonly argumentKind?: "field" | "call" | "concatenation" | "other";
44
+ /** Present only for DEC-164's `unresolved` state — a base was spliced and could not be read. */
45
+ readonly clientBase?: ClientBaseResult;
46
+ /**
47
+ * The call's OWN path, with the unreadable base removed — golden 08b's
48
+ * requirement that a refusal name both halves. Without it the row says a
49
+ * base was unreadable and cannot say which call site it belonged to.
50
+ */
51
+ readonly callPath?: string;
31
52
  }
32
53
  export type BaseRefusalClass = "value-unknown" | "varies-per-call" | "capability-gap";
33
54
  export interface GoClientCall extends GoClientCallSite {
@@ -37,7 +58,11 @@ export interface GoClientRefusal extends GoClientRefusalSite {
37
58
  readonly fromId: string;
38
59
  }
39
60
  /** Every outbound HTTP call in a function body, ledger row per refusal. `locals` read but never written here. */
40
- export declare function readGoClientCalls(body: Node, unit: GoFile, locals: ReadonlyMap<string, string | null>, isTest: boolean, parameterNames?: ReadonlySet<string>): {
61
+ export declare function readGoClientCalls(body: Node, unit: GoFile, locals: ReadonlyMap<string, string | null>, isTest: boolean, parameterNames?: ReadonlySet<string>,
62
+ /** DEC-164: this file's package-level string constants, the only base table Go's per-file parse has. */
63
+ packageConsts?: ReadonlyMap<string, string>,
64
+ /** Origins some base in this same file already resolves to — see `client-base.ts`'s header. */
65
+ knownOrigins?: ReadonlySet<string>): {
41
66
  readonly calls: readonly GoClientCallSite[];
42
67
  readonly refusals: readonly GoClientRefusalSite[];
43
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAyBzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC;CACtE;AAKD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAiCtF,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAmDD,iHAAiH;AACjH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,cAAc,GAAE,WAAW,CAAC,MAAM,CAAa,GAC9C;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAAE,CAsHpG;AAED,iHAAiH;AACjH,wBAAgB,WAAW,CACzB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GACtC,MAAM,CAaR"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAA+C,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEtG,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,mIAAmI;AACnI,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAa,CAAC;AAyB/D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC;IAC3C,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC;IACrE,gGAAgG;IAChG,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAKD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAiCtF,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AA8KD,iHAAiH;AACjH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,cAAc,GAAE,WAAW,CAAC,MAAM,CAAa;AAC/C,wGAAwG;AACxG,aAAa,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa;AACtD,+FAA+F;AAC/F,YAAY,GAAE,WAAW,CAAC,MAAM,CAAoB,GACnD;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAAE,CA6MpG;AAED,iHAAiH;AACjH,wBAAgB,WAAW,CACzB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GACtC,MAAM,CAaR"}