@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.
@@ -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;CACnC;AAoBD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,qBAAqB,GAAG,WAAW,CAE/E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,UAAU,EAAE,qBAAqB,GAChC,WAAW,CAYb;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,CAqCxB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CAgBxB;AAiJD,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAgBlE"}
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"}
@@ -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 { manifestVersion: AID_MANIFEST_VERSION, generatedBy: provenance, files: [] };
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
@@ -1 +1 @@
1
- {"version":3,"file":"aid-manifest.js","sourceRoot":"","sources":["../src/aid-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aid-manifest.js","sourceRoot":"","sources":["../src/aid-manifest.ts"],"names":[],"mappings":"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"}
@@ -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;CACnC,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"}
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"}
@@ -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];
@@ -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;CACnC,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"}
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 {
@@ -1 +1 @@
1
- {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"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"}
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
- return sortByPath(manifest.files.filter((file) => file.owner === 'generated' && !planned.has(file.path))).map((file) => file.path);
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":"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"}
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;AA8D/D,MAAM,UAAU,gBAAgB,CAAC,IAAU,EAAE,OAA4B;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,WAAW,GAA0B,EAAE,CAAC;IAE9C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,sFAAsF;QACtF,gFAAgF;QAChF,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,mFAAmF;QACnF,oFAAoF;QACpF,sFAAsF;QACtF,4DAA4D;QAC5D,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,iFAAiF;gBACjF,oDAAoD;gBACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACtE,YAAY;aACb,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,0BAA0B,CAAC,cAAc;gBAC/C,OAAO,EACL,QAAQ,KAAK,SAAS;oBACpB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,4GAA4G;oBAC3H,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,6CAA6C,QAAQ,CAAC,MAAM,WAAW,YAAY,IAAI;gBAC1G,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,KAAK;oBACT,CAAC,CAAC,kDAAkD,IAAI,CAAC,IAAI,kBAAkB;oBAC/E,CAAC,CAAC,mBAAmB,IAAI,CAAC,IAAI,sGAAsG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aAClK,CAAC;YACF,oFAAoF;YACpF,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,IAAI,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;YACf,IAAI,EAAE,0BAA0B,CAAC,cAAc;YAC/C,OAAO,EAAE,IAAI,IAAI,uBAAuB,QAAQ,EAAE,WAAW,CAAC,SAAS,IAAI,sBAAsB,6BAA6B;YAC9H,IAAI;YACJ,IAAI,EAAE,KAAK;gBACT,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,mHAAmH;SACxH,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO;QACP,OAAO;QACP,OAAO;QACP,SAAS;QACT,IAAI;QACJ,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3F,OAAO;QACP,KAAK;QACL,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAU,EAAE,QAAiC;IAC/E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,kFAAkF;IAClF,gDAAgD;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,UAAU,CACf,QAAQ,CAAC,KAAK,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3F,CACF,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,IAAU,EACV,OAAoE;IAEpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAuB;QACtC,GAAG,MAAM;QACT,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;KAChF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,YAAY,CAAC;YACrB,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY;YACZ,KAAK;YACL,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;KACH,CAAC;AACJ,CAAC;AAYD;;;;;;;;;;GAUG;AACH,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAE5D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/C,kFAAkF;QAClF,mFAAmF;QACnF,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU;YAAE,SAAS;QACxC,qFAAqF;QACrF,+DAA+D;QAC/D,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAE1C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CACV,QAAQ,KAAK,SAAS;gBACpB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC;oBACE,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;oBACzC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;oBACrC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB;iBACpD,CACN,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;YACrC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB;SACpD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,eAAe,EAAE,oBAAoB;QACrC,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;QAC1B,iFAAiF;QACjF,oFAAoF;QACpF,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE;KAClC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAA4B;IACjE,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,WAAW,CAAC;AACrD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,yBAAyB,CAAC,MAA0B;IAClE,MAAM,KAAK,GAAG;QACZ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,UAAU;QAClC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,UAAU;QAClC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,YAAY;QACtC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO;KAC7B,CAAC;IACF,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC9F,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAA0B;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA+B;IAC5D,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC;AACxE,CAAC"}
@@ -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"}