canopycms 0.0.53 → 0.0.54
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/generate.d.ts.map +1 -1
- package/dist/ai/generate.js +68 -2
- package/dist/ai/generate.js.map +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/json-to-markdown.d.ts.map +1 -1
- package/dist/ai/json-to-markdown.js +87 -0
- package/dist/ai/json-to-markdown.js.map +1 -1
- package/dist/ai/types.d.ts +54 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/cli/generate-ai-content.js +140 -40
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/ai/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/ai/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,kBAAkB,CAAA;AACvF,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAA;AAUhE,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC3F,OAAO,KAAK,EACV,eAAe,EAGf,UAAU,EAKX,MAAM,SAAS,CAAA;AAMhB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,oBAAoB,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,UAAU,CAAA;IACpB,6EAA6E;IAC7E,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAwGzF"}
|
package/dist/ai/generate.js
CHANGED
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* a manifest + file map.
|
|
7
7
|
*/
|
|
8
8
|
import path from 'node:path';
|
|
9
|
+
import fs from 'node:fs/promises';
|
|
9
10
|
import { minimatch } from 'minimatch';
|
|
10
11
|
import { isDataOnlyFormat } from '../utils/format.js';
|
|
11
|
-
import { extractEntryTypeFromFilename } from '../content-id-index.js';
|
|
12
|
-
import {
|
|
12
|
+
import { extractEntryTypeFromFilename, extractIdFromFilename, } from '../content-id-index.js';
|
|
13
|
+
import { hasTraversalSequence } from '../paths/index.js';
|
|
14
|
+
import { getErrorMessage, isNodeError } from '../utils/error.js';
|
|
13
15
|
import { entryToMarkdown } from './json-to-markdown.js';
|
|
14
16
|
import { resolveEntryLinksInText } from '../entry-link-resolver.js';
|
|
15
17
|
/**
|
|
@@ -127,6 +129,8 @@ async function processCollection(store, collection, flatSchema, contentRoot, con
|
|
|
127
129
|
// Check predicate exclusion
|
|
128
130
|
if (config?.exclude?.where?.(aiEntry))
|
|
129
131
|
continue;
|
|
132
|
+
// Fold in adopter-supplied markdown (e.g. a colocated sibling artifact), once per entry
|
|
133
|
+
await runEntryTransform(aiEntry, doc.absolutePath, extractIdFromFilename(path.basename(listEntry.relativePath)), config);
|
|
130
134
|
entries.push(aiEntry);
|
|
131
135
|
// Write individual entry file
|
|
132
136
|
const entryFilePath = `${cleanPath}/${listEntry.slug}.md`;
|
|
@@ -201,6 +205,8 @@ async function processRootEntries(store, rootCollection, contentRoot, config, id
|
|
|
201
205
|
}
|
|
202
206
|
if (config?.exclude?.where?.(aiEntry))
|
|
203
207
|
continue;
|
|
208
|
+
// Fold in adopter-supplied markdown (e.g. a colocated sibling artifact), once per entry
|
|
209
|
+
await runEntryTransform(aiEntry, doc.absolutePath, extractIdFromFilename(path.basename(listEntry.relativePath)), config);
|
|
204
210
|
entries.push(aiEntry);
|
|
205
211
|
const entryFilePath = `${listEntry.slug}.md`;
|
|
206
212
|
const entryMarkdown = entryToMarkdown(aiEntry, config);
|
|
@@ -254,6 +260,66 @@ function docToAIEntry(doc, slug, entryTypeName, entryTypeConfig, cleanCollection
|
|
|
254
260
|
fields: entryTypeConfig.schema,
|
|
255
261
|
};
|
|
256
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Build a sibling-file reader bound to a single directory. The returned function reads a bare
|
|
265
|
+
* filename colocated in `dir`, refusing anything that could escape it (slashes, `..`, absolute
|
|
266
|
+
* paths). Resolves `null` when the file is missing or is not a regular file. Path-safety and IO
|
|
267
|
+
* stay inside the package — the absolute path is never handed to the caller.
|
|
268
|
+
*/
|
|
269
|
+
function makeReadSibling(dir) {
|
|
270
|
+
const resolvedDir = path.resolve(dir);
|
|
271
|
+
return async (name) => {
|
|
272
|
+
if (!name ||
|
|
273
|
+
name.includes('/') ||
|
|
274
|
+
name.includes('\\') ||
|
|
275
|
+
path.isAbsolute(name) ||
|
|
276
|
+
hasTraversalSequence(name)) {
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
const abs = path.resolve(resolvedDir, name);
|
|
280
|
+
// Defense in depth: the resolved file must sit directly inside `dir`.
|
|
281
|
+
if (path.dirname(abs) !== resolvedDir)
|
|
282
|
+
return null;
|
|
283
|
+
try {
|
|
284
|
+
// lstat (not stat) so a symlink in the entry dir can't redirect the read outside it:
|
|
285
|
+
// lstat reports the link itself, whose isFile() is false, so it's rejected as a non-file.
|
|
286
|
+
const stats = await fs.lstat(abs);
|
|
287
|
+
if (!stats.isFile())
|
|
288
|
+
return null;
|
|
289
|
+
return await fs.readFile(abs, 'utf8');
|
|
290
|
+
}
|
|
291
|
+
catch (err) {
|
|
292
|
+
if (isNodeError(err) && (err.code === 'ENOENT' || err.code === 'ENOTDIR'))
|
|
293
|
+
return null;
|
|
294
|
+
throw err;
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Run the configured entry transform (if any), caching its returned markdown on
|
|
300
|
+
* `entry.appendedSections`. The transform receives the entry's content ID and a directory-bound
|
|
301
|
+
* `readSibling`. Runs once per entry; the cached result is reused across the per-entry file, the
|
|
302
|
+
* collection `all.md`, and any bundle that includes this entry. A throwing transform is logged and
|
|
303
|
+
* skipped — the entry still renders without the appended section (distinct from an unreadable
|
|
304
|
+
* entry, which is skipped entirely upstream).
|
|
305
|
+
*/
|
|
306
|
+
async function runEntryTransform(entry, absolutePath, contentId, config) {
|
|
307
|
+
const transform = config?.entryTransforms?.[entry.entryType];
|
|
308
|
+
if (!transform)
|
|
309
|
+
return;
|
|
310
|
+
const ctx = {
|
|
311
|
+
contentId: contentId ?? '',
|
|
312
|
+
readSibling: makeReadSibling(path.dirname(absolutePath)),
|
|
313
|
+
};
|
|
314
|
+
try {
|
|
315
|
+
const appended = await transform(entry, ctx);
|
|
316
|
+
if (appended)
|
|
317
|
+
entry.appendedSections = appended;
|
|
318
|
+
}
|
|
319
|
+
catch (err) {
|
|
320
|
+
console.warn(`AI content: entry transform for "${entry.slug}" (${entry.entryType}) failed:`, getErrorMessage(err));
|
|
321
|
+
}
|
|
322
|
+
}
|
|
257
323
|
/** Check if an entry matches a bundle filter (filters are AND'd) */
|
|
258
324
|
function matchesBundleFilter(entry, filter, contentRoot) {
|
|
259
325
|
// Collections filter
|
package/dist/ai/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/ai/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/ai/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAIrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAA6B,MAAM,wBAAwB,CAAA;AAgC3F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAwB;IAC9D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IACxE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,mDAAmD;IACnD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;IAErC,qCAAqC;IACrC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CACnC,CAAC,IAAI,EAAmD,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CACtF,CAAA;IAED,yCAAyC;IACzC,MAAM,UAAU,GAAc,EAAE,CAAA;IAChC,8CAA8C;IAC9C,MAAM,mBAAmB,GAA2B,EAAE,CAAA;IACtD,iFAAiF;IACjF,MAAM,WAAW,GAAsB,EAAE,CAAA;IAEzC,0BAA0B;IAC1B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,yDAAyD;QACzD,IAAI,UAAU,CAAC,WAAW,KAAK,WAAW;YAAE,SAAQ;QAEpD,kBAAkB;QAClB,IAAI,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;YAAE,SAAQ;QAE/E,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,WAAW;YAAE,SAAQ;QAE5E,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAC9C,KAAK,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,YAAY,CACb,CAAA;QAED,UAAU,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAC5C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC9B,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC/D,CAAC;IAED,iFAAiF;IACjF,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAA;IAC7E,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,KAAK,EACL,cAAc,EACd,WAAW,EACX,MAAM,EACN,OAAO,EACP,YAAY,CACb,CAAA;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACtC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACnD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC9B,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IACjD,CAAC;IAED,kBAAkB;IAClB,MAAM,eAAe,GAAuB,EAAE,CAAA;IAC9C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,iDAAiD;YACjD,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,qCAAqC,CAAC,CAAA;YAC3F,CAAC;YACD,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CACvD,CAAA;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,eAAe;qBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;qBACtC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACpB,MAAM,UAAU,GAAG,WAAW,MAAM,CAAC,IAAI,KAAK,CAAA;gBAC9C,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;gBACpC,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,eAAe,CAAC,MAAM;iBACnC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,QAAQ,GAAe;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,eAAe;KACzB,CAAA;IAED,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAE7D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAC5B,CAAC;AAYD,KAAK,UAAU,iBAAiB,CAC9B,KAAmB,EACnB,UAAmD,EACnD,UAA4B,EAC5B,WAAmB,EACnB,MAAwB,EACxB,OAAwB,EACxB,YAAmC;IAEnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACvE,MAAM,eAAe,GAAsB,EAAE,CAAA;IAE7C,gEAAgE;IAChE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IAE1E,uEAAuE;IACvE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW,CAAC,CAAA;IAEnF,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;QACzF,IAAI,CAAC,aAAa;YAAE,SAAQ;QAE5B,6BAA6B;QAC7B,IAAI,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC;YAAE,SAAQ;QAElE,kDAAkD;QAClD,MAAM,eAAe,GAAG,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QAChE,IAAI,CAAC,eAAe;YAAE,SAAQ;QAE9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE;gBACjE,iBAAiB,EAAE,KAAK;aACzB,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;YAE5F,yCAAyC;YACzC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;YAC1F,CAAC;YAED,4BAA4B;YAC5B,IAAI,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC;gBAAE,SAAQ;YAE/C,wFAAwF;YACxF,MAAM,iBAAiB,CACrB,OAAO,EACP,GAAG,CAAC,YAAY,EAChB,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAC5D,MAAM,CACP,CAAA;YAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAErB,8BAA8B;YAC9B,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAA;YACzD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACtD,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;YAEvC,eAAe,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClE,IAAI,EAAE,aAAa;aACpB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,+BAA+B,SAAS,CAAC,IAAI,QAAQ,UAAU,CAAC,WAAW,GAAG,EAC9E,eAAe,CAAC,GAAG,CAAC,CACrB,CAAA;YACD,SAAQ;QACV,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CACtC,CAAC,IAAI,EAAmD,EAAE,CACxD,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW,CAC3E,CAAA;IAED,MAAM,sBAAsB,GAA2B,EAAE,CAAA;IACzD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;YAAE,SAAQ;QAExE,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,KAAK,EACL,GAAG,EACH,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,YAAY,CACb,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;QAClC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YAClD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC9B,CAAC;QACD,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAC3D,CAAC;IAED,qFAAqF;IACrF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnF,MAAM,OAAO,GAAG,GAAG,SAAS,SAAS,CAAA;QACrC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,kBAAkB,GAAyB;QAC/C,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,SAAS;QAC/D,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,OAAO,EAAE,eAAe;QACxB,cAAc,EAAE,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;KACvF,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAA;AAC/C,CAAC;AAYD,KAAK,UAAU,kBAAkB,CAC/B,KAAmB,EACnB,cAAuD,EACvD,WAAmB,EACnB,MAAwB,EACxB,OAAwB,EACxB,YAAmC;IAEnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,MAAM,eAAe,GAAsB,EAAE,CAAA;IAE7C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;IAC9E,sDAAsD;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,WAAW,CAAC,CAAA;IAEvF,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;QACzF,IAAI,CAAC,aAAa;YAAE,SAAQ;QAE5B,IAAI,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC;YAAE,SAAQ;QAElE,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;QACpE,IAAI,CAAC,eAAe;YAAE,SAAQ;QAE9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE;gBACjE,iBAAiB,EAAE,KAAK;aACzB,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAErF,yCAAyC;YACzC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;YAC1F,CAAC;YAED,IAAI,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC;gBAAE,SAAQ;YAE/C,wFAAwF;YACxF,MAAM,iBAAiB,CACrB,OAAO,EACP,GAAG,CAAC,YAAY,EAChB,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAC5D,MAAM,CACP,CAAA;YAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAErB,MAAM,aAAa,GAAG,GAAG,SAAS,CAAC,IAAI,KAAK,CAAA;YAC5C,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACtD,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;YAEvC,eAAe,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClE,IAAI,EAAE,aAAa;aACpB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,SAAS,CAAC,IAAI,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1F,SAAQ;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;AAC5C,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,mDAAmD;AACnD,SAAS,gBAAgB,CAAC,WAAmB,EAAE,WAAmB;IAChE,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,gDAAgD;AAChD,SAAS,oBAAoB,CAC3B,WAAmB,EACnB,WAAmB,EACnB,MAAwB;IAExB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW;QAAE,OAAO,KAAK,CAAA;IAC/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CACpC,CAAC,OAAO,EAAE,EAAE;IACV,gDAAgD;IAChD,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CACnE,CAAA;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,aAAa,CACpB,UAAmD,EACnD,aAAqB;IAErB,OAAO,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;AAClE,CAAC;AAED,8CAA8C;AAC9C,SAAS,YAAY,CACnB,GAAoB,EACpB,IAAY,EACZ,aAAqB,EACrB,eAAgC,EAChC,mBAA2B;IAE3B,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,mBAAmB;QAC/B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,GAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAChF,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,OAAO,KAAK,EAAE,IAAY,EAA0B,EAAE;QACpD,IACE,CAAC,IAAI;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,oBAAoB,CAAC,IAAI,CAAC,EAC1B,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAC3C,sEAAsE;QACtE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW;YAAE,OAAO,IAAI,CAAA;QAClD,IAAI,CAAC;YACH,qFAAqF;YACrF,0FAA0F;YAC1F,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAAE,OAAO,IAAI,CAAA;YAChC,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAA;YACtF,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAC9B,KAAc,EACd,YAAoB,EACpB,SAAwB,EACxB,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAM;IACtB,MAAM,GAAG,GAA0B;QACjC,SAAS,EAAE,SAAS,IAAI,EAAE;QAC1B,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;KACzD,CAAA;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC5C,IAAI,QAAQ;YAAE,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAA;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,oCAAoC,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,SAAS,WAAW,EAC9E,eAAe,CAAC,GAAG,CAAC,CACrB,CAAA;IACH,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,SAAS,mBAAmB,CAC1B,KAAkB,EAClB,MAAiE,EACjE,WAAmB;IAEnB,qBAAqB;IACrB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAClD,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAC3D,OAAO,CACL,KAAK,CAAC,UAAU,KAAK,YAAY;gBACjC,KAAK,CAAC,UAAU,KAAK,OAAO;gBAC5B,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,CAChD,CAAA;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;IAC5B,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAA;IAChE,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;QACrF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;QAC7E,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;IAC5B,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;IACxC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/ai/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
export { defineAIContentConfig } from './types';
|
|
8
8
|
export { createAIContentHandler } from './handler';
|
|
9
9
|
export { generateAIContent } from './generate';
|
|
10
|
-
export type { AIContentConfig, ExcludeConfig, BundleConfig, BundleFilter, FieldTransformFn, FieldTransforms, ComponentProps, ComponentTransformFn, ComponentTransforms, BodyTransformFn, BodyTransforms, AIManifest, AIManifestCollection, AIManifestEntry, AIManifestBundle, AIEntry, AIEntryMeta, } from './types';
|
|
10
|
+
export type { AIContentConfig, ExcludeConfig, BundleConfig, BundleFilter, FieldTransformFn, FieldTransforms, ComponentProps, ComponentTransformFn, ComponentTransforms, BodyTransformFn, BodyTransforms, EntryTransformFn, EntryTransforms, EntryTransformContext, AIManifest, AIManifestCollection, AIManifestEntry, AIManifestBundle, AIEntry, AIEntryMeta, } from './types';
|
|
11
11
|
export type { AIContentHandlerOptions } from './handler';
|
|
12
12
|
export type { GenerateOptions, GenerateResult } from './generate';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ai/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,YAAY,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,WAAW,GACZ,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACxD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,YAAY,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,WAAW,GACZ,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACxD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-to-markdown.d.ts","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,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,
|
|
1
|
+
{"version":3,"file":"json-to-markdown.d.ts","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,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,CAkChF"}
|
|
@@ -37,6 +37,12 @@ export function entryToMarkdown(entry, config) {
|
|
|
37
37
|
// For data-only formats (JSON/YAML): full schema-driven conversion
|
|
38
38
|
parts.push(...renderJsonEntry(entry, config, skipFields));
|
|
39
39
|
}
|
|
40
|
+
// Markdown appended by an entry transform (e.g. a folded-in sibling artifact). Computed once
|
|
41
|
+
// upstream, so it flows into the per-entry file, the collection all.md, and bundles alike.
|
|
42
|
+
if (entry.appendedSections) {
|
|
43
|
+
parts.push(entry.appendedSections.trim());
|
|
44
|
+
parts.push('');
|
|
45
|
+
}
|
|
40
46
|
return parts.join('\n');
|
|
41
47
|
}
|
|
42
48
|
/**
|
|
@@ -155,6 +161,13 @@ function renderField(field, value, depth, entry, config) {
|
|
|
155
161
|
function renderListField(field, values, depth, label, heading, descriptionLine, entry, config) {
|
|
156
162
|
if (values.length === 0)
|
|
157
163
|
return '';
|
|
164
|
+
// Arrays of flat records (object items whose subfields are all single-line scalars) render far
|
|
165
|
+
// more compactly — and more scannably for an AI — as a markdown table than as nested ordinal
|
|
166
|
+
// headings. Genuinely nested items (subfields that are lists/objects/blocks/long text) keep the
|
|
167
|
+
// heading-per-item fallback below.
|
|
168
|
+
if (field.type === 'object' && isFlatObjectList(field)) {
|
|
169
|
+
return renderObjectListTable(field, values, label, heading, descriptionLine);
|
|
170
|
+
}
|
|
158
171
|
const isComplex = field.type === 'object' || field.type === 'block';
|
|
159
172
|
if (isComplex) {
|
|
160
173
|
// For complex types, render each item as a subsection
|
|
@@ -183,6 +196,80 @@ function renderListField(field, values, depth, label, heading, descriptionLine,
|
|
|
183
196
|
const items = values.map((v) => `- ${formatInlineValue(field, v)}`).join('\n');
|
|
184
197
|
return `${heading} ${label}${descriptionLine}\n\n${items}`;
|
|
185
198
|
}
|
|
199
|
+
/** Subfield types that render to a single line and so fit cleanly in a table cell. */
|
|
200
|
+
const FLAT_CELL_TYPES = new Set([
|
|
201
|
+
'string',
|
|
202
|
+
'number',
|
|
203
|
+
'datetime',
|
|
204
|
+
'boolean',
|
|
205
|
+
'select',
|
|
206
|
+
'reference',
|
|
207
|
+
'image',
|
|
208
|
+
]);
|
|
209
|
+
/**
|
|
210
|
+
* True when an object list field's items are flat records — every subfield is a single-line scalar
|
|
211
|
+
* *field type* (no sub-lists, nested objects/blocks, or multi-line text/code types). Such lists
|
|
212
|
+
* render as a table; anything else keeps the nested heading-per-item form. This is a schema-level
|
|
213
|
+
* check: it classifies by declared field type, not by inspecting values (a `string` field whose
|
|
214
|
+
* value happens to be long still qualifies and is collapsed into one cell).
|
|
215
|
+
*/
|
|
216
|
+
function isFlatObjectList(field) {
|
|
217
|
+
if (field.type !== 'object')
|
|
218
|
+
return false;
|
|
219
|
+
const subFields = field.fields;
|
|
220
|
+
if (!subFields || subFields.length === 0)
|
|
221
|
+
return false;
|
|
222
|
+
return subFields.every((f) => !('list' in f && f.list) && FLAT_CELL_TYPES.has(f.type));
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Render an array of flat object records as a GFM table. Columns are the subfields in schema order;
|
|
226
|
+
* absent values become empty cells; pipes and newlines in cells are escaped.
|
|
227
|
+
*/
|
|
228
|
+
function renderObjectListTable(field, values, label, heading, descriptionLine) {
|
|
229
|
+
const columns = field.fields;
|
|
230
|
+
const headerRow = `| ${columns.map((f) => escapeTableCell(f.label || f.name)).join(' | ')} |`;
|
|
231
|
+
const separatorRow = `| ${columns.map(() => '---').join(' | ')} |`;
|
|
232
|
+
const dataRows = values.map((item) => {
|
|
233
|
+
const record = typeof item === 'object' && item !== null ? item : {};
|
|
234
|
+
const cells = columns.map((f) => {
|
|
235
|
+
const v = record[f.name];
|
|
236
|
+
if (v === undefined || v === null)
|
|
237
|
+
return '';
|
|
238
|
+
return escapeTableCell(formatCellValue(f, v));
|
|
239
|
+
});
|
|
240
|
+
return `| ${cells.join(' | ')} |`;
|
|
241
|
+
});
|
|
242
|
+
const table = [headerRow, separatorRow, ...dataRows].join('\n');
|
|
243
|
+
return `${heading} ${label}${descriptionLine}\n\n${table}`;
|
|
244
|
+
}
|
|
245
|
+
/** Render a single scalar subfield value to its one-line table-cell form. */
|
|
246
|
+
function formatCellValue(field, value) {
|
|
247
|
+
switch (field.type) {
|
|
248
|
+
case 'boolean':
|
|
249
|
+
return value ? 'Yes' : 'No';
|
|
250
|
+
case 'reference':
|
|
251
|
+
return formatReference(value);
|
|
252
|
+
case 'select':
|
|
253
|
+
return Array.isArray(value)
|
|
254
|
+
? value.map((v) => resolveSelectLabel(field, v)).join(', ')
|
|
255
|
+
: resolveSelectLabel(field, value);
|
|
256
|
+
case 'image':
|
|
257
|
+
// Match the standalone image rendering (renderField) so a table cell stays an image reference.
|
|
258
|
+
return `})`;
|
|
259
|
+
default:
|
|
260
|
+
return String(value);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/** Escape a value for a GFM table cell: backslashes and pipes are escaped, newlines collapsed. */
|
|
264
|
+
function escapeTableCell(value) {
|
|
265
|
+
// Escape backslashes first so an already-present backslash can't consume the pipe escape we add
|
|
266
|
+
// (source `a\|b` must become `a\\\|b`, not `a\\|b` — the latter leaves `|` as a column delimiter).
|
|
267
|
+
return value
|
|
268
|
+
.replace(/\\/g, '\\\\')
|
|
269
|
+
.replace(/\|/g, '\\|')
|
|
270
|
+
.replace(/\r?\n+/g, ' ')
|
|
271
|
+
.trim();
|
|
272
|
+
}
|
|
186
273
|
/**
|
|
187
274
|
* Render a select field.
|
|
188
275
|
*/
|
|
@@ -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":"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"}
|
package/dist/ai/types.d.ts
CHANGED
|
@@ -120,6 +120,52 @@ export type BodyTransformFn = (body: string, entry: AIEntryMeta) => string;
|
|
|
120
120
|
* ```
|
|
121
121
|
*/
|
|
122
122
|
export type BodyTransforms = Record<string, BodyTransformFn>;
|
|
123
|
+
/**
|
|
124
|
+
* Context passed to an entry transform. Lets an adopter fold a colocated machine-generated
|
|
125
|
+
* sibling artifact (e.g. `<contentId>.profile.json`) into the generated markdown — the AI-export
|
|
126
|
+
* counterpart of reading a sibling from `meta.physicalPath` in a page render.
|
|
127
|
+
*
|
|
128
|
+
* The transform sees a single entry plus its colocated sibling *files*; it cannot see other
|
|
129
|
+
* entries. Cross-entry context (e.g. an index of all entries) must be built adopter-side.
|
|
130
|
+
*/
|
|
131
|
+
export interface EntryTransformContext {
|
|
132
|
+
/**
|
|
133
|
+
* Stable content ID (Base58) of this entry — matches the id embedded in the entry's filename
|
|
134
|
+
* and is invariant under slug edits. Use it to name sibling artifacts.
|
|
135
|
+
*/
|
|
136
|
+
contentId: string;
|
|
137
|
+
/**
|
|
138
|
+
* Read a sibling file colocated in this entry's directory. `name` must be a bare filename —
|
|
139
|
+
* no slashes, no `..`, not absolute. Resolves to the file's UTF-8 contents, or `null` if the
|
|
140
|
+
* file is missing or is not a regular file. Path-safety and IO are performed inside Canopy;
|
|
141
|
+
* the entry's absolute filesystem path is never exposed (it must not leak into published output).
|
|
142
|
+
*/
|
|
143
|
+
readSibling: (name: string) => Promise<string | null>;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Per-entry-type transform. Runs once per entry at generation time (may be async). Return a
|
|
147
|
+
* markdown string to APPEND after the entry's body/fields, or `undefined` to append nothing.
|
|
148
|
+
* Append-only by design — `entryToMarkdown` remains the sole owner of base serialization.
|
|
149
|
+
*
|
|
150
|
+
* Unlike `bodyTransforms` (which fire only for MD/MDX bodies), entry transforms fire for every
|
|
151
|
+
* format, including data-only JSON/YAML entries.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* {
|
|
156
|
+
* dataset: async (entry, { contentId, readSibling }) => {
|
|
157
|
+
* const raw = await readSibling(`${contentId}.profile.json`)
|
|
158
|
+
* if (!raw) return
|
|
159
|
+
* return renderProfileSchema(entry.data, JSON.parse(raw))
|
|
160
|
+
* },
|
|
161
|
+
* }
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
export type EntryTransformFn = (entry: AIEntry, ctx: EntryTransformContext) => Promise<string | undefined> | string | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* Entry transform overrides, keyed by entry type name.
|
|
167
|
+
*/
|
|
168
|
+
export type EntryTransforms = Record<string, EntryTransformFn>;
|
|
123
169
|
/**
|
|
124
170
|
* Main AI content configuration. Shared by route handler and build utility.
|
|
125
171
|
*/
|
|
@@ -134,6 +180,8 @@ export interface AIContentConfig {
|
|
|
134
180
|
componentTransforms?: ComponentTransforms;
|
|
135
181
|
/** Per-entry-type body transforms (applied after componentTransforms) */
|
|
136
182
|
bodyTransforms?: BodyTransforms;
|
|
183
|
+
/** Per-entry-type transforms that append markdown (e.g. folding in a colocated sibling artifact) */
|
|
184
|
+
entryTransforms?: EntryTransforms;
|
|
137
185
|
}
|
|
138
186
|
/**
|
|
139
187
|
* Identity function for type-checking AI content config.
|
|
@@ -179,5 +227,11 @@ export interface AIEntry extends AIEntryMeta {
|
|
|
179
227
|
body?: string;
|
|
180
228
|
/** Schema fields for this entry type */
|
|
181
229
|
fields: readonly FieldConfig[];
|
|
230
|
+
/**
|
|
231
|
+
* Markdown produced by an entry transform, appended after the entry's body/fields.
|
|
232
|
+
* Computed once at generation time and reused across the per-entry file, the collection
|
|
233
|
+
* `all.md`, and any bundle that includes this entry. Internal — not part of `AIEntryMeta`.
|
|
234
|
+
*/
|
|
235
|
+
appendedSections?: string;
|
|
182
236
|
}
|
|
183
237
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/ai/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAM5C;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,MAAM,EAAE,YAAY,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,KAAK,MAAM,CAAA;AAEnF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAE9E;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;AAElG;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAEtE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,MAAM,CAAA;AAE1E;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,gDAAgD;IAChD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,mDAAmD;IACnD,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,yEAAyE;IACzE,cAAc,CAAC,EAAE,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4MH;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAuB;IAC3D,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -706,7 +706,7 @@ import path14 from "node:path";
|
|
|
706
706
|
import { createJiti } from "jiti";
|
|
707
707
|
|
|
708
708
|
// dist/build/generate-ai-content.js
|
|
709
|
-
import
|
|
709
|
+
import fs12 from "node:fs/promises";
|
|
710
710
|
import path13 from "node:path";
|
|
711
711
|
|
|
712
712
|
// dist/content-store.js
|
|
@@ -1076,13 +1076,13 @@ function extractIdFromFilename(filename) {
|
|
|
1076
1076
|
return null;
|
|
1077
1077
|
}
|
|
1078
1078
|
async function resolveCollectionPath(root, logicalPath) {
|
|
1079
|
-
const
|
|
1079
|
+
const fs13 = await import("node:fs/promises");
|
|
1080
1080
|
const path15 = await import("node:path");
|
|
1081
1081
|
const segments = logicalPath.split("/").filter(Boolean);
|
|
1082
1082
|
let currentPath = root;
|
|
1083
1083
|
for (const segment of segments) {
|
|
1084
1084
|
try {
|
|
1085
|
-
const entries = await
|
|
1085
|
+
const entries = await fs13.readdir(currentPath, { withFileTypes: true });
|
|
1086
1086
|
const matchingDir = entries.find((entry) => {
|
|
1087
1087
|
if (!entry.isDirectory())
|
|
1088
1088
|
return false;
|
|
@@ -2093,6 +2093,7 @@ var BranchSchemaCache = class {
|
|
|
2093
2093
|
|
|
2094
2094
|
// dist/ai/generate.js
|
|
2095
2095
|
import path7 from "node:path";
|
|
2096
|
+
import fs7 from "node:fs/promises";
|
|
2096
2097
|
import { minimatch } from "minimatch";
|
|
2097
2098
|
|
|
2098
2099
|
// dist/ai/strip-mdx.js
|
|
@@ -2279,6 +2280,10 @@ function entryToMarkdown(entry, config) {
|
|
|
2279
2280
|
} else {
|
|
2280
2281
|
parts.push(...renderJsonEntry(entry, config, skipFields));
|
|
2281
2282
|
}
|
|
2283
|
+
if (entry.appendedSections) {
|
|
2284
|
+
parts.push(entry.appendedSections.trim());
|
|
2285
|
+
parts.push("");
|
|
2286
|
+
}
|
|
2282
2287
|
return parts.join("\n");
|
|
2283
2288
|
}
|
|
2284
2289
|
function renderMarkdownEntry(entry, config, skipFields) {
|
|
@@ -2388,6 +2393,9 @@ ${String(value)}`;
|
|
|
2388
2393
|
function renderListField(field, values, depth, label, heading, descriptionLine, entry, config) {
|
|
2389
2394
|
if (values.length === 0)
|
|
2390
2395
|
return "";
|
|
2396
|
+
if (field.type === "object" && isFlatObjectList(field)) {
|
|
2397
|
+
return renderObjectListTable(field, values, label, heading, descriptionLine);
|
|
2398
|
+
}
|
|
2391
2399
|
const isComplex = field.type === "object" || field.type === "block";
|
|
2392
2400
|
if (isComplex) {
|
|
2393
2401
|
const items2 = values.map((item, i) => {
|
|
@@ -2418,6 +2426,59 @@ ${items2.join("\n\n")}`;
|
|
|
2418
2426
|
|
|
2419
2427
|
${items}`;
|
|
2420
2428
|
}
|
|
2429
|
+
var FLAT_CELL_TYPES = /* @__PURE__ */ new Set([
|
|
2430
|
+
"string",
|
|
2431
|
+
"number",
|
|
2432
|
+
"datetime",
|
|
2433
|
+
"boolean",
|
|
2434
|
+
"select",
|
|
2435
|
+
"reference",
|
|
2436
|
+
"image"
|
|
2437
|
+
]);
|
|
2438
|
+
function isFlatObjectList(field) {
|
|
2439
|
+
if (field.type !== "object")
|
|
2440
|
+
return false;
|
|
2441
|
+
const subFields = field.fields;
|
|
2442
|
+
if (!subFields || subFields.length === 0)
|
|
2443
|
+
return false;
|
|
2444
|
+
return subFields.every((f) => !("list" in f && f.list) && FLAT_CELL_TYPES.has(f.type));
|
|
2445
|
+
}
|
|
2446
|
+
function renderObjectListTable(field, values, label, heading, descriptionLine) {
|
|
2447
|
+
const columns = field.fields;
|
|
2448
|
+
const headerRow = `| ${columns.map((f) => escapeTableCell(f.label || f.name)).join(" | ")} |`;
|
|
2449
|
+
const separatorRow = `| ${columns.map(() => "---").join(" | ")} |`;
|
|
2450
|
+
const dataRows = values.map((item) => {
|
|
2451
|
+
const record = typeof item === "object" && item !== null ? item : {};
|
|
2452
|
+
const cells = columns.map((f) => {
|
|
2453
|
+
const v = record[f.name];
|
|
2454
|
+
if (v === void 0 || v === null)
|
|
2455
|
+
return "";
|
|
2456
|
+
return escapeTableCell(formatCellValue(f, v));
|
|
2457
|
+
});
|
|
2458
|
+
return `| ${cells.join(" | ")} |`;
|
|
2459
|
+
});
|
|
2460
|
+
const table = [headerRow, separatorRow, ...dataRows].join("\n");
|
|
2461
|
+
return `${heading} ${label}${descriptionLine}
|
|
2462
|
+
|
|
2463
|
+
${table}`;
|
|
2464
|
+
}
|
|
2465
|
+
function formatCellValue(field, value) {
|
|
2466
|
+
switch (field.type) {
|
|
2467
|
+
case "boolean":
|
|
2468
|
+
return value ? "Yes" : "No";
|
|
2469
|
+
case "reference":
|
|
2470
|
+
return formatReference(value);
|
|
2471
|
+
case "select":
|
|
2472
|
+
return Array.isArray(value) ? value.map((v) => resolveSelectLabel(field, v)).join(", ") : resolveSelectLabel(field, value);
|
|
2473
|
+
case "image":
|
|
2474
|
+
return `})`;
|
|
2475
|
+
default:
|
|
2476
|
+
return String(value);
|
|
2477
|
+
}
|
|
2478
|
+
}
|
|
2479
|
+
function escapeTableCell(value) {
|
|
2480
|
+
return value.replace(/\\/g, "\\\\").replace(/\|/g, "\\|").replace(/\r?\n+/g, " ").trim();
|
|
2481
|
+
}
|
|
2421
2482
|
function renderSelectField(field, value, heading, label, descriptionLine) {
|
|
2422
2483
|
if (Array.isArray(value)) {
|
|
2423
2484
|
return `${heading} ${label}${descriptionLine}
|
|
@@ -2837,6 +2898,7 @@ async function processCollection(store, collection, flatSchema, contentRoot, con
|
|
|
2837
2898
|
}
|
|
2838
2899
|
if (config?.exclude?.where?.(aiEntry))
|
|
2839
2900
|
continue;
|
|
2901
|
+
await runEntryTransform(aiEntry, doc.absolutePath, extractIdFromFilename(path7.basename(listEntry.relativePath)), config);
|
|
2840
2902
|
entries.push(aiEntry);
|
|
2841
2903
|
const entryFilePath = `${cleanPath}/${listEntry.slug}.md`;
|
|
2842
2904
|
const entryMarkdown = entryToMarkdown(aiEntry, config);
|
|
@@ -2905,6 +2967,7 @@ async function processRootEntries(store, rootCollection, contentRoot, config, id
|
|
|
2905
2967
|
}
|
|
2906
2968
|
if (config?.exclude?.where?.(aiEntry))
|
|
2907
2969
|
continue;
|
|
2970
|
+
await runEntryTransform(aiEntry, doc.absolutePath, extractIdFromFilename(path7.basename(listEntry.relativePath)), config);
|
|
2908
2971
|
entries.push(aiEntry);
|
|
2909
2972
|
const entryFilePath = `${listEntry.slug}.md`;
|
|
2910
2973
|
const entryMarkdown = entryToMarkdown(aiEntry, config);
|
|
@@ -2951,6 +3014,43 @@ function docToAIEntry(doc, slug, entryTypeName, entryTypeConfig, cleanCollection
|
|
|
2951
3014
|
fields: entryTypeConfig.schema
|
|
2952
3015
|
};
|
|
2953
3016
|
}
|
|
3017
|
+
function makeReadSibling(dir) {
|
|
3018
|
+
const resolvedDir = path7.resolve(dir);
|
|
3019
|
+
return async (name) => {
|
|
3020
|
+
if (!name || name.includes("/") || name.includes("\\") || path7.isAbsolute(name) || hasTraversalSequence(name)) {
|
|
3021
|
+
return null;
|
|
3022
|
+
}
|
|
3023
|
+
const abs = path7.resolve(resolvedDir, name);
|
|
3024
|
+
if (path7.dirname(abs) !== resolvedDir)
|
|
3025
|
+
return null;
|
|
3026
|
+
try {
|
|
3027
|
+
const stats = await fs7.lstat(abs);
|
|
3028
|
+
if (!stats.isFile())
|
|
3029
|
+
return null;
|
|
3030
|
+
return await fs7.readFile(abs, "utf8");
|
|
3031
|
+
} catch (err) {
|
|
3032
|
+
if (isNodeError(err) && (err.code === "ENOENT" || err.code === "ENOTDIR"))
|
|
3033
|
+
return null;
|
|
3034
|
+
throw err;
|
|
3035
|
+
}
|
|
3036
|
+
};
|
|
3037
|
+
}
|
|
3038
|
+
async function runEntryTransform(entry, absolutePath, contentId, config) {
|
|
3039
|
+
const transform = config?.entryTransforms?.[entry.entryType];
|
|
3040
|
+
if (!transform)
|
|
3041
|
+
return;
|
|
3042
|
+
const ctx = {
|
|
3043
|
+
contentId: contentId ?? "",
|
|
3044
|
+
readSibling: makeReadSibling(path7.dirname(absolutePath))
|
|
3045
|
+
};
|
|
3046
|
+
try {
|
|
3047
|
+
const appended = await transform(entry, ctx);
|
|
3048
|
+
if (appended)
|
|
3049
|
+
entry.appendedSections = appended;
|
|
3050
|
+
} catch (err) {
|
|
3051
|
+
console.warn(`AI content: entry transform for "${entry.slug}" (${entry.entryType}) failed:`, getErrorMessage(err));
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
2954
3054
|
function matchesBundleFilter(entry, filter, contentRoot) {
|
|
2955
3055
|
if (filter.collections) {
|
|
2956
3056
|
const matches = filter.collections.some((pattern) => {
|
|
@@ -2982,11 +3082,11 @@ import path12 from "node:path";
|
|
|
2982
3082
|
|
|
2983
3083
|
// dist/branch-metadata.js
|
|
2984
3084
|
import { randomUUID } from "node:crypto";
|
|
2985
|
-
import
|
|
3085
|
+
import fs9 from "node:fs/promises";
|
|
2986
3086
|
import path9 from "node:path";
|
|
2987
3087
|
|
|
2988
3088
|
// dist/branch-registry.js
|
|
2989
|
-
import
|
|
3089
|
+
import fs8 from "node:fs/promises";
|
|
2990
3090
|
import path8 from "node:path";
|
|
2991
3091
|
var REGISTRY_FILE = "branches.json";
|
|
2992
3092
|
var REGISTRY_STALE_FILE = "branches.stale.json";
|
|
@@ -3004,7 +3104,7 @@ var BranchRegistry = class {
|
|
|
3004
3104
|
*/
|
|
3005
3105
|
async list() {
|
|
3006
3106
|
try {
|
|
3007
|
-
const raw = await
|
|
3107
|
+
const raw = await fs8.readFile(this.registryPath, "utf8");
|
|
3008
3108
|
const parsed = JSON.parse(raw);
|
|
3009
3109
|
if (!parsed.version || !Array.isArray(parsed.branches)) {
|
|
3010
3110
|
return await this.regenerate();
|
|
@@ -3030,7 +3130,7 @@ var BranchRegistry = class {
|
|
|
3030
3130
|
*/
|
|
3031
3131
|
async invalidate() {
|
|
3032
3132
|
try {
|
|
3033
|
-
await
|
|
3133
|
+
await fs8.rename(this.registryPath, this.stalePath);
|
|
3034
3134
|
} catch (err) {
|
|
3035
3135
|
if (!isNotFoundError(err)) {
|
|
3036
3136
|
throw err;
|
|
@@ -3044,20 +3144,20 @@ var BranchRegistry = class {
|
|
|
3044
3144
|
async regenerate() {
|
|
3045
3145
|
const branches = await this.scanBranchDirectories();
|
|
3046
3146
|
const uniqueTempPath = `${this.tempPath}.${Date.now()}.${Math.random().toString(36).slice(2)}`;
|
|
3047
|
-
await
|
|
3147
|
+
await fs8.mkdir(this.root, { recursive: true });
|
|
3048
3148
|
const snapshot = {
|
|
3049
3149
|
version: REGISTRY_VERSION,
|
|
3050
3150
|
branches
|
|
3051
3151
|
};
|
|
3052
|
-
await
|
|
3152
|
+
await fs8.writeFile(uniqueTempPath, JSON.stringify(snapshot, null, 2) + "\n", "utf8");
|
|
3053
3153
|
try {
|
|
3054
|
-
await
|
|
3154
|
+
await fs8.rename(uniqueTempPath, this.registryPath);
|
|
3055
3155
|
} catch (err) {
|
|
3056
|
-
await
|
|
3156
|
+
await fs8.unlink(uniqueTempPath).catch(() => {
|
|
3057
3157
|
});
|
|
3058
3158
|
throw err;
|
|
3059
3159
|
}
|
|
3060
|
-
await
|
|
3160
|
+
await fs8.unlink(this.stalePath).catch(() => {
|
|
3061
3161
|
});
|
|
3062
3162
|
return branches;
|
|
3063
3163
|
}
|
|
@@ -3067,7 +3167,7 @@ var BranchRegistry = class {
|
|
|
3067
3167
|
async scanBranchDirectories() {
|
|
3068
3168
|
const branches = [];
|
|
3069
3169
|
try {
|
|
3070
|
-
const entries = await
|
|
3170
|
+
const entries = await fs8.readdir(this.root, { withFileTypes: true });
|
|
3071
3171
|
for (const entry of entries) {
|
|
3072
3172
|
if (!entry.isDirectory() || entry.name.startsWith(".")) {
|
|
3073
3173
|
continue;
|
|
@@ -3115,7 +3215,7 @@ var BranchMetadataFileManager = class _BranchMetadataFileManager {
|
|
|
3115
3215
|
static async loadOnly(branchRoot) {
|
|
3116
3216
|
const filePath = path9.join(path9.resolve(branchRoot), BRANCH_META_DIR, BRANCH_META_FILE);
|
|
3117
3217
|
try {
|
|
3118
|
-
const raw = await
|
|
3218
|
+
const raw = await fs9.readFile(filePath, "utf8");
|
|
3119
3219
|
return JSON.parse(raw);
|
|
3120
3220
|
} catch (err) {
|
|
3121
3221
|
if (isNotFoundError(err)) {
|
|
@@ -3133,7 +3233,7 @@ var BranchMetadataFileManager = class _BranchMetadataFileManager {
|
|
|
3133
3233
|
}
|
|
3134
3234
|
async load() {
|
|
3135
3235
|
try {
|
|
3136
|
-
const raw = await
|
|
3236
|
+
const raw = await fs9.readFile(this.filePath, "utf8");
|
|
3137
3237
|
const parsed = JSON.parse(raw);
|
|
3138
3238
|
const version = parsed.version ?? 0;
|
|
3139
3239
|
return { meta: parsed, version };
|
|
@@ -3157,31 +3257,31 @@ var BranchMetadataFileManager = class _BranchMetadataFileManager {
|
|
|
3157
3257
|
version: newVersion,
|
|
3158
3258
|
writeId
|
|
3159
3259
|
};
|
|
3160
|
-
await
|
|
3260
|
+
await fs9.mkdir(path9.dirname(this.filePath), { recursive: true });
|
|
3161
3261
|
const content = JSON.stringify(payload, null, 2) + "\n";
|
|
3162
3262
|
if (expectedVersion === null) {
|
|
3163
3263
|
const tempPath2 = `${this.filePath}.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`;
|
|
3164
|
-
await
|
|
3264
|
+
await fs9.writeFile(tempPath2, content, "utf-8");
|
|
3165
3265
|
try {
|
|
3166
|
-
await
|
|
3266
|
+
await fs9.link(tempPath2, this.filePath);
|
|
3167
3267
|
} catch (err) {
|
|
3168
|
-
await
|
|
3268
|
+
await fs9.unlink(tempPath2).catch(() => {
|
|
3169
3269
|
});
|
|
3170
3270
|
if (isFileExistsError(err)) {
|
|
3171
3271
|
throw new BranchMetadataConflictError();
|
|
3172
3272
|
}
|
|
3173
3273
|
throw err;
|
|
3174
3274
|
}
|
|
3175
|
-
await
|
|
3275
|
+
await fs9.unlink(tempPath2).catch(() => {
|
|
3176
3276
|
});
|
|
3177
3277
|
return { version: newVersion, writeId };
|
|
3178
3278
|
}
|
|
3179
3279
|
const tempPath = `${this.filePath}.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`;
|
|
3180
|
-
await
|
|
3280
|
+
await fs9.writeFile(tempPath, content, "utf-8");
|
|
3181
3281
|
try {
|
|
3182
3282
|
let currentVersion = null;
|
|
3183
3283
|
try {
|
|
3184
|
-
const current = JSON.parse(await
|
|
3284
|
+
const current = JSON.parse(await fs9.readFile(this.filePath, "utf-8"));
|
|
3185
3285
|
currentVersion = current.version ?? 0;
|
|
3186
3286
|
} catch {
|
|
3187
3287
|
currentVersion = null;
|
|
@@ -3189,13 +3289,13 @@ var BranchMetadataFileManager = class _BranchMetadataFileManager {
|
|
|
3189
3289
|
if (currentVersion !== expectedVersion) {
|
|
3190
3290
|
throw new BranchMetadataConflictError();
|
|
3191
3291
|
}
|
|
3192
|
-
await
|
|
3193
|
-
const afterWrite = JSON.parse(await
|
|
3292
|
+
await fs9.rename(tempPath, this.filePath);
|
|
3293
|
+
const afterWrite = JSON.parse(await fs9.readFile(this.filePath, "utf-8"));
|
|
3194
3294
|
if (afterWrite.writeId !== writeId) {
|
|
3195
3295
|
throw new BranchMetadataConflictError();
|
|
3196
3296
|
}
|
|
3197
3297
|
} catch (err) {
|
|
3198
|
-
await
|
|
3298
|
+
await fs9.unlink(tempPath).catch(() => {
|
|
3199
3299
|
});
|
|
3200
3300
|
throw err;
|
|
3201
3301
|
}
|
|
@@ -3286,7 +3386,7 @@ var loadBranchContext = async (options) => {
|
|
|
3286
3386
|
init_operating_mode();
|
|
3287
3387
|
|
|
3288
3388
|
// dist/git-manager.js
|
|
3289
|
-
import
|
|
3389
|
+
import fs11 from "node:fs/promises";
|
|
3290
3390
|
import path11 from "node:path";
|
|
3291
3391
|
import { simpleGit as simpleGit2 } from "simple-git";
|
|
3292
3392
|
|
|
@@ -3311,11 +3411,11 @@ async function resolveBaseBranch(options) {
|
|
|
3311
3411
|
}
|
|
3312
3412
|
|
|
3313
3413
|
// dist/utils/provisioning-lock.js
|
|
3314
|
-
import
|
|
3414
|
+
import fs10 from "node:fs/promises";
|
|
3315
3415
|
import path10 from "node:path";
|
|
3316
3416
|
import lockfile from "proper-lockfile";
|
|
3317
3417
|
async function acquireProvisioningLock(lockTargetDir, lockName) {
|
|
3318
|
-
await
|
|
3418
|
+
await fs10.mkdir(lockTargetDir, { recursive: true });
|
|
3319
3419
|
return lockfile.lock(lockTargetDir, {
|
|
3320
3420
|
lockfilePath: path10.join(lockTargetDir, lockName),
|
|
3321
3421
|
retries: { retries: 600, factor: 1, minTimeout: 300, maxTimeout: 800, randomize: true },
|
|
@@ -3385,7 +3485,7 @@ var GitManager = class _GitManager {
|
|
|
3385
3485
|
releaseLock = await acquireProvisioningLock(remoteParent, ".remote-init.lock");
|
|
3386
3486
|
let remoteExists = false;
|
|
3387
3487
|
try {
|
|
3388
|
-
const stat = await
|
|
3488
|
+
const stat = await fs11.stat(options.remotePath);
|
|
3389
3489
|
remoteExists = stat.isDirectory();
|
|
3390
3490
|
} catch (err) {
|
|
3391
3491
|
if (!isNotFoundError(err))
|
|
@@ -3548,7 +3648,7 @@ var GitManager = class _GitManager {
|
|
|
3548
3648
|
*/
|
|
3549
3649
|
static async validateGitRepoExists(repoPath) {
|
|
3550
3650
|
try {
|
|
3551
|
-
const stat = await
|
|
3651
|
+
const stat = await fs11.stat(path11.join(repoPath, ".git"));
|
|
3552
3652
|
if (!stat.isDirectory()) {
|
|
3553
3653
|
throw new Error(`Expected git repo at ${repoPath}`);
|
|
3554
3654
|
}
|
|
@@ -3586,7 +3686,7 @@ var GitManager = class _GitManager {
|
|
|
3586
3686
|
return process.env[config.envVarName];
|
|
3587
3687
|
if (config.autoDetectRemotePath) {
|
|
3588
3688
|
try {
|
|
3589
|
-
const stat = await
|
|
3689
|
+
const stat = await fs11.stat(config.autoDetectRemotePath);
|
|
3590
3690
|
if (stat.isDirectory()) {
|
|
3591
3691
|
log2.debug("git", "Auto-detected local remote", {
|
|
3592
3692
|
path: config.autoDetectRemotePath
|
|
@@ -3638,12 +3738,12 @@ var GitManager = class _GitManager {
|
|
|
3638
3738
|
} catch {
|
|
3639
3739
|
const gitPath = path11.join(options.workspacePath, ".git");
|
|
3640
3740
|
try {
|
|
3641
|
-
const stat = await
|
|
3741
|
+
const stat = await fs11.stat(gitPath);
|
|
3642
3742
|
if (stat.isDirectory()) {
|
|
3643
3743
|
log2.debug("git", "Removing corrupt .git directory", {
|
|
3644
3744
|
workspacePath: options.workspacePath
|
|
3645
3745
|
});
|
|
3646
|
-
await
|
|
3746
|
+
await fs11.rm(gitPath, { recursive: true });
|
|
3647
3747
|
}
|
|
3648
3748
|
} catch (cleanupErr) {
|
|
3649
3749
|
if (!isNotFoundError(cleanupErr))
|
|
@@ -3886,10 +3986,10 @@ var GitManager = class _GitManager {
|
|
|
3886
3986
|
*/
|
|
3887
3987
|
async ensureGitExclude(pattern) {
|
|
3888
3988
|
const excludePath = path11.join(this.repoPath, ".git", "info", "exclude");
|
|
3889
|
-
await
|
|
3989
|
+
await fs11.mkdir(path11.dirname(excludePath), { recursive: true });
|
|
3890
3990
|
let content = "";
|
|
3891
3991
|
try {
|
|
3892
|
-
content = await
|
|
3992
|
+
content = await fs11.readFile(excludePath, "utf-8");
|
|
3893
3993
|
} catch (err) {
|
|
3894
3994
|
if (!isNotFoundError(err))
|
|
3895
3995
|
throw err;
|
|
@@ -3901,7 +4001,7 @@ var GitManager = class _GitManager {
|
|
|
3901
4001
|
}
|
|
3902
4002
|
const needsLeadingNewline = content.length > 0 && !content.endsWith("\n");
|
|
3903
4003
|
const newContent = content + (needsLeadingNewline ? "\n" : "") + pattern + "\n";
|
|
3904
|
-
await
|
|
4004
|
+
await fs11.writeFile(excludePath, newContent, "utf-8");
|
|
3905
4005
|
log2.debug("git", "Added pattern to .git/info/exclude", { pattern });
|
|
3906
4006
|
}
|
|
3907
4007
|
/**
|
|
@@ -3930,8 +4030,8 @@ var GitManager = class _GitManager {
|
|
|
3930
4030
|
}
|
|
3931
4031
|
for (const [filePath, content] of Object.entries(initialFiles)) {
|
|
3932
4032
|
const absolutePath = path11.join(this.repoPath, filePath);
|
|
3933
|
-
await
|
|
3934
|
-
await
|
|
4033
|
+
await fs11.mkdir(path11.dirname(absolutePath), { recursive: true });
|
|
4034
|
+
await fs11.writeFile(absolutePath, content, "utf-8");
|
|
3935
4035
|
await this.git.add(filePath);
|
|
3936
4036
|
}
|
|
3937
4037
|
await this.git.commit("Initialize settings branch", ["--allow-empty"]);
|
|
@@ -4111,8 +4211,8 @@ async function generateAIContentFiles(options) {
|
|
|
4111
4211
|
if (!absolutePath.startsWith(absoluteOutputDir)) {
|
|
4112
4212
|
throw new Error(`Path traversal detected in AI content output: ${filePath}`);
|
|
4113
4213
|
}
|
|
4114
|
-
await
|
|
4115
|
-
await
|
|
4214
|
+
await fs12.mkdir(path13.dirname(absolutePath), { recursive: true });
|
|
4215
|
+
await fs12.writeFile(absolutePath, content, "utf-8");
|
|
4116
4216
|
fileCount++;
|
|
4117
4217
|
}
|
|
4118
4218
|
return { fileCount, outputDir: absoluteOutputDir };
|
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.54",
|
|
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": {
|