canopycms 0.0.22 → 0.0.24
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/ai/json-to-markdown.d.ts.map +1 -1
- package/dist/ai/json-to-markdown.js +4 -2
- package/dist/ai/json-to-markdown.js.map +1 -1
- package/dist/ai/resolve-branch.d.ts +6 -1
- package/dist/ai/resolve-branch.d.ts.map +1 -1
- package/dist/ai/resolve-branch.js +17 -2
- package/dist/ai/resolve-branch.js.map +1 -1
- package/dist/ai/strip-mdx.d.ts +19 -0
- package/dist/ai/strip-mdx.d.ts.map +1 -0
- package/dist/ai/strip-mdx.js +76 -0
- package/dist/ai/strip-mdx.js.map +1 -0
- package/dist/branch-schema-cache.d.ts.map +1 -1
- package/dist/branch-schema-cache.js +62 -49
- package/dist/branch-schema-cache.js.map +1 -1
- package/dist/cli/generate-ai-content.js +126 -48
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-to-markdown.d.ts","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"json-to-markdown.d.ts","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEvD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CA2BhF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Converts a single entry's data + schema fields to clean markdown.
|
|
5
5
|
* Handles all CanopyCMS field types including nested objects and blocks.
|
|
6
6
|
*/
|
|
7
|
+
import { stripMdxImports } from './strip-mdx.js';
|
|
7
8
|
/**
|
|
8
9
|
* Convert an entry to clean markdown suitable for AI consumption.
|
|
9
10
|
*
|
|
@@ -62,9 +63,10 @@ function renderMarkdownEntry(entry, config, skipFields) {
|
|
|
62
63
|
if (parts.length > 0) {
|
|
63
64
|
parts.push('');
|
|
64
65
|
}
|
|
65
|
-
// Append body
|
|
66
|
+
// Append body — strip import/export statements for MDX entries
|
|
66
67
|
if (entry.body) {
|
|
67
|
-
|
|
68
|
+
const body = entry.format === 'mdx' ? stripMdxImports(entry.body) : entry.body;
|
|
69
|
+
parts.push(body.trim());
|
|
68
70
|
parts.push('');
|
|
69
71
|
}
|
|
70
72
|
return parts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-to-markdown.js","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json-to-markdown.js","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,MAAwB;IACtE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,2CAA2C;IAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5C,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,gFAAgF;IAChF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK;QAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAE7C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACpD,qEAAqE;QACrE,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAC/D,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,KAAc,EACd,MAAmC,EACnC,UAAuB;IAEvB,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,qFAAqF;IACrF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAChE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9D,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAQ;QAEnD,4BAA4B;QAC5B,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACpE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACd,SAAQ;QACV,CAAC;QAED,uCAAuC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,+DAA+D;IAC/D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;QAC9E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,KAAc,EACd,MAAmC,EACnC,UAAuB;IAEvB,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAQ;QAEnD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW,CAClB,KAAkB,EAClB,KAAc,EACd,KAAa,EACb,KAAc,EACd,MAAwB;IAExB,qCAAqC;IACrC,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACpE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAA;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,eAAe,GACnB,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEjF,qBAAqB;IACrB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC7F,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;QAEpE,KAAK,SAAS;YACZ,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE3E,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;QAEpE,KAAK,OAAO;YACV,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,SAAS,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAA;QAEjF,KAAK,MAAM;YACT,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,eAAe,MAAM,CAAC,KAAK,CAAC,UAAU,CAAA;QAEpF,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,KAA0B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;QAE9F,KAAK,WAAW;YACd,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;QAErE,KAAK,QAAQ;YACX,OAAO,iBAAiB,CACtB,KAA0B,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,eAAe,EACf,KAAK,EACL,MAAM,CACP,CAAA;QAEH,KAAK,OAAO;YACV,OAAO,gBAAgB,CACrB,KAAyB,EACzB,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,eAAe,EACf,KAAK,EACL,MAAM,CACP,CAAA;QAEH;YACE,kDAAkD;YAClD,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,KAAkB,EAClB,MAAiB,EACjB,KAAa,EACb,KAAa,EACb,OAAe,EACf,eAAuB,EACvB,KAAc,EACd,MAAwB;IAExB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAElC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAA;IAEnE,IAAI,SAAS,EAAE,CAAC;QACd,sDAAsD;QACtD,MAAM,KAAK,GAAG,MAAM;aACjB,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACf,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;YACrC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,KAA0B,CAAA;gBAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM;qBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,MAAM,CAAC,GAAI,IAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;oBACnD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;wBAAE,OAAO,EAAE,CAAA;oBAC5C,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;gBACpD,CAAC,CAAC;qBACD,MAAM,CAAC,OAAO,CAAC,CAAA;gBAClB,OAAO,GAAG,WAAW,IAAI,SAAS,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;YACnE,CAAC;YACD,OAAO,GAAG,WAAW,IAAI,SAAS,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;QACzD,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAA;QAClB,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IACzE,CAAC;IAED,+CAA+C;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9E,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,KAAK,EAAE,CAAA;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,KAAwB,EACxB,KAAc,EACd,OAAe,EACf,KAAa,EACb,eAAuB;IAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IAChH,CAAC;IACD,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAA;AACvF,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAwB,EAAE,KAAc;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC,KAAK,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAAc,EACd,OAAe,EACf,KAAa,EACb,eAAuB;IAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpE,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,KAAK,EAAE,CAAA;IAC5D,CAAC;IACD,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,KAAgC,CAAA;QAC5C,gDAAgD;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAA;QAC3D,IAAI,OAAO;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IACD,gCAAgC;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,KAAwB,EACxB,KAAc,EACd,KAAa,EACb,OAAe,EACf,KAAa,EACb,eAAuB,EACvB,KAAc,EACd,MAAwB;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IACpE,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAC5C,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAA;IAElB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACrC,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,KAAuB,EACvB,KAAc,EACd,KAAa,EACb,OAAe,EACf,KAAa,EACb,eAAuB,EACvB,KAAc,EACd,MAAwB;IAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEpC,MAAM,KAAK,GAAG,KAAK;SAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QACxD,MAAM,SAAS,GAAG,IAA+B,CAAA;QAEjD,qEAAqE;QACrE,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAuB,CAAA;QAClF,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAA;QAE5B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QACrE,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAA;QAExB,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAK,SAAS,CAAC,KAAiC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACrF,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC5C,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACpD,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAA;QAElB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACvC,OAAO,GAAG,YAAY,IAAI,UAAU,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IACvE,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAA;IAElB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACjC,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,eAAe,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,KAAc,EACd,KAAkB,EAClB,KAAc,EACd,MAAwB;IAExB,IAAI,CAAC,MAAM,EAAE,eAAe;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC9D,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAA;IACrC,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAA;IACzB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAkB,EAAE,KAAc;IAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAA;IACjE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -7,7 +7,12 @@ import type { CanopyConfig } from '../config';
|
|
|
7
7
|
* Resolve the branch root directory for reading content.
|
|
8
8
|
*
|
|
9
9
|
* - Static deployment: current working directory (content is in the checkout)
|
|
10
|
-
* - Server (prod/dev): load or create the default
|
|
10
|
+
* - Server (prod/dev): load or create the default active branch workspace
|
|
11
|
+
*
|
|
12
|
+
* Branch resolution priority (mirrors createActiveBranchDetector in services.ts):
|
|
13
|
+
* 1. Explicit `defaultActiveBranch` in config
|
|
14
|
+
* 2. In dev mode, auto-detect from git HEAD
|
|
15
|
+
* 3. Fall back to `defaultBaseBranch` or 'main'
|
|
11
16
|
*/
|
|
12
17
|
export declare function resolveBranchRoot(config: CanopyConfig): Promise<string>;
|
|
13
18
|
//# sourceMappingURL=resolve-branch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-branch.d.ts","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve-branch.d.ts","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB7E"}
|
|
@@ -4,18 +4,33 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { loadOrCreateBranchContext } from '../branch-workspace.js';
|
|
6
6
|
import { isDeployedStatic } from '../build-mode.js';
|
|
7
|
+
import { detectHeadBranch } from '../utils/git.js';
|
|
7
8
|
/**
|
|
8
9
|
* Resolve the branch root directory for reading content.
|
|
9
10
|
*
|
|
10
11
|
* - Static deployment: current working directory (content is in the checkout)
|
|
11
|
-
* - Server (prod/dev): load or create the default
|
|
12
|
+
* - Server (prod/dev): load or create the default active branch workspace
|
|
13
|
+
*
|
|
14
|
+
* Branch resolution priority (mirrors createActiveBranchDetector in services.ts):
|
|
15
|
+
* 1. Explicit `defaultActiveBranch` in config
|
|
16
|
+
* 2. In dev mode, auto-detect from git HEAD
|
|
17
|
+
* 3. Fall back to `defaultBaseBranch` or 'main'
|
|
12
18
|
*/
|
|
13
19
|
export async function resolveBranchRoot(config) {
|
|
14
20
|
// Static deployments read content directly from the checkout — no branch workspace needed
|
|
15
21
|
if (isDeployedStatic(config)) {
|
|
16
22
|
return process.cwd();
|
|
17
23
|
}
|
|
18
|
-
|
|
24
|
+
let activeBranch;
|
|
25
|
+
if (config.defaultActiveBranch) {
|
|
26
|
+
activeBranch = config.defaultActiveBranch;
|
|
27
|
+
}
|
|
28
|
+
else if (config.mode === 'dev') {
|
|
29
|
+
activeBranch = await detectHeadBranch(process.cwd(), config.defaultBaseBranch ?? 'main');
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
activeBranch = config.defaultBaseBranch ?? 'main';
|
|
33
|
+
}
|
|
19
34
|
const context = await loadOrCreateBranchContext({
|
|
20
35
|
config,
|
|
21
36
|
branchName: activeBranch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-branch.js","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve-branch.js","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAoB;IAC1D,0FAA0F;IAC1F,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,IAAI,YAAoB,CAAA;IACxB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAA;IAC3C,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACjC,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAA;IAC1F,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAA;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC;QAC9C,MAAM;QACN,UAAU,EAAE,YAAY;QACxB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,MAAM,CAAC,gBAAgB;KACnC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,UAAU,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strip MDX-specific syntax from body content for AI consumption.
|
|
3
|
+
*
|
|
4
|
+
* Removes import/export statements (pure code, no content value).
|
|
5
|
+
* Leaves JSX components intact — many carry semantic data in props
|
|
6
|
+
* (e.g., <MatrixRow label="..." matches="1, 3" />) that would be lost
|
|
7
|
+
* if stripped. AI models handle JSX props well for RAG.
|
|
8
|
+
*
|
|
9
|
+
* Handles:
|
|
10
|
+
* - Single-line and multi-line import/export statements (brace tracking)
|
|
11
|
+
* - Fenced code blocks (``` / ~~~) are preserved — imports/exports inside
|
|
12
|
+
* code blocks are not stripped
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Remove import/export statements and collapse resulting blank lines.
|
|
16
|
+
* Preserves content inside fenced code blocks.
|
|
17
|
+
*/
|
|
18
|
+
export declare function stripMdxImports(body: string): string;
|
|
19
|
+
//# sourceMappingURL=strip-mdx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-mdx.d.ts","sourceRoot":"","sources":["../../src/ai/strip-mdx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2DpD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strip MDX-specific syntax from body content for AI consumption.
|
|
3
|
+
*
|
|
4
|
+
* Removes import/export statements (pure code, no content value).
|
|
5
|
+
* Leaves JSX components intact — many carry semantic data in props
|
|
6
|
+
* (e.g., <MatrixRow label="..." matches="1, 3" />) that would be lost
|
|
7
|
+
* if stripped. AI models handle JSX props well for RAG.
|
|
8
|
+
*
|
|
9
|
+
* Handles:
|
|
10
|
+
* - Single-line and multi-line import/export statements (brace tracking)
|
|
11
|
+
* - Fenced code blocks (``` / ~~~) are preserved — imports/exports inside
|
|
12
|
+
* code blocks are not stripped
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Remove import/export statements and collapse resulting blank lines.
|
|
16
|
+
* Preserves content inside fenced code blocks.
|
|
17
|
+
*/
|
|
18
|
+
export function stripMdxImports(body) {
|
|
19
|
+
const lines = body.split('\n');
|
|
20
|
+
const result = [];
|
|
21
|
+
let inCodeBlock = false;
|
|
22
|
+
let stripping = false;
|
|
23
|
+
let depth = 0;
|
|
24
|
+
for (const line of lines) {
|
|
25
|
+
const trimmed = line.trim();
|
|
26
|
+
// Track fenced code blocks (``` or ~~~)
|
|
27
|
+
if (trimmed.startsWith('```') || trimmed.startsWith('~~~')) {
|
|
28
|
+
inCodeBlock = !inCodeBlock;
|
|
29
|
+
result.push(line);
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
// Inside code blocks: keep everything
|
|
33
|
+
if (inCodeBlock) {
|
|
34
|
+
result.push(line);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
// Continue stripping a multi-line import/export statement
|
|
38
|
+
if (stripping) {
|
|
39
|
+
for (const ch of line) {
|
|
40
|
+
if (ch === '{' || ch === '(')
|
|
41
|
+
depth++;
|
|
42
|
+
if (ch === '}' || ch === ')')
|
|
43
|
+
depth--;
|
|
44
|
+
}
|
|
45
|
+
if (depth <= 0) {
|
|
46
|
+
stripping = false;
|
|
47
|
+
depth = 0;
|
|
48
|
+
}
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
// Detect top-level import/export statements
|
|
52
|
+
if (/^import\s/.test(trimmed) || /^export\s/.test(trimmed)) {
|
|
53
|
+
// Count open/close braces to detect multi-line statements
|
|
54
|
+
depth = 0;
|
|
55
|
+
for (const ch of line) {
|
|
56
|
+
if (ch === '{' || ch === '(')
|
|
57
|
+
depth++;
|
|
58
|
+
if (ch === '}' || ch === ')')
|
|
59
|
+
depth--;
|
|
60
|
+
}
|
|
61
|
+
if (depth > 0) {
|
|
62
|
+
stripping = true;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
depth = 0;
|
|
66
|
+
}
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
result.push(line);
|
|
70
|
+
}
|
|
71
|
+
return result
|
|
72
|
+
.join('\n')
|
|
73
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
74
|
+
.trim();
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=strip-mdx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-mdx.js","sourceRoot":"","sources":["../../src/ai/strip-mdx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAE3B,wCAAwC;QACxC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,WAAW,GAAG,CAAC,WAAW,CAAA;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,SAAQ;QACV,CAAC;QAED,sCAAsC;QACtC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,SAAQ;QACV,CAAC;QAED,0DAA0D;QAC1D,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAA;gBACrC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAA;YACvC,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAA;gBACjB,KAAK,GAAG,CAAC,CAAA;YACX,CAAC;YACD,SAAQ;QACV,CAAC;QAED,4CAA4C;QAC5C,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,0DAA0D;YAC1D,KAAK,GAAG,CAAC,CAAA;YACT,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAA;gBACrC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAA;YACvC,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,CAAC,CAAA;YACX,CAAC;YACD,SAAQ;QACV,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,MAAM;SACV,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-schema-cache.d.ts","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"branch-schema-cache.d.ts","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAWzD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,oBAAoB,CAAA;IAC5B,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;CACjB;AA8BD;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,qFAAqF;IACrF,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,GAAE,aAAsB;IAIxC;;;;;;;OAOG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,GAAE,MAAkB,GAClC,OAAO,CAAC;QAAE,MAAM,EAAE,oBAAoB,CAAC;QAAC,UAAU,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAI1E;;OAEG;YACW,sBAAsB;IA+FpC;;;;OAIG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CASpD"}
|
|
@@ -2,6 +2,7 @@ import fs from 'node:fs/promises';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { resolveSchema, isValidSchema } from './schema/resolver.js';
|
|
4
4
|
import { flattenSchema } from './config/flatten.js';
|
|
5
|
+
import { isBuildMode } from './build-mode.js';
|
|
5
6
|
/** Bump when BranchSchemaCacheEntry shape changes to auto-invalidate stale caches */
|
|
6
7
|
const SCHEMA_CACHE_VERSION = 2;
|
|
7
8
|
/** Minimum interval between mtime staleness checks (ms) */
|
|
@@ -72,43 +73,48 @@ export class BranchSchemaCache {
|
|
|
72
73
|
*/
|
|
73
74
|
async loadFromCacheOrResolve(branchRoot, entrySchemaRegistry, contentRootName) {
|
|
74
75
|
const contentRoot = path.join(branchRoot, contentRootName);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
76
|
+
// In static/build mode, branchRoot is process.cwd() (the project root).
|
|
77
|
+
// Skip disk cache to avoid creating .canopy-meta/ at the project root.
|
|
78
|
+
const skipDiskCache = isBuildMode();
|
|
79
|
+
if (!skipDiskCache) {
|
|
80
|
+
const cacheDir = path.join(branchRoot, '.canopy-meta');
|
|
81
|
+
const cachePath = path.join(cacheDir, 'schema-cache.json');
|
|
82
|
+
const stalePath = path.join(cacheDir, 'schema-cache.stale');
|
|
83
|
+
// Check if cache exists and is not marked stale
|
|
84
|
+
let cacheData = null;
|
|
85
|
+
try {
|
|
86
|
+
const staleExists = await fs
|
|
87
|
+
.access(stalePath)
|
|
88
|
+
.then(() => true)
|
|
89
|
+
.catch(() => false);
|
|
90
|
+
if (!staleExists) {
|
|
91
|
+
const cacheContent = await fs.readFile(cachePath, 'utf-8');
|
|
92
|
+
cacheData = JSON.parse(cacheContent);
|
|
93
|
+
}
|
|
88
94
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
// Cache doesn't exist or can't be read
|
|
92
|
-
cacheData = null;
|
|
93
|
-
}
|
|
94
|
-
if (cacheData && cacheData.version === SCHEMA_CACHE_VERSION) {
|
|
95
|
-
// In dev mode, also check file mtimes so direct schema edits (outside the CMS) are picked up.
|
|
96
|
-
// Debounce: skip the walk if we checked this contentRoot within the last second.
|
|
97
|
-
const now = Date.now();
|
|
98
|
-
const lastCheck = this.lastMtimeCheck.get(contentRoot) ?? 0;
|
|
99
|
-
if (this.devMode &&
|
|
100
|
-
now - lastCheck >= MTIME_CHECK_DEBOUNCE_MS &&
|
|
101
|
-
(await isStaleByMtime(contentRoot, new Date(cacheData.cachedAt)))) {
|
|
102
|
-
this.lastMtimeCheck.set(contentRoot, now);
|
|
95
|
+
catch {
|
|
96
|
+
// Cache doesn't exist or can't be read
|
|
103
97
|
cacheData = null;
|
|
104
98
|
}
|
|
105
|
-
|
|
106
|
-
|
|
99
|
+
if (cacheData && cacheData.version === SCHEMA_CACHE_VERSION) {
|
|
100
|
+
// In dev mode, also check file mtimes so direct schema edits (outside the CMS) are picked up.
|
|
101
|
+
// Debounce: skip the walk if we checked this contentRoot within the last second.
|
|
102
|
+
const now = Date.now();
|
|
103
|
+
const lastCheck = this.lastMtimeCheck.get(contentRoot) ?? 0;
|
|
104
|
+
if (this.devMode &&
|
|
105
|
+
now - lastCheck >= MTIME_CHECK_DEBOUNCE_MS &&
|
|
106
|
+
(await isStaleByMtime(contentRoot, new Date(cacheData.cachedAt)))) {
|
|
107
107
|
this.lastMtimeCheck.set(contentRoot, now);
|
|
108
|
-
|
|
108
|
+
cacheData = null;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
if (this.devMode)
|
|
112
|
+
this.lastMtimeCheck.set(contentRoot, now);
|
|
113
|
+
return { schema: cacheData.schema, flatSchema: cacheData.flatSchema };
|
|
114
|
+
}
|
|
109
115
|
}
|
|
110
116
|
}
|
|
111
|
-
// Cache miss or
|
|
117
|
+
// Cache miss, stale, or build mode - resolve fresh
|
|
112
118
|
const result = await resolveSchema(contentRoot, entrySchemaRegistry);
|
|
113
119
|
// Validate schema has content
|
|
114
120
|
if (!isValidSchema(result.schema)) {
|
|
@@ -117,24 +123,29 @@ export class BranchSchemaCache {
|
|
|
117
123
|
}
|
|
118
124
|
// Use configured contentRoot name as base path for logical paths
|
|
119
125
|
const flatSchema = flattenSchema(result.schema, contentRootName);
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
await fs.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
126
|
+
if (!skipDiskCache) {
|
|
127
|
+
const cacheDir = path.join(branchRoot, '.canopy-meta');
|
|
128
|
+
const cachePath = path.join(cacheDir, 'schema-cache.json');
|
|
129
|
+
const stalePath = path.join(cacheDir, 'schema-cache.stale');
|
|
130
|
+
// Save to cache
|
|
131
|
+
await fs.mkdir(cacheDir, { recursive: true });
|
|
132
|
+
const newCache = {
|
|
133
|
+
version: SCHEMA_CACHE_VERSION,
|
|
134
|
+
schema: result.schema,
|
|
135
|
+
flatSchema,
|
|
136
|
+
cachedAt: new Date().toISOString(),
|
|
137
|
+
};
|
|
138
|
+
// Atomic write: write to temp file, then rename
|
|
139
|
+
const tmpPath = path.join(cacheDir, `schema-cache.tmp.${Date.now()}.${Math.random()}.json`);
|
|
140
|
+
await fs.writeFile(tmpPath, JSON.stringify(newCache, null, 2), 'utf-8');
|
|
141
|
+
await fs.rename(tmpPath, cachePath);
|
|
142
|
+
// Remove stale marker if exists
|
|
143
|
+
try {
|
|
144
|
+
await fs.unlink(stalePath);
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Stale marker may not exist - that's fine
|
|
148
|
+
}
|
|
138
149
|
}
|
|
139
150
|
return { schema: result.schema, flatSchema };
|
|
140
151
|
}
|
|
@@ -144,6 +155,8 @@ export class BranchSchemaCache {
|
|
|
144
155
|
* @param branchRoot - Root directory of the branch
|
|
145
156
|
*/
|
|
146
157
|
async invalidate(branchRoot) {
|
|
158
|
+
if (isBuildMode())
|
|
159
|
+
return;
|
|
147
160
|
const cacheDir = path.join(branchRoot, '.canopy-meta');
|
|
148
161
|
const stalePath = path.join(cacheDir, 'schema-cache.stale');
|
|
149
162
|
await fs.mkdir(cacheDir, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-schema-cache.js","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAM5B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"branch-schema-cache.js","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1785,6 +1785,27 @@ function isValidSchema(schema) {
|
|
|
1785
1785
|
|
|
1786
1786
|
// dist/branch-schema-cache.js
|
|
1787
1787
|
init_flatten();
|
|
1788
|
+
|
|
1789
|
+
// dist/build-mode.js
|
|
1790
|
+
var isDeployedStatic = (config) => {
|
|
1791
|
+
return config.deployedAs === "static";
|
|
1792
|
+
};
|
|
1793
|
+
var isBuildMode = () => {
|
|
1794
|
+
if (process.env.NEXT_PHASE === "phase-production-build")
|
|
1795
|
+
return true;
|
|
1796
|
+
if (process.env.CANOPY_BUILD_MODE === "true")
|
|
1797
|
+
return true;
|
|
1798
|
+
return false;
|
|
1799
|
+
};
|
|
1800
|
+
var STATIC_DEPLOY_USER = Object.freeze({
|
|
1801
|
+
type: "authenticated",
|
|
1802
|
+
userId: "__static_deploy__",
|
|
1803
|
+
groups: ["Admins"],
|
|
1804
|
+
email: "static-deploy@canopycms",
|
|
1805
|
+
name: "Static Deploy"
|
|
1806
|
+
});
|
|
1807
|
+
|
|
1808
|
+
// dist/branch-schema-cache.js
|
|
1788
1809
|
var SCHEMA_CACHE_VERSION = 2;
|
|
1789
1810
|
var MTIME_CHECK_DEBOUNCE_MS = 1e3;
|
|
1790
1811
|
async function isStaleByMtime(dir, cachedAt) {
|
|
@@ -1829,29 +1850,32 @@ var BranchSchemaCache = class {
|
|
|
1829
1850
|
*/
|
|
1830
1851
|
async loadFromCacheOrResolve(branchRoot, entrySchemaRegistry, contentRootName) {
|
|
1831
1852
|
const contentRoot = path6.join(branchRoot, contentRootName);
|
|
1832
|
-
const
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
const
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
if (cacheData && cacheData.version === SCHEMA_CACHE_VERSION) {
|
|
1846
|
-
const now = Date.now();
|
|
1847
|
-
const lastCheck = this.lastMtimeCheck.get(contentRoot) ?? 0;
|
|
1848
|
-
if (this.devMode && now - lastCheck >= MTIME_CHECK_DEBOUNCE_MS && await isStaleByMtime(contentRoot, new Date(cacheData.cachedAt))) {
|
|
1849
|
-
this.lastMtimeCheck.set(contentRoot, now);
|
|
1853
|
+
const skipDiskCache = isBuildMode();
|
|
1854
|
+
if (!skipDiskCache) {
|
|
1855
|
+
const cacheDir = path6.join(branchRoot, ".canopy-meta");
|
|
1856
|
+
const cachePath = path6.join(cacheDir, "schema-cache.json");
|
|
1857
|
+
const stalePath = path6.join(cacheDir, "schema-cache.stale");
|
|
1858
|
+
let cacheData = null;
|
|
1859
|
+
try {
|
|
1860
|
+
const staleExists = await fs6.access(stalePath).then(() => true).catch(() => false);
|
|
1861
|
+
if (!staleExists) {
|
|
1862
|
+
const cacheContent = await fs6.readFile(cachePath, "utf-8");
|
|
1863
|
+
cacheData = JSON.parse(cacheContent);
|
|
1864
|
+
}
|
|
1865
|
+
} catch {
|
|
1850
1866
|
cacheData = null;
|
|
1851
|
-
}
|
|
1852
|
-
|
|
1867
|
+
}
|
|
1868
|
+
if (cacheData && cacheData.version === SCHEMA_CACHE_VERSION) {
|
|
1869
|
+
const now = Date.now();
|
|
1870
|
+
const lastCheck = this.lastMtimeCheck.get(contentRoot) ?? 0;
|
|
1871
|
+
if (this.devMode && now - lastCheck >= MTIME_CHECK_DEBOUNCE_MS && await isStaleByMtime(contentRoot, new Date(cacheData.cachedAt))) {
|
|
1853
1872
|
this.lastMtimeCheck.set(contentRoot, now);
|
|
1854
|
-
|
|
1873
|
+
cacheData = null;
|
|
1874
|
+
} else {
|
|
1875
|
+
if (this.devMode)
|
|
1876
|
+
this.lastMtimeCheck.set(contentRoot, now);
|
|
1877
|
+
return { schema: cacheData.schema, flatSchema: cacheData.flatSchema };
|
|
1878
|
+
}
|
|
1855
1879
|
}
|
|
1856
1880
|
}
|
|
1857
1881
|
const result = await resolveSchema(contentRoot, entrySchemaRegistry);
|
|
@@ -1859,19 +1883,24 @@ var BranchSchemaCache = class {
|
|
|
1859
1883
|
throw new Error(`No schema found in ${contentRoot}. Create .collection.json files with references to field schemas defined in your entry schema registry.`);
|
|
1860
1884
|
}
|
|
1861
1885
|
const flatSchema = flattenSchema(result.schema, contentRootName);
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1886
|
+
if (!skipDiskCache) {
|
|
1887
|
+
const cacheDir = path6.join(branchRoot, ".canopy-meta");
|
|
1888
|
+
const cachePath = path6.join(cacheDir, "schema-cache.json");
|
|
1889
|
+
const stalePath = path6.join(cacheDir, "schema-cache.stale");
|
|
1890
|
+
await fs6.mkdir(cacheDir, { recursive: true });
|
|
1891
|
+
const newCache = {
|
|
1892
|
+
version: SCHEMA_CACHE_VERSION,
|
|
1893
|
+
schema: result.schema,
|
|
1894
|
+
flatSchema,
|
|
1895
|
+
cachedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
1896
|
+
};
|
|
1897
|
+
const tmpPath = path6.join(cacheDir, `schema-cache.tmp.${Date.now()}.${Math.random()}.json`);
|
|
1898
|
+
await fs6.writeFile(tmpPath, JSON.stringify(newCache, null, 2), "utf-8");
|
|
1899
|
+
await fs6.rename(tmpPath, cachePath);
|
|
1900
|
+
try {
|
|
1901
|
+
await fs6.unlink(stalePath);
|
|
1902
|
+
} catch {
|
|
1903
|
+
}
|
|
1875
1904
|
}
|
|
1876
1905
|
return { schema: result.schema, flatSchema };
|
|
1877
1906
|
}
|
|
@@ -1881,6 +1910,8 @@ var BranchSchemaCache = class {
|
|
|
1881
1910
|
* @param branchRoot - Root directory of the branch
|
|
1882
1911
|
*/
|
|
1883
1912
|
async invalidate(branchRoot) {
|
|
1913
|
+
if (isBuildMode())
|
|
1914
|
+
return;
|
|
1884
1915
|
const cacheDir = path6.join(branchRoot, ".canopy-meta");
|
|
1885
1916
|
const stalePath = path6.join(cacheDir, "schema-cache.stale");
|
|
1886
1917
|
await fs6.mkdir(cacheDir, { recursive: true });
|
|
@@ -1892,6 +1923,57 @@ var BranchSchemaCache = class {
|
|
|
1892
1923
|
import path7 from "node:path";
|
|
1893
1924
|
import { minimatch } from "minimatch";
|
|
1894
1925
|
|
|
1926
|
+
// dist/ai/strip-mdx.js
|
|
1927
|
+
function stripMdxImports(body) {
|
|
1928
|
+
const lines = body.split("\n");
|
|
1929
|
+
const result = [];
|
|
1930
|
+
let inCodeBlock = false;
|
|
1931
|
+
let stripping = false;
|
|
1932
|
+
let depth = 0;
|
|
1933
|
+
for (const line of lines) {
|
|
1934
|
+
const trimmed = line.trim();
|
|
1935
|
+
if (trimmed.startsWith("```") || trimmed.startsWith("~~~")) {
|
|
1936
|
+
inCodeBlock = !inCodeBlock;
|
|
1937
|
+
result.push(line);
|
|
1938
|
+
continue;
|
|
1939
|
+
}
|
|
1940
|
+
if (inCodeBlock) {
|
|
1941
|
+
result.push(line);
|
|
1942
|
+
continue;
|
|
1943
|
+
}
|
|
1944
|
+
if (stripping) {
|
|
1945
|
+
for (const ch of line) {
|
|
1946
|
+
if (ch === "{" || ch === "(")
|
|
1947
|
+
depth++;
|
|
1948
|
+
if (ch === "}" || ch === ")")
|
|
1949
|
+
depth--;
|
|
1950
|
+
}
|
|
1951
|
+
if (depth <= 0) {
|
|
1952
|
+
stripping = false;
|
|
1953
|
+
depth = 0;
|
|
1954
|
+
}
|
|
1955
|
+
continue;
|
|
1956
|
+
}
|
|
1957
|
+
if (/^import\s/.test(trimmed) || /^export\s/.test(trimmed)) {
|
|
1958
|
+
depth = 0;
|
|
1959
|
+
for (const ch of line) {
|
|
1960
|
+
if (ch === "{" || ch === "(")
|
|
1961
|
+
depth++;
|
|
1962
|
+
if (ch === "}" || ch === ")")
|
|
1963
|
+
depth--;
|
|
1964
|
+
}
|
|
1965
|
+
if (depth > 0) {
|
|
1966
|
+
stripping = true;
|
|
1967
|
+
} else {
|
|
1968
|
+
depth = 0;
|
|
1969
|
+
}
|
|
1970
|
+
continue;
|
|
1971
|
+
}
|
|
1972
|
+
result.push(line);
|
|
1973
|
+
}
|
|
1974
|
+
return result.join("\n").replace(/\n{3,}/g, "\n\n").trim();
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1895
1977
|
// dist/ai/json-to-markdown.js
|
|
1896
1978
|
function entryToMarkdown(entry, config) {
|
|
1897
1979
|
const parts = [];
|
|
@@ -1935,7 +2017,8 @@ function renderMarkdownEntry(entry, config, skipFields) {
|
|
|
1935
2017
|
parts.push("");
|
|
1936
2018
|
}
|
|
1937
2019
|
if (entry.body) {
|
|
1938
|
-
|
|
2020
|
+
const body = entry.format === "mdx" ? stripMdxImports(entry.body) : entry.body;
|
|
2021
|
+
parts.push(body.trim());
|
|
1939
2022
|
parts.push("");
|
|
1940
2023
|
}
|
|
1941
2024
|
return parts;
|
|
@@ -2694,18 +2777,6 @@ var loadBranchContext = async (options) => {
|
|
|
2694
2777
|
};
|
|
2695
2778
|
};
|
|
2696
2779
|
|
|
2697
|
-
// dist/build-mode.js
|
|
2698
|
-
var isDeployedStatic = (config) => {
|
|
2699
|
-
return config.deployedAs === "static";
|
|
2700
|
-
};
|
|
2701
|
-
var STATIC_DEPLOY_USER = Object.freeze({
|
|
2702
|
-
type: "authenticated",
|
|
2703
|
-
userId: "__static_deploy__",
|
|
2704
|
-
groups: ["Admins"],
|
|
2705
|
-
email: "static-deploy@canopycms",
|
|
2706
|
-
name: "Static Deploy"
|
|
2707
|
-
});
|
|
2708
|
-
|
|
2709
2780
|
// dist/git-manager.js
|
|
2710
2781
|
import fs9 from "node:fs/promises";
|
|
2711
2782
|
import path10 from "node:path";
|
|
@@ -3424,7 +3495,14 @@ async function resolveBranchRoot(config) {
|
|
|
3424
3495
|
if (isDeployedStatic(config)) {
|
|
3425
3496
|
return process.cwd();
|
|
3426
3497
|
}
|
|
3427
|
-
|
|
3498
|
+
let activeBranch;
|
|
3499
|
+
if (config.defaultActiveBranch) {
|
|
3500
|
+
activeBranch = config.defaultActiveBranch;
|
|
3501
|
+
} else if (config.mode === "dev") {
|
|
3502
|
+
activeBranch = await detectHeadBranch(process.cwd(), config.defaultBaseBranch ?? "main");
|
|
3503
|
+
} else {
|
|
3504
|
+
activeBranch = config.defaultBaseBranch ?? "main";
|
|
3505
|
+
}
|
|
3428
3506
|
const context = await loadOrCreateBranchContext({
|
|
3429
3507
|
config,
|
|
3430
3508
|
branchName: activeBranch,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"//": "@codemirror/language, @lezer/highlight: workaround — @mdxeditor/editor uses cm6-theme-basic-light which peer-requires these but mdxeditor doesn't declare them as dependencies",
|
|
3
3
|
"name": "canopycms",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.24",
|
|
5
5
|
"description": "CanopyCMS core package: schema-driven content, branch-aware editing, and editor UI for Next.js.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|