@aid-framework/generator-sdk 0.1.57 → 0.1.59
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/aid-manifest.d.ts +7 -0
- package/dist/aid-manifest.d.ts.map +1 -1
- package/dist/aid-manifest.js +62 -2
- package/dist/aid-manifest.js.map +1 -1
- package/dist/diagnostics.d.ts +4 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +4 -0
- package/dist/diagnostics.js.map +1 -1
- package/dist/drift.d.ts +11 -0
- package/dist/drift.d.ts.map +1 -1
- package/dist/drift.js +46 -1
- package/dist/drift.js.map +1 -1
- package/dist/eject.d.ts +69 -0
- package/dist/eject.d.ts.map +1 -0
- package/dist/eject.js +169 -0
- package/dist/eject.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ownership.d.ts +19 -2
- package/dist/ownership.d.ts.map +1 -1
- package/dist/ownership.js +25 -1
- package/dist/ownership.js.map +1 -1
- package/dist/scaffold.d.ts +104 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +248 -0
- package/dist/scaffold.js.map +1 -0
- package/package.json +3 -3
package/dist/aid-manifest.d.ts
CHANGED
|
@@ -36,6 +36,13 @@ export interface AidManifest {
|
|
|
36
36
|
manifestVersion: number;
|
|
37
37
|
generatedBy: AidManifestProvenance;
|
|
38
38
|
files: readonly AidManifestFile[];
|
|
39
|
+
/**
|
|
40
|
+
* Generated paths a developer took ownership of with `aid eject`. The exclusion is
|
|
41
|
+
* permanent: the planner drops these paths from every plan, and a regeneration that
|
|
42
|
+
* would otherwise forget them carries them forward. Absent in older manifests, which
|
|
43
|
+
* read as an empty list.
|
|
44
|
+
*/
|
|
45
|
+
ejected: readonly string[];
|
|
39
46
|
}
|
|
40
47
|
export declare function emptyAidManifest(provenance: AidManifestProvenance): AidManifest;
|
|
41
48
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aid-manifest.d.ts","sourceRoot":"","sources":["../src/aid-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,mFAAmF;AACnF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,qBAAqB,CAAC;IACnC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"aid-manifest.d.ts","sourceRoot":"","sources":["../src/aid-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,mFAAmF;AACnF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,qBAAqB,CAAC;IACnC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAClC;;;;;OAKG;IACH,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAoBD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,qBAAqB,GAAG,WAAW,CAO/E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,UAAU,EAAE,qBAAqB,GAChC,WAAW,CAab;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,IAAI,EAAE,MAAM,GACX,eAAe,GAAG,SAAS,CAE7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CA0DxB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CAgBxB;AAuMD,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAmBlE"}
|
package/dist/aid-manifest.js
CHANGED
|
@@ -20,7 +20,7 @@ import { DEFAULT_MANIFEST_FILENAME, normalizeRelativePath, ownerForPath, } from
|
|
|
20
20
|
export const AID_MANIFEST_VERSION = 1;
|
|
21
21
|
export { DEFAULT_MANIFEST_FILENAME };
|
|
22
22
|
const SHA256_PATTERN = /^[0-9a-f]{64}$/;
|
|
23
|
-
const TOP_LEVEL_KEYS = new Set(['manifestVersion', 'generatedBy', 'files']);
|
|
23
|
+
const TOP_LEVEL_KEYS = new Set(['manifestVersion', 'generatedBy', 'files', 'ejected']);
|
|
24
24
|
const FILE_KEYS = new Set(['path', 'owner', 'sha256', 'generator', 'generatorVersion']);
|
|
25
25
|
const PROVENANCE_KEYS = new Set(['generator', 'generatorVersion', 'irVersion']);
|
|
26
26
|
function invalid(message, path, hint) {
|
|
@@ -35,7 +35,12 @@ function isRecord(value) {
|
|
|
35
35
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
36
36
|
}
|
|
37
37
|
export function emptyAidManifest(provenance) {
|
|
38
|
-
return {
|
|
38
|
+
return {
|
|
39
|
+
manifestVersion: AID_MANIFEST_VERSION,
|
|
40
|
+
generatedBy: provenance,
|
|
41
|
+
files: [],
|
|
42
|
+
ejected: [],
|
|
43
|
+
};
|
|
39
44
|
}
|
|
40
45
|
/**
|
|
41
46
|
* The manifest describing a freshly emitted plan: one record per file, hashed from
|
|
@@ -52,6 +57,7 @@ export function manifestFor(files, provenance) {
|
|
|
52
57
|
generator: provenance.generator,
|
|
53
58
|
generatorVersion: provenance.generatorVersion,
|
|
54
59
|
})),
|
|
60
|
+
ejected: [],
|
|
55
61
|
};
|
|
56
62
|
}
|
|
57
63
|
export function manifestRecordFor(manifest, path) {
|
|
@@ -82,6 +88,18 @@ export function parseAidManifest(value, options = {}) {
|
|
|
82
88
|
}
|
|
83
89
|
const generatedBy = parseProvenance(value.generatedBy, diagnostics);
|
|
84
90
|
const files = parseFiles(value.files, diagnostics, options);
|
|
91
|
+
const ejected = parseEjected(value.ejected, diagnostics, options);
|
|
92
|
+
if (files !== undefined && ejected !== undefined) {
|
|
93
|
+
// A path cannot be both generator-owned and permanently excluded. Reading such a
|
|
94
|
+
// manifest would have to pick a winner, and the two readers that pick differently is
|
|
95
|
+
// exactly the class of bug this file exists to prevent.
|
|
96
|
+
const generated = new Set(files.filter((file) => file.owner === 'generated').map((file) => file.path));
|
|
97
|
+
for (const path of ejected) {
|
|
98
|
+
if (generated.has(path)) {
|
|
99
|
+
diagnostics.push(invalid(`"${path}" is recorded as a generated file and also listed in "ejected"; a path cannot be both.`, 'ejected'));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
85
103
|
if (diagnostics.some((diagnostic) => diagnostic.severity === 'error')) {
|
|
86
104
|
return { diagnostics: sortDiagnostics(diagnostics) };
|
|
87
105
|
}
|
|
@@ -90,6 +108,7 @@ export function parseAidManifest(value, options = {}) {
|
|
|
90
108
|
manifestVersion: AID_MANIFEST_VERSION,
|
|
91
109
|
generatedBy: generatedBy,
|
|
92
110
|
files: files,
|
|
111
|
+
ejected: ejected,
|
|
93
112
|
},
|
|
94
113
|
diagnostics: sortDiagnostics(diagnostics),
|
|
95
114
|
};
|
|
@@ -212,6 +231,44 @@ function parseFiles(value, diagnostics, options) {
|
|
|
212
231
|
return undefined;
|
|
213
232
|
return sortByPath(records);
|
|
214
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* The ejection ledger: generated paths a developer took ownership of. Only a path under
|
|
236
|
+
* the generated root can be ejected — the entry exists to *stop* generation, and a
|
|
237
|
+
* business path is already unmanaged.
|
|
238
|
+
*/
|
|
239
|
+
function parseEjected(value, diagnostics, options) {
|
|
240
|
+
if (value === undefined)
|
|
241
|
+
return [];
|
|
242
|
+
if (!Array.isArray(value)) {
|
|
243
|
+
diagnostics.push(invalid('aid.manifest.json "ejected" must be an array of paths.', 'ejected'));
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
const paths = [];
|
|
247
|
+
const seen = new Set();
|
|
248
|
+
for (const [index, entry] of value.entries()) {
|
|
249
|
+
const at = `ejected[${index}]`;
|
|
250
|
+
if (typeof entry !== 'string') {
|
|
251
|
+
diagnostics.push(invalid(`${at} must be a repo-relative path string.`, at));
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
const path = normalizeRelativePath(entry);
|
|
255
|
+
if (path === undefined) {
|
|
256
|
+
diagnostics.push(invalid(`${at} "${entry}" is not a usable relative path.`, at));
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
if (ownerForPath(path, options) !== 'generated') {
|
|
260
|
+
diagnostics.push(invalid(`${at} "${path}" is not under the generated root; only a generated path can be ejected.`, at));
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
if (seen.has(path)) {
|
|
264
|
+
diagnostics.push(invalid(`${at} "${path}" is listed twice.`, at));
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
seen.add(path);
|
|
268
|
+
paths.push(path);
|
|
269
|
+
}
|
|
270
|
+
return paths;
|
|
271
|
+
}
|
|
215
272
|
/** Canonical serialization: sorted keys, sorted records, LF, exactly one trailing newline. */
|
|
216
273
|
export function serializeAidManifest(manifest) {
|
|
217
274
|
return `${canonicalJson({
|
|
@@ -228,6 +285,9 @@ export function serializeAidManifest(manifest) {
|
|
|
228
285
|
generator: file.generator,
|
|
229
286
|
generatorVersion: file.generatorVersion,
|
|
230
287
|
})),
|
|
288
|
+
// Omitted when empty so a manifest written before ejections existed keeps its exact
|
|
289
|
+
// bytes on the next regeneration.
|
|
290
|
+
...(manifest.ejected.length === 0 ? {} : { ejected: [...manifest.ejected].sort() }),
|
|
231
291
|
})}\n`;
|
|
232
292
|
}
|
|
233
293
|
//# sourceMappingURL=aid-manifest.js.map
|
package/dist/aid-manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aid-manifest.js","sourceRoot":"","sources":["../src/aid-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,0BAA0B,EAE1B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EAEzB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"aid-manifest.js","sourceRoot":"","sources":["../src/aid-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/diagnostics.d.ts
CHANGED
|
@@ -32,6 +32,10 @@ export declare const GENERATOR_DIAGNOSTIC_CODES: {
|
|
|
32
32
|
readonly manifestVersionUnsupported: 'generator/manifest-version-unsupported';
|
|
33
33
|
readonly determinismViolation: 'generator/determinism-violation';
|
|
34
34
|
readonly generatedDrift: 'generator/generated-drift';
|
|
35
|
+
readonly ejectInvalidPath: 'generator/eject-invalid-path';
|
|
36
|
+
readonly ejectNotGenerated: 'generator/eject-not-generated';
|
|
37
|
+
readonly ejectMissingFile: 'generator/eject-missing-file';
|
|
38
|
+
readonly ejectDestinationExists: 'generator/eject-destination-exists';
|
|
35
39
|
};
|
|
36
40
|
export type GeneratorDiagnosticCode = (typeof GENERATOR_DIAGNOSTIC_CODES)[keyof typeof GENERATOR_DIAGNOSTIC_CODES];
|
|
37
41
|
export type GeneratorDiagnostic = Diagnostic<GeneratorDiagnosticCode>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,eAAO,MAAM,0BAA0B;aACrC,mBAAmB,EAAE,kCAAkC;aACvD,oBAAoB,EAAE,kCAAkC;aACxD,oBAAoB,EAAE,kCAAkC;aACxD,kBAAkB,EAAE,gCAAgC;aACpD,yBAAyB,EAAE,uCAAuC;aAClE,2BAA2B,EAAE,yCAAyC;aACtE,2BAA2B,EAAE,0CAA0C;aACvE,qBAAqB,EAAE,mCAAmC;aAC1D,mBAAmB,EAAE,iCAAiC;aACtD,oBAAoB,EAAE,kCAAkC;aACxD,0BAA0B,EAAE,wCAAwC;aACpE,eAAe,EAAE,8BAA8B;aAC/C,eAAe,EAAE,6BAA6B;aAC9C,iBAAiB,EAAE,+BAA+B;aAClD,iBAAiB,EAAE,+BAA+B;aAClD,SAAS,EAAE,sBAAsB;aACjC,mBAAmB,EAAE,iCAAiC;aACtD,0BAA0B,EAAE,wCAAwC;aACpE,oBAAoB,EAAE,iCAAiC;aACvD,cAAc,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,eAAO,MAAM,0BAA0B;aACrC,mBAAmB,EAAE,kCAAkC;aACvD,oBAAoB,EAAE,kCAAkC;aACxD,oBAAoB,EAAE,kCAAkC;aACxD,kBAAkB,EAAE,gCAAgC;aACpD,yBAAyB,EAAE,uCAAuC;aAClE,2BAA2B,EAAE,yCAAyC;aACtE,2BAA2B,EAAE,0CAA0C;aACvE,qBAAqB,EAAE,mCAAmC;aAC1D,mBAAmB,EAAE,iCAAiC;aACtD,oBAAoB,EAAE,kCAAkC;aACxD,0BAA0B,EAAE,wCAAwC;aACpE,eAAe,EAAE,8BAA8B;aAC/C,eAAe,EAAE,6BAA6B;aAC9C,iBAAiB,EAAE,+BAA+B;aAClD,iBAAiB,EAAE,+BAA+B;aAClD,SAAS,EAAE,sBAAsB;aACjC,mBAAmB,EAAE,iCAAiC;aACtD,0BAA0B,EAAE,wCAAwC;aACpE,oBAAoB,EAAE,iCAAiC;aACvD,cAAc,EAAE,2BAA2B;aAC3C,gBAAgB,EAAE,8BAA8B;aAChD,iBAAiB,EAAE,+BAA+B;aAClD,gBAAgB,EAAE,8BAA8B;aAChD,sBAAsB,EAAE,oCAAoC;CACpD,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAEtE,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAOjF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAOnF;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CACtB,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,mBAAmB,CAErB"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -32,6 +32,10 @@ export const GENERATOR_DIAGNOSTIC_CODES = {
|
|
|
32
32
|
manifestVersionUnsupported: 'generator/manifest-version-unsupported',
|
|
33
33
|
determinismViolation: 'generator/determinism-violation',
|
|
34
34
|
generatedDrift: 'generator/generated-drift',
|
|
35
|
+
ejectInvalidPath: 'generator/eject-invalid-path',
|
|
36
|
+
ejectNotGenerated: 'generator/eject-not-generated',
|
|
37
|
+
ejectMissingFile: 'generator/eject-missing-file',
|
|
38
|
+
ejectDestinationExists: 'generator/eject-destination-exists',
|
|
35
39
|
};
|
|
36
40
|
function toDiagnosticPath(path) {
|
|
37
41
|
return path === undefined || path === '' ? [] : [path];
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,mBAAmB,EAAE,kCAAkC;IACvD,oBAAoB,EAAE,kCAAkC;IACxD,oBAAoB,EAAE,kCAAkC;IACxD,kBAAkB,EAAE,gCAAgC;IACpD,yBAAyB,EAAE,uCAAuC;IAClE,2BAA2B,EAAE,yCAAyC;IACtE,2BAA2B,EAAE,0CAA0C;IACvE,qBAAqB,EAAE,mCAAmC;IAC1D,mBAAmB,EAAE,iCAAiC;IACtD,oBAAoB,EAAE,kCAAkC;IACxD,0BAA0B,EAAE,wCAAwC;IACpE,eAAe,EAAE,8BAA8B;IAC/C,eAAe,EAAE,6BAA6B;IAC9C,iBAAiB,EAAE,+BAA+B;IAClD,iBAAiB,EAAE,+BAA+B;IAClD,SAAS,EAAE,sBAAsB;IACjC,mBAAmB,EAAE,iCAAiC;IACtD,0BAA0B,EAAE,wCAAwC;IACpE,oBAAoB,EAAE,iCAAiC;IACvD,cAAc,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,mBAAmB,EAAE,kCAAkC;IACvD,oBAAoB,EAAE,kCAAkC;IACxD,oBAAoB,EAAE,kCAAkC;IACxD,kBAAkB,EAAE,gCAAgC;IACpD,yBAAyB,EAAE,uCAAuC;IAClE,2BAA2B,EAAE,yCAAyC;IACtE,2BAA2B,EAAE,0CAA0C;IACvE,qBAAqB,EAAE,mCAAmC;IAC1D,mBAAmB,EAAE,iCAAiC;IACtD,oBAAoB,EAAE,kCAAkC;IACxD,0BAA0B,EAAE,wCAAwC;IACpE,eAAe,EAAE,8BAA8B;IAC/C,eAAe,EAAE,6BAA6B;IAC9C,iBAAiB,EAAE,+BAA+B;IAClD,iBAAiB,EAAE,+BAA+B;IAClD,SAAS,EAAE,sBAAsB;IACjC,mBAAmB,EAAE,iCAAiC;IACtD,0BAA0B,EAAE,wCAAwC;IACpE,oBAAoB,EAAE,iCAAiC;IACvD,cAAc,EAAE,2BAA2B;IAC3C,gBAAgB,EAAE,8BAA8B;IAChD,iBAAiB,EAAE,+BAA+B;IAClD,gBAAgB,EAAE,8BAA8B;IAChD,sBAAsB,EAAE,oCAAoC;CACpD,CAAC;AAeX,SAAS,gBAAgB,CAAC,IAAwB;IAChD,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAA6B;IAC1D,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;KACxD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;KACxD,CAAC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,QAAQ,CACtB,UAA+B,EAC/B,IAAwB;IAExB,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC;AACnE,CAAC"}
|
package/dist/drift.d.ts
CHANGED
|
@@ -54,6 +54,9 @@ export type RegenerationAction = {
|
|
|
54
54
|
} | {
|
|
55
55
|
kind: 'keep-business';
|
|
56
56
|
path: string;
|
|
57
|
+
} | {
|
|
58
|
+
kind: 'keep-scaffold';
|
|
59
|
+
path: string;
|
|
57
60
|
} | {
|
|
58
61
|
kind: 'drift';
|
|
59
62
|
path: string;
|
|
@@ -67,11 +70,19 @@ export interface RegenerationReport {
|
|
|
67
70
|
unchanged: string[];
|
|
68
71
|
/** Business files that already existed and were left exactly as they were. */
|
|
69
72
|
kept: string[];
|
|
73
|
+
/** Scaffold files that already existed and were left exactly as they were. */
|
|
74
|
+
scaffoldKept: string[];
|
|
70
75
|
drifted: DriftedFile[];
|
|
71
76
|
/** Recorded generated files that are no longer planned. */
|
|
72
77
|
stale: string[];
|
|
73
78
|
/** Subset of {@link stale} that this run deleted, when `prune` was set. */
|
|
74
79
|
pruned: string[];
|
|
80
|
+
/**
|
|
81
|
+
* Planned paths skipped because the developer ejected them. Reported rather than
|
|
82
|
+
* silently dropped: a generator that stops emitting a file it still plans for no visible
|
|
83
|
+
* reason is indistinguishable from a bug.
|
|
84
|
+
*/
|
|
85
|
+
ejected: string[];
|
|
75
86
|
diagnostics: GeneratorDiagnostic[];
|
|
76
87
|
}
|
|
77
88
|
export interface RegenerationOptions {
|
package/dist/drift.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAE3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,KAAK,mBAAmB,EAGzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAErD,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"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"}
|
package/dist/drift.js
CHANGED
|
@@ -36,10 +36,34 @@ export function planRegeneration(plan, options) {
|
|
|
36
36
|
const updated = [];
|
|
37
37
|
const unchanged = [];
|
|
38
38
|
const kept = [];
|
|
39
|
+
const scaffoldKept = [];
|
|
39
40
|
const drifted = [];
|
|
41
|
+
const ejections = [];
|
|
42
|
+
const ejectedPaths = new Set(manifest?.ejected ?? []);
|
|
40
43
|
const actions = [];
|
|
41
44
|
for (const file of sortByPath(plan.files)) {
|
|
45
|
+
// Ejection is permanent by contract (§10): the developer's copy lives in the business
|
|
46
|
+
// tier now, so writing this path again would resurrect the file they took over.
|
|
47
|
+
if (ejectedPaths.has(file.path)) {
|
|
48
|
+
ejections.push(file.path);
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
42
51
|
const actual = options.sink.read(file.path);
|
|
52
|
+
// Scaffold content is created once and then belongs to the developer: CI has to be
|
|
53
|
+
// editable (a runner, a credential, a second toolchain), and comparing it against a
|
|
54
|
+
// generated hash would turn every legitimate edit into a conflict. The manifest never
|
|
55
|
+
// records it, so there is no record to fall back on either.
|
|
56
|
+
if (file.owner === 'scaffold') {
|
|
57
|
+
if (actual === undefined) {
|
|
58
|
+
created.push(file.path);
|
|
59
|
+
actions.push({ kind: 'create', path: file.path, owner: 'scaffold' });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
scaffoldKept.push(file.path);
|
|
63
|
+
actions.push({ kind: 'keep-scaffold', path: file.path });
|
|
64
|
+
}
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
43
67
|
if (file.owner === 'business') {
|
|
44
68
|
if (actual === undefined) {
|
|
45
69
|
created.push(file.path);
|
|
@@ -107,9 +131,11 @@ export function planRegeneration(plan, options) {
|
|
|
107
131
|
updated,
|
|
108
132
|
unchanged,
|
|
109
133
|
kept,
|
|
134
|
+
scaffoldKept: sortByPath(scaffoldKept.map((path) => ({ path }))).map((entry) => entry.path),
|
|
110
135
|
drifted,
|
|
111
136
|
stale,
|
|
112
137
|
pruned: [],
|
|
138
|
+
ejected: ejections,
|
|
113
139
|
diagnostics: sortDiagnostics(diagnostics),
|
|
114
140
|
};
|
|
115
141
|
}
|
|
@@ -122,7 +148,10 @@ export function staleGeneratedFiles(plan, manifest) {
|
|
|
122
148
|
if (manifest === undefined)
|
|
123
149
|
return [];
|
|
124
150
|
const planned = new Set(plan.files.map((file) => file.path));
|
|
125
|
-
|
|
151
|
+
// An ejected path is expected to disappear from the tree; it is neither stale nor
|
|
152
|
+
// missing, so it must not be flagged as either.
|
|
153
|
+
const ejected = new Set(manifest.ejected);
|
|
154
|
+
return sortByPath(manifest.files.filter((file) => file.owner === 'generated' && !planned.has(file.path) && !ejected.has(file.path))).map((file) => file.path);
|
|
126
155
|
}
|
|
127
156
|
/**
|
|
128
157
|
* Plans, then applies. Drifted generated files are never written unless `force` is set;
|
|
@@ -192,9 +221,18 @@ export function regenerate(plan, options) {
|
|
|
192
221
|
*/
|
|
193
222
|
function nextManifest(input) {
|
|
194
223
|
const records = [];
|
|
224
|
+
const ejectedPaths = new Set(input.previous?.ejected ?? []);
|
|
195
225
|
for (const file of sortByPath(input.plan.files)) {
|
|
196
226
|
if (input.prunedPaths.has(file.path))
|
|
197
227
|
continue;
|
|
228
|
+
// Scaffold content is developer-owned from the moment it is written, so it has no
|
|
229
|
+
// record: a manifest entry would claim a hash the developer is expected to change.
|
|
230
|
+
if (file.owner === 'scaffold')
|
|
231
|
+
continue;
|
|
232
|
+
// The ledger outlives the plan. A generator that keeps planning an ejected path must
|
|
233
|
+
// not re-add the record that makes the next run regenerate it.
|
|
234
|
+
if (ejectedPaths.has(file.path))
|
|
235
|
+
continue;
|
|
198
236
|
const previous = manifestRecordFor(input.previous, file.path);
|
|
199
237
|
if (file.owner === 'business') {
|
|
200
238
|
const onDisk = input.sink.read(file.path);
|
|
@@ -226,6 +264,9 @@ function nextManifest(input) {
|
|
|
226
264
|
manifestVersion: AID_MANIFEST_VERSION,
|
|
227
265
|
generatedBy: input.provenance,
|
|
228
266
|
files: sortByPath(records),
|
|
267
|
+
// Carried verbatim: `nextManifest` only ever sees the plan, so anything the plan
|
|
268
|
+
// cannot express has to be copied forward explicitly or it is lost on the next run.
|
|
269
|
+
ejected: [...ejectedPaths].sort(),
|
|
229
270
|
};
|
|
230
271
|
}
|
|
231
272
|
/**
|
|
@@ -244,10 +285,14 @@ export function formatRegenerationSummary(report) {
|
|
|
244
285
|
`${report.unchanged.length} unchanged`,
|
|
245
286
|
`${report.kept.length} kept`,
|
|
246
287
|
];
|
|
288
|
+
if (report.scaffoldKept.length > 0)
|
|
289
|
+
parts.push(`${report.scaffoldKept.length} scaffold kept`);
|
|
247
290
|
if (report.drifted.length > 0)
|
|
248
291
|
parts.push(`${report.drifted.length} conflicts`);
|
|
249
292
|
if (report.stale.length > 0)
|
|
250
293
|
parts.push(`${report.stale.length} stale`);
|
|
294
|
+
if (report.ejected.length > 0)
|
|
295
|
+
parts.push(`${report.ejected.length} ejected`);
|
|
251
296
|
return parts.join(', ');
|
|
252
297
|
}
|
|
253
298
|
export function hasDrift(report) {
|
package/dist/drift.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACL,oBAAoB,EAIpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,0BAA0B,EAE1B,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAkB,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"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"}
|
package/dist/eject.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `aid eject` (§10): taking ownership of a generated file.
|
|
3
|
+
*
|
|
4
|
+
* Ejection is the developer's answer to the drift rule. When a generated file needs
|
|
5
|
+
* hand-editing, the choice is to keep discarding the edits with `--force`, or to own the
|
|
6
|
+
* file. Owning it means two things, and both are required:
|
|
7
|
+
*
|
|
8
|
+
* 1. **The bytes move to the business tier.** Ownership is decided by *where a path
|
|
9
|
+
* lives* (`ownership.ts`), not by a flag, so flipping ownership is a move from
|
|
10
|
+
* `<generatedDir>/x` to `<businessDir>/x`. A manifest flag alone would contradict
|
|
11
|
+
* the location rule the planner enforces.
|
|
12
|
+
* 2. **The generated path is excluded forever.** The manifest records it in `ejected`,
|
|
13
|
+
* and `planRegeneration` drops it from every plan. Without this the next `gen` would
|
|
14
|
+
* simply recreate the generated file and the edit would be lost again.
|
|
15
|
+
*
|
|
16
|
+
* The write order is deliberate: destination first, source second. An interrupted eject
|
|
17
|
+
* leaves two copies, never zero.
|
|
18
|
+
*
|
|
19
|
+
* Two refusals are not negotiable. Ejecting onto a business file with different bytes
|
|
20
|
+
* would destroy developer-owned content — the one thing the ownership model protects —
|
|
21
|
+
* so it fails and names the file to move aside. Ejecting a path the manifest never
|
|
22
|
+
* recorded has nothing to transfer and is refused rather than manufacturing a business
|
|
23
|
+
* file from an accident.
|
|
24
|
+
*/
|
|
25
|
+
import { type AidManifest } from './aid-manifest.js';
|
|
26
|
+
import { type GeneratorDiagnostic } from './diagnostics.js';
|
|
27
|
+
import type { RegenerationSink } from './drift.js';
|
|
28
|
+
export interface ManagedPathOptions {
|
|
29
|
+
generatedDir?: string;
|
|
30
|
+
businessDir?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The business-tier home of a generated path: `<generatedDir>/a/b.py` becomes
|
|
34
|
+
* `<businessDir>/a/b.py`. Returns `undefined` for anything that is not a file directly
|
|
35
|
+
* beneath the generated root, so a caller cannot "eject" a directory or a foreign path.
|
|
36
|
+
*/
|
|
37
|
+
export declare function businessPathFor(path: string, options?: ManagedPathOptions): string | undefined;
|
|
38
|
+
export type EjectStatus = 'ejected' | 'already-owned';
|
|
39
|
+
export interface EjectResult {
|
|
40
|
+
readonly ok: boolean;
|
|
41
|
+
/** `ejected` when ownership moved; `already-owned` when there was nothing to do. */
|
|
42
|
+
readonly status?: EjectStatus;
|
|
43
|
+
readonly from?: string;
|
|
44
|
+
readonly to?: string;
|
|
45
|
+
/** True when the destination did not exist and was written. False when it already held
|
|
46
|
+
* identical bytes (the transfer still removes the generated copy). */
|
|
47
|
+
readonly written?: boolean;
|
|
48
|
+
readonly dryRun?: boolean;
|
|
49
|
+
/** The manifest to write. Absent when the request was refused. */
|
|
50
|
+
readonly manifest?: AidManifest;
|
|
51
|
+
readonly diagnostics: readonly GeneratorDiagnostic[];
|
|
52
|
+
}
|
|
53
|
+
export interface EjectRequest extends ManagedPathOptions {
|
|
54
|
+
/** The generated path to take ownership of, repo-relative. */
|
|
55
|
+
readonly path: string;
|
|
56
|
+
readonly sink: RegenerationSink;
|
|
57
|
+
readonly manifest: AidManifest | undefined;
|
|
58
|
+
/** Report the move without writing anything. */
|
|
59
|
+
readonly dryRun?: boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Moves one generated file to the business tier and records a permanent exclusion.
|
|
63
|
+
*
|
|
64
|
+
* Idempotent by design: ejecting a path that is already developer-owned succeeds with
|
|
65
|
+
* `status: 'already-owned'`, so a script can call it without first asking whether the
|
|
66
|
+
* file was ejected.
|
|
67
|
+
*/
|
|
68
|
+
export declare function eject(request: EjectRequest): EjectResult;
|
|
69
|
+
//# sourceMappingURL=eject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eject.d.ts","sourceRoot":"","sources":["../src/eject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,WAAW,EAA2C,MAAM,mBAAmB,CAAC;AAE9F,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQnD,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,kBAAuB,GAC/B,MAAM,GAAG,SAAS,CAYpB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB;2EACuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAiIxD"}
|