@metaobjectsdev/cli 1.0.2 → 1.0.4-rc.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.
Files changed (115) hide show
  1. package/README.md +13 -5
  2. package/dist/src/commands/deps.d.ts +3 -0
  3. package/dist/src/commands/deps.d.ts.map +1 -0
  4. package/dist/src/commands/deps.js +200 -0
  5. package/dist/src/commands/deps.js.map +1 -0
  6. package/dist/src/commands/docs.d.ts.map +1 -1
  7. package/dist/src/commands/docs.js +19 -3
  8. package/dist/src/commands/docs.js.map +1 -1
  9. package/dist/src/commands/eject.d.ts +2 -1
  10. package/dist/src/commands/eject.d.ts.map +1 -1
  11. package/dist/src/commands/eject.js +235 -75
  12. package/dist/src/commands/eject.js.map +1 -1
  13. package/dist/src/commands/gen.d.ts.map +1 -1
  14. package/dist/src/commands/gen.js +173 -30
  15. package/dist/src/commands/gen.js.map +1 -1
  16. package/dist/src/commands/init.d.ts +5 -9
  17. package/dist/src/commands/init.d.ts.map +1 -1
  18. package/dist/src/commands/init.js +92 -402
  19. package/dist/src/commands/init.js.map +1 -1
  20. package/dist/src/commands/migrate.d.ts.map +1 -1
  21. package/dist/src/commands/migrate.js +24 -19
  22. package/dist/src/commands/migrate.js.map +1 -1
  23. package/dist/src/commands/prompt-snapshot.d.ts.map +1 -1
  24. package/dist/src/commands/prompt-snapshot.js +2 -1
  25. package/dist/src/commands/prompt-snapshot.js.map +1 -1
  26. package/dist/src/commands/verify.d.ts.map +1 -1
  27. package/dist/src/commands/verify.js +186 -29
  28. package/dist/src/commands/verify.js.map +1 -1
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +97 -15
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/lib/advisory.d.ts +6 -0
  33. package/dist/src/lib/advisory.d.ts.map +1 -1
  34. package/dist/src/lib/advisory.js +10 -0
  35. package/dist/src/lib/advisory.js.map +1 -1
  36. package/dist/src/lib/agent-context-staleness.d.ts.map +1 -1
  37. package/dist/src/lib/agent-context-staleness.js +7 -1
  38. package/dist/src/lib/agent-context-staleness.js.map +1 -1
  39. package/dist/src/lib/args.d.ts +75 -3
  40. package/dist/src/lib/args.d.ts.map +1 -1
  41. package/dist/src/lib/args.js +54 -5
  42. package/dist/src/lib/args.js.map +1 -1
  43. package/dist/src/lib/catalog-listing.d.ts +92 -0
  44. package/dist/src/lib/catalog-listing.d.ts.map +1 -0
  45. package/dist/src/lib/catalog-listing.js +268 -0
  46. package/dist/src/lib/catalog-listing.js.map +1 -0
  47. package/dist/src/lib/catalog.d.ts +41 -0
  48. package/dist/src/lib/catalog.d.ts.map +1 -0
  49. package/dist/src/lib/catalog.js +89 -0
  50. package/dist/src/lib/catalog.js.map +1 -0
  51. package/dist/src/lib/collection-load-options.d.ts +13 -0
  52. package/dist/src/lib/collection-load-options.d.ts.map +1 -0
  53. package/dist/src/lib/collection-load-options.js +25 -0
  54. package/dist/src/lib/collection-load-options.js.map +1 -0
  55. package/dist/src/lib/dependency-sync.d.ts +170 -0
  56. package/dist/src/lib/dependency-sync.d.ts.map +1 -0
  57. package/dist/src/lib/dependency-sync.js +457 -0
  58. package/dist/src/lib/dependency-sync.js.map +1 -0
  59. package/dist/src/lib/install-set.d.ts +31 -0
  60. package/dist/src/lib/install-set.d.ts.map +1 -0
  61. package/dist/src/lib/install-set.js +103 -0
  62. package/dist/src/lib/install-set.js.map +1 -0
  63. package/dist/src/lib/library-eject.d.ts +79 -0
  64. package/dist/src/lib/library-eject.d.ts.map +1 -0
  65. package/dist/src/lib/library-eject.js +241 -0
  66. package/dist/src/lib/library-eject.js.map +1 -0
  67. package/dist/src/lib/library-listing.d.ts +63 -0
  68. package/dist/src/lib/library-listing.d.ts.map +1 -0
  69. package/dist/src/lib/library-listing.js +178 -0
  70. package/dist/src/lib/library-listing.js.map +1 -0
  71. package/dist/src/lib/library-prefix-advisory.d.ts +17 -0
  72. package/dist/src/lib/library-prefix-advisory.d.ts.map +1 -0
  73. package/dist/src/lib/library-prefix-advisory.js +67 -0
  74. package/dist/src/lib/library-prefix-advisory.js.map +1 -0
  75. package/dist/src/lib/load-metaobjects-config.d.ts +1 -2
  76. package/dist/src/lib/load-metaobjects-config.d.ts.map +1 -1
  77. package/dist/src/lib/load-metaobjects-config.js +11 -17
  78. package/dist/src/lib/load-metaobjects-config.js.map +1 -1
  79. package/dist/src/lib/migrate-scope.d.ts +32 -1
  80. package/dist/src/lib/migrate-scope.d.ts.map +1 -1
  81. package/dist/src/lib/migrate-scope.js +51 -3
  82. package/dist/src/lib/migrate-scope.js.map +1 -1
  83. package/dist/src/lib/overlay-lint.d.ts +37 -0
  84. package/dist/src/lib/overlay-lint.d.ts.map +1 -0
  85. package/dist/src/lib/overlay-lint.js +102 -0
  86. package/dist/src/lib/overlay-lint.js.map +1 -0
  87. package/dist/src/lib/requirement-check.d.ts +26 -3
  88. package/dist/src/lib/requirement-check.d.ts.map +1 -1
  89. package/dist/src/lib/requirement-check.js +71 -13
  90. package/dist/src/lib/requirement-check.js.map +1 -1
  91. package/package.json +10 -10
  92. package/src/commands/deps.ts +231 -0
  93. package/src/commands/docs.ts +19 -3
  94. package/src/commands/eject.ts +304 -90
  95. package/src/commands/gen.ts +189 -29
  96. package/src/commands/init.ts +95 -407
  97. package/src/commands/migrate.ts +26 -16
  98. package/src/commands/prompt-snapshot.ts +2 -1
  99. package/src/commands/verify.ts +213 -30
  100. package/src/index.ts +97 -15
  101. package/src/lib/advisory.ts +13 -0
  102. package/src/lib/agent-context-staleness.ts +7 -1
  103. package/src/lib/args.ts +118 -8
  104. package/src/lib/catalog-listing.ts +369 -0
  105. package/src/lib/catalog.ts +107 -0
  106. package/src/lib/collection-load-options.ts +42 -0
  107. package/src/lib/dependency-sync.ts +656 -0
  108. package/src/lib/install-set.ts +116 -0
  109. package/src/lib/library-eject.ts +298 -0
  110. package/src/lib/library-listing.ts +258 -0
  111. package/src/lib/library-prefix-advisory.ts +78 -0
  112. package/src/lib/load-metaobjects-config.ts +15 -21
  113. package/src/lib/migrate-scope.ts +59 -4
  114. package/src/lib/overlay-lint.ts +129 -0
  115. package/src/lib/requirement-check.ts +100 -14
@@ -0,0 +1,178 @@
1
+ // `meta gen --list` — the LIBRARY rows (FR-043 §4).
2
+ //
3
+ // It is the codegen catalog, with `kind: "library"` rows in the same table rather than
4
+ // a parallel one: one door, one namespace, one `--probe`, one skill procedure. An agent
5
+ // about to model "users and permissions" should meet `iam` in the list it was already
6
+ // reading, not in a second command it has to know exists.
7
+ //
8
+ // THE ROW DESCRIBES THE BOX; THE PROJECT BLOCK DESCRIBES YOUR SHELF. `provides` counts
9
+ // what the library ships across ALL its layers — what you would get if you took every
10
+ // layer — while `project.tablesAdded` counts what YOUR selection actually put into the
11
+ // model. Those are different numbers whenever an adopter takes the core layer alone,
12
+ // which Amendment 1 makes the common case: `libraries: ["iam"]` provides nine entities
13
+ // and adds zero tables.
14
+ //
15
+ // Every fact here is COMPUTED — from the manifest, or by loading the library and
16
+ // counting. Nothing is a second copy of a sentence written somewhere else, which is the
17
+ // rule §4 states as "every manifest fact is resolved, not trusted".
18
+ import { MetaDataLoader, TYPE_OBJECT, TYPE_REQUIREMENT, OBJECT_SUBTYPE_ENTITY, isWritableSource, } from "@metaobjectsdev/metadata";
19
+ import { libraryManifests, librarySources, knownLibraryTokens, splitLayerToken, } from "@metaobjectsdev/metadata/library";
20
+ import { SERVER_LANGS } from "@metaobjectsdev/sdk";
21
+ /** Every selection token belonging to one library, core first. */
22
+ function tokensOf(name) {
23
+ return knownLibraryTokens().filter((t) => splitLayerToken(t)[0] === name);
24
+ }
25
+ /** Walk every node, since a requirement nests to any depth and an object does not. */
26
+ function walk(node, visit) {
27
+ for (const child of node.children()) {
28
+ visit(child);
29
+ walk(child, visit);
30
+ }
31
+ }
32
+ function effectivePackage(node) {
33
+ return node.package ?? node.fileDefaultPackage ?? "";
34
+ }
35
+ /**
36
+ * Load one library with ALL of its layers and count what it ships.
37
+ *
38
+ * The FULL selection, not the core: `provides` answers "what is in this library",
39
+ * and an adopter reading it is deciding whether to opt in at all. What their current
40
+ * selection actually added is the project block's job.
41
+ */
42
+ async function providesOf(name, manifest) {
43
+ const result = await new MetaDataLoader({ strict: true }).load(librarySources(tokensOf(name)));
44
+ let entities = 0;
45
+ let abstracts = 0;
46
+ let requirements = 0;
47
+ walk(result.root, (n) => {
48
+ if (n.type === TYPE_REQUIREMENT)
49
+ requirements++;
50
+ else if (n.type === TYPE_OBJECT && n.subType === OBJECT_SUBTYPE_ENTITY) {
51
+ if (n.isAbstract)
52
+ abstracts++;
53
+ else
54
+ entities++;
55
+ }
56
+ });
57
+ return {
58
+ entities,
59
+ abstracts,
60
+ requirements,
61
+ generators: (manifest.generators ?? []).map((g) => g.name),
62
+ };
63
+ }
64
+ /**
65
+ * The project facts for one library.
66
+ *
67
+ * `extendedBy` and the two counts read the LOADED model rather than the library,
68
+ * because that is the question being answered: not "what does iam contain" but "what
69
+ * is iam doing in this repo". Without `--probe` there is no model and they are null —
70
+ * never zero, which would read as "nothing", the opposite of "not measured".
71
+ */
72
+ function projectFactsFor(manifest, ctx) {
73
+ const name = manifest.name;
74
+ const selectedLayers = ctx.libraries.filter((t) => splitLayerToken(t)[0] === name);
75
+ const impliedGeneratorsNotWired = (manifest.generators ?? [])
76
+ .map((g) => g.name)
77
+ .filter((g) => !ctx.wiredNames.has(g));
78
+ const facts = {
79
+ optedIn: selectedLayers.length > 0,
80
+ selectedLayers,
81
+ extendedBy: null,
82
+ tablesAdded: null,
83
+ requirementsAdded: null,
84
+ impliedGeneratorsNotWired,
85
+ };
86
+ if (ctx.metadata === undefined)
87
+ return facts;
88
+ const owned = new Set(manifest.packages ?? []);
89
+ const extendedBy = [];
90
+ let tablesAdded = 0;
91
+ let requirementsAdded = 0;
92
+ walk(ctx.metadata, (n) => {
93
+ const mine = owned.has(effectivePackage(n));
94
+ if (n.type === TYPE_REQUIREMENT && mine)
95
+ requirementsAdded++;
96
+ if (n.type !== TYPE_OBJECT)
97
+ return;
98
+ if (mine) {
99
+ // A writable source is what migrate keys a CREATE TABLE off (#248 —
100
+ // persistability derives from source presence, never from the subtype), so
101
+ // counting them here and counting tables there cannot drift apart.
102
+ if (n.children().some(isWritableSource))
103
+ tablesAdded++;
104
+ return;
105
+ }
106
+ // A project entity reaching this library through `extends`, at any depth: the
107
+ // adoption an adopter would break by removing the library from `libraries`.
108
+ for (let sup = n.superData; sup !== undefined; sup = sup.superData) {
109
+ if (owned.has(effectivePackage(sup))) {
110
+ extendedBy.push(`${effectivePackage(n)}::${n.name}`);
111
+ return;
112
+ }
113
+ }
114
+ });
115
+ facts.extendedBy = extendedBy.sort();
116
+ facts.tablesAdded = tablesAdded;
117
+ facts.requirementsAdded = requirementsAdded;
118
+ return facts;
119
+ }
120
+ /** Every shipped library, as `--list` rows, in name order. */
121
+ export async function buildLibraryRows(ctx) {
122
+ const rows = [];
123
+ for (const [name, manifest] of Object.entries(libraryManifests()).sort(([a], [b]) => a.localeCompare(b))) {
124
+ const layers = tokensOf(name).map((token) => {
125
+ const layer = (manifest.layers ?? {})[splitLayerToken(token)[1]];
126
+ return layer?.description === undefined
127
+ ? { token }
128
+ : { token, description: layer.description };
129
+ });
130
+ rows.push({
131
+ name,
132
+ kind: "library",
133
+ libraryKind: manifest.kind ?? "feature",
134
+ stability: manifest.stability ?? "preview",
135
+ ports: SERVER_LANGS,
136
+ description: manifest.description ?? "",
137
+ ...(manifest.useWhen !== undefined ? { useWhen: manifest.useWhen } : {}),
138
+ packages: manifest.packages ?? [],
139
+ layers,
140
+ provides: await providesOf(name, manifest),
141
+ ...(ctx === undefined ? {} : { project: projectFactsFor(manifest, ctx) }),
142
+ });
143
+ }
144
+ return rows;
145
+ }
146
+ function plural(n, one, many) {
147
+ return `${n} ${n === 1 ? one : many}`;
148
+ }
149
+ /** The human rendering — one section, after the generator layers. */
150
+ export function renderLibraryText(rows) {
151
+ if (rows.length === 0)
152
+ return [];
153
+ const lines = [];
154
+ lines.push("");
155
+ lines.push("libraries — declared design you opt into, a LAYER at a time; the core layer adds no tables");
156
+ for (const r of rows) {
157
+ const marks = [r.stability];
158
+ if (r.project?.optedIn)
159
+ marks.push(`opted in: ${r.project.selectedLayers.join(", ")}`);
160
+ if (r.project?.tablesAdded)
161
+ marks.push(`${plural(r.project.tablesAdded, "table", "tables")} added`);
162
+ lines.push(` ${r.name} — ${r.description} [${marks.join(", ")}]`);
163
+ if (r.useWhen !== undefined)
164
+ lines.push(` use when: ${r.useWhen}`);
165
+ lines.push(` provides: ${plural(r.provides.entities, "entity", "entities")}, ` +
166
+ `${r.provides.abstracts} abstract, ` +
167
+ `${plural(r.provides.requirements, "requirement", "requirements")}`);
168
+ lines.push(` layers: ${r.layers.map((l) => l.token).join(", ")}`);
169
+ if (r.project !== null && r.project?.impliedGeneratorsNotWired.length) {
170
+ lines.push(` implies: ${r.project.impliedGeneratorsNotWired.join(", ")} (not wired)`);
171
+ }
172
+ }
173
+ lines.push("");
174
+ lines.push('Opt in with `"libraries": ["iam", "iam/db"]` in .metaobjects/config.json —');
175
+ lines.push("the bare name is the core layer, and a layer token implies it.");
176
+ return lines;
177
+ }
178
+ //# sourceMappingURL=library-listing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-listing.js","sourceRoot":"","sources":["../../../src/lib/library-listing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { MetaData } from "@metaobjectsdev/metadata";
2
+ /** The prefix every shipped library declares into. */
3
+ export declare const LIBRARY_PACKAGE_PREFIX = "metaobjects::";
4
+ export interface LibraryPrefixFinding {
5
+ file: string;
6
+ fqn: string;
7
+ message: string;
8
+ }
9
+ /**
10
+ * Root nodes under `metaobjects::` whose file carries no ejection provenance.
11
+ *
12
+ * Reads the loaded tree for the nodes and the FILES only for the marker — the marker is
13
+ * `meta eject`'s own bookkeeping, not metadata, so there is nothing in the model to read
14
+ * it from.
15
+ */
16
+ export declare function scanForUnprovenancedLibraryPrefix(root: MetaData, ownFiles: readonly string[], projectRoot: string): Promise<LibraryPrefixFinding[]>;
17
+ //# sourceMappingURL=library-prefix-advisory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-prefix-advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/library-prefix-advisory.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,sDAAsD;AACtD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAoCjC"}
@@ -0,0 +1,67 @@
1
+ // FR-043 §3.5 — `metaobjects::` in an adopter's own metadata, with no ejection provenance.
2
+ //
3
+ // The loader already REFUSES a node in a library's package while that library is opted
4
+ // in (ERR_LIBRARY_PACKAGE_COLLISION / ERR_LIBRARY_PACKAGE_NOT_OWNED). This is the other
5
+ // half, and it is advisory on purpose: with the library NOT opted in there is nothing
6
+ // broken to refuse — the nodes are simply the adopter's, sitting under a prefix this
7
+ // project ships libraries into.
8
+ //
9
+ // Two ways to arrive there, and the advice is the same for both:
10
+ //
11
+ // a hand-copy, rather than `meta eject <library>` — no provenance header, so nothing
12
+ // can tell later where it came from or how far it has drifted;
13
+ // a package名 chosen freely that happens to start `metaobjects::` — which will
14
+ // collide the day a library ships into it.
15
+ //
16
+ // A file carrying the eject marker is exempt: that IS the provenance, and `meta eject
17
+ // --list` reports its staleness.
18
+ import { readFile } from "node:fs/promises";
19
+ import { EJECT_MARKER } from "./library-eject.js";
20
+ /** The prefix every shipped library declares into. */
21
+ export const LIBRARY_PACKAGE_PREFIX = "metaobjects::";
22
+ /**
23
+ * Root nodes under `metaobjects::` whose file carries no ejection provenance.
24
+ *
25
+ * Reads the loaded tree for the nodes and the FILES only for the marker — the marker is
26
+ * `meta eject`'s own bookkeeping, not metadata, so there is nothing in the model to read
27
+ * it from.
28
+ */
29
+ export async function scanForUnprovenancedLibraryPrefix(root, ownFiles, projectRoot) {
30
+ const suspect = root
31
+ .children()
32
+ .filter((n) => n.resolutionKey().startsWith(LIBRARY_PACKAGE_PREFIX));
33
+ if (suspect.length === 0)
34
+ return [];
35
+ // Which of this project's own files carry the marker — read once, not per node.
36
+ const provenanced = new Set();
37
+ for (const file of ownFiles) {
38
+ try {
39
+ if ((await readFile(file, "utf8")).slice(0, 400).includes(EJECT_MARKER)) {
40
+ provenanced.add(file.slice(projectRoot.length + 1));
41
+ }
42
+ }
43
+ catch {
44
+ // unreadable — it contributes no exemption, which is the safe direction
45
+ }
46
+ }
47
+ const out = [];
48
+ for (const node of suspect) {
49
+ const files = "files" in node.source ? node.source.files : [];
50
+ // A node the SHIPPED library contributed is not the adopter's — `library:` ids say so.
51
+ if (files.some((f) => f.startsWith("library:")))
52
+ continue;
53
+ if (files.some((f) => provenanced.has(f) || [...provenanced].some((p) => p.endsWith(f))))
54
+ continue;
55
+ out.push({
56
+ file: files[0] ?? "(unknown)",
57
+ fqn: node.resolutionKey(),
58
+ message: `${node.resolutionKey()} is declared under "${LIBRARY_PACKAGE_PREFIX}", which is where ` +
59
+ `MetaObjects ships its libraries, and no file declaring it carries an ejection header. ` +
60
+ `If it was copied from a library, re-copy it with 'meta eject <library>' so its origin ` +
61
+ `and its drift stay legible; if it is your own, move it to a package you own — a later ` +
62
+ `release shipping a node of that name would merge into yours.`,
63
+ });
64
+ }
65
+ return out;
66
+ }
67
+ //# sourceMappingURL=library-prefix-advisory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-prefix-advisory.js","sourceRoot":"","sources":["../../../src/lib/library-prefix-advisory.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,sFAAsF;AACtF,qFAAqF;AACrF,gCAAgC;AAChC,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,uFAAuF;AACvF,mEAAmE;AACnE,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,sFAAsF;AACtF,iCAAiC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAQtD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAAc,EACd,QAA2B,EAC3B,WAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI;SACjB,QAAQ,EAAE;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,gFAAgF;IAChF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,uFAAuF;QACvF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAAE,SAAS;QAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACnG,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE;YACzB,OAAO,EACL,GAAG,IAAI,CAAC,aAAa,EAAE,uBAAuB,sBAAsB,oBAAoB;gBACxF,wFAAwF;gBACxF,wFAAwF;gBACxF,wFAAwF;gBACxF,8DAA8D;SACjE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -26,9 +26,8 @@ export declare function removedGeneratorRuntimeError(err: unknown): string | und
26
26
  * Conditional spreads honour `exactOptionalPropertyTypes` — a key is omitted rather
27
27
  * than set to `undefined`, which is what lets `loadMemory` apply its own defaults.
28
28
  */
29
- export declare function loadMemoryOptionsFrom(cfg: Pick<MetaobjectsGenConfig, "providers" | "libraries"> | undefined): {
29
+ export declare function loadMemoryOptionsFrom(cfg: Pick<MetaobjectsGenConfig, "providers"> | undefined): {
30
30
  providers?: readonly MetaDataTypeProvider[];
31
- libraries?: readonly string[];
32
31
  };
33
32
  /**
34
33
  * The directory whose `metaobjects.config.ts` governs a run started in `startDir` —
@@ -1 +1 @@
1
- {"version":3,"file":"load-metaobjects-config.d.ts","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmJzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA6B9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAmB7E;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,GACrE;IAAE,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAKhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CAUrB;AAED,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgN9F"}
1
+ {"version":3,"file":"load-metaobjects-config.d.ts","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmJzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA6B9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAmB7E;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG,SAAS,GACvD;IAAE,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAA;CAAE,CAIjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CAUrB;AAED,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2M9F"}
@@ -233,7 +233,6 @@ function rewriteImportSpecifiers(source, aliasMap) {
233
233
  export function loadMemoryOptionsFrom(cfg) {
234
234
  return {
235
235
  ...(cfg?.providers !== undefined ? { providers: cfg.providers } : {}),
236
- ...(cfg?.libraries !== undefined ? { libraries: cfg.libraries } : {}),
237
236
  };
238
237
  }
239
238
  /**
@@ -503,22 +502,17 @@ export async function loadMetaobjectsConfig(projectRoot) {
503
502
  if (!cfg || typeof cfg !== "object" || !Array.isArray(cfg.generators)) {
504
503
  throw new Error(`metaobjects.config.ts at ${fullPath} did not export a valid MetaobjectsGenConfig (missing 'generators' array).`);
505
504
  }
506
- // An unknown `libraries` name is a hard config error naming the valid ones, while
507
- // `librarySources` keeps skipping one silently for a programmatic caller. The two
508
- // are deliberately different: an API caller asking for a package this version does
509
- // not ship should still be able to load its own metadata, but a name a human typed
510
- // into a config file is a mistake worth failing on — skipped, it resurfaces later as
511
- // ERR_UNRESOLVED_SUPER pointing at the adopter's own metadata, which is the wrong
512
- // place to send someone looking. Python's `project_config` draws the same line in
513
- // the same place, and the two ports agreeing here is the point.
514
- if (cfg.libraries !== undefined && cfg.libraries.length > 0) {
515
- const { knownLibraryPackages } = await import("@metaobjectsdev/metadata/library");
516
- const available = knownLibraryPackages();
517
- const unknown = cfg.libraries.filter((n) => !available.includes(n));
518
- if (unknown.length > 0) {
519
- throw new Error(`metaobjects.config.ts at ${fullPath}: 'libraries' names unknown package(s) ` +
520
- `${JSON.stringify(unknown)}; available: ${JSON.stringify(available)}.`);
521
- }
505
+ // `libraries` used to be validated here. It moved to `.metaobjects/config.json`
506
+ // (FR-043 Amendment 1), and so did its validation — see `assertKnownLibraries`,
507
+ // called from `resolveCollection`'s readers. A config still carrying the old key
508
+ // gets a pointed error rather than silence, because silence is what turns a moved
509
+ // key into "my library stopped loading and nothing said why".
510
+ if ("libraries" in cfg) {
511
+ throw new Error(`metaobjects.config.ts at ${fullPath}: 'libraries' moved to ` +
512
+ `.metaobjects/config.json (FR-043). Which designs a project adopts is a fact ` +
513
+ `about the PROJECT, not about how one port generates code from it, and that ` +
514
+ `file is the port-neutral one every port already reads. Move the array across ` +
515
+ `verbatim — the tokens are unchanged.`);
522
516
  }
523
517
  return cfg;
524
518
  }
@@ -1 +1 @@
1
- {"version":3,"file":"load-metaobjects-config.js","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-metaobjects-config.js","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Collection } from "@metaobjectsdev/sdk";
2
- import type { SchemaProvenance } from "@metaobjectsdev/migrate-ts";
2
+ import type { ObjectScopePredicate, SchemaProvenance } from "@metaobjectsdev/migrate-ts";
3
3
  /**
4
4
  * Say what a declared `migrate.scope` left out, for `migrate` and `verify --db`
5
5
  * alike.
@@ -14,6 +14,37 @@ import type { SchemaProvenance } from "@metaobjectsdev/migrate-ts";
14
14
  * is drift the user sees.
15
15
  */
16
16
  export declare function outOfScopeNote(command: string, names: readonly string[]): string;
17
+ /**
18
+ * Say what a DEPENDENCY owns, for `migrate` and `verify --db` alike (FR-023).
19
+ *
20
+ * A dependency's nodes are loaded so this project's own model can resolve against
21
+ * them, and are governed by nobody here. That is not the same sentence as
22
+ * `outOfScopeNote`'s: an excluded import is usually not the result of anything the
23
+ * author wrote — a project with no `migrate.scope` at all still excludes its imports —
24
+ * so reporting it as "outside migrate.scope" would name a key that does not exist.
25
+ * It also carries the opt-in, which is the whole remedy: name the package.
26
+ */
27
+ export declare function dependencyNote(command: string, names: readonly string[]): string;
28
+ /**
29
+ * Every exclusion a run owes the reader, each object named exactly ONCE.
30
+ *
31
+ * `outOfScope` is the full suppression set and `fromDependencies` a subset of it, so
32
+ * reporting both as-is would print an imported table twice under two different
33
+ * explanations. The partition happens here, once, rather than in each command.
34
+ */
35
+ export declare function exclusionNotes(command: string, outOfScope: readonly string[], fromDependencies: readonly string[]): string[];
36
+ /**
37
+ * The import predicate a schema run threads into migrate-ts, or NOTHING.
38
+ *
39
+ * Nothing is the load-bearing half. A project with no dependencies must reach
40
+ * `scopeExpectedSchema` exactly as it always did — passing a predicate that happens to
41
+ * answer `false` for everything is not the same thing, because supplying one at all
42
+ * leaves the untouched same-object path and changes `declaredSchemas` from absent to
43
+ * derived. One helper so all five call sites make that decision identically.
44
+ */
45
+ export declare function importedOption(collection: Collection): {
46
+ imported?: ObjectScopePredicate;
47
+ };
17
48
  /**
18
49
  * The refusal for a `migrate.scope` that matches NOTHING it could govern.
19
50
  *
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-scope.d.ts","sourceRoot":"","sources":["../../../src/lib/migrate-scope.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKhF;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU;AACtB;;;;;;GAMG;AACH,UAAU,EAAE,MAAM,gBAAgB,GACjC,MAAM,GAAG,SAAS,CA8BpB"}
1
+ {"version":3,"file":"migrate-scope.d.ts","sourceRoot":"","sources":["../../../src/lib/migrate-scope.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEzF;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKhF;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKhF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAClC,MAAM,EAAE,CAOV;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG;IAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAE1F;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU;AACtB;;;;;;GAMG;AACH,UAAU,EAAE,MAAM,gBAAgB,GACjC,MAAM,GAAG,SAAS,CAmCpB"}
@@ -25,6 +25,49 @@ export function outOfScopeNote(command, names) {
25
25
  return (`meta ${command} — ${names.length} object(s) out-of-scope ` +
26
26
  `(outside migrate.scope, governed elsewhere): ${names.join(", ")}`);
27
27
  }
28
+ /**
29
+ * Say what a DEPENDENCY owns, for `migrate` and `verify --db` alike (FR-023).
30
+ *
31
+ * A dependency's nodes are loaded so this project's own model can resolve against
32
+ * them, and are governed by nobody here. That is not the same sentence as
33
+ * `outOfScopeNote`'s: an excluded import is usually not the result of anything the
34
+ * author wrote — a project with no `migrate.scope` at all still excludes its imports —
35
+ * so reporting it as "outside migrate.scope" would name a key that does not exist.
36
+ * It also carries the opt-in, which is the whole remedy: name the package.
37
+ */
38
+ export function dependencyNote(command, names) {
39
+ return (`meta ${command} — ${names.length} object(s) from dependencies not governed here ` +
40
+ `(name the package in migrate.scope to own them): ${names.join(", ")}`);
41
+ }
42
+ /**
43
+ * Every exclusion a run owes the reader, each object named exactly ONCE.
44
+ *
45
+ * `outOfScope` is the full suppression set and `fromDependencies` a subset of it, so
46
+ * reporting both as-is would print an imported table twice under two different
47
+ * explanations. The partition happens here, once, rather than in each command.
48
+ */
49
+ export function exclusionNotes(command, outOfScope, fromDependencies) {
50
+ const notes = [];
51
+ const imported = new Set(fromDependencies);
52
+ const declared = outOfScope.filter((name) => !imported.has(name));
53
+ if (declared.length > 0)
54
+ notes.push(outOfScopeNote(command, declared));
55
+ if (fromDependencies.length > 0)
56
+ notes.push(dependencyNote(command, fromDependencies));
57
+ return notes;
58
+ }
59
+ /**
60
+ * The import predicate a schema run threads into migrate-ts, or NOTHING.
61
+ *
62
+ * Nothing is the load-bearing half. A project with no dependencies must reach
63
+ * `scopeExpectedSchema` exactly as it always did — passing a predicate that happens to
64
+ * answer `false` for everything is not the same thing, because supplying one at all
65
+ * leaves the untouched same-object path and changes `declaredSchemas` from absent to
66
+ * derived. One helper so all five call sites make that decision identically.
67
+ */
68
+ export function importedOption(collection) {
69
+ return collection.dependencies.length > 0 ? { imported: collection.imported } : {};
70
+ }
28
71
  /** How many loaded FQNs to name in the refusal below — enough to show the shape
29
72
  * an author's patterns have to match, short enough to stay readable. */
30
73
  const EXAMPLE_FQN_CAP = 3;
@@ -60,8 +103,13 @@ export function migrateScopeMismatch(collection,
60
103
  * are byte-for-byte what they always were.
61
104
  */
62
105
  provenance) {
63
- const { inMigrateScope, migrateScopePatterns } = collection;
64
- if (inMigrateScope === undefined)
106
+ // The DECLARED `migrate.scope` alone, never the composed `inMigrateScope` (FR-023).
107
+ // The composed predicate also excludes imports, so a consumer whose only
108
+ // table-declaring objects come from a dependency — and who declared no scope at all
109
+ // — would be refused here, citing patterns that do not exist. There is nothing wrong
110
+ // with that project: its imports are excluded by design and it governs no tables yet.
111
+ const { declaredMigrateScope, migrateScopePatterns } = collection;
112
+ if (declaredMigrateScope === undefined)
65
113
  return undefined;
66
114
  // The declaring FQNs of every table and view the UNSCOPED model contributes —
67
115
  // the same provenance `scopeExpectedSchema` decides scope on, so the refusal
@@ -78,7 +126,7 @@ provenance) {
78
126
  // own (much louder) failure modes downstream.
79
127
  if (fqns.length === 0)
80
128
  return undefined;
81
- if (fqns.some(inMigrateScope))
129
+ if (fqns.some(declaredMigrateScope))
82
130
  return undefined;
83
131
  const patterns = JSON.stringify(migrateScopePatterns ?? []);
84
132
  const examples = fqns.slice(0, EXAMPLE_FQN_CAP).join(", ");
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-scope.js","sourceRoot":"","sources":["../../../src/lib/migrate-scope.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,EAAE;AACF,oEAAoE;AACpE,mFAAmF;AACnF,qFAAqF;AACrF,uEAAuE;AACvE,EAAE;AACF,mFAAmF;AACnF,kFAAkF;AAClF,wEAAwE;AAKxE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,KAAwB;IACtE,OAAO,CACL,QAAQ,OAAO,MAAM,KAAK,CAAC,MAAM,0BAA0B;QAC3D,gDAAgD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC;AACJ,CAAC;AAED;yEACyE;AACzE,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAsB;AACtB;;;;;;GAMG;AACH,UAAkC;IAElC,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IAC5D,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEnD,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjD,+EAA+E;IAC/E,8EAA8E;IAC9E,8CAA8C;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,GAAG,eAAe,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,OAAO,CACL,qCAAqC,IAAI,CAAC,MAAM,wCAAwC;QACxF,oFAAoF;QACpF,aAAa,QAAQ,gCAAgC,QAAQ,GAAG,IAAI,IAAI;QACxE,qFAAqF;QACrF,uCAAuC,CACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"migrate-scope.js","sourceRoot":"","sources":["../../../src/lib/migrate-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { type MetaDataSource } from "@metaobjectsdev/metadata";
2
+ import type { Collection } from "@metaobjectsdev/sdk";
3
+ import type { Diagnostic } from "./requirement-check.js";
4
+ export declare const WARN_OVERLAY_IMPLICIT = "WARN_OVERLAY_IMPLICIT";
5
+ /**
6
+ * Resolve one collection file path to the `MetaDataSource` `lintOverlays`
7
+ * reads it through. Injected so the lint never touches the filesystem
8
+ * directly: the production wiring in `verify.ts` backs this with
9
+ * `FileSource` (from `@metaobjectsdev/metadata/core`); a test can supply an
10
+ * in-memory source instead.
11
+ */
12
+ export type ReadSource = (path: string) => MetaDataSource;
13
+ /**
14
+ * Lint the collection's files for unflagged cross-file redeclarations.
15
+ *
16
+ * Reads every file in `collection.files` — dependency artifacts first, since
17
+ * `Collection.files` already orders them that way and they are the BASES a
18
+ * consumer's own declarations amend — and structurally scans each with
19
+ * {@link declaredTopLevelKeys} (never the loaded/merged model: the merged
20
+ * tree has already lost which FILE contributed which declaration).
21
+ *
22
+ * Groups by (type, resolutionKey) — mirroring the parser's own merge lookup,
23
+ * which matches on type AND resolutionKey (parser-core.ts) — and reports
24
+ * every unflagged declaration after the first one for a key with 2+
25
+ * declarations. The first unflagged declaration is the base.
26
+ *
27
+ * `file` in each finding's message is the collection-relative path
28
+ * (`relPosix`), or the dependency's `dep:<name>/<artifact>` id when the
29
+ * declaration came from an imported artifact.
30
+ *
31
+ * Unreadable or unparsable files are skipped — the loader itself reports
32
+ * those (as a load error / `meta verify`'s own failure path); duplicating
33
+ * that diagnosis here would just be a second, worse-informed version of the
34
+ * same message.
35
+ */
36
+ export declare function lintOverlays(collection: Collection, readSource: ReadSource): Promise<Diagnostic[]>;
37
+ //# sourceMappingURL=overlay-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay-lint.d.ts","sourceRoot":"","sources":["../../../src/lib/overlay-lint.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAkD,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,CAAC;AAY1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,UAAU,EAAE,CAAC,CAkDvB"}