@aotter/mantle-web 0.1.2-alpha.1 → 0.1.2-alpha.2
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/dto/ComposeLlmsTxtRequest.d.ts +2 -2
- package/dist/dto/ComposeLlmsTxtRequest.d.ts.map +1 -1
- package/dist/dto/ComposeSitemapRequest.d.ts +2 -0
- package/dist/dto/ComposeSitemapRequest.d.ts.map +1 -1
- package/dist/service/PublishedCollectionPager.d.ts +5 -0
- package/dist/service/PublishedCollectionPager.d.ts.map +1 -0
- package/dist/service/PublishedCollectionPager.js +37 -0
- package/dist/service/PublishedCollectionPager.js.map +1 -0
- package/dist/usecase/ComposeLlmsTxtUseCase.d.ts.map +1 -1
- package/dist/usecase/ComposeLlmsTxtUseCase.js +2 -2
- package/dist/usecase/ComposeLlmsTxtUseCase.js.map +1 -1
- package/dist/usecase/ComposeSitemapUseCase.d.ts.map +1 -1
- package/dist/usecase/ComposeSitemapUseCase.js +3 -2
- package/dist/usecase/ComposeSitemapUseCase.js.map +1 -1
- package/package.json +3 -3
|
@@ -11,8 +11,8 @@ export interface ComposeLlmsTxtRequest {
|
|
|
11
11
|
readonly limit?: number;
|
|
12
12
|
/** Include public non-localized entries alongside the requested locale. */
|
|
13
13
|
readonly includeUnlocalized?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
readonly
|
|
14
|
+
/** Ordered Schema tables to publish. */
|
|
15
|
+
readonly collections: readonly string[];
|
|
16
16
|
readonly pathFor?: (entry: Entry, locale: string) => string | null;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=ComposeLlmsTxtRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeLlmsTxtRequest.d.ts","sourceRoot":"","sources":["../../src/dto/ComposeLlmsTxtRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B;yEACqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,
|
|
1
|
+
{"version":3,"file":"ComposeLlmsTxtRequest.d.ts","sourceRoot":"","sources":["../../src/dto/ComposeLlmsTxtRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B;yEACqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACpE"}
|
|
@@ -2,6 +2,8 @@ import type { Entry } from "@aotter/mantle-spec";
|
|
|
2
2
|
import type { WebSiteConfig } from "../model/WebSiteConfig.js";
|
|
3
3
|
export interface ComposeSitemapRequest {
|
|
4
4
|
readonly site: WebSiteConfig;
|
|
5
|
+
/** Ordered Schema tables whose public routes are serialized. */
|
|
6
|
+
readonly collections: readonly string[];
|
|
5
7
|
/** Map storage row → one or more public routes. Returning `null` skips. */
|
|
6
8
|
readonly pathFor?: (entry: Entry) => string | readonly string[] | null;
|
|
7
9
|
/** Public routes without a backing Entry, such as home and collection lists. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeSitemapRequest.d.ts","sourceRoot":"","sources":["../../src/dto/ComposeSitemapRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACvE,gFAAgF;IAChF,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C;0EACsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;wEACoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
|
|
1
|
+
{"version":3,"file":"ComposeSitemapRequest.d.ts","sourceRoot":"","sources":["../../src/dto/ComposeSitemapRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACvE,gFAAgF;IAChF,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C;0EACsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;wEACoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { EntryReader, PublishedEntryPage, ReadPublishedPageArgs } from "@aotter/mantle-runtime";
|
|
2
|
+
export declare function readPublishedAcrossCollections(reader: EntryReader, collections: readonly string[], args: Omit<ReadPublishedPageArgs, "collection" | "cursor"> & {
|
|
3
|
+
readonly cursor?: string;
|
|
4
|
+
}): Promise<PublishedEntryPage>;
|
|
5
|
+
//# sourceMappingURL=PublishedCollectionPager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublishedCollectionPager.d.ts","sourceRoot":"","sources":["../../src/service/PublishedCollectionPager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAQrG,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,GAAG,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF,OAAO,CAAC,kBAAkB,CAAC,CAoB7B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export async function readPublishedAcrossCollections(reader, collections, args) {
|
|
2
|
+
const decoded = decode(args.cursor);
|
|
3
|
+
const rows = [];
|
|
4
|
+
let index = decoded.collection;
|
|
5
|
+
let cursor = decoded.cursor;
|
|
6
|
+
while (index < collections.length && rows.length < (args.limit ?? 50)) {
|
|
7
|
+
const page = await reader.readPublishedPage({
|
|
8
|
+
...args,
|
|
9
|
+
collection: collections[index],
|
|
10
|
+
cursor,
|
|
11
|
+
limit: (args.limit ?? 50) - rows.length,
|
|
12
|
+
});
|
|
13
|
+
rows.push(...page.rows);
|
|
14
|
+
if (page.nextCursor) {
|
|
15
|
+
return { rows, nextCursor: encode({ version: 1, collection: index, cursor: page.nextCursor }) };
|
|
16
|
+
}
|
|
17
|
+
index += 1;
|
|
18
|
+
cursor = undefined;
|
|
19
|
+
}
|
|
20
|
+
return { rows, nextCursor: index < collections.length ? encode({ version: 1, collection: index }) : undefined };
|
|
21
|
+
}
|
|
22
|
+
function encode(cursor) {
|
|
23
|
+
return encodeURIComponent(JSON.stringify(cursor));
|
|
24
|
+
}
|
|
25
|
+
function decode(value) {
|
|
26
|
+
if (!value)
|
|
27
|
+
return { version: 1, collection: 0 };
|
|
28
|
+
try {
|
|
29
|
+
const parsed = JSON.parse(decodeURIComponent(value));
|
|
30
|
+
if (parsed.version === 1 && Number.isSafeInteger(parsed.collection) && parsed.collection >= 0 &&
|
|
31
|
+
(parsed.cursor === undefined || typeof parsed.cursor === "string"))
|
|
32
|
+
return parsed;
|
|
33
|
+
}
|
|
34
|
+
catch { }
|
|
35
|
+
throw new RangeError("invalid published collection cursor");
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=PublishedCollectionPager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublishedCollectionPager.js","sourceRoot":"","sources":["../../src/service/PublishedCollectionPager.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAmB,EACnB,WAA8B,EAC9B,IAAyF;IAEzF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/B,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,OAAO,KAAK,GAAG,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;YAC1C,GAAG,IAAI;YACP,UAAU,EAAE,WAAW,CAAC,KAAK,CAAE;YAC/B,MAAM;YACN,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QAClG,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;QACX,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAClH,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAoB,CAAC;QACxE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAW,IAAI,CAAC;YAC1F,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;YAAE,OAAO,MAAgB,CAAC;IAClG,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeLlmsTxtUseCase.d.ts","sourceRoot":"","sources":["../../src/usecase/ComposeLlmsTxtUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposeLlmsTxtUseCase.d.ts","sourceRoot":"","sources":["../../src/usecase/ComposeLlmsTxtUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAG7E,0EAA0E;AAC1E,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAG7C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAkB5G"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { serializeLlmsTxt } from "../service/MarkdownSerializer.js";
|
|
2
|
+
import { readPublishedAcrossCollections } from "../service/PublishedCollectionPager.js";
|
|
2
3
|
/** Compose one bounded discovery page; callers must expose nextCursor. */
|
|
3
4
|
export class ComposeLlmsTxtUseCase {
|
|
4
5
|
reader;
|
|
@@ -10,9 +11,8 @@ export class ComposeLlmsTxtUseCase {
|
|
|
10
11
|
async execute(request) {
|
|
11
12
|
if (!this.paths)
|
|
12
13
|
return null;
|
|
13
|
-
const page = await this.reader.
|
|
14
|
+
const page = await readPublishedAcrossCollections(this.reader, request.collections, {
|
|
14
15
|
locale: request.locale,
|
|
15
|
-
collection: request.collection,
|
|
16
16
|
includeUnlocalized: request.includeUnlocalized,
|
|
17
17
|
cursor: request.cursor,
|
|
18
18
|
limit: request.limit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeLlmsTxtUseCase.js","sourceRoot":"","sources":["../../src/usecase/ComposeLlmsTxtUseCase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposeLlmsTxtUseCase.js","sourceRoot":"","sources":["../../src/usecase/ComposeLlmsTxtUseCase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAExF,0EAA0E;AAC1E,MAAM,OAAO,qBAAqB;IAEb;IACA;IAFnB,YACmB,MAAmB,EACnB,KAAgC;QADhC,WAAM,GAAN,MAAM,CAAa;QACnB,UAAK,GAAL,KAAK,CAA2B;IAChD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;YAClF,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC;YAC1F,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;YACN,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO;gBACpD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;gBACvE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;SACnG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAChG,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,OAAyB;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAChB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeSitemapUseCase.d.ts","sourceRoot":"","sources":["../../src/usecase/ComposeSitemapUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposeSitemapUseCase.d.ts","sourceRoot":"","sources":["../../src/usecase/ComposeSitemapUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAG7E,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6B7F;uGACmG;IAC7F,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAiBpG"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { entryPublicPath } from "../service/PublicPathResolver.js";
|
|
2
2
|
import { serializeSitemap, serializeSitemapIndex } from "../service/SitemapSerializer.js";
|
|
3
|
+
import { readPublishedAcrossCollections } from "../service/PublishedCollectionPager.js";
|
|
3
4
|
/** Entries per sitemap part; the protocol ceiling remains 50,000 URLs. */
|
|
4
5
|
export const SITEMAP_MAX_URLS_DEFAULT = 2000;
|
|
5
6
|
export class ComposeSitemapUseCase {
|
|
@@ -9,7 +10,7 @@ export class ComposeSitemapUseCase {
|
|
|
9
10
|
}
|
|
10
11
|
async execute(request) {
|
|
11
12
|
const cap = request.maxUrls ?? SITEMAP_MAX_URLS_DEFAULT;
|
|
12
|
-
const page = await this.reader.
|
|
13
|
+
const page = await readPublishedAcrossCollections(this.reader, request.collections, {
|
|
13
14
|
limit: cap, cursor: request.cursor,
|
|
14
15
|
dataFields: request.dataFields ?? (request.pathFor ? undefined : ["slug"]),
|
|
15
16
|
});
|
|
@@ -45,7 +46,7 @@ export class ComposeSitemapUseCase {
|
|
|
45
46
|
const paths = [partPath()];
|
|
46
47
|
let cursor;
|
|
47
48
|
do {
|
|
48
|
-
const page = await this.reader.
|
|
49
|
+
const page = await readPublishedAcrossCollections(this.reader, request.collections, {
|
|
49
50
|
limit: request.maxUrls ?? SITEMAP_MAX_URLS_DEFAULT,
|
|
50
51
|
dataFields: request.dataFields ?? (request.pathFor ? undefined : ["slug"]),
|
|
51
52
|
cursor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeSitemapUseCase.js","sourceRoot":"","sources":["../../src/usecase/ComposeSitemapUseCase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposeSitemapUseCase.js","sourceRoot":"","sources":["../../src/usecase/ComposeSitemapUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aotter/mantle-web",
|
|
3
|
-
"version": "0.1.2-alpha.
|
|
3
|
+
"version": "0.1.2-alpha.2",
|
|
4
4
|
"description": "Optional public document composition for Mantle: HTML, Markdown, llms.txt, sitemap, SEO, and preview.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://mantle.tools/",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"README.md"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@aotter/mantle-runtime": "0.1.2-alpha.
|
|
37
|
-
"@aotter/mantle-spec": "0.1.2-alpha.
|
|
36
|
+
"@aotter/mantle-runtime": "0.1.2-alpha.2",
|
|
37
|
+
"@aotter/mantle-spec": "0.1.2-alpha.2"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^26",
|