@betterportal/hello-view 10.1.63 → 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 (85) hide show
  1. package/lib/bp-contracts/org.betterportal.hello-view.json +29 -3
  2. package/lib/plugins/service-betterportal-hello-view/.bp-generated/registry.d.ts.map +1 -1
  3. package/lib/plugins/service-betterportal-hello-view/.bp-generated/registry.js +3 -1
  4. package/lib/plugins/service-betterportal-hello-view/.bp-generated/registry.js.map +1 -1
  5. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.d.ts +38 -3
  6. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.d.ts.map +1 -1
  7. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.js +71 -3
  8. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.js.map +1 -1
  9. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/_renderer.bootstrap5/GET.d.ts +1 -1
  10. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/_renderer.bootstrap5/GET.d.ts.map +1 -1
  11. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.d.ts +1 -1
  12. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.d.ts.map +1 -1
  13. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.js +1 -1
  14. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.js.map +1 -1
  15. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.d.ts +34 -3
  16. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.d.ts.map +1 -1
  17. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.js +49 -3
  18. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.js.map +1 -1
  19. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/_renderer.bootstrap5/GET.d.ts +1 -1
  20. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/_renderer.bootstrap5/GET.d.ts.map +1 -1
  21. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/_renderer.bootstrap5/index.stream.d.ts +1 -1
  22. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/_renderer.bootstrap5/index.stream.d.ts.map +1 -1
  23. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.d.ts +1 -1
  24. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.d.ts.map +1 -1
  25. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.js +1 -1
  26. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.js.map +1 -1
  27. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.d.ts +23 -3
  28. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.d.ts.map +1 -1
  29. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.js +36 -3
  30. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.js.map +1 -1
  31. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/GET.d.ts +1 -1
  32. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/GET.d.ts.map +1 -1
  33. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/_nav.clock.GET.d.ts +1 -1
  34. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/_nav.clock.GET.d.ts.map +1 -1
  35. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/_nav.profile.GET.d.ts +1 -1
  36. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/_nav.profile.GET.d.ts.map +1 -1
  37. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-cards.GET.d.ts +1 -1
  38. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-cards.GET.d.ts.map +1 -1
  39. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-data.GET.d.ts +1 -1
  40. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-data.GET.d.ts.map +1 -1
  41. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-elements.GET.d.ts +1 -1
  42. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-elements.GET.d.ts.map +1 -1
  43. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-forms.GET.d.ts +1 -1
  44. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-forms.GET.d.ts.map +1 -1
  45. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-interactive.GET.d.ts +1 -1
  46. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-interactive.GET.d.ts.map +1 -1
  47. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-overlays.GET.d.ts +1 -1
  48. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-overlays.GET.d.ts.map +1 -1
  49. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-patterns.GET.d.ts +1 -1
  50. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.bootstrap5/showcase-patterns.GET.d.ts.map +1 -1
  51. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.embedded/GET.d.ts +1 -1
  52. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/_renderer.embedded/GET.d.ts.map +1 -1
  53. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.d.ts +1 -1
  54. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.d.ts.map +1 -1
  55. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.js +1 -1
  56. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.js.map +1 -1
  57. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.d.ts +49 -3
  58. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.d.ts.map +1 -1
  59. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.js +93 -3
  60. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.js.map +1 -1
  61. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/_renderer.bootstrap5/GET.d.ts +1 -1
  62. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/_renderer.bootstrap5/GET.d.ts.map +1 -1
  63. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.d.ts +1 -1
  64. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.d.ts.map +1 -1
  65. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.js +1 -1
  66. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.js.map +1 -1
  67. package/lib/schemas/service-betterportal-hello-view.json +1 -1
  68. package/lib/schemas/service-betterportal-hello-view.plugin.json +1 -1
  69. package/package.json +5 -5
  70. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/route.impl.d.ts +0 -38
  71. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/route.impl.d.ts.map +0 -1
  72. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/route.impl.js +0 -72
  73. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/route.impl.js.map +0 -1
  74. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/route.impl.d.ts +0 -34
  75. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/route.impl.d.ts.map +0 -1
  76. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/route.impl.js +0 -50
  77. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/route.impl.js.map +0 -1
  78. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/route.impl.d.ts +0 -23
  79. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/route.impl.d.ts.map +0 -1
  80. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/route.impl.js +0 -37
  81. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/route.impl.js.map +0 -1
  82. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/route.impl.d.ts +0 -49
  83. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/route.impl.d.ts.map +0 -1
  84. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/route.impl.js +0 -94
  85. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/route.impl.js.map +0 -1
@@ -1,37 +0,0 @@
1
- import * as av from "anyvali";
2
- import { createHandler } from "@betterportal/framework";
3
- // -- Schemas ---------------------------------------------------------
4
- export const QuerySchema = av.object({
5
- name: av.string().minLength(1).default("World")
6
- });
7
- export const HeadersSchema = av.object({});
8
- export const RequestSchema = av.object({});
9
- export const ResponseSchema = av.object({
10
- greeting: av.string().minLength(1)
11
- });
12
- // -- Metadata --------------------------------------------------------
13
- export const title = "Hello View";
14
- export const description = "Example BetterPortal view with JSON, HTML, and metadata representations.";
15
- export const auth = {
16
- required: false,
17
- permissions: []
18
- };
19
- export const cacheHints = {
20
- ttlSeconds: 60,
21
- varyBy: ["accept", "origin", "referer", ":origin", ":referer"]
22
- };
23
- export const demoScenarios = [
24
- {
25
- id: "default",
26
- title: "Default Greeting",
27
- match: { query: { name: "World" } },
28
- response: {
29
- greeting: "Hello, Demo User"
30
- }
31
- }
32
- ];
33
- // -- Handler ---------------------------------------------------------
34
- export const handleGet = createHandler({ response: ResponseSchema, query: QuerySchema }, (ctx) => ({
35
- greeting: `Hello, ${ctx.query.name}`
36
- }));
37
- //# sourceMappingURL=route.impl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.impl.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-hello-view/bp-routes/hello/route.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,aAAa,EAId,MAAM,yBAAyB,CAAC;AAEjC,uEAAuE;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;CACnC,CAAC,CAAC;AAGH,uEAAuE;AAEvE,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,0EAA0E,CAAC;AAEtG,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,kBAAkB;QACzB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACnC,QAAQ,EAAE;YACR,QAAQ,EAAE,kBAAkB;SAC7B;KACF;CACF,CAAC;AAEF,uEAAuE;AAEvE,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CACpC,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,EAChD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;CACrC,CAAC,CACH,CAAC"}
@@ -1,49 +0,0 @@
1
- import * as av from "anyvali";
2
- import type { Infer } from "anyvali";
3
- import { type ApiAuthRequirement, type CacheHints, type BetterPortalRouteChrome } from "@betterportal/framework";
4
- export declare const QuerySchema: av.ObjectSchema<{}>;
5
- export declare const HeadersSchema: av.ObjectSchema<{}>;
6
- export declare const RequestSchema: av.ObjectSchema<{}>;
7
- export declare const ResponseSchema: av.ObjectSchema<{
8
- headline: av.StringSchema;
9
- subheading: av.StringSchema;
10
- summary: av.StringSchema;
11
- highlights: av.ArraySchema<av.ObjectSchema<{
12
- title: av.StringSchema;
13
- text: av.StringSchema;
14
- }>>;
15
- capabilities: av.ArraySchema<av.ObjectSchema<{
16
- title: av.StringSchema;
17
- text: av.StringSchema;
18
- }>>;
19
- audiences: av.ArraySchema<av.ObjectSchema<{
20
- title: av.StringSchema;
21
- text: av.StringSchema;
22
- }>>;
23
- aboutHref: av.StringSchema;
24
- }>;
25
- export type ResponseData = Infer<typeof ResponseSchema>;
26
- export declare const title = "BetterPortal";
27
- export declare const description = "Landing page for BetterPortal, the service-oriented portal framework.";
28
- export declare const chrome: BetterPortalRouteChrome;
29
- export declare const auth: ApiAuthRequirement;
30
- export declare const cacheHints: CacheHints;
31
- export declare const handleGet: import("@betterportal/framework").RouteHandler<Record<string, string>, {}, {}, {}, {
32
- headline: string;
33
- subheading: string;
34
- summary: string;
35
- highlights: {
36
- title: string;
37
- text: string;
38
- }[];
39
- capabilities: {
40
- title: string;
41
- text: string;
42
- }[];
43
- audiences: {
44
- title: string;
45
- text: string;
46
- }[];
47
- aboutHref: string;
48
- }, unknown, Record<string, unknown>>;
49
- //# sourceMappingURL=route.impl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.impl.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-hello-view/bp-routes/landing/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,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,WAAW,qBAAgB,CAAC;AACzC,eAAO,MAAM,aAAa,qBAAgB,CAAC;AAC3C,eAAO,MAAM,aAAa,qBAAgB,CAAC;AAiB3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;EAQzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,iBAAiB,CAAC;AACpC,eAAO,MAAM,WAAW,0EAA0E,CAAC;AACnG,eAAO,MAAM,MAAM,EAAE,uBAA8C,CAAC;AAEpE,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;oCA0DrB,CAAC"}
@@ -1,94 +0,0 @@
1
- import * as av from "anyvali";
2
- import { createHandler } from "@betterportal/framework";
3
- export const QuerySchema = av.object({});
4
- export const HeadersSchema = av.object({});
5
- export const RequestSchema = av.object({});
6
- const HighlightSchema = av.object({
7
- title: av.string().minLength(1),
8
- text: av.string().minLength(1)
9
- });
10
- const CapabilitySchema = av.object({
11
- title: av.string().minLength(1),
12
- text: av.string().minLength(1)
13
- });
14
- const AudienceSchema = av.object({
15
- title: av.string().minLength(1),
16
- text: av.string().minLength(1)
17
- });
18
- export const ResponseSchema = av.object({
19
- headline: av.string().minLength(1),
20
- subheading: av.string().minLength(1),
21
- summary: av.string().minLength(1),
22
- highlights: av.array(HighlightSchema),
23
- capabilities: av.array(CapabilitySchema),
24
- audiences: av.array(AudienceSchema),
25
- aboutHref: av.string().minLength(1)
26
- });
27
- export const title = "BetterPortal";
28
- export const description = "Landing page for BetterPortal, the service-oriented portal framework.";
29
- export const chrome = { fullScreen: true };
30
- export const auth = {
31
- required: false,
32
- permissions: []
33
- };
34
- export const cacheHints = {
35
- ttlSeconds: 300,
36
- varyBy: ["accept", "origin", "referer", ":origin", ":referer"]
37
- };
38
- export const handleGet = createHandler({ response: ResponseSchema, query: QuerySchema, headers: HeadersSchema, request: RequestSchema }, () => ({
39
- headline: "BetterPortal",
40
- subheading: "Composable portals for serious service platforms.",
41
- summary: "BetterPortal is a TypeScript platform for building tenant-aware portals from independently deployed services. It keeps UI, auth, configuration, automation, and AI discovery on one typed contract without forcing every team into one monolith.",
42
- highlights: [
43
- {
44
- title: "Schema-backed routes",
45
- text: "Every service route declares input, output, auth, chrome, cache, renderer, and dependency metadata so the same endpoint can serve people, tools, and agents."
46
- },
47
- {
48
- title: "Tenant and app scoped",
49
- text: "Shared services can be activated per tenant while apps decide which service routes are mounted, branded, and exposed."
50
- },
51
- {
52
- title: "Designed for distributed hosting",
53
- text: "Services pull scoped config from the control plane and stay browser-reachable, so private networks and remote services can coexist cleanly."
54
- }
55
- ],
56
- capabilities: [
57
- {
58
- title: "Typed APIs and views",
59
- text: "A route can negotiate JSON, HTML, streams, SSE, raw files, or metadata from the same source contract."
60
- },
61
- {
62
- title: "Config manager control plane",
63
- text: "Tenants, apps, shared services, route mounts, menu entries, auth bindings, and scoped service config are managed centrally."
64
- },
65
- {
66
- title: "Theme and auth as services",
67
- text: "Themes, default auth, external auth providers, and business modules all plug in through the same BP service model."
68
- },
69
- {
70
- title: "Automation and AI discovery",
71
- text: "Public manifests, llms.txt, route schemas, and service metadata make portals inspectable by integrations and AI agents."
72
- }
73
- ],
74
- audiences: [
75
- {
76
- title: "Platform teams",
77
- text: "Run a multi-tenant portal without coupling every feature to the control plane deploy."
78
- },
79
- {
80
- title: "Service teams",
81
- text: "Own your routes, views, config schema, auth requirements, and release cycle."
82
- },
83
- {
84
- title: "Product teams",
85
- text: "Compose apps from shared services, app-specific routes, menus, themes, and auth choices."
86
- },
87
- {
88
- title: "Automation builders",
89
- text: "Discover actions and schemas from the portal instead of hand-maintaining integration maps."
90
- }
91
- ],
92
- aboutHref: "/about"
93
- }));
94
- //# sourceMappingURL=route.impl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.impl.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-hello-view/bp-routes/landing/route.impl.ts"],"names":[],"mappings":"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"}