@descryy/adapter-java 0.3.3 → 0.4.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;;;;;;;;;GASG;AAOH,OAAO,EAML,KAAK,eAAe,EAGpB,KAAK,eAAe,EAKrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAyB,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAItG,OAAO,EAA4B,QAAQ,EAAmB,MAAM,cAAc,CAAC;AAGnF,eAAO,MAAM,UAAU,iBAAiB,CAAC;AACzC;;;;;;kCAMkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAErB,CAAC;AACV,eAAO,MAAM,kBAAkB,wBAAyB,CAAC;AAsCzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAYD,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,CAgO/E;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EAML,KAAK,eAAe,EAGpB,KAAK,eAAe,EAKrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAyB,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAItG,OAAO,EAA0C,QAAQ,EAAmB,MAAM,cAAc,CAAC;AAIjG,eAAO,MAAM,UAAU,iBAAiB,CAAC;AACzC;;;;;;kCAMkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAErB,CAAC;AACV,eAAO,MAAM,kBAAkB,wBAAyB,CAAC;AAsCzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAcD,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,CA0P/E;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
package/dist/adapter.js CHANGED
@@ -16,7 +16,8 @@ import { CLIENT_CALL_EXTRACTOR, ORM_EXTRACTOR, ROUTE_EXTRACTOR, ROUTE_HANDLER_EX
16
16
  import { discover, isolateFile, toRepoRelative } from "@descryy/adapter-common";
17
17
  import { parserFor, parseText } from "@descryy/adapter-treesitter";
18
18
  import { readUnit } from "./parse.js";
19
- import { extract, DEFAULT_PACKAGE, LANGUAGE } from "./extract.js";
19
+ import { extract, readEntities, DEFAULT_PACKAGE, LANGUAGE } from "./extract.js";
20
+ import { reachedFor, shapeReach } from "./shape-reach.js";
20
21
  import { anchorOf, identityPackage, sourceRootOf } from "./roots.js";
21
22
  export const ADAPTER_ID = "adapter-java";
22
23
  /** The installed package's own declared version — read directly from this
@@ -64,7 +65,14 @@ function isBuildOutput(file) {
64
65
  }
65
66
  export function createJavaAdapter(options = {}) {
66
67
  const globs = options.globs ?? DEFAULT_JAVA_GLOBS;
67
- const ceiling = options.maxResolution ?? 2;
68
+ /**
69
+ * The highest level this adapter can reach, not the level a given run does.
70
+ * 3 because `extract.ts` genuinely mints a mapped field shape there from a
71
+ * declared JPA mapping (DEC-202's ground, no type checker); what a run
72
+ * actually reached is `prepare()`'s return, which `shape-reach.ts` measures
73
+ * per repository instead of echoing this number back.
74
+ */
75
+ const ceiling = options.maxResolution ?? 3;
68
76
  let session;
69
77
  let parser;
70
78
  let nestedCheckouts = [];
@@ -106,6 +114,13 @@ export function createJavaAdapter(options = {}) {
106
114
  },
107
115
  capabilities() {
108
116
  return {
117
+ /**
118
+ * The maximum, declared before any repository is read and therefore
119
+ * never a measurement. R3 is honest as a maximum because a JPA mapping
120
+ * *declares* a shape — see `shape-reach.ts` for what is and is not R3
121
+ * here, and why no `DATABASE_TABLE` is minted from it. A repository
122
+ * with no entity in it runs at R2 and says so in `reachedResolution`.
123
+ */
109
124
  maxResolution: ceiling,
110
125
  /**
111
126
  * `API_ROUTE`/`API_ENDPOINT`/`MODEL` are claimed: Spring and JPA extractors
@@ -157,7 +172,11 @@ export function createJavaAdapter(options = {}) {
157
172
  // materially different framework, reachable without Spring at all.
158
173
  // `spring-data-mongodb` names `jpa.ts`'s `@Document` admission, since
159
174
  // the field/nullability machinery is shared verbatim with JPA.
160
- frameworkExtractors: ["spring", "jaxrs", "jpa", "spring-data-mongodb", "client-call-extractor"],
175
+ // Frameworks only, by their own names. `client-call-extractor` was listed
176
+ // here too and is a capability, not a framework — it names what the client
177
+ // reader supplies, already stated correctly in `frameworkCapabilities`
178
+ // below. Listing it twice claimed five bound extractors where four exist.
179
+ frameworkExtractors: ["spring", "jaxrs", "jpa", "spring-data-mongodb"],
161
180
  frameworkCapabilities: [ROUTE_EXTRACTOR, ORM_EXTRACTOR, CLIENT_CALL_EXTRACTOR, ROUTE_HANDLER_EXTRACTOR],
162
181
  };
163
182
  },
@@ -212,10 +231,15 @@ export function createJavaAdapter(options = {}) {
212
231
  });
213
232
  outcome.tree.delete();
214
233
  }
215
- // Every level here rests on the same parse — imports are in the source,
216
- // so there's no rung between 0 and the ceiling to fall back to.
217
- const reached = units.length === 0 ? 0 : ceiling;
218
- session = { root: ctx.root, files, units, reached, failures, unfinished };
234
+ // Not `units.length === 0 ? 0 : ceiling`. A flat ceiling published the
235
+ // same number for every repository that parsed at all — and with the
236
+ // ceiling now 3, it would publish R3 for one containing no mapped
237
+ // entity anywhere, where the highest level any fact in the same batch
238
+ // carries is 2. `shape-reach.ts` holds the reasoning; the rule is that
239
+ // the run publishes the level some fact in it actually carries.
240
+ const reach = units.length === 0 ? undefined : shapeReach(readEntities(units));
241
+ const reached = reachedFor(ceiling, units.length > 0, reach);
242
+ session = { root: ctx.root, files, units, reached, reach, failures, unfinished };
219
243
  return reached;
220
244
  },
221
245
  async parseFiles(files) {
@@ -269,6 +293,9 @@ export function createJavaAdapter(options = {}) {
269
293
  producedBy: PRODUCED_BY,
270
294
  reached: active.reached,
271
295
  units: active.units,
296
+ // Already read in `prepare()`, to decide `reached` — handed on rather
297
+ // than resolved again, so deciding the level costs nothing.
298
+ ...(active.reach === undefined ? {} : { entities: active.reach.entities }),
272
299
  });
273
300
  }
274
301
  }
@@ -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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"}
package/dist/extract.d.ts CHANGED
@@ -20,6 +20,7 @@
20
20
  */
21
21
  import { type IdentityScope, type IREdge, type IRNode, type ResolutionLevel, type UnresolvedRef } from "@descryy/ir";
22
22
  import type { JavaUnit } from "./parse.ts";
23
+ import { type JpaModel } from "./jpa.ts";
23
24
  export declare const LANGUAGE = "java";
24
25
  /** A compilation unit with no `package` declaration. Not a legal package name,
25
26
  * so it cannot collide with one. */
@@ -30,7 +31,30 @@ export interface ExtractInput {
30
31
  readonly producedBy: string;
31
32
  readonly reached: ResolutionLevel;
32
33
  readonly units: readonly JavaUnit[];
34
+ /**
35
+ * The JPA entity map, when the caller already has it. `prepare()` reads it
36
+ * to decide the run's resolution level (`shape-reach.ts`), one step before
37
+ * `extract()` needs it to decide `MODEL` vs `CLASS` — handed on so deciding
38
+ * the level costs nothing. Omitted, it is read here.
39
+ */
40
+ readonly entities?: ReadonlyMap<string, JpaModel>;
33
41
  }
42
+ /**
43
+ * Every declared type, indexed before any node id exists, then every JPA
44
+ * entity resolved against that index.
45
+ *
46
+ * A `MODEL` is a `CLASS` by another name only after the entity decision, and
47
+ * the id hashes the kind (DEC-004) — so the kind must be settled before
48
+ * minting, but settling it needs `@MappedSuperclass` resolution *across*
49
+ * compilation units. Hence a second index, without ids: the alternative,
50
+ * minting a `CLASS` then rewriting its id, is exactly what DEC-004 forbids.
51
+ *
52
+ * Keyed by `identityPackage::fqn`, not `fqn` alone — a fqn isn't unique across
53
+ * source sets (airbyte declares `...RedisDataFactory` twice in two that never
54
+ * share a classpath), and keying on fqn alone would let an `@Entity` in one
55
+ * source set turn its namesake in another into a MODEL it never was.
56
+ */
57
+ export declare function readEntities(units: readonly JavaUnit[]): ReadonlyMap<string, JpaModel>;
34
58
  export interface Extraction {
35
59
  readonly nodes: readonly IRNode[];
36
60
  readonly edges: readonly IREdge[];
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAiC,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK1E,eAAO,MAAM,QAAQ,SAAS,CAAC;AAK/B;qCACqC;AACrC,eAAO,MAAM,eAAe,cAAc,CAAC;AAyC3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AA6ID,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,CAqsBvD"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAiC,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKpD,eAAO,MAAM,QAAQ,SAAS,CAAC;AAK/B;qCACqC;AACrC,eAAO,MAAM,eAAe,cAAc,CAAC;AAyC3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACnD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CA6BtF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AA6ID,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,CAqrBvD"}
package/dist/extract.js CHANGED
@@ -20,6 +20,7 @@
20
20
  */
21
21
  import { edgeId, endpointQsp, nodeId, normaliseEndpointPath, symbolQsp, testCaseQsp, } from "@descryy/ir";
22
22
  import { jpaModels } from "./jpa.js";
23
+ import { SHAPE_LEVEL } from "./shape-reach.js";
23
24
  import { jaxrsRoutes, springRoutes } from "./spring.js";
24
25
  import { clientCalls, endpointFor } from "./client.js";
25
26
  export const LANGUAGE = "java";
@@ -57,6 +58,53 @@ const REASONS = {
57
58
  "run's analysed set — most often inherited from a supertype or interface this run did not " +
58
59
  "read, rather than declared directly on the controller.",
59
60
  };
61
+ /**
62
+ * Every declared type, indexed before any node id exists, then every JPA
63
+ * entity resolved against that index.
64
+ *
65
+ * A `MODEL` is a `CLASS` by another name only after the entity decision, and
66
+ * the id hashes the kind (DEC-004) — so the kind must be settled before
67
+ * minting, but settling it needs `@MappedSuperclass` resolution *across*
68
+ * compilation units. Hence a second index, without ids: the alternative,
69
+ * minting a `CLASS` then rewriting its id, is exactly what DEC-004 forbids.
70
+ *
71
+ * Keyed by `identityPackage::fqn`, not `fqn` alone — a fqn isn't unique across
72
+ * source sets (airbyte declares `...RedisDataFactory` twice in two that never
73
+ * share a classpath), and keying on fqn alone would let an `@Entity` in one
74
+ * source set turn its namesake in another into a MODEL it never was.
75
+ */
76
+ export function readEntities(units) {
77
+ const typesByFqn = new Map();
78
+ for (const unit of units) {
79
+ for (const type of unit.types) {
80
+ const bucket = typesByFqn.get(type.fqn);
81
+ if (bucket === undefined)
82
+ typesByFqn.set(type.fqn, [{ type, unit }]);
83
+ else
84
+ bucket.push({ type, unit });
85
+ }
86
+ }
87
+ /** A supertype name as written, resolved to its declaration. Same rules as edges. */
88
+ const resolveSuper = (unit, written) => {
89
+ for (const scope of scopesFor(typesByFqn, unit, written)) {
90
+ const found = pick(unit, scope.candidates);
91
+ if ("declared" in found)
92
+ return found.declared;
93
+ // Ambiguous supertype refused rather than guessed — two candidates means
94
+ // two different tables, and picking one puts real columns on the wrong one.
95
+ if (scope.decides)
96
+ return undefined;
97
+ }
98
+ return undefined;
99
+ };
100
+ const entitiesByType = new Map();
101
+ for (const unit of units) {
102
+ for (const model of jpaModels(unit, resolveSuper)) {
103
+ entitiesByType.set(`${unit.identityPackage}::${model.fqn}`, model);
104
+ }
105
+ }
106
+ return entitiesByType;
107
+ }
60
108
  /**
61
109
  * The qualified symbol path for a Java symbol.
62
110
  *
@@ -232,51 +280,10 @@ export function extract(input) {
232
280
  const moduleIdOf = new Map();
233
281
  /** Simple name -> every analysed fully-qualified name that ends with it. */
234
282
  const bySimpleName = new Map();
235
- /**
236
- * Every declared type, indexed before any node id exists. A JPA entity is a
237
- * `MODEL` not a `CLASS`, and the id hashes the kind (DEC-004) — so the kind
238
- * must be settled before minting, but that needs `@MappedSuperclass`
239
- * resolution across compilation units, which needs an index `byFqn` can't
240
- * be (it holds ids). So types are indexed twice: once without ids for the
241
- * entity decision, once with them for edges — the alternative, minting then
242
- * rewriting a `CLASS` id, is exactly what DEC-004 forbids.
243
- */
244
- const typesByFqn = new Map();
245
- for (const unit of input.units) {
246
- for (const type of unit.types) {
247
- const bucket = typesByFqn.get(type.fqn);
248
- if (bucket === undefined)
249
- typesByFqn.set(type.fqn, [{ type, unit }]);
250
- else
251
- bucket.push({ type, unit });
252
- }
253
- }
254
- /** A supertype name as written, resolved to its declaration. Same rules as edges. */
255
- const resolveSuper = (unit, written) => {
256
- for (const scope of scopesFor(typesByFqn, unit, written)) {
257
- const found = pick(unit, scope.candidates);
258
- if ("declared" in found)
259
- return found.declared;
260
- // Ambiguous supertype refused rather than guessed — two candidates means
261
- // two different tables, and picking one puts real columns on the wrong one.
262
- if (scope.decides)
263
- return undefined;
264
- }
265
- return undefined;
266
- };
267
- /**
268
- * The entity map for the whole batch, resolved once before any id is minted.
269
- * Keyed by `identityPackage::fqn`, not `fqn` alone — a fqn isn't unique
270
- * across source sets (the same airbyte duplicate `byFqn` records), and
271
- * keying on fqn alone would let an `@Entity` in one source set turn its
272
- * namesake in another into a MODEL it never was.
273
- */
274
- const entitiesByType = new Map();
275
- for (const unit of input.units) {
276
- for (const model of jpaModels(unit, resolveSuper)) {
277
- entitiesByType.set(`${unit.identityPackage}::${model.fqn}`, model);
278
- }
279
- }
283
+ // Resolved once before any id is minted. `prepare()` needs the same map one
284
+ // step earlier — it decides the run's resolution level from it — so it is
285
+ // read there and handed on here rather than computed twice (`shape-reach.ts`).
286
+ const entitiesByType = input.entities ?? readEntities(input.units);
280
287
  for (const unit of input.units) {
281
288
  const pkg = unit.identityPackage;
282
289
  // Named by its *primary* type, which Java requires to match the file name
@@ -330,6 +337,19 @@ export function extract(input) {
330
337
  else
331
338
  bucket.push(type.fqn);
332
339
  const attrs = { declarationForm: type.kind };
340
+ /**
341
+ * The level this node's strongest fact carries, which for a mapped
342
+ * entity is its shape and for everything else is nothing above R0.
343
+ *
344
+ * A `MODEL` bundles two different claims — *this class is persisted*
345
+ * (one annotation, read at R0/R1) and *this is its mapped shape* (the
346
+ * column-by-column read below) — and only the second is R3-grade. So
347
+ * the shape's level is also stated separately in `attrs.shapeResolution`,
348
+ * DEC-058's carrier, which `descry-core`'s contract engine already
349
+ * reads: a consumer comparing shapes gets the shape's evidence, not the
350
+ * node's weakest.
351
+ */
352
+ let level = 0;
333
353
  if (model !== undefined) {
334
354
  attrs["orm"] = "jpa";
335
355
  if (model.table !== null)
@@ -338,8 +358,17 @@ export function extract(input) {
338
358
  // declaration the framework enforces, not an inference, so its
339
359
  // resolution is the evidence's rather than the run's (DEC-058), same
340
360
  // as adapter-python's SQLAlchemy reasoning.
341
- if (model.fields.length > 0)
361
+ if (model.fields.length > 0) {
342
362
  attrs["fields"] = model.fields;
363
+ // Never above what the run reached: a caller that capped this
364
+ // adapter at R2 gets the same shape one level down, and the
365
+ // Normaliser rejects a node claiming more than its batch.
366
+ level = Math.min(SHAPE_LEVEL, input.reached);
367
+ attrs["shapeResolution"] = level;
368
+ }
369
+ // A stated nullability this reader could not evaluate is listed, never
370
+ // guessed — and a model with nothing *but* those has had no shape read,
371
+ // so it earns no level here (`shape-reach.ts` counts the same thing).
343
372
  if (model.undecided.length > 0)
344
373
  attrs["undecidedNullability"] = model.undecided;
345
374
  }
@@ -351,7 +380,7 @@ export function extract(input) {
351
380
  range: { startLine: type.startLine, endLine: type.endLine },
352
381
  language: LANGUAGE,
353
382
  producedBy: input.producedBy,
354
- resolution: 0,
383
+ resolution: level,
355
384
  attrs,
356
385
  });
357
386
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Which resolution level this repository actually gets Java to.
3
+ *
4
+ * The defect this exists to fix is `adapter-php`'s, one language over:
5
+ * `prepare()` returned a flat `options.maxResolution ?? 2` whenever a single
6
+ * file parsed, so the run published one number for every repository
7
+ * regardless of what was in it. Java's version of that was an *under*claim
8
+ * rather than an over-claim — `jpa.ts` has read column nullability since
9
+ * DEC-127, through a five-step precedence chain, and the level that evidence
10
+ * earns was thrown away. Golden pattern 06 (`requiredAtResolution: 3`) has
11
+ * reported **N/R** for Java rather than SKIP ever since: not "this adapter
12
+ * cannot read ORM nullability", but "this adapter reads it and declares a
13
+ * ceiling below the rung that grades it".
14
+ *
15
+ * ## What is R3 here, and what is not
16
+ *
17
+ * R3 is "+ type checker (shapes)", and **no type checker runs here.** The
18
+ * precedent that makes this honest anyway is DEC-202, already in force for
19
+ * `adapter-php` and for `adapter-sql` (which reaches R3 with no language
20
+ * adapter at all): *a declared schema is R3-grade because the declaration
21
+ * states the shape rather than inferring it.* A JPA mapping is exactly that
22
+ * — `@Entity` admits the class, `@Column(nullable = …)`, `@Id`, `@NotNull`,
23
+ * the primitive/boxed distinction and JPA's own documented default decide
24
+ * each column, and Hibernate enforces the result. Nothing is guessed and
25
+ * nothing is resolved by a checker, in either language.
26
+ *
27
+ * **Exactly one fact kind in this package reaches 3**: the mapped field shape
28
+ * on a `MODEL` (`extract.ts`, the only `SHAPE_LEVEL` there). Routes, calls,
29
+ * type references, inheritance and test coverage all push at 2 or below and
30
+ * are unaffected. If a second fact kind ever earns R3, it is added here in
31
+ * the same commit that earns it — never inferred from the fact that some
32
+ * extractor exists.
33
+ *
34
+ * ## Why a count of shapes and not a density
35
+ *
36
+ * `adapter-python` gates its R3 on measured *annotation density*, because
37
+ * Python's R3 comes from annotations spread across ordinary code and "enough
38
+ * of them" is a real question with a distribution behind it. Java's R3 comes
39
+ * from a mapping that is either declared or is not, so there is no density to
40
+ * measure and a threshold here would be a number with nothing under it — the
41
+ * same reasoning `adapter-php`'s `shape-reach.ts` records for the same split.
42
+ *
43
+ * ## What this does NOT do
44
+ *
45
+ * It does not mint `DATABASE_TABLE`/`DATABASE_COLUMN`. Measured on the
46
+ * conformance corpus: the entity declares `discountCode` and the migration
47
+ * declares `discount_code`, because the physical column name is decided by a
48
+ * *configurable* naming strategy (Spring Boot's `SpringPhysicalNamingStrategy`
49
+ * camel-to-snake, plain Hibernate's implicit strategy as-written) that no
50
+ * source file states. Minting from the class would mint ids that do not join
51
+ * with `adapter-sql`'s for the same table — the exact non-join
52
+ * `databaseTableNodesFromModel` exists to prevent (DEC-240). Precision over
53
+ * recall: the shape is claimed, the physical schema is not.
54
+ */
55
+ import type { ResolutionLevel } from "@descryy/ir";
56
+ import type { JpaModel } from "./jpa.ts";
57
+ /**
58
+ * The one level `adapter-java` can reach that R2 machinery cannot supply, and
59
+ * the one place in this package that mints at it (`extract.ts`'s `MODEL`
60
+ * shape attrs).
61
+ */
62
+ export declare const SHAPE_LEVEL: ResolutionLevel;
63
+ export interface ShapeReach {
64
+ /** The entity map, handed on so the caller never pays for it twice. */
65
+ readonly entities: ReadonlyMap<string, JpaModel>;
66
+ /**
67
+ * Entities carrying at least one mapped column whose nullability this run
68
+ * actually decided — the exact condition `extract.ts` uses before writing
69
+ * `attrs.fields` (`model.fields.length > 0`), so this cannot drift into
70
+ * counting a shape that is never emitted. An entity whose every column
71
+ * landed in `undecided` is deliberately not one: a stated answer this
72
+ * reader failed to read is a disclosed refusal, not a shape.
73
+ */
74
+ readonly mappedShapes: number;
75
+ /** True when at least one fact in this repository genuinely rests on R3. */
76
+ readonly reachesShapes: boolean;
77
+ }
78
+ export declare function shapeReach(entities: ReadonlyMap<string, JpaModel>): ShapeReach;
79
+ /**
80
+ * The level to publish for a run: never above the caller's ceiling, never
81
+ * above what the repository supplied, and 0 when nothing parsed at all.
82
+ */
83
+ export declare function reachedFor(ceiling: ResolutionLevel, parsedAnything: boolean, reach: ShapeReach | undefined): ResolutionLevel;
84
+ //# sourceMappingURL=shape-reach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-reach.d.ts","sourceRoot":"","sources":["../src/shape-reach.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,eAAmB,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,UAAU,CAI9E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,eAAe,CAIjB"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Which resolution level this repository actually gets Java to.
3
+ *
4
+ * The defect this exists to fix is `adapter-php`'s, one language over:
5
+ * `prepare()` returned a flat `options.maxResolution ?? 2` whenever a single
6
+ * file parsed, so the run published one number for every repository
7
+ * regardless of what was in it. Java's version of that was an *under*claim
8
+ * rather than an over-claim — `jpa.ts` has read column nullability since
9
+ * DEC-127, through a five-step precedence chain, and the level that evidence
10
+ * earns was thrown away. Golden pattern 06 (`requiredAtResolution: 3`) has
11
+ * reported **N/R** for Java rather than SKIP ever since: not "this adapter
12
+ * cannot read ORM nullability", but "this adapter reads it and declares a
13
+ * ceiling below the rung that grades it".
14
+ *
15
+ * ## What is R3 here, and what is not
16
+ *
17
+ * R3 is "+ type checker (shapes)", and **no type checker runs here.** The
18
+ * precedent that makes this honest anyway is DEC-202, already in force for
19
+ * `adapter-php` and for `adapter-sql` (which reaches R3 with no language
20
+ * adapter at all): *a declared schema is R3-grade because the declaration
21
+ * states the shape rather than inferring it.* A JPA mapping is exactly that
22
+ * — `@Entity` admits the class, `@Column(nullable = …)`, `@Id`, `@NotNull`,
23
+ * the primitive/boxed distinction and JPA's own documented default decide
24
+ * each column, and Hibernate enforces the result. Nothing is guessed and
25
+ * nothing is resolved by a checker, in either language.
26
+ *
27
+ * **Exactly one fact kind in this package reaches 3**: the mapped field shape
28
+ * on a `MODEL` (`extract.ts`, the only `SHAPE_LEVEL` there). Routes, calls,
29
+ * type references, inheritance and test coverage all push at 2 or below and
30
+ * are unaffected. If a second fact kind ever earns R3, it is added here in
31
+ * the same commit that earns it — never inferred from the fact that some
32
+ * extractor exists.
33
+ *
34
+ * ## Why a count of shapes and not a density
35
+ *
36
+ * `adapter-python` gates its R3 on measured *annotation density*, because
37
+ * Python's R3 comes from annotations spread across ordinary code and "enough
38
+ * of them" is a real question with a distribution behind it. Java's R3 comes
39
+ * from a mapping that is either declared or is not, so there is no density to
40
+ * measure and a threshold here would be a number with nothing under it — the
41
+ * same reasoning `adapter-php`'s `shape-reach.ts` records for the same split.
42
+ *
43
+ * ## What this does NOT do
44
+ *
45
+ * It does not mint `DATABASE_TABLE`/`DATABASE_COLUMN`. Measured on the
46
+ * conformance corpus: the entity declares `discountCode` and the migration
47
+ * declares `discount_code`, because the physical column name is decided by a
48
+ * *configurable* naming strategy (Spring Boot's `SpringPhysicalNamingStrategy`
49
+ * camel-to-snake, plain Hibernate's implicit strategy as-written) that no
50
+ * source file states. Minting from the class would mint ids that do not join
51
+ * with `adapter-sql`'s for the same table — the exact non-join
52
+ * `databaseTableNodesFromModel` exists to prevent (DEC-240). Precision over
53
+ * recall: the shape is claimed, the physical schema is not.
54
+ */
55
+ /**
56
+ * The one level `adapter-java` can reach that R2 machinery cannot supply, and
57
+ * the one place in this package that mints at it (`extract.ts`'s `MODEL`
58
+ * shape attrs).
59
+ */
60
+ export const SHAPE_LEVEL = 3;
61
+ export function shapeReach(entities) {
62
+ let mappedShapes = 0;
63
+ for (const model of entities.values())
64
+ if (model.fields.length > 0)
65
+ mappedShapes += 1;
66
+ return { entities, mappedShapes, reachesShapes: mappedShapes > 0 };
67
+ }
68
+ /**
69
+ * The level to publish for a run: never above the caller's ceiling, never
70
+ * above what the repository supplied, and 0 when nothing parsed at all.
71
+ */
72
+ export function reachedFor(ceiling, parsedAnything, reach) {
73
+ if (!parsedAnything)
74
+ return 0;
75
+ if (ceiling < SHAPE_LEVEL)
76
+ return ceiling;
77
+ return reach?.reachesShapes === true ? ceiling : Math.min(2, ceiling);
78
+ }
79
+ //# sourceMappingURL=shape-reach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-reach.js","sourceRoot":"","sources":["../src/shape-reach.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAMH;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,CAAC;AAkB9C,MAAM,UAAU,UAAU,CAAC,QAAuC;IAChE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE;QAAE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,YAAY,IAAI,CAAC,CAAC;IACtF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,GAAG,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,OAAwB,EACxB,cAAuB,EACvB,KAA6B;IAE7B,IAAI,CAAC,cAAc;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,OAAO,GAAG,WAAW;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAqB,CAAC;AAC7F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descryy/adapter-java",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "Java adapter, breadth tier. One grammar and one query set over the shared tree-sitter harness — no JDT, no SCIP, no Spring. Reaches R1 on explicit imports, which is further than a breadth adapter reaches in most languages.",
6
6
  "license": "UNLICENSED",
@@ -37,9 +37,9 @@
37
37
  "@descryy/adapter-common": "0.2.0",
38
38
  "@descryy/adapter-jvm": "0.1.0",
39
39
  "@descryy/adapter-treesitter": "0.2.0",
40
- "@descryy/ir": "0.6.3",
40
+ "@descryy/ir": "0.7.0",
41
41
  "tree-sitter-java": "0.23.5",
42
- "@descryy/adapter-sql": "0.3.3",
43
- "@descryy/adapter-openapi": "0.3.3"
42
+ "@descryy/adapter-sql": "0.4.0",
43
+ "@descryy/adapter-openapi": "0.4.0"
44
44
  }
45
45
  }