@descryy/adapter-kotlin 0.4.1 → 0.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAML,KAAK,eAAe,EAGpB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AASrB,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAC3C;;;;;;kCAMkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAErB,CAAC;AACV,eAAO,MAAM,oBAAoB,sBAAuB,CAAC;AACzD,eAAO,MAAM,QAAQ,WAAW,CAAC;AAuCjC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAcD,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CA+OrF"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAML,KAAK,eAAe,EAGpB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAWrB,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAC3C;;;;;;kCAMkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAErB,CAAC;AACV,eAAO,MAAM,oBAAoB,sBAAuB,CAAC;AACzD,eAAO,MAAM,QAAQ,WAAW,CAAC;AAuCjC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAgBD,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAwSrF"}
package/dist/adapter.js CHANGED
@@ -14,6 +14,7 @@ import { anchorOf, identityPackage, sourceRootOf } from "@descryy/adapter-jvm";
14
14
  import { parserFor, parseText } from "@descryy/adapter-treesitter";
15
15
  import { readKotlinFile } from "./parse.js";
16
16
  import { extract } from "./extract.js";
17
+ import { readEntities, reachedFor } from "./shape-reach.js";
17
18
  export const ADAPTER_ID = "adapter-kotlin";
18
19
  /** The installed package's own declared version — read directly from this
19
20
  * package's own package.json rather than hardcoded, so the two can never
@@ -58,7 +59,15 @@ function isGenerated(file) {
58
59
  }
59
60
  export function createKotlinAdapter(options = {}) {
60
61
  const globs = options.globs ?? DEFAULT_KOTLIN_GLOBS;
61
- const ceiling = options.maxResolution ?? 2;
62
+ /**
63
+ * The highest level this adapter *can* reach, not the level a given run
64
+ * does. 3 because `jpa.ts` mints a mapped field shape from a declared JPA
65
+ * mapping (DEC-202's ground, no type checker); what a run actually reached
66
+ * is `prepare()`'s return, which `shape-reach.ts` measures per repository
67
+ * instead of echoing this number back. A repository with no mapping in it
68
+ * cannot reach R3 by construction.
69
+ */
70
+ const ceiling = options.maxResolution ?? 3;
62
71
  let session;
63
72
  let parser;
64
73
  let nestedCheckouts = [];
@@ -81,6 +90,7 @@ export function createKotlinAdapter(options = {}) {
81
90
  producedBy: PRODUCED_BY,
82
91
  scope: { repo: live.root.repo, ...(live.root.workspace === undefined ? {} : { workspace: live.root.workspace }) },
83
92
  reached: live.reached,
93
+ reach: live.reach,
84
94
  });
85
95
  };
86
96
  return {
@@ -116,8 +126,12 @@ export function createKotlinAdapter(options = {}) {
116
126
  "annotations (@RestController/@GetMapping/@RequestMapping) supply routes the same way Java's " +
117
127
  "own reader does. Retrofit's declarative client interfaces (@GET/@POST on an interface method) " +
118
128
  "supply the calls that reach them; raw OkHttp (OkHttpClient().newCall(...)) does not — measured " +
119
- "at zero real call sites needing it, on two real corpora, see language-problems.md §9. No ORM " +
120
- "extractor is bound, so models and their columns are reported as not tested rather than absent.");
129
+ "at zero real call sites needing it, on two real corpora, see language-problems.md §9. JPA/" +
130
+ "Hibernate and Spring Data MongoDB mappings supply models and their column shapes, read from " +
131
+ "the same annotations adapter-java reads — but only where the column set can be shown " +
132
+ "COMPLETE: an unresolvable superclass, an @Entity superclass, an @Embedded property or an " +
133
+ "@Inheritance strategy each withhold the shape rather than report a partial column list as " +
134
+ "a whole one.");
121
135
  evidence.push("no cross-language edges into Java-declared types are emitted. The reference corpus for " +
122
136
  "that claim (okhttp) contains no Kotlin-to-Java reference at all, so the rule would " +
123
137
  "ship unwitnessed.");
@@ -133,15 +147,36 @@ export function createKotlinAdapter(options = {}) {
133
147
  },
134
148
  capabilities() {
135
149
  return {
150
+ /**
151
+ * The maximum, declared before any repository is read and therefore
152
+ * never a measurement. R3 is honest as a maximum because a JPA mapping
153
+ * *declares* a shape — see `shape-reach.ts` for what is and is not R3
154
+ * here, and why no `DATABASE_TABLE` is minted from it. A repository
155
+ * with no entity in it runs at R2 and says so in `reachedResolution`.
156
+ */
136
157
  maxResolution: ceiling,
137
- nodeTypes: ["MODULE", "CLASS", "FUNCTION", "TEST_CASE", "API_ROUTE", "API_ENDPOINT"],
158
+ /**
159
+ * `MODEL` is claimed: `jpa.ts` earns it from `@Entity`/`@Document`,
160
+ * an annotation, never from a name. `DTO` stays absent (golden 07):
161
+ * `Order`/`CreateOrderRequest` are structurally identical and
162
+ * separable only by name, so nothing distinguishes a DTO the way
163
+ * `@Entity` distinguishes a model.
164
+ *
165
+ * `COMPONENT` comes from the `compose` extractor and nothing else:
166
+ * `@Composable` + an `androidx.compose` import + a `Unit` return, which
167
+ * is Jetpack Compose's own definition of a UI element. Kotlin has no
168
+ * routed-page concept this adapter can read, so no `PAGE` is claimed —
169
+ * a `COMPONENT` here is never promoted, and pattern 17 grades that it
170
+ * is minted at all rather than that it resisted promotion.
171
+ */
172
+ nodeTypes: ["MODULE", "CLASS", "FUNCTION", "COMPONENT", "TEST_CASE", "API_ROUTE", "API_ENDPOINT", "MODEL"],
138
173
  /**
139
174
  * Kotlin states which supertype is the superclass — invoked as `Base()`,
140
175
  * which an interface can't be — so `INHERITS`/`IMPLEMENTS` split cleanly
141
176
  * from source, unlike Swift's. Decided against the declaration table,
142
177
  * syntax only as confirmation.
143
178
  */
144
- edgeTypes: ["IMPORTS", "CALLS", "TESTS", "IMPLEMENTS", "INHERITS", "USES_TYPE", "SERVES_API", "USES_API"],
179
+ edgeTypes: ["IMPORTS", "CALLS", "READS", "TESTS", "IMPLEMENTS", "INHERITS", "USES_TYPE", "SERVES_API", "USES_API"],
145
180
  hasCallHierarchy: false,
146
181
  hasTypeHierarchy: false,
147
182
  /**
@@ -153,13 +188,29 @@ export function createKotlinAdapter(options = {}) {
153
188
  */
154
189
  noiseDirectories: ["build", "target"],
155
190
  // Routes: Ktor DSL, Spring MVC/WebFlux annotations. Calls: Ktor client,
156
- // Retrofit interfaces. No ORM extractor bound patterns 06/07 unmet.
157
- frameworkExtractors: ["ktor", "ktor-client", "spring", "retrofit"],
191
+ // Retrofit interfaces. ORM: JPA/Hibernate and Spring Data MongoDB
192
+ // mappings, the same declarations `adapter-java` reads, which is what
193
+ // carries this adapter's one R3 fact kind. `compose` is Jetpack
194
+ // Compose's COMPONENT reader; three lanes wrote this list in one
195
+ // session and it is their union.
196
+ frameworkExtractors: ["ktor", "ktor-client", "spring", "retrofit", "jpa", "spring-data-mongodb", "compose"],
158
197
  // `route-handler-extractor`: Ktor's handler is the registration's
159
198
  // trailing lambda, which names no function — the serving function is
160
199
  // the single in-repository call inside it. Every other shape (zero
161
200
  // calls, several, no lambda) is disclosed rather than guessed.
162
- frameworkCapabilities: ["route-extractor", "client-call-extractor", "route-handler-extractor"],
201
+ // `client-base-extractor` (DEC-164): declared because it is emitted —
202
+ // a ktor `defaultRequest { url(base) }` this reader can see composes
203
+ // per DEC-097 with the origin stripped, and every caller whose
204
+ // client's construction it saw carries `attrs.clientBase`.
205
+ // `orm-extractor` is `jpa.ts`'s. Three lanes wrote this array in one
206
+ // session; it is their union, not a choice between them.
207
+ frameworkCapabilities: [
208
+ "route-extractor",
209
+ "orm-extractor",
210
+ "client-call-extractor",
211
+ "client-base-extractor",
212
+ "route-handler-extractor",
213
+ ],
163
214
  };
164
215
  },
165
216
  async prepare(ctx) {
@@ -233,8 +284,15 @@ export function createKotlinAdapter(options = {}) {
233
284
  }
234
285
  units.push({ ...parsed, identityPackage: identityPackage(anchor, parsed.packageName, "(default)") });
235
286
  }
236
- const reached = units.some((u) => u.identityPackage !== undefined) ? ceiling : 0;
237
- session = { root: ctx.root, files, units, reached, failures, unfinished, withoutAnchor, parsedWithErrors };
287
+ /**
288
+ * The level this repository actually reached, not the ceiling echoed
289
+ * back. R3 only when some entity in the run carries at least one mapped
290
+ * column whose shape this reader decided — see `shape-reach.ts`.
291
+ */
292
+ const anchored = units.some((u) => u.identityPackage !== undefined);
293
+ const reach = anchored ? readEntities(units) : undefined;
294
+ const reached = reachedFor(ceiling, anchored, reach);
295
+ session = { root: ctx.root, files, units, reached, reach, failures, unfinished, withoutAnchor, parsedWithErrors };
238
296
  return reached;
239
297
  },
240
298
  async parseFiles(files) {
@@ -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,114 @@
1
+ /**
2
+ * The client-base extractor for Kotlin — DEC-164's contract.
3
+ *
4
+ * Ktor's client has a real base. `defaultRequest { url(API_V1_BASE) }` holds it
5
+ * on the `HttpClient`, and a later `client.get("orders/$id")` resolves against
6
+ * it at run time. So this binding takes C#'s and Java's shape — base on the
7
+ * client object, relative path at the call site — and not the spliced shape
8
+ * `adapter-go`, `adapter-rust` and `adapter-swift` had to use.
9
+ *
10
+ * `client.ts` already refused exactly this call: "an HTTP call whose path is
11
+ * not repository-relative, so no route on this side of the join serves it."
12
+ * True while the base was invisible, and wrong about the call the moment it is
13
+ * not. This is that base, read.
14
+ *
15
+ * ## Three states, and where each one comes from
16
+ *
17
+ * A client whose construction this reader can see and which sets a base earns
18
+ * `resolved` (a string literal, or a `const val` in the same file) or
19
+ * `unresolved` (anything else — `System.getenv`, a config read, an injected
20
+ * value). A client constructed with no base at all — `HttpClient()` — earns
21
+ * `none`, a positive statement. A receiver whose construction this reader
22
+ * never saw earns DEC-164's fourth state, the field's own absence: the reader
23
+ * did not determine a base, which is not the same claim as there being none.
24
+ *
25
+ * ## The trailing slash is load-bearing, and the composition is why
26
+ *
27
+ * Ktor resolves `url(base)` by RFC 3986, so the fixture's base ends in `/`.
28
+ * `prefixOfBaseLiteral` trims it and the call's own relative path is joined
29
+ * under a single separator, so `https://h/api/v1/` + `orders/{param}` is
30
+ * `/api/v1/orders/{param}` however the two were spelled.
31
+ *
32
+ * ## The origin rule, and why it is evidence rather than a guess
33
+ *
34
+ * An absolute URL written at a call site is refused as out-of-scope
35
+ * (DEC-113/DEC-014), because the origin usually names a host this repository
36
+ * does not serve and an endpoint is host-free. That stays, with the one
37
+ * exception `adapter-typescript` and `adapter-python` already adopted: **an
38
+ * origin some base in this same file resolves to is an origin this program
39
+ * treats as its own API.** With no absolute base anywhere the origin set is
40
+ * empty and the rule never fires.
41
+ *
42
+ * The constant table and the origin set are both per FILE — a `const val` in
43
+ * a sibling file stays unresolved, a disclosed recall gap and never a
44
+ * precision one (rule 2).
45
+ */
46
+ /**
47
+ * DEC-164's contract, minus its fourth state — the field's own absence from
48
+ * `attrs`, which is a fact about the adapter rather than a value this type
49
+ * can hold.
50
+ */
51
+ export type ClientBaseResult = {
52
+ /** A base traced to a literal. `path` is DEC-097's kept prefix, origin already stripped. */
53
+ readonly state: "resolved";
54
+ readonly path: string;
55
+ }
56
+ /** No base-setting mechanism in play. A positive statement, not a default. */
57
+ | {
58
+ readonly state: "none";
59
+ } | {
60
+ /** A base was configured and its value is not a literal this reader can evaluate. */
61
+ readonly state: "unresolved";
62
+ readonly why: string;
63
+ };
64
+ /**
65
+ * DEC-097: the origin — scheme, host, port — is removed and the path prefix
66
+ * kept. `undefined` when the value is not an absolute URI this reader can
67
+ * split, which is refused rather than guessed at.
68
+ *
69
+ * Shared verbatim with every other adapter that reads a base so they cannot
70
+ * drift; another spelling of this split is how a host reaches an id.
71
+ */
72
+ export declare function pathPrefixOf(uri: string): string | undefined;
73
+ /** The scheme/host/port of an absolute URI, or `undefined` when it is not one. */
74
+ export declare function originOf(uri: string): string | undefined;
75
+ /**
76
+ * The prefix a base literal contributes, or `undefined` when it contributes
77
+ * none this reader can state.
78
+ *
79
+ * Two shapes resolve: an absolute URI, whose origin is discarded, and a
80
+ * repository-relative path, which is already what it composes to. Anything
81
+ * else — `"api/v1"`, with neither an origin to strip nor a leading slash to
82
+ * anchor it — makes no claim.
83
+ */
84
+ export declare function prefixOfBaseLiteral(value: string): string | undefined;
85
+ /**
86
+ * One client declaration's own account of its base, as the parse saw it.
87
+ *
88
+ * `kind: "none"` is a real reading and not a default — it means the
89
+ * initializer was visible and set no base at all (`new RestTemplate()`). A
90
+ * declaration this reader never saw produces no site, which is DEC-164's
91
+ * fourth state.
92
+ */
93
+ export type KotlinBaseSite = {
94
+ readonly kind: "base";
95
+ /** The argument's own text, for a refusal that has to name what blocked it. */
96
+ readonly text: string;
97
+ /** Present when the argument is a bare string literal. */
98
+ readonly literal?: string;
99
+ /** Present when the argument is a bare name this reader can look up. */
100
+ readonly name?: string;
101
+ } | {
102
+ readonly kind: "none";
103
+ };
104
+ /**
105
+ * Resolve a base site against the compilation unit's own `const val` string constants.
106
+ *
107
+ * `undefined` is never returned — a site exists precisely because the
108
+ * declaration was read, so one of the three states always applies.
109
+ */
110
+ export declare function resolveBaseSite(site: KotlinBaseSite, constants: ReadonlyMap<string, string>): {
111
+ readonly base: ClientBaseResult;
112
+ readonly origin?: string;
113
+ };
114
+ //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH;;;;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,qFAAqF;IACrF,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;AAGD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9B;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/D"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * The client-base extractor for Kotlin — DEC-164's contract.
3
+ *
4
+ * Ktor's client has a real base. `defaultRequest { url(API_V1_BASE) }` holds it
5
+ * on the `HttpClient`, and a later `client.get("orders/$id")` resolves against
6
+ * it at run time. So this binding takes C#'s and Java's shape — base on the
7
+ * client object, relative path at the call site — and not the spliced shape
8
+ * `adapter-go`, `adapter-rust` and `adapter-swift` had to use.
9
+ *
10
+ * `client.ts` already refused exactly this call: "an HTTP call whose path is
11
+ * not repository-relative, so no route on this side of the join serves it."
12
+ * True while the base was invisible, and wrong about the call the moment it is
13
+ * not. This is that base, read.
14
+ *
15
+ * ## Three states, and where each one comes from
16
+ *
17
+ * A client whose construction this reader can see and which sets a base earns
18
+ * `resolved` (a string literal, or a `const val` in the same file) or
19
+ * `unresolved` (anything else — `System.getenv`, a config read, an injected
20
+ * value). A client constructed with no base at all — `HttpClient()` — earns
21
+ * `none`, a positive statement. A receiver whose construction this reader
22
+ * never saw earns DEC-164's fourth state, the field's own absence: the reader
23
+ * did not determine a base, which is not the same claim as there being none.
24
+ *
25
+ * ## The trailing slash is load-bearing, and the composition is why
26
+ *
27
+ * Ktor resolves `url(base)` by RFC 3986, so the fixture's base ends in `/`.
28
+ * `prefixOfBaseLiteral` trims it and the call's own relative path is joined
29
+ * under a single separator, so `https://h/api/v1/` + `orders/{param}` is
30
+ * `/api/v1/orders/{param}` however the two were spelled.
31
+ *
32
+ * ## The origin rule, and why it is evidence rather than a guess
33
+ *
34
+ * An absolute URL written at a call site is refused as out-of-scope
35
+ * (DEC-113/DEC-014), because the origin usually names a host this repository
36
+ * does not serve and an endpoint is host-free. That stays, with the one
37
+ * exception `adapter-typescript` and `adapter-python` already adopted: **an
38
+ * origin some base in this same file resolves to is an origin this program
39
+ * treats as its own API.** With no absolute base anywhere the origin set is
40
+ * empty and the rule never fires.
41
+ *
42
+ * The constant table and the origin set are both per FILE — a `const val` in
43
+ * a sibling file stays unresolved, a disclosed recall gap and never a
44
+ * precision one (rule 2).
45
+ */
46
+ const ABSOLUTE = /^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^/?#]*)(\/[^?#]*)?/;
47
+ /**
48
+ * DEC-097: the origin — scheme, host, port — is removed and the path prefix
49
+ * kept. `undefined` when the value is not an absolute URI this reader can
50
+ * split, which is refused rather than guessed at.
51
+ *
52
+ * Shared verbatim with every other adapter that reads a base so they cannot
53
+ * drift; another spelling of this split is how a host reaches an id.
54
+ */
55
+ export function pathPrefixOf(uri) {
56
+ const match = ABSOLUTE.exec(uri.trim());
57
+ if (match === null)
58
+ return undefined;
59
+ const path = match[2] ?? "";
60
+ return path === "/" ? "" : path.replace(/\/+$/, "");
61
+ }
62
+ /** The scheme/host/port of an absolute URI, or `undefined` when it is not one. */
63
+ export function originOf(uri) {
64
+ const match = ABSOLUTE.exec(uri.trim());
65
+ return match === null ? undefined : match[1];
66
+ }
67
+ /**
68
+ * The prefix a base literal contributes, or `undefined` when it contributes
69
+ * none this reader can state.
70
+ *
71
+ * Two shapes resolve: an absolute URI, whose origin is discarded, and a
72
+ * repository-relative path, which is already what it composes to. Anything
73
+ * else — `"api/v1"`, with neither an origin to strip nor a leading slash to
74
+ * anchor it — makes no claim.
75
+ */
76
+ export function prefixOfBaseLiteral(value) {
77
+ if (value.startsWith("/"))
78
+ return value.length > 1 ? value.replace(/\/+$/, "") : "";
79
+ return pathPrefixOf(value);
80
+ }
81
+ /**
82
+ * Resolve a base site against the compilation unit's own `const val` string constants.
83
+ *
84
+ * `undefined` is never returned — a site exists precisely because the
85
+ * declaration was read, so one of the three states always applies.
86
+ */
87
+ export function resolveBaseSite(site, constants) {
88
+ if (site.kind === "none")
89
+ return { base: { state: "none" } };
90
+ const value = site.literal ?? (site.name === undefined ? undefined : constants.get(site.name));
91
+ if (value === undefined) {
92
+ return { base: { state: "unresolved", why: site.text.slice(0, 120) } };
93
+ }
94
+ const prefix = prefixOfBaseLiteral(value);
95
+ // A literal that is neither absolute nor repository-relative — `"api/v1"`.
96
+ // Nothing to strip and nothing to anchor it to, so no claim is made.
97
+ if (prefix === undefined)
98
+ return { base: { state: "unresolved", why: value.slice(0, 120) } };
99
+ const origin = originOf(value);
100
+ return { base: { state: "resolved", path: prefix }, ...(origin === undefined ? {} : { origin }) };
101
+ }
102
+ //# sourceMappingURL=client-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-base.js","sourceRoot":"","sources":["../src/client-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAuBH,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;AAuBD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAoB,EACpB,SAAsC;IAEtC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;IAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IACzE,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,2EAA2E;IAC3E,qEAAqE;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACpG,CAAC"}
package/dist/client.d.ts CHANGED
@@ -41,6 +41,10 @@
41
41
  */
42
42
  import type { Node } from "@descryy/adapter-treesitter";
43
43
  import type { KotlinImport } from "./parse.ts";
44
+ import { type ClientBaseResult } from "./client-base.ts";
45
+ export type { ClientBaseResult };
46
+ /** The origin set before any base has been read. Named so a caller cannot pass `new Set()` by accident and mean something else. */
47
+ export declare const NO_KNOWN_ORIGINS: ReadonlySet<string>;
44
48
  export interface KotlinClientCall {
45
49
  readonly method: string;
46
50
  /** The path with every interpolation collapsed to `{param}`. */
@@ -50,6 +54,14 @@ export interface KotlinClientCall {
50
54
  /** `client.get` — what the call site wrote. */
51
55
  readonly client: string;
52
56
  readonly line: number;
57
+ /**
58
+ * DEC-164's contract — see `client-base.ts`. `undefined` is the fourth
59
+ * state: this reader never saw the receiver's construction, so it did not
60
+ * determine a base, which is not the same claim as there being none.
61
+ */
62
+ readonly clientBase?: ClientBaseResult;
63
+ /** The origin a *resolved* base was written at, before DEC-097 stripped it. Never folded back into `path`. */
64
+ readonly baseOrigin?: string;
53
65
  }
54
66
  export interface KotlinClientRefusal {
55
67
  readonly rawTarget: string;
@@ -64,6 +76,14 @@ export interface KotlinClientRefusal {
64
76
  * Present only on the generic fallthrough of `diagnoseArgument`.
65
77
  */
66
78
  readonly argumentKind?: "field" | "call" | "concatenation" | "other";
79
+ /** DEC-164's state, when this reader reached one. See `client-base.ts`. */
80
+ readonly clientBase?: ClientBaseResult;
81
+ /**
82
+ * The call's OWN path, with the unreadable base left off — golden 08b's
83
+ * requirement that a refusal name both halves. Without it the row says a
84
+ * base was unreadable and cannot say which call site it belonged to.
85
+ */
86
+ readonly callPath?: string;
67
87
  }
68
88
  export type BaseRefusalClass = "value-unknown" | "varies-per-call" | "capability-gap";
69
89
  export interface KotlinClientCalls {
@@ -71,5 +91,7 @@ export interface KotlinClientCalls {
71
91
  readonly refusals: readonly KotlinClientRefusal[];
72
92
  }
73
93
  /** Every HTTP call written in one file, and every one refused. */
74
- export declare function readKtorClientCalls(root: Node, imports: readonly KotlinImport[]): KotlinClientCalls;
94
+ export declare function readKtorClientCalls(root: Node, imports: readonly KotlinImport[],
95
+ /** Origins some base in this same file already resolves to — see `client-base.ts`'s header. */
96
+ knownOrigins?: ReadonlySet<string>): KotlinClientCalls;
75
97
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB/C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAAC;IACrE;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC;CACtE;AAYD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AA0CtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACnD;AAuKD,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,iBAAiB,CA8EnG"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAIL,KAAK,gBAAgB,EAEtB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,mIAAmI;AACnI,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAa,CAAC;AAkB/D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC,8GAA8G;IAC9G,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAAC;IACrE;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC;IACrE,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAYD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AA0CtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACnD;AAsRD,kEAAkE;AAClE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,YAAY,EAAE;AAChC,+FAA+F;AAC/F,YAAY,GAAE,WAAW,CAAC,MAAM,CAAoB,GACnD,iBAAiB,CAsKnB"}