@sledorze/cairn 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -18
- package/dist/cli.js +68527 -70592
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -10
- package/dist/config.js.map +1 -1
- package/dist/core/Config.d.ts +21 -21
- package/dist/core/Config.d.ts.map +1 -1
- package/dist/core/Config.js +33 -33
- package/dist/core/Config.js.map +1 -1
- package/dist/core/DocSummaries.d.ts +13 -1
- package/dist/core/DocSummaries.d.ts.map +1 -1
- package/dist/core/DocSummaries.js +25 -3
- package/dist/core/DocSummaries.js.map +1 -1
- package/dist/core/MarkdownLinks.bench.js +1 -1
- package/dist/core/MarkdownLinks.d.ts.map +1 -1
- package/dist/core/StampStore.d.ts +47 -0
- package/dist/core/StampStore.d.ts.map +1 -0
- package/dist/core/StampStore.js +90 -0
- package/dist/core/StampStore.js.map +1 -0
- package/dist/core/SummaryTree.bench.js +23 -14
- package/dist/core/SummaryTree.bench.js.map +1 -1
- package/dist/core/SummaryTree.d.ts +10 -1
- package/dist/core/SummaryTree.d.ts.map +1 -1
- package/dist/core/SummaryTree.js +34 -9
- package/dist/core/SummaryTree.js.map +1 -1
- package/dist/core/glob.bench.js +1 -1
- package/dist/core/glob.d.ts.map +1 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/init/content.d.ts +2 -2
- package/dist/init/content.d.ts.map +1 -1
- package/dist/init/content.js +45 -15
- package/dist/init/content.js.map +1 -1
- package/dist/init/generate.d.ts +1 -1
- package/dist/init/generate.d.ts.map +1 -1
- package/dist/init/generate.js +1 -1
- package/dist/io/DocsFs.d.ts +2 -3
- package/dist/io/DocsFs.d.ts.map +1 -1
- package/dist/io/DocsFs.js +15 -5
- package/dist/io/DocsFs.js.map +1 -1
- package/dist/program/CheckLinks.d.ts.map +1 -1
- package/dist/program/CheckLinks.js +4 -4
- package/dist/program/CheckLinks.js.map +1 -1
- package/dist/program/CheckSummaries.bench.d.ts +2 -0
- package/dist/program/CheckSummaries.bench.d.ts.map +1 -0
- package/dist/program/CheckSummaries.bench.js +92 -0
- package/dist/program/CheckSummaries.bench.js.map +1 -0
- package/dist/program/CheckSummaries.d.ts +25 -5
- package/dist/program/CheckSummaries.d.ts.map +1 -1
- package/dist/program/CheckSummaries.js +143 -40
- package/dist/program/CheckSummaries.js.map +1 -1
- package/dist/program/JsonReport.d.ts.map +1 -1
- package/dist/program/JsonReport.js +2 -2
- package/dist/program/locale.d.ts.map +1 -1
- package/package.json +6 -8
- package/schema/cairn.schema.json +35 -38
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKjE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAM9G,2EAA2E;AAC3E,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKjE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAM9G,2EAA2E;AAC3E,eAAO,MAAM,WAAW,SAAU,MAAM,QAAQ,MAAM,KAAG,OAMxD,CAAA;AA8ED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,uFAAuF;AACvF,eAAO,MAAM,eAAe,+BAA+B,CAAA;AAE3D;;0FAE0F;AAC1F,eAAO,MAAM,oBAAoB,QAC1B,MAAM,cACA,SAAS,iBACL,MAAM,KACpB,wBAUF,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,UAAU,QAAS,MAAM,cAAa,SAAS,iBAAsB,MAAM,KAAG,cAChC,CAAA;AAiE3D,4FAA4F;AAC5F,eAAO,MAAM,WAAW,QAAS,MAAM,YAAY,SAAS,MAAM,EAAE,KAAG,MAAM,EAQ5E,CAAA"}
|
package/dist/config.js
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
// already-resolved values.
|
|
7
7
|
import * as fs from 'node:fs';
|
|
8
8
|
import * as path from 'node:path';
|
|
9
|
-
import {
|
|
10
|
-
import { DEFAULT_CONFIG, decodeConfig, formatConfigError, layerConfig } from
|
|
11
|
-
import { globToRegExp } from
|
|
12
|
-
import { toPosix } from
|
|
13
|
-
export { CairnConfigSchema, DEFAULT_CONFIG, decodeConfig, formatConfigError, LOCALES } from
|
|
9
|
+
import { Result } from 'effect';
|
|
10
|
+
import { DEFAULT_CONFIG, decodeConfig, formatConfigError, layerConfig } from './core/Config.js';
|
|
11
|
+
import { globToRegExp } from './core/glob.js';
|
|
12
|
+
import { toPosix } from './core/paths.js';
|
|
13
|
+
export { CairnConfigSchema, DEFAULT_CONFIG, decodeConfig, formatConfigError, LOCALES } from './core/Config.js';
|
|
14
14
|
const isRecord = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
15
15
|
const CONFIG_FILENAMES = ['.cairnrc.json', '.cairnrc'];
|
|
16
16
|
/** Parse JSON, turning a syntax error into a clear, actionable message. */
|
|
@@ -66,14 +66,14 @@ const resolveExtendsTarget = (cwd, specifier, fromFile, visited, acc) => {
|
|
|
66
66
|
};
|
|
67
67
|
/** Decode one raw layer, fold in its own `extends` chain (base presets applied first, in
|
|
68
68
|
* order, onto `acc`, then this layer's own fields last), and return the updated
|
|
69
|
-
* accumulator. `decodeConfig` is pure and total (it returns a `
|
|
70
|
-
* throws) — the edge is where that `
|
|
69
|
+
* accumulator. `decodeConfig` is pure and total (it returns a `Failure` on failure, never
|
|
70
|
+
* throws) — the edge is where that `Failure` becomes a thrown, human-readable error. */
|
|
71
71
|
const resolveLayer = (cwd, raw, file, visited = [], acc = DEFAULT_CONFIG) => {
|
|
72
72
|
const result = decodeConfig(raw);
|
|
73
|
-
if (
|
|
74
|
-
throw new Error(formatConfigError(result.
|
|
73
|
+
if (Result.isFailure(result)) {
|
|
74
|
+
throw new Error(formatConfigError(result.failure, file));
|
|
75
75
|
}
|
|
76
|
-
const decoded = result.
|
|
76
|
+
const decoded = result.success;
|
|
77
77
|
const nextVisited = [...visited, file];
|
|
78
78
|
const withExtends = (decoded.extends ?? []).reduce((innerAcc, specifier) => resolveExtendsTarget(cwd, specifier, file, nextVisited, innerAcc), acc);
|
|
79
79
|
return layerConfig(withExtends, decoded);
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,oFAAoF;AACpF,iFAAiF;AACjF,wEAAwE;AACxE,2BAA2B;AAE3B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE9G,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAgC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAEvH,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;AAEtD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE;IACjE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAA;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAClG,CAAC;AACH,CAAC,CAAA;AAED,iGAAiG;AACjG,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,YAAqB,EAAyC,EAAE;IAClG,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IACpH,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAA;QACxE,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;QAClE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAA;QACxD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;;;;;;;;gFAcgF;AAChF,MAAM,oBAAoB,GAAG,CAC3B,GAAW,EACX,SAAiB,EACjB,QAAgB,EAChB,OAA0B,EAC1B,GAAmB,EACH,EAAE;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;IACzG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,+BAA+B,SAAS,iBAAiB,QAAQ,GAAG,CACzG,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,uBAAuB,CAAC,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnH,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;AAC5G,CAAC,CAAA;AAED;;;wFAGwF;AACxF,MAAM,YAAY,GAAG,CACnB,GAAW,EACX,GAAY,EACZ,IAAY,EACZ,OAAO,GAAsB,EAAE,EAC/B,GAAG,GAAmB,cAAc,EACpB,EAAE;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAChD,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAC1F,GAAG,CACJ,CAAA;IACD,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC,CAAA;AAOD,uFAAuF;AACvF,MAAM,CAAC,MAAM,eAAe,GAAG,4BAA4B,CAAA;AAE3D;;0FAE0F;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,GAAW,EACX,SAAS,GAAc,EAAE,EACzB,YAAqB,EACK,EAAE;IAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACzF,MAAM,MAAM,GAAmB;QAC7B,GAAG,MAAM;QACT,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QACvE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QACpG,GAAG,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,CAAC;KAChG,CAAA;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,IAAI,eAAe,EAAE,CAAA;AAC/D,CAAC,CAAA;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,SAAS,GAAc,EAAE,EAAE,YAAqB,EAAkB,EAAE,CAC1G,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,MAAM,CAAA;AAE3D,MAAM,OAAO,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAE5F,sFAAsF;AACtF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,OAAe,EAAY,EAAE;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,qDAAqD;gBACrD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtC,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;gBAClC,SAAQ;YACV,CAAC;YACD,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YAChC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,CAAS,EAAW,EAAE;IACnC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,+EAA+E;AAC/E,4CAA4C;AAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAErD,MAAM,YAAY,GAAG,CAAC,GAAW,EAAY,EAAE;IAC7C,IAAI,CAAC;QACH,OAAO,EAAE;aACN,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,GAAW,EAAY,EAAE;IAC/C,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAClC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,QAA2B,EAAY,EAAE;IAChF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;AAClB,CAAC,CAAA"}
|
package/dist/core/Config.d.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
1
|
+
import type { Result, SchemaError } from 'effect';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
3
|
import type { Naming } from './DocSummaries.ts';
|
|
4
4
|
/** The shape of a `.cairnrc.json` / `package.json#cairn` file, and of every `extends`
|
|
5
5
|
* target: every field optional, `checks`/`naming` deep-mergeable, unknown keys rejected.
|
|
6
6
|
* `$schema` is accepted-but-inert: it's the JSON Schema meta-property IDEs read for
|
|
7
7
|
* autocomplete (see scripts/generate-schema.ts) — not a cairn setting. */
|
|
8
8
|
export declare const CairnConfigSchema: Schema.Struct<{
|
|
9
|
-
$schema: Schema.
|
|
10
|
-
checks: Schema.
|
|
11
|
-
links: Schema.
|
|
12
|
-
summaries: Schema.
|
|
9
|
+
readonly $schema: Schema.optionalKey<Schema.String>;
|
|
10
|
+
readonly checks: Schema.optionalKey<Schema.Struct<{
|
|
11
|
+
readonly links: Schema.optionalKey<Schema.Boolean>;
|
|
12
|
+
readonly summaries: Schema.optionalKey<Schema.Boolean>;
|
|
13
13
|
}>>;
|
|
14
|
-
extends: Schema.
|
|
15
|
-
ignore: Schema.
|
|
16
|
-
locale: Schema.
|
|
17
|
-
naming: Schema.
|
|
18
|
-
dirSummary: Schema.
|
|
19
|
-
fileSummarySuffix: Schema.
|
|
14
|
+
readonly extends: Schema.optionalKey<Schema.decodeTo<Schema.$Array<Schema.String>, Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>, never, never>>;
|
|
15
|
+
readonly ignore: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
16
|
+
readonly locale: Schema.optionalKey<Schema.Literals<readonly ["en", "fr"]>>;
|
|
17
|
+
readonly naming: Schema.optionalKey<Schema.Struct<{
|
|
18
|
+
readonly dirSummary: Schema.optionalKey<Schema.String>;
|
|
19
|
+
readonly fileSummarySuffix: Schema.optionalKey<Schema.String>;
|
|
20
20
|
}>>;
|
|
21
|
-
requireDirSummaries: Schema.
|
|
22
|
-
roots: Schema.
|
|
23
|
-
stampCommand: Schema.
|
|
24
|
-
thresholdLines: Schema.
|
|
21
|
+
readonly requireDirSummaries: Schema.optionalKey<Schema.Boolean>;
|
|
22
|
+
readonly roots: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
23
|
+
readonly stampCommand: Schema.optionalKey<Schema.String>;
|
|
24
|
+
readonly thresholdLines: Schema.optionalKey<Schema.Int>;
|
|
25
25
|
}>;
|
|
26
26
|
/** One decoded, still-partial config layer (a single file, before `extends` is folded in). */
|
|
27
27
|
export type CairnConfigInput = Schema.Schema.Type<typeof CairnConfigSchema>;
|
|
@@ -57,22 +57,22 @@ export interface Overrides {
|
|
|
57
57
|
}
|
|
58
58
|
export declare const DEFAULT_CONFIG: ResolvedConfig;
|
|
59
59
|
/** Strictly decode one raw (untrusted) config layer: unknown keys and wrong-typed values
|
|
60
|
-
* are rejected via a `
|
|
60
|
+
* are rejected via a `Failure` — never silently ignored or defaulted. Total and pure over
|
|
61
61
|
* its actual domain, any value `JSON.parse` can produce (the only inputs this module's
|
|
62
62
|
* callers ever pass, including circular-reference-free by construction): `effect/Schema`
|
|
63
|
-
* already hands back
|
|
63
|
+
* already hands back a `Result`, so collapsing it into a thrown exception here (as an
|
|
64
64
|
* earlier version of this function did) would be a purity leak inside a module
|
|
65
65
|
* documented as "no IO" — the throw/catch decision belongs to whichever caller is
|
|
66
66
|
* equipped to make it (the edge, in `../config.ts`), not to the decoder. (Not total over
|
|
67
67
|
* *every* JS value of type `unknown`: an object with a throwing property getter would
|
|
68
68
|
* still propagate that throw — out of scope for a config decoder, not worth the
|
|
69
69
|
* complexity of catching arbitrary property-access exceptions from a value no real
|
|
70
|
-
* caller constructs.) Formatting a `
|
|
70
|
+
* caller constructs.) Formatting a `Failure` for a human is a separate, equally pure
|
|
71
71
|
* concern (`formatConfigError`, below): decoding has no business knowing which file it
|
|
72
72
|
* came from — that's the caller's context, not the decoder's. */
|
|
73
|
-
export declare const decodeConfig: (raw: unknown) =>
|
|
73
|
+
export declare const decodeConfig: (raw: unknown) => Result.Result<CairnConfigInput, SchemaError.SchemaError>;
|
|
74
74
|
/** Render a decode failure into a clear, actionable, file-scoped message. */
|
|
75
|
-
export declare const formatConfigError: (error:
|
|
75
|
+
export declare const formatConfigError: (error: SchemaError.SchemaError, file: string) => string;
|
|
76
76
|
/** Layer a decoded config over a resolved base: `checks`/`naming` deep-merge field by
|
|
77
77
|
* field, everything else replaces when present. Used for `extends` presets, the local
|
|
78
78
|
* file, and CLI overrides — always in "later wins" precedence order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/core/Config.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/core/Config.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAA;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAmD/C;;;0EAG0E;AAC1E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;EA+B5B,CAAA;AAEF,8FAA8F;AAC9F,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED;;;;;oEAKoE;AACpE,eAAO,MAAM,OAAO,uBAAwB,CAAA;AAC5C,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C;mFACmF;AACnF,eAAO,MAAM,qBAAqB,6CAA6C,CAAA;AAE/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,eAAO,MAAM,cAAc,EAAE,cAS5B,CAAA;AAED;;;;;;;;;;;;;iEAaiE;AACjE,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,WAAW,CACD,CAAA;AAElG,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,UAAW,WAAW,CAAC,WAAW,QAAQ,MAAM,KAAG,MAC1B,CAAA;AAEvD;;wEAEwE;AACxE,eAAO,MAAM,WAAW,SAAU,cAAc,SAAS,gBAAgB,KAAG,cAgB1E,CAAA"}
|
package/dist/core/Config.js
CHANGED
|
@@ -4,49 +4,49 @@
|
|
|
4
4
|
//
|
|
5
5
|
// `CairnConfigSchema` is the single source of truth for: (1) the strict per-layer
|
|
6
6
|
// decode below, and (2) the JSON Schema shipped for editor autocomplete
|
|
7
|
-
// (`scripts/generate-schema.ts` -> `schema/cairn.schema.json`, via `
|
|
7
|
+
// (`scripts/generate-schema.ts` -> `schema/cairn.schema.json`, via `Schema.toJsonSchemaDocument`).
|
|
8
8
|
// Every field is optional (a config file only specifies what it overrides), but
|
|
9
9
|
// unknown keys and wrong-typed values are rejected with a clear, actionable error —
|
|
10
10
|
// never silently ignored. A config system that quietly falls back to defaults on a
|
|
11
11
|
// typo would undermine cairn's own thesis: it's a CI *guarantee*, and a guarantee
|
|
12
12
|
// that silently checks the wrong thing isn't one.
|
|
13
13
|
//
|
|
14
|
-
// This module uses `effect`'s `Schema`/`
|
|
14
|
+
// This module uses `effect`'s `Schema`/`Result`/`SchemaError` — pure, synchronous,
|
|
15
15
|
// side-effect-free combinators (unlike `Effect`/`Layer`/`Runtime`, which represent
|
|
16
16
|
// the effectful, scheduled part of the library) — so it stays within `core/`'s "no
|
|
17
17
|
// IO" contract despite depending on `effect`.
|
|
18
|
-
import {
|
|
19
|
-
import { DEFAULT_NAMING, DEFAULT_THRESHOLD_LINES } from
|
|
18
|
+
import { Schema, SchemaGetter } from 'effect';
|
|
19
|
+
import { DEFAULT_NAMING, DEFAULT_THRESHOLD_LINES } from './DocSummaries.js';
|
|
20
20
|
const ChecksInputSchema = Schema.Struct({
|
|
21
|
-
links: Schema.
|
|
22
|
-
summaries: Schema.
|
|
21
|
+
links: Schema.optionalKey(Schema.Boolean.annotate({ description: 'Enable Markdown dead-link checking. Default true.' })),
|
|
22
|
+
summaries: Schema.optionalKey(Schema.Boolean.annotate({
|
|
23
23
|
description: 'Enable summary freshness checking (content-hash based). Default true.',
|
|
24
24
|
})),
|
|
25
|
-
}).
|
|
25
|
+
}).annotate({ description: 'Which checks `cairn check` runs.', identifier: 'CairnChecksConfig' });
|
|
26
26
|
const NamingInputSchema = Schema.Struct({
|
|
27
|
-
dirSummary: Schema.
|
|
28
|
-
fileSummarySuffix: Schema.
|
|
29
|
-
}).
|
|
30
|
-
const LocaleSchema = Schema.
|
|
27
|
+
dirSummary: Schema.optionalKey(Schema.String.annotate({ description: 'Directory summary filename. Default "_SUMMARY.md".' })),
|
|
28
|
+
fileSummarySuffix: Schema.optionalKey(Schema.String.annotate({ description: 'Suffix for file summaries. Default ".summary.md".' })),
|
|
29
|
+
}).annotate({ description: 'Configurable filenames for the summary system.', identifier: 'CairnNamingConfig' });
|
|
30
|
+
const LocaleSchema = Schema.Literals(['en', 'fr']).annotate({
|
|
31
31
|
description: 'Prose locale for generated guidance and report strings. Default "en".',
|
|
32
32
|
});
|
|
33
33
|
// "Make illegal states unrepresentable": thresholdLines is compared as `lineCount >
|
|
34
34
|
// thresholdLines` (core/DocSummaries.ts) — negative or fractional values are nonsensical,
|
|
35
35
|
// not just unusual, so they're rejected at the schema level instead of quietly
|
|
36
36
|
// misbehaving downstream.
|
|
37
|
-
const ThresholdLinesSchema = Schema.
|
|
37
|
+
const ThresholdLinesSchema = Schema.Int.pipe(Schema.check(Schema.isGreaterThanOrEqualTo(0))).annotate({
|
|
38
38
|
description: 'Line count above which a file needs a summary. Non-negative integer. Default 30.',
|
|
39
39
|
});
|
|
40
40
|
// "Parse, don't validate": raw JSON may write a bare string OR an array (ergonomics —
|
|
41
41
|
// one preset shouldn't force array syntax), but the *decoded* value is always an array.
|
|
42
42
|
// The union is collapsed once, here, instead of every consumer re-deriving
|
|
43
43
|
// `Array.isArray(x) ? x : [x]` for itself.
|
|
44
|
-
const ExtendsInputSchema = Schema.Union(Schema.String, Schema.Array(Schema.String));
|
|
44
|
+
const ExtendsInputSchema = Schema.Union([Schema.String, Schema.Array(Schema.String)]);
|
|
45
45
|
const ExtendsOutputSchema = Schema.Array(Schema.String);
|
|
46
|
-
const ExtendsSchema = Schema.
|
|
47
|
-
decode: (value) => (Array.isArray(value) ? value : [value]),
|
|
48
|
-
encode: (
|
|
49
|
-
}).
|
|
46
|
+
const ExtendsSchema = ExtendsInputSchema.pipe(Schema.decodeTo(ExtendsOutputSchema, {
|
|
47
|
+
decode: SchemaGetter.transform((value) => (Array.isArray(value) ? value : [value])),
|
|
48
|
+
encode: SchemaGetter.passthroughSupertype(),
|
|
49
|
+
})).annotate({
|
|
50
50
|
description: 'One or more config files (paths, relative to this file) to inherit from. Local fields win over inherited ones.',
|
|
51
51
|
});
|
|
52
52
|
/** The shape of a `.cairnrc.json` / `package.json#cairn` file, and of every `extends`
|
|
@@ -54,23 +54,23 @@ const ExtendsSchema = Schema.transform(ExtendsInputSchema, ExtendsOutputSchema,
|
|
|
54
54
|
* `$schema` is accepted-but-inert: it's the JSON Schema meta-property IDEs read for
|
|
55
55
|
* autocomplete (see scripts/generate-schema.ts) — not a cairn setting. */
|
|
56
56
|
export const CairnConfigSchema = Schema.Struct({
|
|
57
|
-
$schema: Schema.
|
|
58
|
-
checks: Schema.
|
|
59
|
-
extends: Schema.
|
|
60
|
-
ignore: Schema.
|
|
57
|
+
$schema: Schema.optionalKey(Schema.String.annotate({ description: 'JSON Schema URL for editor autocomplete/validation. Ignored by cairn.' })),
|
|
58
|
+
checks: Schema.optionalKey(ChecksInputSchema),
|
|
59
|
+
extends: Schema.optionalKey(ExtendsSchema),
|
|
60
|
+
ignore: Schema.optionalKey(Schema.Array(Schema.String).annotate({
|
|
61
61
|
description: 'Globs to exclude from scanning. Default ["**/node_modules/**"].',
|
|
62
62
|
})),
|
|
63
|
-
locale: Schema.
|
|
64
|
-
naming: Schema.
|
|
65
|
-
requireDirSummaries: Schema.
|
|
63
|
+
locale: Schema.optionalKey(LocaleSchema),
|
|
64
|
+
naming: Schema.optionalKey(NamingInputSchema),
|
|
65
|
+
requireDirSummaries: Schema.optionalKey(Schema.Boolean.annotate({
|
|
66
66
|
description: 'Require a directory summary in every in-scope directory. Default true.',
|
|
67
67
|
})),
|
|
68
|
-
roots: Schema.
|
|
68
|
+
roots: Schema.optionalKey(Schema.Array(Schema.String).annotate({
|
|
69
69
|
description: 'Documentation roots to scan (globs allowed). Default ["docs"].',
|
|
70
70
|
})),
|
|
71
|
-
stampCommand: Schema.
|
|
72
|
-
thresholdLines: Schema.
|
|
73
|
-
}).
|
|
71
|
+
stampCommand: Schema.optionalKey(Schema.String.annotate({ description: 'Command agents should run to stamp hashes after editing docs.' })),
|
|
72
|
+
thresholdLines: Schema.optionalKey(ThresholdLinesSchema),
|
|
73
|
+
}).annotate({
|
|
74
74
|
description: 'Configuration for the cairn CLI (.cairnrc.json, .cairnrc, or the "cairn" key of package.json).',
|
|
75
75
|
identifier: 'CairnConfig',
|
|
76
76
|
title: 'cairn configuration',
|
|
@@ -96,22 +96,22 @@ export const DEFAULT_CONFIG = {
|
|
|
96
96
|
thresholdLines: DEFAULT_THRESHOLD_LINES,
|
|
97
97
|
};
|
|
98
98
|
/** Strictly decode one raw (untrusted) config layer: unknown keys and wrong-typed values
|
|
99
|
-
* are rejected via a `
|
|
99
|
+
* are rejected via a `Failure` — never silently ignored or defaulted. Total and pure over
|
|
100
100
|
* its actual domain, any value `JSON.parse` can produce (the only inputs this module's
|
|
101
101
|
* callers ever pass, including circular-reference-free by construction): `effect/Schema`
|
|
102
|
-
* already hands back
|
|
102
|
+
* already hands back a `Result`, so collapsing it into a thrown exception here (as an
|
|
103
103
|
* earlier version of this function did) would be a purity leak inside a module
|
|
104
104
|
* documented as "no IO" — the throw/catch decision belongs to whichever caller is
|
|
105
105
|
* equipped to make it (the edge, in `../config.ts`), not to the decoder. (Not total over
|
|
106
106
|
* *every* JS value of type `unknown`: an object with a throwing property getter would
|
|
107
107
|
* still propagate that throw — out of scope for a config decoder, not worth the
|
|
108
108
|
* complexity of catching arbitrary property-access exceptions from a value no real
|
|
109
|
-
* caller constructs.) Formatting a `
|
|
109
|
+
* caller constructs.) Formatting a `Failure` for a human is a separate, equally pure
|
|
110
110
|
* concern (`formatConfigError`, below): decoding has no business knowing which file it
|
|
111
111
|
* came from — that's the caller's context, not the decoder's. */
|
|
112
|
-
export const decodeConfig = (raw) => Schema.
|
|
112
|
+
export const decodeConfig = (raw) => Schema.decodeUnknownResult(CairnConfigSchema, { errors: 'all', onExcessProperty: 'error' })(raw);
|
|
113
113
|
/** Render a decode failure into a clear, actionable, file-scoped message. */
|
|
114
|
-
export const formatConfigError = (error, file) => `cairn: invalid config in ${file}:\n${
|
|
114
|
+
export const formatConfigError = (error, file) => `cairn: invalid config in ${file}:\n${error.message}`;
|
|
115
115
|
/** Layer a decoded config over a resolved base: `checks`/`naming` deep-merge field by
|
|
116
116
|
* field, everything else replaces when present. Used for `extends` presets, the local
|
|
117
117
|
* file, and CLI overrides — always in "later wins" precedence order. */
|
package/dist/core/Config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/core/Config.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,2EAA2E;AAC3E,sEAAsE;AACtE,EAAE;AACF,kFAAkF;AAClF,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/core/Config.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,8 +35,20 @@ export declare const hashContent: (content: string) => string;
|
|
|
35
35
|
export declare const sourceHashTag: (hash: string) => string;
|
|
36
36
|
/** Read back the source hash recorded in a summary, or null if absent. */
|
|
37
37
|
export declare const extractSourceHash: (summaryContent: string) => string | null;
|
|
38
|
-
/** Return the summary content stamped with `hash` (replacing any existing stamp).
|
|
38
|
+
/** Return the summary content stamped with `hash` (replacing any existing stamp).
|
|
39
|
+
* Retained only for the one-off `--migrate-stamps` path (`CheckSummaries.ts`),
|
|
40
|
+
* which needs to recognise the OLD in-content form while migrating a repo off
|
|
41
|
+
* it — the ongoing stamp mechanism now lives in a `.cairn/**` sidecar
|
|
42
|
+
* (`StampStore.ts`), never in a summary's own content. */
|
|
39
43
|
export declare const withSourceHash: (summaryContent: string, hash: string) => string;
|
|
44
|
+
/**
|
|
45
|
+
* Remove a legacy in-content stamp (and the blank line `withSourceHash` used to
|
|
46
|
+
* insert after it), leaving pure authored prose. The one-time migration step:
|
|
47
|
+
* `--migrate-stamps` calls this on every summary that still carries the old
|
|
48
|
+
* comment, before writing the hash to its `.cairn/**` sidecar instead. A no-op
|
|
49
|
+
* (returns `summaryContent` unchanged) when no stamp is present.
|
|
50
|
+
*/
|
|
51
|
+
export declare const stripSourceHash: (summaryContent: string) => string;
|
|
40
52
|
/** Classify a summary: missing, stale (hash absent or mismatched) or ok. */
|
|
41
53
|
export declare const classifySummary: ({ recordedHash, sourceHash, summaryExists }: ClassifyArgs) => SummaryStatus;
|
|
42
54
|
//# sourceMappingURL=DocSummaries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocSummaries.d.ts","sourceRoot":"","sources":["../../src/core/DocSummaries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DocSummaries.d.ts","sourceRoot":"","sources":["../../src/core/DocSummaries.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAA;AAEtD,qDAAqD;AACrD,MAAM,WAAW,MAAM;IACrB,yDAAyD;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CACnC;AAED,4DAA4D;AAC5D,eAAO,MAAM,cAAc,EAAE,MAG5B,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAChC;AAED,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,KAAK,CAAA;AAIzC,uDAAuD;AACvD,eAAO,MAAM,UAAU,YAAa,MAAM,KAAG,MAM5C,CAAA;AAED,uDAAuD;AACvD,eAAO,MAAM,aAAa,SAAU,MAAM,WAAU,MAAM,KAAoB,OACrC,CAAA;AAEzC,wEAAwE;AACxE,eAAO,MAAM,cAAc,SAAU,MAAM,WAAU,MAAM,KAAoB,MAC9B,CAAA;AAEjD,iFAAiF;AACjF,eAAO,MAAM,YAAY,iDAKtB,gBAAgB,KAAG,OAQrB,CAAA;AAMD,qEAAqE;AACrE,eAAO,MAAM,WAAW,YAAa,MAAM,KAAG,MAA2C,CAAA;AAEzF,uFAAuF;AACvF,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,MAA2C,CAAA;AAExF,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,mBAAoB,MAAM,KAAG,MAAM,GAAG,IAAiD,CAAA;AAErH;;;;0DAI0D;AAC1D,eAAO,MAAM,cAAc,mBAAoB,MAAM,QAAQ,MAAM,KAAG,MAMrE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,mBAAoB,MAAM,KAAG,MAKxD,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,eAAe,gDAAiD,YAAY,KAAG,aAQ3F,CAAA"}
|
|
@@ -6,8 +6,13 @@
|
|
|
6
6
|
// Freshness is enforced by a content hash, NOT by filesystem mtime: git does not
|
|
7
7
|
// preserve mtimes, so after a clone/checkout (e.g. in CI) every file shares the
|
|
8
8
|
// same timestamp and a time-based check silently passes on stale summaries.
|
|
9
|
-
//
|
|
10
|
-
//
|
|
9
|
+
// The recorded hash lives in a hidden `.cairn/**` sidecar (StampStore.ts), never
|
|
10
|
+
// inside the summary's own content — the checker recomputes the source hash and
|
|
11
|
+
// flags any mismatch against whatever the sidecar last recorded. Deterministic
|
|
12
|
+
// and clone-independent. `extractSourceHash`/`withSourceHash`/`HASH_RE` below
|
|
13
|
+
// recognise the OLD in-content `<!-- source-sha256: ... -->` form; they're kept
|
|
14
|
+
// only for `stripSourceHash` and the one-off `--migrate-stamps` path that moves
|
|
15
|
+
// an existing repo off it.
|
|
11
16
|
//
|
|
12
17
|
// Naming (directory-summary filename, file-summary suffix) is configurable; the
|
|
13
18
|
// defaults below reproduce the original behaviour. Unit-tested in
|
|
@@ -53,7 +58,11 @@ export const hashContent = (content) => hashHex('sha256', content, 'hex');
|
|
|
53
58
|
export const sourceHashTag = (hash) => `<!-- source-sha256: ${hash} -->`;
|
|
54
59
|
/** Read back the source hash recorded in a summary, or null if absent. */
|
|
55
60
|
export const extractSourceHash = (summaryContent) => HASH_RE.exec(summaryContent)?.[1] ?? null;
|
|
56
|
-
/** Return the summary content stamped with `hash` (replacing any existing stamp).
|
|
61
|
+
/** Return the summary content stamped with `hash` (replacing any existing stamp).
|
|
62
|
+
* Retained only for the one-off `--migrate-stamps` path (`CheckSummaries.ts`),
|
|
63
|
+
* which needs to recognise the OLD in-content form while migrating a repo off
|
|
64
|
+
* it — the ongoing stamp mechanism now lives in a `.cairn/**` sidecar
|
|
65
|
+
* (`StampStore.ts`), never in a summary's own content. */
|
|
57
66
|
export const withSourceHash = (summaryContent, hash) => {
|
|
58
67
|
const tag = sourceHashTag(hash);
|
|
59
68
|
if (HASH_RE.test(summaryContent)) {
|
|
@@ -61,6 +70,19 @@ export const withSourceHash = (summaryContent, hash) => {
|
|
|
61
70
|
}
|
|
62
71
|
return `${tag}\n\n${summaryContent}`;
|
|
63
72
|
};
|
|
73
|
+
/**
|
|
74
|
+
* Remove a legacy in-content stamp (and the blank line `withSourceHash` used to
|
|
75
|
+
* insert after it), leaving pure authored prose. The one-time migration step:
|
|
76
|
+
* `--migrate-stamps` calls this on every summary that still carries the old
|
|
77
|
+
* comment, before writing the hash to its `.cairn/**` sidecar instead. A no-op
|
|
78
|
+
* (returns `summaryContent` unchanged) when no stamp is present.
|
|
79
|
+
*/
|
|
80
|
+
export const stripSourceHash = (summaryContent) => {
|
|
81
|
+
if (!HASH_RE.test(summaryContent)) {
|
|
82
|
+
return summaryContent;
|
|
83
|
+
}
|
|
84
|
+
return summaryContent.replace(HASH_RE, '').replace(/^\n+/, '');
|
|
85
|
+
};
|
|
64
86
|
/** Classify a summary: missing, stale (hash absent or mismatched) or ok. */
|
|
65
87
|
export const classifySummary = ({ recordedHash, sourceHash, summaryExists }) => {
|
|
66
88
|
if (!summaryExists) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocSummaries.js","sourceRoot":"","sources":["../../src/core/DocSummaries.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,qDAAqD;AACrD,EAAE;AACF,iFAAiF;AACjF,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"DocSummaries.js","sourceRoot":"","sources":["../../src/core/DocSummaries.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,qDAAqD;AACrD,EAAE;AACF,iFAAiF;AACjF,gFAAgF;AAChF,4EAA4E;AAC5E,iFAAiF;AACjF,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,2BAA2B;AAC3B,EAAE;AACF,gFAAgF;AAChF,kEAAkE;AAClE,oFAAoF;AAEpF,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAY7C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,UAAU,EAAE,aAAa;IACzB,iBAAiB,EAAE,aAAa;CACjC,CAAA;AAeD,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAEzC,MAAM,OAAO,GAAG,8CAA8C,CAAA;AAE9D,uDAAuD;AACvD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAU,EAAE;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,GAAG,EAAE,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC,CAAA;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,MAAM,GAAW,cAAc,EAAW,EAAE,CACtF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAEzC,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,MAAM,GAAW,cAAc,EAAU,EAAE,CACtF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAEjD,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,SAAS,EACT,MAAM,GAAG,cAAc,EACvB,IAAI,EACJ,cAAc,GACG,EAAW,EAAE;IAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,SAAS,GAAG,cAAc,CAAA;AACnC,CAAC,CAAA;AAED,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,+BAA+B;AAC/B,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AAEzF,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,uBAAuB,IAAI,MAAM,CAAA;AAExF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,cAAsB,EAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AAErH;;;;0DAI0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAsB,EAAE,IAAY,EAAU,EAAE;IAC7E,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,GAAG,GAAG,OAAO,cAAc,EAAE,CAAA;AACtC,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,cAAsB,EAAU,EAAE;IAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,cAAc,CAAA;IACvB,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAgB,EAAiB,EAAE;IAC1G,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { bench, describe } from 'vitest';
|
|
2
|
-
import { buildBasenameIndex, checkContent, extractLinkDefinitions, extractLinks, stripCode } from
|
|
2
|
+
import { buildBasenameIndex, checkContent, extractLinkDefinitions, extractLinks, stripCode } from './MarkdownLinks.js';
|
|
3
3
|
const makeDoc = (linkCount) => {
|
|
4
4
|
const lines = [];
|
|
5
5
|
for (let i = 0; i < linkCount; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownLinks.d.ts","sourceRoot":"","sources":["../../src/core/MarkdownLinks.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;CACxD;AAMD;;;;GAIG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"MarkdownLinks.d.ts","sourceRoot":"","sources":["../../src/core/MarkdownLinks.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;CACxD;AAMD;;;;GAIG;AACH,eAAO,MAAM,SAAS,YAAa,MAAM,KAAG,MAGwB,CAAA;AAIpE,kEAAkE;AAClE,eAAO,MAAM,YAAY,YAAa,MAAM,KAAG,YAAY,EAM1D,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,YAAa,MAAM,KAAG,eAAe,EAMvE,CAAA;AAED,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,WAAY,MAAM,KAAG,OAclD,CAAA;AAED,iDAAiD;AACjD,eAAO,MAAM,WAAW,WAAY,MAAM,KAAG,MAAuC,CAAA;AAEpF,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,aAAc,SAAS,MAAM,EAAE,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAYpF,CAAA;AAOD;;;GAGG;AACH,eAAO,MAAM,UAAU,+BAAgC,cAAc,KAAG,MAAM,GAAG,IAOhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,2CAA4C,gBAAgB,KAAG,UAAU,EA2BjG,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** The hidden directory name every metadata tree lives under, relative to `base`. */
|
|
2
|
+
export declare const META_DIR = ".cairn";
|
|
3
|
+
export interface StampRecord {
|
|
4
|
+
readonly sha256: string;
|
|
5
|
+
readonly version: number;
|
|
6
|
+
}
|
|
7
|
+
/** Bumped only if the sidecar's own shape changes incompatibly (never for adding
|
|
8
|
+
* an optional field — `decodeStamp` already tolerates unknown keys). */
|
|
9
|
+
export declare const STAMP_VERSION = 1;
|
|
10
|
+
/** The sidecar's on-disk JSON form. Trailing newline for a clean git diff. */
|
|
11
|
+
export declare const serializeStamp: (record: StampRecord) => string;
|
|
12
|
+
/**
|
|
13
|
+
* Read a sidecar's `StampRecord` back, or `null` if it's missing/corrupt/
|
|
14
|
+
* malformed/hand-edited/merge-conflicted — this must NEVER throw. A stamp that
|
|
15
|
+
* can't be trusted is exactly equivalent to no stamp: the node it covers reads
|
|
16
|
+
* as stale, not as a crash (see AGENTS.md's note on treating an unparsable
|
|
17
|
+
* stamp the same as a missing one).
|
|
18
|
+
*/
|
|
19
|
+
export declare const parseStamp: (content: string) => StampRecord | null;
|
|
20
|
+
export interface MetaLayout {
|
|
21
|
+
/** The project root every node path and every sidecar is resolved under. */
|
|
22
|
+
readonly base: string;
|
|
23
|
+
/** `join(base, META_DIR)` — passed explicitly (not recomputed) so callers who
|
|
24
|
+
* already have it (e.g. after listing `.cairn/**`) don't rederive it. */
|
|
25
|
+
readonly metaRoot: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const metaRootFor: (base: string) => string;
|
|
28
|
+
/** True for any path inside the hidden metadata tree — used to keep `.cairn/**`
|
|
29
|
+
* out of the set of markdown source files a plan considers. */
|
|
30
|
+
export declare const isSidecarPath: (candidate: string, metaRoot: string) => boolean;
|
|
31
|
+
/**
|
|
32
|
+
* `<base>/docs/a.summary.md` -> `<metaRoot>/docs/a.summary.md.json`. Throws if
|
|
33
|
+
* `nodeAtPath` isn't under `base` — every real node path is (roots are always
|
|
34
|
+
* resolved under the project root before a plan ever runs), so this signals a
|
|
35
|
+
* caller bug, not a runtime data condition to recover from.
|
|
36
|
+
*/
|
|
37
|
+
export declare const sidecarPathFor: (nodeAtPath: string, layout: MetaLayout) => string;
|
|
38
|
+
/**
|
|
39
|
+
* The inverse of `sidecarPathFor`: given a sidecar's own path (e.g. found by
|
|
40
|
+
* listing `.cairn/**`), recover the node path it mirrors. Returns `null` for a
|
|
41
|
+
* path that isn't a well-formed sidecar under `metaRoot` (not `.json`, or
|
|
42
|
+
* outside the tree) rather than throwing — unlike `sidecarPathFor`, this reads
|
|
43
|
+
* data that could plausibly be malformed (a stray non-JSON file dropped into
|
|
44
|
+
* `.cairn/` by hand), so `null` is the right "not a sidecar" signal, not a crash.
|
|
45
|
+
*/
|
|
46
|
+
export declare const nodePathForSidecar: (sidecarPath: string, layout: MetaLayout) => string | null;
|
|
47
|
+
//# sourceMappingURL=StampStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StampStore.d.ts","sourceRoot":"","sources":["../../src/core/StampStore.ts"],"names":[],"mappings":"AA4BA,qFAAqF;AACrF,eAAO,MAAM,QAAQ,WAAW,CAAA;AAEhC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;wEACwE;AACxE,eAAO,MAAM,aAAa,IAAI,CAAA;AAS9B,8EAA8E;AAC9E,eAAO,MAAM,cAAc,WAAY,WAAW,KAAG,MAAgD,CAAA;AAErG;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM,KAAG,WAAW,GAAG,IAS1D,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;6EACyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,MAAmC,CAAA;AAE9E;+DAC+D;AAC/D,eAAO,MAAM,aAAa,cAAe,MAAM,YAAY,MAAM,KAAG,OACJ,CAAA;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,eAAgB,MAAM,UAAU,UAAU,KAAG,MAMvE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,UAAU,UAAU,KAAG,MAAM,GAAG,IASrF,CAAA"}
|