@betterportal/docs-site 10.1.64 → 10.1.65

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.
Files changed (32) hide show
  1. package/lib/bp-contracts/org.betterportal.docs-site.json +1 -1
  2. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/GET.d.ts +36 -3
  3. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/GET.d.ts.map +1 -1
  4. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/GET.js +43 -3
  5. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/GET.js.map +1 -1
  6. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.d.ts +44 -3
  7. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.d.ts.map +1 -1
  8. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.js +72 -3
  9. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.js.map +1 -1
  10. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/_renderer.bootstrap5/GET.d.ts +1 -1
  11. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/_renderer.bootstrap5/GET.d.ts.map +1 -1
  12. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.d.ts +1 -1
  13. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.d.ts.map +1 -1
  14. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.js +1 -1
  15. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.js.map +1 -1
  16. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/_renderer.bootstrap5/GET.d.ts +1 -1
  17. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/_renderer.bootstrap5/GET.d.ts.map +1 -1
  18. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/index.d.ts +1 -1
  19. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/index.d.ts.map +1 -1
  20. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/index.js +1 -1
  21. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/index.js.map +1 -1
  22. package/lib/schemas/service-betterportal-docs-site.json +1 -1
  23. package/lib/schemas/service-betterportal-docs-site.plugin.json +1 -1
  24. package/package.json +5 -5
  25. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/route.impl.d.ts +0 -44
  26. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/route.impl.d.ts.map +0 -1
  27. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/route.impl.js +0 -73
  28. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/route.impl.js.map +0 -1
  29. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/route.impl.d.ts +0 -36
  30. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/route.impl.d.ts.map +0 -1
  31. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/route.impl.js +0 -44
  32. package/lib/plugins/service-betterportal-docs-site/bp-routes/docs/route.impl.js.map +0 -1
@@ -4,7 +4,7 @@
4
4
  "pluginId": "org.betterportal.docs-site",
5
5
  "title": "BetterPortal Docs",
6
6
  "description": "Dogfooded BetterPortal documentation site backed by repository Markdown files.",
7
- "version": "10.1.64",
7
+ "version": "10.1.65",
8
8
  "category": "service",
9
9
  "deploymentModes": [
10
10
  "self-hosted"
@@ -1,5 +1,38 @@
1
1
  export declare const operationId = "docs.browse";
2
- export { title, description, auth, cacheHints, demoScenarios } from "./route.impl.js";
3
- export { ResponseSchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import type { Infer } from "anyvali";
4
+ import { type CacheHints, type DemoScenario, type ApiAuthRequirement } from "@betterportal/framework";
5
+ export declare const ResponseSchema: av.ObjectSchema<{
6
+ title: av.StringSchema;
7
+ description: av.StringSchema;
8
+ docs: av.ArraySchema<av.ObjectSchema<{
9
+ id: av.StringSchema;
10
+ section: av.StringSchema;
11
+ page: av.StringSchema;
12
+ title: av.StringSchema;
13
+ href: av.StringSchema;
14
+ sourcePath: av.StringSchema;
15
+ excerpt: av.StringSchema;
16
+ }>>;
17
+ }>;
18
+ export type ResponseData = Infer<typeof ResponseSchema>;
19
+ export declare const title = "BetterPortal Docs";
20
+ export declare const description = "Documentation index for BetterPortal.";
21
+ export declare const auth: ApiAuthRequirement;
22
+ export declare const cacheHints: CacheHints;
23
+ export declare const demoScenarios: DemoScenario<ResponseData>[];
24
+ declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
25
+ title: string;
26
+ description: string;
27
+ docs: {
28
+ id: string;
29
+ section: string;
30
+ page: string;
31
+ title: string;
32
+ href: string;
33
+ sourcePath: string;
34
+ excerpt: string;
35
+ }[];
36
+ }, unknown, Record<string, unknown>>;
37
+ export default _default;
5
38
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAajC,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,sBAAsB,CAAC;AACzC,eAAO,MAAM,WAAW,0CAA0C,CAAC;AAEnE,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAUrD,CAAC;;;;;;;;;;;;;;AAEF,wBAOE"}
@@ -1,5 +1,45 @@
1
1
  export const operationId = "docs.browse";
2
- export { title, description, auth, cacheHints, demoScenarios } from "./route.impl.js";
3
- export { ResponseSchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import { createHandler } from "@betterportal/framework";
4
+ import { listDocs } from "./content.js";
5
+ const DocSummarySchema = av.object({
6
+ id: av.string().minLength(1),
7
+ section: av.string().minLength(1),
8
+ page: av.string().minLength(1),
9
+ title: av.string().minLength(1),
10
+ href: av.string().minLength(1),
11
+ sourcePath: av.string().minLength(1),
12
+ excerpt: av.string()
13
+ });
14
+ export const ResponseSchema = av.object({
15
+ title: av.string().minLength(1),
16
+ description: av.string().minLength(1),
17
+ docs: av.array(DocSummarySchema)
18
+ });
19
+ export const title = "BetterPortal Docs";
20
+ export const description = "Documentation index for BetterPortal.";
21
+ export const auth = {
22
+ required: false,
23
+ permissions: []
24
+ };
25
+ export const cacheHints = {
26
+ ttlSeconds: 15,
27
+ varyBy: ["accept", "origin", "referer", ":origin", ":referer"]
28
+ };
29
+ export const demoScenarios = [
30
+ {
31
+ id: "default",
32
+ title: "Docs Index",
33
+ response: {
34
+ title: "BetterPortal",
35
+ description: "A service-composed portal platform for multi-tenant products.",
36
+ docs: []
37
+ }
38
+ }
39
+ ];
40
+ export default createHandler({ response: ResponseSchema }, async () => ({
41
+ title: "BetterPortal",
42
+ description: "A service-composed portal platform for multi-tenant products.",
43
+ docs: await listDocs()
44
+ }));
5
45
  //# sourceMappingURL=GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/GET.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/GET.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,aAAa,EAId,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/B,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACrC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,KAAK,GAAG,mBAAmB,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAEnE,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE;YACR,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,+DAA+D;YAC5E,IAAI,EAAE,EAAE;SACT;KACF;CACF,CAAC;AAEF,eAAe,aAAa,CAC1B,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,KAAK,IAAI,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,+DAA+D;IAC5E,IAAI,EAAE,MAAM,QAAQ,EAAE;CACvB,CAAC,CACH,CAAC"}
@@ -1,5 +1,46 @@
1
1
  export declare const operationId = "docs.read";
2
- export { title, description, auth, cacheHints, demoScenarios } from "./route.impl.js";
3
- export { ResponseSchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import type { Infer } from "anyvali";
4
+ import { type CacheHints, type DemoScenario, type ApiAuthRequirement } from "@betterportal/framework";
5
+ export declare const ResponseSchema: av.ObjectSchema<{
6
+ title: av.StringSchema;
7
+ section: av.StringSchema;
8
+ page: av.StringSchema;
9
+ sourcePath: av.StringSchema;
10
+ markdown: av.StringSchema;
11
+ docs: av.ArraySchema<av.ObjectSchema<{
12
+ id: av.StringSchema;
13
+ section: av.StringSchema;
14
+ page: av.StringSchema;
15
+ title: av.StringSchema;
16
+ href: av.StringSchema;
17
+ sourcePath: av.StringSchema;
18
+ excerpt: av.StringSchema;
19
+ }>>;
20
+ notFound: av.BoolSchema;
21
+ }>;
22
+ export type ResponseData = Infer<typeof ResponseSchema>;
23
+ export declare const title = "BetterPortal Doc Page";
24
+ export declare const description = "Markdown-backed BetterPortal documentation page.";
25
+ export declare const auth: ApiAuthRequirement;
26
+ export declare const cacheHints: CacheHints;
27
+ export declare const demoScenarios: DemoScenario<ResponseData>[];
28
+ declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
29
+ title: string;
30
+ section: string;
31
+ page: string;
32
+ sourcePath: string;
33
+ markdown: string;
34
+ docs: {
35
+ id: string;
36
+ section: string;
37
+ page: string;
38
+ title: string;
39
+ href: string;
40
+ sourcePath: string;
41
+ excerpt: string;
42
+ }[];
43
+ notFound: boolean;
44
+ }, unknown, Record<string, unknown>>;
45
+ export default _default;
5
46
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAajC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAQzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,0BAA0B,CAAC;AAC7C,eAAO,MAAM,WAAW,qDAAqD,CAAC;AAE9E,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAcrD,CAAC;;;;;;;;;;;;;;;;;;AAEF,wBA8BE"}
@@ -1,5 +1,74 @@
1
1
  export const operationId = "docs.read";
2
- export { title, description, auth, cacheHints, demoScenarios } from "./route.impl.js";
3
- export { ResponseSchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import { createHandler } from "@betterportal/framework";
4
+ import { getDoc, listDocs } from "../../content.js";
5
+ const DocSummarySchema = av.object({
6
+ id: av.string().minLength(1),
7
+ section: av.string().minLength(1),
8
+ page: av.string().minLength(1),
9
+ title: av.string().minLength(1),
10
+ href: av.string().minLength(1),
11
+ sourcePath: av.string().minLength(1),
12
+ excerpt: av.string()
13
+ });
14
+ export const ResponseSchema = av.object({
15
+ title: av.string().minLength(1),
16
+ section: av.string().minLength(1),
17
+ page: av.string().minLength(1),
18
+ sourcePath: av.string().minLength(1),
19
+ markdown: av.string(),
20
+ docs: av.array(DocSummarySchema),
21
+ notFound: av.bool()
22
+ });
23
+ export const title = "BetterPortal Doc Page";
24
+ export const description = "Markdown-backed BetterPortal documentation page.";
25
+ export const auth = {
26
+ required: false,
27
+ permissions: []
28
+ };
29
+ export const cacheHints = {
30
+ ttlSeconds: 15,
31
+ varyBy: ["accept", "origin", "referer", ":origin", ":referer"]
32
+ };
33
+ export const demoScenarios = [
34
+ {
35
+ id: "default",
36
+ title: "Quick Start",
37
+ response: {
38
+ title: "Quick Start",
39
+ section: "getting-started",
40
+ page: "quick-start",
41
+ sourcePath: "getting-started/quick-start.md",
42
+ markdown: "# Quick Start\n\nBetterPortal documentation.",
43
+ docs: [],
44
+ notFound: false
45
+ }
46
+ }
47
+ ];
48
+ export default createHandler({ response: ResponseSchema }, async (ctx) => {
49
+ const params = ctx.params;
50
+ const section = params.section ?? "";
51
+ const page = params.page ?? "";
52
+ const [doc, docs] = await Promise.all([getDoc(section, page), listDocs()]);
53
+ if (!doc) {
54
+ return {
55
+ title: "Doc not found",
56
+ section,
57
+ page,
58
+ sourcePath: `${section}/${page}.md`,
59
+ markdown: "# Doc not found\n\nThe requested documentation page does not exist.",
60
+ docs,
61
+ notFound: true
62
+ };
63
+ }
64
+ return {
65
+ title: doc.title,
66
+ section: doc.section,
67
+ page: doc.page,
68
+ sourcePath: doc.sourcePath,
69
+ markdown: doc.markdown,
70
+ docs,
71
+ notFound: false
72
+ };
73
+ });
5
74
  //# sourceMappingURL=GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/GET.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { HtmlRenderable } from "@betterportal/framework";
2
- import type { ResponseData } from "../route.impl.js";
2
+ import type { ResponseData } from "../GET.js";
3
3
  export declare function render(data: ResponseData): HtmlRenderable;
4
4
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA0HrD,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAqCzD"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA0H9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAqCzD"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { HtmlRenderable } from "@betterportal/framework";
2
- import type { ResponseData } from "../route.impl.js";
2
+ import type { ResponseData } from "../GET.js";
3
3
  export declare function render(data: ResponseData): HtmlRenderable;
4
4
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA+IrD,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAqEzD"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA+I9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAqEzD"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "pluginName": "service-betterportal-docs-site",
3
3
  "events": {},
4
- "version": "10.1.64",
4
+ "version": "10.1.65",
5
5
  "configSchema": {
6
6
  "anyvaliVersion": "1.0",
7
7
  "schemaVersion": "1.1",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "service-betterportal-docs-site",
3
3
  "name": "service-betterportal-docs-site",
4
- "version": "10.1.64",
4
+ "version": "10.1.65",
5
5
  "description": "Documentation site service for BetterPortal",
6
6
  "category": "service",
7
7
  "tags": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@betterportal/docs-site",
3
- "version": "10.1.64",
3
+ "version": "10.1.65",
4
4
  "description": "BetterPortal documentation site service",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/index.ts",
@@ -27,15 +27,15 @@
27
27
  "license": "(AGPL-3.0-only OR Commercial)",
28
28
  "type": "module",
29
29
  "devDependencies": {
30
- "@bsb/tests": "^9.6.61",
30
+ "@bsb/tests": "^9.6.66",
31
31
  "@types/node": "^26.0.0",
32
32
  "tsx": "^4.21.0",
33
33
  "typescript": "^6.0.3"
34
34
  },
35
35
  "dependencies": {
36
- "@betterportal/framework": "10.1.64",
37
- "@betterportal/plugin-bsb": "10.1.64",
38
- "@bsb/base": "^9.6.61",
36
+ "@betterportal/framework": "10.1.65",
37
+ "@betterportal/plugin-bsb": "10.1.65",
38
+ "@bsb/base": "^9.6.66",
39
39
  "anyvali": "^1.0.6",
40
40
  "jsx-htmx": "4.0.0-beta6"
41
41
  },
@@ -1,44 +0,0 @@
1
- import * as av from "anyvali";
2
- import type { Infer } from "anyvali";
3
- import { type CacheHints, type DemoScenario, type ApiAuthRequirement } from "@betterportal/framework";
4
- export declare const ResponseSchema: av.ObjectSchema<{
5
- title: av.StringSchema;
6
- section: av.StringSchema;
7
- page: av.StringSchema;
8
- sourcePath: av.StringSchema;
9
- markdown: av.StringSchema;
10
- docs: av.ArraySchema<av.ObjectSchema<{
11
- id: av.StringSchema;
12
- section: av.StringSchema;
13
- page: av.StringSchema;
14
- title: av.StringSchema;
15
- href: av.StringSchema;
16
- sourcePath: av.StringSchema;
17
- excerpt: av.StringSchema;
18
- }>>;
19
- notFound: av.BoolSchema;
20
- }>;
21
- export type ResponseData = Infer<typeof ResponseSchema>;
22
- export declare const title = "BetterPortal Doc Page";
23
- export declare const description = "Markdown-backed BetterPortal documentation page.";
24
- export declare const auth: ApiAuthRequirement;
25
- export declare const cacheHints: CacheHints;
26
- export declare const demoScenarios: DemoScenario<ResponseData>[];
27
- export declare const handleGet: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
28
- title: string;
29
- section: string;
30
- page: string;
31
- sourcePath: string;
32
- markdown: string;
33
- docs: {
34
- id: string;
35
- section: string;
36
- page: string;
37
- title: string;
38
- href: string;
39
- sourcePath: string;
40
- excerpt: string;
41
- }[];
42
- notFound: boolean;
43
- }, unknown, Record<string, unknown>>;
44
- //# sourceMappingURL=route.impl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.impl.d.ts","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/route.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAajC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAQzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,0BAA0B,CAAC;AAC7C,eAAO,MAAM,WAAW,qDAAqD,CAAC;AAE9E,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAcrD,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;oCA8BrB,CAAC"}
@@ -1,73 +0,0 @@
1
- import * as av from "anyvali";
2
- import { createHandler } from "@betterportal/framework";
3
- import { getDoc, listDocs } from "../../content.js";
4
- const DocSummarySchema = av.object({
5
- id: av.string().minLength(1),
6
- section: av.string().minLength(1),
7
- page: av.string().minLength(1),
8
- title: av.string().minLength(1),
9
- href: av.string().minLength(1),
10
- sourcePath: av.string().minLength(1),
11
- excerpt: av.string()
12
- });
13
- export const ResponseSchema = av.object({
14
- title: av.string().minLength(1),
15
- section: av.string().minLength(1),
16
- page: av.string().minLength(1),
17
- sourcePath: av.string().minLength(1),
18
- markdown: av.string(),
19
- docs: av.array(DocSummarySchema),
20
- notFound: av.bool()
21
- });
22
- export const title = "BetterPortal Doc Page";
23
- export const description = "Markdown-backed BetterPortal documentation page.";
24
- export const auth = {
25
- required: false,
26
- permissions: []
27
- };
28
- export const cacheHints = {
29
- ttlSeconds: 15,
30
- varyBy: ["accept", "origin", "referer", ":origin", ":referer"]
31
- };
32
- export const demoScenarios = [
33
- {
34
- id: "default",
35
- title: "Quick Start",
36
- response: {
37
- title: "Quick Start",
38
- section: "getting-started",
39
- page: "quick-start",
40
- sourcePath: "getting-started/quick-start.md",
41
- markdown: "# Quick Start\n\nBetterPortal documentation.",
42
- docs: [],
43
- notFound: false
44
- }
45
- }
46
- ];
47
- export const handleGet = createHandler({ response: ResponseSchema }, async (ctx) => {
48
- const params = ctx.params;
49
- const section = params.section ?? "";
50
- const page = params.page ?? "";
51
- const [doc, docs] = await Promise.all([getDoc(section, page), listDocs()]);
52
- if (!doc) {
53
- return {
54
- title: "Doc not found",
55
- section,
56
- page,
57
- sourcePath: `${section}/${page}.md`,
58
- markdown: "# Doc not found\n\nThe requested documentation page does not exist.",
59
- docs,
60
- notFound: true
61
- };
62
- }
63
- return {
64
- title: doc.title,
65
- section: doc.section,
66
- page: doc.page,
67
- sourcePath: doc.sourcePath,
68
- markdown: doc.markdown,
69
- docs,
70
- notFound: false
71
- };
72
- });
73
- //# sourceMappingURL=route.impl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.impl.js","sourceRoot":"","sources":["../../../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/[section]/[page]/route.impl.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import * as av from "anyvali";
2
- import type { Infer } from "anyvali";
3
- import { type CacheHints, type DemoScenario, type ApiAuthRequirement } from "@betterportal/framework";
4
- export declare const ResponseSchema: av.ObjectSchema<{
5
- title: av.StringSchema;
6
- description: av.StringSchema;
7
- docs: av.ArraySchema<av.ObjectSchema<{
8
- id: av.StringSchema;
9
- section: av.StringSchema;
10
- page: av.StringSchema;
11
- title: av.StringSchema;
12
- href: av.StringSchema;
13
- sourcePath: av.StringSchema;
14
- excerpt: av.StringSchema;
15
- }>>;
16
- }>;
17
- export type ResponseData = Infer<typeof ResponseSchema>;
18
- export declare const title = "BetterPortal Docs";
19
- export declare const description = "Documentation index for BetterPortal.";
20
- export declare const auth: ApiAuthRequirement;
21
- export declare const cacheHints: CacheHints;
22
- export declare const demoScenarios: DemoScenario<ResponseData>[];
23
- export declare const handleGet: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
24
- title: string;
25
- description: string;
26
- docs: {
27
- id: string;
28
- section: string;
29
- page: string;
30
- title: string;
31
- href: string;
32
- sourcePath: string;
33
- excerpt: string;
34
- }[];
35
- }, unknown, Record<string, unknown>>;
36
- //# sourceMappingURL=route.impl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.impl.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/route.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAajC,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,sBAAsB,CAAC;AACzC,eAAO,MAAM,WAAW,0CAA0C,CAAC;AAEnE,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAUrD,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;oCAOrB,CAAC"}
@@ -1,44 +0,0 @@
1
- import * as av from "anyvali";
2
- import { createHandler } from "@betterportal/framework";
3
- import { listDocs } from "./content.js";
4
- const DocSummarySchema = av.object({
5
- id: av.string().minLength(1),
6
- section: av.string().minLength(1),
7
- page: av.string().minLength(1),
8
- title: av.string().minLength(1),
9
- href: av.string().minLength(1),
10
- sourcePath: av.string().minLength(1),
11
- excerpt: av.string()
12
- });
13
- export const ResponseSchema = av.object({
14
- title: av.string().minLength(1),
15
- description: av.string().minLength(1),
16
- docs: av.array(DocSummarySchema)
17
- });
18
- export const title = "BetterPortal Docs";
19
- export const description = "Documentation index for BetterPortal.";
20
- export const auth = {
21
- required: false,
22
- permissions: []
23
- };
24
- export const cacheHints = {
25
- ttlSeconds: 15,
26
- varyBy: ["accept", "origin", "referer", ":origin", ":referer"]
27
- };
28
- export const demoScenarios = [
29
- {
30
- id: "default",
31
- title: "Docs Index",
32
- response: {
33
- title: "BetterPortal",
34
- description: "A service-composed portal platform for multi-tenant products.",
35
- docs: []
36
- }
37
- }
38
- ];
39
- export const handleGet = createHandler({ response: ResponseSchema }, async () => ({
40
- title: "BetterPortal",
41
- description: "A service-composed portal platform for multi-tenant products.",
42
- docs: await listDocs()
43
- }));
44
- //# sourceMappingURL=route.impl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.impl.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-docs-site/bp-routes/docs/route.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,aAAa,EAId,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/B,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACrC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,KAAK,GAAG,mBAAmB,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAEnE,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE;YACR,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,+DAA+D;YAC5E,IAAI,EAAE,EAAE;SACT;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CACpC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,KAAK,IAAI,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,+DAA+D;IAC5E,IAAI,EAAE,MAAM,QAAQ,EAAE;CACvB,CAAC,CACH,CAAC"}